@adaptabletools/adaptable 10.0.0 → 10.0.4-canary.0

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 (169) hide show
  1. package/base.css +77 -29
  2. package/index.css +89 -31
  3. package/package.json +1 -5
  4. package/publishTimestamp.d.ts +1 -1
  5. package/publishTimestamp.js +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +12 -2
  7. package/src/AdaptableOptions/FilterOptions.d.ts +14 -7
  8. package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
  9. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +88 -4
  10. package/src/Api/AlertApi.d.ts +1 -1
  11. package/src/Api/CalculatedColumnApi.d.ts +15 -0
  12. package/src/Api/ColumnApi.d.ts +39 -0
  13. package/src/Api/ConfigApi.d.ts +8 -0
  14. package/src/Api/GridApi.d.ts +34 -8
  15. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -1
  16. package/src/Api/Implementation/AlertApiImpl.js +16 -9
  17. package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +3 -0
  18. package/src/Api/Implementation/CalculatedColumnApiImpl.js +23 -0
  19. package/src/Api/Implementation/ColumnApiImpl.d.ts +8 -0
  20. package/src/Api/Implementation/ColumnApiImpl.js +69 -36
  21. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  22. package/src/Api/Implementation/ConfigApiImpl.js +28 -17
  23. package/src/Api/Implementation/ExportApiImpl.js +4 -4
  24. package/src/Api/Implementation/FormatColumnApiImpl.js +1 -1
  25. package/src/Api/Implementation/FreeTextColumnApiImpl.js +9 -3
  26. package/src/Api/Implementation/GridApiImpl.d.ts +9 -0
  27. package/src/Api/Implementation/GridApiImpl.js +25 -10
  28. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -1
  29. package/src/Api/Implementation/InternalApiImpl.js +20 -4
  30. package/src/Api/Implementation/LayoutApiImpl.js +3 -3
  31. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -0
  32. package/src/Api/Implementation/QueryLanguageApiImpl.js +3 -0
  33. package/src/Api/Implementation/ScopeApiImpl.js +11 -11
  34. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +12 -8
  35. package/src/Api/Implementation/UserInterfaceApiImpl.js +59 -86
  36. package/src/Api/InternalApi.d.ts +3 -1
  37. package/src/Api/QueryLanguageApi.d.ts +5 -0
  38. package/src/Api/UserInterfaceApi.d.ts +16 -6
  39. package/src/PredefinedConfig/AlertState.d.ts +10 -0
  40. package/src/PredefinedConfig/CalculatedColumnState.d.ts +4 -37
  41. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +33 -33
  42. package/src/PredefinedConfig/Common/AdaptableColumn.js +5 -5
  43. package/src/PredefinedConfig/Common/AdaptablePredicate.js +19 -18
  44. package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +3 -2
  45. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +5 -1
  46. package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +49 -0
  47. package/src/{Utilities/Interface/ProgressIndicator.js → PredefinedConfig/Common/SpecialColumnSettings.js} +0 -0
  48. package/src/PredefinedConfig/FilterState.d.ts +1 -1
  49. package/src/PredefinedConfig/FreeTextColumnState.d.ts +10 -0
  50. package/src/PredefinedConfig/Selection/GridCell.d.ts +2 -1
  51. package/src/PredefinedConfig/Selection/GridRow.d.ts +12 -4
  52. package/src/PredefinedConfig/SystemState.d.ts +4 -1
  53. package/src/Redux/ActionsReducers/SystemRedux.js +1 -1
  54. package/src/Redux/Store/AdaptableReduxMerger.js +7 -1
  55. package/src/Redux/Store/AdaptableStore.js +7 -3
  56. package/src/Strategy/AdaptableModuleBase.js +8 -8
  57. package/src/Strategy/AlertModule.js +12 -11
  58. package/src/Strategy/BulkUpdateModule.js +5 -5
  59. package/src/Strategy/CalculatedColumnModule.js +1 -1
  60. package/src/Strategy/CellSummaryModule.js +3 -3
  61. package/src/Strategy/ConditionalStyleModule.js +3 -3
  62. package/src/Strategy/CustomSortModule.js +2 -2
  63. package/src/Strategy/ExportModule.d.ts +0 -2
  64. package/src/Strategy/ExportModule.js +59 -62
  65. package/src/Strategy/FilterModule.js +4 -4
  66. package/src/Strategy/FormatColumnModule.js +5 -5
  67. package/src/Strategy/FreeTextColumnModule.js +1 -1
  68. package/src/Strategy/LayoutModule.js +3 -3
  69. package/src/Strategy/PlusMinusModule.js +8 -9
  70. package/src/Strategy/SmartEditModule.js +6 -6
  71. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
  72. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +1 -1
  73. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +2 -2
  74. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -2
  75. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +1 -1
  76. package/src/Utilities/Helpers/DateHelper.d.ts +8 -2
  77. package/src/Utilities/Helpers/DateHelper.js +42 -20
  78. package/src/Utilities/Helpers/PreviewHelper.js +2 -2
  79. package/src/Utilities/ObjectFactory.d.ts +1 -1
  80. package/src/Utilities/ObjectFactory.js +14 -2
  81. package/src/Utilities/Services/DataService.js +5 -5
  82. package/src/Utilities/Services/MetamodelService.js +1 -0
  83. package/src/Utilities/Services/ModuleService.js +31 -24
  84. package/src/Utilities/Services/ReportService.js +12 -12
  85. package/src/Utilities/Services/ValidationService.js +4 -5
  86. package/src/Utilities/runIfNotResolvedIn.d.ts +8 -0
  87. package/src/Utilities/runIfNotResolvedIn.js +23 -0
  88. package/src/View/AdaptableView.js +1 -1
  89. package/src/View/Alert/AlertPopup.js +1 -1
  90. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +19 -5
  91. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  92. package/src/View/BulkUpdate/BulkUpdatePopup.d.ts +2 -0
  93. package/src/View/BulkUpdate/BulkUpdatePopup.js +6 -4
  94. package/src/View/BulkUpdate/BulkUpdateViewPanel.d.ts +2 -0
  95. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +3 -1
  96. package/src/View/CalculatedColumn/CalculatedColumnPopup.js +1 -1
  97. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +1 -1
  98. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  99. package/src/View/Components/ColumnSelector/index.js +2 -2
  100. package/src/View/Components/FilterForm/FilterForm.d.ts +3 -51
  101. package/src/View/Components/FilterForm/FilterForm.js +53 -32
  102. package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -0
  103. package/src/View/Components/FilterForm/ListBoxFilterForm.js +14 -5
  104. package/src/View/Components/FilterForm/QuickFilterForm.d.ts +3 -43
  105. package/src/View/Components/FilterForm/QuickFilterForm.js +72 -31
  106. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +3 -0
  107. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +8 -0
  108. package/src/View/Components/NewScopeComponent.js +1 -1
  109. package/src/View/Components/Popups/AdaptablePopup.d.ts +1 -1
  110. package/src/View/Components/PreviewResultsPanel.js +1 -1
  111. package/src/View/Components/RangesComponent.js +2 -2
  112. package/src/View/Components/Selectors/ColumnSelector.js +5 -5
  113. package/src/View/Components/Selectors/ColumnValueSelector.d.ts +10 -2
  114. package/src/View/Components/Selectors/ColumnValueSelector.js +47 -15
  115. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +6 -6
  116. package/src/View/ConditionalStyle/ConditionalStylePopup.js +1 -1
  117. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +1 -1
  118. package/src/View/CustomSort/CustomSortEntityRow.js +2 -2
  119. package/src/View/CustomSort/CustomSortPopup.js +1 -1
  120. package/src/View/CustomSort/CustomSortSummary.js +3 -3
  121. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +3 -3
  122. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +24 -6
  123. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +3 -3
  124. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
  125. package/src/View/Filter/FilterSummary.js +2 -2
  126. package/src/View/FormatColumn/FormatColumnPopup.js +1 -1
  127. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  128. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  129. package/src/View/FreeTextColumn/FreeTextColumnPopup.js +4 -2
  130. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +5 -3
  131. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
  132. package/src/View/GridInfo/ColumnInfoComponent.js +16 -16
  133. package/src/View/GridInfo/GridInfoPopup.js +4 -1
  134. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +6 -6
  135. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +1 -1
  136. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +1 -1
  137. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +1 -1
  138. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -2
  139. package/src/View/Layout/Wizard/LayoutEditor/index.js +41 -41
  140. package/src/View/PlusMinus/PlusMinusPopup.js +1 -1
  141. package/src/View/PlusMinus/PlusMinusSummary.js +1 -1
  142. package/src/View/Query/QueryViewPanel.js +3 -3
  143. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.d.ts +1 -1
  144. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +6 -8
  145. package/src/View/UIHelper.d.ts +2 -0
  146. package/src/View/UIHelper.js +10 -1
  147. package/src/agGrid/ActionColumnRenderer.d.ts +2 -1
  148. package/src/agGrid/ActionColumnRenderer.js +20 -3
  149. package/src/agGrid/Adaptable.d.ts +20 -4
  150. package/src/agGrid/Adaptable.js +234 -102
  151. package/src/agGrid/agGridHelper.js +32 -32
  152. package/src/agGrid/agGridMenuHelper.js +2 -2
  153. package/src/components/Dashboard/Dashboard.js +1 -1
  154. package/src/components/DropdownButton/index.js +1 -1
  155. package/src/components/ExpressionEditor/index.js +8 -7
  156. package/src/components/Loader/Loader.d.ts +7 -0
  157. package/src/components/Loader/Loader.js +13 -0
  158. package/src/components/Loader/index.d.ts +2 -0
  159. package/src/components/Loader/index.js +7 -0
  160. package/src/components/ProgressIndicator/ProgressIndicator.d.ts +2 -0
  161. package/src/components/ProgressIndicator/ProgressIndicator.js +54 -0
  162. package/src/metamodel/adaptable.metamodel.d.ts +125 -7
  163. package/src/metamodel/adaptable.metamodel.js +416 -101
  164. package/src/types.d.ts +4 -3
  165. package/version.d.ts +1 -1
  166. package/version.js +1 -1
  167. package/src/Utilities/Interface/ProgressIndicator.d.ts +0 -4
  168. package/src/View/Export/ProgressIndicator.d.ts +0 -6
  169. package/src/View/Export/ProgressIndicator.js +0 -25
