@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
@@ -31,7 +31,7 @@ const AdaptableObjectListItemView = (props) => {
31
31
  return (React.createElement(rebass_1.Flex, { "data-name": tag.name, key: `${index}-${tag.name}`, mb: 2, className: `${baseClassName}__row` },
32
32
  React.createElement(rebass_1.Box, { className: `${baseClassName}__label`, mr: 3 },
33
33
  labelEl,
34
- props.showEditButton && (React.createElement(SimpleButton_1.default, { accessLevel: props.accessLevel, className: `${baseClassName}__edit-property`, ml: 1, icon: "edit", tooltip: "edit", iconSize: 18, variant: "text", onClick: () => {
34
+ props.showEditButton && (React.createElement(SimpleButton_1.default, { "data-name": `${tag.name}-edit-button`, accessLevel: props.accessLevel, className: `${baseClassName}__edit-property`, ml: 1, icon: "edit", tooltip: "edit", iconSize: 18, variant: "text", onClick: () => {
35
35
  props.handleOnEdit(tag.name);
36
36
  } }))),
37
37
  React.createElement(rebass_1.Box, { flex: 1, className: `${baseClassName}__values` },
@@ -8,12 +8,7 @@ const rebass_1 = require("rebass");
8
8
  const join_1 = tslib_1.__importDefault(require("../../../components/utils/join"));
9
9
  class AdaptableObjectRow extends React.Component {
10
10
  render() {
11
- const colItems = this.props.colItems.map((colItem, index) => (React.createElement(rebass_1.Text, { key: index, fontSize: 'var(--ab-font-size-3)', title: typeof colItem.Content === 'string' ? colItem.Content : undefined, style: {
12
- flex: colItem.Size,
13
- whiteSpace: 'nowrap',
14
- textOverflow: 'ellipsis',
15
- overflow: 'hidden',
16
- }, "data-name": "list-group-cell", paddingLeft: 1, paddingRight: 1 }, colItem.Content)));
11
+ const colItems = this.props.colItems.map((colItem, index) => (React.createElement(rebass_1.Text, { className: "ab-AdaptableObjectRow__cell", "data-name": "list-group-cell", key: index, title: typeof colItem.Content === 'string' ? colItem.Content : undefined, flex: colItem.Size, paddingLeft: 1, paddingRight: 1 }, colItem.Content)));
17
12
  const className = (0, join_1.default)('ab-AdaptableObjectRow', this.props.isSuspended && 'ab-AdaptableObjectRow--is-suspended');
18
13
  return (React.createElement(rebass_1.Flex, { className: className, onClick: this.props.onClick, style: this.props.style }, colItems));
19
14
  }
@@ -4,6 +4,4 @@ export interface InfoButtonProps extends SimpleButtonProps {
4
4
  glyph?: string;
5
5
  tooltip?: string;
6
6
  }
7
- export declare class ButtonInfo extends React.Component<InfoButtonProps, {}> {
8
- render(): JSX.Element;
9
- }
7
+ export declare const ButtonInfo: React.FunctionComponent<InfoButtonProps>;
@@ -4,9 +4,7 @@ exports.ButtonInfo = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
7
- class ButtonInfo extends React.Component {
8
- render() {
9
- return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "info", iconSize: 20, icon: "info", variant: "text" }, this.props)));
10
- }
11
- }
7
+ const ButtonInfo = (props) => {
8
+ return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "info", iconSize: 20, icon: "info", variant: "raised", tone: "accent" }, props)));
9
+ };
12
10
  exports.ButtonInfo = ButtonInfo;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FlexProps } from 'rebass';
3
- import type { AdaptablePredicate, AdaptablePredicateDef, AdaptableScope, AdaptableApi, AdaptableModule } from '../../../types';
3
+ import type { AdaptableApi, AdaptableModule, AdaptablePredicate, AdaptablePredicateDef, AdaptableScope } from '../../../types';
4
4
  import type { XOR } from '../../../Utilities/Extensions/TypeExtensions';
5
5
  import { AdaptableQuery } from '../../../PredefinedConfig/Common/AdaptableQuery';
6
6
  import { OnePageAdaptableWizardContextType } from '../../Wizard/OnePageAdaptableWizard';
