MCPcopy
hub / github.com/ag-grid/ag-grid / create

Method create

community-modules/core/src/grid.ts:220–275  ·  view source on GitHub ↗
(
        eGridDiv: HTMLElement,
        providedOptions: GridOptions,
        createUi: (context: Context) => void,
        acceptChanges?: (context: Context) => void,
        params?: GridParams
    )

Source from the content-addressed store, hash-verified

218// their own UI
219export class GridCoreCreator {
220 public create(
221 eGridDiv: HTMLElement,
222 providedOptions: GridOptions,
223 createUi: (context: Context) => void,
224 acceptChanges?: (context: Context) => void,
225 params?: GridParams
226 ): GridApi {
227 let mergedGridOps: GridOptions = {};
228 if (GlobalGridOptions.gridOptions) {
229 // Merge deep to avoid leaking changes to the global options
230 _mergeDeep(mergedGridOps, GlobalGridOptions.gridOptions, true, true);
231 // Shallow copy to ensure context reference is maintained
232 mergedGridOps = { ...mergedGridOps, ...providedOptions };
233 } else {
234 mergedGridOps = providedOptions;
235 }
236 const gridOptions = getCoercedGridOptions(mergedGridOps);
237
238 const gridId = gridOptions.gridId ?? String(nextGridId++);
239
240 const registeredModules = this.getRegisteredModules(params, gridId);
241
242 const beanClasses = this.createBeansList(gridOptions.rowModelType, registeredModules, gridId);
243 const providedBeanInstances = this.createProvidedBeans(eGridDiv, gridOptions, params);
244
245 if (!beanClasses) {
246 // Detailed error message will have been printed by createBeansList
247 _errorOnce('Failed to create grid.');
248 // Break typing so that the normal return type does not have to handle undefined.
249 return undefined as any;
250 }
251
252 const contextParams: ContextParams = {
253 providedBeanInstances: providedBeanInstances,
254 beanClasses: beanClasses,
255 gridId: gridId,
256 beanInitComparator: gridBeanInitComparator,
257 beanDestroyComparator: gridBeanDestroyComparator,
258 derivedBeans: [createGridApi],
259 };
260
261 const context = new Context(contextParams);
262 this.registerModuleUserComponents(context, registeredModules);
263 this.registerControllers(context, registeredModules);
264 this.registerModuleApiFunctions(context, registeredModules);
265
266 createUi(context);
267
268 context.getBean('syncService').start();
269
270 if (acceptChanges) {
271 acceptChanges(context);
272 }
273
274 return context.getBean('gridApi');
275 }
276
277 private registerControllers(context: Context, registeredModules: Module[]): void {

Callers 7

AgGridReactUiFunction · 0.95
AgGridReactUiFunction · 0.95
createGridFunction · 0.80
constructorMethod · 0.80
updateSparklineMethod · 0.80
constructorFunction · 0.80

Calls 11

getRegisteredModulesMethod · 0.95
createBeansListMethod · 0.95
createProvidedBeansMethod · 0.95
registerControllersMethod · 0.95
_mergeDeepFunction · 0.90
getCoercedGridOptionsFunction · 0.90
_errorOnceFunction · 0.90
getBeanMethod · 0.80
startMethod · 0.65

Tested by

no test coverage detected