@adaptabletools/adaptable 13.0.0-canary.2 → 13.0.0-canary.21

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 (289) hide show
  1. package/agGrid.d.ts +23 -1
  2. package/agGrid.js +23 -1
  3. package/base.css +1232 -733
  4. package/base.css.map +1 -0
  5. package/bundle.cjs.js +237 -220
  6. package/index.css +1250 -734
  7. package/index.css.map +1 -0
  8. package/package.json +5 -5
  9. package/publishTimestamp.d.ts +1 -1
  10. package/publishTimestamp.js +1 -1
  11. package/src/AdaptableInterfaces/IAdaptable.d.ts +7 -3
  12. package/src/AdaptableOptions/AdaptableOptions.d.ts +0 -2
  13. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +136 -27
  14. package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
  15. package/src/AdaptableOptions/FinsemblePluginOptions.d.ts +32 -0
  16. package/src/{Api/ConditionalStyleApi.js → AdaptableOptions/FinsemblePluginOptions.js} +0 -0
  17. package/src/AdaptableOptions/LayoutOptions.d.ts +2 -1
  18. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  19. package/src/Api/AdaptableApi.d.ts +2 -5
  20. package/src/Api/ColumnApi.d.ts +8 -2
  21. package/src/Api/ConfigApi.d.ts +0 -6
  22. package/src/Api/ExportApi.d.ts +6 -6
  23. package/src/Api/FinsembleApi.d.ts +10 -0
  24. package/src/{Strategy/Interface/IConditionalStyleModule.js → Api/FinsembleApi.js} +0 -0
  25. package/src/Api/FormatColumnApi.d.ts +76 -59
  26. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  27. package/src/Api/Implementation/AdaptableApiImpl.js +2 -3
  28. package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
  29. package/src/Api/Implementation/ColumnApiImpl.js +18 -14
  30. package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -2
  31. package/src/Api/Implementation/ConfigApiImpl.js +0 -11
  32. package/src/Api/Implementation/ExportApiImpl.d.ts +4 -4
  33. package/src/Api/Implementation/ExportApiImpl.js +14 -14
  34. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -1
  35. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +36 -17
  36. package/src/Api/Implementation/FormatColumnApiImpl.js +101 -185
  37. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -0
  38. package/src/Api/Implementation/InternalApiImpl.js +5 -0
  39. package/src/Api/Implementation/PluginsApiImpl.d.ts +2 -0
  40. package/src/Api/Implementation/PluginsApiImpl.js +6 -0
  41. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -3
  42. package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -18
  43. package/src/Api/Implementation/ScopeApiImpl.d.ts +1 -1
  44. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +25 -0
  45. package/src/Api/Implementation/StyledColumnApiImpl.js +193 -0
  46. package/src/Api/Implementation/SystemStatusApiImpl.js +1 -2
  47. package/src/Api/Implementation/ToolPanelApiImpl.d.ts +3 -1
  48. package/src/Api/Implementation/ToolPanelApiImpl.js +8 -0
  49. package/src/Api/InternalApi.d.ts +1 -0
  50. package/src/Api/PluginsApi.d.ts +5 -0
  51. package/src/Api/QueryLanguageApi.d.ts +3 -7
  52. package/src/Api/ScopeApi.d.ts +1 -1
  53. package/src/Api/StyledColumnApi.d.ts +106 -0
  54. package/src/Api/StyledColumnApi.js +2 -0
  55. package/src/Api/ToolPanelApi.d.ts +10 -1
  56. package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
  57. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  58. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +1 -1
  59. package/src/PredefinedConfig/Common/AdaptablePredicate.js +37 -37
  60. package/src/PredefinedConfig/Common/Types.d.ts +3 -3
  61. package/src/PredefinedConfig/Common/Types.js +1 -0
  62. package/src/PredefinedConfig/ConditionalStyleState.d.ts +10 -19
  63. package/src/PredefinedConfig/FormatColumnState.d.ts +21 -92
  64. package/src/PredefinedConfig/PredefinedConfig.d.ts +6 -0
  65. package/src/PredefinedConfig/StyledColumnState.d.ts +119 -0
  66. package/src/PredefinedConfig/StyledColumnState.js +2 -0
  67. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +14 -0
  68. package/src/Redux/ActionsReducers/FormatColumnRedux.js +43 -1
  69. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +4 -4
  70. package/src/Redux/ActionsReducers/PluginsRedux.js +5 -5
  71. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +49 -0
  72. package/src/Redux/ActionsReducers/StyledColumnRedux.js +92 -0
  73. package/src/Redux/DeadRedux.d.ts +6 -0
  74. package/src/Redux/DeadRedux.js +19 -1
  75. package/src/Redux/Store/AdaptableStore.js +11 -8
  76. package/src/Strategy/ConditionalStyleModule.d.ts +2 -25
  77. package/src/Strategy/ConditionalStyleModule.js +0 -213
  78. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  79. package/src/Strategy/DataChangeHistoryModule.js +12 -0
  80. package/src/Strategy/FormatColumnModule.d.ts +3 -10
  81. package/src/Strategy/FormatColumnModule.js +42 -183
  82. package/src/Strategy/Interface/IModule.d.ts +1 -0
  83. package/src/Strategy/LayoutModule.js +0 -4
  84. package/src/Strategy/StyledColumnModule.d.ts +24 -0
  85. package/src/Strategy/StyledColumnModule.js +165 -0
  86. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.d.ts +1 -1
  87. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +3 -4
  88. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +1 -16
  89. package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
  90. package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
  91. package/src/Utilities/Constants/ModuleConstants.js +4 -1
  92. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -12
  93. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
  94. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +3 -2
  95. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +3 -1
  96. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -0
  97. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +3 -1
  98. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -0
  99. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -1
  100. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +2 -4
  101. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -1
  102. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -0
  103. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -1
  104. package/src/Utilities/Extensions/TypeExtensions.d.ts +1 -0
  105. package/src/Utilities/Extensions/TypeExtensions.js +5 -0
  106. package/src/Utilities/ObjectFactory.d.ts +5 -2
  107. package/src/Utilities/ObjectFactory.js +14 -7
  108. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +14 -4
  109. package/src/Utilities/Services/{LicenseService.d.ts → LicenseService/index.d.ts} +3 -3
  110. package/src/Utilities/Services/LicenseService/index.js +1 -0
  111. package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.d.ts +1 -0
  112. package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.js +15 -0
  113. package/src/Utilities/Services/ModuleService.js +2 -2
  114. package/src/Utilities/Services/QueryLanguageService.d.ts +3 -3
  115. package/src/Utilities/Services/QueryLanguageService.js +89 -40
  116. package/src/Utilities/Services/ReportService.js +6 -6
  117. package/src/Utilities/license/LicenseDetails.d.ts +1 -1
  118. package/src/Utilities/license/decode.d.ts +1 -0
  119. package/src/Utilities/license/decode.js +1 -1
  120. package/src/View/AdaptablePopover/index.js +1 -1
  121. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +11 -12
  122. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
  123. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -3
  124. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -3
  125. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  126. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  127. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  128. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  129. package/src/View/Components/AdaptableObjectRow/index.js +1 -6
  130. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
  131. package/src/View/Components/Buttons/ButtonInfo.js +3 -5
  132. package/src/View/Components/EntityRulesEditor/index.d.ts +2 -1
  133. package/src/View/Components/EntityRulesEditor/index.js +36 -35
  134. package/src/View/Components/FilterForm/FilterForm.js +11 -16
  135. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  136. package/src/View/Components/FilterForm/QuickFilterForm.js +7 -13
  137. package/src/View/Components/NewScopeComponent.js +3 -3
  138. package/src/View/Components/Panels/PanelWithButton.js +1 -5
  139. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  140. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
  141. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
  142. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
  143. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +1 -0
  144. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
  145. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
  146. package/src/View/Components/RangesComponent.d.ts +8 -1
  147. package/src/View/Components/RangesComponent.js +60 -24
  148. package/src/View/Components/ScopeComponent.js +6 -6
  149. package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -0
  150. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  151. package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
  152. package/src/View/Components/StyleComponent.js +14 -19
  153. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +3 -9
  154. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +25 -10
  155. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  156. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  157. package/src/View/DataSet/DataSetSelector.js +1 -1
  158. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  159. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  160. package/src/View/Export/ExportViewPanel.js +4 -4
  161. package/src/View/Export/ReportExportDropdown.js +1 -1
  162. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
  163. package/src/View/Filter/FilterSummary.d.ts +1 -1
  164. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  165. package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
  166. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +3 -3
  167. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
  168. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  169. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  170. package/src/View/FormatColumn/MoveFormatColumn.d.ts +7 -0
  171. package/src/View/FormatColumn/MoveFormatColumn.js +27 -0
  172. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +28 -28
  173. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +8 -0
  174. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +28 -0
  175. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +21 -3
  176. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -28
  177. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -3
  178. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +6 -300
  179. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +15 -9
  180. package/src/View/FormatColumn/Wizard/constants.d.ts +1 -0
  181. package/src/View/FormatColumn/Wizard/constants.js +4 -0
  182. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
  183. package/src/View/GridInfo/ColumnInfoComponent.js +0 -7
  184. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  185. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  186. package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
  187. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  188. package/src/View/Layout/Wizard/sections/ColumnsSection.js +7 -6
  189. package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
  190. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +1 -1
  191. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
  192. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  193. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  194. package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
  195. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  196. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
  197. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
  198. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  199. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
  200. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
  201. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
  202. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
  203. package/src/View/SmartEdit/SmartEditPopup.js +3 -3
  204. package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
  205. package/src/View/StateManagement/StateManagementPopup.js +4 -4
  206. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +7 -0
  207. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +77 -0
  208. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +9 -0
  209. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +65 -0
  210. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.d.ts +9 -0
  211. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.js +234 -0
  212. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +7 -0
  213. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +59 -0
  214. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
  215. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  216. package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
  217. package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
  218. package/src/View/Theme/ThemePopup.js +1 -1
  219. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -1
  220. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -2
  221. package/src/agGrid/ActionColumnRenderer.d.ts +3 -0
  222. package/src/agGrid/ActionColumnRenderer.js +96 -64
  223. package/src/agGrid/Adaptable.d.ts +13 -9
  224. package/src/agGrid/Adaptable.js +207 -221
  225. package/src/agGrid/CheckboxRenderer.js +1 -1
  226. package/src/agGrid/FilterWrapper.js +60 -16
  227. package/src/agGrid/FloatingFilterWrapper.d.ts +2 -2
  228. package/src/agGrid/FloatingFilterWrapper.js +71 -32
  229. package/src/agGrid/PercentBarRenderer.d.ts +6 -2
  230. package/src/agGrid/PercentBarRenderer.js +19 -17
  231. package/src/agGrid/agGridHelper.d.ts +6 -2
  232. package/src/agGrid/agGridHelper.js +17 -17
  233. package/src/agGrid/createAgStatusPanelComponent.d.ts +1 -1
  234. package/src/agGrid/createAgStatusPanelComponent.js +17 -0
  235. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +5 -1
  236. package/src/agGrid/editors/AdaptableDateEditor/index.js +87 -20
  237. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  238. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +3 -3
  239. package/src/agGrid/editors/AdaptableNumberEditor/index.js +81 -30
  240. package/src/agGrid/weightedAverage.js +19 -11
  241. package/src/components/CheckBox/index.js +7 -2
  242. package/src/components/Datepicker/index.d.ts +1 -1
  243. package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -1
  244. package/src/components/ExpressionEditor/BaseEditorInput.js +13 -32
  245. package/src/components/ExpressionEditor/EditorInput.js +1 -1
  246. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +1 -1
  247. package/src/components/ExpressionEditor/index.js +9 -17
  248. package/src/components/FormLayout/index.js +1 -1
  249. package/src/components/StylePreview.js +2 -1
  250. package/src/components/icons/brush.d.ts +3 -0
  251. package/src/components/icons/brush.js +7 -0
  252. package/src/components/icons/index.js +2 -0
  253. package/src/metamodel/adaptable.metamodel.d.ts +213 -121
  254. package/src/metamodel/adaptable.metamodel.js +1 -1
  255. package/src/parser/src/types.d.ts +6 -3
  256. package/src/renderReactRoot.d.ts +2 -0
  257. package/src/renderReactRoot.js +11 -9
  258. package/src/types.d.ts +8 -6
  259. package/themes/dark.css +8 -4
  260. package/themes/dark.css.map +1 -0
  261. package/themes/light.css +4 -1
  262. package/themes/light.css.map +1 -0
  263. package/version.d.ts +1 -1
  264. package/version.js +1 -1
  265. package/src/AdaptableComponents.d.ts +0 -1
  266. package/src/AdaptableComponents.js +0 -5
  267. package/src/Api/ConditionalStyleApi.d.ts +0 -108
  268. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +0 -29
  269. package/src/Api/Implementation/ConditionalStyleApiImpl.js +0 -98
  270. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -49
  271. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -95
  272. package/src/Strategy/Interface/IConditionalStyleModule.d.ts +0 -6
  273. package/src/Strategy/Utilities/getStyleViewItems.d.ts +0 -2
  274. package/src/Strategy/Utilities/getStyleViewItems.js +0 -16
  275. package/src/Utilities/Services/LicenseService.js +0 -1
  276. package/src/View/ConditionalStyle/ConditionalStyleSummary.d.ts +0 -25
  277. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +0 -108
  278. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.d.ts +0 -9
  279. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +0 -42
  280. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.d.ts +0 -8
  281. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +0 -43
  282. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +0 -8
  283. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +0 -29
  284. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.d.ts +0 -8
  285. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +0 -23
  286. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +0 -6
  287. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +0 -114
  288. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.d.ts +0 -1
  289. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.js +0 -4
