@adaptabletools/adaptable 13.0.0-canary.9 → 13.0.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 (238) hide show
  1. package/base.css +1231 -733
  2. package/base.css.map +1 -0
  3. package/bundle.cjs.js +236 -219
  4. package/index.css +1249 -734
  5. package/index.css.map +1 -0
  6. package/package.json +5 -5
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -0
  10. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +30 -6
  11. package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
  12. package/src/AdaptableOptions/GeneralOptions.d.ts +0 -5
  13. package/src/AdaptableOptions/LayoutOptions.d.ts +2 -1
  14. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  15. package/src/Api/AdaptableApi.d.ts +2 -5
  16. package/src/Api/ColumnApi.d.ts +8 -2
  17. package/src/Api/ConfigApi.d.ts +0 -5
  18. package/src/Api/ExportApi.d.ts +6 -6
  19. package/src/Api/FormatColumnApi.d.ts +46 -73
  20. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  21. package/src/Api/Implementation/AdaptableApiImpl.js +2 -3
  22. package/src/Api/Implementation/AlertApiImpl.js +9 -4
  23. package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
  24. package/src/Api/Implementation/ColumnApiImpl.js +15 -11
  25. package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -2
  26. package/src/Api/Implementation/ConfigApiImpl.js +0 -11
  27. package/src/Api/Implementation/ExportApiImpl.d.ts +4 -4
  28. package/src/Api/Implementation/ExportApiImpl.js +14 -14
  29. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -1
  30. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +24 -22
  31. package/src/Api/Implementation/FormatColumnApiImpl.js +57 -224
  32. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -1
  33. package/src/Api/Implementation/InternalApiImpl.js +4 -3
  34. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -1
  35. package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -15
  36. package/src/Api/Implementation/ScopeApiImpl.d.ts +1 -1
  37. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +25 -0
  38. package/src/Api/Implementation/StyledColumnApiImpl.js +193 -0
  39. package/src/Api/InternalApi.d.ts +1 -1
  40. package/src/Api/QueryLanguageApi.d.ts +3 -2
  41. package/src/Api/ScopeApi.d.ts +1 -1
  42. package/src/Api/StyledColumnApi.d.ts +106 -0
  43. package/src/Api/{ConditionalStyleApi.js → StyledColumnApi.js} +0 -0
  44. package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
  45. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  46. package/src/PredefinedConfig/Common/Types.d.ts +3 -3
  47. package/src/PredefinedConfig/Common/Types.js +1 -0
  48. package/src/PredefinedConfig/FormatColumnState.d.ts +6 -90
  49. package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -0
  50. package/src/PredefinedConfig/StyledColumnState.d.ts +119 -0
  51. package/src/{Strategy/Interface/IConditionalStyleModule.js → PredefinedConfig/StyledColumnState.js} +0 -0
  52. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +4 -4
  53. package/src/Redux/ActionsReducers/PluginsRedux.js +5 -5
  54. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +49 -0
  55. package/src/Redux/ActionsReducers/StyledColumnRedux.js +92 -0
  56. package/src/Redux/DeadRedux.d.ts +6 -0
  57. package/src/Redux/DeadRedux.js +19 -1
  58. package/src/Redux/Store/AdaptableStore.js +9 -8
  59. package/src/Strategy/ConditionalStyleModule.d.ts +2 -27
  60. package/src/Strategy/ConditionalStyleModule.js +0 -219
  61. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  62. package/src/Strategy/FormatColumnModule.js +30 -221
  63. package/src/Strategy/LayoutModule.js +0 -4
  64. package/src/Strategy/StyledColumnModule.d.ts +24 -0
  65. package/src/Strategy/StyledColumnModule.js +165 -0
  66. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +1 -16
  67. package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
  68. package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
  69. package/src/Utilities/Constants/ModuleConstants.js +4 -1
  70. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -3
  71. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
  72. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +1 -4
  73. package/src/Utilities/ObjectFactory.d.ts +5 -2
  74. package/src/Utilities/ObjectFactory.js +14 -6
  75. package/src/Utilities/Services/ModuleService.js +2 -2
  76. package/src/Utilities/Services/QueryLanguageService.js +1 -1
  77. package/src/Utilities/Services/ReportService.js +6 -6
  78. package/src/View/AdaptablePopover/index.js +1 -1
  79. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -14
  80. package/src/View/Alert/Wizard/AlertButtonsEditor.js +24 -1
  81. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
  82. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -3
  83. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -3
  84. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  85. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  86. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  87. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  88. package/src/View/Components/AdaptableObjectRow/index.js +1 -6
  89. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
  90. package/src/View/Components/Buttons/ButtonInfo.js +3 -5
  91. package/src/View/Components/EntityRulesEditor/index.js +8 -17
  92. package/src/View/Components/FilterForm/FilterForm.js +11 -16
  93. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  94. package/src/View/Components/FilterForm/QuickFilterForm.js +7 -13
  95. package/src/View/Components/NewScopeComponent.js +3 -3
  96. package/src/View/Components/Panels/PanelWithButton.js +1 -5
  97. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  98. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
  99. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
  100. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
  101. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
  102. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
  103. package/src/View/Components/RangesComponent.d.ts +8 -1
  104. package/src/View/Components/RangesComponent.js +60 -24
  105. package/src/View/Components/ScopeComponent.js +6 -6
  106. package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -0
  107. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  108. package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
  109. package/src/View/Components/StyleComponent.js +14 -19
  110. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -11
  111. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +21 -9
  112. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  113. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  114. package/src/View/DataSet/DataSetSelector.js +1 -1
  115. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  116. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  117. package/src/View/Export/ExportViewPanel.js +4 -4
  118. package/src/View/Export/ReportExportDropdown.js +1 -1
  119. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
  120. package/src/View/Filter/FilterSummary.d.ts +1 -1
  121. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  122. package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
  123. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +3 -3
  124. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
  125. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  126. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  127. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +27 -27
  128. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -5
  129. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  130. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -6
  131. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -3
  132. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +6 -300
  133. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +3 -10
  134. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
  135. package/src/View/GridInfo/ColumnInfoComponent.js +0 -7
  136. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  137. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  138. package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
  139. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  140. package/src/View/Layout/Wizard/sections/ColumnsSection.js +7 -6
  141. package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
  142. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +1 -1
  143. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
  144. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  145. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  146. package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
  147. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  148. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
  149. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
  150. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  151. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
  152. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
  153. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
  154. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
  155. package/src/View/SmartEdit/SmartEditPopup.js +3 -3
  156. package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
  157. package/src/View/StateManagement/StateManagementPopup.js +4 -4
  158. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +7 -0
  159. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +77 -0
  160. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +9 -0
  161. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +65 -0
  162. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.d.ts +9 -0
  163. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.js +234 -0
  164. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +7 -0
  165. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +59 -0
  166. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
  167. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  168. package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
  169. package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
  170. package/src/View/Theme/ThemePopup.js +1 -1
  171. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -1
  172. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -2
  173. package/src/agGrid/ActionColumnRenderer.d.ts +2 -0
  174. package/src/agGrid/ActionColumnRenderer.js +94 -62
  175. package/src/agGrid/Adaptable.d.ts +10 -11
  176. package/src/agGrid/Adaptable.js +161 -222
  177. package/src/agGrid/CheckboxRenderer.js +1 -1
  178. package/src/agGrid/FilterWrapper.js +60 -16
  179. package/src/agGrid/FloatingFilterWrapper.d.ts +2 -2
  180. package/src/agGrid/FloatingFilterWrapper.js +71 -32
  181. package/src/agGrid/PercentBarRenderer.d.ts +6 -2
  182. package/src/agGrid/PercentBarRenderer.js +19 -17
  183. package/src/agGrid/agGridHelper.d.ts +6 -2
  184. package/src/agGrid/agGridHelper.js +17 -17
  185. package/src/agGrid/createAgStatusPanelComponent.d.ts +1 -1
  186. package/src/agGrid/createAgStatusPanelComponent.js +17 -0
  187. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +4 -1
  188. package/src/agGrid/editors/AdaptableDateEditor/index.js +84 -17
  189. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  190. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -3
  191. package/src/agGrid/editors/AdaptableNumberEditor/index.js +78 -27
  192. package/src/agGrid/weightedAverage.js +19 -11
  193. package/src/components/CheckBox/index.js +7 -2
  194. package/src/components/Datepicker/index.d.ts +1 -1
  195. package/src/components/ExpressionEditor/BaseEditorInput.js +13 -32
  196. package/src/components/ExpressionEditor/index.js +9 -17
  197. package/src/components/FormLayout/index.js +1 -1
  198. package/src/components/StylePreview.js +2 -1
  199. package/src/components/icons/brush.d.ts +3 -0
  200. package/src/components/icons/brush.js +7 -0
  201. package/src/components/icons/index.js +2 -0
  202. package/src/metamodel/adaptable.metamodel.d.ts +113 -57
  203. package/src/metamodel/adaptable.metamodel.js +1 -1
  204. package/src/renderReactRoot.d.ts +2 -0
  205. package/src/renderReactRoot.js +11 -9
  206. package/src/types.d.ts +5 -5
  207. package/themes/dark.css +8 -4
  208. package/themes/dark.css.map +1 -0
  209. package/themes/light.css +4 -1
  210. package/themes/light.css.map +1 -0
  211. package/version.d.ts +1 -1
  212. package/version.js +1 -1
  213. package/src/AdaptableComponents.d.ts +0 -1
  214. package/src/AdaptableComponents.js +0 -5
  215. package/src/Api/ConditionalStyleApi.d.ts +0 -86
  216. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +0 -29
  217. package/src/Api/Implementation/ConditionalStyleApiImpl.js +0 -98
  218. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -49
  219. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -95
  220. package/src/Strategy/Interface/IConditionalStyleModule.d.ts +0 -6
  221. package/src/Strategy/Utilities/getStyleViewItems.d.ts +0 -2
  222. package/src/Strategy/Utilities/getStyleViewItems.js +0 -16
  223. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.d.ts +0 -2
  224. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.js +0 -18
  225. package/src/View/ConditionalStyle/ConditionalStyleSummary.d.ts +0 -25
  226. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +0 -108
  227. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.d.ts +0 -9
  228. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +0 -42
  229. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.d.ts +0 -8
  230. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +0 -43
  231. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +0 -8
  232. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +0 -29
  233. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.d.ts +0 -8
  234. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +0 -23
  235. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +0 -6
  236. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +0 -114
  237. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.d.ts +0 -1
  238. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.js +0 -4
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdaptableToolPanelAgGridComponent = exports.getAdaptableToolPanelAgGridComponent = exports.ConnectedAdaptableToolPanel = void 0;
3
+ exports.getAdaptableToolPanelAgGridComponent = exports.ConnectedAdaptableToolPanel = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const kebabCase_1 = tslib_1.__importDefault(require("lodash/kebabCase"));
@@ -225,19 +225,32 @@ function mapDispatchToProps(dispatch) {
225
225
  };
