@finos/legend-lego 1.1.40 → 1.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,7 @@
17
17
  import { editor as monacoEditorAPI } from 'monaco-editor';
18
18
  import { type CODE_EDITOR_LANGUAGE } from './CodeEditorUtils.js';
19
19
  import { CODE_EDITOR_THEME } from './CodeEditorTheme.js';
20
+ import type { CompilationError, ParserError } from '@finos/legend-graph';
20
21
  export declare const CodeEditor: React.FC<{
21
22
  inputValue: string;
22
23
  isReadOnly?: boolean | undefined;
@@ -29,5 +30,6 @@ export declare const CodeEditor: React.FC<{
29
30
  updateInput?: ((val: string) => void) | undefined;
30
31
  lineToScroll?: number | undefined;
31
32
  extraEditorOptions?: (monacoEditorAPI.IEditorOptions & monacoEditorAPI.IGlobalEditorOptions) | undefined;
33
+ error?: ParserError | CompilationError | undefined;
32
34
  }>;
33
35
  //# sourceMappingURL=CodeEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../src/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAGH,OAAO,EAAoB,MAAM,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAML,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EACf,CAAC,eAAe,CAAC,cAAc,GAAG,eAAe,CAAC,oBAAoB,CAAC,GACvE,SAAS,CAAC;CACf,CAyJA,CAAC"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../src/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAGH,OAAO,EAAoB,MAAM,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAML,KAAK,oBAAoB,EAG1B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EACf,CAAC,eAAe,CAAC,cAAc,GAAG,eAAe,CAAC,oBAAoB,CAAC,GACvE,SAAS,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,GAAG,gBAAgB,GAAG,SAAS,CAAC;CACpD,CAyKA,CAAC"}
@@ -16,12 +16,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
16
  */
17
17
  import { useState, useRef, useEffect } from 'react';
18
18
  import { editor as monacoEditorAPI } from 'monaco-editor';
19
- import { disposeCodeEditor, getBaseCodeEditorOptions, resetLineNumberGutterWidth, getCodeEditorValue, normalizeLineEnding, } from './CodeEditorUtils.js';
19
+ import { disposeCodeEditor, getBaseCodeEditorOptions, resetLineNumberGutterWidth, getCodeEditorValue, normalizeLineEnding, setErrorMarkers, clearMarkers, } from './CodeEditorUtils.js';
20
20
  import { DEFAULT_TAB_SIZE, useApplicationStore, } from '@finos/legend-application';
21
21
  import { CODE_EDITOR_THEME } from './CodeEditorTheme.js';
22
22
  import { clsx, WordWrapIcon } from '@finos/legend-art';
23
23
  export const CodeEditor = (props) => {
24
- const { inputValue, updateInput, lightTheme, language, isReadOnly, hideMinimap, hideGutter, hidePadding, hideActionBar, lineToScroll, extraEditorOptions, } = props;
24
+ const { inputValue, updateInput, lightTheme, language, isReadOnly, hideMinimap, hideGutter, hidePadding, hideActionBar, lineToScroll, extraEditorOptions, error, } = props;
25
25
  const applicationStore = useApplicationStore();
26
26
  const [editor, setEditor] = useState();
27
27
  const [isWordWrap, setIsWordWrap] = useState(false);
@@ -108,6 +108,22 @@ export const CodeEditor = (props) => {
108
108
  });
109
109
  const model = editor.getModel();
110
110
  model?.updateOptions({ tabSize: DEFAULT_TAB_SIZE });
111
+ if (model) {
112
+ if (error?.sourceInformation) {
113
+ setErrorMarkers(model, [
114
+ {
115
+ message: error.message,
116
+ startLineNumber: error.sourceInformation.startLine,
117
+ startColumn: error.sourceInformation.startColumn,
118
+ endLineNumber: error.sourceInformation.endLine,
119
+ endColumn: error.sourceInformation.endColumn,
120
+ },
121
+ ]);
122
+ }
123
+ else {
124
+ clearMarkers();
125
+ }
126
+ }
111
127
  }
