@adaptabletools/adaptable 12.0.4 → 12.0.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.
Files changed (39) hide show
  1. package/bundle.cjs.js +92 -92
  2. package/package.json +1 -1
  3. package/publishTimestamp.d.ts +1 -1
  4. package/publishTimestamp.js +1 -1
  5. package/src/AdaptableOptions/ExportOptions.d.ts +3 -3
  6. package/src/Api/GridApi.d.ts +2 -1
  7. package/src/Api/Implementation/GridApiImpl.d.ts +1 -1
  8. package/src/Api/Implementation/GridApiImpl.js +1 -1
  9. package/src/Api/Implementation/InternalApiImpl.js +3 -0
  10. package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +1 -1
  11. package/src/Strategy/AlertModule.js +2 -2
  12. package/src/Strategy/FlashingCellModule.js +2 -2
  13. package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -2
  14. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +4 -4
  15. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +7 -7
  16. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -3
  17. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +5 -5
  18. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +11 -11
  19. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -2
  20. package/src/Utilities/Services/QueryLanguageService.js +4 -4
  21. package/src/Utilities/Services/ReportService.js +1 -1
  22. package/src/Utilities/Services/RowEditService.js +4 -1
  23. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +8 -0
  24. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/{ConfigurationForm.js → AdaptableOptionsForm.js} +3 -39
  25. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +27 -3
  26. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/{ConfigurationForm.d.ts → EntitlementsForm.d.ts} +3 -3
  27. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +17 -0
  28. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.d.ts +8 -0
  29. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +54 -0
  30. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -1
  31. package/src/agGrid/Adaptable.js +9 -7
  32. package/src/agGrid/agGridHelper.js +2 -2
  33. package/src/components/ExpressionEditor/BaseEditorInput.js +4 -1
  34. package/src/components/ExpressionEditor/index.js +2 -2
  35. package/src/metamodel/adaptable.metamodel.d.ts +5 -5
  36. package/src/metamodel/adaptable.metamodel.js +1 -1
  37. package/src/parser/src/types.d.ts +4 -8
  38. package/version.d.ts +1 -1
  39. package/version.js +1 -1
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
6
+ const CheckBox_1 = require("../../../components/CheckBox");
7
+ const HelpBlock_1 = tslib_1.__importDefault(require("../../../components/HelpBlock"));
8
+ const DefaultAdaptableOptions_1 = require("../../../Utilities/Defaults/DefaultAdaptableOptions");
9
+ const GridOptionsForm = (props) => {
10
+ var _a;
11
+ let abOptions = props.adaptableOptions;
12
+ const gridOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.gridOptions), abOptions.gridOptions);
13
+ return (React.createElement(React.Fragment, null,
14
+ React.createElement(HelpBlock_1.default, null, "Grid Options"),
15
+ React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'children' }, { name: 'label', style: { textAlign: 'start' } }] },
16
+ React.createElement(FormLayout_1.FormRow, { label: "Show ToolPanel" },
17
+ React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.sideBar == true, onChange: (addSideBar) => {
18
+ abOptions = Object.assign({}, abOptions);
19
+ abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
20
+ abOptions.gridOptions.sideBar = addSideBar;
21
+ props.onChangeadaptableOptions(abOptions);
22
+ } })),
23
+ React.createElement(FormLayout_1.FormRow, { label: "Enable Range Selection" },
24
+ React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.enableRangeSelection, onChange: (enableRangeSelection) => {
25
+ abOptions = Object.assign({}, abOptions);
26
+ abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
27
+ abOptions.gridOptions.enableRangeSelection = enableRangeSelection;
28
+ props.onChangeadaptableOptions(abOptions);
29
+ } })),
30
+ React.createElement(FormLayout_1.FormRow, { label: "Show Quick Filter" },
31
+ React.createElement(CheckBox_1.CheckBox, { checked: (_a = gridOptions.defaultColDef) === null || _a === void 0 ? void 0 : _a.floatingFilter, onChange: (floatingFilter) => {
32
+ abOptions = Object.assign({}, abOptions);
33
+ abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
34
+ abOptions.gridOptions.defaultColDef = {
35
+ floatingFilter,
36
+ };
37
+ props.onChangeadaptableOptions(abOptions);
38
+ } })),
39
+ React.createElement(FormLayout_1.FormRow, { label: "Suppress Column Virtualisation" },
40
+ React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.suppressColumnVirtualisation, onChange: (suppressColumnVirtualisation) => {
41
+ abOptions = Object.assign({}, abOptions);
42
+ abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
43
+ abOptions.gridOptions.suppressColumnVirtualisation = suppressColumnVirtualisation;
44
+ props.onChangeadaptableOptions(abOptions);
45
+ } })),
46
+ React.createElement(FormLayout_1.FormRow, { label: "Show Column Menu Button" },
47
+ React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.suppressMenuHide, onChange: (suppressMenuHide) => {
48
+ abOptions = Object.assign({}, abOptions);
49
+ abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
50
+ abOptions.gridOptions.suppressMenuHide = suppressMenuHide;
51
+ props.onChangeadaptableOptions(abOptions);
52
+ } })))));
53
+ };
54
+ exports.default = GridOptionsForm;
@@ -324,7 +324,6 @@ const renderStringFormat = (data, _onChange, setFormatOption, scopedCustomFormat
324
324
  if (data.DisplayFormat.Formatter !== 'StringFormatter') {
325
325
  return null;
326
326
  }
327
- console.log('formatters', scopedCustomFormatters);
328
327
  return (React.createElement(rebass_1.Box, { "data-name": 'format-column-display-format', padding: 2 },
329
328
  React.createElement(Tabs_1.Tabs, null,
330
329
  React.createElement(Tabs_1.Tabs.Tab, null, "Format"),
@@ -1394,13 +1394,6 @@ class Adaptable {
1394
1394
  shouldUpdateHeaders = this.setupColumnHeader(colSetupInfo) || shouldUpdateHeaders;
1395
1395
  });
1396
1396
  isChanged = isChanged || shouldUpdateHeaders;
1397
- if (this.api.layoutApi.areExpandedRowGroupsSavedInLayouts() &&
1398
- ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(layout.ExpandedRowGroupValues)) {
1399
- this.expandRowGroupsForValues(layout.ExpandedRowGroupValues);
1400
- }
1401
- if (this.adaptableOptions.layoutOptions.displayRowGroups === 'expanded') {
1402
- this.expandAllRowGroups();
1403
- }
1404
1397
  if (isChanged) {
1405
1398
  // it's important we set pivot mode
1406
1399
  // before we set column state
@@ -1421,6 +1414,15 @@ class Adaptable {
1421
1414
  // so we figured out the following line fixes the issue
1422
1415
  // this.gridOptions.api.setColumnDefs(this.gridOptions.api.getColumnDefs()); //TODO find a solution for weighted averages - column floating filters are not showing
1423
1416
  GridApi_setColumnDefs.call(this.gridOptions.api, this.gridOptions.api.getColumnDefs());
1417
+ // these updates need to be at the end, the methods are based on the grid state/col defs
1418
+ // the layout needs to be applied for them to work
1419
+ if (this.api.layoutApi.areExpandedRowGroupsSavedInLayouts() &&
1420
+ ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(layout.ExpandedRowGroupValues)) {
1421
+ this.expandRowGroupsForValues(layout.ExpandedRowGroupValues);
1422
+ }
1423
+ if (this.adaptableOptions.layoutOptions.displayRowGroups === 'expanded') {
1424
+ this.expandAllRowGroups();
1425
+ }
1424
1426
  // this.updateColumnsIntoStore();// no longer needed
1425
1427
  }
1426
1428
  const colsToAutoSizeArray = Object.keys(colsToAutoSize);
@@ -162,9 +162,9 @@ class agGridHelper {
162
162
  const customFriendlyName = typeof columnFriendlyName === 'function'
163
163
  ? columnFriendlyName({ colId: colId, agColumn: agGridColumn })
164
164
  : null;
165
- const FriendlyName = (customFriendlyName !== null && customFriendlyName !== void 0 ? customFriendlyName : isActionRowButtonColumn)
165
+ const FriendlyName = customFriendlyName !== null && customFriendlyName !== void 0 ? customFriendlyName : (isActionRowButtonColumn
166
166
  ? GeneralConstants_1.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME
167
- : this.gridOptions.columnApi.getDisplayNameForColumn(agGridColumn, 'header');
167
+ : this.gridOptions.columnApi.getDisplayNameForColumn(agGridColumn, 'header'));
168
168
  if (!this.initialAgGridColDefs[colId]) {
169
169
  this.initialAgGridColDefs[colId] = Object.assign({}, agGridColumn.getUserProvidedColDef());
170
170
  }
@@ -40,6 +40,9 @@ function BaseEditorInput(props) {
40
40
  };
41
41
  const testRowNode = react_1.useMemo(() => {
42
42
  const firstRowNode = props.api.gridApi.getFirstRowNode();
43
+ if (!firstRowNode || !firstRowNode.data) {
44
+ return {};
45
+ }
43
46
  // clone the class instance to still keep the prototype methods
44
47
  return Object.assign(Object.create(Object.getPrototypeOf(firstRowNode)), firstRowNode);
45
48
  }, []);
@@ -51,7 +54,7 @@ function BaseEditorInput(props) {
51
54
  result = expr.evaluate({
52
55
  // we need a fully-fledged rowNode as Adaptable accesses internal methods of it
53
56
  node: testRowNode,
54
- api: props.api,
57
+ adaptableApi: props.api,
55
58
  functions: expressionFunctions,
56
59
  });
57
60
  }
@@ -112,9 +112,9 @@ function ExpressionEditor(props) {
112
112
  cursor: 'grab',
113
113
  marginRight: 'var(--ab-space-1)',
114
114
  }, data: `[${column.columnId}]`, "data-name": "column", icon: "drag" },
115
- React.createElement(rebass_1.Flex, { flexDirection: "column", alignItems: "start" }, showColumnIds ? `[${column.columnId}]` : column.friendlyName)) }, column.dataType === 'Number' ? (React.createElement(Input_1.default, { type: "number", "data-name": "column-input", value: getColValue(column), onChange: (e) => setData(updateColValue(data, column, Number(e.target.value))), width: "100%", disabled: column.readOnly })) : column.dataType === 'String' ? (React.createElement(Input_1.default, { type: "text", "data-name": "column-input", value: getColValue(column), onChange: (e) => setData(updateColValue(data, column, e.target.value)), width: "100%", disabled: column.readOnly })) : column.dataType === 'Date' ? (React.createElement(AdaptableInput_1.default, { type: "date", "data-name": "column-input", value: getColDateValue(column), onChange: (e) => {
115
+ React.createElement(rebass_1.Flex, { flexDirection: "column", alignItems: "start" }, showColumnIds ? `[${column.columnId}]` : column.friendlyName)) }, column.dataType === 'Number' ? (React.createElement(Input_1.default, { type: "number", "data-name": "column-input", "data-value": column.columnId, value: getColValue(column), onChange: (e) => setData(updateColValue(data, column, Number(e.target.value))), width: "100%", disabled: column.readOnly })) : column.dataType === 'String' ? (React.createElement(Input_1.default, { type: "text", "data-name": "column-input", "data-value": column.columnId, value: getColValue(column), onChange: (e) => setData(updateColValue(data, column, e.target.value)), width: "100%", disabled: column.readOnly })) : column.dataType === 'Date' ? (React.createElement(AdaptableInput_1.default, { type: "date", "data-name": "column-input", "data-value": column.columnId, value: getColDateValue(column), onChange: (e) => {
116
116
  setData(updateColValue(data, column, new Date(e.target.value)));
117
- }, style: { width: '100%' }, disabled: column.readOnly })) : column.dataType === 'Boolean' ? (React.createElement(CheckBox_1.CheckBox, { "data-name": "column-input", checked: getColValue(column), onChange: (checked) => setData(updateColValue(data, column, checked)), disabled: column.readOnly })) : null))))));
117
+ }, style: { width: '100%' }, disabled: column.readOnly })) : column.dataType === 'Boolean' ? (React.createElement(CheckBox_1.CheckBox, { "data-name": "column-input", "data-value": column.columnId, checked: getColValue(column), onChange: (checked) => setData(updateColValue(data, column, checked)), disabled: column.readOnly })) : null))))));
118
118
  const namedQueries = (React.createElement("div", null, props.namedQueries.map((namedQuery) => (React.createElement(rebass_1.Flex, { key: namedQuery.Uuid, flexDirection: "column", alignItems: "start", style: {
119
119
  padding: 3,
120
120
  marginTop: 'var(--ab-space-2)',
@@ -2544,22 +2544,22 @@ export declare const ADAPTABLE_METAMODEL: {
2544
2544
  kind: string;
2545
2545
  description: string;
2546
2546
  uiLabel: string;
2547
- reference: string;
2548
- isOptional?: undefined;
2547
+ isOptional: boolean;
2548
+ reference?: undefined;
2549
2549
  } | {
2550
2550
  name: string;
2551
2551
  kind: string;
2552
2552
  description: string;
2553
2553
  uiLabel: string;
2554
- isOptional: boolean;
2555
- reference?: undefined;
2554
+ reference: string;
2555
+ isOptional?: undefined;
2556
2556
  } | {
2557
2557
  name: string;
2558
2558
  kind: string;
2559
2559
  description: string;
2560
2560
  uiLabel: string;
2561
- reference?: undefined;
2562
2561
  isOptional?: undefined;
2562
+ reference?: undefined;
2563
2563
  } | {
2564
2564
  name: string;
2565
2565
  kind: string;