@@ -73,8 +73,8 @@ class QueryViewPanelComponent extends React.Component {
73
73
  ];
74
74
  let availableColumns = this.props.api.columnApi.getColumns().map((col) => {
75
75
  return {
76
- label: col.FriendlyName,
77
- onClick: () => this.setState({ expression: this.state.expression + `[${col.ColumnId}]` }),
76
+ label: col.friendlyName,
77
+ onClick: () => this.setState({ expression: this.state.expression + `[${col.columnId}]` }),
78
78
  };
79
79
  });
80
80
  const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
@@ -88,7 +88,7 @@ class QueryViewPanelComponent extends React.Component {
88
88
  } }),
89
89
  isExpressionValid ? (React.createElement(ButtonPlay_1.ButtonPlay, { onClick: () => this.runQuery(), tooltip: '', accessLevel: 'Full', variant: "text", tone: "neutral", disabled: this.state.expression == '' || this.state.expression == this.props.CurrentQuery, marginRight: 1 })) : (React.createElement(ButtonInvalid_1.ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Query", marginRight: 1 })),
90
90
  ' ',
91
- this.props.CurrentQuery !== '' && (React.createElement(ButtonClear_1.ButtonClear, { onClick: () => this.props.onRunQuery(''), tooltip: "Clear Query", accessLevel: 'Full' })))) : (React.createElement(Input_1.default, { type: "text", placeholder: "Query", spellCheck: false, value: this.state.expression, onChange: (x) => this.setState({ expression: x.target.value }), style: { fontFamily: 'monospace', fontSize: 10, width: '100%', minWidth: 168 } }));
91
+ this.props.CurrentQuery !== '' && (React.createElement(ButtonClear_1.ButtonClear, { onClick: () => this.props.onRunQuery(''), tooltip: "Clear Query", accessLevel: 'Full' })))) : (React.createElement(Input_1.default, { type: "text", placeholder: "Query", spellCheck: false, value: this.state.expression, onChange: (x) => this.setState({ expression: x.target.value }), style: { width: '100%', minWidth: 168 } }));
92
92
  };