112
128
  // dispose editor
113
129
  useEffect(() => () => {
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../src/code-editor/CodeEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../src/code-editor/CodeEditor.tsx"],"names":[],"mappings":"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"}
@@ -15,8 +15,11 @@
15
15
  */
16
16
  /// <reference types="react" resolution-mode="require"/>
17
17
  import { type AgReactUiProps, type AgGridReactProps } from '@ag-grid-community/react';
18
- import { type CellMouseOverEvent, type ICellRendererParams, type GridOptions, type ColDef } from '@ag-grid-community/core';
18
+ import { type CellMouseOverEvent, type ICellRendererParams, type GridOptions, type ColumnApi, type ColDef, type ColumnState } from '@ag-grid-community/core';
19
+ export declare const communityModules: import("@ag-grid-community/core").Module[];
20
+ export declare const enterpriseModules: import("@ag-grid-community/core").Module[];
21
+ export declare const allModules: import("@ag-grid-community/core").Module[];
19
22
  export declare function DataGrid<TData = unknown>(props: AgGridReactProps<TData> | AgReactUiProps<TData>): JSX.Element;
20
23
  export declare const configureDataGridComponent: () => void;
21
- export type { CellMouseOverEvent as DataGridCellMouseOverEvent, ICellRendererParams as DataGridCellRendererParams, GridOptions as DataGridOptions, ColDef as DataGridColumnDefinition, };
24
+ export type { CellMouseOverEvent as DataGridCellMouseOverEvent, ICellRendererParams as DataGridCellRendererParams, GridOptions as DataGridOptions, ColDef as DataGridColumnDefinition, ColumnState as DataGridColumnState, ColumnApi as DataGridColumnApi, };
22
25
  //# sourceMappingURL=DataGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,MAAM,EAEZ,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,QAAQ,CAAC,KAAK,GAAG,OAAO,EACtC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GACrD,GAAG,CAAC,OAAO,CAab;AAED,eAAO,MAAM,0BAA0B,QAAO,IAE7C,CAAC;AAEF,YAAY,EACV,kBAAkB,IAAI,0BAA0B,EAChD,mBAAmB,IAAI,0BAA0B,EACjD,WAAW,IAAI,eAAe,EAC9B,MAAM,IAAI,wBAAwB,GACnC,CAAC"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAalC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAGjC,eAAO,MAAM,gBAAgB,4CAA8C,CAAC;AAE5E,eAAO,MAAM,iBAAiB,4CAW7B,CAAC;AAEF,eAAO,MAAM,UAAU,4CAA6C,CAAC;AAIrE,wBAAgB,QAAQ,CAAC,KAAK,GAAG,OAAO,EACtC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GACrD,GAAG,CAAC,OAAO,CAgBb;AAED,eAAO,MAAM,0BAA0B,QAAO,IAE7C,CAAC;AAEF,YAAY,EACV,kBAAkB,IAAI,0BAA0B,EAChD,mBAAmB,IAAI,0BAA0B,EACjD,WAAW,IAAI,eAAe,EAC9B,MAAM,IAAI,wBAAwB,EAClC,WAAW,IAAI,mBAAmB,EAClC,SAAS,IAAI,iBAAiB,GAC/B,CAAC"}
@@ -16,8 +16,37 @@ import { jsx as _jsx } from "react/jsx-runtime";
16
16
  */
17
17
  import { AgGridReact, } from '@ag-grid-community/react';
18
18
  import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
19
+ import { CsvExportModule } from '@ag-grid-community/csv-export';
20
+ import { ClipboardModule } from '@ag-grid-enterprise/clipboard';
21
+ import { ColumnsToolPanelModule } from '@ag-grid-enterprise/column-tool-panel';
22
+ import { ExcelExportModule } from '@ag-grid-enterprise/excel-export';
23
+ import { FiltersToolPanelModule } from '@ag-grid-enterprise/filter-tool-panel';
24
+ import { MenuModule } from '@ag-grid-enterprise/menu';
25
+ import { RangeSelectionModule } from '@ag-grid-enterprise/range-selection';
26
+ import { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';
27
+ import { ServerSideRowModelModule } from '@ag-grid-enterprise/server-side-row-model';
28
+ import { SideBarModule } from '@ag-grid-enterprise/side-bar';
29
+ import { StatusBarModule } from '@ag-grid-enterprise/status-bar';
19
30
  import { ModuleRegistry, } from '@ag-grid-community/core';
31
+ import { LicenseManager } from '@ag-grid-enterprise/core';
32
+ export const communityModules = [ClientSideRowModelModule, CsvExportModule];
33
+ export const enterpriseModules = [
34
+ ClipboardModule,
35
+ ColumnsToolPanelModule,
36
+ ExcelExportModule,
37
+ FiltersToolPanelModule,
38
+ MenuModule,
39
+ RangeSelectionModule,
40
+ RowGroupingModule,
41
+ ServerSideRowModelModule,
42
+ SideBarModule,
43
+ StatusBarModule,
44
+ ];
45
+ export const allModules = communityModules.concat(enterpriseModules);
20
46
  export function DataGrid(props) {
47
+ if (AG_GRID_LICENSE) {
48
+ LicenseManager.setLicenseKey(AG_GRID_LICENSE);
49
+ }
21
50
  return (_jsx(AgGridReact
22
51
  // Temporarily disable usage the browser's ResizeObserver as sometimes, this causes the error
23
52
  // `ResizeObserver loop limit exceeded` when we zoom in too much, in our cases, the problem
@@ -30,7 +59,7 @@ export function DataGrid(props) {
30
59
  // seem to arise when the scrollbar visibility changes as row data is being supplied
31
60
  // one way to resolve this problem is to set `alwaysShowVerticalScroll={true}`
32
61
  // See https://github.com/ag-grid/ag-grid/issues/2588
33
- suppressBrowserResizeObserver: true, ...props, modules: [ClientSideRowModelModule] }));
62
+ suppressBrowserResizeObserver: true, ...props, modules: AG_GRID_LICENSE ? allModules : communityModules }));
34
63
  }
