@adaptabletools/adaptable 23.0.4 → 23.0.5-canary.1

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 (515) hide show
  1. package/agGrid.js +0 -31
  2. package/index.css +0 -64
  3. package/index.js +0 -31
  4. package/package.json +1 -1
  5. package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -2
  6. package/src/AdaptableOptions/AdaptablePlugin.js +1 -9
  7. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -39
  8. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +44 -16
  9. package/src/AdaptableState/Aggregations/only.js +0 -11
  10. package/src/AdaptableState/Aggregations/weightedAverage.d.ts +0 -1
  11. package/src/AdaptableState/Aggregations/weightedAverage.js +1 -27
  12. package/src/AdaptableState/Common/AdaptableColumn.js +0 -1
  13. package/src/AdaptableState/Common/AdaptableForm.js +0 -49
  14. package/src/AdaptableState/Common/AdaptableFormatPresets.js +0 -13
  15. package/src/AdaptableState/Common/AdaptablePredicate.js +3 -125
  16. package/src/AdaptableState/Common/AggregationColumns.js +0 -10
  17. package/src/AdaptableState/Common/Enums.js +0 -3
  18. package/src/AdaptableState/Common/Menu.js +1 -7
  19. package/src/AdaptableState/Common/MenuItem.js +0 -2
  20. package/src/AdaptableState/Common/Types.js +2 -5
  21. package/src/AdaptableState/StatusBarState.js +0 -3
  22. package/src/AdaptableState/StyledColumns/BadgeStyle.js +0 -1
  23. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +0 -4
  24. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +0 -5
  25. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +0 -8
  26. package/src/AdaptableState/Uuid.js +0 -1
  27. package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
  28. package/src/Api/Implementation/AlertApiImpl.js +0 -21
  29. package/src/Api/Implementation/ApiBase.js +0 -24
  30. package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -1
  31. package/src/Api/Implementation/ChartingApiImpl.js +0 -3
  32. package/src/Api/Implementation/ColumnApiImpl.js +1 -15
  33. package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -9
  34. package/src/Api/Implementation/ColumnScopeApiImpl.js +0 -21
  35. package/src/Api/Implementation/DashboardApiImpl.js +0 -1
  36. package/src/Api/Implementation/EntitlementApiImpl.js +0 -1
  37. package/src/Api/Implementation/ExportApiImpl.js +0 -10
  38. package/src/Api/Implementation/ExpressionApiImpl.js +0 -1
  39. package/src/Api/Implementation/FormatColumnApiImpl.js +0 -3
  40. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -2
  41. package/src/Api/Implementation/GridApiImpl.js +1 -22
  42. package/src/Api/Implementation/GridFilterApiImpl.js +0 -2
  43. package/src/Api/Implementation/LayoutApiImpl.js +0 -18
  44. package/src/Api/Implementation/LayoutHelpers.js +0 -16
  45. package/src/Api/Implementation/NamedQueryApiImpl.js +0 -1
  46. package/src/Api/Implementation/PredicateApiImpl.js +0 -5
  47. package/src/Api/Implementation/RowFormApiImpl.js +0 -2
  48. package/src/Api/Implementation/StateApiImpl.js +0 -7
  49. package/src/Api/Implementation/SystemStatusApiImpl.js +0 -2
  50. package/src/Api/Implementation/TeamSharingApiImpl.js +0 -3
  51. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -1
  52. package/src/Api/Internal/ActionColumnInternalApi.js +0 -1
  53. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
  54. package/src/Api/Internal/AdaptableInternalApi.js +1 -39
  55. package/src/Api/Internal/AlertInternalApi.js +1 -102
  56. package/src/Api/Internal/CalculatedColumnInternalApi.js +0 -17
  57. package/src/Api/Internal/ChartingInternalApi.js +0 -1
  58. package/src/Api/Internal/ColumnFilterInternalApi.js +0 -52
  59. package/src/Api/Internal/ColumnInternalApi.js +0 -32
  60. package/src/Api/Internal/CustomSortInternalApi.js +0 -5
  61. package/src/Api/Internal/DashboardInternalApi.js +0 -23
  62. package/src/Api/Internal/DataImportInternalApi.js +0 -1
  63. package/src/Api/Internal/EventInternalApi.js +0 -2
  64. package/src/Api/Internal/ExportInternalApi.js +1 -16
  65. package/src/Api/Internal/ExpressionInternalApi.js +0 -23
  66. package/src/Api/Internal/Fdc3InternalApi.js +0 -9
  67. package/src/Api/Internal/FlashingCellInternalApi.js +0 -5
  68. package/src/Api/Internal/FormatColumnInternalApi.js +5 -107
  69. package/src/Api/Internal/FreeTextColumnInternalApi.js +0 -8
  70. package/src/Api/Internal/GridFilterInternalApi.js +0 -3
  71. package/src/Api/Internal/GridInternalApi.js +0 -37
  72. package/src/Api/Internal/LayoutInternalApi.js +0 -18
  73. package/src/Api/Internal/NamedQueryInternalApi.js +0 -9
  74. package/src/Api/Internal/PredicateInternalApi.js +0 -23
  75. package/src/Api/Internal/RowFormInternalApi.js +0 -18
  76. package/src/Api/Internal/StateInternalApi.js +0 -25
  77. package/src/Api/Internal/StyledColumnInternalApi.js +0 -62
  78. package/src/Api/Internal/TeamSharingInternalApi.js +0 -9
  79. package/src/Redux/ActionsReducers/AlertRedux.js +0 -24
  80. package/src/Redux/ActionsReducers/ApplicationRedux.js +0 -9
  81. package/src/Redux/ActionsReducers/BulkUpdateRedux.js +0 -6
  82. package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +1 -16
  83. package/src/Redux/ActionsReducers/ChartingRedux.js +0 -24
  84. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -24
  85. package/src/Redux/ActionsReducers/CustomSortRedux.js +0 -24
  86. package/src/Redux/ActionsReducers/DashboardRedux.js +0 -33
  87. package/src/Redux/ActionsReducers/ExportRedux.js +0 -36
  88. package/src/Redux/ActionsReducers/FlashingCellRedux.js +0 -24
  89. package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -36
  90. package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +1 -20
  91. package/src/Redux/ActionsReducers/InternalRedux.js +0 -42
  92. package/src/Redux/ActionsReducers/LayoutRedux.js +1 -67
  93. package/src/Redux/ActionsReducers/NamedQueryRedux.js +0 -15
  94. package/src/Redux/ActionsReducers/NoteRedux.js +0 -14
  95. package/src/Redux/ActionsReducers/PluginsRedux.js +0 -3
  96. package/src/Redux/ActionsReducers/PlusMinusRedux.js +0 -34
  97. package/src/Redux/ActionsReducers/PopupRedux.js +2 -6
  98. package/src/Redux/ActionsReducers/QuickSearchRedux.js +0 -15
  99. package/src/Redux/ActionsReducers/ShortcutRedux.js +0 -24
  100. package/src/Redux/ActionsReducers/SmartEditRedux.js +0 -6
  101. package/src/Redux/ActionsReducers/StatusBarRedux.js +0 -6
  102. package/src/Redux/ActionsReducers/StyledColumnRedux.js +0 -27
  103. package/src/Redux/ActionsReducers/SystemStatusRedux.js +0 -6
  104. package/src/Redux/ActionsReducers/TeamSharingRedux.js +0 -1
  105. package/src/Redux/ActionsReducers/ThemeRedux.js +0 -26
  106. package/src/Redux/ActionsReducers/ToolPanelRedux.js +0 -22
  107. package/src/Redux/ActionsReducers/UserInterfaceRedux.js +0 -3
  108. package/src/Redux/ActionsReducers/utils.js +0 -6
  109. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +0 -1
  110. package/src/Redux/Store/AdaptableReduxMerger.js +0 -25
  111. package/src/Redux/Store/AdaptableStore.js +5 -301
  112. package/src/Strategy/AdaptableModuleBase.js +0 -35
  113. package/src/Strategy/AlertModule.js +0 -9
  114. package/src/Strategy/CellSummaryModule.js +0 -12
  115. package/src/Strategy/ChartingModule.js +0 -1
  116. package/src/Strategy/ColumnFilterModule.js +1 -11
  117. package/src/Strategy/CommentModule.js +0 -2
  118. package/src/Strategy/DashboardModule.js +0 -4
  119. package/src/Strategy/ExportModule.js +0 -1
  120. package/src/Strategy/FlashingCellModule.js +0 -8
  121. package/src/Strategy/FormatColumnModule.js +0 -3
  122. package/src/Strategy/FreeTextColumnModule.js +0 -3
  123. package/src/Strategy/LayoutModule.js +0 -26
  124. package/src/Strategy/NoteModule.js +0 -3
  125. package/src/Strategy/PlusMinusModule.js +0 -3
  126. package/src/Strategy/SettingsPanelModule.js +0 -1
  127. package/src/Strategy/ShortcutModule.js +0 -1
  128. package/src/Strategy/SmartEditModule.js +0 -5
  129. package/src/Strategy/StatusBarModule.js +0 -7
  130. package/src/Strategy/StyledColumnModule.js +1 -16
  131. package/src/Strategy/TeamSharingModule.js +0 -9
  132. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +0 -5
  133. package/src/Utilities/Constants/DocumentationLinkConstants.js +0 -1
  134. package/src/Utilities/Constants/GeneralConstants.js +0 -10
  135. package/src/Utilities/Constants/ObjectDefaultConstants.js +0 -3
  136. package/src/Utilities/Constants/ReduxConstants.js +4 -8
  137. package/src/Utilities/Emitter.js +0 -9
  138. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +0 -8
  139. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +0 -15
  140. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +0 -3
  141. package/src/Utilities/ExpressionFunctions/deepMap.js +0 -16
  142. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +0 -9
  143. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +7 -78
  144. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +0 -9
  145. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -16
  146. package/src/Utilities/Extensions/ArrayExtensions.js +1 -63
  147. package/src/Utilities/Extensions/NumberExtensions.js +0 -27
  148. package/src/Utilities/Extensions/ObjectExtensions.js +0 -36
  149. package/src/Utilities/Extensions/StringExtensions.js +0 -27
  150. package/src/Utilities/Helpers/ActionColumnHelper.js +0 -4
  151. package/src/Utilities/Helpers/AdaptableHelper.js +0 -8
  152. package/src/Utilities/Helpers/DateHelper.js +0 -10
  153. package/src/Utilities/Helpers/DisplayFormatHelper.js +0 -8
  154. package/src/Utilities/Helpers/Helper.js +3 -9
  155. package/src/Utilities/Helpers/PlusMinusHelper.js +0 -20
  156. package/src/Utilities/Helpers/QuickSearchHelper.js +0 -5
  157. package/src/Utilities/Helpers/Scheduling/CronExpression.js +0 -43
  158. package/src/Utilities/Helpers/Scheduling/ScheduledReportHelper.js +0 -4
  159. package/src/Utilities/Helpers/SettingsPanelHelper.js +40 -4
  160. package/src/Utilities/Helpers/StyleHelper.js +0 -56
  161. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +0 -46
  162. package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +0 -38
  163. package/src/Utilities/Helpers/StyledColumns/IconStyleHelper.js +0 -39
  164. package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +0 -1
  165. package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +0 -5
  166. package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +0 -37
  167. package/src/Utilities/Helpers/TimingHelper.js +0 -13
  168. package/src/Utilities/ObjectFactory.js +2 -4
  169. package/src/Utilities/Services/AggregatedScalarLiveValue.js +0 -7
  170. package/src/Utilities/Services/AlertService.js +0 -1
  171. package/src/Utilities/Services/AnnotationsService.js +0 -22
  172. package/src/Utilities/Services/CalculatedColumnExpressionService.js +0 -8
  173. package/src/Utilities/Services/ChartingService.js +0 -9
  174. package/src/Utilities/Services/DataService.js +0 -11
  175. package/src/Utilities/Services/Fdc3Service.js +0 -3
  176. package/src/Utilities/Services/FlashingCellService.js +0 -6
  177. package/src/Utilities/Services/ModuleService.js +0 -8
  178. package/src/Utilities/Services/QueryLanguageService.js +2 -25
  179. package/src/Utilities/Services/RowFormService.js +0 -1
  180. package/src/Utilities/Services/RowSummaryService.js +1 -20
  181. package/src/Utilities/Services/TeamSharingService.js +0 -15
  182. package/src/Utilities/Services/ThemeService.js +0 -7
  183. package/src/Utilities/Services/ValidationService.js +0 -21
  184. package/src/Utilities/createAgStatusPanelComponent.js +0 -3
  185. package/src/Utilities/getExpressionViewItems.js +0 -2
  186. package/src/Utilities/getObjectTagsViewItems.js +0 -1
  187. package/src/Utilities/getScrollbarSize.js +0 -1
  188. package/src/Utilities/logDeprecation.js +0 -3
  189. package/src/Utilities/resolveContainerElement.js +0 -21
  190. package/src/Utilities/runIfNotResolvedIn.js +0 -7
  191. package/src/Utilities/sortColumnStateForVisibleColumns.js +2 -12
  192. package/src/Utilities/waitForTimeout.js +0 -1
  193. package/src/Utilities/wizardSelection.js +0 -2
  194. package/src/View/AdaptablePopover/index.js +1 -1
  195. package/src/View/AdaptableView.js +1 -5
  196. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -4
  197. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -23
  198. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -2
  199. package/src/View/AdaptableWizardView/Wizard.js +0 -12
  200. package/src/View/AdaptableWizardView/helper.js +0 -11
  201. package/src/View/Alert/ActiveAlertsPanel.js +0 -2
  202. package/src/View/Alert/AlertStatusSubPanel.js +0 -8
  203. package/src/View/Alert/Utilities/getAlertType.js +0 -7
  204. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +0 -5
  205. package/src/View/Alert/Utilities/mapAlertDefinition.js +0 -3
  206. package/src/View/Alert/Wizard/AlertWizard.js +0 -2
  207. package/src/View/Alert/Wizard/isValidAlertRules.js +0 -1
  208. package/src/View/BulkUpdate/BulkUpdatePopup.js +0 -1
  209. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -3
  210. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +0 -1
  211. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  212. package/src/View/CellSummary/CellSummaryPopup.js +0 -3
  213. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -7
  214. package/src/View/Charting/EditChartButton.js +1 -4
  215. package/src/View/Charting/ShowChartButton.js +0 -3
  216. package/src/View/Charting/useAgChartState.js +0 -5
  217. package/src/View/Charting/useChartingElements.js +0 -4
  218. package/src/View/Charting/useExternalChartState.js +0 -6
  219. package/src/View/ColumnInfo/ColumnInfo.js +7 -17
  220. package/src/View/Comments/CommentsEditor.js +1 -16
  221. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +0 -1
  222. package/src/View/Components/AdaptableButton/AdaptableButtonView.js +0 -3
  223. package/src/View/Components/AdaptableDateInput/index.js +2 -9
  224. package/src/View/Components/AdaptableIconComponent/index.js +0 -4
  225. package/src/View/Components/AdaptableIconSelector/index.js +0 -3
  226. package/src/View/Components/AdaptableInput/index.js +0 -2
  227. package/src/View/Components/Badge/index.js +0 -8
  228. package/src/View/Components/Buttons/ButtonNewPage.js +1 -2
  229. package/src/View/Components/CellPopup/index.js +1 -2
  230. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +0 -4
  231. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +0 -4
  232. package/src/View/Components/ColumnFilter/ColumnFilter.js +3 -46
  233. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +0 -2
  234. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -20
  235. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -16
  236. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -4
  237. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -6
  238. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +0 -20
  239. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +0 -5
  240. package/src/View/Components/ColumnFilter/utils.js +2 -9
  241. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +0 -2
  242. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +0 -1
  243. package/src/View/Components/EntityRulesEditor/index.js +1 -11
  244. package/src/View/Components/ExternalRenderer.js +1 -3
  245. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -52
  246. package/src/View/Components/ModuleValueSelector/index.js +0 -2
  247. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  248. package/src/View/Components/Panels/PanelWithRow.js +0 -3
  249. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +0 -6
  250. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +0 -3
  251. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +0 -6
  252. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -2
  253. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +0 -1
  254. package/src/View/Components/Popups/AdaptablePopupAlert.js +0 -3
  255. package/src/View/Components/Popups/AdaptableToaster.js +0 -2
  256. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +0 -8
  257. package/src/View/Components/RangesComponent.js +0 -57
  258. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +0 -3
  259. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -6
  260. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -18
  261. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +0 -4
  262. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -4
  263. package/src/View/Components/ValueSelector/index.js +0 -4
  264. package/src/View/Components/wizardColumnListStyles.js +0 -5
  265. package/src/View/Dashboard/CustomToolbar.js +1 -25
  266. package/src/View/Dashboard/PinnedToolbarsSelector.js +0 -1
  267. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -22
  268. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +0 -1
  269. package/src/View/DataImport/systemFileHandlers.js +1 -1
  270. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +0 -1
  271. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -27
  272. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +0 -1
  273. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -7
  274. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -12
  275. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +0 -10
  276. package/src/View/GridFilter/GridFilterPopup.js +0 -1
  277. package/src/View/GridFilter/useGridFilterExpressionEditor.js +0 -2
  278. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -31
  279. package/src/View/Layout/LayoutViewPanel.js +0 -2
  280. package/src/View/Layout/PivotDetailsPopoup.js +0 -2
  281. package/src/View/Layout/TransposedPopup.js +0 -7
  282. package/src/View/Layout/Wizard/LayoutWizard.js +1 -6
  283. package/src/View/Layout/Wizard/sections/AggregationsSection.js +0 -2
  284. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -32
  285. package/src/View/Layout/Wizard/sections/RowSummarySection.js +0 -3
  286. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +0 -2
  287. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +0 -4
  288. package/src/View/Note/NotePopup.js +0 -1
  289. package/src/View/QuickSearch/QuickSearchPopup.js +0 -1
  290. package/src/View/StatusBar/AdaptableStatusBar.js +0 -4
  291. package/src/View/StatusBar/StatusBarPanel.js +0 -8
  292. package/src/View/StatusBar/StatusBarPopup.js +0 -2
  293. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +0 -11
  294. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +0 -28
  295. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +0 -13
  296. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -25
  297. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +0 -26
  298. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +0 -3
  299. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +0 -40
  300. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +0 -55
  301. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +0 -15
  302. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +0 -21
  303. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +0 -10
  304. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +0 -5
  305. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +0 -4
  306. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +0 -5
  307. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +0 -3
  308. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +0 -13
  309. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +0 -1
  310. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +0 -1
  311. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +0 -1
  312. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +0 -13
  313. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -13
  314. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -21
  315. package/src/View/SystemStatus/SystemStatusPopup.js +0 -1
  316. package/src/View/TeamSharing/SharedEntityObjectView.js +0 -1
  317. package/src/View/Theme/ThemeSelector.js +0 -1
  318. package/src/View/UIHelper.js +0 -6
  319. package/src/View/UIInterfaces.js +0 -1
  320. package/src/View/Wizard/CollapsibleWizardCard.js +1 -8
  321. package/src/View/Wizard/OnePageWizards.js +2 -9
  322. package/src/View/Wizard/SummaryColorTag.js +0 -1
  323. package/src/View/Wizard/useKeyboardNavigation.js +1 -3
  324. package/src/agGrid/Adaptable.js +0 -12
  325. package/src/agGrid/AdaptableAgGrid.d.ts +0 -2
  326. package/src/agGrid/AdaptableAgGrid.js +3 -482
  327. package/src/agGrid/AdaptableFilterHandler.js +0 -5
  328. package/src/agGrid/AdaptableLogger.js +0 -6
  329. package/src/agGrid/AgGridAdapter.js +3 -90
  330. package/src/agGrid/AgGridColumnAdapter.js +6 -168
  331. package/src/agGrid/AgGridExportAdapter.js +4 -106
  332. package/src/agGrid/AgGridFilterAdapter.js +0 -5
  333. package/src/agGrid/AgGridFloatingFilterAdapter.js +0 -10
  334. package/src/agGrid/AgGridMenuAdapter.js +0 -143
  335. package/src/agGrid/AgGridModulesAdapter.js +0 -2
  336. package/src/agGrid/AgGridOptionsService.js +0 -2
  337. package/src/agGrid/AgGridThemeAdapter.js +0 -7
  338. package/src/agGrid/agGridDataTypeDefinitions.js +0 -8
  339. package/src/agGrid/cellRenderers/BadgeRenderer.js +0 -10
  340. package/src/agGrid/cellRenderers/BulletChartRenderer.js +1 -96
  341. package/src/agGrid/cellRenderers/IconRenderer.js +0 -55
  342. package/src/agGrid/cellRenderers/PercentBarRenderer.js +0 -51
  343. package/src/agGrid/cellRenderers/RangeBarRenderer.js +1 -50
  344. package/src/agGrid/cellRenderers/RatingRenderer.js +0 -40
  345. package/src/agGrid/editors/AdaptableDateEditor/index.js +0 -18
  346. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +0 -3
  347. package/src/agGrid/editors/AdaptableNumberEditor/index.js +0 -11
  348. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +0 -9
  349. package/src/agGrid/index.js +1 -9
  350. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
  351. package/src/components/CodeBlock/index.d.ts +0 -1
  352. package/src/components/CodeBlock/index.js +1 -2
  353. package/src/components/ColorPicker/ColorPicker.js +0 -6
  354. package/src/components/Combobox/VirtualizedList.js +0 -5
  355. package/src/components/Combobox/index.js +5 -63
  356. package/src/components/Dashboard/Dashboard.js +1 -4
  357. package/src/components/Datepicker/index.js +2 -97
  358. package/src/components/DragAndDropContext/TabList.js +2 -6
  359. package/src/components/Drawer/index.js +0 -7
  360. package/src/components/Dropdown/index.js +0 -1
  361. package/src/components/DropdownButton/index.js +0 -1
  362. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -16
  363. package/src/components/ExpressionEditor/EditorButton.js +0 -1
  364. package/src/components/ExpressionEditor/EditorInput.js +1 -7
  365. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +0 -1
  366. package/src/components/ExpressionEditor/ExpressionPreview.js +4 -14
  367. package/src/components/ExpressionEditor/NamedQueryContext.js +0 -1
  368. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -6
  369. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +0 -12
  370. package/src/components/ExpressionEditor/QueryBuilder/utils.js +0 -4
  371. package/src/components/ExpressionEditor/index.js +5 -14
  372. package/src/components/Icon/index.js +0 -2
  373. package/src/components/Input/NumberInput.js +0 -10
  374. package/src/components/Modal/Backdrop.js +0 -1
  375. package/src/components/OverlayTrigger/Overlay.js +0 -1
  376. package/src/components/OverlayTrigger/index.js +3 -15
  377. package/src/components/ProgressIndicator/ProgressIndicator.js +3 -16
  378. package/src/components/ResizeObserver/index.js +0 -7
  379. package/src/components/SimpleButton/index.js +2 -16
  380. package/src/components/Tabs/index.js +0 -3
  381. package/src/components/Tag/Tag.js +0 -1
  382. package/src/components/Tag/columnScopeTagHelpers.js +0 -2
  383. package/src/components/Textarea/index.js +1 -8
  384. package/src/components/Toggle/Toggle.js +1 -5
  385. package/src/components/Toggle/ToggleGroup.js +1 -3
  386. package/src/components/ToggleButton/index.js +1 -3
  387. package/src/components/Tree/TreeDropdown/index.js +2 -130
  388. package/src/components/Tree/treeUtils.js +0 -4
  389. package/src/components/WindowModal/WindowModal.js +1 -14
  390. package/src/components/WindowModal/useStacking.js +0 -7
  391. package/src/components/icons/bullet-chart.js +0 -4
  392. package/src/components/icons/icon-style.js +0 -4
  393. package/src/components/icons/index.js +26 -36
  394. package/src/components/icons/range-bar.js +0 -5
  395. package/src/components/icons/star.js +0 -1
  396. package/src/components/twUtils.js +3 -12
  397. package/src/components/ui/calendar.js +1 -9
  398. package/src/components/ui/combobox.js +0 -4
  399. package/src/components/utils/captureTabNavigation/getFocusableChildren.js +0 -1
  400. package/src/components/utils/useDraggable.js +0 -4
  401. package/src/components/utils/useProperty.js +0 -18
  402. package/src/devTools/index.js +0 -1
  403. package/src/env.js +2 -2
  404. package/src/layout-manager/src/LMEmitter.js +0 -5
  405. package/src/layout-manager/src/destructurePivotColumnId.js +0 -19
  406. package/src/layout-manager/src/index.js +2 -182
  407. package/src/layout-manager/src/isLayoutEqual.js +0 -1
  408. package/src/layout-manager/src/isPivotColumnTotal.js +0 -2
  409. package/src/layout-manager/src/normalizeLayoutModel.js +0 -27
  410. package/src/layout-manager/src/simplifyLayoutModel.js +0 -11
  411. package/src/layout-manager/src/sortColumnIdsByOrder.js +2 -12
  412. package/src/lib/utils.js +0 -1
  413. package/src/migration/AdaptableUpgradeHelper.js +0 -2
  414. package/src/migration/VersionUpgrade17.js +0 -33
  415. package/src/migration/VersionUpgrade20.js +1 -21
  416. package/src/migration/VersionUpgrade21.js +0 -3
  417. package/src/migration/VersionUpgrade22.js +0 -11
  418. package/src/migration/VersionUpgrade23.js +0 -73
  419. package/src/parser/src/evaluator.js +0 -1
  420. package/src/parser/src/index.js +0 -1
  421. package/src/parser/src/parser.js +4 -103
  422. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +0 -5
  423. package/src/parser/src/predicate/mapQlPredicateToExpression.js +0 -2
  424. package/src/parser/src/tokenizer.js +0 -2
  425. package/src/parser/src/utils.js +0 -1
  426. package/src/renderReactRoot.js +0 -12
  427. package/src/setupDevTools.js +0 -6
  428. package/src/twMerge.js +0 -1
  429. package/src/types.d.ts +1 -1
  430. package/src/types.js +0 -2
  431. package/tsconfig.esm.tsbuildinfo +1 -1
  432. package/src/AdaptableState/Common/NamedObject.d.ts +0 -10
  433. package/src/AdaptableState/Common/NamedObject.js +0 -1
  434. package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +0 -35
  435. package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -100
  436. package/src/Utilities/Interface/AdaptableToolPanelContext.d.ts +0 -4
  437. package/src/Utilities/Interface/AdaptableToolPanelContext.js +0 -1
  438. package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
  439. package/src/Utilities/Services/Interface/IMetamodelService.js +0 -1
  440. package/src/Utilities/Services/MetamodelService.d.ts +0 -17
  441. package/src/Utilities/Services/MetamodelService.js +0 -162
  442. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
  443. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -99
  444. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +0 -38
  445. package/src/View/Components/Buttons/EntityListActionButtons.js +0 -42
  446. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.d.ts +0 -12
  447. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -67
  448. package/src/View/Components/EntityRowItem.d.ts +0 -7
  449. package/src/View/Components/EntityRowItem.js +0 -7
  450. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +0 -3
  451. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +0 -5
  452. package/src/View/Components/ModuleProfile.d.ts +0 -8
  453. package/src/View/Components/ModuleProfile.js +0 -10
  454. package/src/View/Components/ModuleSummary/ModuleDetail.d.ts +0 -23
  455. package/src/View/Components/ModuleSummary/ModuleDetail.js +0 -15
  456. package/src/View/Components/ModuleSummary/ModuleHeader.d.ts +0 -15
  457. package/src/View/Components/ModuleSummary/ModuleHeader.js +0 -15
  458. package/src/View/Components/ModuleSummary/SummaryRowItem.d.ts +0 -7
  459. package/src/View/Components/ModuleSummary/SummaryRowItem.js +0 -12
  460. package/src/View/Components/SharedProps/ModuleSummaryProps.d.ts +0 -9
  461. package/src/View/Components/SharedProps/ModuleSummaryProps.js +0 -1
  462. package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.d.ts +0 -13
  463. package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.js +0 -1
  464. package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.d.ts +0 -14
  465. package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.js +0 -1
  466. package/src/View/Components/StyleVisualItem.d.ts +0 -9
  467. package/src/View/Components/StyleVisualItem.js +0 -40
  468. package/src/View/Components/WizardSummaryPage.d.ts +0 -7
  469. package/src/View/Components/WizardSummaryPage.js +0 -17
  470. package/src/components/Accordion.d.ts +0 -7
  471. package/src/components/Accordion.js +0 -33
  472. package/src/components/FlexWithFooter.d.ts +0 -9
  473. package/src/components/FlexWithFooter.js +0 -13
  474. package/src/components/NotifyResize/index.d.ts +0 -9
  475. package/src/components/NotifyResize/index.js +0 -35
  476. package/src/components/PopupWithFooter.d.ts +0 -14
  477. package/src/components/PopupWithFooter.js +0 -11
  478. package/src/components/SelectableList/index.d.ts +0 -15
  479. package/src/components/SelectableList/index.js +0 -95
  480. package/src/components/SizedContainer/index.d.ts +0 -17
  481. package/src/components/SizedContainer/index.js +0 -20
  482. package/src/components/Table/index.d.ts +0 -4
  483. package/src/components/Table/index.js +0 -6
  484. package/src/components/WizardPanel/index.d.ts +0 -9
  485. package/src/components/WizardPanel/index.js +0 -7
  486. package/src/components/icons/align-justify.d.ts +0 -3
  487. package/src/components/icons/align-justify.js +0 -3
  488. package/src/components/icons/column-info.d.ts +0 -3
  489. package/src/components/icons/column-info.js +0 -3
  490. package/src/components/icons/gradient-column.d.ts +0 -3
  491. package/src/components/icons/gradient-column.js +0 -3
  492. package/src/components/icons/invalid.d.ts +0 -3
  493. package/src/components/icons/invalid.js +0 -3
  494. package/src/components/icons/logout copy.d.ts +0 -3
  495. package/src/components/icons/logout copy.js +0 -3
  496. package/src/components/icons/smart-edit.d.ts +0 -3
  497. package/src/components/icons/smart-edit.js +0 -3
  498. package/src/components/icons/team-share.d.ts +0 -3
  499. package/src/components/icons/team-share.js +0 -3
  500. package/src/components/icons/unchecked.d.ts +0 -3
  501. package/src/components/icons/unchecked.js +0 -3
  502. package/src/components/icons/user-filter.d.ts +0 -3
  503. package/src/components/icons/user-filter.js +0 -3
  504. package/src/components/utils/useContainerScrollObserver/index.d.ts +0 -6
  505. package/src/components/utils/useContainerScrollObserver/index.js +0 -79
  506. package/src/components/utils/useGlobalEvent.d.ts +0 -1
  507. package/src/components/utils/useGlobalEvent.js +0 -7
  508. package/src/components/utils/useLatest.d.ts +0 -1
  509. package/src/components/utils/useLatest.js +0 -6
  510. package/src/components/utils/usePropState.d.ts +0 -2
  511. package/src/components/utils/usePropState.js +0 -8
  512. package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
  513. package/src/metamodel/adaptable-metamodel-model.js +0 -1
  514. package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
  515. package/src/metamodel/adaptable.metamodel.js +0 -1