93
93
  const queryModuleAccessLevel = this.props.api.internalApi
94
94
  .getEntitlementService()
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { BaseSchedule } from '../../../PredefinedConfig/Common/Schedule';
3
- export declare const isScheduleValid: (schedule: BaseSchedule, isOneOff: boolean) => true | "Schedule is not specified" | "Schedule time is not specified" | "Schedule date are not specified" | "Schedule days is not specified";
3
+ export declare const isScheduleValid: (schedule: BaseSchedule, isOneOff: boolean) => true | "Schedule is not specified" | "Schedule Time is not specified" | "Schedule Date is not specified" | "Schedule Days are not specified";
4
4
  interface ScheduleScheduleWizardProps {
5
5
  onChange: (schedule: BaseSchedule) => void;
6
6
  isOneOff: boolean;
@@ -18,13 +18,13 @@ exports.isScheduleValid = (schedule, isOneOff) => {
18
18
  return 'Schedule is not specified';
19
19
  }
20
20
  if (schedule.Schedule.Hour === null || schedule.Schedule.Minute === null) {
21
- return 'Schedule time is not specified';
21
+ return 'Schedule Time is not specified';
22
22
  }
23
23
  if (isOneOff && !schedule.Schedule.OneOffDate) {
24
- return 'Schedule date are not specified';
24
+ return 'Schedule Date is not specified';
25
25
  }
26
26
  if (!isOneOff && ArrayExtensions_1.default.IsEmpty((_a = schedule === null || schedule === void 0 ? void 0 : schedule.Schedule) === null || _a === void 0 ? void 0 : _a.DaysOfWeek)) {
27
- return 'Schedule days is not specified';
27
+ return 'Schedule Days are not specified';
28
28
  }
29
29
  return true;
30
30
  };
