@adaptabletools/adaptable 13.0.0-canary.16 → 13.0.0-canary.18

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 (88) hide show
  1. package/base.css +99 -0
  2. package/base.css.map +1 -1
  3. package/bundle.cjs.js +144 -144
  4. package/index.css +115 -0
  5. package/index.css.map +1 -1
  6. package/package.json +1 -1
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/Api/FormatColumnApi.d.ts +37 -29
  10. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +21 -11
  11. package/src/Api/Implementation/FormatColumnApiImpl.js +42 -63
  12. package/src/Api/StyledColumnApi.d.ts +27 -13
  13. package/src/PredefinedConfig/StyledColumnState.d.ts +10 -4
  14. package/src/Strategy/ConditionalStyleModule.d.ts +0 -2
  15. package/src/Strategy/ConditionalStyleModule.js +1 -27
  16. package/src/Strategy/FormatColumnModule.js +2 -12
  17. package/src/View/AdaptablePopover/index.js +1 -1
  18. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +9 -9
  19. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
  20. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  21. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  22. package/src/View/Components/AdaptableObjectRow/index.js +1 -6
  23. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
  24. package/src/View/Components/Buttons/ButtonInfo.js +3 -5
  25. package/src/View/Components/EntityRulesEditor/index.js +8 -17
  26. package/src/View/Components/FilterForm/FilterForm.js +11 -16
  27. package/src/View/Components/FilterForm/QuickFilterForm.js +7 -13
  28. package/src/View/Components/NewScopeComponent.js +1 -1
  29. package/src/View/Components/Panels/PanelWithButton.js +1 -5
  30. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  31. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
  32. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
  33. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
  34. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
  35. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
  36. package/src/View/Components/ScopeComponent.js +4 -4
  37. package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
  38. package/src/View/Components/StyleComponent.js +12 -17
  39. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +1 -1
  40. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +1 -11
  41. package/src/View/DataSet/DataSetSelector.js +1 -1
  42. package/src/View/Export/ReportExportDropdown.js +1 -1
  43. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
  44. package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
  45. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
  46. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  47. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  48. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +26 -26
  49. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -6
  50. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  51. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
  52. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  53. package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
  54. package/src/View/Layout/Wizard/sections/ColumnsSection.js +5 -5
  55. package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
  56. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
  57. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  58. package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
  59. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
  60. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
  61. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  62. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
  63. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
  64. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
  65. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
  66. package/src/View/SmartEdit/SmartEditPopup.js +3 -3
  67. package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
  68. package/src/View/StateManagement/StateManagementPopup.js +4 -4
  69. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
  70. package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
  71. package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
  72. package/src/View/Theme/ThemePopup.js +1 -1
  73. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -2
  74. package/src/agGrid/ActionColumnRenderer.d.ts +2 -0
  75. package/src/agGrid/ActionColumnRenderer.js +94 -62
  76. package/src/agGrid/Adaptable.d.ts +0 -1
  77. package/src/agGrid/Adaptable.js +43 -67
  78. package/src/agGrid/PercentBarRenderer.js +10 -0
  79. package/src/agGrid/weightedAverage.js +19 -11
  80. package/src/components/CheckBox/index.js +1 -1
  81. package/src/components/ExpressionEditor/BaseEditorInput.js +13 -32
  82. package/src/components/ExpressionEditor/index.js +9 -17
  83. package/src/components/FormLayout/index.js +1 -1
  84. package/src/components/StylePreview.js +2 -1
  85. package/src/metamodel/adaptable.metamodel.d.ts +7 -0
  86. package/src/metamodel/adaptable.metamodel.js +1 -1
  87. package/version.d.ts +1 -1
  88. package/version.js +1 -1