226
226
  }
227
227
  exports.ConnectedAdaptableToolPanel = (0, react_redux_1.connect)(mapStateToProps, mapDispatchToProps)(AdaptableToolPanelComponent);
228
+ const toolPanelContainerStyle = {
229
+ width: '100%',
230
+ overflow: 'auto',
231
+ };
228
232
  const getAdaptableToolPanelAgGridComponent = (adaptable) => {
233
+ function getContainerId() {
234
+ return 'adaptable-tool-panel_' + adaptable.adaptableOptions.adaptableId;
235
+ }
236
+ if (adaptable.variant === 'react') {
237
+ return () => {
238
+ const content = (0, renderWithAdaptableContext_1.renderWithAdaptableContext)(React.createElement(exports.ConnectedAdaptableToolPanel, { api: adaptable.api, teamSharingActivated: false }), adaptable);
239
+ return (React.createElement("div", { id: getContainerId(), className: 'ag-adaptable-panel', style: toolPanelContainerStyle }, content));
240
+ };
241
+ }
229
242
  return class AdaptableToolPanelAgGridComponent {
230
243
  init(params) {
231
- const agGridApi = params.api;
232
- const Adaptable = agGridApi.__adaptable || adaptable;
233
- const api = Adaptable.api;
244
+ const api = adaptable.api;
234
245
  this.gui = document.createElement('div');
235
- this.gui.id = 'adaptable-tool-panel_' + Adaptable.adaptableOptions.adaptableId;
246
+ this.gui.id = getContainerId();
236
247
  // preserve ag-grid naming convention
237
248
  this.gui.className = 'ag-adaptable-panel';
238
- this.gui.style.width = '100%';
239
- this.gui.style.overflow = 'auto';
240
- this.unmountReactRoot = Adaptable.renderReactRoot((0, renderWithAdaptableContext_1.renderWithAdaptableContext)(React.createElement(exports.ConnectedAdaptableToolPanel, { api: api, teamSharingActivated: false }), Adaptable), this.gui);
249
+ Object.keys(toolPanelContainerStyle).forEach((key) => {
250
+ //@ts-ignore
251
+ this.gui.style[key] = toolPanelContainerStyle[key];
252
+ });
253
+ this.unmountReactRoot = adaptable.renderReactRoot((0, renderWithAdaptableContext_1.renderWithAdaptableContext)(React.createElement(exports.ConnectedAdaptableToolPanel, { api: api, teamSharingActivated: false }), adaptable), this.gui);
241
254
  }
242
255
  getGui() {
243
256
  if (!this.gui) {
@@ -255,4 +268,3 @@ const getAdaptableToolPanelAgGridComponent = (adaptable) => {
255
268
  };
256
269
  };
257
270
  exports.getAdaptableToolPanelAgGridComponent = getAdaptableToolPanelAgGridComponent;
258
- exports.AdaptableToolPanelAgGridComponent = (0, exports.getAdaptableToolPanelAgGridComponent)();
@@ -34,7 +34,7 @@ const CustomToolPanelContent = (props) => {
34
34
  if (hasCustomRenderFn(customToolPanel)) {
35
35
  customToolPanel.render({ visible: false, element, adaptableApi: api });
36
36
  }
37
- else if (hasCustomFrameworkComponent(customToolPanel)) {
37
+ else if (hasCustomFrameworkComponent(customToolPanel) && !api.isDestroyed()) {
38
38
  api.internalApi.destroyFrameworkComponent(element, customToolPanel.frameworkComponent, 'toolPanel');
39
39
  }
40
40
  };
@@ -23,5 +23,5 @@ declare class ToolPanelPopupComponent extends React.Component<ToolPanelPopupComp
23
23
  onShowGridPropertiesChanged(event: React.FormEvent<any>): void;
24
24
  onToolPanelToolPanelsChanged(selectedValues: AdaptableToolPanels): void;
25
25
  }
26
- export declare let ToolPanelPopup: import("react-redux").ConnectedComponent<typeof ToolPanelPopupComponent, import("react-redux").Omit<React.ClassAttributes<ToolPanelPopupComponent> & ToolPanelPopupComponentProps, "key" | "ref" | "onSuspend" | "api" | "modalContainer" | "moduleInfo" | "accessLevel" | "popupParams" | "onClearPopupParams" | "teamSharingActivated" | "onClosePopup" | "onUnSuspend" | "ToolPanelState" | "GridState" | "onToolPanelSetModuleButtons" | "onToolPanelSetToolPanels">>;
26
+ export declare let ToolPanelPopup: import("react-redux").ConnectedComponent<typeof ToolPanelPopupComponent, import("react-redux").Omit<React.ClassAttributes<ToolPanelPopupComponent> & ToolPanelPopupComponentProps, "key" | "ref" | "onSuspend" | "api" | "accessLevel" | "modalContainer" | "moduleInfo" | "onUnSuspend" | "teamSharingActivated" | "ToolPanelState" | "popupParams" | "onClearPopupParams" | "onClosePopup" | "GridState" | "onToolPanelSetModuleButtons" | "onToolPanelSetToolPanels">>;
27
27
  export {};
@@ -14,6 +14,6 @@ const DataSetSelector = ({ data }) => {
14
14
  const handleToggle = React.useCallback(() => {
15
15
  adaptable.api.dataSetApi.setDataSet(data.name);
16
16
  }, [isSelected]);
17
- return React.createElement(Radio_1.default, { id: data.name, disabled: isDisabled, checked: isSelected, onClick: handleToggle });
17
+ return (React.createElement(Radio_1.default, { "data-name": "select-dataset-button", "data-value": data.name, disabled: isDisabled, checked: isSelected, onClick: handleToggle }));
18
18
  };
19
19
  exports.DataSetSelector = DataSetSelector;
@@ -15,5 +15,5 @@ declare class DataSetViewPanelComponent extends React.Component<DataSetViewPanel
15
15
  render(): JSX.Element;
16
16
  onSelectedDataSetChanged(dataSetName: string): void;
17
17
  }
18
- export declare let DataSetViewPanelControl: import("react-redux").ConnectedComponent<typeof DataSetViewPanelComponent, import("react-redux").Omit<React.ClassAttributes<DataSetViewPanelComponent> & DataSetViewPanelComponentProps, "api" | "moduleInfo" | "accessLevel" | "viewType" | "CurrentDataSetName" | "onSelectDataSet">>;
18
+ export declare let DataSetViewPanelControl: import("react-redux").ConnectedComponent<typeof DataSetViewPanelComponent, import("react-redux").Omit<React.ClassAttributes<DataSetViewPanelComponent> & DataSetViewPanelComponentProps, "api" | "accessLevel" | "moduleInfo" | "viewType" | "CurrentDataSetName" | "onSelectDataSet">>;
19
19
  export {};
@@ -25,5 +25,5 @@ declare class ExportViewPanelComponent extends React.Component<ExportViewPanelCo
25
25
  private isCustomDestination;
26
26
  private onNewReportSchedule;
27
27
  }
28
- export declare let ExportViewPanelControl: import("react-redux").ConnectedComponent<typeof ExportViewPanelComponent, import("react-redux").Omit<React.ClassAttributes<ExportViewPanelComponent> & ExportViewPanelComponentProps, "api" | "Columns" | "CurrentReport" | "CurrentDestination" | "moduleInfo" | "accessLevel" | "viewType" | "onApplyExport" | "onSelectReport" | "onSelectDestination" | "onNewReport" | "onEditReport" | "onNewReportSchedule" | "UserReports">>;
28
+ export declare let ExportViewPanelControl: import("react-redux").ConnectedComponent<typeof ExportViewPanelComponent, import("react-redux").Omit<React.ClassAttributes<ExportViewPanelComponent> & ExportViewPanelComponentProps, "api" | "accessLevel" | "moduleInfo" | "CurrentReport" | "CurrentDestination" | "Columns" | "viewType" | "onApplyExport" | "onSelectReport" | "onSelectDestination" | "onNewReport" | "onEditReport" | "onNewReportSchedule" | "UserReports">>;
29
29
  export {};
@@ -84,7 +84,7 @@ class ExportViewPanelComponent extends React.Component {
84
84
  React.createElement(DropdownButton_1.default, { disabled: currentReportId === constants_1.SELECT_REPORT_STRING, width: "100%", fontSize: "small", items: destinationItems, columns: ['label'], className: `ab-${elementType}__Export__export`, onClear: () => this.onSelectedDestinationChanged(null), showClearButton: !!currentDestination, variant: "outlined", marginRight: 2 }, currentDestinationId)),
85
85
  React.createElement(rebass_1.Flex, { className: (0, join_1.default)(accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__Export__controls`), style: { width: '100%' } },
86
86
  React.createElement(ButtonExport_1.ButtonExport, { onClick: () => onApplyExport(), tooltip: "Export Report", className: `ab-${elementType}__Export__export`, disabled: currentReport == null || currentDestination == null }),
87
- React.createElement(ButtonEdit_1.ButtonEdit, { onClick: () => this.props.onEditReport(this.props.moduleInfo.Popup), tooltip: "Edit Report", className: `ab-${elementType}__Export__edit`, disabled: currentReport == null || this.props.api.exportApi.isCustomReport(currentReport), accessLevel: accessLevel }),
87
+ React.createElement(ButtonEdit_1.ButtonEdit, { onClick: () => this.props.onEditReport(this.props.moduleInfo.Popup), tooltip: "Edit Report", className: `ab-${elementType}__Export__edit`, disabled: currentReport == null || this.props.api.exportApi.isServerReport(currentReport), accessLevel: accessLevel }),
88
88
  React.createElement(ButtonNew_1.ButtonNew, { variant: "text", className: `ab-${elementType}__Export__new`, tone: "neutral", children: null, onClick: () => this.props.onNewReport(this.props.moduleInfo.Popup), tooltip: "Create New Report", accessLevel: accessLevel }),
89
89
  React.createElement(ButtonDelete_1.ButtonDelete, { tooltip: "Delete Report", className: `ab-${elementType}__Export__delete`, disabled: currentReport == null, ConfirmAction: ExportRedux.ReportDelete(currentReport), ConfirmationMsg: deleteMessage, ConfirmationTitle: 'Delete Report', accessLevel: accessLevel }),
90
90
  this.props.api.internalApi
@@ -102,9 +102,9 @@ class ExportViewPanelComponent extends React.Component {
102
102
  ...this.props.api.exportApi.getAvailableSystemReports(),
103
103
  ...this.props.UserReports.map((r) => r.Name),
104
104
  ];
105
- const customReports = this.props.api.exportApi.getAllCustomReports();
106
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(customReports)) {
107
- reportNames.push(...customReports.map((r) => r.name));
105
+ const serverReports = this.props.api.exportApi.getAllServerReports();
106
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(serverReports)) {
107
+ reportNames.push(...serverReports.map((r) => r.name));
108
108
  }
109
109
  return reportNames;
110
110
  }
@@ -32,7 +32,7 @@ const ReportExportDropdown = (props) => {
32
32
  if ((report === null || report === void 0 ? void 0 : report.Name) === GeneralConstants_1.VISUAL_DATA_REPORT) {
33
33
  destinationItems.forEach((item) => (item.disabled = item.label === Enums_1.ExportDestination.Excel ? false : true));
34
34
  }
35
- return (React.createElement(DropdownButton_1.default, { columns: ['label'], tooltip: "Export Report", variant: "text", items: destinationItems },
35
+ return (React.createElement(DropdownButton_1.default, { "data-name": "export-dropdown", columns: ['label'], tooltip: "Export Report", variant: "text", items: destinationItems },
36
36
  React.createElement(icons_1.Icon, { name: "export" })));
37
37
  };
38
38
  exports.ReportExportDropdown = ReportExportDropdown;
@@ -33,16 +33,15 @@ const ReportNameWizardSection = (props) => {
33
33
  const { api, data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
34
34
  const validCheck = (0, exports.isValidReportName)(data, api);
35
35
  const ErrorMessage = validCheck === true ? null : validCheck;
36
- return (React.createElement(React.Fragment, null,
37
- React.createElement(rebass_1.Box, null,
38
- React.createElement(FormLayout_1.default, { columns: [1, 2] },
39
- React.createElement(FormLayout_1.FormRow, null,
40
- React.createElement(rebass_1.Text, { marginRight: 2 }, "Name:"),
41
- React.createElement(Input_1.default, { width: "100%", type: "text", autoFocus: true, placeholder: "Name", value: data.Name, onChange: (e) => {
42
- props.onChange(Object.assign(Object.assign({}, data), { Name: e.target.value }));
43
- } })),
44
- React.createElement(FormLayout_1.FormRow, null,
45
- React.createElement(React.Fragment, null),
46
- ErrorMessage ? React.createElement(ErrorBox_1.default, null, ErrorMessage) : null)))));
36
+ return (React.createElement(rebass_1.Box, null,
37
+ React.createElement(FormLayout_1.default, { columns: [1, 2] },
38
+ React.createElement(FormLayout_1.FormRow, null,
39
+ React.createElement(rebass_1.Text, { marginRight: 2 }, "Name:"),
40
+ React.createElement(Input_1.default, { "data-name": "export-name", width: "100%", type: "text", autoFocus: true, placeholder: "Name", value: data.Name, onChange: (e) => {
41
+ props.onChange(Object.assign(Object.assign({}, data), { Name: e.target.value }));
42
+ } })),
43
+ React.createElement(FormLayout_1.FormRow, null,
44
+ React.createElement(React.Fragment, null),
45
+ ErrorMessage ? React.createElement(ErrorBox_1.default, null, ErrorMessage) : null))));
47
46
  };
48
47
  exports.ReportNameWizardSection = ReportNameWizardSection;
@@ -12,4 +12,4 @@ export declare class FilterSummaryComponent extends React.Component<FilterSummar
12
12
  render(): any;
13
13
  getDescription(columnFilter: ColumnFilter): string;
14
14
  }
15
- export declare let FilterSummary: import("react-redux").ConnectedComponent<typeof FilterSummaryComponent, import("react-redux").Omit<React.ClassAttributes<FilterSummaryComponent> & FilterSummaryProps, "ColumnFilters" | "onClearPopupParams" | "onShare" | "onClearFilter">>;
15
+ export declare let FilterSummary: import("react-redux").ConnectedComponent<typeof FilterSummaryComponent, import("react-redux").Omit<React.ClassAttributes<FilterSummaryComponent> & FilterSummaryProps, "ColumnFilters" | "onShare" | "onClearPopupParams" | "onClearFilter">>;
@@ -18,5 +18,5 @@ declare class FilterViewPanelComponent extends React.Component<FilterViewPanelCo
18
18
  private onClearFilters;
19
19
  private onClearColumnFilter;
20
20
  }
21
- export declare const FilterViewPanelControl: import("react-redux").ConnectedComponent<typeof FilterViewPanelComponent, import("react-redux").Omit<React.ClassAttributes<FilterViewPanelComponent> & FilterViewPanelComponentProps, "api" | "Columns" | "ColumnFilters" | "moduleInfo" | "accessLevel" | "IsQuickFilterVisible" | "viewType" | "onHideQuickFilterBar" | "onShowQuickFilterBar" | "Entitlements">>;
21
+ export declare const FilterViewPanelControl: import("react-redux").ConnectedComponent<typeof FilterViewPanelComponent, import("react-redux").Omit<React.ClassAttributes<FilterViewPanelComponent> & FilterViewPanelComponentProps, "api" | "accessLevel" | "moduleInfo" | "Columns" | "ColumnFilters" | "IsQuickFilterVisible" | "viewType" | "onHideQuickFilterBar" | "onShowQuickFilterBar" | "Entitlements">>;
22
22
  export {};
@@ -8,13 +8,13 @@ const StylePreview_1 = require("../../components/StylePreview");
8
8
  const FlashingCellStyle = (props) => {
9
9
  const { data } = props, boxProps = tslib_1.__rest(props, ["data"]);
10
10
  return (react_1.default.createElement(rebass_1.Flex, Object.assign({ flexDirection: "row" }, boxProps),
11
- react_1.default.createElement(StylePreview_1.StylePreview, { mr: 1, flex: 1, styleObject: props.data.UpChangeStyle },
11
+ react_1.default.createElement(StylePreview_1.StylePreview, { "data-value": "up-style", mr: 1, flex: 1, styleObject: props.data.UpChangeStyle },
12
12
  "Up ",
13
13
  !props.data.UpChangeStyle ? ' - no style' : ''),
14
- react_1.default.createElement(StylePreview_1.StylePreview, { mr: 1, flex: 1, styleObject: props.data.DownChangeStyle },
14
+ react_1.default.createElement(StylePreview_1.StylePreview, { "data-value": "down-style", mr: 1, flex: 1, styleObject: props.data.DownChangeStyle },
15
15
  "Down",
16
16
  !props.data.DownChangeStyle ? ' - no style' : ''),
17
- react_1.default.createElement(StylePreview_1.StylePreview, { flex: 1, styleObject: props.data.NeutralChangeStyle },
17
+ react_1.default.createElement(StylePreview_1.StylePreview, { "data-value": "neutral-style", flex: 1, styleObject: props.data.NeutralChangeStyle },
18
18
  "Neutral ",
19
19
  !props.data.NeutralChangeStyle ? ' - no style' : '')));
20
20
  };
@@ -36,15 +36,15 @@ const FlashingAlertRulesWizardSection = (props) => {
36
36
  useBooleanQuery: (React.createElement(React.Fragment, null,
37
37
  "Use an BooleanQuery if ",
38
38
  React.createElement("i", null, "Scope"),
39
- " is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression")),
39
+ " is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression")),
40
40
  useObservableQuery: (React.createElement(React.Fragment, null,
41
41
  "Use an ObservableQuery if ",
42
42
  React.createElement("i", null, "Scope"),
43
- " is 'Whole Row' - so any data change may be evaluated in a complex ObservableExpression")),
43
+ " is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression")),
44
44
  useAggregationQuery: (React.createElement(React.Fragment, null,
45
45
  "Use an AggregatedBooleanQuery if ",
46
46
  React.createElement("i", null, "Scope"),
47
- " is 'Whole Row' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
47
+ " is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
48
48
  } }));
49
49
  };
50
50
  exports.FlashingAlertRulesWizardSection = FlashingAlertRulesWizardSection;
@@ -64,23 +64,23 @@ const FlashingAlertSettingsWizardSection = (props) => {
64
64
  React.createElement(Tabs_1.Tabs.Content, null,
65
65
  React.createElement(FormLayout_1.default, null,
66
66
  React.createElement(FormLayout_1.FormRow, { label: "Duration Type" },
67
- React.createElement(Radio_1.default, { mr: 3, checked: duration == 'always', tabIndex: -1, onChange: () => handleTypeChange('always') }, "Always"),
68
- React.createElement(Radio_1.default, { checked: duration !== 'always', tabIndex: -1, onChange: () => handleTypeChange('number') }, "Limited (ms)")),
67
+ React.createElement(Radio_1.default, { "data-name": "duration-type-always", mr: 3, checked: duration == 'always', tabIndex: -1, onChange: () => handleTypeChange('always') }, "Always"),
68
+ React.createElement(Radio_1.default, { "data-name": "duration-type-number", checked: duration !== 'always', tabIndex: -1, onChange: () => handleTypeChange('number') }, "Limited (ms)")),
69
69
  React.createElement(FormLayout_1.FormRow, { label: "" },
70
70
  duration !== 'always' && (React.createElement(rebass_1.Flex, { flexDirection: "row", alignItems: "baseline" },
71
71
  React.createElement(rebass_1.Text, { fontSize: 2, mr: 2 }, "After"),
72
- React.createElement(Input_1.default, { readOnly: props.readOnly, type: "text", name: "value", ref: inputRef, mt: 2, mr: 1, value: duration, onChange: (event) => {
72
+ React.createElement(Input_1.default, { "data-name": "duration-input", readOnly: props.readOnly, type: "text", name: "value", ref: inputRef, mt: 2, mr: 1, value: duration, onChange: (event) => {
73
73
  const value = event.target.value;
74
74
  setDuration(isNaN(Number(value)) ? 500 : Number(value));
75
75
  } }),
76
76
  React.createElement(rebass_1.Text, { fontSize: 2 }, "milliseconds"))),
77
77
  duration === 'always' && (React.createElement(rebass_1.Text, { height: 43, fontSize: 3 }, "Persists the flashing style indeterminately - can be removed manually"))),
78
78
  React.createElement(FormLayout_1.FormRow, { label: "Flash Target" },
79
- React.createElement(CheckBox_1.CheckBox, { onChange: (checked) => handleTargetChange('cell', checked), mr: 3, checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === 'cell' ||
79
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "flashing-target", onChange: (checked) => handleTargetChange('cell', checked), mr: 3, checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === 'cell' ||
80
80
  ((_c = (_b = flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === null || _b === void 0 ? void 0 : _b.includes) === null || _c === void 0 ? void 0 : _c.call(_b, 'cell')), tabIndex: -1 }, "Cell"),
81
- React.createElement(CheckBox_1.CheckBox, { mr: 3, onChange: (checked) => handleTargetChange('row', checked), checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === 'row' ||
81
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "flashing-target-row", mr: 3, onChange: (checked) => handleTargetChange('row', checked), checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === 'row' ||
82
82
  ((_e = (_d = flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === null || _d === void 0 ? void 0 : _d.includes) === null || _e === void 0 ? void 0 : _e.call(_d, 'row')), tabIndex: -1 }, "Row"),
83
- React.createElement(CheckBox_1.CheckBox, { onChange: (checked) => handleTargetChange('aggFuncCell', checked), checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === 'aggFuncCell' ||
83
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "flashing-target-aggFuncCell", onChange: (checked) => handleTargetChange('aggFuncCell', checked), checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === 'aggFuncCell' ||
84
84
  ((_g = (_f = flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) === null || _f === void 0 ? void 0 : _f.includes) === null || _g === void 0 ? void 0 : _g.call(_f, 'aggFuncCell')), tabIndex: -1 }, "Aggregated Function Cell")))))));
85
85
  };
86
86
  exports.FlashingAlertSettingsWizardSection = FlashingAlertSettingsWizardSection;
@@ -44,9 +44,6 @@ const FlashingCellWizard = (props) => {
44
44
  UpChangeStyle: (0, react_1.useCallback)(updateProperty('UpChangeStyle'), []),
45
45
  NeutralChangeStyle: (0, react_1.useCallback)(updateProperty('NeutralChangeStyle'), []),
46
46
  };
47
- const flashStyleComponent = (React.createElement(FlashingCellStyleWizardSection_1.FlashingAlertStyleWizardSection, { onStyleChange: (styleName, style) => {
48
- updateStyles[styleName](style);
49
- } }));
50
47
  const dispatch = (0, react_redux_1.useDispatch)();
51
48
  const handleFinish = () => {
52
49
  if (props.data) {
@@ -81,7 +78,10 @@ const FlashingCellWizard = (props) => {
81
78
  },
82
79
  {
83
80
  details: 'Choose the Flashing Styles',
84
- render: () => React.createElement(rebass_1.Box, { padding: 2 }, flashStyleComponent),
81
+ render: () => (React.createElement(rebass_1.Box, { padding: 2 },
82
+ React.createElement(FlashingCellStyleWizardSection_1.FlashingAlertStyleWizardSection, { onStyleChange: (styleName, style) => {
83
+ updateStyles[styleName](style);
84
+ } }))),
85
85
  renderSummary: FlashingCellStyleWizardSection_1.renderFlashingAlertStyleSummary,
86
86
  title: 'Flash Styles',
87
87
  },
@@ -35,7 +35,7 @@ class FormatColumnSummaryComponent extends React.Component {
35
35
  this.state = UIHelper_1.UIHelper.getEmptyConfigState();
36
36
  }
37
37
  render() {
38
- let formatColumn = this.props.api.formatColumnApi.getFormatColumnForColumn(this.props.summarisedColumn);
38
+ const [formatColumn] = this.props.api.formatColumnApi.getFormatColumnsForColumn(this.props.summarisedColumn);
39
39
  let noFormatColumn = formatColumn == null;
40
40
  let formatColumnRow;
41
41
  if (noFormatColumn) {
@@ -100,7 +100,7 @@ exports.getFormatColumnFormatSummaryValue = getFormatColumnFormatSummaryValue;
100
100
  const renderCustomFormatter = (data, customFormatter, setFormatOption) => {
101
101
  var _a, _b, _c;
102
102
  return (React.createElement(FormLayout_1.FormRow, { key: customFormatter.id, label: (_a = customFormatter.label) !== null && _a !== void 0 ? _a : customFormatter.id },
103
- React.createElement(CheckBox_1.CheckBox, { checked: (_c = (_b = data.DisplayFormat.Options.CustomDisplayFormats) === null || _b === void 0 ? void 0 : _b.some) === null || _c === void 0 ? void 0 : _c.call(_b, (item) => item === customFormatter.id), onChange: (checked) => {
103
+ React.createElement(CheckBox_1.CheckBox, { "data-name": customFormatter.id, checked: (_c = (_b = data.DisplayFormat.Options.CustomDisplayFormats) === null || _b === void 0 ? void 0 : _b.some) === null || _c === void 0 ? void 0 : _c.call(_b, (item) => item === customFormatter.id), onChange: (checked) => {
104
104
  var _a, _b, _c;
105
105
  let newCustomFormats = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.DisplayFormat) === null || _a === void 0 ? void 0 : _a.Options) === null || _b === void 0 ? void 0 : _b.CustomDisplayFormats) !== null && _c !== void 0 ? _c : [];
106
106
  if (checked) {
@@ -150,7 +150,7 @@ const getFormatDisplayTypeForScope = (scope, api) => {
150
150
  return undefined;
151
151
  };
152
152
  exports.getFormatDisplayTypeForScope = getFormatDisplayTypeForScope;
153
- const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatters, formatColumnApi) => {
153
+ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatters) => {
154
154
  if (data.DisplayFormat.Formatter !== 'DateFormatter') {
155
155
  return null;
156
156
  }
@@ -165,7 +165,7 @@ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatte
165
165
  ")."),
166
166
  React.createElement(FormLayout_1.default, null,
167
167
  React.createElement(FormLayout_1.FormRow, { label: "Pattern" },
168
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Pattern, onChange: (e) => setFormatOption('Pattern', e.currentTarget.value), mr: 2 }),
168
+ React.createElement(Input_1.default, { "data-name": "patern", value: data.DisplayFormat.Options.Pattern, onChange: (e) => setFormatOption('Pattern', e.currentTarget.value), mr: 2 }),
169
169
  React.createElement("span", null, FormatHelper_1.default.DateFormatter(new Date(), data.DisplayFormat.Options)))))),
170
170
  scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
171
171
  React.createElement(Tabs_1.Tabs.Tab, null, "Custom Formats"),
@@ -186,7 +186,7 @@ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatte
186
186
  Size: 1,
187
187
  },
188
188
  {
189
- Content: (React.createElement(SimpleButton_1.default, { onClick: () => setFormatOption('Pattern', Pattern) }, "Apply")),
189
+ Content: (React.createElement(SimpleButton_1.default, { "data-name": "apply-format-pattern", "data-value": Pattern, onClick: () => setFormatOption('Pattern', Pattern) }, "Apply")),
190
190
  Size: 1,
191
191
  },
192
192
  ] })))))));
@@ -250,16 +250,16 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
250
250
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
251
251
  React.createElement(FormLayout_1.default, { mr: 3 },
252
252
  React.createElement(FormLayout_1.FormRow, { label: "Fraction Separator" },
253
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.FractionSeparator, onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })),
253
+ React.createElement(Input_1.default, { "data-name": "fraction-separator", value: data.DisplayFormat.Options.FractionSeparator, onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })),
254
254
  React.createElement(FormLayout_1.FormRow, { label: "Integer Separator" },
255
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.IntegerSeparator, onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
255
+ React.createElement(Input_1.default, { "data-name": "integer-separator", value: data.DisplayFormat.Options.IntegerSeparator, onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
256
256
  React.createElement(FormLayout_1.FormRow, { label: "Prefix" },
257
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
257
+ React.createElement(Input_1.default, { "data-name": "prefix", value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
258
258
  React.createElement(FormLayout_1.FormRow, { label: "Suffix" },
259
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) }))),
259
+ React.createElement(Input_1.default, { "data-name": "suffix", value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) }))),
260
260
  React.createElement(FormLayout_1.default, null,
261
261
  React.createElement(FormLayout_1.FormRow, { label: "Fraction Digits" },
262
- React.createElement(Input_1.default, { type: "number", min: "0",
262
+ React.createElement(Input_1.default, { "data-name": "fraction-digits", type: "number", min: "0",
263
263
  // max="20"
264
264
  value: typeof data.DisplayFormat.Options.FractionDigits === 'number'
265
265
  ? data.DisplayFormat.Options.FractionDigits
@@ -267,13 +267,13 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
267
267
  ? (0, clamp_1.default)(Number(e.currentTarget.value), 0, 20)
268
268
  : undefined) })),
269
269
  React.createElement(FormLayout_1.FormRow, { label: "Integer Digits" },
270
- React.createElement(Input_1.default, { type: "number", min: "0", value: data.DisplayFormat.Options.IntegerDigits, onChange: (e) => setFormatOption('IntegerDigits', Number(e.currentTarget.value)) })),
270
+ React.createElement(Input_1.default, { "data-name": "integer-digits", type: "number", min: "0", value: data.DisplayFormat.Options.IntegerDigits, onChange: (e) => setFormatOption('IntegerDigits', Number(e.currentTarget.value)) })),
271
271
  React.createElement(FormLayout_1.FormRow, { label: "Multiplier" },
272
- React.createElement(Input_1.default, { type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
272
+ React.createElement(Input_1.default, { "data-name": "multiplier", type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
273
273
  React.createElement(FormLayout_1.FormRow, { label: "Parentheses" },
274
- React.createElement(CheckBox_1.CheckBox, { checked: data.DisplayFormat.Options.Parentheses, onChange: (checked) => setFormatOption('Parentheses', checked) })),
274
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "parentheses-checkbox", checked: data.DisplayFormat.Options.Parentheses, onChange: (checked) => setFormatOption('Parentheses', checked) })),
275
275
  React.createElement(FormLayout_1.FormRow, { label: "Truncate" },
276
- React.createElement(CheckBox_1.CheckBox, { checked: data.DisplayFormat.Options.Truncate, onChange: (checked) => setFormatOption('Truncate', checked) })))))),
276
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "truncate-checkbox", checked: data.DisplayFormat.Options.Truncate, onChange: (checked) => setFormatOption('Truncate', checked) })))))),
277
277
  scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
278
278
  React.createElement(Tabs_1.Tabs.Tab, null, "Custom Formats"),
279
279
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -286,11 +286,11 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
286
286
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
287
287
  React.createElement(FormLayout_1.default, { margin: 2 },
288
288
  React.createElement(FormLayout_1.FormRow, { label: "Show As:" },
289
- React.createElement(Radio_1.default, { marginLeft: 2, checked: IS_PERCENT, onChange: () => setPercentPreset() }, "Percentage"),
290
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_THOUSAND, onChange: () => setDivideThousandPreset() }, "K (Thousand)"),
291
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_MILLION, onChange: () => setDivideMillionPreset() }, "M (Million)"),
292
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_DOLLAR, onChange: () => setDollarPreset() }, "Dollar"),
293
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_STERLING, onChange: () => setSterlingPreset() }, "Sterling")))))),
289
+ React.createElement(Radio_1.default, { "data-name": "preset-percentage", marginLeft: 2, checked: IS_PERCENT, onChange: () => setPercentPreset() }, "Percentage"),
290
+ React.createElement(Radio_1.default, { "data-name": "preset-thousand", marginLeft: 3, checked: IS_THOUSAND, onChange: () => setDivideThousandPreset() }, "K (Thousand)"),
291
+ React.createElement(Radio_1.default, { "data-name": "preset-million", marginLeft: 3, checked: IS_MILLION, onChange: () => setDivideMillionPreset() }, "M (Million)"),
292
+ React.createElement(Radio_1.default, { "data-name": "preset-dollar", marginLeft: 3, checked: IS_DOLLAR, onChange: () => setDollarPreset() }, "Dollar"),
293
+ React.createElement(Radio_1.default, { "data-name": "preset-sterling", marginLeft: 3, checked: IS_STERLING, onChange: () => setSterlingPreset() }, "Sterling")))))),
294
294
  React.createElement(Tabs_1.Tabs, { marginTop: 2, autoFocus: false, keyboardNavigation: false },
295
295
  React.createElement(Tabs_1.Tabs.Tab, null, "Examples"),
296
296
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -331,15 +331,15 @@ const renderStringFormat = (data, _onChange, setFormatOption, scopedCustomFormat
331
331
  React.createElement(rebass_1.Flex, { flexDirection: "column" },
332
332
  React.createElement(FormLayout_1.default, { mr: 3 },
333
333
  React.createElement(FormLayout_1.FormRow, { label: "Case: " },
334
- React.createElement(Radio_1.default, { checked: data.DisplayFormat.Options.Case == 'Lower', onChange: (checked) => setFormatOption('Case', 'Lower') }, "Lower"),
335
- React.createElement(Radio_1.default, { marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Upper', onChange: (checked) => setFormatOption('Case', 'Upper') }, "Upper"),
336
- React.createElement(Radio_1.default, { marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Sentence', onChange: (checked) => setFormatOption('Case', 'Sentence') }, "Sentence"),
337
- React.createElement(Radio_1.default, { marginLeft: 2, checked: data.DisplayFormat.Options.Case == undefined, onChange: (checked) => setFormatOption('Case', undefined) }, "None"),
338
- React.createElement(CheckBox_1.CheckBox, { marginLeft: 5, checked: data.DisplayFormat.Options.Trim, onChange: (checked) => setFormatOption('Trim', checked) }, "Trim")),
334
+ React.createElement(Radio_1.default, { "data-name": "case-lower", checked: data.DisplayFormat.Options.Case == 'Lower', onChange: (checked) => setFormatOption('Case', 'Lower') }, "Lower"),
335
+ React.createElement(Radio_1.default, { "data-name": "case-upper", marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Upper', onChange: (checked) => setFormatOption('Case', 'Upper') }, "Upper"),
336
+ React.createElement(Radio_1.default, { "data-name": "case-sentence", marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Sentence', onChange: (checked) => setFormatOption('Case', 'Sentence') }, "Sentence"),
337
+ React.createElement(Radio_1.default, { "data-name": "case-none", marginLeft: 2, checked: data.DisplayFormat.Options.Case == undefined, onChange: (checked) => setFormatOption('Case', undefined) }, "None"),
338
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "trim-checkbox", marginLeft: 5, checked: data.DisplayFormat.Options.Trim, onChange: (checked) => setFormatOption('Trim', checked) }, "Trim")),
339
339
  React.createElement(FormLayout_1.FormRow, { label: "Prefix" },
340
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
340
+ React.createElement(Input_1.default, { "data-name": "prefix", value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
341
341
  React.createElement(FormLayout_1.FormRow, { label: "Suffix" },
342
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })))))),
342
+ React.createElement(Input_1.default, { "data-name": "suffix", value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })))))),
343
343
  scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
344
344
  React.createElement(Tabs_1.Tabs.Tab, null, "Custom Formats"),
345
345
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -383,13 +383,13 @@ const FormatColumnFormatWizardSection = (props) => {
383
383
  return renderNumberFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
384
384
  }
385
385
  if (Type === 'DateFormatter') {
386
- return renderDateFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
386
+ return renderDateFormat(data, update, setFormatOption, customScopedFormatters);
387
387
  }
388
388
  if (Type === 'StringFormatter') {
389
389
  return renderStringFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
390
390
  }
391
391
  return (React.createElement(HelpBlock_1.default, { margin: 3 },
392
- "Setting a Display Format is only available if ",
392
+ "Setting a Display Format is only possible if ",
393
393
  React.createElement("b", null, "all"),
394
394
  " the columns in Scope are Numeric, String or Date."));
395
395
  };
@@ -7,23 +7,22 @@ const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
7
7
  const EntityRulesEditor_1 = require("../../Components/EntityRulesEditor");
8
8
  function FormatColumnRuleWizardSection(props) {
9
9
  const { data, api, moduleInfo } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
10
- const hasIncompatibleStyle = Boolean(data.ColumnStyle);
11
10
  return (React.createElement(EntityRulesEditor_1.EntityRulesEditor, { module: moduleInfo.ModuleName, defaultPredicateId: props.defaultPredicateId,
12
11
  // TODO see what is this
13
- predicateDefs: api.formatColumnApi.getFormatColumnDefsForScope(data.Scope), showNoRule: true, showBoolean: !hasIncompatibleStyle, showAggregation: false, showObservable: false, showPredicate: !hasIncompatibleStyle && !api.scopeApi.scopeIsAll(data.Scope), data: data, onChange: (formatColumn) => props.onChange(formatColumn), descriptions: {
12
+ predicateDefs: api.formatColumnApi.getFormatColumnDefsForScope(data.Scope), showNoRule: true, showBoolean: true, showAggregation: false, showObservable: false, showPredicate: !api.scopeApi.scopeIsAll(data.Scope), data: data, onChange: (formatColumn) => props.onChange(formatColumn), descriptions: {
14
13
  selectPredicate: 'Select a Format Column Rule - to be applied when data changes',
15
14
  useBooleanQuery: (React.createElement(React.Fragment, null,
16
15
  "Use an BooleanQuery if ",
17
16
  React.createElement("i", null, "Scope"),
18
- " is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression")),
17
+ " is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression")),
19
18
  useObservableQuery: (React.createElement(React.Fragment, null,
20
19
  "Use an ObservableQuery if ",
21
20
  React.createElement("i", null, "Scope"),
22
- " is 'Whole Row' - so any data change may be evaluated in a complex ObservableExpression")),
21
+ " is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression")),
23
22
  useAggregationQuery: (React.createElement(React.Fragment, null,
24
23
  "Use an AggregatedBooleanQuery if ",
25
24
  React.createElement("i", null, "Scope"),
26
- " is 'Whole Row' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
25
+ " is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
27
26
  } }));
28
27
  }
29
28
  exports.FormatColumnRuleWizardSection = FormatColumnRuleWizardSection;
@@ -17,7 +17,7 @@ exports.renderFormatColumnScopeSummary = renderFormatColumnScopeSummary;
17
17
  const FormatColumnScopeWizardSection = (props) => {
18
18
  const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
19
19
  return (React.createElement(NewScopeComponent_1.NewScopeComponent, { descriptions: {
20
- rowScope: 'Apply a style to an entire row',
20
+ rowScope: 'Format all columns in the row',
21
21
  columnScope: 'Select columns to format',
22
22
  }, scope: data.Scope, updateScope: (Scope) => {
23
23
  var _a;
@@ -40,12 +40,8 @@ const FormatColumnSettingsWizardSection = (props) => {
40
40
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
41
41
  React.createElement(FormLayout_1.default, null,
42
42
  React.createElement(FormLayout_1.FormRow, { label: "Cell Alignment" },
43
- React.createElement(DropdownButton_1.default, { style: {
43
+ React.createElement(DropdownButton_1.default, { "data-name": "cell-alignment-dropdown", style: {
44
44
  minWidth: '15rem',
45
- whiteSpace: 'nowrap',
46
- overflow: 'hidden',
47
- textOverflow: 'ellipsis',
48
- maxWidth: 'inherit',
49
45
  }, placeholder: "Select Option", showClearButton: !!data.CellAlignment, onClear: () => onCellAlignmentSelectChanged(null), items: alignmentOptions.map((item) => ({
50
46
  value: item.value,
51
47
  label: item.label,
@@ -53,6 +49,6 @@ const FormatColumnSettingsWizardSection = (props) => {
53
49
  })), columns: ['label'] }, data.CellAlignment ? data.CellAlignment : 'Select Option')),
54
50
  React.createElement(FormLayout_1.FormRow, { label: "Include Grouped Rows:" },
55
51
  React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
56
- React.createElement(CheckBox_1.CheckBox, { checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
52
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "include-grouped-rows-checkbox", checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
57
53
  };
58
54
  exports.FormatColumnSettingsWizardSection = FormatColumnSettingsWizardSection;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { FormatColumn } from '../../../PredefinedConfig/FormatColumnState';
3
3
  import { AdaptableApi } from '../../../Api/AdaptableApi';
4
- export declare const isFormatColumnStyleValid: (data: FormatColumn, api: AdaptableApi) => true | "No format applied" | "Invalid Cell Range" | "Invalid Column Comparison Range";
4
+ export declare const isFormatColumnStyleValid: (data: FormatColumn, api: AdaptableApi) => true | "No format applied";
5
5
  declare type FormatColumnStyleWizardSectionProps = {
6
6
  onChange: (data: FormatColumn) => void;
7
7
  };
8
- export declare const renderFormatColumnStyleWizardSummary: (data: FormatColumn) => any;
9
- export declare const renderFormatColumnStyleSummary: (data: FormatColumn, api: AdaptableApi) => any;
8
+ export declare const renderFormatColumnStyleWizardSummary: (data: FormatColumn) => JSX.Element;
9
+ export declare const renderFormatColumnStyleSummary: (data: FormatColumn, api: AdaptableApi) => JSX.Element;
10
10
  export declare function FormatColumnStyleWizardSection(props: FormatColumnStyleWizardSectionProps): JSX.Element;
11
11
  export {};