@@ -95,14 +95,12 @@ exports.ScheduleScheduleWizard = (props) => {
95
95
  }
96
96
  return (React.createElement(rebass_1.Box, { "data-name": "schedule-setup" },
97
97
  React.createElement(Tabs_1.Tabs, { autoFocus: false },
98
- React.createElement(Tabs_1.Tabs.Tab, null, "Schedule Day/Date"),
98
+ React.createElement(Tabs_1.Tabs.Tab, null, "Schedule"),
99
99
  React.createElement(Tabs_1.Tabs.Content, null,
100
100
  React.createElement(FormLayout_1.default, null,
101
- React.createElement(FormLayout_1.FormRow, { label: "Schedule Type" },
101
+ React.createElement(FormLayout_1.FormRow, { label: "Frequency" },
102
102
  React.createElement(Radio_1.default, { mr: 2, value: "recurring", checked: !props.isOneOff, onChange: (checked) => checked && handleIsOneOfChange(false) }, "Recurring Days"),
103
- React.createElement(Radio_1.default, { checked: props.isOneOff, value: "oneoff", onChange: (checked) => checked && handleIsOneOfChange(true) }, "One Off Date")),
104
- React.createElement(FormLayout_1.FormRow, { label: "" },
105
- React.createElement(OnePageAdaptableWizard_1.FormDescriptionText, { mb: 1, mt: 0 }, "Choose whether to send ipushpull Data as 'Snapshot' (One-off report) or 'Live Data' (updating as Grid updates)")),
103
+ React.createElement(Radio_1.default, { checked: props.isOneOff, value: "oneoff", onChange: (checked) => checked && handleIsOneOfChange(true) }, "One-Off Date")),
106
104
  props.isOneOff ? (React.createElement(FormLayout_1.FormRow, { label: "Date" },
107
105
  React.createElement(AdaptableInput_1.default, { width: 300, type: "date", placeholder: "Date", onChange: handleOneOfDateChange, value: ((_e = data.Schedule) === null || _e === void 0 ? void 0 : _e.OneOffDate) || '' }))) : (React.createElement(FormLayout_1.FormRow, { label: "Days" }, daysMap.map((day) => {
108
106
  var _a, _b;
@@ -52,6 +52,7 @@ export declare function getButtonTextColourForArrayandMessageType(adaptableAlert
52
52
  export declare function getButtonTextColourForMessageType(messageType: AdaptableMessageType): string;
53
53
  export declare function getAdaptableToolPanelWidth(): number;
54
54
  export declare function getCSSVariableValue(cssVariable: string): string | undefined;
55
+ export declare function setCSSVariableValue(cssVariable: string, value: string): void;
55
56
  export declare function isBrowserDocumentAvailable(): boolean;
56
57
  export declare const UIHelper: {
57
58
  getHexForName: typeof getHexForName;
@@ -79,6 +80,7 @@ export declare const UIHelper: {
79
80
  getButtonTextColourForArrayandMessageType: typeof getButtonTextColourForArrayandMessageType;
80
81
  getButtonTextColourForMessageType: typeof getButtonTextColourForMessageType;
81
82
  getCSSVariableValue: typeof getCSSVariableValue;
83
+ setCSSVariableValue: typeof setCSSVariableValue;
82
84
  getAdaptableToolPanelWidth: typeof getAdaptableToolPanelWidth;
83
85
  isBrowserDocumentAvailable: typeof isBrowserDocumentAvailable;
84
86
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UIHelper = exports.isBrowserDocumentAvailable = exports.getCSSVariableValue = exports.getAdaptableToolPanelWidth = exports.getButtonTextColourForMessageType = exports.getButtonTextColourForArrayandMessageType = exports.getButtonColourForAdaptableAlerts = exports.getMessageTypeFromAdaptableAlerts = exports.getScheduleDescription = exports.getButtonToneForMessageType = exports.getGlyphForMessageType = exports.getGlyphForStatusColour = exports.getStyleForMessageType = exports.getStyleForStatusColour = exports.getColorByMessageType = exports.getGlyphByMessageType = exports.getButtonToneByMessageType = exports.getMessageTypeByStatusColour = exports.IsNotEmptyStyle = exports.IsEmptyStyle = exports.isValidUserChartContainer = exports.getChartContainer = exports.getModalContainer = exports.getPlaceHolderforDataType = exports.getDescriptionForDataType = exports.getEmptyConfigState = exports.getDefaultColors = exports.getHexForName = exports.ORANGE = exports.LIGHT_RED = exports.RED = exports.DARK_RED = exports.PURPLE = exports.MAGENTA = exports.CYAN = exports.LIGHT_BLUE = exports.BLUE = exports.DARK_BLUE = exports.LIGHT_YELLOW = exports.YELLOW = exports.LIME_GREEN = exports.GREEN = exports.DARK_GREEN = exports.BROWN = exports.GRAY = exports.LIGHT_GRAY = exports.WHITE = exports.BLACK = void 0;
3
+ exports.UIHelper = exports.isBrowserDocumentAvailable = exports.setCSSVariableValue = exports.getCSSVariableValue = exports.getAdaptableToolPanelWidth = exports.getButtonTextColourForMessageType = exports.getButtonTextColourForArrayandMessageType = exports.getButtonColourForAdaptableAlerts = exports.getMessageTypeFromAdaptableAlerts = exports.getScheduleDescription = exports.getButtonToneForMessageType = exports.getGlyphForMessageType = exports.getGlyphForStatusColour = exports.getStyleForMessageType = exports.getStyleForStatusColour = exports.getColorByMessageType = exports.getGlyphByMessageType = exports.getButtonToneByMessageType = exports.getMessageTypeByStatusColour = exports.IsNotEmptyStyle = exports.IsEmptyStyle = exports.isValidUserChartContainer = exports.getChartContainer = exports.getModalContainer = exports.getPlaceHolderforDataType = exports.getDescriptionForDataType = exports.getEmptyConfigState = exports.getDefaultColors = exports.getHexForName = exports.ORANGE = exports.LIGHT_RED = exports.RED = exports.DARK_RED = exports.PURPLE = exports.MAGENTA = exports.CYAN = exports.LIGHT_BLUE = exports.BLUE = exports.DARK_BLUE = exports.LIGHT_YELLOW = exports.YELLOW = exports.LIME_GREEN = exports.GREEN = exports.DARK_GREEN = exports.BROWN = exports.GRAY = exports.LIGHT_GRAY = exports.WHITE = exports.BLACK = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const EditableConfigEntityState_1 = require("./Components/SharedProps/EditableConfigEntityState");
6
6
  const Enums_1 = require("../PredefinedConfig/Common/Enums");
@@ -459,6 +459,14 @@ function getCSSVariableValue(cssVariable) {
459
459
  return getComputedStyle(document.documentElement).getPropertyValue(cssVariable);
460
460
  }
461
461
  exports.getCSSVariableValue = getCSSVariableValue;
462
+ function setCSSVariableValue(cssVariable, value) {
463
+ if (!isBrowserDocumentAvailable()) {
464
+ // possible during static/server-side rendering (should happen only in test cases)
465
+ return undefined;
466
+ }
467
+ document.documentElement.style.setProperty(cssVariable, value);
468
+ }
469
+ exports.setCSSVariableValue = setCSSVariableValue;
462
470
  function isBrowserDocumentAvailable() {
463
471
  return typeof window !== 'undefined' && typeof window.document !== 'undefined';
464
472
  }
@@ -489,6 +497,7 @@ exports.UIHelper = {
489
497
  getButtonTextColourForArrayandMessageType,
490
498
  getButtonTextColourForMessageType,
491
499
  getCSSVariableValue,
500
+ setCSSVariableValue,
492
501
  getAdaptableToolPanelWidth,
493
502
  isBrowserDocumentAvailable,
494
503
  };
@@ -8,7 +8,8 @@ export declare class ActionColumnRenderer implements ICellRendererComp {
8
8
  private eGui;
9
9
  private eventListener;
10
10
  init(params: ICellRendererParams): void;
11
+ render(): void;
11
12
  getGui(): HTMLElement;
12
- refresh(params: any): boolean;
13
+ refresh(params: ICellRendererParams): boolean;
13
14
  destroy(): void;
14
15
  }
@@ -64,14 +64,30 @@ class ActionColumnRenderer {
64
64
  let buttonStyle = adaptableApi.internalApi.getStyleForButton(button, context);
65
65
  let buttonLabel = adaptableApi.internalApi.getLabelForButton(button, context);
66
66
  let buttonTooltip = adaptableApi.internalApi.getTooltipForButton(button, context);
67
- return (React.createElement(SimpleButton_1.default, { key: button.Uuid, variant: (_a = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.variant) !== null && _a !== void 0 ? _a : 'text', disabled: disabled, tooltip: buttonTooltip, tone: (_b = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _b !== void 0 ? _b : 'none', onClick: () => button.onClick(button, context), className: buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.className, accessLevel: 'Full' },
67
+ const handleClick = () => {
68
+ button.onClick(button, context);
69
+ // Timeout to let any updates to be done before re-rendering the component
70
+ setTimeout(() => {
71
+ // when called again it triggers a re-render
72
+ // https:reactjs.org/docs/react-dom.html#render
73
+ doRender();
74
+ }, 16);
75
+ };
76
+ return (React.createElement(SimpleButton_1.default, { key: button.Uuid, variant: (_a = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.variant) !== null && _a !== void 0 ? _a : 'text', disabled: disabled, tooltip: buttonTooltip, tone: (_b = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _b !== void 0 ? _b : 'none', onClick: handleClick, className: buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.className, accessLevel: 'Full' },
68
77
  button.icon ? React.createElement("img", Object.assign({}, iconProps)) : null,
69
78
  buttonLabel));
70
79
  };
71
- react_dom_1.render(renderButton(adaptable.api, context), this.eGui);
72
- // this.eGui.innerHTML = '<button>' + actionCol.ActionColumnButton.Label + '</button>';
80
+ const eGui = this.eGui;
81
+ function doRender() {
82
+ react_dom_1.render(renderButton(adaptable.api, context), eGui);
83
+ }
84
+ this.render = doRender;
85
+ doRender();
73
86
  }
74
87
  }
88
+ // defined on init
89
+ // used to re-render in refresh
90
+ render() { }
75
91
  // gets called once when grid ready to insert the element
76
92
  getGui() {
77
93
  return this.eGui;
@@ -79,6 +95,7 @@ class ActionColumnRenderer {
79
95
  // gets called whenever the user gets the cell to refresh
80
96
  refresh(params) {
81
97
  // return true to tell the grid we refreshed successfully
98
+ this.render();
82
99
  return true;
83
100
  }
84
101
  // gets called when the cell is removed from the grid
@@ -132,6 +132,8 @@ export declare class Adaptable implements IAdaptable {
132
132
  private getReadOnlyCellStyle;
133
133
  private getConditionalStyleCellStyle;
134
134
  private getConditionalStyleCellClass;
135
+ private getEditableCellClass;
136
+ private getReadonlyCellClass;
135
137
  private isQuickSearchActive;
136
138
  getPrimaryKeyValueFromRowNode(rowNode: RowNode): any;
137
139
  private getSortedColumnStateForVisibleColumns;
@@ -143,7 +145,13 @@ export declare class Adaptable implements IAdaptable {
143
145
  setSelectedRows(): SelectedRowInfo | undefined;
144
146
  setValue(dataChangedInfo: DataChangedInfo): void;
145
147
  cancelEdit(): void;
146
- getDistinctValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, skipRowNode?: RowNode): GridCell[];
148
+ getDistinctValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, skipRowNode?: RowNode, permittedValues?: any[]): GridCell[];
149
+ getDistinctFilterValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, filter: string, skipRowNode?: RowNode): Promise<{
150
+ suppressClientSideFilter?: boolean;
151
+ gridCells: GridCell[];
152
+ }>;
153
+ getDistinctCustomSortValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, skipRowNode?: RowNode): Promise<GridCell[]>;
154
+ getDistinctBulkUpdateValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, selectedGridCells: GridCell[], skipRowNode?: RowNode): Promise<GridCell[]>;
147
155
  getColumnValueDisplayValuePairList(columnId: string, visibleRowsOnly: boolean, onlyIncludeIds?: {
148
156
  [key: string]: boolean;
149
157
  }): GridCell[];
@@ -187,10 +195,16 @@ export declare class Adaptable implements IAdaptable {
187
195
  colId: string;
188
196
  editable: boolean;
189
197
  hide: boolean;
198
+ width: number;
199
+ enableValue: boolean;
190
200
  filter: boolean;
191
- sortable: boolean;
201
+ floatingFilter: boolean;
192
202
  resizable: boolean;
193
203
  enableRowGroup: boolean;
204
+ sortable: boolean;
205
+ enablePivot: boolean;
206
+ suppressMenu: boolean;
207
+ suppressMovable: boolean;
194
208
  cellEditor: string | typeof AdaptableNumberEditor | typeof AdaptableDateEditor;
195
209
  type: string[];
196
210
  valueSetter: (params: ValueSetterParams) => any;
@@ -215,8 +229,8 @@ export declare class Adaptable implements IAdaptable {
215
229
  }): void;
216
230
  getDefaultIPPStyle(): IPPStyle;
217
231
  getCurrentIPPStyle(): IPPStyle;
218
- private getadaptableContainerElement;
219
- private getGridContainerElement;
232
+ getAdaptableContainerElement(): HTMLElement | null;
233
+ getGridContainerElement(): HTMLElement | null;
220
234
  private initInternalGridLogic;
221
235
  buildStandaloneColumnHeader(adaptableColumn: AdaptableColumn): AdaptableMenuItem[];
222
236
  prepareGrid(): void;
@@ -278,6 +292,8 @@ export declare class Adaptable implements IAdaptable {
278
292
  setColumnSort(columnSorts: ColumnSort[]): void;
279
293
  clearColumnSort(): void;
280
294
  setDataSource(dataSource: any[]): void;
295
+ getGridData(): any[];
296
+ getFilteredData(): any[];
281
297
  loadDataSource(dataSource: any[]): void;
282
298
  updateRows(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): void;
283
299
  addRows(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): void;