@@ -137,15 +137,14 @@ class FilterFormComponent extends React.Component {
137
137
  let closeButton = (React.createElement(ButtonClose_1.ButtonClose, { onClick: () => this.onCloseForm(), tooltip: null, accessLevel: 'Full' }));
138
138
  let clearFilterButton = (React.createElement(ButtonClear_1.ButtonClear, { onClick: () => this.onClearFilter(), disabled: isEmptyFilter, tooltip: null, accessLevel: 'Full', showText: true, showIcon: false }));
139
139
  const useAgGridStyle = !!filterOptions.useAgGridFilterFormStyle;
140
- return (React.createElement("div", { "data-name": "filter-form" }, StringExtensions_1.StringExtensions.IsNullOrEmpty(isFilterable) ? (React.createElement(FilterFormPanel_1.FilterFormPanel, { style: panelStyle, ColumnMenuTab: this.state.selectedTab, ColumnMenuTabChanged: (e) => this.onSelectTab(e), IsAlwaysFilter: this.props.embedColumnMenu, clearFilterButton: clearFilterButton, closeButton: closeButton, showCloseButton: this.props.showCloseButton, autoApplyFilter: filterOptions.autoApplyFilter ? true : false, useAgGridStyle: useAgGridStyle, applyFilterButtonDisabled: isEmptyFilter, onFilterApplied: () => this.onFilterApplied() }, this.state.selectedTab == Enums_1.ColumnMenuTab.Menu ? (React.createElement(ListBoxMenu_1.ListBoxMenu, { MenuItems: this.props.api.internalApi.buildStandaloneColumnHeader(this.props.currentColumn), onMenuItemClick: (menuItem) => this.onMenuItemClick(menuItem) })) : (React.createElement("div", null,
141
- this.state.showTab && (React.createElement("div", null,
142
- React.createElement(Radio_1.default, { marginLeft: 1, flex: 1, checked: this.state.currentTab == 'values', onChange: () => this.setState({ currentTab: 'values' }) },
140
+ return (React.createElement("div", { className: "ab-FilterForm", "data-name": "filter-form" }, StringExtensions_1.StringExtensions.IsNullOrEmpty(isFilterable) ? (React.createElement(FilterFormPanel_1.FilterFormPanel, { style: panelStyle, ColumnMenuTab: this.state.selectedTab, ColumnMenuTabChanged: (e) => this.onSelectTab(e), IsAlwaysFilter: this.props.embedColumnMenu, clearFilterButton: clearFilterButton, closeButton: closeButton, showCloseButton: this.props.showCloseButton, autoApplyFilter: filterOptions.autoApplyFilter ? true : false, useAgGridStyle: useAgGridStyle, applyFilterButtonDisabled: isEmptyFilter, onFilterApplied: () => this.onFilterApplied() }, this.state.selectedTab == Enums_1.ColumnMenuTab.Menu ? (React.createElement(ListBoxMenu_1.ListBoxMenu, { MenuItems: this.props.api.internalApi.buildStandaloneColumnHeader(this.props.currentColumn), onMenuItemClick: (menuItem) => this.onMenuItemClick(menuItem) })) : (React.createElement(React.Fragment, null,
141
+ this.state.showTab && (React.createElement(React.Fragment, null,
142
+ React.createElement(Radio_1.default, { "data-name": "values", flex: 1, marginLeft: 1, checked: this.state.currentTab == 'values', onChange: () => this.setState({ currentTab: 'values' }) },
143
143
  React.createElement(rebass_1.Flex, { fontSize: 'var( --ab-font-size-2)' }, "Column Values")),
144
- React.createElement(Radio_1.default, { marginLeft: 2, flex: 1, checked: this.state.currentTab == 'predicates', onChange: () => this.setState({ currentTab: 'predicates' }) },
144
+ React.createElement(Radio_1.default, { "data-name": "predicates", marginLeft: 2, flex: 1, checked: this.state.currentTab == 'predicates', onChange: () => this.setState({ currentTab: 'predicates' }) },
145
145
  React.createElement(rebass_1.Flex, { fontSize: 'var( --ab-font-size-2)' }, "Filters")))),
146
- this.state.currentTab === 'values' && (React.createElement("div", null,
147
- React.createElement(ListBoxFilterForm_1.ListBoxFilterForm, { disabled: this.isFilterDisabled(), suppressClientSideFilter: this.state.suppressClientSideFilter, isLoading: this.state.isDistinctColumnValuesLoading, onFilterChange: this.handleFilterChange, currentColumn: this.props.currentColumn, columns: this.props.columns, columnDistinctValues: this.state.distinctColumnValues, dataType: this.props.currentColumn.dataType, uiSelectedColumnValues: uiSelectedColumnValues, useAgGridStyle: useAgGridStyle, onColumnValueSelectedChange: (list) => this.onColumnValuesChange(list) }))),
148
- this.state.currentTab === 'predicates' && (React.createElement("div", null,
146
+ this.state.currentTab === 'values' && (React.createElement(ListBoxFilterForm_1.ListBoxFilterForm, { disabled: this.isFilterDisabled(), suppressClientSideFilter: this.state.suppressClientSideFilter, isLoading: this.state.isDistinctColumnValuesLoading, onFilterChange: this.handleFilterChange, currentColumn: this.props.currentColumn, columns: this.props.columns, columnDistinctValues: this.state.distinctColumnValues, dataType: this.props.currentColumn.dataType, uiSelectedColumnValues: uiSelectedColumnValues, useAgGridStyle: useAgGridStyle, onColumnValueSelectedChange: (list) => this.onColumnValuesChange(list) })),
147
+ this.state.currentTab === 'predicates' && (React.createElement(React.Fragment, null,
149
148
  ' ',
150
149
  this.state.showTab && React.createElement("hr", null),
151
150
  predicateDefs
@@ -156,15 +155,15 @@ class FilterFormComponent extends React.Component {
156
155
  var _a;
157
156
  const { editedColumnFilter } = this.state;
158
157
  const checked = ((_a = editedColumnFilter === null || editedColumnFilter === void 0 ? void 0 : editedColumnFilter.Predicate) === null || _a === void 0 ? void 0 : _a.PredicateId) === predicateDef.id;
159
- return (React.createElement(rebass_1.Flex, { key: index, flexDirection: "column" },
160
- React.createElement(Radio_1.default, { disabled: this.isFilterDisabled(), fontSize: 'var(--ab-font-size-2)', margin: 1, flex: 1, checked: checked, onChange: () => this.selectColumnPredicate(predicateDef) }, predicateDef.label),
161
- React.createElement(rebass_1.Flex, { flexDirection: "column", flex: 0, marginLeft: 3, marginRight: 2 }, checked && this.renderPredicateInput(predicateDef, editedColumnFilter))));
158
+ return (React.createElement(rebass_1.Flex, { className: "ab-FilterForm__predicate", key: index, flexDirection: "column" },
159
+ React.createElement(Radio_1.default, { "data-name": predicateDef.id, disabled: this.isFilterDisabled(), fontSize: 'var(--ab-font-size-2)', margin: 1, flex: 1, checked: checked, onChange: () => this.selectColumnPredicate(predicateDef) }, predicateDef.label),
160
+ React.createElement(rebass_1.Flex, { className: "ab-FilterForm__predicate_inputs", flexDirection: "column", flex: 0, marginLeft: 3, marginRight: 2 }, checked && this.renderPredicateInput(predicateDef, editedColumnFilter))));
162
161
  }
163
162
  renderPredicateInput(predicateDef, filter) {
164
163
  var _a;
165
164
  if ((predicateDef === null || predicateDef === void 0 ? void 0 : predicateDef.id) === 'BooleanToggle') {
166
165
  // custom tri-state checkbox: true, false, all(indeterminate)
167
- return (React.createElement(rebass_1.Flex, { flexDirection: "row", flex: 1, justifyContent: "center", alignItems: "center" },
166
+ return (React.createElement(rebass_1.Flex, { className: "ab-FilterForm__predicate-input", flexDirection: "row", flex: 1, justifyContent: "center", alignItems: "center" },
168
167
  React.createElement(CheckBox_1.CheckBox, { disabled: this.isFilterDisabled(), checked: filter.Predicate.Inputs[0] === 'true'
169
168
  ? true
170
169
  : filter.Predicate.Inputs[0] === 'false'
@@ -181,11 +180,7 @@ class FilterFormComponent extends React.Component {
181
180
  } })));
182
181
  }
183
182
  return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => (React.createElement(rebass_1.Flex, { key: index, flexDirection: "row" },
184
- React.createElement(AdaptableInput_1.default, { disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), style: {
185
- marginBottom: 5,
186
- flex: 1,
187
- fontSize: 'var( --ab-font-size-2)',
188
- } }))));
183
+ React.createElement(AdaptableInput_1.default, { disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), mb: 1, flex: 1, fontSize: 2 }))));
189
184
  }
190
185
  isFilterDisabled() {
191
186
  var _a;
@@ -142,21 +142,15 @@ class QuickFilterFormComponent extends React.Component {
142
142
  showQuickFilterInput = !hideQuickFilterInputFunction(this.props.currentColumn);
143
143
  }
144
144
  return (React.createElement(React.Fragment, null,
145
- showQuickFilterDropdown && (React.createElement(OverlayTrigger_1.default, { showEvent: showEvent, hideEvent: hideEvent, preventPortalEventPropagation: showEvent === 'click', alignHorizontal: "left", targetOffset: 10, hideDelay: 300, "data-name": "quick-filter-overlay", style: {
146
- overflowY: 'auto',
147
- fontSize: 'var(--ab-font-size-2)',
148
- border: '1px solid var(--ab-color-primarydark)',
149
- background: 'var(--ab-color-defaultbackground)',
150
- }, render: () => (React.createElement(rebass_1.Flex, { flexDirection: "column", "data-name": "quick-filter" },
151
- (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) && (React.createElement(React.Fragment, null,
152
- React.createElement(SimpleButton_1.default, { p: 2, variant: "text", onClick: () => this.clearFilter() },
153
- React.createElement("span", { style: { width: 20, marginRight: 10 } },
154
- React.createElement(icons_1.Icon, { name: "delete" })),
155
- "Clear"))),
156
- predicateDefs.map((p) => (React.createElement(SimpleButton_1.default, { disabled: this.isFilterDisabled(), key: p.id, p: 2, variant: "text", tone: (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) === p.id ? 'info' : 'none', onClick: () => this.selectColumnPredicate(p.id) },
145
+ showQuickFilterDropdown && (React.createElement(OverlayTrigger_1.default, { className: "ab-QuickFilter", showEvent: showEvent, hideEvent: hideEvent, preventPortalEventPropagation: showEvent === 'click', alignHorizontal: "left", targetOffset: 10, hideDelay: 300, "data-name": "quick-filter-overlay", render: () => (React.createElement(rebass_1.Flex, { flexDirection: "column", "data-name": "quick-filter" },
146
+ (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) && (React.createElement(SimpleButton_1.default, { p: 2, variant: "text", onClick: () => this.clearFilter() },
147
+ React.createElement("span", { style: { width: 20, marginRight: 10 } },
148
+ React.createElement(icons_1.Icon, { name: "delete" })),
149
+ "Clear")),
150
+ predicateDefs.map((p) => (React.createElement(SimpleButton_1.default, { "data-name": filter.Predicate.PredicateId, disabled: this.isFilterDisabled(), key: p.id, p: 2, variant: "text", tone: (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) === p.id ? 'info' : 'none', onClick: () => this.selectColumnPredicate(p.id) },
157
151
  React.createElement("span", { style: { width: 20, marginRight: 10 } }, this.renderPredicateIcon(p)),
158
152
  p.label))))) },
159
- React.createElement(SimpleButton_1.default, { style: {
153
+ React.createElement(SimpleButton_1.default, { "data-name": filter.Predicate.PredicateId, style: {
160
154
  borderRadius: 0,
161
155
  borderColor: 'var(--ab-color-primarydark)',
162
156
  } }, this.renderPredicateIcon(activePredicateDef)))),
@@ -144,6 +144,6 @@ const NewScopeComponent = (props) => {
144
144
  React.createElement(AdaptableFormControlTextClear_1.AdaptableFormControlTextClear, { value: columnsSearchText, OnTextChange: setColumnsSearchText, placeholder: "Type to search columns", style: { flex: 1 } })),
145
145
  React.createElement(rebass_1.Flex, { paddingLeft: 2, flex: 1, style: { overflow: 'hidden' } },
146
146
  React.createElement(ColumnSelector_1.NewColumnSelector, { columnFilterText: columnsSearchText, allowReorder: false, availableColumns: scopeColumns, selected: scopeApi.getColumnIdsInScope(props.scope), onChange: onColumnsSelectedChanged }))),
147
- React.createElement(Tabs_1.Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox_1.CheckBox, { key: dataTypeOption.value, "data-name": "scope", checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))));
147
+ React.createElement(Tabs_1.Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))));
148
148
  };
149
149
  exports.NewScopeComponent = NewScopeComponent;
@@ -21,11 +21,7 @@ class PanelWithButton extends React.Component {
21
21
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-before" }),
22
22
  this.props.headerText,
23
23
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
24
- this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { style: {
25
- color: 'var(--ab-color-text-on-add)',
26
- fill: 'var(--ab-color-text-on-add)',
27
- background: 'var(--ab-color-action-add)',
28
- }, onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
24
+ this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
29
25
  ) }))),
30
26
  React.createElement(rebass_1.Box, { style: { flex: 1 } }),
31
27
  buttonContent ? (React.createElement(SimpleButton_1.default, { variant: "raised", tone: "accent", disabled: this.props.buttonDisabled, onClick: () => (this.props.buttonClick ? this.props.buttonClick() : null) }, buttonContent)) : null,
@@ -26,11 +26,7 @@ class PanelWithImageCmp extends React.Component {
26
26
  React.createElement(rebass_1.Box, { marginRight: 2 }),
27
27
  this.props.header,
28
28
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
29
- this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { style: {
30
- color: 'var(--ab-color-text-on-add)',
31
- fill: 'var(--ab-color-text-on-add)',
32
- background: 'var(--ab-color-action-add)',
33
- }, onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
29
+ this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
34
30
  ) }))),
35
31
  React.createElement(rebass_1.Box, { flex: 1 }),
36
32
  this.props.button && React.cloneElement(this.props.button))));
@@ -71,9 +71,9 @@ const AdaptablePopup = (props) => {
71
71
  }
72
72
  },
73
73
  } },
74
- React.createElement(AdaptablePopupDialog_1.AdaptablePopupDialog, { baseClassName: baseClassName, className: className, friendlyName: friendlyName, isActionModule: isStandalone, isWindowModal: isWindowModal, onHide: props.onHide, modalContainer: modalContainer },
74
+ React.createElement(AdaptablePopupDialog_1.AdaptablePopupDialog, { dataName: componentModule, baseClassName: baseClassName, className: className, friendlyName: friendlyName, isActionModule: isStandalone, isWindowModal: isWindowModal, onHide: props.onHide, modalContainer: modalContainer },
75
75
  !isStandalone && React.createElement(TopBar_1.default, { icon: settingsPanelOptions.icon }, settingsPanelTitle),
76
- React.createElement(rebass_1.Flex, { "data-name": props.componentName, flexDirection: "row", flex: "1 1 0", style: { minHeight: 0 }, className: accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '' },
76
+ React.createElement(rebass_1.Flex, { flexDirection: "row", flex: "1 1 0", style: { minHeight: 0 }, className: accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '' },
77
77
  !isStandalone && (React.createElement(Navigation_1.Navigation, { menuItems: menuItems, api: props.api, activeItem: activeItem, customSettingsPanels: settingsPanelOptions.customSettingsPanels })),
78
78
  React.createElement(rebass_1.Flex, { flex: 1, className: "ab-Adaptable-Popup__Body" }, moduleViewContent)))));
79
79
  };
@@ -8,4 +8,5 @@ export declare const AdaptablePopupDialog: React.FunctionComponent<React.PropsWi
8
8
  onHide: () => void;
9
9
  style?: React.CSSProperties;
10
10
  modalContainer?: string | HTMLElement;
11
+ dataName?: string;
11
12
  }>>;
@@ -46,19 +46,6 @@ const PopupDialog = (props) => {
46
46
  };
47
47
  const AdaptablePopupDialog = (props) => {
48
48
  const { isActionModule, style, friendlyName, baseClassName, className, children, onHide, isWindowModal, modalContainer, } = props;
49
- const elementRef = React.useMemo(() => {
50
- if (!modalContainer) {
51
- return null;
52
- }
53
- let ref = null;
54
- if (typeof modalContainer === 'string') {
55
- ref = globalThis.document.querySelector(modalContainer);
56
- }
57
- else {
58
- ref = modalContainer;
59
- }
60
- return ref;
61
- }, [modalContainer]);
62
49
  if (modalContainer) {
63
50
  let ref = null;
64
51
  if (typeof modalContainer === 'string') {
@@ -67,15 +54,15 @@ const AdaptablePopupDialog = (props) => {
67
54
  else {
68
55
  ref = modalContainer;
69
56
  }
70
- return (0, react_dom_1.createPortal)(React.createElement(Dialog_1.default, { modal: false, fixed: false, onDismiss: onHide, className: className }, children), ref);
57
+ return (0, react_dom_1.createPortal)(React.createElement(Dialog_1.default, { "data-name": props.dataName, modal: false, fixed: false, onDismiss: onHide, className: className }, children), ref);
71
58
  }
72
59
  if (isWindowModal) {
73
60
  const settingsPanelOptionsKey = isActionModule ? `action-${friendlyName}` : 'settings';
74
- return (React.createElement(WindowDialog, { settingsPanelOptionsKey: settingsPanelOptionsKey, isActionModule: isActionModule, onHide: onHide, style: style, baseClassName: baseClassName, className: className }, children));
61
+ return (React.createElement(WindowDialog, { dataName: props.dataName, settingsPanelOptionsKey: settingsPanelOptionsKey, isActionModule: isActionModule, onHide: onHide, style: style, baseClassName: baseClassName, className: className }, children));
75
62
  }
76
63
  else {
77
64
  const modalStyle = Object.assign(Object.assign({}, style), (isActionModule ? { maxWidth: 800, maxHeight: 600 } : { maxWidth: 1200, maxHeight: 1000 }));
78
- return (React.createElement(PopupDialog, { onHide: onHide, style: modalStyle, className: className }, children));
65
+ return (React.createElement(PopupDialog, { "data-name": props.dataName, onHide: onHide, style: modalStyle, className: className }, children));
79
66
  }
80
67
  };
81
68
  exports.AdaptablePopupDialog = AdaptablePopupDialog;
@@ -15,7 +15,7 @@ const PopupPanel = (props) => {
15
15
  React.createElement(rebass_1.Box, { marginRight: 0, "data-name": "space-before" }),
16
16
  React.createElement("div", { className: `${baseClassName}__Header__Title` }, props.headerText),
17
17
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
18
- props.infoLink != null && !props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { iconSize: 24, onClick: () => window.open(props.infoLink, '_blank' // <- opens the link in a new tab or window.
18
+ props.infoLink != null && !props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { tone: "none", variant: "text", iconSize: 24, onClick: () => window.open(props.infoLink, '_blank' // <- opens the link in a new tab or window.
19
19
  ) }))),
20
20
  React.createElement(rebass_1.Box, { style: { flex: 1 } }),
21
21
  props.button),
@@ -34,17 +34,17 @@ const AdaptablePopupTeamSharing = (props) => {
34
34
  ": a \"live\" share that is automatically updated with every local change"))),
35
35
  React.createElement(FormLayout_1.default, { padding: 2 },
36
36
  React.createElement(FormLayout_1.FormRow, { label: "Name: " },
37
- React.createElement(Input_1.default, { autoFocus: true, value: config.description, type: "string", width: 300, placeholder: "Enter text", onChange: (e) => setConfig(Object.assign(Object.assign({}, config), { description: e.target.value })) })),
37
+ React.createElement(Input_1.default, { "data-name": "teamsharing-entity-name", autoFocus: true, value: config.description, type: "string", width: 300, placeholder: "Enter text", onChange: (e) => setConfig(Object.assign(Object.assign({}, config), { description: e.target.value })) })),
38
38
  React.createElement(FormLayout_1.FormRow, { label: "Share: " },
39
39
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
40
- React.createElement(Radio_1.default, { checked: config.type === 'Snapshot', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Snapshot' })) }, "Snapshot"),
40
+ React.createElement(Radio_1.default, { "data-name": "teamsharing-entity-type-snapshot", checked: config.type === 'Snapshot', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Snapshot' })) }, "Snapshot"),
41
41
  ' ',
42
- React.createElement(Radio_1.default, { marginLeft: 3, checked: config.type === 'Active', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Active' })) }, "Active"),
42
+ React.createElement(Radio_1.default, { "data-name": "teamsharing-entity-type-active", marginLeft: 3, checked: config.type === 'Active', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Active' })) }, "Active"),
43
43
  ' '))),
44
44
  React.createElement(rebass_1.Box, { marginTop: 3 },
45
45
  React.createElement(rebass_1.Flex, { padding: 2 },
46
- React.createElement(SimpleButton_1.default, { tone: "neutral", variant: "raised", onClick: () => onClose(), "data-name": "cancel" }, "Cancel"),
46
+ React.createElement(SimpleButton_1.default, { "data-name": "cancel", tone: "neutral", variant: "raised", onClick: () => onClose() }, "Cancel"),
47
47
  React.createElement("div", { style: { flex: 1 } }),
48
- React.createElement(SimpleButton_1.default, { tone: "accent", "data-name": "ok", variant: "raised", disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(config.description), onClick: () => onConfirm(config) }, "OK")))))));
48
+ React.createElement(SimpleButton_1.default, { "data-name": "ok", tone: "accent", variant: "raised", disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(config.description), onClick: () => onConfirm(config) }, "OK")))))));
49
49
  };
50
50
  exports.AdaptablePopupTeamSharing = AdaptablePopupTeamSharing;
@@ -41,22 +41,22 @@ class ScopeComponent extends React.Component {
41
41
  React.createElement(DualListBoxEditor_1.DualListBoxEditor, { style: { flex: 1, overflow: 'hidden', height: '250px' }, AvailableValues: availableValues, SelectedValues: this.state.selectedColumnValues, HeaderAvailable: "Columns", HeaderSelected: "Columns In Style", onChange: (SelectedValues) => this.onColumnsSelectedChanged(SelectedValues) }))),
42
42
  this.state.ScopeChoice == 'DataType' && (React.createElement(Panel_1.default, { "data-name": "datatype-scope", variant: "modern" },
43
43
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
44
- this.state.availableDataTypes.includes('Date') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", checked: this.state.componentScope &&
44
+ this.state.availableDataTypes.includes('Date') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": "date", checked: this.state.componentScope &&
45
45
  'DataTypes' in this.state.componentScope &&
46
46
  this.props.api.scopeApi
47
47
  .getDataTypesInScope(this.state.componentScope)
48
48
  .includes('Date'), marginLeft: 2, onChange: (checked) => this.onCheckBoxDataTypeChecked(checked, 'Date') }, "Date")),
49
- this.state.availableDataTypes.includes('Number') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", checked: this.state.componentScope &&
49
+ this.state.availableDataTypes.includes('Number') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": "number", checked: this.state.componentScope &&
50
50
  'DataTypes' in this.state.componentScope &&
51
51
  this.props.api.scopeApi
52
52
  .getDataTypesInScope(this.state.componentScope)
53
53
  .includes('Number'), marginLeft: 4, onChange: (checked) => this.onCheckBoxDataTypeChecked(checked, 'Number') }, "Number")),