@@ -13,6 +13,7 @@ export declare const isRuleValid: (abObject: {
13
13
  declare type EntityRulesEditorProps<T> = {
14
14
  data: T;
15
15
  module: AdaptableModule;
16
+ showNoRule?: boolean;
16
17
  showPredicate?: boolean;
17
18
  showObservable?: boolean;
18
19
  showAggregation?: boolean;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EntityRulesEditor = exports.EntityRulesSummary = exports.isRuleValid = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
+ const react_1 = require("react");
6
7
  const rebass_1 = require("rebass");
7
8
  const Tabs_1 = require("../../../components/Tabs");
8
9
  const Radio_1 = tslib_1.__importDefault(require("../../../components/Radio"));
@@ -13,7 +14,6 @@ const AdaptableInput_1 = tslib_1.__importDefault(require("../AdaptableInput"));
13
14
  const AdaptableContext_1 = require("../../AdaptableContext");
14
15
  const ButtonInfo_1 = require("../Buttons/ButtonInfo");
15
16
  const DocumentationLinkConstants_1 = require("../../../Utilities/Constants/DocumentationLinkConstants");
16
- const react_1 = require("react");
17
17
  const PermittedValuesSelector_1 = require("../PermittedValuesSelector");
18
18
  const isRuleValid = (abObject, api, context) => {
19
19
  var _a, _b, _c, _d, _e, _f;
@@ -52,20 +52,26 @@ const EntityRulesSummary = (props) => {
52
52
  };
53
53
  exports.EntityRulesSummary = EntityRulesSummary;
54
54
  const EntityRulesEditor = (props) => {
55
- var _a, _b;
56
- const { data, children, descriptions, predicateDefs, showPredicate = true, showObservable = true, showBoolean = true, showAggregation = true, flexProps, module, } = props;
55
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
56
+ const { data, children, descriptions, predicateDefs, showNoRule = false, showPredicate = true, showObservable = true, showBoolean = true, showAggregation = true, flexProps, module, } = props;
57
57
  const { api } = (0, AdaptableContext_1.useAdaptable)();
58
- const type = data.Rule.BooleanExpression != undefined
59
- ? 'BooleanExpression'
60
- : data.Rule.ObservableExpression != undefined && showObservable
61
- ? 'ObservableExpression'
62
- : data.Rule.AggregatedBooleanExpression != undefined && showAggregation
63
- ? 'AggregatedBooleanExpression'
64
- : 'Predicate';
58
+ const type = data.Rule == undefined
59
+ ? 'NoRule'
60
+ : data.Rule.BooleanExpression != undefined
61
+ ? 'BooleanExpression'
62
+ : data.Rule.ObservableExpression != undefined && showObservable
63
+ ? 'ObservableExpression'
64
+ : data.Rule.AggregatedBooleanExpression != undefined && showAggregation
65
+ ? 'AggregatedBooleanExpression'
66
+ : 'Predicate';
65
67
  const [selectedTab, setSelectedTab] = React.useState(type);
66
68
  const setType = (type) => {
67
69
  setSelectedTab(type);
68
- if (type === 'BooleanExpression' && showBoolean) {
70
+ if (type === 'NoRule' && showNoRule) {
71
+ delete data.Rule;
72
+ props.onChange(Object.assign({}, data));
73
+ }
74
+ else if (type === 'BooleanExpression' && showBoolean) {
69
75
  props.onChange(Object.assign(Object.assign({}, data), { Rule: {
70
76
  BooleanExpression: '',
71
77
  } }));
@@ -88,8 +94,8 @@ const EntityRulesEditor = (props) => {
88
94
  } }));
89
95
  }
90
96
  };
91
- const predicateId = data.Rule.Predicate != undefined ? data.Rule.Predicate.PredicateId : undefined;
92
- const predicateInputs = predicateId ? (_a = data.Rule.Predicate.Inputs) !== null && _a !== void 0 ? _a : [] : [];
97
+ const predicateId = ((_a = data.Rule) === null || _a === void 0 ? void 0 : _a.Predicate) != undefined ? (_b = data.Rule) === null || _b === void 0 ? void 0 : _b.Predicate.PredicateId : undefined;
98
+ const predicateInputs = predicateId ? (_d = (_c = data.Rule) === null || _c === void 0 ? void 0 : _c.Predicate.Inputs) !== null && _d !== void 0 ? _d : [] : [];
93
99
  const currentPredicateDef = api.predicateApi.getPredicateDefById(predicateId);
94
100
  const isValuesPredicateDef = (colDef) => colDef && ['Values', 'ExcludeValues'].includes(colDef.id);
95
101
  const predicateDefsOptions = predicateDefs
@@ -155,44 +161,39 @@ const EntityRulesEditor = (props) => {
155
161
  };
156
162
  const initialData = (0, react_1.useMemo)(() => api.internalApi.getQueryPreviewData(), []);
157
163
  const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
158
- return (React.createElement(rebass_1.Flex, Object.assign({ flexDirection: "column", padding: 2, pt: 0, pl: 0 }, flexProps, { style: Object.assign({ height: '100%' }, flexProps === null || flexProps === void 0 ? void 0 : flexProps.style) }),
164
+ const baseClassName = 'ab-EntityRulesEditor';
165
+ return (React.createElement(rebass_1.Flex, Object.assign({ className: baseClassName, flexDirection: "column", padding: 2, pt: 0, pl: 0 }, flexProps, { style: Object.assign({ height: '100%' }, flexProps === null || flexProps === void 0 ? void 0 : flexProps.style) }),
159
166
  children,
160
167
  React.createElement(Tabs_1.Tabs, { onValueChange: setType, value: selectedTab, pt: 2, pl: 2, style: { flex: 1, overflow: 'auto' } },
168
+ showNoRule ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'NoRule', style: { flex: 1 } },
169
+ React.createElement(Radio_1.default, { tabIndex: -1, margin: 0, checked: type === 'NoRule' }, "No Condition"))) : null,
170
+ showNoRule ? (React.createElement(Tabs_1.Tabs.Content, { value: 'NoRule' },
171
+ React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, 'Format Column is always applied'))) : null,
161
172
  showPredicate ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'Predicate', style: { flex: 1 } },
162
173
  React.createElement(Radio_1.default, { tabIndex: -1, margin: 0, checked: type === 'Predicate' }, "Predicate"))) : null,
163
- showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { value: "Predicate" },
174
+ showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "Predicate", value: "Predicate" },
164
175
  React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, descriptions.selectPredicate),