@@ -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) {
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { AccessLevel, FormatColumn } from '../../types';
3
+ export declare const MoveFormatColumn: React.FunctionComponent<{
4
+ data: FormatColumn;
5
+ id?: string;
6
+ accessLevel: AccessLevel;
7
+ }>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MoveFormatColumn = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
7
+ const FormatColumnRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/FormatColumnRedux"));
8
+ const react_redux_1 = require("react-redux");
9
+ const AdaptableContext_1 = require("../AdaptableContext");
10
+ const MoveFormatColumn = (props) => {
11
+ const dispatch = (0, react_redux_1.useDispatch)();
12
+ const adaptable = (0, AdaptableContext_1.useAdaptable)();
13
+ const formatColumn = adaptable.api.formatColumnApi.getAllFormatColumn();
14
+ const handleMoveUp = React.useCallback(() => {
15
+ dispatch(FormatColumnRedux.FormatColumnMoveUp(props.data));
16
+ }, []);
17
+ const handleMoveDown = React.useCallback(() => {
18
+ dispatch(FormatColumnRedux.FormatColumnMoveDown(props.data));
19
+ }, []);
20
+ if ((formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.length) <= 1) {
21
+ return React.createElement(React.Fragment, null);
22
+ }
23
+ return (React.createElement(React.Fragment, null,
24
+ React.createElement(SimpleButton_1.default, { "data-id": "move-up", title: "move up", onClick: handleMoveUp, variant: "text", icon: "arrow-up" }),
25
+ React.createElement(SimpleButton_1.default, { "data-name": "move-down", title: "move down", onClick: handleMoveDown, variant: "text", icon: "arrow-down" })));
26
+ };
27
+ exports.MoveFormatColumn = MoveFormatColumn;
@@ -100,7 +100,7 @@ exports.getFormatColumnFormatSummaryValue = getFormatColumnFormatSummaryValue;
100
100
  const renderCustomFormatter = (data, customFormatter, setFormatOption) => {
101
101
  var _a, _b, _c;
102
102
  return (React.createElement(FormLayout_1.FormRow, { key: customFormatter.id, label: (_a = customFormatter.label) !== null && _a !== void 0 ? _a : customFormatter.id },
103
- React.createElement(CheckBox_1.CheckBox, { checked: (_c = (_b = data.DisplayFormat.Options.CustomDisplayFormats) === null || _b === void 0 ? void 0 : _b.some) === null || _c === void 0 ? void 0 : _c.call(_b, (item) => item === customFormatter.id), onChange: (checked) => {
103
+ React.createElement(CheckBox_1.CheckBox, { "data-name": customFormatter.id, checked: (_c = (_b = data.DisplayFormat.Options.CustomDisplayFormats) === null || _b === void 0 ? void 0 : _b.some) === null || _c === void 0 ? void 0 : _c.call(_b, (item) => item === customFormatter.id), onChange: (checked) => {
104
104
  var _a, _b, _c;
105
105
  let newCustomFormats = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.DisplayFormat) === null || _a === void 0 ? void 0 : _a.Options) === null || _b === void 0 ? void 0 : _b.CustomDisplayFormats) !== null && _c !== void 0 ? _c : [];
106
106
  if (checked) {
@@ -125,7 +125,7 @@ const getFormatDisplayTypeForScope = (scope, api) => {
125
125
  }
126
126
  // need to see if all columns are numeric or date
127
127
  if ('ColumnIds' in scope) {
128
- const columns = scope.ColumnIds.map((c) => api.columnApi.getColumnFromId(c));
128
+ const columns = scope.ColumnIds.map((c) => api.columnApi.getColumnFromId(c)).filter(Boolean);
129
129
  const columnDataTypes = (0, uniq_1.default)(columns.map((c) => c.dataType));
130
130
  if (columnDataTypes.length == 1 && columnDataTypes[0] == 'Number') {
131
131
  return 'Number';
@@ -150,7 +150,7 @@ const getFormatDisplayTypeForScope = (scope, api) => {
150
150
  return undefined;
151
151
  };
152
152
  exports.getFormatDisplayTypeForScope = getFormatDisplayTypeForScope;
153
- const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatters, formatColumnApi) => {
153
+ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatters) => {
154
154
  if (data.DisplayFormat.Formatter !== 'DateFormatter') {
155
155
  return null;
156
156
  }
@@ -165,7 +165,7 @@ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatte
165
165
  ")."),
166
166
  React.createElement(FormLayout_1.default, null,
167
167
  React.createElement(FormLayout_1.FormRow, { label: "Pattern" },
168
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Pattern, onChange: (e) => setFormatOption('Pattern', e.currentTarget.value), mr: 2 }),
168
+ React.createElement(Input_1.default, { "data-name": "patern", value: data.DisplayFormat.Options.Pattern, onChange: (e) => setFormatOption('Pattern', e.currentTarget.value), mr: 2 }),
169
169
  React.createElement("span", null, FormatHelper_1.default.DateFormatter(new Date(), data.DisplayFormat.Options)))))),
170
170
  scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
171
171
  React.createElement(Tabs_1.Tabs.Tab, null, "Custom Formats"),
@@ -186,7 +186,7 @@ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatte
186
186
  Size: 1,
187
187
  },
188
188
  {
189
- Content: (React.createElement(SimpleButton_1.default, { onClick: () => setFormatOption('Pattern', Pattern) }, "Apply")),
189
+ Content: (React.createElement(SimpleButton_1.default, { "data-name": "apply-format-pattern", "data-value": Pattern, onClick: () => setFormatOption('Pattern', Pattern) }, "Apply")),
190
190
  Size: 1,
191
191
  },
192
192
  ] })))))));