54
- this.state.availableDataTypes.includes('String') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", checked: this.state.componentScope &&
54
+ this.state.availableDataTypes.includes('String') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": "string", checked: this.state.componentScope &&
55
55
  'DataTypes' in this.state.componentScope &&
56
56
  this.props.api.scopeApi
57
57
  .getDataTypesInScope(this.state.componentScope)
58
58
  .includes('String'), marginLeft: 4, onChange: (checked) => this.onCheckBoxDataTypeChecked(checked, 'String') }, "String")),
59
- this.state.availableDataTypes.includes('Boolean') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", checked: this.state.componentScope &&
59
+ this.state.availableDataTypes.includes('Boolean') && (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": "boolean", checked: this.state.componentScope &&
60
60
  'DataTypes' in this.state.componentScope &&
61
61
  this.props.api.scopeApi
62
62
  .getDataTypesInScope(this.state.componentScope)
@@ -74,8 +74,8 @@ class ColumnValueSelector extends React.Component {
74
74
  ]
75
75
  : this.state.distinctColumnValues;
76
76
  const dd = (React.createElement("div", null,
77
- React.createElement(DropdownButton_1.default, { className: className, columns: ['label'], variant: "text", showClearButton: true, onClear: () => this.onSelectedValueChange([]), style: { fontSize: 'small' }, disabled: this.props.disabled, items: items, onExpand: this.handleSelectedValueExpand }, this.props.selectedColumnValue ? this.props.selectedColumnValue : placeholderText)));
78
- const input = (React.createElement(AdaptableInput_1.default, { type: this.props.selectedColumn
77
+ React.createElement(DropdownButton_1.default, { "data-name": "bulkupdate-value-selector", className: className, columns: ['label'], variant: "text", showClearButton: true, onClear: () => this.onSelectedValueChange([]), style: { fontSize: 'small' }, disabled: this.props.disabled, items: items, onExpand: this.handleSelectedValueExpand }, this.props.selectedColumnValue ? this.props.selectedColumnValue : placeholderText)));
78
+ const input = (React.createElement(AdaptableInput_1.default, { "data-name": "bulkupdate-value-input", type: this.props.selectedColumn
79
79
  ? UIHelper_1.default.getDescriptionForDataType(this.props.selectedColumn.dataType)
80
80
  : 'text', placeholder: this.props.selectedColumn
81
81
  ? UIHelper_1.default.getPlaceHolderforDataType(this.props.selectedColumn.dataType)
@@ -25,7 +25,7 @@ class StyleComponent extends React.Component {
25
25
  };
26
26
  }
27
27
  render() {
28
- const Cmp = this.props.headless ? React.Fragment : Panel_1.default;
28
+ const Cmp = this.props.headless ? rebass_1.Box : Panel_1.default;
29
29
  const cmpProps = this.props.headless
30
30
  ? {}
31
31
  : {
@@ -36,15 +36,15 @@ class StyleComponent extends React.Component {
36
36
  const styleClassNames = this.props.api.userInterfaceApi.getStyleClassNames();
37
37
  const colourSpellingVariant = this.props.api.internalApi.getCorrectEnglishVariant('Colour');
38
38
  const coloursSpellingVariant = this.props.api.internalApi.getCorrectEnglishVariant('colours');
39
- return (React.createElement(Cmp, Object.assign({}, cmpProps),
39
+ return (React.createElement(Cmp, Object.assign({}, cmpProps, { className: "ab-StyleComponent" }),
40
40
  ArrayExtensions_1.default.IsNotNullOrEmpty(styleClassNames) && (React.createElement(rebass_1.Flex, { flexDirection: "row", padding: 2 },
41
- React.createElement(Radio_1.default, { value: "Predicate", checked: this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(checked) }, "Use Style Class Name"),
41
+ React.createElement(Radio_1.default, { "data-name": "show-class-name", value: "Predicate", checked: this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(checked) }, "Use Style Class Name"),
42
42
  ' ',
43
- React.createElement(Radio_1.default, { marginLeft: 3, value: "Expression", checked: !this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(!checked) }, "Create Style"),
43
+ React.createElement(Radio_1.default, { "data-name": "create-style", marginLeft: 3, value: "Expression", checked: !this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(!checked) }, "Create Style"),
44
44
  ' ')),
45
45
  this.state.ShowClassName ? (React.createElement("div", null,
46
46
  React.createElement(HelpBlock_1.default, { fontSize: 2 }, 'Select a CSS Class Name'),
47
- React.createElement(DropdownButton_1.default, { margin: 3, placeholder: "Select", variant: "outlined", columns: ['label'], tone: "none", disabled: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames), style: {
47
+ React.createElement(DropdownButton_1.default, { "data-name": "select-class-anme", margin: 3, placeholder: "Select", variant: "outlined", columns: ['label'], tone: "none", disabled: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames), style: {
48
48
  minWidth: '15rem',
49
49
  whiteSpace: 'nowrap',
50
50
  overflow: 'hidden',
@@ -64,35 +64,30 @@ class StyleComponent extends React.Component {
64
64
  coloursSpellingVariant),
65
65
  React.createElement(FormLayout_1.default, { columns: [1, 2] },
66
66
  React.createElement(FormLayout_1.FormRow, null,
67
- React.createElement(CheckBox_1.CheckBox, { value: "existing", margin: 1, checked: !!this.state.componentStyle.BackColor, onChange: (checked) => this.onUseBackColorCheckChange(checked) },
67
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "set-background-color", value: "existing", margin: 1, checked: !!this.state.componentStyle.BackColor, onChange: (checked) => this.onUseBackColorCheckChange(checked) },
68
68
  "Set Back ",
69
69
  colourSpellingVariant),
70
70
  this.state.componentStyle.BackColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.BackColor, onChange: (x) => this.onBackColorSelectChange(x) })) : (React.createElement("span", null))),
71
71
  React.createElement(FormLayout_1.FormRow, null,
72
- React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.ForeColor ? true : false, onChange: (checked) => this.onUseForeColorCheckChange(checked) },
72
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "set-foreground-color", margin: 1, value: "existing", checked: this.state.componentStyle.ForeColor ? true : false, onChange: (checked) => this.onUseForeColorCheckChange(checked) },
73
73
  "Set Fore ",
74
74
  colourSpellingVariant),
75
75
  this.state.componentStyle.ForeColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.ForeColor, onChange: (x) => this.onForeColorSelectChange(x) })) : (React.createElement("span", null))),
76
76
  React.createElement(FormLayout_1.FormRow, null,
77
- React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.BorderColor ? true : false, onChange: (checked) => this.onUseBorderColorCheckChange(checked) },
77
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "set-border-color", margin: 1, value: "existing", checked: this.state.componentStyle.BorderColor ? true : false, onChange: (checked) => this.onUseBorderColorCheckChange(checked) },
78
78
  "Set Border ",
79
79
  colourSpellingVariant),
80
80
  this.state.componentStyle.BorderColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.BorderColor, onChange: (x) => this.onBorderColorSelectChange(x) })) : (React.createElement("span", null)))),
81
81
  React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 }, "Set the font properties of the Style"),
