@adaptabletools/adaptable 22.0.0-canary.1 → 22.0.0-canary.11

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 (394) hide show
  1. package/agGrid.d.ts +9 -9
  2. package/agGrid.js +1 -0
  3. package/index.css +1280 -1400
  4. package/index.css.map +1 -1
  5. package/index.d.ts +66 -0
  6. package/index.js +73 -0
  7. package/package.json +3 -3
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +6 -6
  9. package/src/AdaptableOptions/ActionColumnOptions.d.ts +2 -2
  10. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +2 -2
  12. package/src/AdaptableOptions/ContainerOptions.d.ts +55 -15
  13. package/src/AdaptableOptions/CustomSortOptions.d.ts +4 -0
  14. package/src/AdaptableOptions/DashboardOptions.d.ts +1 -2
  15. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  16. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  17. package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -2
  18. package/src/AdaptableState/AdaptableState.d.ts +2 -0
  19. package/src/AdaptableState/AlertState.d.ts +5 -2
  20. package/src/AdaptableState/ChartingState.d.ts +2 -2
  21. package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
  22. package/src/AdaptableState/Common/AdaptableButton.d.ts +2 -2
  23. package/src/AdaptableState/Common/AdaptableColumn.d.ts +16 -10
  24. package/src/AdaptableState/Common/AdaptableColumnContext.d.ts +9 -0
  25. package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +2 -2
  26. package/src/AdaptableState/Common/AdaptableObject.d.ts +20 -2
  27. package/src/AdaptableState/Common/AdaptableRowContext.d.ts +11 -0
  28. package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
  29. package/src/AdaptableState/Common/BaseContext.d.ts +2 -0
  30. package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +18 -0
  31. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +17 -0
  32. package/src/AdaptableState/Common/NamedObject.d.ts +10 -0
  33. package/src/AdaptableState/Common/NamedObject.js +1 -0
  34. package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
  35. package/src/AdaptableState/Common/RowSummary.d.ts +1 -1
  36. package/src/AdaptableState/Common/Schedule.d.ts +8 -5
  37. package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +2 -2
  38. package/src/AdaptableState/Common/TransposeConfig.d.ts +12 -10
  39. package/src/AdaptableState/CustomSortState.d.ts +5 -1
  40. package/src/AdaptableState/DashboardState.d.ts +1 -1
  41. package/src/AdaptableState/ExportState.d.ts +1 -1
  42. package/src/AdaptableState/FlashingCellState.d.ts +6 -2
  43. package/src/AdaptableState/FormatColumnState.d.ts +5 -9
  44. package/src/AdaptableState/InitialState.d.ts +10 -1
  45. package/src/AdaptableState/InternalState.d.ts +2 -0
  46. package/src/AdaptableState/LayoutState.d.ts +7 -3
  47. package/src/AdaptableState/NamedQueryState.d.ts +1 -1
  48. package/src/AdaptableState/PlusMinusState.d.ts +5 -1
  49. package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
  50. package/src/AdaptableState/ShortcutState.d.ts +5 -1
  51. package/src/AdaptableState/StyledColumnState.d.ts +1 -1
  52. package/src/AdaptableState/ThemeState.d.ts +1 -1
  53. package/src/AdaptableState/UserInterfaceState.d.ts +14 -0
  54. package/src/AdaptableState/UserInterfaceState.js +1 -0
  55. package/src/Api/AlertApi.d.ts +6 -0
  56. package/src/Api/CustomSortApi.d.ts +12 -3
  57. package/src/Api/DataSetApi.d.ts +1 -1
  58. package/src/Api/FlashingCellApi.d.ts +6 -0
  59. package/src/Api/FormatColumnApi.d.ts +10 -4
  60. package/src/Api/GridApi.d.ts +27 -12
  61. package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
  62. package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
  63. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -0
  64. package/src/Api/Implementation/AlertApiImpl.js +6 -6
  65. package/src/Api/Implementation/ApiBase.d.ts +1 -1
  66. package/src/Api/Implementation/ApiBase.js +2 -1
  67. package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
  68. package/src/Api/Implementation/ChartingApiImpl.js +6 -2
  69. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -1
  70. package/src/Api/Implementation/ColumnApiImpl.js +1 -0
  71. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
  72. package/src/Api/Implementation/CommentsApiImpl.js +1 -0
  73. package/src/Api/Implementation/CustomSortApiImpl.d.ts +6 -1
  74. package/src/Api/Implementation/CustomSortApiImpl.js +6 -2
  75. package/src/Api/Implementation/DashboardApiImpl.js +1 -0
  76. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
  77. package/src/Api/Implementation/DataImportApiImpl.js +1 -0
  78. package/src/Api/Implementation/DataSetApiImpl.js +1 -0
  79. package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
  80. package/src/Api/Implementation/EventApiImpl.js +16 -14
  81. package/src/Api/Implementation/ExportApiImpl.js +1 -0
  82. package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
  83. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
  84. package/src/Api/Implementation/FilterApiImpl.js +3 -0
  85. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -0
  86. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -0
  87. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +6 -5
  88. package/src/Api/Implementation/FormatColumnApiImpl.js +7 -5
  89. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
  90. package/src/Api/Implementation/GridApiImpl.d.ts +11 -10
  91. package/src/Api/Implementation/GridApiImpl.js +39 -21
  92. package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
  93. package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
  94. package/src/Api/Implementation/LayoutApiImpl.js +5 -1
  95. package/src/Api/Implementation/LayoutHelpers.js +7 -0
  96. package/src/Api/Implementation/NamedQueryApiImpl.js +3 -2
  97. package/src/Api/Implementation/NoteApiImpl.js +1 -0
  98. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +1 -0
  99. package/src/Api/Implementation/PlusMinusApiImpl.js +3 -0
  100. package/src/Api/Implementation/PredicateApiImpl.js +1 -0
  101. package/src/Api/Implementation/RowFormApiImpl.js +1 -0
  102. package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
  103. package/src/Api/Implementation/ScheduleApiImpl.js +4 -0
  104. package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
  105. package/src/Api/Implementation/ShortcutApiImpl.js +3 -0
  106. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
  107. package/src/Api/Implementation/SystemStatusApiImpl.js +8 -9
  108. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  109. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  110. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +5 -0
  111. package/src/Api/Implementation/UserInterfaceApiImpl.js +15 -1
  112. package/src/Api/Internal/CalculatedColumnInternalApi.js +2 -2
  113. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  114. package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
  115. package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
  116. package/src/Api/Internal/FreeTextColumnInternalApi.js +2 -2
  117. package/src/Api/Internal/LayoutInternalApi.js +1 -1
  118. package/src/Api/Internal/NamedQueryInternalApi.js +4 -4
  119. package/src/Api/LayoutApi.d.ts +6 -0
  120. package/src/Api/PlusMinusApi.d.ts +6 -0
  121. package/src/Api/ScheduleApi.d.ts +6 -0
  122. package/src/Api/ShortcutApi.d.ts +6 -0
  123. package/src/Api/UserInterfaceApi.d.ts +17 -0
  124. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +8 -0
  125. package/src/Redux/ActionsReducers/FormatColumnRedux.js +15 -0
  126. package/src/Redux/ActionsReducers/InternalRedux.d.ts +15 -0
  127. package/src/Redux/ActionsReducers/InternalRedux.js +36 -0
  128. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +1 -1
  129. package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
  130. package/src/Redux/ActionsReducers/UserInterfaceRedux.d.ts +11 -0
  131. package/src/Redux/ActionsReducers/UserInterfaceRedux.js +21 -0
  132. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  133. package/src/Redux/Store/AdaptableStore.js +113 -57
  134. package/src/Strategy/AdaptableModuleBase.js +4 -0
  135. package/src/Strategy/AlertModule.js +5 -0
  136. package/src/Strategy/BulkUpdateModule.js +8 -8
  137. package/src/Strategy/CalculatedColumnModule.js +1 -0
  138. package/src/Strategy/CellSummaryModule.js +1 -1
  139. package/src/Strategy/CustomSortModule.js +4 -0
  140. package/src/Strategy/DataChangeHistoryModule.js +1 -0
  141. package/src/Strategy/FlashingCellModule.js +6 -0
  142. package/src/Strategy/FormatColumnModule.js +4 -0
  143. package/src/Strategy/FreeTextColumnModule.js +1 -0
  144. package/src/Strategy/LayoutModule.js +6 -5
  145. package/src/Strategy/PlusMinusModule.js +7 -1
  146. package/src/Strategy/QuickSearchModule.js +1 -1
  147. package/src/Strategy/ScheduleModule.js +5 -0
  148. package/src/Strategy/SettingsPanelModule.js +11 -7
  149. package/src/Strategy/ShortcutModule.js +6 -0
  150. package/src/Strategy/SmartEditModule.js +10 -10
  151. package/src/Strategy/TeamSharingModule.js +10 -10
  152. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
  153. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
  154. package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
  155. package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
  156. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
  157. package/src/Utilities/Extensions/StringExtensions.d.ts +2 -0
  158. package/src/Utilities/Extensions/StringExtensions.js +16 -0
  159. package/src/Utilities/Helpers/FormatHelper.js +9 -2
  160. package/src/Utilities/Helpers/StyleHelper.js +14 -0
  161. package/src/Utilities/MenuItem.js +18 -0
  162. package/src/Utilities/ObjectFactory.js +16 -3
  163. package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
  164. package/src/Utilities/Services/AlertService.js +6 -4
  165. package/src/Utilities/Services/AnnotationsService.js +4 -1
  166. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
  167. package/src/Utilities/Services/ChartingService.js +1 -0
  168. package/src/Utilities/Services/DataService.js +11 -3
  169. package/src/Utilities/Services/Fdc3Service.js +9 -7
  170. package/src/Utilities/Services/FlashingCellService.js +5 -0
  171. package/src/Utilities/Services/LicenseService/index.js +1 -1
  172. package/src/Utilities/Services/MetamodelService.js +2 -2
  173. package/src/Utilities/Services/ModuleService.js +5 -6
  174. package/src/Utilities/Services/QueryLanguageService.js +6 -5
  175. package/src/Utilities/Services/RowFormService.js +1 -0
  176. package/src/Utilities/Services/RowSummaryService.js +10 -7
  177. package/src/Utilities/Services/TeamSharingService.js +3 -1
  178. package/src/Utilities/Services/ThemeService.js +13 -15
  179. package/src/Utilities/Services/ValidationService.js +2 -1
  180. package/src/Utilities/createAgStatusPanelComponent.js +3 -0
  181. package/src/Utilities/logDeprecation.js +3 -4
  182. package/src/Utilities/resolveContainerElement.d.ts +23 -0
  183. package/src/Utilities/resolveContainerElement.js +44 -0
  184. package/src/View/AdaptablePopover/index.d.ts +1 -0
  185. package/src/View/AdaptablePopover/index.js +1 -1
  186. package/src/View/Alert/ActiveAlertsPanel.js +8 -0
  187. package/src/View/Alert/AlertViewPanel.js +13 -9
  188. package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
  189. package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
  190. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -0
  191. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +5 -2
  192. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +47 -12
  193. package/src/View/Alert/Wizard/AlertWizard.js +14 -10
  194. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  195. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
  196. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +2 -2
  197. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
  198. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  199. package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
  200. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +2 -2
  201. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +2 -2
  202. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  203. package/src/View/Components/Buttons/ButtonApply.js +1 -1
  204. package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
  205. package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
  206. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -2
  207. package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
  208. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -2
  209. package/src/View/Components/CellPopup/index.js +1 -1
  210. package/src/View/Components/ColumnFilter/FloatingFilter.js +41 -3
  211. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
  212. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +54 -2
  213. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
  214. package/src/View/Components/EntityRulesEditor/Utilities.js +5 -5
  215. package/src/View/Components/NewScopeComponent.js +3 -3
  216. package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
  217. package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
  218. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
  219. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
  220. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -1
  221. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +1 -8
  222. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +1 -1
  223. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +36 -1
  224. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +19 -18
  225. package/src/View/Components/StyleComponent.d.ts +1 -0
  226. package/src/View/Components/StyleComponent.js +94 -24
  227. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  228. package/src/View/Components/WizardSummaryPage.js +1 -1
  229. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  230. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +41 -15
  231. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
  232. package/src/View/CustomSort/Wizard/CustomSortWizard.js +4 -4
  233. package/src/View/Dashboard/CustomToolbar.js +1 -1
  234. package/src/View/Dashboard/DashboardPopup.js +4 -5
  235. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -0
  236. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
  237. package/src/View/Export/ExportDestinationPicker.js +1 -1
  238. package/src/View/Export/ExportStatusBar.js +4 -2
  239. package/src/View/Export/ExportViewPanel.js +25 -18
  240. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.d.ts +2 -1
  241. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +34 -14
  242. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +14 -10
  243. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +1 -1
  244. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +46 -51
  245. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  246. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +20 -9
  247. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
  248. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +3 -3
  249. package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -1
  250. package/src/View/GridFilter/GridFilterViewPanel.js +33 -70
  251. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
  252. package/src/View/Layout/LayoutViewPanel.js +1 -1
  253. package/src/View/Layout/TransposedPopup.js +144 -138
  254. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  255. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  256. package/src/View/Layout/Wizard/sections/GridFilterSection.js +1 -1
  257. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +3 -3
  258. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -0
  259. package/src/View/Layout/Wizard/sections/RowSummarySection.js +1 -1
  260. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
  261. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +35 -12
  262. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +20 -15
  263. package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
  264. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +12 -1
  265. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +12 -1
  266. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +14 -4
  267. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +12 -1
  268. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +2 -1
  269. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +19 -10
  270. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.d.ts +2 -1
  271. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +25 -4
  272. package/src/View/Shortcut/Wizard/ShortcutWizard.js +18 -14
  273. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
  274. package/src/View/StateManagement/handleExportState.js +1 -1
  275. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  276. package/src/View/Theme/ThemePopup.js +13 -16
  277. package/src/View/UIHelper.d.ts +4 -1
  278. package/src/View/UIHelper.js +23 -14
  279. package/src/agGrid/Adaptable.js +15 -11
  280. package/src/agGrid/AdaptableAgGrid.d.ts +12 -8
  281. package/src/agGrid/AdaptableAgGrid.js +257 -111
  282. package/src/agGrid/AdaptableFilterHandler.js +4 -0
  283. package/src/agGrid/AdaptableLogger.d.ts +3 -0
  284. package/src/agGrid/AdaptableLogger.js +10 -0
  285. package/src/agGrid/AgGridAdapter.js +19 -9
  286. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -0
  287. package/src/agGrid/AgGridColumnAdapter.js +20 -22
  288. package/src/agGrid/AgGridExportAdapter.js +15 -14
  289. package/src/agGrid/AgGridFilterAdapter.js +4 -0
  290. package/src/agGrid/AgGridFloatingFilterAdapter.js +4 -1
  291. package/src/agGrid/AgGridMenuAdapter.js +10 -1
  292. package/src/agGrid/AgGridModulesAdapter.js +2 -1
  293. package/src/agGrid/AgGridOptionsService.js +3 -0
  294. package/src/agGrid/AgGridThemeAdapter.js +4 -2
  295. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
  296. package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
  297. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
  298. package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
  299. package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
  300. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
  301. package/src/agGrid/index.d.ts +6 -0
  302. package/src/agGrid/index.js +6 -0
  303. package/src/components/CheckBox/index.js +1 -1
  304. package/src/components/ColorPicker/ColorPicker.js +5 -4
  305. package/src/components/Dashboard/DashboardToolbar.js +1 -1
  306. package/src/components/Datepicker/index.js +1 -1
  307. package/src/components/Dropdown/Arrows.js +1 -1
  308. package/src/components/ExpressionEditor/DataTableEditor.js +3 -3
  309. package/src/components/ExpressionEditor/EditorInput.js +19 -3
  310. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
  311. package/src/components/FormLayout/index.js +1 -1
  312. package/src/components/OverlayTrigger/index.js +1 -1
  313. package/src/components/Select/Select.js +79 -16
  314. package/src/components/Tree/TreeDropdown/index.js +2 -2
  315. package/src/components/overlayBaseZIndex.js +1 -1
  316. package/src/components/utils/useContainerScrollObserver/index.js +17 -14
  317. package/src/devTools/index.js +54 -53
  318. package/src/env.js +2 -2
  319. package/src/layout-manager/src/LMEmitter.js +11 -11
  320. package/src/layout-manager/src/LMLogger.js +7 -0
  321. package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -0
  322. package/src/layout-manager/src/index.js +81 -58
  323. package/src/layout-manager/src/normalizeLayoutModel.js +3 -0
  324. package/src/metamodel/adaptable.metamodel.d.ts +177 -8
  325. package/src/metamodel/adaptable.metamodel.js +1 -1
  326. package/src/migration/AdaptableUpgradeHelper.js +8 -3
  327. package/src/migration/VersionUpgrade.js +1 -0
  328. package/src/migration/VersionUpgrade17.js +5 -6
  329. package/src/migration/VersionUpgrade20.js +4 -4
  330. package/src/migration/VersionUpgrade22.d.ts +21 -0
  331. package/src/migration/VersionUpgrade22.js +187 -0
  332. package/src/parser/src/ExpressionEvaluationError.js +1 -0
  333. package/src/types.d.ts +9 -7
  334. package/themes/dark.css +30 -30
  335. package/themes/light.css +4 -2
  336. package/tsconfig.esm.tsbuildinfo +1 -1
  337. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +0 -632
  338. package/src/View/Alert/AlertEntityRow.d.ts +0 -11
  339. package/src/View/Alert/AlertEntityRow.js +0 -28
  340. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +0 -21
  341. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +0 -58
  342. package/src/View/Components/Buttons/ButtonFunction.d.ts +0 -7
  343. package/src/View/Components/Buttons/ButtonFunction.js +0 -8
  344. package/src/View/Components/Buttons/ButtonGeneral.d.ts +0 -5
  345. package/src/View/Components/Buttons/ButtonGeneral.js +0 -7
  346. package/src/View/Components/Buttons/ButtonPreviewDelete.d.ts +0 -4
  347. package/src/View/Components/Buttons/ButtonPreviewDelete.js +0 -5
  348. package/src/View/Components/Buttons/ButtonShow.d.ts +0 -5
  349. package/src/View/Components/Buttons/ButtonShow.js +0 -7
  350. package/src/View/Components/Buttons/ButtonShowChart.d.ts +0 -5
  351. package/src/View/Components/Buttons/ButtonShowChart.js +0 -7
  352. package/src/View/Components/Buttons/ButtonUndo.d.ts +0 -5
  353. package/src/View/Components/Buttons/ButtonUndo.js +0 -7
  354. package/src/View/Components/ExpressionWizard.d.ts +0 -24
  355. package/src/View/Components/ExpressionWizard.js +0 -77
  356. package/src/View/Components/FilterForm/Waiting.d.ts +0 -10
  357. package/src/View/Components/FilterForm/Waiting.js +0 -14
  358. package/src/View/Components/Panels/PanelFooter.d.ts +0 -10
  359. package/src/View/Components/Panels/PanelFooter.js +0 -9
  360. package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +0 -12
  361. package/src/View/Components/Panels/PanelWithTwoButtons.js +0 -15
  362. package/src/View/Components/Panels/ToolPanelSettingsPanel.d.ts +0 -8
  363. package/src/View/Components/Panels/ToolPanelSettingsPanel.js +0 -26
  364. package/src/View/Components/Selectors/ColumnSelectorOld.d.ts +0 -18
  365. package/src/View/Components/Selectors/ColumnSelectorOld.js +0 -45
  366. package/src/View/Components/SharedProps/WizardScopeState.d.ts +0 -4
  367. package/src/View/Components/WizardSummaryRow.d.ts +0 -9
  368. package/src/View/Components/WizardSummaryRow.js +0 -11
  369. package/src/View/CustomSort/CustomSortSummary.d.ts +0 -23
  370. package/src/View/CustomSort/CustomSortSummary.js +0 -105
  371. package/src/View/DataImport/DataImportWizard/sections/ImportSection.d.ts +0 -9
  372. package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +0 -19
  373. package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +0 -19
  374. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +0 -68
  375. package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +0 -19
  376. package/src/View/Export/Wizard/ReportRowTypeWizard.js +0 -68
  377. package/src/View/Export/Wizard/ReportSettingsWizard.d.ts +0 -21
  378. package/src/View/Export/Wizard/ReportSettingsWizard.js +0 -56
  379. package/src/View/Export/Wizard/ReportSummaryWizard.d.ts +0 -15
  380. package/src/View/Export/Wizard/ReportSummaryWizard.js +0 -35
  381. package/src/View/Filter/FilterSummary.d.ts +0 -18
  382. package/src/View/Filter/FilterSummary.js +0 -48
  383. package/src/View/FormatColumn/FormatColumnSummary.d.ts +0 -22
  384. package/src/View/FormatColumn/FormatColumnSummary.js +0 -90
  385. package/src/View/FreeTextColumn/FreeTextColumnSummary.d.ts +0 -22
  386. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +0 -88
  387. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.d.ts +0 -7
  388. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +0 -94
  389. package/src/View/PlusMinus/PlusMinusSummary.d.ts +0 -22
  390. package/src/View/PlusMinus/PlusMinusSummary.js +0 -95
  391. package/src/View/Wizard/WizardLegend.d.ts +0 -12
  392. package/src/View/Wizard/WizardLegend.js +0 -23
  393. /package/src/{View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts → AdaptableState/Common/AdaptableRowContext.js} +0 -0
  394. /package/src/{View/Components/SharedProps/WizardScopeState.js → AdaptableState/Common/ColumnHighlightInfo.js} +0 -0