35
64
  export const configureDataGridComponent = () => {
36
65
  ModuleRegistry.registerModules([ClientSideRowModelModule]);
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAKL,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,QAAQ,CACtB,KAAsD;IAEtD,OAAO,CACL,KAAC,WAAW;IACV,6FAA6F;IAC7F,2FAA2F;IAC3F,oFAAoF;IACpF,8EAA8E;IAC9E,qDAAqD;;QAJrD,6FAA6F;QAC7F,2FAA2F;QAC3F,oFAAoF;QACpF,8EAA8E;QAC9E,qDAAqD;QACrD,6BAA6B,EAAE,IAAI,KAC/B,KAAK,EACT,OAAO,EAAE,CAAC,wBAAwB,CAAC,GACnC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAS,EAAE;IACnD,cAAc,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC"}
1
+ {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAOL,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,sBAAsB;IACtB,UAAU;IACV,oBAAoB;IACpB,iBAAiB;IACjB,wBAAwB;IACxB,aAAa;IACb,eAAe;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAIrE,MAAM,UAAU,QAAQ,CACtB,KAAsD;IAEtD,IAAI,eAAe,EAAE;QACnB,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;KAC/C;IACD,OAAO,CACL,KAAC,WAAW;IACV,6FAA6F;IAC7F,2FAA2F;IAC3F,oFAAoF;IACpF,8EAA8E;IAC9E,qDAAqD;;QAJrD,6FAA6F;QAC7F,2FAA2F;QAC3F,oFAAoF;QACpF,8EAA8E;QAC9E,qDAAqD;QACrD,6BAA6B,EAAE,IAAI,KAC/B,KAAK,EACT,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,GACxD,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAS,EAAE;IACnD,cAAc,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-lego v1.1.40
1
+ /** @license @finos/legend-lego v1.1.42
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-lego",
3
- "version": "1.1.40",
3
+ "version": "1.1.42",
4
4
  "description": "Legend shared advanced application components and building blocks",
5
5
  "keywords": [
6
6
  "legend",
@@ -49,11 +49,23 @@
49
49
  "dependencies": {
50
50
  "@ag-grid-community/client-side-row-model": "30.1.0",
51
51
  "@ag-grid-community/core": "30.1.0",
52
+ "@ag-grid-community/csv-export": "30.1.0",
52
53
  "@ag-grid-community/react": "30.1.0",
53
54
  "@ag-grid-community/styles": "30.1.0",
54
- "@finos/legend-application": "15.0.46",
55
- "@finos/legend-art": "7.1.0",
56
- "@finos/legend-graph": "31.3.6",
55
+ "@ag-grid-enterprise/clipboard": "30.1.0",
56
+ "@ag-grid-enterprise/column-tool-panel": "30.1.0",
57
+ "@ag-grid-enterprise/core": "30.1.0",
58
+ "@ag-grid-enterprise/excel-export": "30.1.0",
59
+ "@ag-grid-enterprise/filter-tool-panel": "30.1.0",
60
+ "@ag-grid-enterprise/menu": "30.1.0",
61
+ "@ag-grid-enterprise/range-selection": "30.1.0",
62
+ "@ag-grid-enterprise/row-grouping": "30.1.0",
63
+ "@ag-grid-enterprise/server-side-row-model": "30.1.0",
64
+ "@ag-grid-enterprise/side-bar": "30.1.0",
65
+ "@ag-grid-enterprise/status-bar": "30.1.0",
66
+ "@finos/legend-application": "15.0.47",
67
+ "@finos/legend-art": "7.1.1",
68
+ "@finos/legend-graph": "31.3.8",
57
69
  "@finos/legend-shared": "10.0.27",
58
70
  "@types/css-font-loading-module": "0.0.9",
59
71
  "@types/react": "18.2.22",
@@ -23,6 +23,8 @@ import {
23
23
  getCodeEditorValue,
24
24
  normalizeLineEnding,
25
25
  type CODE_EDITOR_LANGUAGE,
26
+ setErrorMarkers,
27
+ clearMarkers,
26
28
  } from './CodeEditorUtils.js';
27
29
  import {
28
30
  DEFAULT_TAB_SIZE,
@@ -30,6 +32,7 @@ import {
30
32
  } from '@finos/legend-application';
31
33
  import { CODE_EDITOR_THEME } from './CodeEditorTheme.js';
32
34
  import { clsx, WordWrapIcon } from '@finos/legend-art';
35
+ import type { CompilationError, ParserError } from '@finos/legend-graph';
33
36
 
34
37
  export const CodeEditor: React.FC<{
35
38
  inputValue: string;
@@ -45,6 +48,7 @@ export const CodeEditor: React.FC<{
45
48
  extraEditorOptions?:
46
49
  | (monacoEditorAPI.IEditorOptions & monacoEditorAPI.IGlobalEditorOptions)
47
50
  | undefined;
51
+ error?: ParserError | CompilationError | undefined;
48
52
  }> = (props) => {
49
53
  const {
50
54
  inputValue,
@@ -58,6 +62,7 @@ export const CodeEditor: React.FC<{
58
62
  hideActionBar,
59
63
  lineToScroll,
60
64
  extraEditorOptions,
65
+ error,
61
66
  } = props;
62
67
  const applicationStore = useApplicationStore();
63
68
  const [editor, setEditor] = useState<
@@ -158,6 +163,21 @@ export const CodeEditor: React.FC<{
158
163
  });
159
164
  const model = editor.getModel();
160
165
  model?.updateOptions({ tabSize: DEFAULT_TAB_SIZE });
166
+ if (model) {
167
+ if (error?.sourceInformation) {
168
+ setErrorMarkers(model, [
169
+ {
170
+ message: error.message,
171
+ startLineNumber: error.sourceInformation.startLine,
172
+ startColumn: error.sourceInformation.startColumn,
173
+ endLineNumber: error.sourceInformation.endLine,
174
+ endColumn: error.sourceInformation.endColumn,
175
+ },
176
+ ]);
177
+ } else {
178
+ clearMarkers();
179
+ }
180
+ }
161
181
  }
162
182
 
163
183
  // dispose editor
@@ -20,17 +20,53 @@ import {
20
20
  type AgGridReactProps,
21
21
  } from '@ag-grid-community/react';
22
22
  import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
23
+ import { CsvExportModule } from '@ag-grid-community/csv-export';
24
+ import { ClipboardModule } from '@ag-grid-enterprise/clipboard';
25
+ import { ColumnsToolPanelModule } from '@ag-grid-enterprise/column-tool-panel';
26
+ import { ExcelExportModule } from '@ag-grid-enterprise/excel-export';
27
+ import { FiltersToolPanelModule } from '@ag-grid-enterprise/filter-tool-panel';
28
+ import { MenuModule } from '@ag-grid-enterprise/menu';
29
+ import { RangeSelectionModule } from '@ag-grid-enterprise/range-selection';
30
+ import { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';
31
+ import { ServerSideRowModelModule } from '@ag-grid-enterprise/server-side-row-model';
32
+ import { SideBarModule } from '@ag-grid-enterprise/side-bar';
33
+ import { StatusBarModule } from '@ag-grid-enterprise/status-bar';
23
34
  import {
24
35
  type CellMouseOverEvent,
25
36
  type ICellRendererParams,
26
37
  type GridOptions,
38
+ type ColumnApi,
27
39
  type ColDef,
40
+ type ColumnState,
28
41
  ModuleRegistry,
29
42
  } from '@ag-grid-community/core';
43
+ import { LicenseManager } from '@ag-grid-enterprise/core';
44
+
45
+ export const communityModules = [ClientSideRowModelModule, CsvExportModule];
46
+
47
+ export const enterpriseModules = [
48
+ ClipboardModule,
49
+ ColumnsToolPanelModule,
50
+ ExcelExportModule,
51
+ FiltersToolPanelModule,
52
+ MenuModule,
53
+ RangeSelectionModule,
54
+ RowGroupingModule,
55
+ ServerSideRowModelModule,
56
+ SideBarModule,
57
+ StatusBarModule,
58
+ ];
59
+
60
+ export const allModules = communityModules.concat(enterpriseModules);
61
+
62
+ declare const AG_GRID_LICENSE: string;
30
63
 
31
64
  export function DataGrid<TData = unknown>(
32
65
  props: AgGridReactProps<TData> | AgReactUiProps<TData>,
33
66
  ): JSX.Element {
67
+ if (AG_GRID_LICENSE) {
68
+ LicenseManager.setLicenseKey(AG_GRID_LICENSE);
69
+ }
34
70
  return (
35
71
  <AgGridReact
36
72
  // Temporarily disable usage the browser's ResizeObserver as sometimes, this causes the error
@@ -40,7 +76,7 @@ export function DataGrid<TData = unknown>(
40
76
  // See https://github.com/ag-grid/ag-grid/issues/2588
41
77
  suppressBrowserResizeObserver={true}
42
78
  {...props}
43
- modules={[ClientSideRowModelModule]}
79
+ modules={AG_GRID_LICENSE ? allModules : communityModules}
44
80
  />
45
81
  );
46
82
  }
@@ -54,4 +90,6 @@ export type {
54
90
  ICellRendererParams as DataGridCellRendererParams,
55
91
  GridOptions as DataGridOptions,
56
92
  ColDef as DataGridColumnDefinition,
93
+ ColumnState as DataGridColumnState,
94
+ ColumnApi as DataGridColumnApi,
57
95
  };