@adaptabletools/adaptable 17.0.0-canary.0 → 17.0.0-canary.2

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 (399) hide show
  1. package/base.css +1203 -1207
  2. package/base.css.map +1 -1
  3. package/index.css +28 -1989
  4. package/index.css.map +1 -1
  5. package/package.json +9 -110
  6. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +2 -2
  7. package/src/AdaptableInterfaces/IAdaptable.d.ts +16 -11
  8. package/src/AdaptableOptions/ActionRowOptions.d.ts +25 -3
  9. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -3
  10. package/src/AdaptableOptions/AdaptableOptions.d.ts +10 -1
  11. package/src/AdaptableOptions/AdaptablePlugin.d.ts +1 -1
  12. package/src/AdaptableOptions/AlertOptions.d.ts +2 -2
  13. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +110 -91
  14. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +1 -1
  15. package/src/AdaptableOptions/DateInputOptions.d.ts +1 -1
  16. package/src/AdaptableOptions/EditOptions.d.ts +2 -2
  17. package/src/AdaptableOptions/ExportOptions.d.ts +3 -3
  18. package/src/AdaptableOptions/ExpressionOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/Fdc3Options.d.ts +10 -4
  20. package/src/AdaptableOptions/GridFilterOptions.d.ts +18 -0
  21. package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
  22. package/src/AdaptableOptions/MenuOptions.d.ts +10 -4
  23. package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -1
  24. package/src/AdaptableOptions/QuickSearchOptions.d.ts +4 -4
  25. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -16
  26. package/src/Api/ColumnApi.d.ts +4 -0
  27. package/src/Api/ColumnFilterApi.d.ts +2 -5
  28. package/src/Api/DashboardApi.d.ts +0 -11
  29. package/src/Api/EventApi.d.ts +2 -30
  30. package/src/Api/Events/ActionRowSubmitted.d.ts +1 -5
  31. package/src/Api/Events/AdaptableSearchState.d.ts +2 -7
  32. package/src/Api/Events/Fdc3MessageInfo.d.ts +1 -1
  33. package/src/Api/Events/GridFilterApplied.d.ts +2 -1
  34. package/src/Api/ExportApi.d.ts +0 -4
  35. package/src/Api/GridFilterApi.d.ts +26 -8
  36. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  37. package/src/Api/Implementation/ColumnApiImpl.js +4 -0
  38. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +1 -1
  39. package/src/Api/Implementation/ColumnFilterApiImpl.js +3 -3
  40. package/src/Api/Implementation/ConfigApiImpl.js +1 -2
  41. package/src/Api/Implementation/DashboardApiImpl.d.ts +0 -2
  42. package/src/Api/Implementation/DashboardApiImpl.js +0 -14
  43. package/src/Api/Implementation/ExportApiImpl.d.ts +0 -1
  44. package/src/Api/Implementation/ExportApiImpl.js +0 -3
  45. package/src/Api/Implementation/GridApiImpl.js +2 -2
  46. package/src/Api/Implementation/GridFilterApiImpl.d.ts +6 -1
  47. package/src/Api/Implementation/GridFilterApiImpl.js +22 -3
  48. package/src/Api/Implementation/NamedQueryApiImpl.d.ts +2 -5
  49. package/src/Api/Implementation/NamedQueryApiImpl.js +2 -2
  50. package/src/Api/Implementation/OptionsApiImpl.d.ts +2 -1
  51. package/src/Api/Implementation/OptionsApiImpl.js +3 -0
  52. package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -2
  53. package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -0
  54. package/src/Api/Internal/ActionRowInternalApi.js +17 -3
  55. package/src/Api/Internal/AlertInternalApi.d.ts +1 -7
  56. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -2
  57. package/src/Api/Internal/ColumnFilterInternalApi.js +9 -9
  58. package/src/Api/Internal/ColumnInternalApi.d.ts +0 -10
  59. package/src/Api/Internal/ColumnInternalApi.js +0 -28
  60. package/src/Api/Internal/Fdc3InternalApi.d.ts +2 -2
  61. package/src/Api/Internal/FormatColumnInternalApi.js +6 -6
  62. package/src/Api/Internal/GridFilterInternalApi.d.ts +1 -1
  63. package/src/Api/Internal/GridFilterInternalApi.js +5 -5
  64. package/src/Api/Internal/GridInternalApi.js +31 -9
  65. package/src/Api/Internal/LayoutInternalApi.js +8 -0
  66. package/src/Api/Internal/PredicateInternalApi.js +3 -3
  67. package/src/Api/Internal/StyledColumnInternalApi.d.ts +0 -3
  68. package/src/Api/Internal/StyledColumnInternalApi.js +0 -27
  69. package/src/Api/NamedQueryApi.d.ts +6 -5
  70. package/src/Api/OptionsApi.d.ts +5 -1
  71. package/src/PredefinedConfig/AlertState.d.ts +6 -6
  72. package/src/PredefinedConfig/CalculatedColumnState.d.ts +1 -1
  73. package/src/PredefinedConfig/ChartingState.d.ts +4 -1
  74. package/src/PredefinedConfig/Common/AdaptableAlert.d.ts +2 -2
  75. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +1 -1
  76. package/src/PredefinedConfig/Common/AdaptableComparerFunction.d.ts +2 -2
  77. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +2 -2
  78. package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +1 -1
  79. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +2 -2
  80. package/src/PredefinedConfig/Common/AdaptableMessageType.d.ts +1 -1
  81. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +1 -1
  82. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +3 -3
  83. package/src/PredefinedConfig/Common/AdaptablePredicate.js +45 -58
  84. package/src/PredefinedConfig/Common/AdaptableQuery.d.ts +1 -1
  85. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +5 -5
  86. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -1
  87. package/src/PredefinedConfig/Common/ColumnFilter.d.ts +2 -2
  88. package/src/PredefinedConfig/Common/Entitlement.d.ts +1 -1
  89. package/src/PredefinedConfig/Common/Fdc3Context.d.ts +133 -37
  90. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +4 -4
  91. package/src/PredefinedConfig/Common/Schedule.d.ts +2 -2
  92. package/src/PredefinedConfig/Common/Types.d.ts +15 -15
  93. package/src/PredefinedConfig/ExportState.d.ts +4 -4
  94. package/src/PredefinedConfig/FlashingCellState.d.ts +4 -4
  95. package/src/PredefinedConfig/FormatColumnState.d.ts +4 -27
  96. package/src/PredefinedConfig/NotesState.d.ts +2 -2
  97. package/src/PredefinedConfig/PredefinedConfig.d.ts +0 -5
  98. package/src/PredefinedConfig/ShortcutState.d.ts +1 -1
  99. package/src/PredefinedConfig/StyledColumnState.d.ts +8 -13
  100. package/src/PredefinedConfig/SystemState.d.ts +3 -3
  101. package/src/PredefinedConfig/TeamSharingState.d.ts +3 -3
  102. package/src/PredefinedConfig/ToolPanelState.d.ts +1 -1
  103. package/src/PredefinedConfig/Uuid.d.ts +1 -1
  104. package/src/Redux/ActionsReducers/GridRedux.d.ts +6 -1
  105. package/src/Redux/ActionsReducers/GridRedux.js +18 -0
  106. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +37 -16
  107. package/src/Redux/ActionsReducers/LayoutRedux.js +69 -16
  108. package/src/Redux/Store/AdaptableReduxMerger.d.ts +1 -1
  109. package/src/Redux/Store/AdaptableStore.d.ts +2 -2
  110. package/src/Redux/Store/AdaptableStore.js +46 -19
  111. package/src/Strategy/AdaptableModuleBase.d.ts +0 -1
  112. package/src/Strategy/AdaptableModuleBase.js +0 -30
  113. package/src/Strategy/AlertModule.js +1 -1
  114. package/src/Strategy/ChartingModule.js +8 -5
  115. package/src/Strategy/ColumnFilterModule.d.ts +2 -0
  116. package/src/Strategy/ColumnFilterModule.js +78 -40
  117. package/src/Strategy/CustomSortModule.js +1 -1
  118. package/src/Strategy/FlashingCellModule.js +1 -1
  119. package/src/Strategy/Interface/IModule.d.ts +3 -3
  120. package/src/Strategy/LayoutModule.js +5 -0
  121. package/src/Strategy/StyledColumnModule.js +2 -53
  122. package/src/Utilities/Constants/GeneralConstants.d.ts +3 -0
  123. package/src/Utilities/Constants/GeneralConstants.js +3 -0
  124. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +31 -23
  125. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +1 -1
  126. package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
  127. package/src/Utilities/Emitter.d.ts +2 -2
  128. package/src/Utilities/Emitter.js +2 -2
  129. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +3 -3
  130. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -3
  131. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -1
  132. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +55 -5
  133. package/src/Utilities/ExpressionFunctions/dateUtils.d.ts +1 -0
  134. package/src/Utilities/ExpressionFunctions/dateUtils.js +9 -0
  135. package/src/Utilities/ExpressionFunctions/deepMap.d.ts +3 -3
  136. package/src/Utilities/ExpressionFunctions/deepMap.js +7 -7
  137. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +1 -1
  138. package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +7 -7
  139. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +1 -1
  140. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.d.ts +7 -7
  141. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  142. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +11 -1
  143. package/src/Utilities/Extensions/TypeExtensions.d.ts +8 -8
  144. package/src/Utilities/Helpers/AdaptableHelper.js +4 -0
  145. package/src/Utilities/ObjectFactory.js +1 -1
  146. package/src/Utilities/Services/EntitlementService.d.ts +0 -1
  147. package/src/Utilities/Services/EntitlementService.js +0 -8
  148. package/src/Utilities/Services/Interface/IAlertService.d.ts +3 -3
  149. package/src/Utilities/Services/Interface/IEntitlementService.d.ts +0 -6
  150. package/src/Utilities/Services/Interface/IMetamodelService.d.ts +1 -1
  151. package/src/Utilities/Services/LicenseService/index.js +181 -1
  152. package/src/Utilities/Services/MetamodelService.js +1 -1
  153. package/src/Utilities/Services/ModuleService.js +1 -1
  154. package/src/Utilities/license/LicenseDetails.d.ts +1 -1
  155. package/src/Utilities/license/decode.js +65 -1
  156. package/src/Utilities/license/hashing.js +43 -1
  157. package/src/Utilities/logDeprecation.d.ts +5 -3
  158. package/src/View/AdaptablePopover/index.d.ts +1 -0
  159. package/src/View/AdaptablePopover/index.js +1 -1
  160. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +1 -1
  161. package/src/View/Alert/AlertEmptyView.js +1 -1
  162. package/src/View/Alert/Utilities/getAvailablePredicates.js +1 -1
  163. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +1 -1
  164. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +20 -4
  165. package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +1 -1
  166. package/src/View/Alert/Wizard/AlertButtonsEditor.js +21 -24
  167. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  168. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  169. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +1 -1
  170. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +1 -1
  171. package/src/View/Alert/Wizard/AlertScopeWizardSection.d.ts +1 -1
  172. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +1 -1
  173. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  174. package/src/View/Alert/Wizard/AlertWizard.js +1 -1
  175. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  176. package/src/View/BulkUpdate/BulkUpdatePopup.js +3 -9
  177. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +2 -2
  178. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.d.ts +1 -1
  179. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  180. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.d.ts +1 -1
  181. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +9 -18
  182. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
  183. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  184. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -2
  185. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +5 -1
  186. package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
  187. package/src/View/ColumnInfo/ColumnInfo.js +7 -8
  188. package/src/View/Components/AdaptableDateInput/index.d.ts +2 -2
  189. package/src/View/Components/AdaptableInput/index.d.ts +1 -1
  190. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +2 -2
  191. package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -1
  192. package/src/View/Components/Buttons/ButtonOpen.d.ts +5 -0
  193. package/src/View/Components/Buttons/ButtonOpen.js +7 -0
  194. package/src/View/Components/Buttons/ButtonUnsuspend.d.ts +8 -0
  195. package/src/View/Components/Buttons/ButtonUnsuspend.js +17 -0
  196. package/src/View/Components/CellPopup/index.d.ts +1 -1
  197. package/src/View/Components/ColumnSelector/index.d.ts +1 -1
  198. package/src/View/Components/EntityRulesEditor/index.d.ts +2 -2
  199. package/src/View/Components/EntityRulesEditor/index.js +11 -3
  200. package/src/View/Components/ExternalRenderer.d.ts +1 -1
  201. package/src/View/Components/FilterForm/FilterForm.js +24 -24
  202. package/src/View/Components/FilterForm/QuickFilterForm.js +3 -3
  203. package/src/View/Components/FilterForm/QuickFilterValues.d.ts +2 -2
  204. package/src/View/Components/FilterForm/QuickFilterValues.js +2 -2
  205. package/src/View/Components/FilterForm/Waiting.d.ts +1 -1
  206. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -1
  207. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +1 -1
  208. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +2 -2
  209. package/src/View/Components/PredicateEditor/PredicateEditor.js +10 -10
  210. package/src/View/Components/RangesComponent.js +11 -8
  211. package/src/View/Components/Selectors/ColumnSelector.d.ts +12 -17
  212. package/src/View/Components/Selectors/ColumnSelector.js +23 -42
  213. package/src/View/Components/Selectors/ColumnSelectorOld.d.ts +18 -0
  214. package/src/View/Components/Selectors/ColumnSelectorOld.js +46 -0
  215. package/src/View/Components/Selectors/ColumnValueSelector.d.ts +4 -23
  216. package/src/View/Components/Selectors/ColumnValueSelector.js +34 -126
  217. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +13 -0
  218. package/src/View/Components/Selectors/PermittedValuesSelector.js +46 -0
  219. package/src/View/Components/StyleComponent.d.ts +2 -3
  220. package/src/View/Components/StyleComponent.js +37 -40
  221. package/src/View/Components/ToolPanel/ToolPanelPopup.js +2 -2
  222. package/src/View/Components/ToolPanel/ToolPanelWrapper.d.ts +1 -1
  223. package/src/View/Components/ValueSelector/index.d.ts +2 -2
  224. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +1 -1
  225. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.d.ts +1 -1
  226. package/src/View/CustomSort/Wizard/CustomSortWizard.js +1 -1
  227. package/src/View/Dashboard/DashboardPopup.js +4 -4
  228. package/src/View/Dashboard/DashboardToolbarFactory.js +0 -1
  229. package/src/View/Dashboard/PinnedDashboard.js +6 -3
  230. package/src/View/Dashboard/PinnedToolbarsSelector.js +1 -1
  231. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +3 -1
  232. package/src/View/DataImport/DataImportPopup.js +1 -1
  233. package/src/View/DataImport/DataImportWizard/DataImportWizard.d.ts +1 -1
  234. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.d.ts +1 -1
  235. package/src/View/DataSet/DataSetViewPanel.js +3 -2
  236. package/src/View/Export/ExportViewPanel.js +12 -9
  237. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +1 -1
  238. package/src/View/Export/Wizard/ReportNameWizardSection.d.ts +1 -1
  239. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +1 -1
  240. package/src/View/Filter/FilterViewPanel.js +1 -1
  241. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +1 -1
  242. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  243. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
  244. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.d.ts +1 -1
  245. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +1 -1
  246. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +8 -8
  247. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +1 -1
  248. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  249. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +10 -9
  250. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +1 -1
  251. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.d.ts +1 -1
  252. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.d.ts +1 -1
  253. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +1 -1
  254. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +3 -1
  255. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
  256. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -17
  257. package/src/View/GridFilter/GridFilterExpressionEditor.js +62 -9
  258. package/src/View/GridFilter/GridFilterPopup.js +36 -6
  259. package/src/View/GridFilter/GridFilterStatusbar.js +0 -1
  260. package/src/View/GridFilter/GridFilterViewPanel.d.ts +2 -26
  261. package/src/View/GridFilter/GridFilterViewPanel.js +49 -150
  262. package/src/View/GridFilter/NamedQuerySelector.d.ts +16 -0
  263. package/src/View/GridFilter/NamedQuerySelector.js +50 -0
  264. package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +24 -0
  265. package/src/View/GridFilter/useGridFilterExpressionEditor.js +123 -0
  266. package/src/View/GridFilter/useGridFilterOptionsForExpressionEditor.d.ts +4 -0
  267. package/src/View/GridFilter/useGridFilterOptionsForExpressionEditor.js +27 -0
  268. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +5 -3
  269. package/src/View/Layout/LayoutViewPanel.js +4 -3
  270. package/src/View/Layout/SaveLayoutButton.js +2 -1
  271. package/src/View/Layout/Wizard/LayoutWizard.js +10 -0
  272. package/src/View/Layout/Wizard/sections/FilterSection.js +15 -17
  273. package/src/View/Layout/Wizard/sections/GridFilterSection.d.ts +9 -0
  274. package/src/View/Layout/Wizard/sections/GridFilterSection.js +37 -0
  275. package/src/View/License/LicenseWatermark.js +61 -1
  276. package/src/View/NamedQuery/EditCurrentQueryButton.js +1 -1
  277. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  278. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +2 -2
  279. package/src/View/QuickSearch/QuickSearchPopup.js +1 -1
  280. package/src/View/QuickSearch/useQuickSearchDebounced.d.ts +1 -1
  281. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -2
  282. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.d.ts +1 -1
  283. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +6 -5
  284. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +6 -7
  285. package/src/View/Shortcut/Wizard/ShortcutWizard.js +4 -3
  286. package/src/View/SmartEdit/SmartEditViewPanel.js +7 -5
  287. package/src/View/SpecialColumnSettingsWizardStep.js +4 -1
  288. package/src/View/StateManagement/StateManagementPopup.js +6 -6
  289. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  290. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +16 -8
  291. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +20 -23
  292. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +2 -3
  293. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +1 -1
  294. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +7 -5
  295. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.d.ts +1 -1
  296. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +4 -4
  297. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +0 -8
  298. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +2 -9
  299. package/src/View/SystemStatus/SystemStatusViewPanel.js +1 -1
  300. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +1 -1
  301. package/src/View/Theme/ThemeEditor.d.ts +1 -1
  302. package/src/View/Theme/ThemeViewPanel.js +4 -3
  303. package/src/View/UIHelper.d.ts +1 -1
  304. package/src/View/Wizard/ObjectTagsWizardSection.d.ts +1 -1
  305. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -1
  306. package/src/View/Wizard/OnePageWizards.d.ts +2 -2
  307. package/src/agGrid/Adaptable.d.ts +20 -17
  308. package/src/agGrid/Adaptable.js +193 -190
  309. package/src/agGrid/AdaptableLogger.js +15 -15
  310. package/src/agGrid/CheckboxRenderer.d.ts +5 -0
  311. package/src/agGrid/CheckboxRenderer.js +5 -1
  312. package/src/agGrid/ColumnSetupInfo.d.ts +1 -1
  313. package/src/agGrid/agGridHelper.d.ts +0 -1
  314. package/src/agGrid/agGridHelper.js +16 -14
  315. package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.d.ts +2 -2
  316. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.d.ts +2 -2
  317. package/src/components/CheckBox/index.d.ts +1 -1
  318. package/src/components/ColorPicker/ColorPicker.d.ts +2 -2
  319. package/src/components/ColorPicker/ColorPicker.js +1 -1
  320. package/src/components/ContainerProps.d.ts +2 -2
  321. package/src/components/Dashboard/Dashboard.d.ts +2 -2
  322. package/src/components/Dashboard/DashboardTab.d.ts +1 -1
  323. package/src/components/Dashboard/DashboardToolbar.d.ts +1 -1
  324. package/src/components/Datepicker/index.d.ts +2 -2
  325. package/src/components/Dialog/index.d.ts +2 -2
  326. package/src/components/Dropdown/index.d.ts +2 -2
  327. package/src/components/DropdownButton/DropdownButtonItem.d.ts +1 -1
  328. package/src/components/DropdownButton/index.d.ts +1 -1
  329. package/src/components/DropdownButton/renderItem.d.ts +1 -1
  330. package/src/components/DropdownButton/useExpanded.d.ts +1 -1
  331. package/src/components/EllipsisContainer/index.d.ts +1 -1
  332. package/src/components/EmptyContent/index.d.ts +1 -1
  333. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  334. package/src/components/ExpressionEditor/NamedQueryContext.d.ts +1 -1
  335. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +45 -15
  336. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +7 -2
  337. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +48 -33
  338. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.d.ts +1 -1
  339. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +6 -6
  340. package/src/components/ExpressionEditor/QueryBuilder/booleanExpressions.js +2 -0
  341. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +2 -1
  342. package/src/components/ExpressionEditor/QueryBuilder/utils.js +30 -0
  343. package/src/components/ExpressionEditor/index.d.ts +2 -1
  344. package/src/components/ExpressionEditor/index.js +81 -59
  345. package/src/components/FormLayout/index.d.ts +4 -4
  346. package/src/components/Input/NumberInput.d.ts +1 -1
  347. package/src/components/Input/index.d.ts +2 -2
  348. package/src/components/List/ListGroupItem/index.d.ts +2 -2
  349. package/src/components/Modal/Backdrop.d.ts +2 -2
  350. package/src/components/OverlayTrigger/index.d.ts +1 -1
  351. package/src/components/Panel/index.d.ts +1 -1
  352. package/src/components/Radio/index.d.ts +1 -1
  353. package/src/components/ResizeObserver/index.d.ts +1 -1
  354. package/src/components/Select/Select.d.ts +30 -0
  355. package/src/components/Select/Select.js +128 -0
  356. package/src/components/Select/index.d.ts +1 -0
  357. package/src/components/Select/index.js +1 -0
  358. package/src/components/SelectableList/index.d.ts +1 -1
  359. package/src/components/Tabs/index.d.ts +3 -3
  360. package/src/components/Textarea/index.d.ts +1 -1
  361. package/src/components/Toggle/Toggle.d.ts +1 -1
  362. package/src/components/WarningBox/index.d.ts +4 -0
  363. package/src/components/WarningBox/index.js +7 -0
  364. package/src/components/WindowModal/WindowModal.d.ts +2 -2
  365. package/src/components/icons/DefaultIcon.d.ts +1 -1
  366. package/src/components/icons/index.js +2 -0
  367. package/src/components/icons/resume.d.ts +3 -0
  368. package/src/components/icons/resume.js +4 -0
  369. package/src/components/utils/useContainerScrollObserver/index.d.ts +1 -1
  370. package/src/components/utils/uuid.d.ts +1 -1
  371. package/src/metamodel/adaptable-metamodel-model.d.ts +2 -2
  372. package/src/metamodel/adaptable.metamodel.d.ts +330 -27
  373. package/src/metamodel/adaptable.metamodel.js +9435 -1
  374. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  375. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -0
  376. package/src/parser/src/predicate/types.d.ts +2 -2
  377. package/src/parser/src/types.d.ts +23 -11
  378. package/src/renderReactRoot.d.ts +2 -4
  379. package/src/renderReactRoot.js +5 -46
  380. package/src/types.d.ts +6 -6
  381. package/themes/dark.css +1 -1
  382. package/themes/dark.css.map +1 -1
  383. package/themes/light.css +1 -1
  384. package/themes/light.css.map +1 -1
  385. package/tsconfig.esm.tsbuildinfo +1 -0
  386. package/publishTimestamp.d.ts +0 -2
  387. package/publishTimestamp.js +0 -1
  388. package/src/AdaptableOptions/FilterOptions.d.ts +0 -216
  389. package/src/AdaptableOptions/FinancePluginOptions.d.ts +0 -6
  390. package/src/AdaptableOptions/FinancePluginOptions.js +0 -1
  391. package/src/Api/Events/ChexboxColumnClicked.d.ts +0 -24
  392. package/src/Api/Events/ChexboxColumnClicked.js +0 -1
  393. package/src/Api/Events/QueryRun.d.ts +0 -15
  394. package/src/Api/Events/QueryRun.js +0 -1
  395. package/src/PredefinedConfig/ConditionalStyleState.d.ts +0 -41
  396. package/src/PredefinedConfig/ConditionalStyleState.js +0 -1
  397. package/version.d.ts +0 -2
  398. package/version.js +0 -1
  399. /package/src/AdaptableOptions/{FilterOptions.js → GridFilterOptions.js} +0 -0