@@ -3,7 +3,6 @@ import { useMemo } from 'react';
3
3
  import { BaseEditorInput } from './BaseEditorInput';
4
4
  import { editorButtonsSearch } from './editorButtonsSearch';
5
5
  import { useExpressionEditor } from './EditorContext';
6
- import StringExtensions from '../../Utilities/Extensions/StringExtensions';
7
6
  import { editorButtonsAggregatedScalar } from './editorButtonsAggregatedScalar';
8
7
  import { cumulativeAggregatedExpressionFunctions, quantileAggregatedExpressionFunctions, } from '../../Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions';
9
8
  import { editorButtonsCumulativeAggregatedScalar } from './editorButtonsCumulativeAggregatedScalar';
@@ -49,8 +48,25 @@ function EditorInput(props) {
49
48
  };
50
49
  }, [props.type]);
51
50
  const { setSelectedFunction } = useExpressionEditor();
52
- const queryName = `${StringExtensions.CapitaliseFirstLetter(props.type)}Query`;
53
- return (React.createElement(BaseEditorInput, { type: 'main', value: props.value, placeholder: `Create ${queryName}`, onChange: props.onChange, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: expressionFunctions, editorButtons: props.type === 'aggregatedScalar'
51
+ let queryName;
52
+ switch (props.type) {
53
+ case 'boolean':
54
+ queryName = 'Create an Expression that returns true / false';
55
+ break;
56
+ case 'scalar':
57
+ queryName = "Create an Expression that returns a single value of any type";
58
+ break;
59
+ case 'aggregatedScalar':
60
+ queryName = "Create an Expression that evaluates multiple rows and returns a value of any type";
61
+ break;
62
+ case 'cumulativeAggregatedScalar':
63
+ queryName = "Create a Cumulative Expression";
64
+ break;
65
+ case 'quantileAggregatedScalar':
66
+ queryName = "Create a Quantile Expression";
67
+ break;
68
+ }
69
+ return (React.createElement(BaseEditorInput, { type: 'main', value: props.value, placeholder: queryName, onChange: props.onChange, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: expressionFunctions, editorButtons: props.type === 'aggregatedScalar'
54
70
  ? editorButtonsAggregatedScalar
55
71
  : props.type === 'cumulativeAggregatedScalar'
56
72
  ? editorButtonsCumulativeAggregatedScalar
@@ -15,5 +15,5 @@ export const ExpressionFunctionDocumentation = (props) => {
15
15
  React.createElement("pre", { className: signatureClassName }, example))))))),
16
16
  props.expressionFunction.returnType && (React.createElement(Box, { "data-name": "expression-editor-documentation-examples" },
17
17
  React.createElement("b", null, "Return Type"),
18
- React.createElement(Tag, { className: "twa:bg-accentlight twa:text-accent twa:ml-3 twa:rounded-full" }, props.expressionFunction.returnType))))) : null;
18
+ React.createElement(Tag, { className: "twa:bg-accentlight twa:text-accent twa:ml-3 twa:rounded-full twa:py-1" }, props.expressionFunction.returnType))))) : null;
19
19
  };