165
- React.createElement(DropdownButton_1.default, { style: {
166
- minWidth: '15rem',
167
- whiteSpace: 'nowrap',
168
- overflow: 'hidden',
169
- textOverflow: 'ellipsis',
170
- maxWidth: 'inherit',
171
- }, placeholder: "Select Rule", showClearButton: !!data.Rule.Predicate, onClear: clearPredicate, items: predicateDefsOptions, columns: ['label'] }, currentPredicateDef ? currentPredicateDef.label : 'Select Rule'), (_b = currentPredicateDef === null || currentPredicateDef === void 0 ? void 0 : currentPredicateDef.inputs) === null || _b === void 0 ? void 0 :
172
- _b.map((predicateDefInput, index) => (React.createElement(rebass_1.Flex, { key: predicateId + index, flexDirection: "column" },
176
+ React.createElement(DropdownButton_1.default, { "data-name": "entity-rules-editor-predicate-dropdown", className: `${baseClassName}__predicate-dropdown`, placeholder: "Select Rule", showClearButton: !!((_e = data.Rule) === null || _e === void 0 ? void 0 : _e.Predicate), onClear: clearPredicate, items: predicateDefsOptions, columns: ['label'] }, currentPredicateDef ? currentPredicateDef.label : 'Select Rule'), (_f = currentPredicateDef === null || currentPredicateDef === void 0 ? void 0 : currentPredicateDef.inputs) === null || _f === void 0 ? void 0 :
177
+ _f.map((predicateDefInput, index) => (React.createElement(rebass_1.Flex, { key: predicateId + index, flexDirection: "column" },
173
178
  index > 0 && React.createElement(HelpBlock_1.default, { marginTop: 2 }, "AND"),
174
179
  React.createElement(AdaptableInput_1.default, { marginTop: 2, type: predicateDefInput.type, autoFocus: index === 0, value: predicateInputs[index], onChange: (e) => onPredicateInputChange(e, index) })))),
175
180
  isValuesPredicateDef(currentPredicateDef) &&
176
181
  'ColumnIds' in data.Scope &&
177
- data.Scope.ColumnIds.length === 1 && (React.createElement(PermittedValuesSelector_1.PermitedValuesSelector, { onPredicateValuesChange: onPredicateValuesChange, predicate: data.Rule.Predicate, scope: data.Scope })),
182
+ data.Scope.ColumnIds.length === 1 && (React.createElement(PermittedValuesSelector_1.PermitedValuesSelector, { onPredicateValuesChange: onPredicateValuesChange, predicate: (_g = data.Rule) === null || _g === void 0 ? void 0 : _g.Predicate, scope: data.Scope })),
178
183
  showDocumentationLinks && (React.createElement(HelpBlock_1.default, { "data-name": "query-documentation", mt: 3, mb: 2, style: {
179
184
  fontSize: 'var(--ab-font-size-3)',
180
185
  padding: 0,
181
186
  } },
182
- React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, style: {
183
- color: 'var(--ab-color-text-on-add)',
184
- fill: 'var(--ab-color-text-on-add)',
185
- background: 'var(--ab-color-action-add)',
186
- }, onClick: () => window.open(DocumentationLinkConstants_1.PredicateDocsLink, '_blank') }),
187
+ React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(DocumentationLinkConstants_1.PredicateDocsLink, '_blank') }),
187
188
  "See Predicate documentation for more details and examples")))) : null,
188
189
  showBoolean ? React.createElement(QueryTab, { value: "BooleanExpression", type: type, label: "Boolean" }) : null,
189
- showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { value: 'BooleanExpression', paddingLeft: 0 },
190
- React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'boolean', module: module, value: data.Rule.BooleanExpression, onChange: setBooleanExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
190
+ showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "BooleanExpression", value: 'BooleanExpression', paddingLeft: 0 },
191
+ React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'boolean', module: module, value: (_h = data.Rule) === null || _h === void 0 ? void 0 : _h.BooleanExpression, onChange: setBooleanExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
191
192
  showObservable ? (React.createElement(QueryTab, { value: "ObservableExpression", type: type, label: "Observable" })) : null,
192
- showObservable ? (React.createElement(Tabs_1.Tabs.Content, { value: 'ObservableExpression', paddingLeft: 0 },
193
- React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'observable', module: module, value: data.Rule.ObservableExpression, onChange: setReactiveExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
193
+ showObservable ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "ObservableExpression", value: 'ObservableExpression', paddingLeft: 0 },
194
+ React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'observable', module: module, value: (_j = data.Rule) === null || _j === void 0 ? void 0 : _j.ObservableExpression, onChange: setReactiveExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
194
195
  showAggregation ? (React.createElement(QueryTab, { value: "AggregatedBooleanExpression", type: type, label: "Aggregated Boolean" })) : null,
195
- showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { value: 'AggregatedBooleanExpression', paddingLeft: 0 },
196
- React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'aggregatedBoolean', module: module, value: data.Rule.AggregatedBooleanExpression, onChange: setAggregationExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null)));
196
+ showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "AggregatedBooleanExpression", value: 'AggregatedBooleanExpression', paddingLeft: 0 },
197
+ React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'aggregatedBoolean', module: module, value: (_k = data.Rule) === null || _k === void 0 ? void 0 : _k.AggregatedBooleanExpression, onChange: setAggregationExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null)));
197
198
  };
198
199
  exports.EntityRulesEditor = EntityRulesEditor;
