@adaptabletools/adaptable 23.0.4-canary.0 → 23.0.5-canary.0

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 (441) hide show
  1. package/agGrid.js +0 -31
  2. package/index.js +0 -31
  3. package/package.json +1 -1
  4. package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -2
  5. package/src/AdaptableOptions/AdaptablePlugin.js +1 -9
  6. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -39
  7. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +44 -16
  8. package/src/AdaptableState/Aggregations/only.js +0 -11
  9. package/src/AdaptableState/Aggregations/weightedAverage.js +0 -26
  10. package/src/AdaptableState/Common/AdaptableColumn.js +0 -1
  11. package/src/AdaptableState/Common/AdaptableForm.js +0 -49
  12. package/src/AdaptableState/Common/AdaptableFormatPresets.js +0 -13
  13. package/src/AdaptableState/Common/AdaptablePredicate.js +3 -125
  14. package/src/AdaptableState/Common/AggregationColumns.js +0 -10
  15. package/src/AdaptableState/Common/Enums.js +0 -3
  16. package/src/AdaptableState/Common/Menu.js +1 -7
  17. package/src/AdaptableState/Common/MenuItem.js +0 -2
  18. package/src/AdaptableState/Common/Types.js +2 -5
  19. package/src/AdaptableState/StatusBarState.js +0 -3
  20. package/src/AdaptableState/StyledColumns/BadgeStyle.js +0 -1
  21. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +0 -4
  22. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +0 -5
  23. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +0 -8
  24. package/src/AdaptableState/Uuid.js +0 -1
  25. package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
  26. package/src/Api/Implementation/AlertApiImpl.js +0 -21
  27. package/src/Api/Implementation/ApiBase.js +0 -24
  28. package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -1
  29. package/src/Api/Implementation/ChartingApiImpl.js +0 -3
  30. package/src/Api/Implementation/ColumnApiImpl.js +1 -15
  31. package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -9
  32. package/src/Api/Implementation/ColumnScopeApiImpl.js +0 -21
  33. package/src/Api/Implementation/DashboardApiImpl.js +0 -1
  34. package/src/Api/Implementation/EntitlementApiImpl.js +0 -1
  35. package/src/Api/Implementation/ExportApiImpl.js +0 -10
  36. package/src/Api/Implementation/ExpressionApiImpl.js +0 -1
  37. package/src/Api/Implementation/FormatColumnApiImpl.js +0 -3
  38. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -2
  39. package/src/Api/Implementation/GridApiImpl.js +1 -22
  40. package/src/Api/Implementation/GridFilterApiImpl.js +0 -2
  41. package/src/Api/Implementation/LayoutApiImpl.js +0 -18
  42. package/src/Api/Implementation/LayoutHelpers.js +0 -16
  43. package/src/Api/Implementation/NamedQueryApiImpl.js +0 -1
  44. package/src/Api/Implementation/PredicateApiImpl.js +0 -5
  45. package/src/Api/Implementation/RowFormApiImpl.js +0 -2
  46. package/src/Api/Implementation/StateApiImpl.js +0 -7
  47. package/src/Api/Implementation/SystemStatusApiImpl.js +0 -2
  48. package/src/Api/Implementation/TeamSharingApiImpl.js +0 -3
  49. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -1
  50. package/src/Api/Internal/ActionColumnInternalApi.js +0 -1
  51. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
  52. package/src/Api/Internal/AdaptableInternalApi.js +1 -39
  53. package/src/Api/Internal/AlertInternalApi.js +1 -102
  54. package/src/Api/Internal/CalculatedColumnInternalApi.js +0 -17
  55. package/src/Api/Internal/ChartingInternalApi.js +0 -1
  56. package/src/Api/Internal/ColumnFilterInternalApi.js +0 -52
  57. package/src/Api/Internal/ColumnInternalApi.js +0 -32
  58. package/src/Api/Internal/CustomSortInternalApi.js +0 -5
  59. package/src/Api/Internal/DashboardInternalApi.js +0 -23
  60. package/src/Api/Internal/DataImportInternalApi.js +0 -1
  61. package/src/Api/Internal/EventInternalApi.js +0 -2
  62. package/src/Api/Internal/ExportInternalApi.js +1 -16
  63. package/src/Api/Internal/ExpressionInternalApi.js +0 -23
  64. package/src/Api/Internal/Fdc3InternalApi.js +0 -9
  65. package/src/Api/Internal/FlashingCellInternalApi.js +0 -5
  66. package/src/Api/Internal/FormatColumnInternalApi.js +5 -107
  67. package/src/Api/Internal/FreeTextColumnInternalApi.js +0 -8
  68. package/src/Api/Internal/GridFilterInternalApi.js +0 -3
  69. package/src/Api/Internal/GridInternalApi.js +0 -37
  70. package/src/Api/Internal/LayoutInternalApi.js +0 -18
  71. package/src/Api/Internal/NamedQueryInternalApi.js +0 -9
  72. package/src/Api/Internal/PredicateInternalApi.js +0 -23
  73. package/src/Api/Internal/RowFormInternalApi.js +0 -18
  74. package/src/Api/Internal/StateInternalApi.js +0 -25
  75. package/src/Api/Internal/StyledColumnInternalApi.js +0 -62
  76. package/src/Api/Internal/TeamSharingInternalApi.js +0 -9
  77. package/src/Redux/ActionsReducers/AlertRedux.js +0 -24
  78. package/src/Redux/ActionsReducers/ApplicationRedux.js +0 -9
  79. package/src/Redux/ActionsReducers/BulkUpdateRedux.js +0 -6
  80. package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +1 -16
  81. package/src/Redux/ActionsReducers/ChartingRedux.js +0 -24
  82. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -24
  83. package/src/Redux/ActionsReducers/CustomSortRedux.js +0 -24
  84. package/src/Redux/ActionsReducers/DashboardRedux.js +0 -33
  85. package/src/Redux/ActionsReducers/ExportRedux.js +0 -36
  86. package/src/Redux/ActionsReducers/FlashingCellRedux.js +0 -24
  87. package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -36
  88. package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +1 -20
  89. package/src/Redux/ActionsReducers/InternalRedux.js +0 -42
  90. package/src/Redux/ActionsReducers/LayoutRedux.js +1 -67
  91. package/src/Redux/ActionsReducers/NamedQueryRedux.js +0 -15
  92. package/src/Redux/ActionsReducers/NoteRedux.js +0 -14
  93. package/src/Redux/ActionsReducers/PluginsRedux.js +0 -3
  94. package/src/Redux/ActionsReducers/PlusMinusRedux.js +0 -34
  95. package/src/Redux/ActionsReducers/PopupRedux.js +2 -6
  96. package/src/Redux/ActionsReducers/QuickSearchRedux.js +0 -15
  97. package/src/Redux/ActionsReducers/ShortcutRedux.js +0 -24
  98. package/src/Redux/ActionsReducers/SmartEditRedux.js +0 -6
  99. package/src/Redux/ActionsReducers/StatusBarRedux.js +0 -6
  100. package/src/Redux/ActionsReducers/StyledColumnRedux.js +0 -27
  101. package/src/Redux/ActionsReducers/SystemStatusRedux.js +0 -6
  102. package/src/Redux/ActionsReducers/TeamSharingRedux.js +0 -1
  103. package/src/Redux/ActionsReducers/ThemeRedux.js +0 -26
  104. package/src/Redux/ActionsReducers/ToolPanelRedux.js +0 -22
  105. package/src/Redux/ActionsReducers/UserInterfaceRedux.js +0 -3
  106. package/src/Redux/ActionsReducers/utils.js +0 -6
  107. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +0 -1
  108. package/src/Redux/Store/AdaptableReduxMerger.js +0 -25
  109. package/src/Redux/Store/AdaptableStore.js +5 -301
  110. package/src/Strategy/AdaptableModuleBase.js +0 -35
  111. package/src/Strategy/AlertModule.js +0 -9
  112. package/src/Strategy/CellSummaryModule.js +0 -12
  113. package/src/Strategy/ChartingModule.js +0 -1
  114. package/src/Strategy/ColumnFilterModule.js +1 -11
  115. package/src/Strategy/CommentModule.js +0 -2
  116. package/src/Strategy/DashboardModule.js +0 -4
  117. package/src/Strategy/ExportModule.js +0 -1
  118. package/src/Strategy/FlashingCellModule.js +0 -8
  119. package/src/Strategy/FormatColumnModule.js +0 -3
  120. package/src/Strategy/FreeTextColumnModule.js +0 -3
  121. package/src/Strategy/LayoutModule.js +0 -26
  122. package/src/Strategy/NoteModule.js +0 -3
  123. package/src/Strategy/PlusMinusModule.js +0 -3
  124. package/src/Strategy/SettingsPanelModule.js +0 -1
  125. package/src/Strategy/ShortcutModule.js +0 -1
  126. package/src/Strategy/SmartEditModule.js +0 -5
  127. package/src/Strategy/StatusBarModule.js +0 -7
  128. package/src/Strategy/StyledColumnModule.js +1 -16
  129. package/src/Strategy/TeamSharingModule.js +0 -9
  130. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +0 -5
  131. package/src/Utilities/Constants/DocumentationLinkConstants.js +0 -1
  132. package/src/Utilities/Constants/GeneralConstants.js +0 -10
  133. package/src/Utilities/Constants/ObjectDefaultConstants.js +0 -3
  134. package/src/Utilities/Constants/ReduxConstants.js +4 -8
  135. package/src/Utilities/Emitter.js +0 -9
  136. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +0 -8
  137. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +0 -15
  138. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +0 -3
  139. package/src/Utilities/ExpressionFunctions/deepMap.js +0 -16
  140. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +0 -9
  141. package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -9
  142. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +7 -78
  143. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +0 -9
  144. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -16
  145. package/src/Utilities/Extensions/ArrayExtensions.js +1 -63
  146. package/src/Utilities/Extensions/NumberExtensions.js +0 -27
  147. package/src/Utilities/Extensions/ObjectExtensions.js +0 -36
  148. package/src/Utilities/Extensions/StringExtensions.js +0 -27
  149. package/src/Utilities/Helpers/ActionColumnHelper.js +0 -4
  150. package/src/Utilities/Helpers/AdaptableHelper.js +0 -8
  151. package/src/Utilities/Helpers/DateHelper.js +0 -10
  152. package/src/Utilities/Helpers/DisplayFormatHelper.js +0 -8
  153. package/src/Utilities/Helpers/Helper.js +3 -9
  154. package/src/Utilities/Helpers/PlusMinusHelper.js +0 -20
  155. package/src/Utilities/Helpers/QuickSearchHelper.js +0 -5
  156. package/src/Utilities/Helpers/Scheduling/CronExpression.js +0 -43
  157. package/src/Utilities/Helpers/Scheduling/ScheduledReportHelper.js +0 -4
  158. package/src/Utilities/Helpers/SettingsPanelHelper.js +40 -4
  159. package/src/Utilities/Helpers/StyleHelper.js +0 -56
  160. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +0 -46
  161. package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +0 -38
  162. package/src/Utilities/Helpers/StyledColumns/IconStyleHelper.js +0 -39
  163. package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +0 -1
  164. package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +0 -5
  165. package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +0 -37
  166. package/src/Utilities/Helpers/TimingHelper.js +0 -13
  167. package/src/Utilities/ObjectFactory.js +2 -4
  168. package/src/Utilities/Services/AggregatedScalarLiveValue.js +0 -7
  169. package/src/Utilities/Services/AlertService.js +0 -1
  170. package/src/Utilities/Services/AnnotationsService.js +0 -22
  171. package/src/Utilities/Services/CalculatedColumnExpressionService.js +0 -8
  172. package/src/Utilities/Services/ChartingService.js +0 -9
  173. package/src/Utilities/Services/DataService.js +0 -11
  174. package/src/Utilities/Services/Fdc3Service.js +0 -3
  175. package/src/Utilities/Services/FlashingCellService.js +0 -6
  176. package/src/Utilities/Services/ModuleService.js +0 -8
  177. package/src/Utilities/Services/QueryLanguageService.js +2 -25
  178. package/src/Utilities/Services/RowFormService.js +0 -1
  179. package/src/Utilities/Services/RowSummaryService.js +1 -20
  180. package/src/Utilities/Services/TeamSharingService.js +0 -15
  181. package/src/Utilities/Services/ThemeService.js +0 -7
  182. package/src/Utilities/Services/ValidationService.js +0 -21
  183. package/src/Utilities/createAgStatusPanelComponent.js +0 -3
  184. package/src/Utilities/getExpressionViewItems.js +0 -2
  185. package/src/Utilities/getObjectTagsViewItems.js +0 -1
  186. package/src/Utilities/getScrollbarSize.js +0 -1
  187. package/src/Utilities/logDeprecation.js +0 -3
  188. package/src/Utilities/resolveContainerElement.js +0 -21
  189. package/src/Utilities/runIfNotResolvedIn.js +0 -7
  190. package/src/Utilities/sortColumnStateForVisibleColumns.js +2 -12
  191. package/src/Utilities/waitForTimeout.js +0 -1
  192. package/src/Utilities/wizardSelection.js +0 -2
  193. package/src/View/AdaptablePopover/index.js +1 -1
  194. package/src/View/AdaptableView.js +1 -5
  195. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -4
  196. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -23
  197. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -2
  198. package/src/View/AdaptableWizardView/Wizard.js +0 -12
  199. package/src/View/AdaptableWizardView/helper.js +0 -11
  200. package/src/View/Alert/ActiveAlertsPanel.js +0 -2
  201. package/src/View/Alert/AlertStatusSubPanel.js +0 -8
  202. package/src/View/Alert/Utilities/getAlertType.js +0 -7
  203. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +0 -5
  204. package/src/View/Alert/Utilities/mapAlertDefinition.js +0 -3
  205. package/src/View/Alert/Wizard/AlertWizard.js +0 -2
  206. package/src/View/Alert/Wizard/isValidAlertRules.js +0 -1
  207. package/src/View/BulkUpdate/BulkUpdatePopup.js +0 -1
  208. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -3
  209. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +0 -1
  210. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  211. package/src/View/CellSummary/CellSummaryPopup.js +0 -3
  212. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -7
  213. package/src/View/Charting/EditChartButton.js +1 -4
  214. package/src/View/Charting/ShowChartButton.js +0 -3
  215. package/src/View/Charting/useAgChartState.js +0 -5
  216. package/src/View/Charting/useChartingElements.js +0 -4
  217. package/src/View/Charting/useExternalChartState.js +0 -6
  218. package/src/View/ColumnInfo/ColumnInfo.js +7 -17
  219. package/src/View/Comments/CommentsEditor.js +1 -16
  220. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +0 -1
  221. package/src/View/Components/AdaptableButton/AdaptableButtonView.js +0 -3
  222. package/src/View/Components/AdaptableDateInput/index.js +2 -9
  223. package/src/View/Components/AdaptableIconComponent/index.js +0 -4
  224. package/src/View/Components/AdaptableIconSelector/index.js +0 -3
  225. package/src/View/Components/AdaptableInput/index.js +0 -2
  226. package/src/View/Components/Badge/index.js +0 -8
  227. package/src/View/Components/Buttons/ButtonNewPage.js +1 -2
  228. package/src/View/Components/Buttons/EntityListActionButtons.js +0 -1
  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/ColumnFilterMenu.js +0 -1
  238. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -6
  239. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +0 -20
  240. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +0 -5
  241. package/src/View/Components/ColumnFilter/utils.js +2 -9
  242. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +0 -2
  243. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +0 -1
  244. package/src/View/Components/EntityRulesEditor/index.js +1 -11
  245. package/src/View/Components/ExternalRenderer.js +1 -3
  246. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -52
  247. package/src/View/Components/ModuleValueSelector/index.js +0 -2
  248. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  249. package/src/View/Components/Panels/PanelWithRow.js +0 -3
  250. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +0 -6
  251. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +0 -3
  252. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +0 -6
  253. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -2
  254. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +0 -1
  255. package/src/View/Components/Popups/AdaptablePopupAlert.js +0 -3
  256. package/src/View/Components/Popups/AdaptableToaster.js +0 -2
  257. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +0 -8
  258. package/src/View/Components/RangesComponent.js +0 -57
  259. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +0 -3
  260. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -6
  261. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -18
  262. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +0 -4
  263. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -4
  264. package/src/View/Components/ValueSelector/index.js +0 -4
  265. package/src/View/Components/wizardColumnListStyles.js +0 -5
  266. package/src/View/Dashboard/CustomToolbar.js +1 -25
  267. package/src/View/Dashboard/PinnedToolbarsSelector.js +0 -1
  268. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -22
  269. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +0 -1
  270. package/src/View/DataImport/systemFileHandlers.js +1 -1
  271. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +0 -1
  272. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -27
  273. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +0 -1
  274. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -7
  275. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -12
  276. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +0 -10
  277. package/src/View/GridFilter/GridFilterPopup.js +0 -1
  278. package/src/View/GridFilter/useGridFilterExpressionEditor.js +0 -2
  279. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -31
  280. package/src/View/Layout/LayoutViewPanel.js +0 -2
  281. package/src/View/Layout/PivotDetailsPopoup.js +0 -2
  282. package/src/View/Layout/TransposedPopup.js +0 -7
  283. package/src/View/Layout/Wizard/LayoutWizard.js +1 -6
  284. package/src/View/Layout/Wizard/sections/AggregationsSection.js +0 -2
  285. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -32
  286. package/src/View/Layout/Wizard/sections/RowSummarySection.js +0 -3
  287. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +0 -2
  288. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +0 -4
  289. package/src/View/Note/NotePopup.js +0 -1
  290. package/src/View/QuickSearch/QuickSearchPopup.js +0 -1
  291. package/src/View/StatusBar/AdaptableStatusBar.js +0 -4
  292. package/src/View/StatusBar/StatusBarPanel.js +0 -8
  293. package/src/View/StatusBar/StatusBarPopup.js +0 -2
  294. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +0 -11
  295. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +0 -28
  296. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +0 -13
  297. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -25
  298. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +0 -26
  299. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +0 -3
  300. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +0 -40
  301. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +0 -55
  302. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +0 -15
  303. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +0 -21
  304. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +0 -10
  305. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +0 -5
  306. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +0 -4
  307. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +0 -5
  308. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +0 -3
  309. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +0 -13
  310. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +0 -1
  311. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +0 -1
  312. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +0 -1
  313. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +0 -13
  314. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -13
  315. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -21
  316. package/src/View/SystemStatus/SystemStatusPopup.js +0 -1
  317. package/src/View/TeamSharing/SharedEntityObjectView.js +0 -1
  318. package/src/View/Theme/ThemeSelector.js +0 -1
  319. package/src/View/UIHelper.js +0 -6
  320. package/src/View/UIInterfaces.js +0 -1
  321. package/src/View/Wizard/CollapsibleWizardCard.js +1 -8
  322. package/src/View/Wizard/OnePageWizards.js +2 -9
  323. package/src/View/Wizard/SummaryColorTag.js +0 -1
  324. package/src/View/Wizard/useKeyboardNavigation.js +1 -3
  325. package/src/agGrid/Adaptable.js +0 -12
  326. package/src/agGrid/AdaptableAgGrid.d.ts +0 -2
  327. package/src/agGrid/AdaptableAgGrid.js +3 -482
  328. package/src/agGrid/AdaptableFilterHandler.js +0 -5
  329. package/src/agGrid/AdaptableLogger.js +0 -6
  330. package/src/agGrid/AgGridAdapter.js +3 -90
  331. package/src/agGrid/AgGridColumnAdapter.js +6 -168
  332. package/src/agGrid/AgGridExportAdapter.js +4 -106
  333. package/src/agGrid/AgGridFilterAdapter.js +0 -5
  334. package/src/agGrid/AgGridFloatingFilterAdapter.js +0 -10
  335. package/src/agGrid/AgGridMenuAdapter.js +0 -143
  336. package/src/agGrid/AgGridModulesAdapter.js +0 -2
  337. package/src/agGrid/AgGridOptionsService.js +0 -2
  338. package/src/agGrid/AgGridThemeAdapter.js +0 -7
  339. package/src/agGrid/agGridDataTypeDefinitions.js +0 -8
  340. package/src/agGrid/cellRenderers/BadgeRenderer.js +0 -10
  341. package/src/agGrid/cellRenderers/BulletChartRenderer.js +1 -96
  342. package/src/agGrid/cellRenderers/IconRenderer.js +0 -55
  343. package/src/agGrid/cellRenderers/PercentBarRenderer.js +0 -51
  344. package/src/agGrid/cellRenderers/RangeBarRenderer.js +1 -50
  345. package/src/agGrid/cellRenderers/RatingRenderer.js +0 -40
  346. package/src/agGrid/editors/AdaptableDateEditor/index.js +0 -18
  347. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +0 -3
  348. package/src/agGrid/editors/AdaptableNumberEditor/index.js +0 -11
  349. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +0 -9
  350. package/src/agGrid/index.js +1 -9
  351. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
  352. package/src/components/ColorPicker/ColorPicker.js +0 -6
  353. package/src/components/Combobox/VirtualizedList.js +0 -5
  354. package/src/components/Combobox/index.js +5 -63
  355. package/src/components/Dashboard/Dashboard.js +1 -4
  356. package/src/components/Datepicker/index.js +2 -97
  357. package/src/components/DragAndDropContext/TabList.js +2 -6
  358. package/src/components/Drawer/index.js +0 -7
  359. package/src/components/Dropdown/index.js +0 -1
  360. package/src/components/DropdownButton/index.js +0 -1
  361. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -16
  362. package/src/components/ExpressionEditor/EditorButton.js +0 -1
  363. package/src/components/ExpressionEditor/EditorInput.js +1 -7
  364. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +0 -1
  365. package/src/components/ExpressionEditor/ExpressionPreview.js +4 -14
  366. package/src/components/ExpressionEditor/NamedQueryContext.js +0 -1
  367. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -6
  368. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +0 -12
  369. package/src/components/ExpressionEditor/QueryBuilder/utils.js +0 -4
  370. package/src/components/ExpressionEditor/index.js +5 -14
  371. package/src/components/Icon/index.js +0 -2
  372. package/src/components/Input/NumberInput.js +0 -10
  373. package/src/components/Modal/Backdrop.js +0 -1
  374. package/src/components/OverlayTrigger/Overlay.js +0 -1
  375. package/src/components/OverlayTrigger/index.js +3 -15
  376. package/src/components/ProgressIndicator/ProgressIndicator.js +3 -16
  377. package/src/components/ResizeObserver/index.js +0 -7
  378. package/src/components/SelectableList/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/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
  433. package/src/Utilities/Services/Interface/IMetamodelService.js +0 -1
  434. package/src/Utilities/Services/MetamodelService.d.ts +0 -17
  435. package/src/Utilities/Services/MetamodelService.js +0 -162
  436. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
  437. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -99
  438. package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
  439. package/src/metamodel/adaptable-metamodel-model.js +0 -1
  440. package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
  441. package/src/metamodel/adaptable.metamodel.js +0 -1