@@ -250,16 +250,16 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
250
250
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
251
251
  React.createElement(FormLayout_1.default, { mr: 3 },
252
252
  React.createElement(FormLayout_1.FormRow, { label: "Fraction Separator" },
253
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.FractionSeparator, onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })),
253
+ React.createElement(Input_1.default, { "data-name": "fraction-separator", value: data.DisplayFormat.Options.FractionSeparator, onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })),
254
254
  React.createElement(FormLayout_1.FormRow, { label: "Integer Separator" },
255
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.IntegerSeparator, onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
255
+ React.createElement(Input_1.default, { "data-name": "integer-separator", value: data.DisplayFormat.Options.IntegerSeparator, onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
256
256
  React.createElement(FormLayout_1.FormRow, { label: "Prefix" },
257
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
257
+ React.createElement(Input_1.default, { "data-name": "prefix", value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
258
258
  React.createElement(FormLayout_1.FormRow, { label: "Suffix" },
259
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) }))),
259
+ React.createElement(Input_1.default, { "data-name": "suffix", value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) }))),
260
260
  React.createElement(FormLayout_1.default, null,
261
261
  React.createElement(FormLayout_1.FormRow, { label: "Fraction Digits" },
262
- React.createElement(Input_1.default, { type: "number", min: "0",
262
+ React.createElement(Input_1.default, { "data-name": "fraction-digits", type: "number", min: "0",
263
263
  // max="20"
264
264
  value: typeof data.DisplayFormat.Options.FractionDigits === 'number'
265
265
  ? data.DisplayFormat.Options.FractionDigits
@@ -267,13 +267,13 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
267
267
  ? (0, clamp_1.default)(Number(e.currentTarget.value), 0, 20)
268
268
  : undefined) })),
269
269
  React.createElement(FormLayout_1.FormRow, { label: "Integer Digits" },
270
- React.createElement(Input_1.default, { type: "number", min: "0", value: data.DisplayFormat.Options.IntegerDigits, onChange: (e) => setFormatOption('IntegerDigits', Number(e.currentTarget.value)) })),
270
+ React.createElement(Input_1.default, { "data-name": "integer-digits", type: "number", min: "0", value: data.DisplayFormat.Options.IntegerDigits, onChange: (e) => setFormatOption('IntegerDigits', Number(e.currentTarget.value)) })),
271
271
  React.createElement(FormLayout_1.FormRow, { label: "Multiplier" },
272
- React.createElement(Input_1.default, { type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
272
+ React.createElement(Input_1.default, { "data-name": "multiplier", type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
273
273
  React.createElement(FormLayout_1.FormRow, { label: "Parentheses" },
274
- React.createElement(CheckBox_1.CheckBox, { checked: data.DisplayFormat.Options.Parentheses, onChange: (checked) => setFormatOption('Parentheses', checked) })),
274
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "parentheses-checkbox", checked: data.DisplayFormat.Options.Parentheses, onChange: (checked) => setFormatOption('Parentheses', checked) })),
275
275
  React.createElement(FormLayout_1.FormRow, { label: "Truncate" },
276
- React.createElement(CheckBox_1.CheckBox, { checked: data.DisplayFormat.Options.Truncate, onChange: (checked) => setFormatOption('Truncate', checked) })))))),
276
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "truncate-checkbox", checked: data.DisplayFormat.Options.Truncate, onChange: (checked) => setFormatOption('Truncate', checked) })))))),
277
277
  scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