@@ -137,15 +137,14 @@ class FilterFormComponent extends React.Component {
137
137
  let closeButton = (React.createElement(ButtonClose_1.ButtonClose, { onClick: () => this.onCloseForm(), tooltip: null, accessLevel: 'Full' }));
138
138
  let clearFilterButton = (React.createElement(ButtonClear_1.ButtonClear, { onClick: () => this.onClearFilter(), disabled: isEmptyFilter, tooltip: null, accessLevel: 'Full', showText: true, showIcon: false }));
139
139
  const useAgGridStyle = !!filterOptions.useAgGridFilterFormStyle;
140
- return (React.createElement("div", { "data-name": "filter-form" }, StringExtensions_1.StringExtensions.IsNullOrEmpty(isFilterable) ? (React.createElement(FilterFormPanel_1.FilterFormPanel, { style: panelStyle, ColumnMenuTab: this.state.selectedTab, ColumnMenuTabChanged: (e) => this.onSelectTab(e), IsAlwaysFilter: this.props.embedColumnMenu, clearFilterButton: clearFilterButton, closeButton: closeButton, showCloseButton: this.props.showCloseButton, autoApplyFilter: filterOptions.autoApplyFilter ? true : false, useAgGridStyle: useAgGridStyle, applyFilterButtonDisabled: isEmptyFilter, onFilterApplied: () => this.onFilterApplied() }, this.state.selectedTab == Enums_1.ColumnMenuTab.Menu ? (React.createElement(ListBoxMenu_1.ListBoxMenu, { MenuItems: this.props.api.internalApi.buildStandaloneColumnHeader(this.props.currentColumn), onMenuItemClick: (menuItem) => this.onMenuItemClick(menuItem) })) : (React.createElement("div", null,
141
- this.state.showTab && (React.createElement("div", null,
142
- React.createElement(Radio_1.default, { marginLeft: 1, flex: 1, checked: this.state.currentTab == 'values', onChange: () => this.setState({ currentTab: 'values' }) },
140
+ return (React.createElement("div", { className: "ab-FilterForm", "data-name": "filter-form" }, StringExtensions_1.StringExtensions.IsNullOrEmpty(isFilterable) ? (React.createElement(FilterFormPanel_1.FilterFormPanel, { style: panelStyle, ColumnMenuTab: this.state.selectedTab, ColumnMenuTabChanged: (e) => this.onSelectTab(e), IsAlwaysFilter: this.props.embedColumnMenu, clearFilterButton: clearFilterButton, closeButton: closeButton, showCloseButton: this.props.showCloseButton, autoApplyFilter: filterOptions.autoApplyFilter ? true : false, useAgGridStyle: useAgGridStyle, applyFilterButtonDisabled: isEmptyFilter, onFilterApplied: () => this.onFilterApplied() }, this.state.selectedTab == Enums_1.ColumnMenuTab.Menu ? (React.createElement(ListBoxMenu_1.ListBoxMenu, { MenuItems: this.props.api.internalApi.buildStandaloneColumnHeader(this.props.currentColumn), onMenuItemClick: (menuItem) => this.onMenuItemClick(menuItem) })) : (React.createElement(React.Fragment, null,
141
+ this.state.showTab && (React.createElement(React.Fragment, null,
142
+ React.createElement(Radio_1.default, { "data-name": "values", flex: 1, marginLeft: 1, checked: this.state.currentTab == 'values', onChange: () => this.setState({ currentTab: 'values' }) },
143
143
  React.createElement(rebass_1.Flex, { fontSize: 'var( --ab-font-size-2)' }, "Column Values")),
144
- React.createElement(Radio_1.default, { marginLeft: 2, flex: 1, checked: this.state.currentTab == 'predicates', onChange: () => this.setState({ currentTab: 'predicates' }) },
144
+ React.createElement(Radio_1.default, { "data-name": "predicates", marginLeft: 2, flex: 1, checked: this.state.currentTab == 'predicates', onChange: () => this.setState({ currentTab: 'predicates' }) },
145
145
  React.createElement(rebass_1.Flex, { fontSize: 'var( --ab-font-size-2)' }, "Filters")))),
146
- this.state.currentTab === 'values' && (React.createElement("div", null,
147
- React.createElement(ListBoxFilterForm_1.ListBoxFilterForm, { disabled: this.isFilterDisabled(), suppressClientSideFilter: this.state.suppressClientSideFilter, isLoading: this.state.isDistinctColumnValuesLoading, onFilterChange: this.handleFilterChange, currentColumn: this.props.currentColumn, columns: this.props.columns, columnDistinctValues: this.state.distinctColumnValues, dataType: this.props.currentColumn.dataType, uiSelectedColumnValues: uiSelectedColumnValues, useAgGridStyle: useAgGridStyle, onColumnValueSelectedChange: (list) => this.onColumnValuesChange(list) }))),
148
- this.state.currentTab === 'predicates' && (React.createElement("div", null,
146
+ this.state.currentTab === 'values' && (React.createElement(ListBoxFilterForm_1.ListBoxFilterForm, { disabled: this.isFilterDisabled(), suppressClientSideFilter: this.state.suppressClientSideFilter, isLoading: this.state.isDistinctColumnValuesLoading, onFilterChange: this.handleFilterChange, currentColumn: this.props.currentColumn, columns: this.props.columns, columnDistinctValues: this.state.distinctColumnValues, dataType: this.props.currentColumn.dataType, uiSelectedColumnValues: uiSelectedColumnValues, useAgGridStyle: useAgGridStyle, onColumnValueSelectedChange: (list) => this.onColumnValuesChange(list) })),
147
+ this.state.currentTab === 'predicates' && (React.createElement(React.Fragment, null,
149
148
  ' ',
150
149
  this.state.showTab && React.createElement("hr", null),
151
150
  predicateDefs
@@ -156,15 +155,15 @@ class FilterFormComponent extends React.Component {
156
155
  var _a;
157
156
  const { editedColumnFilter } = this.state;
158
157
  const checked = ((_a = editedColumnFilter === null || editedColumnFilter === void 0 ? void 0 : editedColumnFilter.Predicate) === null || _a === void 0 ? void 0 : _a.PredicateId) === predicateDef.id;
159
- return (React.createElement(rebass_1.Flex, { key: index, flexDirection: "column" },
160
- React.createElement(Radio_1.default, { disabled: this.isFilterDisabled(), fontSize: 'var(--ab-font-size-2)', margin: 1, flex: 1, checked: checked, onChange: () => this.selectColumnPredicate(predicateDef) }, predicateDef.label),
161
- React.createElement(rebass_1.Flex, { flexDirection: "column", flex: 0, marginLeft: 3, marginRight: 2 }, checked && this.renderPredicateInput(predicateDef, editedColumnFilter))));
158
+ return (React.createElement(rebass_1.Flex, { className: "ab-FilterForm__predicate", key: index, flexDirection: "column" },
159
+ React.createElement(Radio_1.default, { "data-name": predicateDef.id, disabled: this.isFilterDisabled(), fontSize: 'var(--ab-font-size-2)', margin: 1, flex: 1, checked: checked, onChange: () => this.selectColumnPredicate(predicateDef) }, predicateDef.label),
160
+ React.createElement(rebass_1.Flex, { className: "ab-FilterForm__predicate_inputs", flexDirection: "column", flex: 0, marginLeft: 3, marginRight: 2 }, checked && this.renderPredicateInput(predicateDef, editedColumnFilter))));
162
161
  }
163
162
  renderPredicateInput(predicateDef, filter) {
164
163
  var _a;
165
164
  if ((predicateDef === null || predicateDef === void 0 ? void 0 : predicateDef.id) === 'BooleanToggle') {
166
165
  // custom tri-state checkbox: true, false, all(indeterminate)
167
- return (React.createElement(rebass_1.Flex, { flexDirection: "row", flex: 1, justifyContent: "center", alignItems: "center" },
166
+ return (React.createElement(rebass_1.Flex, { className: "ab-FilterForm__predicate-input", flexDirection: "row", flex: 1, justifyContent: "center", alignItems: "center" },
168
167
  React.createElement(CheckBox_1.CheckBox, { disabled: this.isFilterDisabled(), checked: filter.Predicate.Inputs[0] === 'true'
169
168
  ? true
170
169
  : filter.Predicate.Inputs[0] === 'false'
@@ -181,11 +180,7 @@ class FilterFormComponent extends React.Component {
181
180
  } })));
182
181
  }
183
182
  return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => (React.createElement(rebass_1.Flex, { key: index, flexDirection: "row" },
184
- React.createElement(AdaptableInput_1.default, { disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), style: {
185
- marginBottom: 5,
186
- flex: 1,
187
- fontSize: 'var( --ab-font-size-2)',
188
- } }))));
183
+ React.createElement(AdaptableInput_1.default, { disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), mb: 1, flex: 1, fontSize: 2 }))));
189
184
  }
190
185
  isFilterDisabled() {
191
186
  var _a;
@@ -27,7 +27,7 @@ const ListBoxFilterForm = (props) => {
27
27
  internalUpdateUISelectedColumnValues(props.uiSelectedColumnValues);
28
28
  }, [props.uiSelectedColumnValues]);
29
29
  const renderItemForAgGridStyle = (props) => {
30
- return (React.createElement(CheckBox_1.CheckBox, Object.assign({}, props, { variant: "agGrid", fontSize: 2, marginTop: 1, marginBottom: 1, marginLeft: 1, marginRight: 1 })));
30
+ return (React.createElement(CheckBox_1.CheckBox, Object.assign({}, props, { variant: "agGrid", fontSize: 2, marginTop: 1, marginBottom: 1, marginLeft: 1, marginRight: 1, title: typeof props.children === 'string' ? props.children : null })));
31
31
  };
32
32
  const onClickItemColumnValue = (item) => {
33
33
  const index = UiSelectedColumnValues.indexOf(item);
@@ -59,6 +59,7 @@ const ListBoxFilterForm = (props) => {
59
59
  checked: isActive,
60
60
  onChange: () => onClickItemColumnValue(distinctValue.value),
61
61
  disabled: props.disabled,
62
+ style: { width: '100%' },
62
63
  });
63
64
  }
64
65
  return (React.createElement(ListGroupItem_1.default, { noZebra: props.useAgGridStyle, key: 'columnValue' + index, onClick: () => onClickItemColumnValue(distinctValue.value), active: isActive, value: distinctValue.value }, distinctValue.label));
@@ -142,21 +142,15 @@ class QuickFilterFormComponent extends React.Component {
142
142
  showQuickFilterInput = !hideQuickFilterInputFunction(this.props.currentColumn);
143
143
  }
144
144
  return (React.createElement(React.Fragment, null,
145
- showQuickFilterDropdown && (React.createElement(OverlayTrigger_1.default, { showEvent: showEvent, hideEvent: hideEvent, preventPortalEventPropagation: showEvent === 'click', alignHorizontal: "left", targetOffset: 10, hideDelay: 300, "data-name": "quick-filter-overlay", style: {
146
- overflowY: 'auto',
147
- fontSize: 'var(--ab-font-size-2)',
148
- border: '1px solid var(--ab-color-primarydark)',
149
- background: 'var(--ab-color-defaultbackground)',
150
- }, render: () => (React.createElement(rebass_1.Flex, { flexDirection: "column", "data-name": "quick-filter" },
151
- (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) && (React.createElement(React.Fragment, null,
152
- React.createElement(SimpleButton_1.default, { p: 2, variant: "text", onClick: () => this.clearFilter() },
153
- React.createElement("span", { style: { width: 20, marginRight: 10 } },
154
- React.createElement(icons_1.Icon, { name: "delete" })),
155
- "Clear"))),
156
- predicateDefs.map((p) => (React.createElement(SimpleButton_1.default, { disabled: this.isFilterDisabled(), key: p.id, p: 2, variant: "text", tone: (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) === p.id ? 'info' : 'none', onClick: () => this.selectColumnPredicate(p.id) },
145
+ showQuickFilterDropdown && (React.createElement(OverlayTrigger_1.default, { className: "ab-QuickFilter", showEvent: showEvent, hideEvent: hideEvent, preventPortalEventPropagation: showEvent === 'click', alignHorizontal: "left", targetOffset: 10, hideDelay: 300, "data-name": "quick-filter-overlay", render: () => (React.createElement(rebass_1.Flex, { flexDirection: "column", "data-name": "quick-filter" },
146
+ (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) && (React.createElement(SimpleButton_1.default, { p: 2, variant: "text", onClick: () => this.clearFilter() },
147
+ React.createElement("span", { style: { width: 20, marginRight: 10 } },
148
+ React.createElement(icons_1.Icon, { name: "delete" })),
149
+ "Clear")),
150
+ predicateDefs.map((p) => (React.createElement(SimpleButton_1.default, { "data-name": filter.Predicate.PredicateId, disabled: this.isFilterDisabled(), key: p.id, p: 2, variant: "text", tone: (filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId) === p.id ? 'info' : 'none', onClick: () => this.selectColumnPredicate(p.id) },
157
151
  React.createElement("span", { style: { width: 20, marginRight: 10 } }, this.renderPredicateIcon(p)),
158
152
  p.label))))) },
159
- React.createElement(SimpleButton_1.default, { style: {
153
+ React.createElement(SimpleButton_1.default, { "data-name": filter.Predicate.PredicateId, style: {
160
154
  borderRadius: 0,
161
155
  borderColor: 'var(--ab-color-primarydark)',
162
156
  } }, this.renderPredicateIcon(activePredicateDef)))),
@@ -130,9 +130,9 @@ const NewScopeComponent = (props) => {
130
130
  }
131
131
  return (React.createElement(Tabs_1.Tabs, { "data-name": 'scope-component', className: "ab-ScopeComponent", value: scopeChoice, style: Object.assign({ height: '100%' }, props.style), onValueChange: onScopeSelectChanged },
132
132
  props.hideWholeRow ? null : (React.createElement(Tabs_1.Tabs.Tab, { value: "Row" },
133
- React.createElement(Radio_1.default, { margin: 0, checked: scopeChoice == 'All', tabIndex: -1 }, "Whole Row"))),
133
+ React.createElement(Radio_1.default, { margin: 0, checked: scopeChoice == 'All', tabIndex: -1 }, "All Columns"))),
134
134
  React.createElement(Tabs_1.Tabs.Tab, { value: "Column" },
135
- React.createElement(Radio_1.default, { margin: 0, value: "Column", checked: scopeChoice == 'Column', tabIndex: -1 }, "Columns")),
135
+ React.createElement(Radio_1.default, { margin: 0, value: "Column", checked: scopeChoice == 'Column', tabIndex: -1 }, "Selected Columns")),
136
136
  React.createElement(Tabs_1.Tabs.Tab, { value: "DataType" },
137
137
  React.createElement(Radio_1.default, { margin: 0, value: "DataType", checked: scopeChoice == 'DataType', tabIndex: -1 }, "Data Types")),
138
138
  props.hideWholeRow ? null : (React.createElement(Tabs_1.Tabs.Content, { value: "Row", style: { flex: 'none' }, "data-name": "row-scope" },
@@ -144,6 +144,6 @@ const NewScopeComponent = (props) => {
144
144
  React.createElement(AdaptableFormControlTextClear_1.AdaptableFormControlTextClear, { value: columnsSearchText, OnTextChange: setColumnsSearchText, placeholder: "Type to search columns", style: { flex: 1 } })),
145
145
  React.createElement(rebass_1.Flex, { paddingLeft: 2, flex: 1, style: { overflow: 'hidden' } },
146
146
  React.createElement(ColumnSelector_1.NewColumnSelector, { columnFilterText: columnsSearchText, allowReorder: false, availableColumns: scopeColumns, selected: scopeApi.getColumnIdsInScope(props.scope), onChange: onColumnsSelectedChanged }))),
147
- React.createElement(Tabs_1.Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox_1.CheckBox, { key: dataTypeOption.value, "data-name": "scope", checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))));
147
+ React.createElement(Tabs_1.Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))));
148
148
  };
149
149
  exports.NewScopeComponent = NewScopeComponent;
@@ -21,11 +21,7 @@ class PanelWithButton extends React.Component {
21
21
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-before" }),
22
22
  this.props.headerText,
23
23
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
24
- this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { style: {
25
- color: 'var(--ab-color-text-on-add)',
26
- fill: 'var(--ab-color-text-on-add)',
27
- background: 'var(--ab-color-action-add)',
28
- }, onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
24
+ this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
29
25
  ) }))),
30
26
  React.createElement(rebass_1.Box, { style: { flex: 1 } }),
31
27
  buttonContent ? (React.createElement(SimpleButton_1.default, { variant: "raised", tone: "accent", disabled: this.props.buttonDisabled, onClick: () => (this.props.buttonClick ? this.props.buttonClick() : null) }, buttonContent)) : null,
@@ -26,11 +26,7 @@ class PanelWithImageCmp extends React.Component {
26
26
  React.createElement(rebass_1.Box, { marginRight: 2 }),
27
27
  this.props.header,
28
28
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
29
- this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { style: {
30
- color: 'var(--ab-color-text-on-add)',
31
- fill: 'var(--ab-color-text-on-add)',
32
- background: 'var(--ab-color-action-add)',
33
- }, onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
29
+ this.props.infoLink != null && !this.props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
34
30
  ) }))),
35
31
  React.createElement(rebass_1.Box, { flex: 1 }),
36
32
  this.props.button && React.cloneElement(this.props.button))));
@@ -71,9 +71,9 @@ const AdaptablePopup = (props) => {
71
71
  }
72
72
  },
73
73
  } },
74
- React.createElement(AdaptablePopupDialog_1.AdaptablePopupDialog, { baseClassName: baseClassName, className: className, friendlyName: friendlyName, isActionModule: isStandalone, isWindowModal: isWindowModal, onHide: props.onHide, modalContainer: modalContainer },
74
+ React.createElement(AdaptablePopupDialog_1.AdaptablePopupDialog, { dataName: componentModule, baseClassName: baseClassName, className: className, friendlyName: friendlyName, isActionModule: isStandalone, isWindowModal: isWindowModal, onHide: props.onHide, modalContainer: modalContainer },
75
75
  !isStandalone && React.createElement(TopBar_1.default, { icon: settingsPanelOptions.icon }, settingsPanelTitle),
76
- React.createElement(rebass_1.Flex, { "data-name": props.componentName, flexDirection: "row", flex: "1 1 0", style: { minHeight: 0 }, className: accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '' },
76
+ React.createElement(rebass_1.Flex, { flexDirection: "row", flex: "1 1 0", style: { minHeight: 0 }, className: accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '' },
77
77
  !isStandalone && (React.createElement(Navigation_1.Navigation, { menuItems: menuItems, api: props.api, activeItem: activeItem, customSettingsPanels: settingsPanelOptions.customSettingsPanels })),
78
78
  React.createElement(rebass_1.Flex, { flex: 1, className: "ab-Adaptable-Popup__Body" }, moduleViewContent)))));
79
79
  };
@@ -8,4 +8,5 @@ export declare const AdaptablePopupDialog: React.FunctionComponent<React.PropsWi
8
8
  onHide: () => void;
9
9
  style?: React.CSSProperties;
10
10
  modalContainer?: string | HTMLElement;
11
+ dataName?: string;
11
12
  }>>;
@@ -46,19 +46,6 @@ const PopupDialog = (props) => {
46
46
  };
47
47
  const AdaptablePopupDialog = (props) => {
48
48
  const { isActionModule, style, friendlyName, baseClassName, className, children, onHide, isWindowModal, modalContainer, } = props;
49
- const elementRef = React.useMemo(() => {
50
- if (!modalContainer) {
51
- return null;
52
- }
53
- let ref = null;
54
- if (typeof modalContainer === 'string') {
55
- ref = globalThis.document.querySelector(modalContainer);
56
- }
57
- else {
58
- ref = modalContainer;
59
- }
60
- return ref;
61
- }, [modalContainer]);
62
49
  if (modalContainer) {
63
50
  let ref = null;
64
51
  if (typeof modalContainer === 'string') {
@@ -67,15 +54,15 @@ const AdaptablePopupDialog = (props) => {
67
54
  else {
68
55
  ref = modalContainer;
69
56
  }
70
- return (0, react_dom_1.createPortal)(React.createElement(Dialog_1.default, { modal: false, fixed: false, onDismiss: onHide, className: className }, children), ref);
57
+ return (0, react_dom_1.createPortal)(React.createElement(Dialog_1.default, { "data-name": props.dataName, modal: false, fixed: false, onDismiss: onHide, className: className }, children), ref);
71
58
  }
72
59
  if (isWindowModal) {
73
60
  const settingsPanelOptionsKey = isActionModule ? `action-${friendlyName}` : 'settings';
74
- return (React.createElement(WindowDialog, { settingsPanelOptionsKey: settingsPanelOptionsKey, isActionModule: isActionModule, onHide: onHide, style: style, baseClassName: baseClassName, className: className }, children));
61
+ return (React.createElement(WindowDialog, { dataName: props.dataName, settingsPanelOptionsKey: settingsPanelOptionsKey, isActionModule: isActionModule, onHide: onHide, style: style, baseClassName: baseClassName, className: className }, children));
75
62
  }
76
63
  else {
77
64
  const modalStyle = Object.assign(Object.assign({}, style), (isActionModule ? { maxWidth: 800, maxHeight: 600 } : { maxWidth: 1200, maxHeight: 1000 }));
78
- return (React.createElement(PopupDialog, { onHide: onHide, style: modalStyle, className: className }, children));
65
+ return (React.createElement(PopupDialog, { "data-name": props.dataName, onHide: onHide, style: modalStyle, className: className }, children));
79
66
  }
80
67
  };
81
68
  exports.AdaptablePopupDialog = AdaptablePopupDialog;
@@ -111,6 +111,7 @@ const AdaptablePopupModuleView = (props) => {
111
111
  "s not available in current Layout")));
112
112
  };
113
113
  return (React.createElement(PopupPanel_1.PopupPanel, { glyphicon: moduleInfo.Glyph, infoLink: moduleInfo.HelpPage, headerText: moduleInfo.FriendlyName, button: newButton, infoLinkDisabled: !props.api.internalApi.isDocumentationLinksDisplayed() },
114
+ moduleViewProperties.HeaderComponent && React.createElement(moduleViewProperties.HeaderComponent, null),
114
115
  toggleButtonShowLayoutAssociatedObjects(),
115
116
  (items === null || items === void 0 ? void 0 : items.length) ? (React.createElement(AdaptableObjectList_1.AdaptableObjectList, { module: props.module, items: items })) : (React.createElement(EmptyContent_1.default, null, emptyContent !== null && emptyContent !== void 0 ? emptyContent : `Click 'New' to create a new ${moduleInfo.FriendlyName}`)),
116
117
  isWizardOpen && EditWizard && (React.createElement(EditWizard, { abObjectType: abObjectType, moduleInfo: moduleInfo, data: null, popupParams: props.popupParams, configEntities: null, onCloseWizard: handleWizardClose, onFinishWizard: handleWizardClose }))));
@@ -15,7 +15,7 @@ const PopupPanel = (props) => {
15
15
  React.createElement(rebass_1.Box, { marginRight: 0, "data-name": "space-before" }),
16
16
  React.createElement("div", { className: `${baseClassName}__Header__Title` }, props.headerText),
17
17
  React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
18
- props.infoLink != null && !props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { iconSize: 24, onClick: () => window.open(props.infoLink, '_blank' // <- opens the link in a new tab or window.
18
+ props.infoLink != null && !props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { tone: "none", variant: "text", iconSize: 24, onClick: () => window.open(props.infoLink, '_blank' // <- opens the link in a new tab or window.
19
19
  ) }))),
20
20
  React.createElement(rebass_1.Box, { style: { flex: 1 } }),
21
21
  props.button),
@@ -34,17 +34,17 @@ const AdaptablePopupTeamSharing = (props) => {
34
34
  ": a \"live\" share that is automatically updated with every local change"))),
35
35
  React.createElement(FormLayout_1.default, { padding: 2 },
36
36
  React.createElement(FormLayout_1.FormRow, { label: "Name: " },
37
- React.createElement(Input_1.default, { autoFocus: true, value: config.description, type: "string", width: 300, placeholder: "Enter text", onChange: (e) => setConfig(Object.assign(Object.assign({}, config), { description: e.target.value })) })),
37
+ React.createElement(Input_1.default, { "data-name": "teamsharing-entity-name", autoFocus: true, value: config.description, type: "string", width: 300, placeholder: "Enter text", onChange: (e) => setConfig(Object.assign(Object.assign({}, config), { description: e.target.value })) })),
38
38
  React.createElement(FormLayout_1.FormRow, { label: "Share: " },
39
39
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
40
- React.createElement(Radio_1.default, { checked: config.type === 'Snapshot', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Snapshot' })) }, "Snapshot"),
40
+ React.createElement(Radio_1.default, { "data-name": "teamsharing-entity-type-snapshot", checked: config.type === 'Snapshot', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Snapshot' })) }, "Snapshot"),
41
41
  ' ',
42
- React.createElement(Radio_1.default, { marginLeft: 3, checked: config.type === 'Active', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Active' })) }, "Active"),
42
+ React.createElement(Radio_1.default, { "data-name": "teamsharing-entity-type-active", marginLeft: 3, checked: config.type === 'Active', onChange: () => setConfig(Object.assign(Object.assign({}, config), { type: 'Active' })) }, "Active"),
43
43
  ' '))),
44
44
  React.createElement(rebass_1.Box, { marginTop: 3 },
45
45
  React.createElement(rebass_1.Flex, { padding: 2 },
46
- React.createElement(SimpleButton_1.default, { tone: "neutral", variant: "raised", onClick: () => onClose(), "data-name": "cancel" }, "Cancel"),
46
+ React.createElement(SimpleButton_1.default, { "data-name": "cancel", tone: "neutral", variant: "raised", onClick: () => onClose() }, "Cancel"),
47
47
  React.createElement("div", { style: { flex: 1 } }),
48
- React.createElement(SimpleButton_1.default, { tone: "accent", "data-name": "ok", variant: "raised", disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(config.description), onClick: () => onConfirm(config) }, "OK")))))));
48
+ React.createElement(SimpleButton_1.default, { "data-name": "ok", tone: "accent", variant: "raised", disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(config.description), onClick: () => onConfirm(config) }, "OK")))))));
49
49
  };