@@ -1,11 +1,8 @@
1
1
  import React from 'react';
2
2
  import { useAdaptable } from '../AdaptableContext';
3
- // need to trigger other show-chart buttons to close/hide
4
3
  const buttonChangeSubscribers = [];
5
4
  export const useExternalChartState = (chartDefinition) => {
6
5
  const adaptable = useAdaptable();
7
- // needs to update when ever a chart is:
8
- // - opened, hidden
9
6
  const [isOpen, setIsOpen] = React.useState(() => {
10
7
  return (chartDefinition &&
11
8
  adaptable.api.chartingApi.internalApi.isExternalChartOpened(chartDefinition));
@@ -23,7 +20,6 @@ export const useExternalChartState = (chartDefinition) => {
23
20
  updateIsOpen();
24
21
  };
25
22
  buttonChangeSubscribers.push(subscriber);
26
- // clear own subscriptions
27
23
  return () => {
28
24
  const index = buttonChangeSubscribers.indexOf(subscriber);
29
25
  if (index > -1) {
@@ -34,14 +30,12 @@ export const useExternalChartState = (chartDefinition) => {
34
30
  return {
35
31
  showChart: (container) => {
36
32
  adaptable.api.chartingApi.internalApi.onShowExternalChart(chartDefinition, container);
37
- // The small delay allows the library to render the chart before the button is updated
38
33
  requestAnimationFrame(() => {
39
34
  buttonChangeSubscribers.forEach((subscriber) => subscriber());
40
35
  });
41
36
  },
42
37
  hideChart: () => {
43
38
  adaptable.api.chartingApi.internalApi.onHideExternalChart(chartDefinition);
44
- // The small delay allows the library to destroy the chart before the button is updated
45
39
  requestAnimationFrame(() => {
46
40
  buttonChangeSubscribers.forEach((subscriber) => subscriber());
47
41
  });
@@ -15,19 +15,15 @@ const BASE_CLASS_NAME = 'ab-AdaptableColumns';
15
15
  const domProps = {
16
16
  className: 'twa:flex-1 twa:min-h-0 twa:w-full',
17
17
  };
18
- // TODOS:
19
- // - use column from props as initial value
20
- // - table summary
21
- // - access level for edit/new buttons
22
18
  const MODULES_WITH_COLUMN = [
23
- 'Alert', // Scope
24
- 'CalculatedColumn', // ColumnId
25
- 'CustomSort', // ColumnId
26
- 'FormatColumn', // Scope
19
+ 'Alert',
20
+ 'CalculatedColumn',
21
+ 'CustomSort',
22
+ 'FormatColumn',
27
23
  'FlashingCell',
28
- 'PlusMinus', // Scope
29
- 'Shortcut', // Scope
30
- 'StyledColumn', // Scope
24
+ 'PlusMinus',
25
+ 'Shortcut',
26
+ 'StyledColumn',
31
27
  ];
32
28
  const MODULES_WITH_SCOPE = [
33
29
  'Alert',
@@ -36,7 +32,6 @@ const MODULES_WITH_SCOPE = [
36
32
  'Shortcut',
37
33
  'StyledColumn',
38
34
  ];
39
- /** Column Info summary only — shows the resolved default width when layout has no explicit sizing. */
40
35
  const formatColumnInfoSummaryWidth = (columnId, sizing, resolveDefaultWidth) => {
41
36
  const explicit = formatColumnInspectorSizing(columnId, sizing, resolveDefaultWidth);
42
37
  if (explicit !== 'Default') {
@@ -193,13 +188,9 @@ const ModuleView = (props) => {
193
188
  const EditWizard = module?.getViewProperties?.()?.getEditWizard?.();
194
189
  const column = adaptable.api.columnApi.getColumnWithColumnId(props.selectedColumnId);
195
190
  const allItems = module?.toViewAll?.();
196
- // Dont show calculated column for non calc cols
197
191
  if (module.moduleInfo.ModuleName == 'CalculatedColumn' && !column.isCalculatedColumn) {
198
192
  return _jsx(_Fragment, {});
199
193
  }
200
- // if (MODULES_WITH_VIEW_ONLY.includes(props.moduleName) && !allItems?.length) {
201
- // return <></>;
202
- // }
203
194
  const itemsInScope = allItems.filter((item) => {
204
195
  if ('Scope' in item.abObject) {
205
196
  return adaptable.api.columnScopeApi.isColumnInScope(column, item.abObject.Scope);
@@ -215,7 +206,6 @@ const ModuleView = (props) => {
215
206
  const handleWizardClose = React.useCallback(() => {
216
207
  setIsWizardOpen(false);
217
208
  }, []);
218
- // filter out items with scope
219
209
  return (_jsxs(Box, { "data-name": module.moduleInfo.ModuleName, className: `${BASE_CLASS_NAME}__module-list twa:mb-4`, children: [_jsxs(Flex, { children: [_jsx("b", { className: `${BASE_CLASS_NAME}__header`, children: module.moduleInfo.FriendlyName }), _jsx(Box, { className: "twa:flex-1" }), _jsx(ButtonNew, { onClick: () => setIsWizardOpen(true), children: "New" })] }), itemsInScope?.length ? _jsx(AdaptableObjectList, { items: itemsInScope, module: module }) : null, isWizardOpen && EditWizard && (_jsx(EditWizard, { popupParams: {
220
210
  column,
221
211
  action: 'New',
@@ -11,14 +11,6 @@ import AdaptableInput from '../Components/AdaptableInput';
11
11
  import FormatHelper from '../../Utilities/Helpers/DisplayFormatHelper';
12
12
  import { Box, Flex } from '../../components/Flex';
13
13
  import { ACCESS_LEVEL_READ_ONLY } from '../../Utilities/Constants/GeneralConstants';
14
- // Edit Mode
15
- // [author] [edit, delete]
16
- // [text-editor] * this is different
17
- // [show-all-comments-button]
18
- // View Mode
19
- // [author] [edit, delete]
20
- // [text]
21
- // [show-all-comments-button]
22
14
  export const CommentsEditor = (props) => {
23
15
  const { api } = useAdaptable();
24
16
  const showCloseButton = api.optionsApi.getCommentOptions()?.showPopupCloseButton ?? true;
@@ -29,13 +21,6 @@ export const CommentsEditor = (props) => {
29
21
  const commentThread = useSelector((state) => CommentsRedux.GetCellCommentSelector(state.Comment, cellAddress));
30
22
  const isReadOnlyModule = api.entitlementApi.getEntitlementAccessLevelForModule('Comment') === ACCESS_LEVEL_READ_ONLY;
31
23
  const [activeEditingComment, setActiveEditingComment] = React.useState(() => {
32
- /**
33
- * When opening the popup and there is only one comment, we want to open it in edit mode.
34
- * This happens usualy when a new comment is added via cell menu.
35
- */
36
- // if (cellComments?.Comments?.length === 1 && cellComments?.Comments[0].Value === '') {
37
- // return cellComments?.Comments[0].Uuid;
38
- // }
39
24
  return null;
40
25
  });
41
26
  const [newCommentText, setNewCommentText] = React.useState('');
@@ -68,7 +53,7 @@ export const CommentsEditor = (props) => {
68
53
  }
69
54
  const isOwnComment = comment?.Author?.UserName
70
55
  ? comment?.Author?.UserName === userId
71
- : true; // no owner means it's the current user
56
+ : true;
72
57
  return (_jsxs(Box, { className: "ab-Comment twa:p-2", children: [_jsxs(Flex, { alignItems: "center", className: "twa:mb-2", children: [_jsxs(Box, { children: [_jsx(Box, { "data-name": "comment-username", className: "twa:text-3 twa:font-bold", children: comment?.Author?.UserName }), comment.Timestamp && (_jsx(Box, { "data-name": "comment-timestamp", className: "twa:text-2", children: formatDate(comment.Timestamp, api.commentApi.internalApi.getCommentsDateFormat()) }))] }), _jsx(Box, { className: "twa:flex-1" }), _jsx(SimpleButton, { variant: "text", icon: "edit", disabled: !isOwnComment || isReadOnlyModule, onClick: () => setActiveEditingComment(comment.Uuid) }), _jsx(SimpleButton, { variant: "text", icon: "delete", disabled: !isOwnComment || isReadOnlyModule, onClick: () => {
73
58
  api.commentApi.deleteComment(comment, cellAddress);
74
59
  requestAnimationFrame(() => {
@@ -2,7 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isAdaptableSystemIcon } from '../../../components/Icon';
3
3
  import SimpleButton from '../../../components/SimpleButton';
4
4
  import { useAdaptable } from '../../AdaptableContext';
5
- /** Renders {@link SimpleButton} with Adaptable custom/system icon preparation. */
6
5
  export const AdaptableButtonComponent = (props) => {
7
6
  let icon = props.icon;
8
7
  const adaptable = useAdaptable();
@@ -2,9 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { ACCESS_LEVEL_FULL, ACCESS_LEVEL_READ_ONLY, } from '../../../Utilities/Constants/GeneralConstants';
4
4
  import { AdaptableButtonComponent } from './AdaptableButtonComponent';
5
- /**
6
- * Default variant/tone when `buttonStyle` omits them — differs by surface by design.
7
- */
8
5
  export const ADAPTABLE_BUTTON_SURFACE_DEFAULTS = {
9
6
  dashboard: { variant: 'text', tone: 'none' },
10
7
  customToolbar: { variant: 'outlined', tone: 'neutral' },
@@ -8,23 +8,16 @@ const AdaptableDateInput = React.forwardRef(function AdaptableDateInputCmp(props
8
8
  const dateInputOptions = useAdaptable().adaptableOptions.userInterfaceOptions.dateInputOptions;
9
9
  const { value: _, defaultValue: __, onChange, required, disabled, showClearButton, ...inputProps } = props;
10
10
  const [value, setValue] = useProperty(props, 'value', undefined, {
11
- onChange: (dateString) =>
12
- // wrap date value in ChangeEvent in order to keep the external API unchanged
13
- props.onChange?.({
11
+ onChange: (dateString) => props.onChange?.({
14
12
  target: {
15
- // ALWAYS trigger onChange with the ISO format
16
13
  value: dateString,
17
14
  },
18
15
  }),
19
16
  });
20
17
  const dateValue = value ? parseDateValue(value) : null;
21
18
  const datepickerProps = {
22
- // this is OK as long as we do not support range datepicker
23
19
  value: dateValue,
24
- onChange: (dateValue) =>
25
- // convert to ISO8601 string format
26
- // see https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#date_strings
27
- setValue(dateToISO(dateValue) ?? ''),
20
+ onChange: (dateValue) => setValue(dateToISO(dateValue) ?? ''),
28
21
  required,
29
22
  disabled,
30
23
  dateProps: {
@@ -1,10 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { IconComponent } from '../../../components/Icon';
3
3
  import { useCustomIcon } from './useCustomIcon';
4
- /**
5
- * This is a connected componnet.
6
- * It needs to be used only inside adaptable context.
7
- */
8
4
  export const AdaptableIconComponent = (props) => {
9
5
  const icon = useCustomIcon(props.icon);
10
6
  return _jsx(IconComponent, { ...props, icon: icon });
@@ -1,9 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { IconSelector } from '../../../components/IconSelector';
3
3
  import { useAdaptable } from '../../AdaptableContext';
4
- /**
5
- * This component connects to adaptable to retrieve custom icons
6
- */
7
4
  export const AdaptableIconSelector = (props) => {
8
5
  const adaptable = useAdaptable();
9
6
  const customIcons = adaptable.api.userInterfaceApi.getCustomIcons();
@@ -7,11 +7,9 @@ const AdaptableInput = React.forwardRef((props, ref) => {
7
7
  const useNativeInputDate = useAdaptable().adaptableOptions.userInterfaceOptions?.dateInputOptions?.useNativeInput;
8
8
  const { showClearButton, ...inputProps } = props;
9
9
  if (props.type === 'date' && !useNativeInputDate) {
10
- // use AdapTable date input
11
10
  return (_jsx(AdaptableDateInput, { showClearButton: showClearButton, ...inputProps, ref: ref }));
12
11
  }
13
12
  else {
14
- // native input
15
13
  return _jsx(Input, { ...inputProps, ref: ref });
16
14
  }
17
15
  });
@@ -10,13 +10,6 @@ const DENSITY_CLASS = {
10
10
  Normal: 'ab-Badge--normal',
11
11
  Comfortable: 'ab-Badge--comfortable',
12
12
  };
13
- /**
14
- * Maps a {@link BadgePillStyle} to React/CSS properties for the pill.
15
- *
16
- * Intentionally does **not** read corner radius (owned by `Shape`), text
17
- * alignment (owned by `BadgeStyle.Font.Alignment` at the cell level),
18
- * `ClassName`, or `FontSize` — none make sense on a pill.
19
- */
20
13
  const pillStyleToCss = (pill) => {
21
14
  const result = {};
22
15
  if (!pill)
@@ -46,7 +39,6 @@ const pillStyleToCss = (pill) => {
46
39
  }
47
40
  if (pill.BorderColor) {
48
41
  result.borderColor = pill.BorderColor;
49
- // Subtler 1px outline; pills are usually only ~20px tall.
50
42
  result.borderWidth = 1;
51
43
  result.borderStyle = 'solid';
52
44
  }
@@ -3,7 +3,6 @@ import * as React from 'react';
3
3
  import SimpleButton from '../../../components/SimpleButton';
4
4
  export class ButtonNewPage extends React.Component {
5
5
  render() {
6
- return (_jsx(SimpleButton, { "data-name": "new-page", tooltip: "New Page", iconSize: 20, icon: "newpage" // arrow-up
7
- , variant: "text", ...this.props }));
6
+ return (_jsx(SimpleButton, { "data-name": "new-page", tooltip: "New Page", iconSize: 20, icon: "newpage", variant: "text", ...this.props }));
8
7
  }
9
8
  }
@@ -13,7 +13,6 @@ const stopPropagation = (e) => {
13
13
  };
14
14
  export class EntityListActionButtons extends React.Component {
15
15
  static defaultProps = {
16
- // Adaptable: null,
17
16
  suspendableObject: null,
18
17
  showEdit: true,
19
18
  showDelete: true,
@@ -14,7 +14,7 @@ const ensurePortalElement = (className) => {
14
14
  }
15
15
  portalElement = document.createElement('div');
16
16
  portalElement.style.position = 'absolute';
17
- portalElement.style.zIndex = '4'; // under the context menu
17
+ portalElement.style.zIndex = '4';
18
18
  portalElement.style.top = '0px';
19
19
  portalElement.style.left = '0px';
20
20
  if (className) {
@@ -39,7 +39,6 @@ export const CellPopup = React.forwardRef((props, ref) => {
39
39
  const showOverlayOptions = {
40
40
  id: OVERLAY_ID,
41
41
  alignPosition: [
42
- // overlay - target
43
42
  ['TopLeft', 'TopRight'],
44
43
  ['TopRight', 'TopLeft'],
45
44
  ['TopCenter', 'BottomCenter'],
@@ -9,10 +9,6 @@ export const ColumnFilterLocationProvider = ColumnFilterLocationContext.Provider
9
9
  export const useColumnFilterLocation = () => {
10
10
  return React.useContext(ColumnFilterLocationContext) ?? 'columnMenu';
11
11
  };
12
- /**
13
- * This wrapper knows about predicates.
14
- * It transforms predicates in QlPredicates.
15
- */
16
12
  export const AdaptableColumnFilter = (props) => {
17
13
  const { qlPredicate, qlPredicateDefs, columnFilter, handlePredicateChange } = useAdaptableFilterWrapper(props.columnId, 'FilterForm');
18
14
  const filterContent = (_jsx(ColumnFilterLocationProvider, { value: props.location, children: _jsx(ColumnFilterComponent, { location: props.location, wrapperProps: props.wrapperProps, columnId: props.columnId, predicate: qlPredicate, predicateDefs: qlPredicateDefs, disabled: columnFilter?.IsSuspended, onPredicateChange: React.useCallback((predicate) => {
@@ -3,10 +3,6 @@ import * as React from 'react';
3
3
  import { useAdaptable } from '../../AdaptableContext';
4
4
  import { FloatingFilter } from './FloatingFilter';
5
5
  import { useAdaptableFilterWrapper } from './useAdaptableFilterWrapper';
6
- /**
7
- * This wrapper knows about predicates.
8
- * It transforms predicates in QlPredicates.
9
- */
10
6
  export const AdaptableFloatingFilter = (props) => {
11
7
  const adaptable = useAdaptable();
12
8
  const { qlPredicate, qlPredicateDefs, columnFilter, column, handlePredicateChange, handleOnChange, handleClear, } = useAdaptableFilterWrapper(props.Column.columnId, 'FilterBar');
@@ -23,46 +23,19 @@ const ColumnFilterPredicateDropdown = (props) => {
23
23
  const operator = props.predicate?.operator;
24
24
  const isAndOr = operator === 'AND' || operator === 'OR';
25
25
  return (_jsx(Box, { className: "twa:flex twa:items-center ab-ColumnFilterPredicateDropdown twa:p-0.5", style: {
26
- //@ts-ignore ignore
27
26
  '--ab-color-input-background': 'var(--ab-color-primary)',
28
- }, children: _jsx(SingleSelect, { "data-name": "filter-predicate-dropdown", extraWidthChars: 8,
29
- // The trigger lives inside ag-grid's column menu, which closes itself
30
- // on mousedowns outside its DOM subtree. Since the popup is portaled
31
- // to `document.body`, mousedowns inside it would otherwise bubble to
32
- // `document` and unmount the trigger mid-interaction (causing the
33
- // popup to re-align to (0,0) before disappearing).
34
- stopMouseDownPropagation: true, showItemTooltip: true, className: predicateDef ? `twa:min-w-[10rem]` : null, onValueChange: (value) => {
27
+ }, children: _jsx(SingleSelect, { "data-name": "filter-predicate-dropdown", extraWidthChars: 8, stopMouseDownPropagation: true, showItemTooltip: true, className: predicateDef ? `twa:min-w-[10rem]` : null, onValueChange: (value) => {
35
28
  props.onPredicateChange({
36
29
  operator: value,
37
30
  args: [],
38
31
  });
39
- }, items: options,
40
- // For the "Add Condition" picker the current predicate is the top-level
41
- // AND/OR predicate, which is not a selectable item. Use `null` (a proper
42
- // controlled empty value) plus a placeholder rather than a fake string
43
- // value: passing a non-item value makes base-ui's Select reconcile and
44
- // fire a spurious `onValueChange` when the items change (e.g. switching
45
- // the filter to another column), which previously crashed.
46
- placeholder: "Add Condition", value: isAndOr ? null : props.predicate?.operator }) }));
32
+ }, items: options, placeholder: "Add Condition", value: isAndOr ? null : props.predicate?.operator }) }));
47
33
  };
48
34
  const ColumnFilterEditor = (props) => {
49
35
  return (_jsxs(Box, { className: "twa:mb-3 twa:overflow-x-hidden twa:p-0.5", children: [_jsxs(Flex, { className: "twa:mb-2", children: [_jsx(ColumnFilterPredicateDropdown, { columnId: props.columnId, disabled: props.disabled, predicate: props.predicate, predicateDefs: props.predicateDefs, onPredicateChange: props.onPredicateChange }), _jsx(Flex, { alignItems: "center", className: "twa:ml-2", children: _jsx(SimpleButton, { disabled: props.deleteDisabled, onClick: props.onDelete, variant: "text", icon: "delete" }) })] }), _jsx(ColumnFilterInputList, { columnId: props.columnId, disabled: props.disabled, predicate: props.predicate, onPredicateChange: props.onPredicateChange, predicateDefs: props.predicateDefs })] }));
50
36
  };
51
37
  const AndOrInput = (props) => {
52
- return (
53
- // <Select
54
- // value={props.operator}
55
- // onChange={props.onChange}
56
- // options={[
57
- // { label: 'AND', value: 'AND' },
58
- // { label: 'OR', value: 'OR' },
59
- // ]}
60
- // />
61
- (_jsxs(
62
- Flex,
63
- { className: "twa:flex-1", children: [_jsx(Radio, { className: "twa:mr-2", onClick: () => props.onChange('AND'), checked: props.operator === 'AND', children: "AND" }), _jsx(Radio, { className: "twa:mr-2", onClick: () => props.onChange('OR'), checked: props.operator === 'OR', children: "OR" })] }
64
- ))
65
- );
38
+ return (_jsxs(Flex, { className: "twa:flex-1", children: [_jsx(Radio, { className: "twa:mr-2", onClick: () => props.onChange('AND'), checked: props.operator === 'AND', children: "AND" }), _jsx(Radio, { className: "twa:mr-2", onClick: () => props.onChange('OR'), checked: props.operator === 'OR', children: "OR" })] }));
66
39
  };
67
40
  export const ColumnFilterComponent = (props) => {
68
41
  const adaptable = useAdaptable();
@@ -72,13 +45,9 @@ export const ColumnFilterComponent = (props) => {
72
45
  React.useEffect(() => {
73
46
  if (props.location !== 'columnMenu')
74
47
  return;
75
- // when the location is columnMenu, and this is not displayed
76
- // inside the ColumnFilterWindow, we want to focus on the first dropdown
77
48
  const dropdown = contentWrapperRef.current?.querySelector('[data-name="filter-predicate-dropdown"]');
78
49
  dropdown?.focus();
79
50
  }, [props.location]);
80
- // When rendered inside ag-grid's column menu, Tabbing would otherwise escape
81
- // to the surrounding menu/grid. Trap focus so Tab / Shift+Tab cycle within the filter.
82
51
  const handleFocusTrap = React.useCallback((e) => {
83
52
  if (props.location !== 'columnMenu') {
84
53
  return;
@@ -91,8 +60,6 @@ export const ColumnFilterComponent = (props) => {
91
60
  setPredicateNotYetApplied(undefined);
92
61
  };
93
62
  const onPredicateChange = (predicate) => {
94
- // even if manuallyApplyColumnFilter is false, when we explicitly clear the filter
95
- // we want to apply the filter immediately
96
63
  if (!manuallyApplyColumnFilter || !predicate) {
97
64
  props.onPredicateChange(predicate);
98
65
  }
@@ -108,7 +75,6 @@ export const ColumnFilterComponent = (props) => {
108
75
  const currentPredicate = currentPredicateRef.current;
109
76
  const newPredicate = {
110
77
  ...currentPredicate,
111
- // @ts-ignore
112
78
  args: [...currentPredicate.args, { operator: predicateDef.operator, args: [] }],
113
79
  };
114
80
  onPredicateChange(newPredicate);
@@ -125,15 +91,10 @@ export const ColumnFilterComponent = (props) => {
125
91
  ? props.predicate
126
92
  : predicateNotYetApplied ?? props.predicate;
127
93
  const currentPredicateRef = React.useRef(currentPredicate);
128
- //#ref-predicate
129
94
  currentPredicateRef.current = currentPredicate;
130
- // Not sure how to check this but would be nice...
131
95
  const isLastPredicateValid = true;
132
96
  const filterPredicateDropdown = (_jsx(ColumnFilterPredicateDropdown, { columnId: props.columnId, disabled: props.disabled, predicate: currentPredicate, predicateDefs: props.predicateDefs, onPredicateChange: (predicate) => {
133
97
  const predicateDef = props.predicateDefs.find((predicateDef) => predicateDef.operator === predicate.operator);
134
- // Guard against the select emitting a value that is not a known
135
- // predicate for the current column (e.g. a stale/reconciled value while
136
- // switching columns).
137
98
  if (!predicateDef) {
138
99
  return;
139
100
  }
@@ -169,10 +130,6 @@ export const ColumnFilterComponent = (props) => {
169
130
  args: newArgs,
170
131
  });
171
132
  }, columnId: props.columnId, disabled: props.disabled, predicate: predicate, predicateDefs: props.predicateDefs, onPredicateChange: (predicate) => {
172
- // #ref-predicate - for whatever reason
173
- // the `currentPredicate` here would be one from an old render
174
- // if we weren't using a ref. we're not using memo/usecallback here,
175
- // so I don't understand why this is happening
176
133
  const currentPredicate = currentPredicateRef.current;
177
134
  const newArgs = [...currentPredicate.args];
178
135
  newArgs[index] = predicate;
@@ -14,12 +14,10 @@ export const ColumnFilterWindow = (props) => {
14
14
  React.useEffect(() => {
15
15
  setColumnId(initialColumnId);
16
16
  }, [props.popupProps.value]);
17
- // when the window is opened, focus on the column selector
18
17
  React.useEffect(() => {
19
18
  const focusable = columnSelectorWrapperRef.current?.querySelector('[data-name="column-selector"]');
20
19
  focusable?.focus();
21
20
  }, []);
22
- // const onChange = props.popupProps.onChange;
23
21
  return (_jsxs(Flex, { flexDirection: "column", className: "ab-ColumnFilterWindow twa:flex-1 twa:min-h-0 twa:p-2 twa:h-full", children: [_jsx(Box, { className: "twa:mb-2", ref: columnSelectorWrapperRef, children: _jsx(FormLayout, { children: _jsx(FormRow, { label: "Column", children: _jsx(ColumnSelector, { renderOption: (column) => {
24
22
  const columnFilter = api.filterApi.columnFilterApi.getColumnFilterForColumn(column.columnId);
25
23
  const label = column.friendlyName ?? column.columnId;
@@ -12,14 +12,9 @@ import { cn, getFocusableElements } from '../../../lib/utils';
12
12
  import { Maximize2 } from 'lucide-react';
13
13
  export const FloatingFilter = (props) => {
14
14
  const adaptable = useAdaptable();
15
- /**
16
- * We always have a syntetic predicate with AND or OR, so the logic is easyer.
17
- * The wrapper is in charge of constructing the correct column filter.
18
- */
19
15
  const isMultiple = props.predicate?.args?.length > 1;
20
16
  const isManualApply = adaptable.api.filterApi.columnFilterApi.internalApi.shouldManuallyApplyColumnFilter(props.columnId);
21
17
  const isInlineEditable = !isMultiple && !isManualApply;
22
- // only used when there is only one filter selected
23
18
  let singleFilterPredicateDef = null;
24
19
  if (props.predicate.args.length === 1) {
25
20
  singleFilterPredicateDef = props.predicateDefs.find((predicateDef) => predicateDef.operator === props.predicate.args[0].operator);
@@ -50,8 +45,6 @@ export const FloatingFilter = (props) => {
50
45
  const renderTriggerValue = () => (_jsxs(Flex, { alignItems: "center", className: "twa:min-w-0", children: [_jsx(Box, { className: "twa:flex twa:items-center", children: !isManualApply && singleFilterPredicateDef?.icon ? (singleFilterPredicateDef?.icon) : (_jsx(AdaptableIconComponent, { icon: { name: 'filter' } })) }), showLabel && (_jsx(Box, { className: "ab-FloatingFilter-label twa:ml-2 twa:flex-1 twa:truncate", title: label, children: label }))] }));
51
46
  let filterDropdown = null;
52
47
  const filterDropdownSelect = (_jsx(SingleSelect, { chevronIcon: null, "data-name": "floating-filter-button", ariaLabel: `Column Filter Operator Dropdown: current operator is ${label}`, size: "small", stopMouseDownPropagation: true, disabled: props.disabled, open: selectOpen, extraWidthChars: 5, onOpenChange: (nextOpen) => {
53
- // In non-inline mode the select doesn't pick an operator inline; opening it
54
- // instead opens the full column filter popup, so keep the dropdown closed.
55
48
  if (nextOpen && !isInlineEditable) {
56
49
  adaptable.api.filterApi.columnFilterApi.internalApi.openColumnFilterPopup(props.columnId);
57
50
  return;
@@ -72,12 +65,6 @@ export const FloatingFilter = (props) => {
72
65
  const showClearButton = isMultiple ||
73
66
  !isPredicateEmpty(props.predicate.args[0], singleFilterPredicateDef);
74
67
  return (_jsxs(Flex, { className: "ab-FloatingFilter twa:w-full", onKeyDownCapture: (e) => {
75
- // AG Grid's header keyboard navigation intercepts Tab and calls preventDefault(),
76
- // which prevents focus from moving between the controls inside the floating filter
77
- // (operator select, filter input(s), expand/clear buttons). We handle Tab ourselves
78
- // in the capture phase (before AG Grid's handlers) and move focus to the next/previous
79
- // focusable control. At the boundaries we let the event through so AG Grid can move
80
- // to the adjacent header cell.
81
68
  if (e.key !== 'Tab') {
82
69
  return;
83
70
  }
@@ -93,24 +80,18 @@ export const FloatingFilter = (props) => {
93
80
  }
94
81
  const nextIndex = currentIndex + (e.shiftKey ? -1 : 1);
95
82
  if (nextIndex < 0 || nextIndex >= focusable.length) {
96
- // boundary reached: let AG Grid navigate between header cells
97
83
  return;
98
84
  }
99
85
  e.preventDefault();
100
86
  e.nativeEvent.stopImmediatePropagation();
101
87
  focusable[nextIndex]?.focus();
102
- // Focusing the values combobox's input makes it set isFocused=true, which
103
- // re-renders and can momentarily recreate the input, dropping focus to <body>.
104
- // Re-resolve the target after the re-render and restore focus to it.
105
88
  requestAnimationFrame(() => {
106
89
  if (document.activeElement === document.body || document.activeElement === null) {
107
90
  const refreshed = getFocusableElements(wrapper);
108
91
  refreshed[Math.min(nextIndex, refreshed.length - 1)]?.focus();
109
92
  }
110
93
  });
111
- }, children: [filterDropdown, isInlineEditable && (_jsx(Flex, { className: "twa:flex-1 twa:min-w-0", children: _jsx(FloatingFilterInputList, { onKeyDown: props.onKeydown, columnId: props.columnId, disabled: props.disabled,
112
- // It works only with a predicate
113
- predicate: props.predicate.args[0], predicateDefs: props.predicateDefs, onPredicateChange: (predicate) => {
94
+ }, children: [filterDropdown, isInlineEditable && (_jsx(Flex, { className: "twa:flex-1 twa:min-w-0", children: _jsx(FloatingFilterInputList, { onKeyDown: props.onKeydown, columnId: props.columnId, disabled: props.disabled, predicate: props.predicate.args[0], predicateDefs: props.predicateDefs, onPredicateChange: (predicate) => {
114
95
  props.onPredicateChange({
115
96
  operator: props.predicate.operator,
116
97
  args: [predicate],
@@ -21,12 +21,6 @@ export const ColumnFilterInput = (props) => {
21
21
  setHasFocus(false);
22
22
  }, []);
23
23
  React.useEffect(() => {
24
- // only update if the input is not focused
25
- // eg: value coming from a sidebar filter
26
- // should be reflected in the input
27
- // but if the input is focused, it means the user is typing
28
- // so we don't want to update the input value from the outside (from state)
29
- // but we leave liveValue as is in the local component state
30
24
  if (!hasFocus) {
31
25
  setLiveValue(value);
32
26
  }
@@ -37,11 +31,9 @@ export const ColumnFilterInput = (props) => {
37
31
  const showDatePicker = filterOptions.showDatePicker;
38
32
  const onChange = React.useMemo(() => {
39
33
  return debounceOrImmediate((value) => {
40
- //@ts-ignore
41
34
  onChangeProp(value);
42
35
  }, debounceTime);
43
36
  }, [onChangeProp, debounceTime]);
44
- // the onClear needs to have the same debounce time as the onChange
45
37
  const onClear = React.useMemo(() => {
46
38
  return debounceOrImmediate(() => {
47
39
  onClearProp();
@@ -52,9 +44,8 @@ export const ColumnFilterInput = (props) => {
52
44
  ? true
53
45
  : value === 'unchecked'
54
46
  ? false
55
- : // 'all'
47
+ :
56
48
  null, onChange: (checked) => {
57
- // sequence: 'checked' -> 'unchecked' -> 'all' -> 'checked'
58
49
  const newCheckedValue = value === 'unchecked' && checked === true
59
50
  ? 'all'
60
51
  : checked === true
@@ -84,7 +75,6 @@ export const ColumnFilterInput = (props) => {
84
75
  setLiveValue('');
85
76
  }
86
77
  else {
87
- // @ts-ignore
88
78
  onChange(value);
89
79
  setLiveValue(value);
90
80
  }
@@ -96,10 +86,7 @@ export const ColumnFilterInput = (props) => {
96
86
  padding: 'var(--ab-base-space)',
97
87
  border: 'none',
98
88
  }
99
- : {}, "data-name": "floating-filter-input", onFocus: onFocus, onBlur: onBlur, disabled: disabled, type: type === 'number' ? 'text' : type,
100
- // autoFocus has to be FALSE because if the input receives focus in the init phase,
101
- // it may scroll the AG Grid header viewport into view and de-synchronize it (relative to the content viewport)
102
- autoFocus: false, value: liveValue ?? '', onKeyDown: onKeyDown, showClearButton: false, className: 'twa:flex-1', onChange: (e) => {
89
+ : {}, "data-name": "floating-filter-input", onFocus: onFocus, onBlur: onBlur, disabled: disabled, type: type === 'number' ? 'text' : type, autoFocus: false, value: liveValue ?? '', onKeyDown: onKeyDown, showClearButton: false, className: 'twa:flex-1', onChange: (e) => {
103
90
  const prevValue = `${liveValue}`;
104
91
  const value = e.target.value;
105
92
  if (value) {
@@ -120,7 +107,6 @@ export const ColumnFilterInput = (props) => {
120
107
  const newValueEndsWithZero = value.endsWith('0');
121
108
  const separatorCount = (value.match(/[.,]/g) || []).length;
122
109
  if (prevValueHasSeparator && separatorCount > 1) {
123
- // not a valid number
124
110
  return;
125
111
  }
126
112
  if (newValueEndsWithSeparator) {
@@ -29,10 +29,7 @@ export const ColumnFilterInputList = (props) => {
29
29
  operator: props.predicate.operator,
30
30
  args: inputs,
31
31
  });
32
- }, value: props.predicate.args,
33
- // are not known ql operators for now
34
- // should change when porting, it has knoladge about predicates
35
- type: props.predicate.operator === 'In' ? 'In' : 'NotIn' }) }));
32
+ }, value: props.predicate.args, type: props.predicate.operator === 'In' ? 'In' : 'NotIn' }) }));
36
33
  }
37
34
  return (_jsx(_Fragment, { children: (matchingInputs ?? []).map((input, index) => {
38
35
  const value = props?.predicate?.args?.[index];
@@ -26,7 +26,6 @@ export const ColumnFilterMenu = (props) => {
26
26
  }, []);
27
27
  useEffect(() => {
28
28
  const onKeyDown = (e) => {
29
- // Only handle arrow keys and Enter - let other keys (like Tab) pass through
30
29
  if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp' && e.key !== 'Enter') {
31
30
  return;
32
31
  }
@@ -29,18 +29,13 @@ export const FloatingFilterInputList = (props) => {
29
29
  operator: props.predicate.operator,
30
30
  args: inputs,
31
31
  });
32
- }, value: props.predicate.args,
33
- // are not known ql operators for now
34
- // should change when porting, it has knowledge about predicates
35
- type: props.predicate.operator === 'In' ? 'In' : 'NotIn' }));
32
+ }, value: props.predicate.args, type: props.predicate.operator === 'In' ? 'In' : 'NotIn' }));
36
33
  }
37
34
  return (_jsx("div", { className: cn('twa:relative twa:w-full twa:flex twa:flex-row twa:[&>*:not(:first-child)]:border-l! twa:[&>*:not(:first-child)]:border-input-border!', {
38
35
  'twa:**:[input]:min-h-auto!': 'make all inputs inside not have a height fixed',
39
- // this is especially for the date picker filter
40
36
  'twa:*:[[role=button]]:rounded-input': true,
41
37
  'twa:*:[[role=button]]:absolute': 'make date picker absolute filter',
42
38
  'twa:*:[[role=button]]:inset-y-0.5 twa:*:[[role=button]]:inset-x-0.5 twa:*:[[role=button]]:h-auto': 'make date picker - and give it some padding, so the focus is not cut off absolute outline filter',
43
- // and this is for text and number inputs
44
39
  'twa:*:[input]:rounded-input': true,
45
40
  'twa:*:[input]:absolute': 'make inputs absolute filter',
46
41
  'twa:*:[input]:inset-y-0.5 twa:*:[input]:inset-x-0.5 twa:*:[input]:h-auto': 'make inputs - and give it some padding, so the focus is not cut off absolute outline filter',