@@ -14,7 +14,6 @@ export const useAdaptableFilterWrapper = (columnId, filterComponent, handleOnCha
14
14
  const column = api.columnApi.getColumnWithColumnId(columnId);
15
15
  const columnFilterOptions = api.optionsApi.getFilterOptions().columnFilterOptions;
16
16
  const qlPredicateDefs = React.useMemo(() => {
17
- // this is NOT the ideal place to do this, but it is what it is: autoGroupCol should NOT have the 'Blanks'/'NonBlanks' predicates
18
17
  const predicateDefs = api.filterApi.columnFilterApi
19
18
  .getFilterPredicateDefsForColumn(column)
20
19
  .filter((predDef) => {
@@ -34,7 +33,6 @@ export const useAdaptableFilterWrapper = (columnId, filterComponent, handleOnCha
34
33
  ? mapColumnFilterToQlPredicate(columnFilter, column, qlPredicateDefs, columnFilterOptions, filterComponent, api)
35
34
  : null;
36
35
  const handleOnChange = (adaptablePredicate, logic = 'AND') => {
37
- // make sure we always have the latest columnFiler
38
36
  const columnFilter = adaptable.api.filterApi.columnFilterApi.getColumnFilterForColumn(columnId);
39
37
  const newFilter = {
40
38
  ...columnFilter,
@@ -52,9 +50,6 @@ export const useAdaptableFilterWrapper = (columnId, filterComponent, handleOnCha
52
50
  }
53
51
  };
54
52
  const handleClear = React.useCallback(() => dispatch(LayoutRedux.LayoutColumnFilterClear(columnId)), [columnId]);
55
- /**
56
- * Converts a QlPredicate to an AdaptablePredicate and dispatches the change.
57
- */
58
53
  const handlePredicateChange = React.useCallback((newPredicate) => {
59
54
  if (!newPredicate) {
60
55
  handleClear();
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
2
  import { isAdaptableIcon } from '../../../components/Icon';
3
3
  import { AdaptableIconComponent } from '../AdaptableIconComponent';
4
- export const mapAdaptablePredicateDefToQlPredicateDef = (adaptablePredicateDef,
5
- // used to determine values type
6
- dataType) => {
4
+ export const mapAdaptablePredicateDefToQlPredicateDef = (adaptablePredicateDef, dataType) => {
7
5
  let icon = null;
8
6
  if (isAdaptableIcon(adaptablePredicateDef.icon)) {
9
7
  icon = React.createElement(AdaptableIconComponent, { icon: adaptablePredicateDef.icon });
@@ -16,11 +14,9 @@ dataType) => {
16
14
  });
17
15
  if (adaptablePredicateDef.id === 'In' || adaptablePredicateDef.id === 'NotIn') {
18
16
  if (['text', 'number', 'date'].includes(dataType)) {
19
- // add array type
20
17
  inputs.push(`${dataType}[]`);
21
18
  }
22
19
  if (['text[]', 'number[]'].includes(dataType)) {
23
- // add array type
24
20
  inputs.push(dataType);
25
21
  }
26
22
  }
@@ -38,7 +34,7 @@ dataType) => {
38
34
  };
39
35
  export const mapAdaptablePredicateToQlPredicate = (adaptablePredicate) => {
40
36
  return {
41
- operator: adaptablePredicate.PredicateId, // make sure all predicates are in qal
37
+ operator: adaptablePredicate.PredicateId,
42
38
  args: adaptablePredicate.Inputs,
43
39
  };
44
40
  };
@@ -52,7 +48,6 @@ export const qlPredicateToString = (qlPredicate, predicateDefs) => {
52
48
  if (typeof qlPredicate === 'object' &&
53
49
  'operator' in qlPredicate &&
54
50
  (qlPredicate.operator === 'AND' || qlPredicate.operator === 'OR')) {
55
- // save to join args because there is no extra nesting
56
51
  return qlPredicate.args
57
52
  .filter((str) => str)
58
53
  .map((arg) => qlPredicateToString(arg, predicateDefs))
@@ -89,7 +84,6 @@ export const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicate
89
84
  args: (columnFilter?.Predicates ?? []).map?.(mapAdaptablePredicateToQlPredicate),
90
85
  };
91
86
  if (qlPredicate.args.length === 0) {
92
- // used when none is defined
93
87
  let defaultQlPredicate = null;
94
88
  switch (abColumn.dataType) {
95
89
  case 'number':
@@ -178,7 +172,6 @@ export const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicate
178
172
  break;
179
173
  }
180
174
  if (defaultQlPredicate === null) {
181
- // take the firstavailable one
182
175
  if (qlPredicateDefs.length > 0) {
183
176
  defaultQlPredicate = { operator: qlPredicateDefs[0].operator, args: [] };
184
177
  }
@@ -35,7 +35,6 @@ export const EntityRulePredicateEditor = (props) => {
35
35
  });
36
36
  }
37
37
  else {
38
- // no previous predicate, e.g. it was cleared
39
38
  newPredicates = [newPredicateDef];
40
39
  }
41
40
  props.onChange({
@@ -61,7 +60,6 @@ export const EntityRulePredicateEditor = (props) => {
61
60
  label: col.label,
62
61
  value: col.value,
63
62
  }));
64
- // use global scope or custom scope
65
63
  let predicateColumnId = null;
66
64
  if (predicate?.ColumnId && predicate.ColumnId !== '') {
67
65
  predicateColumnId = predicate.ColumnId;
@@ -14,7 +14,6 @@ export const EntityRulePredicatesEditor = (props) => {
14
14
  const { api } = useAdaptable();
15
15
  const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
16
16
  const columnPredicateEnabled = props.data.Rule.Predicates.some((predicate) => predicate.ColumnId !== undefined);
17
- // filter out predicates that are already in use
18
17
  const defaultPredicateDefs = props.predicateDefs.filter((predicateDef) => {
19
18
  return props.data.Rule?.Predicates?.every((rulePrediate) => rulePrediate.PredicateId !== predicateDef.id);
20
19
  });
@@ -14,7 +14,6 @@ const QueryTab = (props) => {
14
14
  const text = (_jsxs(Flex, { flexDirection: "column", children: [label, " ", _jsx(Box, { className: "twa:text-2", children: "query" })] }));
15
15
  return (_jsx(Tabs.Tab, { style: { flex: 1 }, ...tabProps, children: !disabled && props.showRadio ? (_jsx(Radio, { tabIndex: -1, className: "twa:m-0 twa:align-baseline", checked: type === props.value, children: text })) : (text) }));
16
16
  };
17
- // needed here to be considered a child Tab component, inside the Tabs component
18
17
  SupportedTabMenuComps.add(QueryTab);
19
18
  export const EntityRulesSummary = (props) => {
20
19
  const { data } = props;
@@ -25,16 +24,7 @@ export const EntityRulesSummary = (props) => {
25
24
  !data?.Rule?.AggregatedBooleanExpression) {
26
25
  return _jsx(Box, { className: "twa:text-2", children: "No Rule defined" });
27
26
  }
28
- return (_jsx(
29
- Box,
30
- { className: "twa:text-2", children: data.Rule.Predicates ? (_jsx(_Fragment, { children: data.Rule?.Predicates?.map?.((predicate, index) => (
31
- // predicate id is not unique
32
- (_jsx(
33
- React.Fragment,
34
- { children: props.renderPredicate(predicateApi.predicateToString(predicate)) },
35
- index
36
- )))) })) : (_jsx(_Fragment, { children: props.renderQueryExpression(internalApi.getAdaptableQueryExpressionText(data.Rule)) })) }
37
- ));
27
+ return (_jsx(Box, { className: "twa:text-2", children: data.Rule.Predicates ? (_jsx(_Fragment, { children: data.Rule?.Predicates?.map?.((predicate, index) => (_jsx(React.Fragment, { children: props.renderPredicate(predicateApi.predicateToString(predicate)) }, index))) })) : (_jsx(_Fragment, { children: props.renderQueryExpression(internalApi.getAdaptableQueryExpressionText(data.Rule)) })) }));
38
28
  };
39
29
  const RuleTabTitle = (props) => {
40
30
  return props.showRadio ? (_jsx(Radio, { className: "twa:m-0", tabIndex: -1, checked: props.checked, children: props.children })) : (_jsx(_Fragment, { children: "props.children" }));
@@ -29,9 +29,7 @@ export const ExternalRenderer = ({ render, frameworkComponent, componentName = '
29
29
  }
30
30
  else if (frameworkComponent) {
31
31
  onDestroy?.();
32
- adaptableApi.internalApi.destroyFrameworkComponent(element, frameworkComponent,
33
- // @ts-ignore
34
- componentName);
32
+ adaptableApi.internalApi.destroyFrameworkComponent(element, frameworkComponent, componentName);
35
33
  }
36
34
  };
37
35
  }, []);
@@ -12,7 +12,6 @@ import { isEmbeddedColumnFilterLocation } from '../ColumnFilter/columnFilterLoca
12
12
  import { useColumnFilterLocation } from '../ColumnFilter/AdaptableColumnFilter';
13
13
  import { GridFilterTreeDropdown } from '../../../components/Tree/TreeDropdown';
14
14
  const baseClassName = 'ab-ListBoxFilterForm';
15
- // used for displaying the date values in the input
16
15
  function toDateDisplayValue(values) {
17
16
  values = values.map((v) => {
18
17
  if (!Array.isArray(v)) {
@@ -23,20 +22,6 @@ function toDateDisplayValue(values) {
23
22
  return toDisplayValueDefault(values);
24
23
  }
25
24
  const dateOnChangeParser = (value) => {
26
- /**
27
- * the value looks like this:
28
- * [
29
- * ["2021","2021-01","2021-01-01"],
30
- * ["2024","2024-02","2024-02-15T12:34:00"],
31
- * ]
32
- */
33
- // so first need to transfor the above to this:
34
- /**
35
- * [
36
- * [2023, 12, 1, 1640668800000],
37
- * [2023, 12, 3, 1738377600000]
38
- * ]
39
- */
40
25
  return value.map((v) => {
41
26
  return v[v.length - 1];
42
27
  });
@@ -47,7 +32,6 @@ export const ColumnValuesSelect = (props) => {
47
32
  const column = props.column;
48
33
  let selectedColumnValues = props.value || EMPTY_ARRAY;
49
34
  const rawOptionsFromProps = Array.isArray(props.options) ? props.options : EMPTY_ARRAY;
50
- // Drop empty entries for all column types; Memoise them because Date cols can leak them when using `customInFilterValues` + `orderedValues`
51
35
  const optionsFromProps = useMemo(() => {
52
36
  if (rawOptionsFromProps === EMPTY_ARRAY) {
53
37
  return rawOptionsFromProps;
@@ -65,20 +49,6 @@ export const ColumnValuesSelect = (props) => {
65
49
  return rawOptionsFromProps.filter((option) => !StringExtensions.IsNullOrEmpty(option?.value));
66
50
  }, [rawOptionsFromProps]);
67
51
  const value = [];
68
- // For `customInFilterValues` + `orderedValues` on a date column, the
69
- // options arrive with raw `Date` objects as `value`. `GridFilterTreeDropdown`
70
- // round-trips path keys via `JSON.stringify`/`JSON.parse`, which converts
71
- // `Date` -> ISO string. The stored selection paths therefore become
72
- // strings while the option/treePath values are still `Date` references —
73
- // and `TreeSelectionState`'s internal DeepMap uses strict reference
74
- // equality, so a clicked item never matches its tree path on the next
75
- // render (no checkbox, click looks like a no-op).
76
- //
77
- // Normalise `Date` option values to ISO strings up front so every layer
78
- // (treePaths, items, selectionMap, value, onChange output) speaks the
79
- // same primitive. Tree-shaped date options (the default-values flow) use
80
- // string values like "2024" / "2024-01" / "2024-01-01" already and pass
81
- // through unchanged.
82
52
  const dateOptions = useMemo(() => {
83
53
  if (column.dataType !== 'date') {
84
54
  return optionsFromProps;
@@ -97,14 +67,6 @@ export const ColumnValuesSelect = (props) => {
97
67
  return optionsFromProps.map(convert);
98
68
  }, [column.dataType, optionsFromProps]);
99
69
  if (column.dataType === 'date') {
100
- // we might have a use-case where users might want to get rid of a tree level
101
- // because it may contain only one child. currently,
102
- // the value is an array of strings that have this form (ISOish)
103
- // ["2021-01-01", "2021-10-02", "2021-01-03T12:00:00"]
104
- // but we want the full path to each value
105
- // but we can't compute that by simply splitting the strings by '-' or 'T',
106
- // as if we do that, then we won't support removing a tree level
107
- // so we have to compute the paths based on the options
108
70
  const valueToPath = useMemo(() => {
109
71
  const valueToPath = new Map();
110
72
  const withOption = (option, parentPath = []) => {
@@ -119,9 +81,6 @@ export const ColumnValuesSelect = (props) => {
119
81
  }, [dateOptions]);
120
82
  selectedColumnValues = selectedColumnValues
121
83
  .map((v) => {
122
- // Saved selections may be raw `Date` objects from older
123
- // `orderedValues` snapshots; coerce to the same ISO string we use
124
- // for option keys so the lookup still hits.
125
84
  const key = v instanceof Date ? v.toISOString() : v;
126
85
  return valueToPath.get(key);
127
86
  })
@@ -131,7 +90,6 @@ export const ColumnValuesSelect = (props) => {
131
90
  ? dateOptions
132
91
  : optionsFromProps.filter((distinctValue) => {
133
92
  let isActive = selectedColumnValues.indexOf(distinctValue.value) >= 0;
134
- // special case for date objects, need to check against string values
135
93
  if (!isActive && distinctValue.value && distinctValue.value instanceof Date) {
136
94
  isActive = selectedColumnValues.some((dateStr) => isEqual(parseDateValue(dateStr), parseDateValue(distinctValue.value)));
137
95
  }
@@ -159,23 +117,14 @@ export const ColumnValuesSelect = (props) => {
159
117
  : undefined;
160
118
  const component = column.dataType === 'date' || column.columnId === AG_GRID_GROUPED_COLUMN ? (_jsx(GridFilterTreeDropdown, { toDisplayValue: treeDropdownToDisplayValue, resizable: true, onValueChange: column.dataType === 'date'
161
119
  ? (value) => props.onChange(dateOnChangeParser(value))
162
- : props.onChange, items: options,
163
- // for dates, the treeDateOptions have ids that are numbers
164
- // so we have to add the `toDateValue` function to convert the values to the correct format
165
- value: selectedColumnValues, "data-name": "Select Values", primaryKey: 'value', isLoading: props.isLoading, onOpenChange: onOpenChange, showClear: isEmbeddedColumnFilterLocation(location) })) : (_jsx(GridFilterCombobox, { disabled: props.disabled, ...selectProps, onOpenChange: onOpenChange, items: options, value: value, isLoading: props.isLoading, onValueChange: props.onChange, showClear: isEmbeddedColumnFilterLocation(location) }, "select"));
120
+ : props.onChange, items: options, value: selectedColumnValues, "data-name": "Select Values", primaryKey: 'value', isLoading: props.isLoading, onOpenChange: onOpenChange, showClear: isEmbeddedColumnFilterLocation(location) })) : (_jsx(GridFilterCombobox, { disabled: props.disabled, ...selectProps, onOpenChange: onOpenChange, items: options, value: value, isLoading: props.isLoading, onValueChange: props.onChange, showClear: isEmbeddedColumnFilterLocation(location) }, "select"));
166
121
  return (_jsx("div", { className: join(baseClassName, 'twa:relative', props.isLoading && `${baseClassName}--loading`, !value.length && `${baseClassName}--empty`), onKeyDownCapture: (e) => {
167
122
  if (e.key === 'Tab') {
168
- // Prevent AG Grid from hijacking Tab; keep browser default focus navigation.
169
123
  e.stopPropagation();
170
124
  return;
171
125
  }
172
126
  const event = e.nativeEvent || e;
173
127
  event.stopPropagation = () => {
174
- // see #ensure-keyboard-navigation-works-in-column-values-filter
175
- // we want to prevent ag grid from stopping the propagation of the event
176
- // so that the event can be handled by the select component and thus makes keyboard navigation work
177
- //
178
- // the solution is to reassign the stopPropagation method to a function that does nothing
179
128
  };
180
129
  }, children: component }));
181
130
  };
@@ -28,8 +28,6 @@ export const ModuleValueSelector = (props) => {
28
28
  return ArrayExtensions.sortArrayWithOrder(options, value, { sortUnorderedItems: true });
29
29
  }, [allowReorder, options, value]);
30
30
  const moduleFilter = useCallback((module, searchText) => {
31
- // the module name is camelCased so I want to split it
32
- // so we can also use spaces in the search text
33
31
  const parts = module.split(/(?=[A-Z])/);
34
32
  const withSpaces = parts.join(' ');
35
33
  return (module.toLowerCase().includes(searchText.toLowerCase()) ||
@@ -5,9 +5,6 @@ import { allIcons } from '../../../components/icons';
5
5
  import { ButtonInfo } from '../Buttons/ButtonInfo';
6
6
  import { twMerge } from '../../../twMerge';
7
7
  import { Box, Flex } from '../../../components/Flex';
8
- //We cannot destructure this.props using the react way in typescript which is a real pain as you
9
- //need to transfer props individually as a consequence
10
- //let { buttonContent, ...other } = this.props
11
8
  class PanelWithImageCmp extends React.Component {
12
9
  render() {
13
10
  const IconCmp = allIcons[(this.props.icon || this.props.glyphicon)];
@@ -16,8 +13,7 @@ class PanelWithImageCmp extends React.Component {
16
13
  headerStyle.color = this.props.headerColor;
17
14
  headerStyle.fill = this.props.headerColor;
18
15
  }
19
- let headerRow = (_jsx(Flex, { className: "twa:flex-1", children: _jsxs(Flex, { alignItems: "center", children: [_jsxs(Flex, { className: "twa:min-h-[15px]", alignItems: "center", style: headerStyle, children: [IconCmp ? _jsx(IconCmp, {}) : null, _jsx(Box, { className: "twa:mr-2" }), this.props.header ?? '', _jsx(Box, { className: "twa:mr-2", "data-name": "space-after" }), this.props.infoLink != null && !this.props.infoLinkDisabled && (_jsx(ButtonInfo, { onClick: () => window.open(this.props.infoLink, '_blank' // <- opens the link in a new tab or window.
20
- ) }))] }), _jsx(Flex, { className: "twa:flex-1" }), this.props.button && React.cloneElement(this.props.button)] }) }));
16
+ let headerRow = (_jsx(Flex, { className: "twa:flex-1", children: _jsxs(Flex, { alignItems: "center", children: [_jsxs(Flex, { className: "twa:min-h-[15px]", alignItems: "center", style: headerStyle, children: [IconCmp ? _jsx(IconCmp, {}) : null, _jsx(Box, { className: "twa:mr-2" }), this.props.header ?? '', _jsx(Box, { className: "twa:mr-2", "data-name": "space-after" }), this.props.infoLink != null && !this.props.infoLinkDisabled && (_jsx(ButtonInfo, { onClick: () => window.open(this.props.infoLink, '_blank') }))] }), _jsx(Flex, { className: "twa:flex-1" }), this.props.button && React.cloneElement(this.props.button)] }) }));
21
17
  return (_jsx(NewPanel, { header: headerRow, variant: this.props.variant, style: this.props.style, bodyScroll: this.props.bodyScroll !== undefined ? this.props.bodyScroll : true, className: twMerge('twa:rounded-none twa:border-none', this.props.className), bodyProps: {
22
18
  ...this.props.bodyProps,
23
19
  className: twMerge('twa:p-0', this.props.bodyProps?.className),
@@ -2,9 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import Panel from '../../../components/Panel';
4
4
  import { Flex, Box } from '../../../components/Flex';
5
- // We cannot destructure this.props using the react way in typescript which is a real pain as you
6
- // need to transfer props individually as a consequence
7
- // let { buttonContent, ...other } = this.props
8
5
  export class PanelWithRow extends React.Component {
9
6
  render() {
10
7
  const headerItems = this.props.colItems.map((colItem, index) => (_jsx(Box, { className: "twa:font-bold twa:text-3 twa:px-1", style: {
@@ -21,11 +21,6 @@ export const AdaptablePopup = (props) => {
21
21
  const isWindowModal = settingsPanelOptions.popupType === 'window';
22
22
  const modalContainer = resolveContainerElement(adaptable.adaptableOptions?.containerOptions?.modalContainer, props.api.internalApi.buildBaseContext());
23
23
  let friendlyName = null;
24
- /**
25
- * This means that it is not rendered in the context of Settings Panel
26
- * - no topbar
27
- * - no navigation
28
- */
29
24
  let isStandalone = false;
30
25
  let moduleViewContent = null;
31
26
  let activeItem = null;
@@ -34,7 +29,6 @@ export const AdaptablePopup = (props) => {
34
29
  const firstMenuModule = firstMenuItem?.category;
35
30
  let componentModule = props.componentModule;
36
31
  let componentName = props.componentName;
37
- // ts forces to check for General, there is no menu item General
38
32
  const useFirstItem = !props.componentName;
39
33
  if (useFirstItem &&
40
34
  firstMenuModule !== 'General' &&
@@ -15,7 +15,6 @@ export const AdaptablePopupBody = (props) => {
15
15
  props.onHide();
16
16
  }
17
17
  },
18
- // show share button if TeamSharing is active & user has edit rights
19
18
  teamSharingActivated: props.api.teamSharingApi.isTeamSharingAvailable() &&
20
19
  props.api.teamSharingApi.hasTeamSharingFullRights(),
21
20
  modalContainer: modalContainer,
@@ -24,7 +23,5 @@ export const AdaptablePopupBody = (props) => {
24
23
  moduleInfo,
25
24
  };
26
25
  const BodyComponent = AdaptableViewFactory?.[props?.componentName ?? moduleInfo.Popup] || AdaptablePopupModuleView;
27
- // key is to make sure state is reset between views
28
- // most of the views use the `AdaptablePopupModuleView` component
29
26
  return _jsx(BodyComponent, { module: props.module, ...moduleProps }, props?.componentName);
30
27
  };
@@ -18,10 +18,6 @@ import Panel from '../../../../components/Panel';
18
18
  import { Tabs } from '../../../../components/Tabs';
19
19
  import { NewDropdownButton } from '../../../../components/DropdownButton';
20
20
  export const AdaptablePopupModuleView = (props) => {
21
- /**
22
- * This triggers a render for each state change.
23
- * NOT sure this is still needed... It is here for historical reasons.
24
- */
25
21
  const adaptable = useAdaptable();
26
22
  const rerender = useRerender();
27
23
  useEffect(() => {
@@ -66,8 +62,6 @@ export const AdaptablePopupModuleView = (props) => {
66
62
  emptyContent = emptyView;
67
63
  }
68
64
  const toolTipText = moduleViewProperties.newTooltipText ?? `Create ${moduleInfo.FriendlyName}`;
69
- // Some modules do not have new button
70
- // e.g. filter
71
65
  let newButton = null;
72
66
  if (moduleViewProperties?.abObjectTypes?.length) {
73
67
  const items = moduleViewProperties?.abObjectTypes.map((abObjectType) => {
@@ -4,6 +4,5 @@ import { Box, Flex } from '../../../../components/Flex';
4
4
  import { cn } from '../../../../lib/utils';
5
5
  export const PopupPanel = (props) => {
6
6
  const baseClassName = 'ab-Adaptable-Popup__Panel';
7
- return (_jsxs(Box, { className: cn('twa:flex-1 twa:flex twa:flex-col twa:gap-3 twa:p-1', props.className, baseClassName, props.scrollable === false ? 'twa:overflow-hidden' : 'twa:overflow-auto'), children: [_jsxs("div", { className: `${baseClassName}__Header twa:flex`, children: [_jsxs(Flex, { alignItems: "center", children: [_jsx(Box, { className: "twa:mr-0", "data-name": "space-before" }), _jsx("div", { className: `${baseClassName}__Header__Title`, children: props.headerText }), _jsx(Box, { className: "twa:mr-2", "data-name": "space-after" }), props.infoLink != null && !props.infoLinkDisabled && (_jsx(ButtonInfo, { tone: "none", variant: "text", iconSize: 24, onClick: () => window.open(props.infoLink, '_blank' // <- opens the link in a new tab or window.
8
- ) }))] }), _jsx(Box, { className: "twa:flex-1" }), props.button] }), _jsx(Box, { className: cn('twa:w-full twa:flex twa:flex-col twa:flex-1 twa:min-h-0', `${baseClassName}__Body`, props.bodyClassName), children: props.children })] }));
7
+ return (_jsxs(Box, { className: cn('twa:flex-1 twa:flex twa:flex-col twa:gap-3 twa:p-1', props.className, baseClassName, props.scrollable === false ? 'twa:overflow-hidden' : 'twa:overflow-auto'), children: [_jsxs("div", { className: `${baseClassName}__Header twa:flex`, children: [_jsxs(Flex, { alignItems: "center", children: [_jsx(Box, { className: "twa:mr-0", "data-name": "space-before" }), _jsx("div", { className: `${baseClassName}__Header__Title`, children: props.headerText }), _jsx(Box, { className: "twa:mr-2", "data-name": "space-after" }), props.infoLink != null && !props.infoLinkDisabled && (_jsx(ButtonInfo, { tone: "none", variant: "text", iconSize: 24, onClick: () => window.open(props.infoLink, '_blank') }))] }), _jsx(Box, { className: "twa:flex-1" }), props.button] }), _jsx(Box, { className: cn('twa:w-full twa:flex twa:flex-col twa:flex-1 twa:min-h-0', `${baseClassName}__Body`, props.bodyClassName), children: props.children })] }));
9
8
  };
@@ -19,7 +19,6 @@ export const useMenuItems = () => {
19
19
  const resolveNavigationItem = (moduleName) => {
20
20
  const customSettingsPanel = settingsPanelOptions?.customSettingsPanels?.find?.((panel) => panel.name === moduleName);
21
21
  if (customSettingsPanel) {
22
- // @ts-ignore custom settings panel menu items are not part of the standard menu name union
23
22
  return {
24
23
  category: 'CustomSettingsPanel',
25
24
  label: customSettingsPanel.name,
@@ -19,7 +19,6 @@ export const AdaptablePopupAlert = (props) => {
19
19
  header = `${header}: ${props.adaptableAlert.header}`;
20
20
  }
21
21
  let glyph = UIHelper.getGlyphByMessageType(messageType);
22
- // we still need the defauld
23
22
  const defaultForm = React.useMemo(() => {
24
23
  return api.alertApi.internalApi.getDefaultAlertNotificationForm();
25
24
  }, []);
@@ -51,8 +50,6 @@ export const AdaptablePopupAlert = (props) => {
51
50
  })
52
51
  : msg] }), _jsx(Box, { className: "twa:m-2", children: adaptableForm ? (_jsx(AdaptableFormComponent, { focusFirstButton: props.focusFirstButton, data: formData, formDef: adaptableForm, displayTitle: true, onChange: setFormData, api: api, context: context, onButtonClick: (button) => {
53
52
  props.onClose();
54
- // we want to give the current popup time to close
55
- // and we reopen with a delay in case this button action causes another popup
56
53
  setTimeout(() => {
57
54
  button.onClick?.(button, context);
58
55
  }, 20);
@@ -3,8 +3,6 @@ import ObjectFactory from '../../../Utilities/ObjectFactory';
3
3
  import { AdaptablePopupAlert } from './AdaptablePopupAlert';
4
4
  import { toast } from '../../../components/Toastify';
5
5
  export const showToast = (props) => {
6
- // we're doing this hack and not simply using props.api in order not to have a memory
7
- // leak where the api is still kept around in memory by the toaster
8
6
  let api = props.api;
9
7
  const off = api.eventApi.on('AdaptableDestroy', () => {
10
8
  toast.dismiss();
@@ -14,14 +14,8 @@ const NoopComponent = () => {
14
14
  return _jsx(_Fragment, {});
15
15
  };
16
16
  export const CUSTOM_WINDOW_FACTORY_ID = 'CUSTOM_WINDOW_FACTORY_ID';
17
- /**
18
- * Portals children into a target container element.
19
- * Monitors the container with a MutationObserver — if the container is removed
20
- * from the DOM, `onContainerRemoved` is called so callers can clean up React/Redux state.
21
- */
22
17
  const ContainerPortal = ({ container, onContainerRemoved, children }) => {
23
18
  React.useEffect(() => {
24
- // If the container is already detached, clean up immediately
25
19
  if (!document.contains(container)) {
26
20
  onContainerRemoved();
27
21
  return;
@@ -32,7 +26,6 @@ const ContainerPortal = ({ container, onContainerRemoved, children }) => {
32
26
  observer.disconnect();
33
27
  }
34
28
  });
35
- // Observe the entire document body for subtree removals
36
29
  observer.observe(document.body, { childList: true, subtree: true });
37
30
  return () => {
38
31
  observer.disconnect();
@@ -66,7 +59,6 @@ export const WindowPopups = () => {
66
59
  Component = Component ?? NoopComponent;
67
60
  componentNode = (_jsx(Component, { api: adaptable.api, onDismiss: handleDismiss, popupProps: restPopupProps }));
68
61
  }
69
- // Transposed View: portal into custom container if configured
70
62
  if (windowItem.FactoryId === WINDOW_SHOW_TRANSPOSED_VIEW) {
71
63
  const transposedContainer = resolveContainerElement(adaptable.adaptableOptions?.containerOptions?.transposedViewContainer, adaptable.api.internalApi.buildBaseContext());
72
64
  if (transposedContainer) {
@@ -21,16 +21,6 @@ const DEFAULT_ZERO_CENTRED_COLORS = {
21
21
  PositiveColor: 'rgba(40, 167, 69, 0.55)',
22
22
  };
23
23
  const hasConfiguredRanges = (ranges) => (ranges?.length ?? 0) > 0;
24
- /**
25
- * Decide which range tab should be active given the current props.
26
- *
27
- * Precedence:
28
- * 1. `columnComparison` set → Column Comparison tab
29
- * 2. Zero Centred set + supported → Zero Centred tab
30
- * 3. `allowEmptyRanges` + no bands → No Ranges tab
31
- * 4. `rangeValueType === 'Percentage'` → Percentage Range tab
32
- * 5. otherwise → Number Range tab (default for new styles)
33
- */
34
24
  function deriveInitialRangesType(props) {
35
25
  if (props.columnComparison) {
36
26
  return 'ColumnComparison';
@@ -43,14 +33,6 @@ function deriveInitialRangesType(props) {
43
33
  }
44
34
  return props.rangeValueType === 'Percentage' ? 'PercentageRange' : 'NumberRange';
45
35
  }
46
- /**
47
- * A single Column Comparison bound (Min or Max). The user picks whether the
48
- * bound is a fixed `Value` (a number applied to every row) or a `Column`
49
- * (read from another column and evaluated per row). The underlying
50
- * `ColumnComparison.MinValue`/`MaxValue` stays a `number | string` — number =>
51
- * fixed value, non-numeric string => columnId — so the type is derived from the
52
- * stored value via `isNaN`, mirroring how the runtime resolver discriminates it.
53
- */
54
36
  const ColumnComparisonBoundInput = ({ value, disabled, onChange }) => {
55
37
  const [type, setType] = React.useState(value != null && value !== '' && isNaN(Number(value)) ? 'column' : 'value');
56
38
  const typeOptions = [
@@ -64,22 +46,12 @@ const ColumnComparisonBoundInput = ({ value, disabled, onChange }) => {
64
46
  },
65
47
  ];
66
48
  const editor = type === 'value' ? (_jsx(NumberInput, { className: "twa:w-full", disabled: disabled, type: "number", value: value != null && !isNaN(Number(value)) ? Number(value) : '', onChange: (v) => onChange(v) })) : (_jsx(ColumnSelector, { disabled: disabled, type: "number", value: value != null && isNaN(Number(value)) ? String(value) : undefined, onChange: (columnId) => onChange(columnId || undefined) }));
67
- // The select trigger, the `NumberInput` (`.ab-Input`) and the `ColumnSelector`
68
- // (a Combobox that does NOT forward `className`, rendering its border on a
69
- // `[data-slot="input-group"]` wrapper) all hard-code `rounded-input`, so the
70
- // InputGroup CSS-variable joining has no effect. We flatten the touching
71
- // corners directly (important, to beat `rounded-input`) and overlap the shared
72
- // border via `-ml-px` so the two controls read as a single block. The editor
73
- // side targets both inner border elements through descendant arbitrary
74
- // variants and forces them to fill the flex item.
75
49
  const editorWrapperClassName = [
76
50
  'twa:flex-1 twa:basis-0 twa:min-w-0 twa:-ml-px',
77
51
  'twa:[&_.ab-Input]:w-full twa:[&_.ab-Input]:rounded-l-none!',
78
52
  'twa:[&_[data-slot=input-group]]:w-full! twa:[&_[data-slot=input-group]]:rounded-l-none!',
79
53
  ].join(' ');
80
54
  return (_jsxs(InputGroup, { Component: Flex, className: "twa:items-stretch twa:max-w-[20rem]", children: [_jsx(SingleSelect, { className: "twa:w-[120px] twa:max-w-none twa:shrink-0 twa:box-border twa:rounded-r-none!", disabled: disabled, value: type, items: typeOptions, onValueChange: (next) => {
81
- // Switching type clears the stale bound so a fixed number can never
82
- // be misread as a columnId (or vice versa).
83
55
  onChange(undefined);
84
56
  setType(next);
85
57
  } }), _jsx(Box, { className: editorWrapperClassName, children: editor })] }));
@@ -93,14 +65,8 @@ export class RangesComponent extends React.Component {
93
65
  let comparisonColor = this.props.columnComparison != null && this.props.columnComparison.Color != null
94
66
  ? this.props.columnComparison.Color
95
67
  : undefined;
96
- // Number / Percentage is now expressed at the tab level (Number Range tab
97
- // vs Percentage Range tab) instead of an inline radio. The inner content
98
- // is shared between the two range tabs and parameterised on this flag.
99
68
  const isRangeValueTypeNumber = this.state.rangesType === 'NumberRange';
100
69
  const renderNoneContent = () => (_jsx(Box, { className: "twa:text-2 twa:opacity-70 twa:py-2 twa:max-w-[520px]", children: "No coloured bands configured" }));
101
- // Columns: Min, Max, Colour, [Reverse Gradient], Delete. Using one shared
102
- // grid (rows are `display: contents`) keeps every band's cells aligned and
103
- // spacing uniform via grid gaps, even with a single row.
104
70
  const rangeGridTemplateColumns = [
105
71
  'max-content',
106
72
  'max-content',
@@ -152,20 +118,14 @@ export class RangesComponent extends React.Component {
152
118
  const isComparison = !!this.props.columnComparison;
153
119
  const wasZc = !!prevProps.zeroCentred;
154
120
  const isZc = !!this.props.zeroCentred;
155
- // External mutations to columnComparison drive the tab.
156
121
  if (wasComparison !== isComparison) {
157
122
  this.setState({ rangesType: deriveInitialRangesType(this.props) });
158
123
  return;
159
124
  }
160
- // External mutations to zeroCentred drive the tab (when not in CC mode).
161
125
  if (!isComparison && wasZc !== isZc) {
162
126
  this.setState({ rangesType: deriveInitialRangesType(this.props) });
163
127
  return;
164
128
  }
165
- // External flips of RangeValueType while the user is sitting on a range
166
- // tab — keep the active tab in sync. We deliberately do NOT react when the
167
- // user is on Zero Centred / Column Comparison tabs (parent code can still
168
- // set RangeValueType: 'Number' as part of those flows).
169
129
  if ((this.state.rangesType === 'NumberRange' || this.state.rangesType === 'PercentageRange') &&
170
130
  prevProps.rangeValueType !== this.props.rangeValueType) {
171
131
  this.setState({
@@ -210,9 +170,6 @@ export class RangesComponent extends React.Component {
210
170
  this.props.onApplyZeroCentred?.(this.props.zeroCentred ?? DEFAULT_ZERO_CENTRED_COLORS);
211
171
  return;
212
172
  }
213
- // Switching to a range tab — let the parent reseed CellRanges + the right
214
- // RangeValueType (and clear ColumnComparison / ZeroCentred). Tab switches
215
- // wipe any previously configured ranges by design.
216
173
  this.props.onRangeValueTypeChange(value === 'PercentageRange' ? 'Percentage' : 'Number');
217
174
  }
218
175
  changeRangeMin(index, value) {
@@ -252,7 +209,6 @@ export class RangesComponent extends React.Component {
252
209
  removeRange(index) {
253
210
  let ranges = [...this.props.ranges];
254
211
  ranges.splice(index, 1);
255
- // Max 100 is always disabled, this prevents from having a Max range lower than 100
256
212
  if (this.props.rangeValueType === 'Percentage' && ranges.length === 1) {
257
213
  ranges[0] = {
258
214
  ...ranges[0],
@@ -288,13 +244,6 @@ export class RangesComponent extends React.Component {
288
244
  this.props.updateRanges(newRanges);
289
245
  }
290
246
  addRange() {
291
- // Most callers seed `ranges` with at least one entry, but Range Bar
292
- // legitimately leaves `CellRanges` undefined (bands are optional). Handle
293
- // both cases so the "Add Range" button always works.
294
- //
295
- // When starting from empty we seed TWO bands split at the midpoint — a
296
- // single full-width band would just look like a back colour and wouldn't
297
- // communicate the "qualitative scale" idea bands are intended for.
298
247
  const existingRanges = this.props.ranges ?? [];
299
248
  if (existingRanges.length === 0) {
300
249
  const isPercentage = this.props.rangeValueType === 'Percentage';
@@ -326,8 +275,6 @@ export class RangesComponent extends React.Component {
326
275
  this.props.updateRanges(seedRanges);
327
276
  return;
328
277
  }
329
- // Splitting a single full-width band at the midpoint is easier to reason
330
- // about than anchoring the break at the column maximum (e.g. tradeId 1–200 → 100).
331
278
  if (existingRanges.length === 1) {
332
279
  const splitAtMidpoint = this.splitFullSpanRangeAtMidpoint(existingRanges[0]);
333
280
  if (splitAtMidpoint) {
@@ -356,10 +303,6 @@ export class RangesComponent extends React.Component {
356
303
  const newRanges = [...existingRanges.slice(0, -1), previousRange, newRange];
357
304
  this.props.updateRanges(newRanges);
358
305
  }
359
- /**
360
- * When there is exactly one band spanning the full scale (Col-Min→Col-Max or
361
- * 0→100), split at the midpoint instead of at the column maximum.
362
- */
363
306
  splitFullSpanRangeAtMidpoint(onlyRange) {
364
307
  const isPercentage = this.props.rangeValueType === 'Percentage';
365
308
  if (isPercentage) {
@@ -16,9 +16,6 @@ export const BulkUpdateValueSelector = (props) => {
16
16
  const columnDataType = props.selectedColumn?.dataType;
17
17
  const isDateType = props.selectedColumn && columnDataType === 'date';
18
18
  const columnId = props.selectedColumn?.columnId;
19
- // TODO = this seems to be called whenever we edit a cell
20
- // which is then triggering a get all values
21
- // not sure that we need to
22
19
  const permittedValueSelector = (_jsx(Box, { className: 'twa:flex-1', children: _jsx(PermittedValuesSelector, { allowNewValues: true, searchable: 'inline', disabled: props.disabled || !props.selectedColumn, value: props.selectedColumnValue === '' ? null : props.selectedColumnValue, columnId: columnId, placeholder: 'Select value', loadValues: useCallback(({ currentSearchValue }) => {
23
20
  if (!columnId || !props.selectedGridCells.length) {
24
21
  return Promise.resolve([]);
@@ -37,9 +37,7 @@ export const PermittedValuesSelector = function (props) {
37
37
  return currentSearchValue;
38
38
  },
39
39
  });
40
- const distinctColumnValues = await runIfNotResolvedIn(
41
- // we are here ALWAYS getting Filter values but sometimes we want to get other things!!!
42
- p, () => {
40
+ const distinctColumnValues = await runIfNotResolvedIn(p, () => {
43
41
  setIsLoading(true);
44
42
  });
45
43
  setSearchValueWasUsedWhenFiltering(searchValueUsedInFilterValue);
@@ -50,7 +48,6 @@ export const PermittedValuesSelector = function (props) {
50
48
  const isCreatable = (props.allowNewValues && !dataType) || ['text', 'number'].includes(dataType);
51
49
  const handleSingleValueChange = (value) => {
52
50
  if (isCreatable) {
53
- // try to convert to correct type, when there is not type, e.g. field
54
51
  if (!dataType && typeof value === 'string' && !isNaN(parseFloat(value))) {
55
52
  props.onChange(parseFloat(value));
56
53
  }
@@ -82,7 +79,6 @@ export const PermittedValuesSelector = function (props) {
82
79
  }
83
80
  };
84
81
  const handleOnChange = (value) => {
85
- // convert numbers
86
82
  if (props.isMulti) {
87
83
  handleMultiValueChange(value);
88
84
  }
@@ -120,7 +116,6 @@ export const PermittedValuesSelector = function (props) {
120
116
  virtualized: true,
121
117
  resizable: true,
122
118
  showClear: true,
123
- // showClear: false,
124
119
  onFocus: props.onFocus,
125
120
  onBlur: props.onBlur,
126
121
  };