@adaptabletools/adaptable 17.0.0-canary.6 → 17.0.0-canary.7
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.
- package/bundle.cjs.js +121 -121
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -0
- package/src/AdaptableOptions/EditOptions.d.ts +6 -6
- package/src/AdaptableOptions/GridFilterOptions.d.ts +8 -3
- package/src/Api/GridFilterApi.d.ts +2 -2
- package/src/Api/Implementation/GridFilterApiImpl.d.ts +1 -1
- package/src/Api/Implementation/GridFilterApiImpl.js +1 -1
- package/src/Api/Internal/LayoutInternalApi.js +7 -7
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -1
- package/src/Utilities/Services/ValidationService.js +11 -11
- package/src/View/GridFilter/GridFilterViewPanel.js +4 -2
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
- package/src/View/GridFilter/useGridFilterOptionsForExpressionEditor.js +5 -23
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +4 -4
- package/src/View/NamedQuery/EditCurrentQueryButton.js +1 -1
- package/src/agGrid/Adaptable.d.ts +4 -0
- package/src/agGrid/Adaptable.js +3 -18
- package/src/metamodel/adaptable.metamodel.d.ts +34 -27
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/renderReactRoot.js +11 -2
- package/src/types.d.ts +2 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "17.0.0-canary.
|
|
3
|
+
"version": "17.0.0-canary.7",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
package/publishTimestamp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default:
|
|
1
|
+
declare const _default: 1705046977618;
|
|
2
2
|
export default _default;
|
package/publishTimestamp.js
CHANGED
|
@@ -295,6 +295,7 @@ export interface IAdaptable {
|
|
|
295
295
|
destroyApi?: boolean;
|
|
296
296
|
}): void;
|
|
297
297
|
setRowGroupColumns(columnIds: string[]): void;
|
|
298
|
+
getAgGridAllGridColumns(): Column<any>[];
|
|
298
299
|
clearRowGroupColumns(): void;
|
|
299
300
|
expandAllRowGroups(): void;
|
|
300
301
|
closeAllRowGroups(): void;
|
|
@@ -9,7 +9,7 @@ export interface EditOptions<TData = any> {
|
|
|
9
9
|
/**
|
|
10
10
|
* Function to validate AdapTable data edits on Server
|
|
11
11
|
*/
|
|
12
|
-
validateOnServer?: (serverValidationContext: ServerValidationContext<TData>) => Promise<
|
|
12
|
+
validateOnServer?: (serverValidationContext: ServerValidationContext<TData>) => Promise<ServerValidationResult>;
|
|
13
13
|
/**
|
|
14
14
|
* Whether to display message after Server Validation runs
|
|
15
15
|
*
|
|
@@ -29,26 +29,26 @@ export interface EditOptions<TData = any> {
|
|
|
29
29
|
/**
|
|
30
30
|
* Used for Server Validation ie. after an edit in AG Grid which must be checked on Server
|
|
31
31
|
*/
|
|
32
|
-
export interface
|
|
32
|
+
export interface ServerValidationResult {
|
|
33
33
|
/**
|
|
34
34
|
* Header to diplay with validation
|
|
35
35
|
* @defaultValue 'Server Validation Message',
|
|
36
36
|
*/
|
|
37
|
-
|
|
37
|
+
validationHeader?: string;
|
|
38
38
|
/**
|
|
39
39
|
* Message to diplay with validation
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
validationMessage?: string;
|
|
42
42
|
/**
|
|
43
43
|
* Cell Value to use for after Server Validation
|
|
44
44
|
*/
|
|
45
|
-
|
|
45
|
+
newCellValue?: any;
|
|
46
46
|
/**
|
|
47
47
|
* Type of Message to Display
|
|
48
48
|
* @defaultValue Info
|
|
49
49
|
*
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
messageType?: AdaptableMessageType;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* Custom Operation used in Smart Edit Module
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export interface GridFilterOptions<TData = any> {
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Which UI Components can be used to edit a Grid Filter: Expression Editor, Query Builder or Both
|
|
7
7
|
*
|
|
8
|
-
* @defaultValue '
|
|
8
|
+
* @defaultValue ['ExpressionEditor', 'QueryBuilder']
|
|
9
9
|
*/
|
|
10
|
-
availableFilterEditors?:
|
|
10
|
+
availableFilterEditors?: GridFilterEditors;
|
|
11
11
|
/**
|
|
12
12
|
* Clears a saved Grid Filter when AdapTable loads
|
|
13
13
|
*
|
|
@@ -16,3 +16,8 @@ export interface GridFilterOptions<TData = any> {
|
|
|
16
16
|
*/
|
|
17
17
|
clearGridFilterOnStartUp?: boolean;
|
|
18
18
|
}
|
|
19
|
+
export type GridFilterEditors = GridFilterEditor[];
|
|
20
|
+
/**
|
|
21
|
+
* List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button
|
|
22
|
+
*/
|
|
23
|
+
export type GridFilterEditor = 'ExpressionEditor' | 'QueryBuilder';
|
|
@@ -23,11 +23,11 @@ export interface GridFilterApi {
|
|
|
23
23
|
*/
|
|
24
24
|
clearGridFilter(): void;
|
|
25
25
|
/**
|
|
26
|
-
* Opens the Expression Editor
|
|
26
|
+
* Opens the AdapTableQL UI Components (Expression Editor & Query Builder)
|
|
27
27
|
*
|
|
28
28
|
* @param expression current Grid Filter expression
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
openUIEditorForGridFilter(expression?: string): void;
|
|
31
31
|
/**
|
|
32
32
|
* Suspends the Grid Filter
|
|
33
33
|
*/
|
|
@@ -10,7 +10,7 @@ export declare class GridFilterApiImpl extends ApiBase implements GridFilterApi
|
|
|
10
10
|
getCurrentGridFilterExpression(): string | undefined;
|
|
11
11
|
setGridFilterExpression(filter: string): void;
|
|
12
12
|
clearGridFilter(): void;
|
|
13
|
-
|
|
13
|
+
openUIEditorForGridFilter(expression?: string): void;
|
|
14
14
|
suspendGridFilter(): void;
|
|
15
15
|
unSuspendGridFilter(): void;
|
|
16
16
|
}
|
|
@@ -26,7 +26,7 @@ class GridFilterApiImpl extends ApiBase_1.ApiBase {
|
|
|
26
26
|
clearGridFilter() {
|
|
27
27
|
this.dispatchAction(LayoutRedux.LayoutGridFilterClear());
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
openUIEditorForGridFilter(expression) {
|
|
30
30
|
const preparedQuery = expression !== null && expression !== void 0 ? expression : this.getCurrentGridFilterExpression();
|
|
31
31
|
this.getAdaptableApi().internalApi.showPopupWindow({
|
|
32
32
|
id: windowFactory_1.WINDOW_GRID_FILTER_EDITOR,
|
|
@@ -62,16 +62,15 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
|
|
|
62
62
|
let layoutState = this.getLayoutApi().getLayoutState();
|
|
63
63
|
const isLayoutDefined = (layoutName) => !!layoutState.Layouts.filter((layout) => layout.Name === layoutName)[0];
|
|
64
64
|
let defaultLayoutColumns = gridState.Columns.filter((column) => column.visible);
|
|
65
|
-
const columnsMap = gridState.Columns.reduce((acc, col) => {
|
|
66
|
-
acc[col.columnId] = col;
|
|
67
|
-
return acc;
|
|
68
|
-
}, {});
|
|
69
65
|
let shouldCreateDefaultLayout = this.getLayoutOptions().createDefaultLayout;
|
|
70
66
|
if (!layoutState.Layouts || !layoutState.Layouts.length) {
|
|
71
67
|
shouldCreateDefaultLayout = true;
|
|
72
68
|
}
|
|
73
69
|
if (shouldCreateDefaultLayout) {
|
|
74
70
|
if (!layoutState.Layouts || !isLayoutDefined(GeneralConstants_1.DEFAULT_LAYOUT)) {
|
|
71
|
+
// augogroup columns are not in columns list
|
|
72
|
+
// the code that adds column ok grid state explicitly ignores autoColumns
|
|
73
|
+
const allGridColumns = this.adaptable.getAgGridAllGridColumns();
|
|
75
74
|
let defaultLayout = ObjectFactory_1.default.CreateEmptyLayout({
|
|
76
75
|
Name: GeneralConstants_1.DEFAULT_LAYOUT,
|
|
77
76
|
Columns: defaultLayoutColumns.map((c) => c.columnId),
|
|
@@ -81,9 +80,10 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
|
|
|
81
80
|
}
|
|
82
81
|
return acc;
|
|
83
82
|
}, {}),
|
|
84
|
-
PinnedColumnsMap:
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
PinnedColumnsMap: allGridColumns.reduce((acc, col) => {
|
|
84
|
+
const pinned = col.getPinned();
|
|
85
|
+
if (pinned) {
|
|
86
|
+
acc[col.getColId()] = pinned === true ? 'left' : pinned;
|
|
87
87
|
}
|
|
88
88
|
return acc;
|
|
89
89
|
}, {}),
|
|
@@ -225,7 +225,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
225
225
|
showSuspendFilterButton: false,
|
|
226
226
|
},
|
|
227
227
|
gridFilterOptions: {
|
|
228
|
-
availableFilterEditors: '
|
|
228
|
+
availableFilterEditors: ['ExpressionEditor', 'QueryBuilder'],
|
|
229
229
|
clearGridFilterOnStartUp: false,
|
|
230
230
|
},
|
|
231
231
|
predicateOptions: {
|
|
@@ -99,29 +99,29 @@ class ValidationService {
|
|
|
99
99
|
.validateOnServer(serverValidationContext)
|
|
100
100
|
.then((validationResult) => {
|
|
101
101
|
var _a, _b;
|
|
102
|
-
if (validationResult.
|
|
103
|
-
validationResult.
|
|
102
|
+
if (validationResult.newCellValue === undefined) {
|
|
103
|
+
validationResult.newCellValue = cellDataChangedInfo.newValue;
|
|
104
104
|
}
|
|
105
105
|
// If they have changed the return value then we should update the grid, log the function change
|
|
106
106
|
// otherwise the value will persist
|
|
107
|
-
if (validationResult.
|
|
108
|
-
cellDataChangedInfo.newValue = validationResult.
|
|
107
|
+
if (validationResult.newCellValue !== cellDataChangedInfo.newValue) {
|
|
108
|
+
cellDataChangedInfo.newValue = validationResult.newCellValue;
|
|
109
109
|
// this.adaptable.setValue(cellDataChangedInfo, false);
|
|
110
110
|
const row = (_a = cellDataChangedInfo.rowNode) === null || _a === void 0 ? void 0 : _a.data;
|
|
111
111
|
if (!row) {
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
114
|
-
row[(_b = this.adaptableApi.columnApi.internalApi.getAgGridColumnFieldForAdaptableColumn(cellDataChangedInfo.column.columnId)) !== null && _b !== void 0 ? _b : cellDataChangedInfo.column.columnId] = validationResult.
|
|
114
|
+
row[(_b = this.adaptableApi.columnApi.internalApi.getAgGridColumnFieldForAdaptableColumn(cellDataChangedInfo.column.columnId)) !== null && _b !== void 0 ? _b : cellDataChangedInfo.column.columnId] = validationResult.newCellValue;
|
|
115
115
|
this.adaptableApi.gridApi.updateGridData([row]);
|
|
116
|
-
if (StringExtensions_1.default.IsNotNullOrEmpty(validationResult.
|
|
116
|
+
if (StringExtensions_1.default.IsNotNullOrEmpty(validationResult.validationMessage) &&
|
|
117
117
|
this.adaptableApi.optionsApi.getEditOptions().displayServerValidationMessages) {
|
|
118
|
-
const validationHeader = validationResult.
|
|
119
|
-
? validationResult.
|
|
118
|
+
const validationHeader = validationResult.validationHeader
|
|
119
|
+
? validationResult.validationHeader
|
|
120
120
|
: GeneralConstants_1.SERVER_VALIDATION_HEADER;
|
|
121
|
-
const messageType = validationResult.
|
|
122
|
-
? validationResult.
|
|
121
|
+
const messageType = validationResult.messageType
|
|
122
|
+
? validationResult.messageType
|
|
123
123
|
: GeneralConstants_1.SERVER_VALIDATION_MESSAGE_TYPE;
|
|
124
|
-
this.adaptableApi.alertApi.showAlert(validationHeader, validationResult.
|
|
124
|
+
this.adaptableApi.alertApi.showAlert(validationHeader, validationResult.validationMessage, messageType);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
config.onServerValidationCompleted();
|
|
@@ -8,6 +8,7 @@ const DropdownButton_1 = tslib_1.__importDefault(require("../../components/Dropd
|
|
|
8
8
|
const FieldWrap_1 = tslib_1.__importDefault(require("../../components/FieldWrap"));
|
|
9
9
|
const icons_1 = require("../../components/icons");
|
|
10
10
|
const Input_1 = tslib_1.__importDefault(require("../../components/Input"));
|
|
11
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
11
12
|
const ButtonClear_1 = require("../Components/Buttons/ButtonClear");
|
|
12
13
|
const ButtonExpand_1 = require("../Components/Buttons/ButtonExpand");
|
|
13
14
|
const ButtonInvalid_1 = require("../Components/Buttons/ButtonInvalid");
|
|
@@ -33,9 +34,10 @@ const QueryViewPanelComponent = (props) => {
|
|
|
33
34
|
return props.viewType === 'Toolbar' ? (React.createElement(FieldWrap_1.default, { marginRight: 1, width: 500 },
|
|
34
35
|
buttonExpand,
|
|
35
36
|
React.createElement(Input_1.default, { disabled: isSuspended || gridFilterAccessLevel == 'ReadOnly', type: "text", "data-name": "grid-filter-input", placeholder: "Grid Filter", spellCheck: false, value: expression, onChange: (x) => setExpression(x.target.value), style: { fontFamily: 'monospace', fontSize: 12 } }),
|
|
36
|
-
isExpressionValid
|
|
37
|
+
isExpressionValid && (React.createElement(ButtonPlay_1.ButtonPlay, { onClick: () => runQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "neutral", disabled: isSuspended || expression == '' || expression == (gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression), marginRight: 1 })),
|
|
38
|
+
gridFilter && !isExpressionValid && (React.createElement(ButtonInvalid_1.ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", marginRight: 1 })),
|
|
37
39
|
' ',
|
|
38
|
-
(
|
|
40
|
+
StringExtensions_1.default.IsNotNullOrEmpty(expression) && (React.createElement(ButtonClear_1.ButtonClear, { onClick: () => clearQuery(), tooltip: "Clear Grid Filter", accessLevel: gridFilterAccessLevel })))) : (React.createElement(FieldWrap_1.default, null,
|
|
39
41
|
' ',
|
|
40
42
|
buttonExpand,
|
|
41
43
|
React.createElement(Input_1.default, { disabled: isSuspended || gridFilterAccessLevel == 'ReadOnly', type: "text", "data-name": "grid-filter-input", placeholder: "Grid Filter", spellCheck: false, value: expression, onChange: (x) => setExpression(x.target.value), style: { width: '100%' } })));
|
|
@@ -115,7 +115,7 @@ const useGridFilterExpressionEditor = () => {
|
|
|
115
115
|
availableColumns,
|
|
116
116
|
runQuery,
|
|
117
117
|
clearQuery,
|
|
118
|
-
onExpand: () => adaptable.api.gridFilterApi.
|
|
118
|
+
onExpand: () => adaptable.api.gridFilterApi.openUIEditorForGridFilter(expression),
|
|
119
119
|
saveQuery,
|
|
120
120
|
suspendGridFilter,
|
|
121
121
|
unSuspendGridFilter,
|
|
@@ -4,28 +4,10 @@ exports.useGridFilterOptionsForExpressionEditorProps = void 0;
|
|
|
4
4
|
const AdaptableContext_1 = require("../AdaptableContext");
|
|
5
5
|
const useGridFilterOptionsForExpressionEditorProps = () => {
|
|
6
6
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
showExpressionEditor: true,
|
|
13
|
-
};
|
|
14
|
-
case 'QueryBuilder':
|
|
15
|
-
return {
|
|
16
|
-
showQueryBuilder: true,
|
|
17
|
-
showExpressionEditor: false,
|
|
18
|
-
};
|
|
19
|
-
case 'ExpressionEditor':
|
|
20
|
-
return {
|
|
21
|
-
showQueryBuilder: false,
|
|
22
|
-
showExpressionEditor: true,
|
|
23
|
-
};
|
|
24
|
-
default:
|
|
25
|
-
return {
|
|
26
|
-
showQueryBuilder: true,
|
|
27
|
-
showExpressionEditor: true,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
7
|
+
const gridFilterEditors = adaptable.api.optionsApi.getGridFilterOptions().availableFilterEditors;
|
|
8
|
+
return {
|
|
9
|
+
showQueryBuilder: gridFilterEditors.includes('QueryBuilder'),
|
|
10
|
+
showExpressionEditor: gridFilterEditors.includes('ExpressionEditor'),
|
|
11
|
+
};
|
|
30
12
|
};
|
|
31
13
|
exports.useGridFilterOptionsForExpressionEditorProps = useGridFilterOptionsForExpressionEditorProps;
|
|
@@ -34,11 +34,11 @@ const GridFilterSection = (props) => {
|
|
|
34
34
|
const { data: layout } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
35
35
|
const initialData = React.useMemo(() => api.internalApi.getQueryPreviewData(), []);
|
|
36
36
|
const expressionEditorProps = (0, useGridFilterOptionsForExpressionEditor_1.useGridFilterOptionsForExpressionEditorProps)();
|
|
37
|
+
const expressionEditorContent = (React.createElement(ExpressionEditor_1.ExpressionEditor, Object.assign({}, expressionEditorProps, { allowSaveNamedQuery: false, type: 'boolean', module: ModuleConstants_1.GridFilterModuleId, value: (_b = (_a = layout === null || layout === void 0 ? void 0 : layout.GridFilter) === null || _a === void 0 ? void 0 : _a.Expression) !== null && _b !== void 0 ? _b : '', onChange: (expression) => {
|
|
38
|
+
props.onChange(Object.assign(Object.assign({}, layout), { GridFilter: Object.assign(Object.assign({}, layout.GridFilter), { Expression: expression }) }));
|
|
39
|
+
}, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.namedQueryApi.getNamedQueries(), api: api })));
|
|
37
40
|
return (React.createElement(Tabs_1.Tabs, { style: { height: '100%' } },
|
|
38
41
|
React.createElement(Tabs_1.Tabs.Tab, null, "Grid Filters"),
|
|
39
|
-
React.createElement(Tabs_1.Tabs.Content, null,
|
|
40
|
-
React.createElement(ExpressionEditor_1.ExpressionEditor, Object.assign({}, expressionEditorProps, { allowSaveNamedQuery: false, type: 'boolean', module: ModuleConstants_1.GridFilterModuleId, value: (_b = (_a = layout === null || layout === void 0 ? void 0 : layout.GridFilter) === null || _a === void 0 ? void 0 : _a.Expression) !== null && _b !== void 0 ? _b : '', onChange: (expression) => {
|
|
41
|
-
props.onChange(Object.assign(Object.assign({}, layout), { GridFilter: Object.assign(Object.assign({}, layout.GridFilter), { Expression: expression }) }));
|
|
42
|
-
}, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.namedQueryApi.getNamedQueries(), api: api })))));
|
|
42
|
+
React.createElement(Tabs_1.Tabs.Content, null, expressionEditorContent)));
|
|
43
43
|
};
|
|
44
44
|
exports.GridFilterSection = GridFilterSection;
|
|
@@ -9,7 +9,7 @@ const EditGridFilterButton = () => {
|
|
|
9
9
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
10
10
|
const handleClick = React.useCallback((event) => {
|
|
11
11
|
event.stopPropagation();
|
|
12
|
-
adaptable.api.gridFilterApi.
|
|
12
|
+
adaptable.api.gridFilterApi.openUIEditorForGridFilter();
|
|
13
13
|
}, []);
|
|
14
14
|
return React.createElement(SimpleButton_1.default, { variant: "text", iconSize: 15, onClick: handleClick, icon: "edit" });
|
|
15
15
|
};
|
|
@@ -41,6 +41,9 @@ import { AdaptableLogger } from './AdaptableLogger';
|
|
|
41
41
|
import { Fdc3Service } from '../Utilities/Services/Fdc3Service';
|
|
42
42
|
type RuntimeConfig = {
|
|
43
43
|
waitForAgGrid?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated
|
|
46
|
+
*/
|
|
44
47
|
renderReactRoot?: RenderReactRootFn;
|
|
45
48
|
variant?: AdaptableVariant;
|
|
46
49
|
gridOptions: AgGridConfig['gridOptions'];
|
|
@@ -361,6 +364,7 @@ export declare class Adaptable implements IAdaptable {
|
|
|
361
364
|
closeAllRowGroups(): void;
|
|
362
365
|
expandRowGroupsForValues(columnValues: any[]): void;
|
|
363
366
|
getAgGridColumnForColumnId(columnId: string): Column;
|
|
367
|
+
getAgGridAllGridColumns(): Column<any>[];
|
|
364
368
|
setRowGroupColumns(columnIds: string[]): void;
|
|
365
369
|
clearRowGroupColumns(): void;
|
|
366
370
|
getExpandRowGroupsKeys(): any[];
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -361,24 +361,6 @@ class Adaptable {
|
|
|
361
361
|
async init(adaptableOptions, runtimeConfig, _staticInit) {
|
|
362
362
|
this.logger = new AdaptableLogger_1.AdaptableLogger(adaptableOptions.adaptableId || String(Date.now()));
|
|
363
363
|
const perfAdaptableInit = this.logger.beginPerf(`Adaptable init()`);
|
|
364
|
-
if (runtimeConfig.renderReactRoot) {
|
|
365
|
-
this.renderReactRoot = (el, container) => {
|
|
366
|
-
const unmount = runtimeConfig.renderReactRoot(el, container);
|
|
367
|
-
return () => {
|
|
368
|
-
// we used to capture here because of FloatingFilters/Filters - see FloatingFilterWrapper and FilterWrapper
|
|
369
|
-
// as we didn't have a native React implementation for our React wrapper
|
|
370
|
-
// but we might need to do this again in the future for some other components that are not native React
|
|
371
|
-
// captureReactWarnings();
|
|
372
|
-
if (typeof unmount === 'function') {
|
|
373
|
-
// rAF is required, otherwise the unmount would be performed during the rendering phase and React doesn't like that
|
|
374
|
-
requestAnimationFrame(() => {
|
|
375
|
-
unmount();
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
// releaseReactWarnings();
|
|
379
|
-
};
|
|
380
|
-
};
|
|
381
|
-
}
|
|
382
364
|
if (runtimeConfig.variant) {
|
|
383
365
|
this.variant = runtimeConfig.variant;
|
|
384
366
|
}
|
|
@@ -4179,6 +4161,9 @@ class Adaptable {
|
|
|
4179
4161
|
getAgGridColumnForColumnId(columnId) {
|
|
4180
4162
|
return this.gridOptions.columnApi.getColumn(columnId);
|
|
4181
4163
|
}
|
|
4164
|
+
getAgGridAllGridColumns() {
|
|
4165
|
+
return this.gridOptions.columnApi.getAllGridColumns();
|
|
4166
|
+
}
|
|
4182
4167
|
setRowGroupColumns(columnIds) {
|
|
4183
4168
|
this.gridOptions.columnApi.setRowGroupColumns(columnIds);
|
|
4184
4169
|
}
|
|
@@ -3558,6 +3558,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
3558
3558
|
isOpt: boolean;
|
|
3559
3559
|
}[];
|
|
3560
3560
|
};
|
|
3561
|
+
GridFilterEditor: {
|
|
3562
|
+
name: string;
|
|
3563
|
+
kind: string;
|
|
3564
|
+
desc: string;
|
|
3565
|
+
};
|
|
3561
3566
|
GridFilterOptions: {
|
|
3562
3567
|
name: string;
|
|
3563
3568
|
kind: string;
|
|
@@ -3568,6 +3573,7 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
3568
3573
|
desc: string;
|
|
3569
3574
|
isOpt: boolean;
|
|
3570
3575
|
defVal: string;
|
|
3576
|
+
ref: string;
|
|
3571
3577
|
gridInfo?: undefined;
|
|
3572
3578
|
} | {
|
|
3573
3579
|
name: string;
|
|
@@ -3576,6 +3582,7 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
3576
3582
|
isOpt: boolean;
|
|
3577
3583
|
gridInfo: string;
|
|
3578
3584
|
defVal: string;
|
|
3585
|
+
ref?: undefined;
|
|
3579
3586
|
})[];
|
|
3580
3587
|
};
|
|
3581
3588
|
GridRow: {
|
|
@@ -4819,6 +4826,33 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
4819
4826
|
desc: string;
|
|
4820
4827
|
}[];
|
|
4821
4828
|
};
|
|
4829
|
+
ServerValidationResult: {
|
|
4830
|
+
name: string;
|
|
4831
|
+
kind: string;
|
|
4832
|
+
desc: string;
|
|
4833
|
+
props: ({
|
|
4834
|
+
name: string;
|
|
4835
|
+
kind: string;
|
|
4836
|
+
desc: string;
|
|
4837
|
+
isOpt: boolean;
|
|
4838
|
+
defVal: string;
|
|
4839
|
+
ref: string;
|
|
4840
|
+
} | {
|
|
4841
|
+
name: string;
|
|
4842
|
+
kind: string;
|
|
4843
|
+
desc: string;
|
|
4844
|
+
isOpt: boolean;
|
|
4845
|
+
defVal?: undefined;
|
|
4846
|
+
ref?: undefined;
|
|
4847
|
+
} | {
|
|
4848
|
+
name: string;
|
|
4849
|
+
kind: string;
|
|
4850
|
+
desc: string;
|
|
4851
|
+
isOpt: boolean;
|
|
4852
|
+
defVal: string;
|
|
4853
|
+
ref?: undefined;
|
|
4854
|
+
})[];
|
|
4855
|
+
};
|
|
4822
4856
|
SetPrimaryKeyValueContext: {
|
|
4823
4857
|
name: string;
|
|
4824
4858
|
kind: string;
|
|
@@ -5463,33 +5497,6 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
5463
5497
|
isOpt?: undefined;
|
|
5464
5498
|
})[];
|
|
5465
5499
|
};
|
|
5466
|
-
ValidationResult: {
|
|
5467
|
-
name: string;
|
|
5468
|
-
kind: string;
|
|
5469
|
-
desc: string;
|
|
5470
|
-
props: ({
|
|
5471
|
-
name: string;
|
|
5472
|
-
kind: string;
|
|
5473
|
-
desc: string;
|
|
5474
|
-
isOpt: boolean;
|
|
5475
|
-
defVal: string;
|
|
5476
|
-
ref: string;
|
|
5477
|
-
} | {
|
|
5478
|
-
name: string;
|
|
5479
|
-
kind: string;
|
|
5480
|
-
desc: string;
|
|
5481
|
-
isOpt: boolean;
|
|
5482
|
-
defVal?: undefined;
|
|
5483
|
-
ref?: undefined;
|
|
5484
|
-
} | {
|
|
5485
|
-
name: string;
|
|
5486
|
-
kind: string;
|
|
5487
|
-
desc: string;
|
|
5488
|
-
isOpt: boolean;
|
|
5489
|
-
defVal: string;
|
|
5490
|
-
ref?: undefined;
|
|
5491
|
-
})[];
|
|
5492
|
-
};
|
|
5493
5500
|
ValuationContext: {
|
|
5494
5501
|
name: string;
|
|
5495
5502
|
kind: string;
|