50
50
  exports.AdaptablePopupTeamSharing = AdaptablePopupTeamSharing;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableApi } from '../../Api/AdaptableApi';
3
- import { CellColorRange, ColumnComparison } from '../../PredefinedConfig/FormatColumnState';
3
+ import { CellColorRange, ColumnComparison } from '../../PredefinedConfig/StyledColumnState';
4
4
  import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
5
5
  export interface RangesComponentProps extends React.ClassAttributes<RangesComponent> {
6
6
  ranges: CellColorRange[];
@@ -10,6 +10,11 @@ export interface RangesComponentProps extends React.ClassAttributes<RangesCompon
10
10
  showRangeDirection: boolean;
11
11
  updateRanges: (ranges: CellColorRange[]) => void;
12
12
  updateColumnComparison: (columnComparison?: ColumnComparison) => void;
13
+ minMaxRangeValues: {
14
+ min: number;
15
+ max: number;
16
+ };
17
+ disabled?: boolean;
13
18
  }
14
19
  export interface RangesComponentState {
15
20
  ranges: CellColorRange[];
@@ -25,6 +30,8 @@ export declare class RangesComponent extends React.Component<RangesComponentProp
25
30
  changeRangeColor(index: number, value: string): void;
26
31
  changeRangeDirectionUp(index: number, checked: boolean): void;
27
32
  removeRange(index: number): void;
33
+ setRangeColMin(range: CellColorRange): void;
34
+ setRangeColMax(range: CellColorRange): void;
28
35
  addRange(): void;
29
36
  changeColumnComparisonMinValue(event: React.FormEvent<any>): void;
30
37
  private onMinColumnSelectedChanged;