@@ -14,7 +14,7 @@ const defaultColumns = {
14
14
  };
15
15
  const PLACEHOLDER = React.createElement("div", null);
16
16
  const FormLayout = (props) => {
17
- let { placeholder = PLACEHOLDER, columns = ['label', 'children'], defaultComponent = Box, sizes = ['auto', '1fr'], gridColumnGap = 'var(--ab-space-2)', gridRowGap = 'var(--ab-space-2)', style, childrenToColumns = true, ...boxProps } = props;
17
+ let { placeholder = PLACEHOLDER, columns = ['label', 'children'], defaultComponent = Box, sizes = ['auto', '1fr'], gridColumnGap = 'calc(var(--ab-base-space) * 2)', gridRowGap = 'calc(var(--ab-base-space) * 2)', style, childrenToColumns = true, ...boxProps } = props;
18
18
  columns = columns.map((c) => {
19
19
  if (typeof c === 'string' || typeof c === 'number') {
20
20
  c = {
@@ -152,7 +152,7 @@ const OverlayTrigger = React.forwardRef((givenProps, ref) => {
152
152
  target = targetProp(target);
153
153
  }
154
154
  if (!target) {
155
- adaptable.logger.warn('No OverlayTrigger target - make sure you render a child inside the OverlayTrigger, which will be the overlay target');
155
+ adaptable.logger.warn('OverlayTrigger target not found. Ensure a child element is rendered inside the OverlayTrigger component.');
156
156
  return;
157
157
  }
158
158
  targetRef.current = target;
@@ -4,7 +4,7 @@ import ReactSelect, { components, } from 'react-select';
4
4
  import CreatableSelect from 'react-select/creatable';
5
5
  import { Icon } from '../icons';
6
6
  import { DataSource, InfiniteTable, } from '@infinite-table/infinite-react';
7
- import { useCallback, useMemo, useState } from 'react';
7
+ import { useCallback, useId, useMemo, useState } from 'react';
8
8
  import { Resizable } from 're-resizable';
9
9
  import Tooltip from '../Tooltip';
10
10
  import { ensurePortalElement } from '../OverlayTrigger';
@@ -115,6 +115,7 @@ const doesOptionMatchValue = function (value) {
115
115
  };
116
116
  export const Select = function (props) {
117
117
  let maxLabelLength = 0;
118
+ const inputId = useId();
118
119
  const computedCSSVars = useAdaptableComputedCSSVars();
119
120
  const CSS_VARS_VALUES = {
120
121
  '--ab-cmp-select-menu__max-width': computedCSSVars['--ab-cmp-select-menu__max-width'] || '60vw',
@@ -126,14 +127,15 @@ export const Select = function (props) {
126
127
  // relevant for menulist search only
127
128
  const menulistInputRef = React.useRef(null);
128
129
  const [isSelectMenuOpen, setIsSelectMenuOpen] = useState(false);
129
- const openSelectMenu = () => {
130
+ const propsOnMenuOpen = props.onMenuOpen;
131
+ const openSelectMenu = React.useCallback(() => {
130
132
  setIsSelectMenuOpen(true);
131
133
  // it's a react-select bug, onMenuOpen is not called with controlled menuIsOpen
132
- props.onMenuOpen?.();
133
- };
134
- const closeSelectMenu = () => {
134
+ propsOnMenuOpen?.();
135
+ }, [propsOnMenuOpen]);
136
+ const closeSelectMenu = React.useCallback(() => {
135
137
  setIsSelectMenuOpen(false);
136
- };
138
+ }, []);
137
139
  const ref = React.useRef(null);
138
140
  const valueToOptionMap = new Map((props.options || []).map((opt) => {
139
141
  let label = opt.label;
@@ -199,6 +201,18 @@ export const Select = function (props) {
199
201
  /**
200
202
  * If on each render a new reference is passed, the menu will not open using the keyboard.
201
203
  */
204
+ /**
205
+ * Use refs for isSelectMenuOpen, openSelectMenu, and closeSelectMenu so that
206
+ * SelectContainer is stable across re-renders. If SelectContainer gets a new
207
+ * reference when menu opens/closes, react-select recreates its internal
208
+ * component tree, the DummyInput is removed from DOM, and focus is lost.
209
+ */
210
+ const isSelectMenuOpenRef = React.useRef(isSelectMenuOpen);
211
+ isSelectMenuOpenRef.current = isSelectMenuOpen;
212
+ const openSelectMenuRef = React.useRef(openSelectMenu);
213
+ openSelectMenuRef.current = openSelectMenu;
214
+ const closeSelectMenuRef = React.useRef(closeSelectMenu);
215
+ closeSelectMenuRef.current = closeSelectMenu;
202
216
  const SelectContainer = React.useMemo(() => {
203
217
  return (selectContainerProps) => {
204
218
  return (React.createElement(components.SelectContainer, { ...selectContainerProps, innerProps: {
@@ -211,15 +225,50 @@ export const Select = function (props) {
211
225
  if (!searchableInMenulist) {
212
226
  return;
213
227
  }
214
- if (!isSelectMenuOpen) {
215
- openSelectMenu();
228
+ if (!isSelectMenuOpenRef.current) {
229
+ openSelectMenuRef.current();
216
230
  e.stopPropagation();
217
231
  e.preventDefault();
218
232
  }
219
233
  },
234
+ onKeyDownCapture: (e) => {
235
+ if (!searchableInMenulist) {
236
+ return;
237
+ }
238
+ if (isSelectMenuOpenRef.current) {
239
+ if (e.key === 'Escape') {
240
+ closeSelectMenuRef.current();
241
+ e.stopPropagation();
242
+ e.preventDefault();
243
+ e.nativeEvent.stopImmediatePropagation();
244
+ // we do this because the focus is lost when the menu is closed
245
+ // and document.body is set as the active element
246
+ requestAnimationFrame(() => {
247
+ document.getElementById(inputId)?.focus();
248
+ // we need to do it again
249
+ // also don't store a ref to the input element
250
+ // but query the DOM again
251
+ // as the old ref is no longer in the DOM
252
+ // because of a react-select bug I presume
253
+ requestAnimationFrame(() => {
254
+ document.getElementById(inputId)?.focus();
255
+ });
256
+ });
257
+ }
258
+ }
259
+ else {
260
+ // open the menu
261
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
262
+ openSelectMenuRef.current();
263
+ e.stopPropagation();
264
+ e.preventDefault();
265
+ e.nativeEvent.stopImmediatePropagation();
266
+ }
267
+ }
268
+ },
220
269
  } }));
221
270
  };
222
- }, [isSelectMenuOpen]);
271
+ }, [searchableInMenulist]);
223
272
  const resizable = props.resizable ?? false;
224
273
  const ValueContainer = React.useMemo(() => {
225
274
  return (props) => {
@@ -521,11 +570,25 @@ export const Select = function (props) {
521
570
  setInputValue(value);
522
571
  props.onInputChange?.(value);
523
572
  }, [props.onInputChange, isMulti]);
524
- const SingleValue = React.useCallback((singleValueProps) => {
525
- return (React.createElement(components.SingleValue, { ...singleValueProps }, props.renderSingleValue
526
- ? props.renderSingleValue(selectedOption)
527
- : singleValueProps.children));
528
- }, [selectedOption]);
573
+ /**
574
+ * Use refs for selectedOption and renderSingleValue so that the
575
+ * SingleValue component function is stable across re-renders.
576
+ * If SingleValue gets a new reference on each render, selectComponents changes,
577
+ * react-select recreates its internal component tree, the DummyInput is removed
578
+ * from DOM, and focus is lost (the keyboard stops working).
579
+ * See the comment above SelectContainer about this exact issue.
580
+ */
581
+ const selectedOptionRef = React.useRef(selectedOption);
582
+ selectedOptionRef.current = selectedOption;
583
+ const renderSingleValueRef = React.useRef(props.renderSingleValue);
584
+ renderSingleValueRef.current = props.renderSingleValue;
585
+ const SingleValue = React.useMemo(() => {
586
+ return (singleValueProps) => {
587
+ return (React.createElement(components.SingleValue, { ...singleValueProps }, renderSingleValueRef.current
588
+ ? renderSingleValueRef.current(selectedOptionRef.current)
589
+ : singleValueProps.children));
590
+ };
591
+ }, []);
529
592
  const selectComponents = useMemo(() => {
530
593
  return {
531
594
  SelectContainer,
@@ -546,7 +609,7 @@ export const Select = function (props) {
546
609
  MenuList,
547
610
  ]);
548
611
  return (React.createElement(React.Fragment, null,
549
- React.createElement(SelectComponent, { ref: ref, openMenuOnClick: searchableInMenulist ? false : undefined, openMenuOnFocus: searchableInMenulist ? false : undefined, menuIsOpen: searchableInMenulist ? isSelectMenuOpen : undefined, isSearchable: searchableInline, "aria-label": props['aria-label'], onKeyDown: props.onKeyDown, inputValue: inputValue, onInputChange: onInputChange, onFocus: onFocus, onBlur: onBlur, onMenuOpen: props.onMenuOpen, isLoading: props.isLoading, options: props.options, className: clsx(props.className, 'ab-Select'), isDisabled: disabled, menuPlacement: props.menuPlacement ?? 'auto', hideSelectedOptions: false, isMulti: isMulti, value: selectedOption, blurInputOnSelect: false, menuPosition: props.menuPosition ?? 'absolute',
612
+ React.createElement(SelectComponent, { ref: ref, openMenuOnClick: searchableInMenulist ? false : undefined, openMenuOnFocus: searchableInMenulist ? false : undefined, menuIsOpen: searchableInMenulist ? isSelectMenuOpen : undefined, isSearchable: searchableInline, "aria-label": props['aria-label'], onKeyDown: props.onKeyDown, inputValue: inputValue, inputId: inputId, onInputChange: onInputChange, onFocus: onFocus, onBlur: onBlur, onMenuOpen: props.onMenuOpen, isLoading: props.isLoading, options: props.options, className: clsx(props.className, 'ab-Select'), isDisabled: disabled, menuPlacement: props.menuPlacement ?? 'auto', hideSelectedOptions: false, isMulti: isMulti, value: selectedOption, blurInputOnSelect: false, menuPosition: props.menuPosition ?? 'absolute',
550
613
  // This needed so the menu is not clipped by overflow: hidden
551
614
  menuPortalTarget: ensurePortalElement(), isClearable: props.isClearable, closeMenuOnSelect: props.closeMenuOnSelect, onChange: (option) => {
552
615
  if (isMulti) {
@@ -636,7 +699,7 @@ export const Select = function (props) {
636
699
  valueContainer: (baseStyle) => {
637
700
  return {
638
701
  ...baseStyle,
639
- padding: props.size === 'small' ? `0 var(--ab-space-1)` : baseStyle.padding,
702
+ padding: props.size === 'small' ? `0 var(--ab-base-space)` : baseStyle.padding,
640
703
  ...props.styles?.valueContainer,
641
704
  };
642
705
  },
@@ -221,7 +221,7 @@ export function TreeDropdown(props) {
221
221
  };
222
222
  if (!hasChildren) {
223
223
  // @ts-ignore - don't leave any space for the > expand icon, as there are no children
224
- treeListStyle['--infinite-group-row-column-nesting'] = 'var(--ab-space-2)';
224
+ treeListStyle['--infinite-group-row-column-nesting'] = 'calc(var(--ab-base-space) * 2)';
225
225
  }
226
226
  const treeList = (React.createElement(TreeList, { primaryKey: props.primaryKey ?? 'id', treeFilterFunction: filterFunction, columnHeaderHeight: 30, onReady: ({ api }) => {
227
227
  setTreeListApi(api);
@@ -249,7 +249,7 @@ export function TreeDropdown(props) {
249
249
  } }, children));
250
250
  } },
251
251
  React.createElement(FieldWrap, { style: props.fieldStyle, className: "twa:w-full" },
252
- React.createElement(Input, { type: "text", readOnly: true, "data-name": "Select Values", placeholder: props.placeholder ?? 'Select a value', className: `twa:w-full ${props.clearable ? 'twa:pr-0' : ''}`, value: props.toDisplayValue ? props.toDisplayValue(value) : toDisplayValueDefault(value), onFocus: () => {
252
+ React.createElement(Input, { type: "text", readOnly: true, "data-name": "Select Values", "aria-expanded": visible, placeholder: props.placeholder ?? 'Select a value', className: `twa:w-full ${props.clearable ? 'twa:pr-0' : ''}`, value: props.toDisplayValue ? props.toDisplayValue(value) : toDisplayValueDefault(value), onFocus: () => {
253
253
  if (!visible) {
254
254
  setVisible(true);
255
255
  }
@@ -1 +1 @@
1
- export const OVERLAY_BASE_Z_INDEX = 9999999;
1
+ export const OVERLAY_BASE_Z_INDEX = 9_999_999;
@@ -1,20 +1,11 @@
1
1
  import { useCallback, useRef } from 'react';
2
2
  class SectionSelector {
3
+ scrollTop = 0;
4
+ node;
5
+ boxHeight;
6
+ childrenHeights = [];
7
+ maxScrollTop;
3
8
  constructor(node) {
4
- this.scrollTop = 0;
5
- this.childrenHeights = [];
6
- this.select = (scrollTop) => {
7
- this.refreshFromDOM();
8
- const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
9
- let heightSum = 0;
10
- for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
11
- heightSum += this.childrenHeights[i];
12
- if (heightSum > relativeCurrentHeight) {
13
- return i;
14
- }
15
- }
16
- return this.childrenHeights.length - 1;
17
- };
18
9
  this.node = node;
19
10
  this.refreshFromDOM();
20
11
  }
@@ -33,6 +24,18 @@ class SectionSelector {
33
24
  height,
34
25
  };
35
26
  }
27
+ select = (scrollTop) => {
28
+ this.refreshFromDOM();
29
+ const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
30
+ let heightSum = 0;
31
+ for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
32
+ heightSum += this.childrenHeights[i];
33
+ if (heightSum > relativeCurrentHeight) {
34
+ return i;
35
+ }
36
+ }
37
+ return this.childrenHeights.length - 1;
38
+ };
36
39
  }
37
40
  export const useContainerScrollObserver = (callback) => {
38
41
  const containerNodeRef = useRef(null);
@@ -22,66 +22,32 @@ function getColor(identifier) {
22
22
  return color;
23
23
  }
24
24
  export class DevToolsMarker {
25
+ adaptableId;
25
26
  static create(adaptableId) {
26
27
  return new DevToolsMarker(adaptableId);
27
28
  }
29
+ markerDetails = {
30
+ label: '',
31
+ track: '',
32
+ trackGroup: undefined,
33
+ color: undefined,
34
+ details: [],
35
+ tooltip: undefined,
36
+ };
37
+ stopped = false;
28
38
  constructor(adaptableId) {
29
39
  this.adaptableId = adaptableId;
30
- this.markerDetails = {
31
- label: '',
32
- track: '',
33
- trackGroup: undefined,
34
- color: undefined,
35
- details: [],
36
- tooltip: undefined,
37
- };
38
- this.stopped = false;
39
- this.start = (startDetails) => {
40
- if (this.markerDetails.startTs) {
41
- return this;
42
- }
43
- const start = performance.now();
44
- this.markerDetails.details = startDetails?.details ?? [];
45
- this.markerDetails.startTs = start;
46
- return this;
47
- };
48
- this.end = (markerDetails = {}) => {
49
- if (this.stopped) {
50
- return this;
51
- }
52
- this.stopped = true;
53
- const start = markerDetails.startTs ?? this.markerDetails.startTs;
54
- const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
55
- let color = markerDetails.color || this.markerDetails.color || '';
56
- const trackGroup = markerDetails.trackGroup ||
57
- this.markerDetails.trackGroup ||
58
- `AdapTable (${this.adaptableId})`;
59
- const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
60
- const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
61
- const label = markerDetails.label || this.markerDetails.label || 'Unknown';
62
- const track = markerDetails.track || this.markerDetails.track || 'Unknown';
63
- if (!color) {
64
- const identifier = `${trackGroup}:${track}:${label}`;
65
- color = getColor(identifier);
66
- }
67
- performance.measure(label, {
68
- start,
69
- end,
70
- detail: {
71
- devtools: {
72
- dataType: 'track-entry',
73
- trackGroup,
74
- track,
75
- color: color || 'primary',
76
- properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
77
- tooltipText: tooltip,
78
- },
79
- },
80
- });
81
- return this;
82
- };
83
40
  this.adaptableId = adaptableId;
84
41
  }
42
+ start = (startDetails) => {
43
+ if (this.markerDetails.startTs) {
44
+ return this;
45
+ }
46
+ const start = performance.now();
47
+ this.markerDetails.details = startDetails?.details ?? [];
48
+ this.markerDetails.startTs = start;
49
+ return this;
50
+ };
85
51
  get startTimestamp() {
86
52
  return this.markerDetails.startTs;
87
53
  }
@@ -131,6 +97,41 @@ export class DevToolsMarker {
131
97
  return acc;
132
98
  }, {});
133
99
  }
100
+ end = (markerDetails = {}) => {
101
+ if (this.stopped) {
102
+ return this;
103
+ }
104
+ this.stopped = true;
105
+ const start = markerDetails.startTs ?? this.markerDetails.startTs;
106
+ const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
107
+ let color = markerDetails.color || this.markerDetails.color || '';
108
+ const trackGroup = markerDetails.trackGroup ||
109
+ this.markerDetails.trackGroup ||
110
+ `AdapTable (${this.adaptableId})`;
111
+ const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
112
+ const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
113
+ const label = markerDetails.label || this.markerDetails.label || 'Unknown';
114
+ const track = markerDetails.track || this.markerDetails.track || 'Unknown';
115
+ if (!color) {
116
+ const identifier = `${trackGroup}:${track}:${label}`;
117
+ color = getColor(identifier);
118
+ }
119
+ performance.measure(label, {
120
+ start,
121
+ end,
122
+ detail: {
123
+ devtools: {
124
+ dataType: 'track-entry',
125
+ trackGroup,
126
+ track,
127
+ color: color || 'primary',
128
+ properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
129
+ tooltipText: tooltip,
130
+ },
131
+ },
132
+ });
133
+ return this;
134
+ };
134
135
  }
135
136
  export function areAdaptableProfileTracksEnabled(adaptableId) {
136
137
  const trakcsSupported = typeof performance !== 'undefined' &&
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
3
- PUBLISH_TIMESTAMP: 1769179404024 || Date.now(),
4
- VERSION: "22.0.0-canary.1" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1770996876134 || Date.now(),
4
+ VERSION: "22.0.0-canary.11" || '--current-version--',
5
5
  };
@@ -2,20 +2,20 @@ import { LMLogger } from './LMLogger';
2
2
  function x(a, b) { }
3
3
  const xtype = [1, '2'];
4
4
  export class LMEmitter extends LMLogger {
5
+ destroyed = false;
6
+ suspended = false;
5
7
  constructor(options) {
6
8
  super(options);
7
- this.destroyed = false;
8
- this.suspended = false;
9
- /**
10
- * For each supported event, we have a Set that holds all the callbacks that should be executed
11
- * when the event is triggered.
12
- */
13
- this.eventSets = {
14
- gridLayoutChanged: new Set(),
15
- columnDefsChanged: new Set(),
16
- rowModelUpdated: new Set(),
17
- };
18
9
  }
10
+ /**
11
+ * For each supported event, we have a Set that holds all the callbacks that should be executed
12
+ * when the event is triggered.
13
+ */
14
+ eventSets = {
15
+ gridLayoutChanged: new Set(),
16
+ columnDefsChanged: new Set(),
17
+ rowModelUpdated: new Set(),
18
+ };
19
19
  on(event, callback) {
20
20
  this.eventSets[event].add(callback);
21
21
  return () => {
@@ -4,6 +4,13 @@ const performanceTime = (previousTime) => {
4
4
  return Math.round(previousTime ? now - previousTime : now);
5
5
  };
6
6
  export class LMLogger {
7
+ debugger;
8
+ infoLogger;
9
+ successLogger;
10
+ warnLogger;
11
+ errorLogger;
12
+ perfLogger;
13
+ debugId;
7
14
  constructor(options) {
8
15
  this.debugId = options.debugId;
9
16
  this.debugger = debugFactory(this.debugId ? `LayoutManager:${this.debugId}` : 'LayoutManager');
@@ -172,5 +172,6 @@ export interface PivotLayoutModel extends BaseLayoutModel {
172
172
  * Display automatically calculated Totals within EACH Pivot Column Group, in the position specified
173
173
  */
174
174
  PivotColumnTotal?: 'before' | 'after' | boolean;
175
+ PivotResultColumnsOrder?: string[] | boolean;
175
176
  }
176
177
  export type LayoutModel = TableLayoutModel | PivotLayoutModel;