82
82
  React.createElement(FormLayout_1.default, { columns: [1] },
83
83
  React.createElement(FormLayout_1.FormRow, null,
84
- React.createElement(CheckBox_1.CheckBox, { margin: 1, value: Enums_1.FontWeight.Normal.toString(), checked: this.state.componentStyle.FontWeight == Enums_1.FontWeight.Bold, onChange: (checked) => this.onFontWeightChange(checked) }, "Bold")),
84
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "set-font-weight-bold", margin: 1, value: Enums_1.FontWeight.Normal.toString(), checked: this.state.componentStyle.FontWeight == Enums_1.FontWeight.Bold, onChange: (checked) => this.onFontWeightChange(checked) }, "Bold")),
85
85
  React.createElement(FormLayout_1.FormRow, null,
86
- React.createElement(CheckBox_1.CheckBox, { margin: 1, value: Enums_1.FontStyle.Normal.toString(), checked: this.state.componentStyle.FontStyle == Enums_1.FontStyle.Italic, onChange: (checked) => this.onFontStyleChange(checked) }, "Italic")),
86
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "set-font-style-italic", margin: 1, value: Enums_1.FontStyle.Normal.toString(), checked: this.state.componentStyle.FontStyle == Enums_1.FontStyle.Italic, onChange: (checked) => this.onFontStyleChange(checked) }, "Italic")),
87
87
  React.createElement(FormLayout_1.FormRow, null,
88
- React.createElement(CheckBox_1.CheckBox, { margin: 1, checked: this.state.componentStyle.FontSize ? true : false, onChange: (checked) => this.onUseFontSizeCheckChange(checked) }, "Set Font Size")),
88
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "set-font-size", margin: 1, checked: this.state.componentStyle.FontSize ? true : false, onChange: (checked) => this.onUseFontSizeCheckChange(checked) }, "Set Font Size")),
89
89
  React.createElement(FormLayout_1.FormRow, null, this.state.componentStyle.FontSize != null && (React.createElement(rebass_1.Flex, { flexDirection: "row", alignItems: "center" },
90
- React.createElement(DropdownButton_1.default, { style: {
91
- whiteSpace: 'nowrap',
92
- overflow: 'hidden',
93
- textOverflow: 'ellipsis',
94
- maxWidth: 'inherit',
95
- }, mr: 1, items: EnumExtensions_1.EnumExtensions.getNames(Enums_1.FontSize).map((enumName) => ({
90
+ React.createElement(DropdownButton_1.default, { mr: 1, items: EnumExtensions_1.EnumExtensions.getNames(Enums_1.FontSize).map((enumName) => ({
96
91
  value: enumName,
97
92
  label: enumName,
98
93
  onClick: () => this.onFontSizeChange(enumName),
@@ -24,6 +24,6 @@ const ConditionalStyleSettingsWizardSettings = (props) => {
24
24
  React.createElement(FormLayout_1.default, null,
25
25
  React.createElement(FormLayout_1.FormRow, { label: "Include Grouped Rows:" },
26
26
  React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
27
- React.createElement(CheckBox_1.CheckBox, { checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
27
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "inlcude-grouped-rows", checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
28
28
  };
29
29
  exports.ConditionalStyleSettingsWizardSettings = ConditionalStyleSettingsWizardSettings;
@@ -16,7 +16,6 @@ const NewScopeComponent_1 = require("../../Components/NewScopeComponent");
16
16
  const EntityRulesEditor_1 = require("../../Components/EntityRulesEditor");
17
17
  const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/ObjectFactory"));
18
18
  const react_redux_1 = require("react-redux");
19
- const ConditionalStyleRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ConditionalStyleRedux"));
20
19
  const ConditionalStyleSettingsWizardSettings_1 = require("./ConditionalStyleSettingsWizardSettings");
21
20
  const ObjectTagsWizardSection_1 = require("../../Wizard/ObjectTagsWizardSection");
22
21
  const ConditionalStyleWizard = (props) => {
@@ -43,16 +42,7 @@ const ConditionalStyleWizard = (props) => {
43
42
  return conditionalStyle;
44
43
  });
45
44
  const dispatch = (0, react_redux_1.useDispatch)();
46
- const handleFinish = () => {
47
- if (data) {
48
- dispatch(ConditionalStyleRedux.ConditionalStyleEdit(conditionalStyle));
49
- }
50
- else {
51
- dispatch(ConditionalStyleRedux.ConditionalStyleAdd(conditionalStyle));
52
- }
53
- props.onCloseWizard();
54
- };
55
- return (React.createElement(OnePageAdaptableWizard_1.OnePageAdaptableWizard, { defaultCurrentSectionName: props.defaultCurrentSectionName, moduleInfo: props.moduleInfo, data: conditionalStyle, onHide: props.onCloseWizard, onFinish: handleFinish, sections: [
45
+ return (React.createElement(OnePageAdaptableWizard_1.OnePageAdaptableWizard, { defaultCurrentSectionName: props.defaultCurrentSectionName, moduleInfo: props.moduleInfo, data: conditionalStyle, onHide: props.onCloseWizard, sections: [
56
46
  {
57
47
  title: 'Style',
58
48
  details: 'Specify the Style to be applied conditionally',
@@ -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;
@@ -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;
@@ -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
  };
@@ -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) {