@adaptabletools/adaptable-cjs 22.0.0-canary.1 → 22.0.0-canary.3

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 (177) hide show
  1. package/index.css +55 -37
  2. package/index.css.map +1 -1
  3. package/package.json +1 -1
  4. package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -2
  5. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  6. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  7. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  8. package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
  9. package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
  10. package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
  11. package/src/AdaptableState/FormatColumnState.d.ts +0 -8
  12. package/src/AdaptableState/InitialState.d.ts +1 -1
  13. package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
  14. package/src/Api/DataSetApi.d.ts +1 -1
  15. package/src/Api/GridApi.d.ts +3 -3
  16. package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
  17. package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
  18. package/src/Api/Implementation/AlertApiImpl.js +1 -0
  19. package/src/Api/Implementation/ApiBase.js +1 -0
  20. package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
  21. package/src/Api/Implementation/ChartingApiImpl.js +4 -0
  22. package/src/Api/Implementation/ColumnApiImpl.js +1 -0
  23. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
  24. package/src/Api/Implementation/CommentsApiImpl.js +1 -0
  25. package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
  26. package/src/Api/Implementation/DashboardApiImpl.js +1 -0
  27. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
  28. package/src/Api/Implementation/DataImportApiImpl.js +1 -0
  29. package/src/Api/Implementation/DataSetApiImpl.js +1 -0
  30. package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
  31. package/src/Api/Implementation/EventApiImpl.js +16 -14
  32. package/src/Api/Implementation/ExportApiImpl.js +1 -0
  33. package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
  34. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
  35. package/src/Api/Implementation/FilterApiImpl.js +3 -0
  36. package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
  37. package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
  38. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
  39. package/src/Api/Implementation/GridApiImpl.d.ts +9 -9
  40. package/src/Api/Implementation/GridApiImpl.js +17 -16
  41. package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
  42. package/src/Api/Implementation/LayoutApiImpl.js +1 -0
  43. package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
  44. package/src/Api/Implementation/NoteApiImpl.js +1 -0
  45. package/src/Api/Implementation/PredicateApiImpl.js +1 -0
  46. package/src/Api/Implementation/RowFormApiImpl.js +1 -0
  47. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
  48. package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
  49. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  50. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  51. package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
  52. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  53. package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
  54. package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
  55. package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
  56. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  57. package/src/Redux/Store/AdaptableStore.js +49 -43
  58. package/src/Strategy/AdaptableModuleBase.js +4 -0
  59. package/src/Strategy/AlertModule.js +1 -0
  60. package/src/Strategy/CalculatedColumnModule.js +1 -0
  61. package/src/Strategy/CellSummaryModule.js +1 -1
  62. package/src/Strategy/DataChangeHistoryModule.js +1 -0
  63. package/src/Strategy/FlashingCellModule.js +1 -0
  64. package/src/Strategy/FreeTextColumnModule.js +1 -0
  65. package/src/Strategy/LayoutModule.js +2 -1
  66. package/src/Strategy/PlusMinusModule.js +2 -0
  67. package/src/Strategy/ScheduleModule.js +1 -0
  68. package/src/Strategy/ShortcutModule.js +2 -0
  69. package/src/Strategy/TeamSharingModule.js +10 -10
  70. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
  71. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
  72. package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
  73. package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
  74. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
  75. package/src/Utilities/Helpers/StyleHelper.js +14 -0
  76. package/src/Utilities/MenuItem.js +18 -0
  77. package/src/Utilities/ObjectFactory.js +1 -1
  78. package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
  79. package/src/Utilities/Services/AlertService.js +6 -4
  80. package/src/Utilities/Services/AnnotationsService.js +4 -1
  81. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
  82. package/src/Utilities/Services/ChartingService.js +1 -0
  83. package/src/Utilities/Services/DataService.js +10 -2
  84. package/src/Utilities/Services/Fdc3Service.js +5 -3
  85. package/src/Utilities/Services/FlashingCellService.js +5 -0
  86. package/src/Utilities/Services/LicenseService/index.js +1 -1
  87. package/src/Utilities/Services/MetamodelService.js +2 -2
  88. package/src/Utilities/Services/ModuleService.js +4 -3
  89. package/src/Utilities/Services/QueryLanguageService.js +6 -5
  90. package/src/Utilities/Services/RowFormService.js +1 -0
  91. package/src/Utilities/Services/RowSummaryService.js +10 -7
  92. package/src/Utilities/Services/TeamSharingService.js +3 -1
  93. package/src/Utilities/Services/ThemeService.js +11 -9
  94. package/src/Utilities/Services/ValidationService.js +1 -0
  95. package/src/Utilities/createAgStatusPanelComponent.js +3 -0
  96. package/src/View/AdaptablePopover/index.d.ts +1 -0
  97. package/src/View/AdaptablePopover/index.js +1 -1
  98. package/src/View/Alert/ActiveAlertsPanel.js +8 -0
  99. package/src/View/Alert/AlertViewPanel.js +13 -9
  100. package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
  101. package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
  102. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
  103. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
  104. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
  105. package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
  106. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  107. package/src/View/Components/Buttons/ButtonApply.js +1 -1
  108. package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
  109. package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
  110. package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
  111. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
  112. package/src/View/Components/ExpressionWizard.js +5 -5
  113. package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
  114. package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
  115. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +18 -17
  116. package/src/View/Components/StyleComponent.js +20 -1
  117. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  118. package/src/View/CustomSort/CustomSortSummary.js +13 -13
  119. package/src/View/Dashboard/DashboardPopup.js +4 -5
  120. package/src/View/Export/ExportDestinationPicker.js +1 -1
  121. package/src/View/Export/ExportStatusBar.js +4 -2
  122. package/src/View/Export/ExportViewPanel.js +25 -18
  123. package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
  124. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -23
  125. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  126. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
  127. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
  128. package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
  129. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -2
  130. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
  131. package/src/View/Theme/ThemePopup.js +13 -16
  132. package/src/View/UIHelper.d.ts +2 -0
  133. package/src/View/UIHelper.js +16 -0
  134. package/src/agGrid/Adaptable.js +4 -0
  135. package/src/agGrid/AdaptableAgGrid.d.ts +2 -2
  136. package/src/agGrid/AdaptableAgGrid.js +104 -38
  137. package/src/agGrid/AdaptableFilterHandler.js +4 -0
  138. package/src/agGrid/AdaptableLogger.d.ts +3 -0
  139. package/src/agGrid/AdaptableLogger.js +10 -0
  140. package/src/agGrid/AgGridAdapter.js +11 -1
  141. package/src/agGrid/AgGridColumnAdapter.js +5 -18
  142. package/src/agGrid/AgGridExportAdapter.js +10 -9
  143. package/src/agGrid/AgGridFilterAdapter.js +4 -0
  144. package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
  145. package/src/agGrid/AgGridMenuAdapter.js +1 -0
  146. package/src/agGrid/AgGridModulesAdapter.js +2 -1
  147. package/src/agGrid/AgGridOptionsService.js +3 -0
  148. package/src/agGrid/AgGridThemeAdapter.js +2 -0
  149. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
  150. package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
  151. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
  152. package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
  153. package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
  154. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
  155. package/src/agGrid/index.d.ts +6 -0
  156. package/src/agGrid/index.js +6 -0
  157. package/src/components/Dashboard/DashboardToolbar.js +1 -1
  158. package/src/components/Datepicker/index.js +1 -1
  159. package/src/components/ExpressionEditor/EditorInput.js +19 -3
  160. package/src/components/Tree/TreeDropdown/index.js +1 -1
  161. package/src/components/overlayBaseZIndex.js +1 -1
  162. package/src/components/utils/useContainerScrollObserver/index.js +17 -14
  163. package/src/devTools/index.js +54 -53
  164. package/src/env.js +2 -2
  165. package/src/layout-manager/src/LMEmitter.js +11 -11
  166. package/src/layout-manager/src/LMLogger.js +7 -0
  167. package/src/layout-manager/src/index.js +56 -51
  168. package/src/metamodel/adaptable.metamodel.d.ts +66 -7
  169. package/src/metamodel/adaptable.metamodel.js +1 -1
  170. package/src/migration/AdaptableUpgradeHelper.js +5 -0
  171. package/src/migration/VersionUpgrade.js +1 -0
  172. package/src/migration/VersionUpgrade17.js +1 -2
  173. package/src/migration/VersionUpgrade22.d.ts +6 -0
  174. package/src/migration/VersionUpgrade22.js +31 -0
  175. package/src/parser/src/ExpressionEvaluationError.js +1 -0
  176. package/src/types.d.ts +1 -1
  177. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -3,6 +3,7 @@ import { SimpleButtonProps } from '../../../components/SimpleButton';