278
278
  React.createElement(Tabs_1.Tabs.Tab, null, "Custom Formats"),
279
279
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -286,11 +286,11 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
286
286
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
287
287
  React.createElement(FormLayout_1.default, { margin: 2 },
288
288
  React.createElement(FormLayout_1.FormRow, { label: "Show As:" },
289
- React.createElement(Radio_1.default, { marginLeft: 2, checked: IS_PERCENT, onChange: () => setPercentPreset() }, "Percentage"),
290
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_THOUSAND, onChange: () => setDivideThousandPreset() }, "K (Thousand)"),
291
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_MILLION, onChange: () => setDivideMillionPreset() }, "M (Million)"),
292
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_DOLLAR, onChange: () => setDollarPreset() }, "Dollar"),
293
- React.createElement(Radio_1.default, { marginLeft: 3, checked: IS_STERLING, onChange: () => setSterlingPreset() }, "Sterling")))))),
289
+ React.createElement(Radio_1.default, { "data-name": "preset-percentage", marginLeft: 2, checked: IS_PERCENT, onChange: () => setPercentPreset() }, "Percentage"),
290
+ React.createElement(Radio_1.default, { "data-name": "preset-thousand", marginLeft: 3, checked: IS_THOUSAND, onChange: () => setDivideThousandPreset() }, "K (Thousand)"),
291
+ React.createElement(Radio_1.default, { "data-name": "preset-million", marginLeft: 3, checked: IS_MILLION, onChange: () => setDivideMillionPreset() }, "M (Million)"),
292
+ React.createElement(Radio_1.default, { "data-name": "preset-dollar", marginLeft: 3, checked: IS_DOLLAR, onChange: () => setDollarPreset() }, "Dollar"),
293
+ React.createElement(Radio_1.default, { "data-name": "preset-sterling", marginLeft: 3, checked: IS_STERLING, onChange: () => setSterlingPreset() }, "Sterling")))))),
294
294
  React.createElement(Tabs_1.Tabs, { marginTop: 2, autoFocus: false, keyboardNavigation: false },
295
295
  React.createElement(Tabs_1.Tabs.Tab, null, "Examples"),
296
296
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -331,15 +331,15 @@ const renderStringFormat = (data, _onChange, setFormatOption, scopedCustomFormat
331
331
  React.createElement(rebass_1.Flex, { flexDirection: "column" },
332
332
  React.createElement(FormLayout_1.default, { mr: 3 },
333
333
  React.createElement(FormLayout_1.FormRow, { label: "Case: " },
334
- React.createElement(Radio_1.default, { checked: data.DisplayFormat.Options.Case == 'Lower', onChange: (checked) => setFormatOption('Case', 'Lower') }, "Lower"),
335
- React.createElement(Radio_1.default, { marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Upper', onChange: (checked) => setFormatOption('Case', 'Upper') }, "Upper"),
336
- React.createElement(Radio_1.default, { marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Sentence', onChange: (checked) => setFormatOption('Case', 'Sentence') }, "Sentence"),
337
- React.createElement(Radio_1.default, { marginLeft: 2, checked: data.DisplayFormat.Options.Case == undefined, onChange: (checked) => setFormatOption('Case', undefined) }, "None"),
338
- React.createElement(CheckBox_1.CheckBox, { marginLeft: 5, checked: data.DisplayFormat.Options.Trim, onChange: (checked) => setFormatOption('Trim', checked) }, "Trim")),
334
+ React.createElement(Radio_1.default, { "data-name": "case-lower", checked: data.DisplayFormat.Options.Case == 'Lower', onChange: (checked) => setFormatOption('Case', 'Lower') }, "Lower"),
335
+ React.createElement(Radio_1.default, { "data-name": "case-upper", marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Upper', onChange: (checked) => setFormatOption('Case', 'Upper') }, "Upper"),
336
+ React.createElement(Radio_1.default, { "data-name": "case-sentence", marginLeft: 2, checked: data.DisplayFormat.Options.Case == 'Sentence', onChange: (checked) => setFormatOption('Case', 'Sentence') }, "Sentence"),
337
+ React.createElement(Radio_1.default, { "data-name": "case-none", marginLeft: 2, checked: data.DisplayFormat.Options.Case == undefined, onChange: (checked) => setFormatOption('Case', undefined) }, "None"),
338
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "trim-checkbox", marginLeft: 5, checked: data.DisplayFormat.Options.Trim, onChange: (checked) => setFormatOption('Trim', checked) }, "Trim")),
339
339
  React.createElement(FormLayout_1.FormRow, { label: "Prefix" },
340
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
340
+ React.createElement(Input_1.default, { "data-name": "prefix", value: data.DisplayFormat.Options.Prefix, onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
341
341
  React.createElement(FormLayout_1.FormRow, { label: "Suffix" },
342
- React.createElement(Input_1.default, { value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })))))),
342
+ React.createElement(Input_1.default, { "data-name": "suffix", value: data.DisplayFormat.Options.Suffix, onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })))))),
343
343
  scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
344
344
  React.createElement(Tabs_1.Tabs.Tab, null, "Custom Formats"),
345
345
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -383,13 +383,13 @@ const FormatColumnFormatWizardSection = (props) => {
383
383
  return renderNumberFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
384
384
  }
385
385
  if (Type === 'DateFormatter') {
386
- return renderDateFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
386
+ return renderDateFormat(data, update, setFormatOption, customScopedFormatters);
387
387
  }
388
388
  if (Type === 'StringFormatter') {
389
389
  return renderStringFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
390
390
  }
391
391
  return (React.createElement(HelpBlock_1.default, { margin: 3 },
392
- "Setting a Display Format is only available if ",
392
+ "Setting a Display Format is only possible if ",
393
393
  React.createElement("b", null, "all"),
394
394
  " the columns in Scope are Numeric, String or Date."));
395
395
  };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { FormatColumn } from '../../../../types';