@@ -13,7 +13,7 @@ import { AdaptableStore, INIT_STATE } from '../Redux/Store/AdaptableStore';
13
13
  import * as GeneralConstants from '../Utilities/Constants/GeneralConstants';
14
14
  import { AB_SPECIAL_COLUMN, ADAPTABLE_ROW_ACTION_BUTTONS, AUTOGENERATED_PK_COLUMN, BLANK_DISTINCT_COLUMN_VALUE, DARK_THEME, HALF_SECOND, LIGHT_THEME, } from '../Utilities/Constants/GeneralConstants';
15
15
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
16
- import { NamedQueryModuleId } from '../Utilities/Constants/ModuleConstants';
16
+ import { GridFilterModuleId } from '../Utilities/Constants/ModuleConstants';
17
17
  import { DefaultAdaptableOptions } from '../Utilities/Defaults/DefaultAdaptableOptions';
18
18
  import Emitter from '../Utilities/Emitter';
19
19
  import { ArrayExtensions } from '../Utilities/Extensions/ArrayExtensions';
@@ -47,10 +47,9 @@ import { convertAdaptableStyleToCSS, convertCSSAbsoluteFontSizeToPt, getVariable
47
47
  import { AdaptableNumberEditor, ReactAdaptableNumberEditor } from './editors/AdaptableNumberEditor';
48
48
  import { AdaptableDateEditor, ReactAdaptableDateEditor } from './editors/AdaptableDateEditor';
49
49
  import { waitForCondition } from '../Utilities/waitForCondition';
50
- import publishTimestamp from '../../publishTimestamp';
50
+ import { publishTimestamp } from '../../package.json';
51
51
  import { MetamodelService } from '../Utilities/Services/MetamodelService';
52
52
  import { AgGridModulesDocsLink, PrimaryKeyDocsLink, } from '../Utilities/Constants/DocumentationLinkConstants';
53
- import { CheckboxEditor } from './CheckboxRenderer';
54
53
  import { parseDateValue } from '../Utilities/Helpers/DateHelper';
55
54
  import { ADAPTABLE_STATUS_PANEL } from '../PredefinedConfig/StatusBarState';
56
55
  import { createAgStatusPanelComponent } from './createAgStatusPanelComponent';
@@ -65,7 +64,7 @@ import { AdaptableLogger } from './AdaptableLogger';
65
64
  import { attachColumnTypes } from './attachAddaptableColumnTypes';
66
65
  import { DateFormatter } from '../Utilities/Helpers/FormatHelper';
67
66
  import { Fdc3Service } from '../Utilities/Services/Fdc3Service';
68
- const tinycolor = require('tinycolor2');
67
+ import tinycolor from 'tinycolor2';
69
68
  const GROUP_PATH_SEPARATOR = '/';
70
69
  // IMPORTANT - we need colId to be set in order for safeSetColDefs to work correctly
71
70
  const assignColId = (colDef, logger) => {
@@ -148,6 +147,91 @@ const forEachColumn = (cols, fn, parentColGroup) => {
148
147
  };
149
148
  const adaptableInstances = {};
150
149
  export class Adaptable {
150
+ get isLive() {
151
+ return this.isInitialised && !this.isDestroyed;
152
+ }
153
+ /**
154
+ * Initializer for Adaptable
155
+ *
156
+ * @param adaptableOptions the AdaptableOptions
157
+ * @param agGridConfig AG Grid
158
+ * @returns a Promise containing the AdaptableAPI object in order to enable run-time access to Adaptable's properties and functions
159
+ */
160
+ static init(adaptableOptions, agGridConfig) {
161
+ var _a;
162
+ if (!((_a = agGridConfig === null || agGridConfig === void 0 ? void 0 : agGridConfig.modules) === null || _a === void 0 ? void 0 : _a.length)) {
163
+ AdaptableLogger.consoleErrorBase(`No AG Grid modules were provided, thus limiting AdapTables features significantly!\n\nRead further info here:${AgGridModulesDocsLink}`);
164
+ }
165
+ return Adaptable.initInternal(adaptableOptions, Object.assign({}, agGridConfig));
166
+ }
167
+ /**
168
+ * Lazy static constructor for Adaptable
169
+ * Receives an AdaptableOptions object
170
+ * Returns a Promise containing the AdaptableAPI object in order to enable run-time access to Adaptable's properties and functions
171
+ * @param adaptableOptions an instance of AdaptableOptions
172
+ */
173
+ static async initInternal(adaptableOptions, runtimeConfig) {
174
+ let promise = null;
175
+ if (Array.isArray(adaptableOptions.plugins)) {
176
+ const agGridOptions = {
177
+ gridOptions: runtimeConfig.gridOptions,
178
+ modules: runtimeConfig.modules,
179
+ };
180
+ // do this
181
+ for (let plugin of adaptableOptions.plugins) {
182
+ promise =
183
+ promise && promise.then
184
+ ? promise.then(() => {
185
+ return plugin.beforeInit(adaptableOptions, agGridOptions);
186
+ })
187
+ : plugin.beforeInit(adaptableOptions, agGridOptions);
188
+ }
189
+ // if gridOptions changed, we need to update the runtimeConfig
190
+ if (agGridOptions.gridOptions !== runtimeConfig.gridOptions) {
191
+ // This allows plugins to modify
192
+ runtimeConfig.gridOptions = agGridOptions.gridOptions;
193
+ }
194
+ // instead of
195
+ // if (Array.isArray(adaptableOptions.plugins)) {
196
+ // for await (let plugin of adaptableOptions.plugins) {
197
+ // await plugin.beforeInit(adaptableOptions);
198
+ // }
199
+ // }
200
+ // because this await for of introduces too much delay
201
+ }
202
+ const doInit = (ab) => {
203
+ return ab.init(adaptableOptions, runtimeConfig, true).then((api) => {
204
+ if (Array.isArray(adaptableOptions.plugins)) {
205
+ adaptableOptions.plugins.forEach((plugin) => {
206
+ plugin.afterInit(ab);
207
+ });
208
+ }
209
+ return api;
210
+ });
211
+ };
212
+ if (promise && promise.then) {
213
+ return promise.then(() => {
214
+ const ab = new Adaptable();
215
+ return doInit(ab);
216
+ });
217
+ }
218
+ else {
219
+ const ab = new Adaptable();
220
+ return doInit(ab);
221
+ }
222
+ }
223
+ static collectInstance(adaptable) {
224
+ adaptable._id = adaptable.adaptableOptions.adaptableId || createUuid();
225
+ adaptableInstances[adaptable._id] = adaptable;
226
+ }
227
+ static forEachAdaptable(fn) {
228
+ Object.keys(adaptableInstances).forEach((key) => {
229
+ fn(adaptableInstances[key]);
230
+ });
231
+ }
232
+ static dismissInstance(adaptable) {
233
+ delete adaptableInstances[adaptable._id];
234
+ }
151
235
  constructor() {
152
236
  this.variant = 'vanilla';
153
237
  this.colDefPropertyCache = new Map();
@@ -180,8 +264,7 @@ export class Adaptable {
180
264
  };
181
265
  this._adaptableReady = false;
182
266
  this.isDestroyed = false;
183
- this.supressReact18RenderWarning = false;
184
- this.renderReactRoot = (node, container) => defaultRenderReactRoot(node, container, this.supressReact18RenderWarning);
267
+ this.renderReactRoot = (node, container) => defaultRenderReactRoot(node, container);
185
268
  this.isPluginLoaded = (pluginId) => {
186
269
  const plugins = this.adaptableOptions.plugins || [];
187
270
  for (let i = 0, len = plugins.length; i < len; i++) {
@@ -226,7 +309,7 @@ export class Adaptable {
226
309
  if (this.isDestroyed || !this.gridOptions.api) {
227
310
  return;
228
311
  }
229
- this.applyGridFiltering();
312
+ this.applyColumnFiltering();
230
313
  if (callback) {
231
314
  callback();
232
315
  }
@@ -269,97 +352,11 @@ export class Adaptable {
269
352
  };
270
353
  // (global as any).adaptable = this;
271
354
  }
272
- get isLive() {
273
- return this.isInitialised && !this.isDestroyed;
274
- }
275
- /**
276
- * Initializer for Adaptable
277
- *
278
- * @param adaptableOptions the AdaptableOptions
279
- * @param agGridConfig AG Grid
280
- * @returns a Promise containing the AdaptableAPI object in order to enable run-time access to Adaptable's properties and functions
281
- */
282
- static init(adaptableOptions, agGridConfig) {
283
- var _a;
284
- if (!((_a = agGridConfig === null || agGridConfig === void 0 ? void 0 : agGridConfig.modules) === null || _a === void 0 ? void 0 : _a.length)) {
285
- AdaptableLogger.consoleErrorBase(`No AG Grid modules were provided, thus limiting AdapTables features significantly!\n\nRead further info here:${AgGridModulesDocsLink}`);
286
- }
287
- return Adaptable.initInternal(adaptableOptions, Object.assign(Object.assign({}, agGridConfig), { supressReact18RenderWarning: true }));
288
- }
289
- /**
290
- * Lazy static constructor for Adaptable
291
- * Receives an AdaptableOptions object
292
- * Returns a Promise containing the AdaptableAPI object in order to enable run-time access to Adaptable's properties and functions
293
- * @param adaptableOptions an instance of AdaptableOptions
294
- */
295
- static async initInternal(adaptableOptions, runtimeConfig) {
296
- let promise = null;
297
- if (Array.isArray(adaptableOptions.plugins)) {
298
- const agGridOptions = {
299
- gridOptions: runtimeConfig.gridOptions,
300
- modules: runtimeConfig.modules,
301
- };
302
- // do this
303
- for (let plugin of adaptableOptions.plugins) {
304
- promise =
305
- promise && promise.then
306
- ? promise.then(() => {
307
- return plugin.beforeInit(adaptableOptions, agGridOptions);
308
- })
309
- : plugin.beforeInit(adaptableOptions, agGridOptions);
310
- }
311
- // if gridOptions changed, we need to update the runtimeConfig
312
- if (agGridOptions.gridOptions !== runtimeConfig.gridOptions) {
313
- // This allows plugins to modify
314
- runtimeConfig.gridOptions = agGridOptions.gridOptions;
315
- }
316
- // instead of
317
- // if (Array.isArray(adaptableOptions.plugins)) {
318
- // for await (let plugin of adaptableOptions.plugins) {
319
- // await plugin.beforeInit(adaptableOptions);
320
- // }
321
- // }
322
- // because this await for of introduces too much delay
323
- }
324
- const doInit = (ab) => {
325
- return ab.init(adaptableOptions, runtimeConfig, true).then((api) => {
326
- if (Array.isArray(adaptableOptions.plugins)) {
327
- adaptableOptions.plugins.forEach((plugin) => {
328
- plugin.afterInit(ab);
329
- });
330
- }
331
- return api;
332
- });
333
- };
334
- if (promise && promise.then) {
335
- return promise.then(() => {
336
- const ab = new Adaptable();
337
- return doInit(ab);
338
- });
339
- }
340
- else {
341
- const ab = new Adaptable();
342
- return doInit(ab);
343
- }
344
- }
345
- static collectInstance(adaptable) {
346
- adaptable._id = adaptable.adaptableOptions.adaptableId || createUuid();
347
- adaptableInstances[adaptable._id] = adaptable;
348
- }
349
- static forEachAdaptable(fn) {
350
- Object.keys(adaptableInstances).forEach((key) => {
351
- fn(adaptableInstances[key]);
352
- });
353
- }
354
- static dismissInstance(adaptable) {
355
- delete adaptableInstances[adaptable._id];
356
- }
357
355
  // the 'old' constructor which takes an Adaptable adaptable object
358
356
  // this is still used internally but should not be used externally as a preference
359
357
  async init(adaptableOptions, runtimeConfig, _staticInit) {
360
358
  this.logger = new AdaptableLogger(adaptableOptions.adaptableId || String(Date.now()));
361
359
  const perfAdaptableInit = this.logger.beginPerf(`Adaptable init()`);
362
- this.supressReact18RenderWarning = !!runtimeConfig.supressReact18RenderWarning;
363
360
  if (runtimeConfig.renderReactRoot) {
364
361
  this.renderReactRoot = (el, container) => {
365
362
  const unmount = runtimeConfig.renderReactRoot(el, container);
@@ -841,7 +838,7 @@ export class Adaptable {
841
838
  this.throttleFilterOnTickingDataChange();
842
839
  }
843
840
  }
844
- applyGridFiltering() {
841
+ applyColumnFiltering() {
845
842
  if (this.api.columnFilterApi.isQuickFilterAvailable()) {
846
843
  if (this.api.columnFilterApi.isQuickFilterVisible()) {
847
844
  this.showQuickFilter();
@@ -850,11 +847,14 @@ export class Adaptable {
850
847
  this.hideQuickFilter();
851
848
  }
852
849
  }
850
+ this.applyGridFiltering();
851
+ this.updateColumnFilterActiveState();
852
+ }
853
+ applyGridFiltering() {
853
854
  this.gridOptions.api.onFilterChanged();
854
- this._emit('GridFiltered');
855
+ this._emit('AdapTableFiltersApplied');
855
856
  this.setSelectedCells();
856
857
  this.setSelectedRows();
857
- this.updateColumnFilterActiveState();
858
858
  }
859
859
  isGroupRowNode(rowNode) {
860
860
  if (!rowNode) {
@@ -886,12 +886,12 @@ export class Adaptable {
886
886
  }
887
887
  return false;
888
888
  }
889
- clearGridFiltering() {
889
+ clearColumnFiltering() {
890
890
  this.gridOptions.columnApi.getColumns().forEach((c) => {
891
891
  this.gridOptions.api.destroyFilter(c);
892
892
  });
893
893
  }
894
- clearColumnFiltering(columnIds) {
894
+ clearColumnFilteringForColumns(columnIds) {
895
895
  columnIds.forEach((c) => {
896
896
  const column = this.gridOptions.columnApi
897
897
  .getColumns()
@@ -901,7 +901,7 @@ export class Adaptable {
901
901
  }
902
902
  });
903
903
  }
904
- hideFilterForm() {
904
+ hideColumnFilterForm() {
905
905
  if (this.hideFilterFormPopup) {
906
906
  this.hideFilterFormPopup();
907
907
  }
@@ -1285,16 +1285,16 @@ export class Adaptable {
1285
1285
  gridCell.displayValue = params.value;
1286
1286
  }
1287
1287
  const ignoreCase = !this.adaptableOptions.quickSearchOptions.runQuickSearchWithCaseSensitivity;
1288
- const v = ignoreCase
1288
+ const displayValue = ignoreCase
1289
1289
  ? String(gridCell.displayValue).toLocaleLowerCase()
1290
1290
  : String(gridCell.displayValue);
1291
1291
  const i = ignoreCase ? String(quickSearchValue).toLocaleLowerCase() : String(quickSearchValue);
1292
- const applyQuickSearchFunction = this.adaptableOptions.quickSearchOptions.shouldApplyQuickSearch;
1292
+ const applyQuickSearchFunction = this.adaptableOptions.quickSearchOptions.runBespokeQuickSearch;
1293
1293
  if (applyQuickSearchFunction) {
1294
1294
  const quickSearchContext = Object.assign(Object.assign({}, createBaseContext(this.api)), { gridCell, quickSearchValue: quickSearchValue });
1295
1295
  return applyQuickSearchFunction(quickSearchContext);
1296
1296
  }
1297
- return v.indexOf(i) !== -1;
1297
+ return displayValue.indexOf(i) !== -1;
1298
1298
  }
1299
1299
  getPrimaryKeyValueFromRowNode(rowNode) {
1300
1300
  var _a;
@@ -1541,12 +1541,6 @@ export class Adaptable {
1541
1541
  shouldUpdateHeaders = this.setupColumnHeader(colSetupInfo) || shouldUpdateHeaders;
1542
1542
  });
1543
1543
  isChanged = isChanged || shouldUpdateHeaders;
1544
- // this is NOT really needed?!
1545
- // without it everything seem to still work as expected
1546
- // and the setLayout() execution time is shorter, so a double win
1547
- // if (ArrayExtensions.IsNotNullOrEmpty(layout.ColumnFilters)) {
1548
- // this.gridOptions.api!.onFilterChanged();
1549
- // }
1550
1544
  if (isChanged) {
1551
1545
  // it's important we set pivot mode
1552
1546
  // before we set column state
@@ -1891,51 +1885,36 @@ export class Adaptable {
1891
1885
  });
1892
1886
  return returnValues;
1893
1887
  }
1894
- getDistinctValuesForColumn(column, visibleRowsOnly, skipRowNode, permittedValues) {
1895
- let returnValues = [];
1896
- // this function does NOT look up for server values but actually it should...
1897
- // that is currently commented out in the column api function (previously in filter form)
1898
- permittedValues =
1899
- permittedValues !== null && permittedValues !== void 0 ? permittedValues : this.api.userInterfaceApi.getPermittedValuesForColumn(column);
1900
- if (ArrayExtensions.IsNotNull(permittedValues)) {
1901
- returnValues = permittedValues.map((pv) => {
1902
- return {
1903
- rawValue: pv,
1904
- displayValue: pv,
1905
- normalisedValue: pv,
1906
- columnId: column.columnId,
1907
- column: column,
1908
- rowNode: undefined,
1909
- isPivotCell: false,
1910
- isRowGroupCell: false,
1911
- };
1888
+ getDistinctGridCellsForColumn(column, distinctValuesParams) {
1889
+ let gridCells = [];
1890
+ if (distinctValuesParams.visibleRowsOnly) {
1891
+ this.gridOptions.api.forEachNodeAfterFilter((rowNode) => {
1892
+ const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
1893
+ if (gridCell &&
1894
+ gridCell.rawValue != undefined &&
1895
+ gridCell.rowNode !== distinctValuesParams.skipRowNode) {
1896
+ gridCells.push(gridCell);
1897
+ }
1912
1898
  });
1913
1899
  }
1914
1900
  else {
1915
- if (visibleRowsOnly) {
1916
- this.gridOptions.api.forEachNodeAfterFilter((rowNode) => {
1917
- const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
1918
- if (gridCell && gridCell.rawValue != undefined && gridCell.rowNode !== skipRowNode) {
1919
- returnValues.push(gridCell);
1920
- }
1921
- });
1922
- }
1923
- else {
1924
- this.gridOptions.api.forEachNode((rowNode) => {
1925
- const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
1926
- if (gridCell && gridCell.rowNode !== skipRowNode) {
1927
- if (gridCell.rawValue == undefined &&
1928
- this.adaptableOptions.columnFilterOptions.includeBlankFilterValues) {
1929
- gridCell.rawValue = BLANK_DISTINCT_COLUMN_VALUE;
1930
- gridCell.displayValue = BLANK_DISTINCT_COLUMN_VALUE;
1931
- gridCell.normalisedValue = BLANK_DISTINCT_COLUMN_VALUE;
1932
- }
1933
- returnValues.push(gridCell);
1901
+ this.gridOptions.api.forEachNode((rowNode) => {
1902
+ const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
1903
+ if (gridCell && gridCell.rowNode !== distinctValuesParams.skipRowNode) {
1904
+ if (gridCell.rawValue == undefined &&
1905
+ this.adaptableOptions.columnFilterOptions.valuesFilterOptions.includeBlankFilterValues) {
1906
+ gridCell.rawValue = BLANK_DISTINCT_COLUMN_VALUE;
1907
+ gridCell.displayValue = BLANK_DISTINCT_COLUMN_VALUE;
1908
+ gridCell.normalisedValue = BLANK_DISTINCT_COLUMN_VALUE;
1934
1909
  }
1935
- });
1936
- }
1910
+ gridCells.push(gridCell);
1911
+ }
1912
+ });
1937
1913
  }
1938
- let uniqueVals = uniqBy(returnValues, (dataItem) => {
1914
+ return gridCells;
1915
+ }
1916
+ getUniqueGridCells(column, gridCells) {
1917
+ let uniqueVals = uniqBy(gridCells, (dataItem) => {
1939
1918
  const value = dataItem.rawValue;
1940
1919
  if (value instanceof Date) {
1941
1920
  return value.toISOString();
@@ -1945,11 +1924,38 @@ export class Adaptable {
1945
1924
  if (column.dataType == 'String' && this.api.predicateApi.useCaseSensitivity()) {
1946
1925
  uniqueVals = uniqBy(uniqueVals, (d) => d.displayValue.toLowerCase());
1947
1926
  }
1948
- return uniqueVals.slice(0, this.adaptableOptions.columnFilterOptions.maxFilterValuesToDisplay);
1927
+ return uniqueVals.slice(0, this.adaptableOptions.columnFilterOptions.valuesFilterOptions.maxFilterValuesToDisplay);
1949
1928
  }
1950
- async getDistinctFilterValuesForColumn(column, visibleRowsOnly, filter, skipRowNode) {
1929
+ getGridCellsForPermittedValues(column, distinctValuesParams) {
1951
1930
  var _a;
1952
- const permittedValues = (_a = this.api.userInterfaceApi.getFilterPermittedValuesForColumn(column)) !== null && _a !== void 0 ? _a : {
1931
+ let gridCells = [];
1932
+ const permittedValues = (_a = distinctValuesParams.permittedValues) !== null && _a !== void 0 ? _a : this.api.userInterfaceApi.getPermittedValuesForColumn(column);
1933
+ if (ArrayExtensions.IsNotNullOrEmpty(permittedValues)) {
1934
+ gridCells = permittedValues.map((pv) => {
1935
+ return {
1936
+ rawValue: pv,
1937
+ displayValue: pv,
1938
+ normalisedValue: pv,
1939
+ columnId: column.columnId,
1940
+ column: column,
1941
+ rowNode: undefined,
1942
+ isPivotCell: false,
1943
+ isRowGroupCell: false,
1944
+ };
1945
+ });
1946
+ return gridCells;
1947
+ }
1948
+ }
1949
+ getDistinctValuesForColumn(column, distinctValuesParams) {
1950
+ let gridCells = this.getGridCellsForPermittedValues(column, distinctValuesParams);
1951
+ if (ArrayExtensions.IsNullOrEmpty(gridCells)) {
1952
+ gridCells = this.getDistinctGridCellsForColumn(column, distinctValuesParams);
1953
+ }
1954
+ return this.getUniqueGridCells(column, gridCells);
1955
+ }
1956
+ async getDistinctFilterListValuesForColumn(column, filter, distinctValuesParams) {
1957
+ var _a;
1958
+ const filterPermittedValues = (_a = this.api.userInterfaceApi.getFilterPermittedValuesForColumn(column)) !== null && _a !== void 0 ? _a : {
1953
1959
  suppressFilterSearchBar: false,
1954
1960
  values: () => undefined,
1955
1961
  };
@@ -1962,18 +1968,19 @@ export class Adaptable {
1962
1968
  column: column,
1963
1969
  searchFilter: filter,
1964
1970
  };
1965
- preparedPermittedValues = await (permittedValues === null || permittedValues === void 0 ? void 0 : permittedValues.values(filterPermittedValuesParams));
1971
+ preparedPermittedValues = await (filterPermittedValues === null || filterPermittedValues === void 0 ? void 0 : filterPermittedValues.values(filterPermittedValuesParams));
1966
1972
  }
1967
1973
  catch (error) {
1968
1974
  this.logger.consoleError(`Failed to load filter permitted values`, column, filter, error);
1969
1975
  }
1976
+ distinctValuesParams.permittedValues = preparedPermittedValues;
1970
1977
  return {
1971
- suppressClientSideFilter: permittedValues.suppressFilterSearchBar,
1972
- gridCells: this.getDistinctValuesForColumn(column, visibleRowsOnly, skipRowNode, preparedPermittedValues),
1978
+ suppressClientSideFilter: filterPermittedValues.suppressFilterSearchBar,
1979
+ gridCells: this.getDistinctValuesForColumn(column, distinctValuesParams),
1973
1980
  };
1974
1981
  }
1975
- async getDistinctCustomSortValuesForColumn(column, visibleRowsOnly, skipRowNode) {
1976
- const permittedValues = await this.api.userInterfaceApi.getCustomSortPermittedValuesForColumn(column);
1982
+ async getDistinctCustomSortValuesForColumn(column, distinctValuesParams) {
1983
+ const customSortPermittedValues = await this.api.userInterfaceApi.getCustomSortPermittedValuesForColumn(column);
1977
1984
  let preparedPermittedValues = undefined;
1978
1985
  try {
1979
1986
  const permittedValuesParams = {
@@ -1982,15 +1989,16 @@ export class Adaptable {
1982
1989
  adaptableId: this.adaptableOptions.adaptableId,
1983
1990
  column: column,
1984
1991
  };
1985
- preparedPermittedValues = await (permittedValues === null || permittedValues === void 0 ? void 0 : permittedValues.values(permittedValuesParams));
1992
+ preparedPermittedValues = await (customSortPermittedValues === null || customSortPermittedValues === void 0 ? void 0 : customSortPermittedValues.values(permittedValuesParams));
1986
1993
  }
1987
1994
  catch (error) {
1988
1995
  this.logger.consoleError(`Failed to load custom sort permitted values`, column, error);
1989
1996
  }
1990
- return this.getDistinctValuesForColumn(column, visibleRowsOnly, skipRowNode, preparedPermittedValues);
1997
+ distinctValuesParams.permittedValues = preparedPermittedValues;
1998
+ return this.getDistinctValuesForColumn(column, distinctValuesParams);
1991
1999
  }
1992
- async getDistinctBulkUpdateValuesForColumn(column, visibleRowsOnly, selectedGridCells, skipRowNode) {
1993
- const permittedValues = await this.api.userInterfaceApi.getBulkUpdatePermittedValuesForColumn(column);
2000
+ async getDistinctBulkUpdateValuesForColumn(column, selectedGridCells, distinctValuesParams) {
2001
+ const bulkUpdatePermittedValues = await this.api.userInterfaceApi.getBulkUpdatePermittedValuesForColumn(column);
1994
2002
  let preparedPermittedValues = undefined;
1995
2003
  try {
1996
2004
  const bulkUpdatePermittedValuesParams = {
@@ -2000,12 +2008,13 @@ export class Adaptable {
2000
2008
  userName: this.adaptableOptions.userName,
2001
2009
  adaptableId: this.adaptableOptions.adaptableId,
2002
2010
  };
2003
- preparedPermittedValues = await (permittedValues === null || permittedValues === void 0 ? void 0 : permittedValues.values(bulkUpdatePermittedValuesParams));
2011
+ preparedPermittedValues = await (bulkUpdatePermittedValues === null || bulkUpdatePermittedValues === void 0 ? void 0 : bulkUpdatePermittedValues.values(bulkUpdatePermittedValuesParams));
2004
2012
  }
2005
2013
  catch (error) {
2006
2014
  this.logger.consoleError(`Failed to load bulk permitted values`, error, column, selectedGridCells);
2007
2015
  }
2008
- return this.getDistinctValuesForColumn(column, visibleRowsOnly, skipRowNode, preparedPermittedValues);
2016
+ distinctValuesParams.permittedValues = preparedPermittedValues;
2017
+ return this.getDistinctValuesForColumn(column, distinctValuesParams);
2009
2018
  }
2010
2019
  getColumnValueDisplayValuePairList(columnId, visibleRowsOnly, onlyIncludeIds) {
2011
2020
  const returnArray = [];
@@ -2053,7 +2062,7 @@ export class Adaptable {
2053
2062
  eachFn(rowNode, columnId);
2054
2063
  });
2055
2064
  }
2056
- return returnArray.slice(0, this.adaptableOptions.columnFilterOptions.maxFilterValuesToDisplay);
2065
+ return returnArray.slice(0, this.adaptableOptions.columnFilterOptions.valuesFilterOptions.maxFilterValuesToDisplay);
2057
2066
  }
2058
2067
  addDistinctColumnValue(rowNode, columnId) {
2059
2068
  // we do not return the values of the aggregates when in grouping mode
@@ -2429,8 +2438,9 @@ export class Adaptable {
2429
2438
  valueSetter: (params) => {
2430
2439
  return (params.data[freeTextColumn.ColumnId] = params.newValue);
2431
2440
  },
2432
- cellRenderer: freeTextColumnSettings.DataType && freeTextColumnSettings.DataType == 'Boolean'
2433
- ? this.agGridHelper.createCheckboxRendererComp(freeTextColumn.ColumnId, false)
2441
+ // use a Boolean Cell Data Type if the Free Text Column is boolean
2442
+ cellDataType: freeTextColumnSettings.DataType && freeTextColumnSettings.DataType == 'Boolean'
2443
+ ? 'boolean'
2434
2444
  : undefined,
2435
2445
  valueGetter: (params) => this.api.freeTextColumnApi.getFreeTextColumnValueForRowNode(freeTextColumn, params.node),
2436
2446
  };
@@ -3193,10 +3203,10 @@ export class Adaptable {
3193
3203
  return true;
3194
3204
  }
3195
3205
  const columnFilters = this.api.columnFilterApi.getActiveColumnFilters();
3196
- const isFilterActive = ArrayExtensions.IsNotNullOrEmpty(columnFilters);
3197
- const isQueryActive = StringExtensions.IsNotNullOrEmpty(this.api.gridFilterApi.getCurrentGridFilterExpression());
3198
- return (isFilterActive ||
3199
- isQueryActive ||
3206
+ const isColumnFiltersActive = ArrayExtensions.IsNotNullOrEmpty(columnFilters);
3207
+ const isGridFilterActive = StringExtensions.IsNotNullOrEmpty(this.api.gridFilterApi.getCurrentGridFilterExpression());
3208
+ return (isColumnFiltersActive ||
3209
+ isGridFilterActive ||
3200
3210
  // it means that originalIsExternalFilterPresent will be called so we reinit that collection
3201
3211
  (originalIsExternalFilterPresent ? originalIsExternalFilterPresent(params) : false));
3202
3212
  };
@@ -3210,13 +3220,13 @@ export class Adaptable {
3210
3220
  if (!this.isGroupRowNode(node)) {
3211
3221
  const currentGridFilter = this.api.gridFilterApi.getCurrentGridFilterExpression();
3212
3222
  if (currentGridFilter) {
3213
- const evaluateQueryOnClient = this.api.expressionApi.internalApi.evaluateExpressionInAdaptableQL('NamedQuery', undefined, currentGridFilter);
3214
- if (evaluateQueryOnClient) {
3215
- const isCurrentQueryValid = this.api.expressionApi.isValidBooleanExpression(currentGridFilter, NamedQueryModuleId, `Invalid Grid Filter '${currentGridFilter}'`);
3216
- if (!isCurrentQueryValid ||
3223
+ const evaluateGridFilterOnClient = this.api.expressionApi.internalApi.evaluateExpressionInAdaptableQL('GridFilter', undefined, currentGridFilter);
3224
+ if (evaluateGridFilterOnClient) {
3225
+ const isCurrentGridFilterValid = this.api.expressionApi.isValidBooleanExpression(currentGridFilter, GridFilterModuleId, `Invalid Grid Filter '${currentGridFilter}'`);
3226
+ if (!isCurrentGridFilterValid ||
3217
3227
  !this.api.internalApi
3218
3228
  .getQueryLanguageService()
3219
- .evaluateBooleanExpression(currentGridFilter, NamedQueryModuleId, node)) {
3229
+ .evaluateBooleanExpression(currentGridFilter, GridFilterModuleId, node)) {
3220
3230
  return false;
3221
3231
  }
3222
3232
  }
@@ -3226,7 +3236,7 @@ export class Adaptable {
3226
3236
  try {
3227
3237
  if (columnFilters.length > 0) {
3228
3238
  for (const columnFilter of columnFilters) {
3229
- const evaluateFilterOnClient = this.api.expressionApi.internalApi.evaluatePredicatesInAdaptableQL('Filter', columnFilter, [columnFilter.Predicate]);
3239
+ const evaluateFilterOnClient = this.api.expressionApi.internalApi.evaluatePredicatesInAdaptableQL('ColumnFilter', columnFilter, [columnFilter.Predicate]);
3230
3240
  if (evaluateFilterOnClient) {
3231
3241
  // we then assess filters (if running locally)
3232
3242
  if (!this.api.columnFilterApi.internalApi.evaluateColumnFilter(columnFilter, node)) {
@@ -3259,7 +3269,7 @@ export class Adaptable {
3259
3269
  updateColumnFilterActiveState() {
3260
3270
  var _a;
3261
3271
  const columnFilters = this.api.columnFilterApi.getActiveColumnFilters();
3262
- const activeFilters = (_a = columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.filter) === null || _a === void 0 ? void 0 : _a.call(columnFilters, (columnFilter) => this.api.columnFilterApi.isFilterActive(columnFilter));
3272
+ const activeFilters = (_a = columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.filter) === null || _a === void 0 ? void 0 : _a.call(columnFilters, (columnFilter) => this.api.columnFilterApi.isColumnFilterActive(columnFilter));
3263
3273
  const isFilterActive = ArrayExtensions.IsNotNullOrEmpty(activeFilters);
3264
3274
  const columnsWithActiveFilters = {};
3265
3275
  if (isFilterActive) {
@@ -3299,7 +3309,7 @@ export class Adaptable {
3299
3309
  this.updateColDefsForSpecialColumns();
3300
3310
  this.applyCurrentTheme();
3301
3311
  this.applyFinalRendering();
3302
- this.applyGridFiltering();
3312
+ this.applyColumnFiltering();
3303
3313
  }
3304
3314
  catch (ex) {
3305
3315
  this.logger.consoleError('AgGrid setup failed');
@@ -3504,10 +3514,6 @@ export class Adaptable {
3504
3514
  const editLookUpItem = this.api.userInterfaceApi.getEditLookUpItemForColumn(adaptableColumn);
3505
3515
  const hasRichSelectCellEditor = this.isAgGridModulePresent(ModuleNames.RichSelectModule);
3506
3516
  this.setColDefProperty(col, 'cellEditor', () => {
3507
- const styledColumn = this.api.styledColumnApi.getActiveStyledColumnForColumn(adaptableColumn);
3508
- if (styledColumn && !(styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.IsSuspended) && styledColumn.CheckBoxStyle) {
3509
- return CheckboxEditor;
3510
- }
3511
3517
  if (editLookUpItem) {
3512
3518
  return hasRichSelectCellEditor ? 'agRichSelectCellEditor' : 'agSelectCellEditor';
3513
3519
  }
@@ -3537,9 +3543,6 @@ export class Adaptable {
3537
3543
  if (styledColumn.PercentBarStyle) {
3538
3544
  return this.agGridHelper.createPercentBarRendererComp(styledColumn, abColumn);
3539
3545
  }
3540
- if (styledColumn.CheckBoxStyle) {
3541
- return this.agGridHelper.createCheckboxRendererComp(abColumn.columnId, abColumn.readOnly);
3542
- }
3543
3546
  if (styledColumn.BadgeStyle) {
3544
3547
  return this.agGridHelper.createBadgeRendererComp(styledColumn, abColumn);
3545
3548
  }
@@ -3680,7 +3683,7 @@ export class Adaptable {
3680
3683
  if (!colDef.filter) {
3681
3684
  return;
3682
3685
  }
3683
- if (!this.api.columnApi.internalApi.usesAdaptableFilterForm(col.getColId())) {
3686
+ if (!this.adaptableOptions.columnFilterOptions.useAdaptableColumnFiltering) {
3684
3687
  return;
3685
3688
  }
3686
3689
  this.gridOptions.api.destroyFilter(col);
@@ -3689,7 +3692,7 @@ export class Adaptable {
3689
3692
  }
3690
3693
  setupColumnFloatingFilter({ col, colDef }) {
3691
3694
  const isFloatingFilterDisabled = !colDef.floatingFilter ||
3692
- !this.api.columnApi.internalApi.usesAdaptableQuickFilter(col.getColId());
3695
+ !this.adaptableOptions.columnFilterOptions.useAdaptableColumnFiltering;
3693
3696
  this.setColDefProperty(col, 'floatingFilterComponent', () => {
3694
3697
  if (isFloatingFilterDisabled) {
3695
3698
  return;
@@ -4534,8 +4537,8 @@ export class Adaptable {
4534
4537
  isQuickFilterAvailable() {
4535
4538
  return this.hasFloatingFilterOnAtLeastOneColumn() === true;
4536
4539
  }
4537
- setAgQuickSearch(query) {
4538
- this.gridOptions.api.setQuickFilter(query);
4540
+ setAgGridQuickSearch(searchText) {
4541
+ this.gridOptions.api.setQuickFilter(searchText);
4539
4542
  }
4540
4543
  hasFloatingFilterOnAtLeastOneColumn(defs = this.gridOptions.columnDefs) {
4541
4544
  if (this.gridOptions.defaultColDef && this.gridOptions.defaultColDef.floatingFilter) {
@@ -4555,7 +4558,7 @@ export class Adaptable {
4555
4558
  return false;
4556
4559
  }
4557
4560
  showQuickFilter() {
4558
- const height = this.api.optionsApi.getColumnFilterOptions().quickFilterHeight;
4561
+ const height = this.api.optionsApi.getColumnFilterOptions().quickFilterOptions.quickFilterHeight;
4559
4562
  this.gridOptions.api.setFloatingFiltersHeight(height);
4560
4563
  }
4561
4564
  hideQuickFilter() {
@@ -5332,6 +5335,6 @@ export class AdaptableNoCodeWizard {
5332
5335
  gridOptions: gridOptions,
5333
5336
  agGridModules: [...this.agGridModules],
5334
5337
  });
5335
- } })), container, true);
5338
+ } })), container);
5336
5339
  }
5337
5340
  }