3
3
  export interface ClearButtonProps extends SimpleButtonProps {
4
4
  showText?: boolean;
5
5
  showIcon?: boolean;
6
+ variant?: SimpleButtonProps['variant'];
6
7
  }
7
8
  export declare class ButtonClear extends React.Component<ClearButtonProps, {}> {
8
9
  render(): React.JSX.Element;
@@ -14,6 +14,24 @@ const stopPropagation = (e) => {
14
14
  e.stopPropagation();
15
15
  };
16
16
  class EntityListActionButtons extends React.Component {
17
+ static defaultProps = {
18
+ // Adaptable: null,
19
+ suspendableObject: null,
20
+ showEdit: true,
21
+ showDelete: true,
22
+ showShare: false,
23
+ showSuspend: false,
24
+ overrideDisableEdit: false,
25
+ overrideDisableDelete: false,
26
+ overrideDisableClone: false,
27
+ overrideDisableShare: false,
28
+ confirmDeleteAction: null,
29
+ entityType: '',
30
+ accessLevel: 'Full',
31
+ editSize: 'xsmall',
32
+ deleteSize: 'xsmall',
33
+ shareSize: 'xsmall',
34
+ };
17
35
  render() {
18
36
  const { justifyContent } = this.props;
19
37
  const justifyContentClassName = (0, clsx_1.default)({
@@ -30,21 +48,3 @@ class EntityListActionButtons extends React.Component {
30
48
  }
31
49
  }
32
50
  exports.EntityListActionButtons = EntityListActionButtons;
33
- EntityListActionButtons.defaultProps = {
34
- // Adaptable: null,
35
- suspendableObject: null,
36
- showEdit: true,
37
- showDelete: true,
38
- showShare: false,
39
- showSuspend: false,
40
- overrideDisableEdit: false,
41
- overrideDisableDelete: false,
42
- overrideDisableClone: false,
43
- overrideDisableShare: false,
44
- confirmDeleteAction: null,
45
- entityType: '',
46
- accessLevel: 'Full',
47
- editSize: 'xsmall',
48
- deleteSize: 'xsmall',
49
- shareSize: 'xsmall',
50
- };
@@ -209,7 +209,7 @@ const FloatingFilterValues = (props) => {
209
209
  ...(props.value?.length
210
210
  ? {
211
211
  valueContainer: {
212
- fontWeight: 'var(--ab-cmp-quickfilter-selected-options-text__font-weight)',
212
+ fontWeight: 'var(--ab-cmp-floatingfilter-selected-options-text__font-weight)',
213
213
  },
214
214
  }
215
215
  : {}),
@@ -13,11 +13,6 @@ const Flex_1 = require("../../components/Flex");
13
13
  class ExpressionWizard extends React.Component {
14
14
  constructor(props) {
15
15
  super(props);
16
- this.handleCustomExpressionChange = (expression) => {
17
- this.setState({
18
- expression,
19
- }, () => this.props.updateGoBackState());
20
- };
21
16
  this.state = {
22
17
  // this is realy horrible but its only way to use the Expression Wizard for both Report (that has Query) and Format Column (that has Rule)
23
18
  // once we move to the new Wizard we can remove this monstrosity
@@ -47,6 +42,11 @@ class ExpressionWizard extends React.Component {
47
42
  .getQueryLanguageService()
48
43
  .validateBoolean(this.state.expression, ModuleConstants_1.NamedQueryModuleId).isValid);
49
44
  }
45
+ handleCustomExpressionChange = (expression) => {
46
+ this.setState({
47
+ expression,
48
+ }, () => this.props.updateGoBackState());
49
+ };
50
50
  canNext() {
51
51
  if (this.isValidExpression() == false) {
52
52
  return false;
@@ -5,17 +5,17 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const Dashboard_1 = require("../../../../components/Dashboard");
7
7
  class PanelDashboard extends React.Component {
8
+ static defaultProps = {
9
+ showConfigureActionButton: true,
10
+ showCloseActionButton: true,
11
+ headerText: 'Module',
12
+ onClose: null,
13
+ onConfigure: null,
14
+ accessLevel: 'Full',
15
+ };
8
16
  render() {
9
17
  const { headerText, showConfigureActionButton, showCloseActionButton, onConfigure, onClose, accessLevel, children, } = this.props;
10
18
  return (React.createElement(Dashboard_1.DashboardToolbar, { title: headerText, onConfigure: onConfigure, showConfigure: showConfigureActionButton, showClose: showCloseActionButton, onClose: onClose, accessLevel: accessLevel }, children));
11
19
  }
12
20
  }
13
21
  exports.PanelDashboard = PanelDashboard;
14
- PanelDashboard.defaultProps = {
15
- showConfigureActionButton: true,
16
- showCloseActionButton: true,
17
- headerText: 'Module',
18
- onClose: null,
19
- onConfigure: null,
20
- accessLevel: 'Full',
21
- };
@@ -11,6 +11,13 @@ const ButtonMaximise_1 = require("../../Buttons/ButtonMaximise");
11
11
  const twMerge_1 = require("../../../../twMerge");
12
12
  const Flex_1 = require("../../../../components/Flex");
13
13
  class PanelToolPanel extends React.Component {
14
+ static defaultProps = {
15
+ headerText: '',
16
+ onClose: null,
17
+ onConfigure: null,
18
+ onMinimiseChanged: null,
19
+ isMinimised: true,
20
+ };
14
21
  render() {
15
22
  const { useDefaultPanelStyle, isMinimised, onMinimiseChanged, headerText, onClose, onConfigure, ...props } = this.props;
16
23
  let header = (React.createElement(React.Fragment, null,
@@ -43,10 +50,3 @@ class PanelToolPanel extends React.Component {
43
50
  }
44
51
  }
45
52
  exports.PanelToolPanel = PanelToolPanel;
46
- PanelToolPanel.defaultProps = {
47
- headerText: '',
48
- onClose: null,
49
- onConfigure: null,
50
- onMinimiseChanged: null,
51
- isMinimised: true,
52
- };
@@ -3,15 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BulkUpdateValueSelector = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const FieldWrap_1 = tslib_1.__importDefault(require("../../../components/FieldWrap"));
6
+ const react_1 = require("react");
7
+ const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
7
8
  const UIHelper_1 = tslib_1.__importDefault(require("../../UIHelper"));
8
9
  const AdaptableInput_1 = tslib_1.__importDefault(require("../AdaptableInput"));
9
10
  const PermittedValuesSelector_1 = require("./PermittedValuesSelector");
10
- const Select_1 = require("../../../components/Select");
11
11
  const AdaptableContext_1 = require("../../AdaptableContext");
12
- const react_1 = require("react");
13
12
  const clsx_1 = tslib_1.__importDefault(require("clsx"));
14
13
  const Flex_1 = require("../../../components/Flex");
14
+ const icons_1 = require("../../../components/icons");
15
+ const InputGroup_1 = require("../../../components/InputGroup");
15
16
  const BulkUpdateValueSelector = (props) => {
16
17
  const [valueType, setValueType] = React.useState('existing');
17
18
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
@@ -21,8 +22,8 @@ const BulkUpdateValueSelector = (props) => {
21
22
  // TODO = this seems to be called whenever we edit a cell
22
23
  // which is then triggering a get all values
23
24
  // not sure that we need to
24
- const permittedValueSelector = (React.createElement(Flex_1.Box, null,
25
- React.createElement(PermittedValuesSelector_1.PermittedValuesSelector, { allowNewValues: true, searchable: 'inline', disabled: props.disabled || !props.selectedColumn, value: props.selectedColumnValue === '' ? null : props.selectedColumnValue, columnId: columnId, placeholder: isDateType ? 'Select' : 'Select or type new value', loadValues: (0, react_1.useCallback)(({ currentSearchValue }) => {
25
+ const permittedValueSelector = (React.createElement(Flex_1.Box, { className: 'twa:flex-1' },
26
+ React.createElement(PermittedValuesSelector_1.PermittedValuesSelector, { allowNewValues: true, searchable: 'inline', disabled: props.disabled || !props.selectedColumn, value: props.selectedColumnValue === '' ? null : props.selectedColumnValue, columnId: columnId, placeholder: 'Select value', loadValues: (0, react_1.useCallback)(({ currentSearchValue }) => {
26
27
  if (!columnId || !props.selectedGridCells.length) {
27
28
  return Promise.resolve([]);
28
29
  }
@@ -45,17 +46,17 @@ const BulkUpdateValueSelector = (props) => {
45
46
  : 'Enter Value', autoFocus: true, disabled: props.disabled, className: "twa:w-full", value: props.selectedColumnValue, onChange: (e) => {
46
47
  props.onColumnValueChange(e.target.value);
47
48
  } }));
48
- let valueTypeSelector = null;
49
- if (isDateType) {
50
- valueTypeSelector = (React.createElement(Select_1.Select, { "aria-label": "Bulk Update Value Selector", options: [
51
- { label: 'New', value: 'new' },
52
- { label: 'Existing', value: 'existing' },
53
- ], value: valueType, onChange: (value) => {
54
- setValueType(value);
55
- } }));
56
- }
57
- return (React.createElement(FieldWrap_1.default, { className: (0, clsx_1.default)('twa:overflow-visible twa:max-w-full', props.className), style: props.style }, isDateType ? (React.createElement(React.Fragment, null,
58
- valueType === 'new' ? input : permittedValueSelector,
59
- valueTypeSelector)) : (permittedValueSelector)));
49
+ return (React.createElement(Flex_1.Flex, { className: (0, clsx_1.default)('twa:overflow-visible twa:max-w-full', props.className), style: props.style }, isDateType ? (React.createElement(React.Fragment, null,
50
+ React.createElement(InputGroup_1.InputGroup, { Component: Flex_1.Flex, "data-id": "bulk-update-input-wrapper", className: "twa:w-full" },
51
+ React.createElement(DropdownButton_1.default, { "aria-label": "Bulk Update Value Selector", "data-id": "bulk-update-value-type-selector", "data-value": valueType, columns: ['label'], variant: "outlined", tone: "neutral", items: [
52
+ { label: 'New', icon: React.createElement(icons_1.Icon, { name: "edit" }), onClick: () => setValueType('new') },
53
+ {
54
+ label: 'Existing',
55
+ icon: React.createElement(icons_1.Icon, { name: "grid" }),
56
+ onClick: () => setValueType('existing'),
57
+ },
58
+ ] },
59
+ React.createElement(React.Fragment, null, valueType === 'existing' ? React.createElement(icons_1.Icon, { name: "grid" }) : React.createElement(icons_1.Icon, { name: "edit" }))),
60
+ valueType === 'new' ? input : permittedValueSelector))) : (permittedValueSelector)));
60
61
  };
61
62
  exports.BulkUpdateValueSelector = BulkUpdateValueSelector;
@@ -133,6 +133,14 @@ const StyleComponent = (props) => {
133
133
  }
134
134
  setComponentStyle(newStyle);
135
135
  };
136
+ const onAlignmentChange = (alignment) => {
137
+ const newStyle = { ...componentStyle };
138
+ newStyle.Alignment = alignment;
139
+ if (alignment == 'Default') {
140
+ delete newStyle.Alignment;
141
+ }
142
+ setComponentStyle(newStyle);
143
+ };
136
144
  const Cmp = props.headless ? Flex_1.Box : Panel_1.default;
137
145
  const headerText = props.headerText ?? 'Style';
138
146
  const cmpProps = props.headless
@@ -220,7 +228,18 @@ const StyleComponent = (props) => {
220
228
  ], value: componentStyle.FontSize?.toString() ?? '', onChange: (value) => onFontSizeChange(value) }))) : (React.createElement(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:gap-2 twa:flex-wrap" }, fontSizes.map((enumName) => {
221
229
  return (React.createElement(Radio_1.default, { onClick: () => onFontSizeChange(enumName), checked: (enumName == 'Default' && !componentStyle.FontSize) ||
222
230
  componentStyle.FontSize === enumName, key: enumName }, enumName));
223
- }))))))),
231
+ }))),
232
+ React.createElement("span", null, "Alignment"),
233
+ React.createElement(Toggle_1.ToggleGroup, null,
234
+ React.createElement(Toggle_1.Toggle, { icon: "align-left", pressed: componentStyle.Alignment === 'Left', onPressedChange: (pressed) => pressed
235
+ ? onAlignmentChange('Left')
236
+ : onAlignmentChange('Default') }),
237
+ React.createElement(Toggle_1.Toggle, { icon: "align-center", pressed: componentStyle.Alignment === 'Center', onPressedChange: (pressed) => pressed
238
+ ? onAlignmentChange('Center')
239
+ : onAlignmentChange('Default') }),
240
+ React.createElement(Toggle_1.Toggle, { icon: "align-right", pressed: componentStyle.Alignment === 'Right', onPressedChange: (pressed) => pressed
241
+ ? onAlignmentChange('Right')
242
+ : onAlignmentChange('Default') })))))),
224
243
  !props.hidePreview && (React.createElement(Card_1.Card, { shadow: false },
225
244
  React.createElement(Card_1.Card.Title, null, "Preview"),
226
245
  React.createElement(Card_1.Card.Body, { className: "twa:grid twa:place-items-center" },
@@ -226,6 +226,8 @@ const getAdaptableToolPanelAgGridComponent = (adaptable) => {
226
226
  };
227
227
  }
228
228
  return class AdaptableToolPanelAgGridComponent {
229
+ gui;
230
+ unmountReactRoot;
229
231
  init(params) {
230
232
  const api = adaptable.api;
231
233
  this.gui = document.createElement('div');
@@ -20,19 +20,6 @@ const CustomSortWizard_1 = require("./Wizard/CustomSortWizard");
20
20
  class CustomSortSummaryComponent extends React.Component {
21
21
  constructor(props) {
22
22
  super(props);
23
- this.onFinishWizard = (customSort) => {
24
- if (this.props.CustomSorts.find((x) => x.ColumnId == customSort.ColumnId)) {
25
- this.props.onEditCustomSort(customSort);
26
- }
27
- else {
28
- this.props.onAddCustomSort(customSort);
29
- }
30
- this.setState({
31
- editedAdaptableObject: null,
32
- wizardStartIndex: 0,
33
- wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
34
- });
35
- };
36
23
  this.state = UIHelper_1.UIHelper.getEmptyConfigState();
37
24
  }
38
25
  render() {
@@ -80,6 +67,19 @@ class CustomSortSummaryComponent extends React.Component {
80
67
  wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
81
68
  });
82
69
  }
70
+ onFinishWizard = (customSort) => {
71
+ if (this.props.CustomSorts.find((x) => x.ColumnId == customSort.ColumnId)) {
72
+ this.props.onEditCustomSort(customSort);
73
+ }
74
+ else {
75
+ this.props.onAddCustomSort(customSort);
76
+ }
77
+ this.setState({
78
+ editedAdaptableObject: null,
79
+ wizardStartIndex: 0,
80
+ wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
81
+ });
82
+ };
83
83
  canFinishWizard() {
84
84
  let customSort = this.state.editedAdaptableObject;
85
85
  return (StringExtensions_1.StringExtensions.IsNotNullOrEmpty(customSort.ColumnId) &&
@@ -73,18 +73,17 @@ class DashboardPopupComponent extends React.Component {
73
73
  React.createElement(Flex_1.Flex, { flexDirection: "column", className: "twa:h-full twa:gap-4" },
74
74
  areDashboardSettingsVisible && (React.createElement(React.Fragment, null,
75
75
  React.createElement(Card_1.Card, null,
76
- React.createElement(Card_1.Card.Title, { gap: 8 },
77
- "Display Settings",
78
- React.createElement(ToggleButton_1.ToggleButton, { className: "twa:self-end", onChange: (visible) => this.props.onSetDashboardHidden(!visible), checked: !this.props.IsHidden, "data-name": "dashboard-visibility" }, this.props.IsHidden ? 'Hidden' : 'Visible')),
76
+ React.createElement(Card_1.Card.Title, { gap: 8 }, "Display Settings"),
79
77
  React.createElement(Card_1.Card.Body, { gap: 2, className: "twa:p-2" },
80
- React.createElement(ToggleButton_1.ToggleButton, { disabled: this.props.IsFloating, className: "twa:w-24", onChange: (expanded) => this.props.onSetDashboardCollapsed(!expanded), checked: !this.props.IsCollapsed, "data-name": "expand-state" }, this.props.IsCollapsed ? 'Collapsed' : 'Expanded'),
78
+ React.createElement(ToggleButton_1.ToggleButton, { className: "twa:w-24", onChange: (visible) => this.props.onSetDashboardHidden(!visible), checked: !this.props.IsHidden, "data-name": "dashboard-visibility" }, this.props.IsHidden ? 'Hidden' : 'Visible'),
79
+ this.props.DashboardState.Tabs?.length > 0 ? (React.createElement(ToggleButton_1.ToggleButton, { disabled: this.props.IsFloating, className: "twa:w-24", onChange: (expanded) => this.props.onSetDashboardCollapsed(!expanded), checked: !this.props.IsCollapsed, "data-name": "expand-state" }, this.props.IsCollapsed ? 'Collapsed' : 'Expanded')) : null,
81
80
  this.props.api.optionsApi.getDashboardOptions().canFloat ? (React.createElement(ToggleButton_1.ToggleButton, { className: "twa:w-24", onChange: (pinned) => this.props.onSetDashboardFloating(!pinned), checked: !this.props.IsFloating, "data-name": "floating" }, this.props.IsFloating ? 'Floating' : 'Pinned')) : null)))),
82
81
  React.createElement(Card_1.Card, { className: "twa:flex-1 twa:overflow-hidden", gap: 0 },
83
82
  React.createElement(Card_1.Card.Title, null, "Contents"),
84
83
  React.createElement(Card_1.Card.Body, { className: "twa:p-2" },
85
84
  React.createElement(Tabs_1.Tabs, { className: "twa:flex-1 twa:min-h-0" },
86
85
  React.createElement(Tabs_1.Tabs.Tab, { value: "pinned-toolbars" }, "Pinned Toolbars"),
87
- React.createElement(Tabs_1.Tabs.Tab, { value: "tabbed-toolbars" }, "Tabbed Toolbars"),
86
+ React.createElement(Tabs_1.Tabs.Tab, { value: "tabbed-toolbars" }, "Tabs & Toolbars"),
88
87
  React.createElement(Tabs_1.Tabs.Tab, { value: "buttons" }, "Buttons"),
89
88
  React.createElement(Tabs_1.Tabs.Content, { value: "pinned-toolbars", className: contentCls },
90
89
  React.createElement(PinnedToolbarsSelector_1.PinnedToolbarsSelector, null)),
@@ -16,7 +16,7 @@ const ExportDestinationPicker = ({ reportName, reportFormat, viewType, }) => {
16
16
  };
17
17
  const supportedDestinations = exportApi.getSupportedExportDestinations(reportFormat);
18
18
  if (supportedDestinations.length === 0 || supportedDestinations.length === 1) {
19
- return (react_1.default.createElement(ButtonExport_1.ButtonExport, { className: (0, clsx_1.default)(viewType !== 'StatusBar' ? 'twa:mr-[20px]' : undefined, 'twa:pr-0'), onClick: () => handleExport(supportedDestinations[0]), tooltip: "Export Report", disabled: reportName == undefined || reportFormat == undefined }));
19
+ return (react_1.default.createElement(ButtonExport_1.ButtonExport, { className: (0, clsx_1.default)(viewType !== 'StatusBar' ? '' : undefined, ''), onClick: () => handleExport(supportedDestinations[0]), tooltip: "Export Report", disabled: reportName == undefined || reportFormat == undefined }));
20
20
  }
21
21
  const destinationItems = supportedDestinations.map((destination) => ({
22
22
  label: destination,
@@ -8,14 +8,16 @@ const ReportNameSelector_1 = require("./ReportNameSelector");
8
8
  const ReportFormatSelector_1 = require("./ReportFormatSelector");
9
9
  const ExportDestinationPicker_1 = require("./ExportDestinationPicker");
10
10
  const AdaptableContext_1 = require("../AdaptableContext");
11
+ const Flex_1 = require("../../components/Flex");
11
12
  const ExportStatusBar = () => {
12
13
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
13
14
  const exportApi = adaptable.api.exportApi;
14
15
  const currentReportName = (0, react_redux_1.useSelector)((state) => state.Export.CurrentReport);
15
16
  const currentFormat = (0, react_redux_1.useSelector)((state) => state.Export.CurrentFormat);
16
17
  return (react_1.default.createElement(react_1.default.Fragment, null,
17
- react_1.default.createElement(ReportNameSelector_1.ReportNameSelector, { viewType: "StatusBar", size: 'small', reportName: currentReportName, onReportNameSelected: (reportName) => exportApi.selectReport(reportName) }),
18
- react_1.default.createElement(ReportFormatSelector_1.ReportFormatSelector, { viewType: "StatusBar", size: 'small', reportName: currentReportName, reportFormat: currentFormat, onReportFormatSelected: (reportFormat) => exportApi.selectFormat(reportFormat) }),
18
+ react_1.default.createElement(Flex_1.Flex, { className: "twa:gap-1" },
19
+ react_1.default.createElement(ReportNameSelector_1.ReportNameSelector, { viewType: "StatusBar", reportName: currentReportName, onReportNameSelected: (reportName) => exportApi.selectReport(reportName) }),
20
+ react_1.default.createElement(ReportFormatSelector_1.ReportFormatSelector, { viewType: "StatusBar", reportName: currentReportName, reportFormat: currentFormat, onReportFormatSelected: (reportFormat) => exportApi.selectFormat(reportFormat) })),
19
21
  react_1.default.createElement(ExportDestinationPicker_1.ExportDestinationPicker, { viewType: "StatusBar", reportName: currentReportName, reportFormat: currentFormat })));
20
22
  };
21
23
  exports.ExportStatusBar = ExportStatusBar;
@@ -19,6 +19,7 @@ const ReportNameSelector_1 = require("./ReportNameSelector");
19
19
  const ReportFormatSelector_1 = require("./ReportFormatSelector");
20
20
  const ExportDestinationPicker_1 = require("./ExportDestinationPicker");
21
21
  const Flex_1 = require("../../components/Flex");
22
+ const clsx_1 = tslib_1.__importDefault(require("clsx"));
22
23
  const ExportViewPanel = (props) => {
23
24
  const dispatch = (0, react_redux_1.useDispatch)();
24
25
  const exportApi = props.api.exportApi;
@@ -30,28 +31,34 @@ const ExportViewPanel = (props) => {
30
31
  const deleteMessage = currentReport
31
32
  ? `Are you sure you want to delete '${currentReport.Name}'?`
32
33
  : 'Are you sure you want to delete this report?';
33
- const elementType = props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
34
- return (React.createElement(Flex_1.Flex, { flexDirection: "row", className: `ab-${elementType}__Export__panel twa:gap-2`, flexWrap: props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
34
+ const isToolbar = props.viewType === 'Toolbar';
35
+ const elementType = isToolbar ? 'DashboardToolbar' : 'ToolPanel';
36
+ return (React.createElement(Flex_1.Flex, { flexDirection: "row", className: (0, clsx_1.default)(`ab-${elementType}__CellSummary__wrap twa:gap-2 twa:flex-row`, {
37
+ 'twa:min-w-[486px] twa:flex-nowrap': isToolbar,
38
+ 'twa:flex-1 twa:flex-wrap': !isToolbar,
39
+ }) },
35
40
  React.createElement(ReportNameSelector_1.ReportNameSelector, { viewType: props.viewType, reportName: currentReportName, userReports: userReports, onReportNameSelected: (reportName) => exportApi.selectReport(reportName) }),
36
41
  React.createElement(ReportFormatSelector_1.ReportFormatSelector, { viewType: props.viewType, reportName: currentReportName, reportFormat: currentFormat, onReportFormatSelected: (reportFormat) => exportApi.selectFormat(reportFormat) }),
37
42
  React.createElement(Flex_1.Flex, { className: (0, join_1.default)(accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__Export__controls twa:w-full`) },
38
- React.createElement(ExportDestinationPicker_1.ExportDestinationPicker, { viewType: props.viewType, reportName: currentReportName, reportFormat: currentFormat }),
39
- React.createElement(ButtonEdit_1.ButtonEdit, { onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ExportModuleId, props.moduleInfo.Popup, {
40
- action: 'Edit',
41
- source: 'Toolbar',
42
- })), tooltip: "Edit Report", className: `ab-${elementType}__Export__edit`, disabled: currentReport == null, accessLevel: accessLevel }),
43
- React.createElement(ButtonNew_1.ButtonNew, { variant: "text", className: `ab-${elementType}__Export__new`, tone: "neutral", children: null, onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ExportModuleId, props.moduleInfo.Popup, {
44
- action: 'New',
45
- source: 'Toolbar',
46
- })), tooltip: "Create New Report", accessLevel: props.accessLevel }),
47
- 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 }),
48
- props.api.entitlementApi.isModuleFullEntitlement('Schedule') && (React.createElement(ButtonSchedule_1.ButtonSchedule, { className: `ab-${elementType}__Export__schedule twa:ml-1`, onClick: () => {
49
- const reportSchedule = ObjectFactory_1.default.CreateReportSchedule(currentReportName, currentFormat);
50
- dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ScheduleModuleId, 'SchedulePopup', {
43
+ React.createElement(Flex_1.Flex, { className: "twa:min-w-[44px]" },
44
+ React.createElement(ExportDestinationPicker_1.ExportDestinationPicker, { viewType: props.viewType, reportName: currentReportName, reportFormat: currentFormat })),
45
+ React.createElement(Flex_1.Flex, null,
46
+ React.createElement(ButtonEdit_1.ButtonEdit, { onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ExportModuleId, props.moduleInfo.Popup, {
47
+ action: 'Edit',
48
+ source: 'Toolbar',
49
+ })), tooltip: "Edit Report", className: `ab-${elementType}__Export__edit`, disabled: currentReport == null, accessLevel: accessLevel }),
50
+ React.createElement(ButtonNew_1.ButtonNew, { variant: "text", className: `ab-${elementType}__Export__new`, tone: "neutral", children: null, onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ExportModuleId, props.moduleInfo.Popup, {
51
51
  action: 'New',
52
52
  source: 'Toolbar',
53
- value: reportSchedule,
54
- }));
55
- }, tooltip: "Schedule", disabled: currentReport == null, accessLevel: props.accessLevel })))));
53
+ })), tooltip: "Create New Report", accessLevel: props.accessLevel }),
54
+ 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 }),
55
+ props.api.entitlementApi.isModuleFullEntitlement('Schedule') && (React.createElement(ButtonSchedule_1.ButtonSchedule, { className: `ab-${elementType}__Export__schedule`, onClick: () => {
56
+ const reportSchedule = ObjectFactory_1.default.CreateReportSchedule(currentReportName, currentFormat);
57
+ dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ScheduleModuleId, 'SchedulePopup', {
58
+ action: 'New',
59
+ source: 'Toolbar',
60
+ value: reportSchedule,
61
+ }));
62
+ }, tooltip: "Schedule", disabled: currentReport == null, accessLevel: props.accessLevel }))))));
56
63
  };
57
64
  exports.ExportViewPanel = ExportViewPanel;
@@ -19,19 +19,6 @@ const FormatColumnWizard_1 = require("./Wizard/FormatColumnWizard");
19
19
  class FormatColumnSummaryComponent extends React.Component {
20
20
  constructor(props) {
21
21
  super(props);
22
- this.onFinishWizard = (formatColumn) => {
23
- if (this.props.FormatColumns.find((x) => x.Uuid == formatColumn.Uuid)) {
24
- this.props.onEditFormatColumn(formatColumn);
25
- }
26
- else {
27
- this.props.onAddFormatColumn(formatColumn);
28
- }
29
- this.setState({
30
- editedAdaptableObject: null,
31
- wizardStartIndex: 0,
32
- wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
33
- });
34
- };
35
22
  this.state = UIHelper_1.UIHelper.getEmptyConfigState();
36
23
  }
37
24
  render() {
@@ -74,6 +61,19 @@ class FormatColumnSummaryComponent extends React.Component {
74
61
  wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
75
62
  });
76
63
  }
64
+ onFinishWizard = (formatColumn) => {
65
+ if (this.props.FormatColumns.find((x) => x.Uuid == formatColumn.Uuid)) {
66
+ this.props.onEditFormatColumn(formatColumn);
67
+ }
68
+ else {
69
+ this.props.onAddFormatColumn(formatColumn);
70
+ }
71
+ this.setState({
72
+ editedAdaptableObject: null,
73
+ wizardStartIndex: 0,
74
+ wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
75
+ });
76
+ };
77
77
  canFinishWizard() {
78
78
  let formatColumn = this.state.editedAdaptableObject;
79
79
  return formatColumn.Scope != undefined && UIHelper_1.UIHelper.IsNotEmptyStyle(formatColumn.Style);
@@ -7,16 +7,11 @@ const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayou
7
7
  const CheckBox_1 = require("../../../components/CheckBox");
8
8
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
9
9
  const Tag_1 = require("../../../components/Tag");
10
- const ToggleGroup_1 = require("../../../components/Toggle/ToggleGroup");
11
- const Toggle_1 = require("../../../components/Toggle/Toggle");
12
10
  const Radio_1 = tslib_1.__importStar(require("../../../components/Radio"));
13
11
  const Flex_1 = require("../../../components/Flex");
14
12
  const Card_1 = require("../../../components/Card");
15
13
  const renderFormatColumnSettingsSummary = (data) => {
16
14
  return (React.createElement(Flex_1.Box, { className: "twa:p-2" },
17
- React.createElement(Flex_1.Box, null,
18
- "Cell alignment ",
19
- React.createElement(Tag_1.Tag, null, data.CellAlignment ?? 'default')),
20
15
  React.createElement(Flex_1.Box, { className: "twa:mt-3" },
21
16
  "Data Rows ",
22
17
  React.createElement(Tag_1.Tag, null, data.RowScope?.ExcludeDataRows ? 'no' : 'yes')),
@@ -40,13 +35,6 @@ const renderFormatColumnSettingsSummary = (data) => {
40
35
  exports.renderFormatColumnSettingsSummary = renderFormatColumnSettingsSummary;
41
36
  const FormatColumnSettingsWizardSection = (props) => {
42
37
  const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
43
- const onCellAlignmentSelectChanged = (CellAlignment) => {
44
- const newData = { ...data, CellAlignment };
45
- if (CellAlignment === null) {
46
- delete newData.CellAlignment;
47
- }
48
- props.onChange(newData);
49
- };
50
38
  const onExcludeDataRowsChanged = (ExcludeDataRows) => {
51
39
  props.onChange({
52
40
  ...data,
@@ -88,17 +76,6 @@ const FormatColumnSettingsWizardSection = (props) => {
88
76
  React.createElement(Card_1.Card.Body, null,
89
77
  React.createElement(Flex_1.Flex, { flexDirection: "row" },
90
78
  React.createElement(FormLayout_1.default, null,
91
- React.createElement(FormLayout_1.FormRow, { label: "Cell Alignment" },
92
- React.createElement(ToggleGroup_1.ToggleGroup, null,
93
- React.createElement(Toggle_1.Toggle, { icon: "align-left", pressed: data.CellAlignment === 'Left', onPressedChange: (pressed) => pressed
94
- ? onCellAlignmentSelectChanged('Left')
95
- : onCellAlignmentSelectChanged(null) }),
96
- React.createElement(Toggle_1.Toggle, { icon: "align-center", pressed: data.CellAlignment === 'Center', onPressedChange: (pressed) => pressed
97
- ? onCellAlignmentSelectChanged('Center')
98
- : onCellAlignmentSelectChanged(null) }),
99
- React.createElement(Toggle_1.Toggle, { icon: "align-right", pressed: data.CellAlignment === 'Right', onPressedChange: (pressed) => pressed
100
- ? onCellAlignmentSelectChanged('Right')
101
- : onCellAlignmentSelectChanged(null) }))),
102
79
  data.Target === 'cell' && (React.createElement(React.Fragment, null,
103
80
  React.createElement(FormLayout_1.FormRow, { label: "Exclude Data Rows:" },
104
81
  React.createElement(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2" },
@@ -13,7 +13,6 @@ const isFormatColumnStyleValid = (data, api) => {
13
13
  if (data.Style &&
14
14
  UIHelper_1.default.IsEmptyStyle(data.Style) &&
15
15
  data.DisplayFormat === undefined &&
16
- data.CellAlignment === undefined &&
17
16
  !api.columnScopeApi.isSingleBooleanColumnScope(data.Scope)) {
18
17
  return 'No format applied';
19
18
  }
@@ -25,7 +24,8 @@ const toStyle = (data) => {
25
24
  ...(0, StyleHelper_1.convertAdaptableStyleToCSS)(data.Style ?? {}),
26
25
  borderWidth: data.Style?.BorderColor ? 2 : 0,
27
26
  borderStyle: 'solid',
28
- textAlign: data.CellAlignment ? data.CellAlignment.toLowerCase() : undefined,
27
+ // ToDO abcdefg
28
+ textAlign: data.Style?.Alignment ? data.Style.Alignment.toLowerCase() : undefined,
29
29
  };
30
30
  };
31
31
  const renderFormatColumnStyleWizardSummary = (data) => {
@@ -19,19 +19,6 @@ const FreeTextColumnWizard_1 = require("./Wizard/FreeTextColumnWizard");
19
19
  class FreeTextColumnSummaryComponent extends React.Component {
20
20
  constructor(props) {
21
21
  super(props);
22
- this.onFinishWizard = (FreeTextColumn) => {
23
- if (this.props.FreeTextColumns.find((x) => x.ColumnId == FreeTextColumn.ColumnId)) {
24
- this.props.onEditFreeTextColumn(FreeTextColumn);
25
- }
26
- else {
27
- this.props.onAddFreeTextColumn(FreeTextColumn);
28
- }
29
- this.setState({
30
- editedAdaptableObject: null,
31
- wizardStartIndex: 0,
32
- wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
33
- });
34
- };
35
22
  this.state = UIHelper_1.UIHelper.getEmptyConfigState();
36
23
  }
37
24
  render() {
@@ -72,6 +59,19 @@ class FreeTextColumnSummaryComponent extends React.Component {
72
59
  wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
73
60
  });
74
61
  }
62
+ onFinishWizard = (FreeTextColumn) => {
63
+ if (this.props.FreeTextColumns.find((x) => x.ColumnId == FreeTextColumn.ColumnId)) {
64
+ this.props.onEditFreeTextColumn(FreeTextColumn);
65
+ }
66
+ else {
67
+ this.props.onAddFreeTextColumn(FreeTextColumn);
68
+ }
69
+ this.setState({
70
+ editedAdaptableObject: null,
71
+ wizardStartIndex: 0,
72
+ wizardStatus: EditableConfigEntityState_1.WizardStatus.None,
73
+ });
74
+ };
75
75
  canFinishWizard() {
76
76
  let FreeTextColumn = this.state.editedAdaptableObject;
77
77
  return StringExtensions_1.StringExtensions.IsNotNullOrEmpty(FreeTextColumn.ColumnId);