3
+ declare type FormatColumnRuleWizardSectionProps = {
4
+ onChange: (data: FormatColumn) => void;
5
+ defaultPredicateId: string;
6
+ };
7
+ export declare function FormatColumnRuleWizardSection(props: FormatColumnRuleWizardSectionProps): JSX.Element;
8
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormatColumnRuleWizardSection = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
7
+ const EntityRulesEditor_1 = require("../../Components/EntityRulesEditor");
8
+ function FormatColumnRuleWizardSection(props) {
9
+ const { data, api, moduleInfo } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
10
+ return (React.createElement(EntityRulesEditor_1.EntityRulesEditor, { module: moduleInfo.ModuleName, defaultPredicateId: props.defaultPredicateId,
11
+ // TODO see what is this
12
+ predicateDefs: api.formatColumnApi.getFormatColumnDefsForScope(data.Scope), showNoRule: true, showBoolean: true, showAggregation: false, showObservable: false, showPredicate: !api.scopeApi.scopeIsAll(data.Scope), data: data, onChange: (formatColumn) => props.onChange(formatColumn), descriptions: {
13
+ selectPredicate: 'Select a Format Column Rule - to be applied when data changes',
14
+ useBooleanQuery: (React.createElement(React.Fragment, null,
15
+ "Use an BooleanQuery if ",
16
+ React.createElement("i", null, "Scope"),
17
+ " is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression")),
18
+ useObservableQuery: (React.createElement(React.Fragment, null,
19
+ "Use an ObservableQuery if ",
20
+ React.createElement("i", null, "Scope"),
21
+ " is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression")),
22
+ useAggregationQuery: (React.createElement(React.Fragment, null,
23
+ "Use an AggregatedBooleanQuery if ",
24
+ React.createElement("i", null, "Scope"),
25
+ " is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
26
+ } }));
27
+ }
28
+ exports.FormatColumnRuleWizardSection = FormatColumnRuleWizardSection;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const NewScopeComponent_1 = require("../../Components/NewScopeComponent");
7
7
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
8
+ const constants_1 = require("./constants");
8
9
  const renderFormatColumnScopeSummary = (data) => {
9
10
  return (0, NewScopeComponent_1.renderScopeSummary)(data.Scope, {
10
11
  scopeWholeRow: 'Matching rows will be formatted',
@@ -14,12 +15,29 @@ const renderFormatColumnScopeSummary = (data) => {
14
15
  };
15
16
  exports.renderFormatColumnScopeSummary = renderFormatColumnScopeSummary;
16
17
  const FormatColumnScopeWizardSection = (props) => {
17
- const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
18
+ const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
18
19
  return (React.createElement(NewScopeComponent_1.NewScopeComponent, { descriptions: {
19
- rowScope: 'Apply a style to an entire row',
20
+ rowScope: 'Format all columns in the row',
20
21
  columnScope: 'Select columns to format',
21
22
  }, scope: data.Scope, updateScope: (Scope) => {
22
- props.onChange(Object.assign(Object.assign({}, data), { Scope }));
23
+ var _a;
24
+ const newData = Object.assign(Object.assign({}, data), { Scope });
25
+ const wholeRow = api.scopeApi.scopeIsAll(Scope);
26
+ if ((_a = newData.Rule) === null || _a === void 0 ? void 0 : _a.Predicate) {
27
+ if (wholeRow) {
28
+ // if scope is whole row, a predicate cannot be present, so we set the rule
29
+ // to be a boolean expression
30
+ delete newData.Rule.Predicate;
31
+ newData.Rule.BooleanExpression = '';
32
+ }
33
+ else {
34
+ // if scope is not whole row, if you have a predicate, reset it
35
+ newData.Rule.Predicate = {
36
+ PredicateId: constants_1.DEFAULT_PREDICATE_ID_FOR_FORMAT_COLUMN,
37
+ };
38
+ }
39
+ }
40
+ props.onChange(newData);
23
41
  } }));
24
42
  };
25
43
  exports.FormatColumnScopeWizardSection = FormatColumnScopeWizardSection;
@@ -6,13 +6,9 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const rebass_1 = require("rebass");
7
7
  const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
8
8
  const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
9
- const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
10
9
  const CheckBox_1 = require("../../../components/CheckBox");
11
10
  const Tabs_1 = require("../../../components/Tabs");
12
11
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
13
- const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
14
- const react_1 = require("react");
15
- const LoggingHelper_1 = require("../../../Utilities/Helpers/LoggingHelper");
16
12
  const Tag_1 = require("../../../components/Tag");
17
13
  let alignmentOptions = [
18
14
  { value: 'Left', label: 'Left' },
@@ -25,9 +21,6 @@ const renderFormatColumnSettingsSummary = (data) => {
25
21
  React.createElement(rebass_1.Text, null,
26
22
  "Cell alignment ",
27
23
  React.createElement(Tag_1.Tag, null, (_a = data.CellAlignment) !== null && _a !== void 0 ? _a : 'default')),
28
- data.HeaderName ? (React.createElement(rebass_1.Text, { mt: 3 },
29
- "Header name ",
30
- React.createElement(Tag_1.Tag, null, data.HeaderName))) : null,
31
24
  React.createElement(rebass_1.Text, { mt: 3 },
32
25
  "Include grouped rows ",
33
26
  React.createElement(Tag_1.Tag, null, data.IncludeGroupedRows ? 'yes' : 'no'))));
@@ -41,40 +34,21 @@ const FormatColumnSettingsWizardSection = (props) => {
41
34
  const onIncludeGroupedRowsChanged = (IncludeGroupedRows) => {
42
35
  props.onChange(Object.assign(Object.assign({}, data), { IncludeGroupedRows }));
43
36
  };
44
- const onHeaderNameChanged = (event) => {
45
- let e = event.target;
46
- props.onChange(Object.assign(Object.assign({}, data), { HeaderName: e.value }));
47
- };
48
- const [hasHeaderName, setHasHeaderName] = (0, react_1.useState)(false);
49
- (0, react_1.useEffect)(() => {
50
- const hasCustomHeaderName = StringExtensions_1.default.IsNotNullOrEmpty(data.HeaderName);
51
- setHasHeaderName(hasCustomHeaderName);
52
- if (hasCustomHeaderName) {
53
- (0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: The 'FormatColumn.HeaderName' property is deprecated; use a Layout custom Column Header instead!`);
54
- }
55
- }, []);
56
37
  return (React.createElement(Tabs_1.Tabs, null,
57
38
  React.createElement(Tabs_1.Tabs.Tab, null, "Format"),
58
39
  React.createElement(Tabs_1.Tabs.Content, null,
59
40
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
60
41
  React.createElement(FormLayout_1.default, null,
61
42
  React.createElement(FormLayout_1.FormRow, { label: "Cell Alignment" },
62
- React.createElement(DropdownButton_1.default, { style: {
43
+ React.createElement(DropdownButton_1.default, { "data-name": "cell-alignment-dropdown", style: {
63
44
  minWidth: '15rem',
64
- whiteSpace: 'nowrap',
65
- overflow: 'hidden',
66
- textOverflow: 'ellipsis',
67
- maxWidth: 'inherit',
68
45
  }, placeholder: "Select Option", showClearButton: !!data.CellAlignment, onClear: () => onCellAlignmentSelectChanged(null), items: alignmentOptions.map((item) => ({
69
46
  value: item.value,
70
47
  label: item.label,
71
48
  onClick: () => onCellAlignmentSelectChanged(item.value),
72
49
  })), columns: ['label'] }, data.CellAlignment ? data.CellAlignment : 'Select Option')),
73
- hasHeaderName && api.scopeApi.isSingleColumnScope(data.Scope) && (React.createElement(FormLayout_1.FormRow, { label: "Header Name" },
74
- React.createElement(Input_1.default, { value: data.HeaderName, onChange: (e) => onHeaderNameChanged(e), style: { minWidth: '15rem' } }),
75
- ' ')),
76
50
  React.createElement(FormLayout_1.FormRow, { label: "Include Grouped Rows:" },
77
51
  React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
78
- React.createElement(CheckBox_1.CheckBox, { checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
52
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "include-grouped-rows-checkbox", checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
79
53
  };
80
54
  exports.FormatColumnSettingsWizardSection = FormatColumnSettingsWizardSection;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { FormatColumn } from '../../../PredefinedConfig/FormatColumnState';
3
3
  import { AdaptableApi } from '../../../Api/AdaptableApi';
4
- export declare const isFormatColumnStyleValid: (data: FormatColumn, api: AdaptableApi) => true | "No format applied" | "Invalid Cell Range" | "Invalid Column Comparison Range";
4
+ export declare const isFormatColumnStyleValid: (data: FormatColumn, api: AdaptableApi) => true | "No format applied";
5
5
  declare type FormatColumnStyleWizardSectionProps = {
6
6
  onChange: (data: FormatColumn) => void;
7
7
  };
8
- export declare const renderFormatColumnStyleWizardSummary: (data: FormatColumn) => any;
9
- export declare const renderFormatColumnStyleSummary: (data: FormatColumn, api: AdaptableApi) => any;
8
+ export declare const renderFormatColumnStyleWizardSummary: (data: FormatColumn) => JSX.Element;
9
+ export declare const renderFormatColumnStyleSummary: (data: FormatColumn, api: AdaptableApi) => JSX.Element;
10
10
  export declare function FormatColumnStyleWizardSection(props: FormatColumnStyleWizardSectionProps): JSX.Element;
11
11
  export {};