@adaptabletools/adaptable 23.0.0-canary.7 → 23.0.0-canary.9

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 (317) hide show
  1. package/index.css +98 -17
  2. package/package.json +1 -1
  3. package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.js +1 -1
  4. package/src/AdaptableState/Common/Enums.d.ts +0 -12
  5. package/src/AdaptableState/Common/Enums.js +0 -15
  6. package/src/{Utilities → AdaptableState/Common}/MenuItem.d.ts +4 -4
  7. package/src/{Utilities → AdaptableState/Common}/MenuItem.js +1 -1
  8. package/src/AdaptableState/StyledColumnState.d.ts +8 -850
  9. package/src/AdaptableState/StyledColumnState.js +1 -9
  10. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  11. package/src/AdaptableState/StyledColumns/BadgeStyle.js +9 -0
  12. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  13. package/src/AdaptableState/StyledColumns/BulletChartStyle.js +1 -0
  14. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.d.ts +84 -0
  15. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +5 -0
  16. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  17. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +6 -0
  18. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  19. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +9 -0
  20. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  21. package/src/AdaptableState/StyledColumns/GradientStyle.js +1 -0
  22. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  23. package/src/AdaptableState/StyledColumns/IconStyle.js +1 -0
  24. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  25. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +1 -0
  26. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  27. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +1 -0
  28. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  29. package/src/AdaptableState/StyledColumns/RatingStyle.js +1 -0
  30. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  31. package/src/AdaptableState/StyledColumns/SparklineStyle.js +1 -0
  32. package/src/Api/ColumnScopeApi.d.ts +1 -1
  33. package/src/Api/Implementation/AlertApiImpl.js +1 -1
  34. package/src/Api/Implementation/ChartingApiImpl.js +1 -1
  35. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +1 -1
  36. package/src/Api/Implementation/ExportApiImpl.js +1 -1
  37. package/src/Api/Implementation/LayoutHelpers.js +1 -1
  38. package/src/Api/Implementation/QuickSearchApiImpl.js +1 -1
  39. package/src/Api/Implementation/ThemeApiImpl.js +1 -1
  40. package/src/Api/Internal/ActionColumnInternalApi.js +1 -1
  41. package/src/Api/Internal/AlertInternalApi.js +1 -1
  42. package/src/Api/Internal/ChartingInternalApi.js +1 -1
  43. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  44. package/src/Api/Internal/EventInternalApi.js +1 -1
  45. package/src/Api/Internal/ExportInternalApi.js +1 -1
  46. package/src/Api/Internal/FormatColumnInternalApi.js +1 -1
  47. package/src/Api/Internal/GridInternalApi.js +1 -1
  48. package/src/Api/Internal/StyledColumnInternalApi.d.ts +3 -1
  49. package/src/Api/Internal/StyledColumnInternalApi.js +1 -1
  50. package/src/Redux/ActionsReducers/ExportRedux.js +1 -1
  51. package/src/Redux/ActionsReducers/InternalRedux.js +1 -1
  52. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +1 -1
  53. package/src/Redux/Store/AdaptableReduxMerger.js +2 -4
  54. package/src/Redux/Store/AdaptableStore.js +3 -3
  55. package/src/Strategy/AdaptableModuleBase.d.ts +1 -1
  56. package/src/Strategy/AdaptableModuleBase.js +1 -1
  57. package/src/Strategy/AlertModule.d.ts +1 -1
  58. package/src/Strategy/AlertModule.js +2 -2
  59. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  60. package/src/Strategy/CalculatedColumnModule.d.ts +2 -2
  61. package/src/Strategy/CellSummaryModule.d.ts +2 -2
  62. package/src/Strategy/ChartingModule.d.ts +1 -1
  63. package/src/Strategy/ChartingModule.js +1 -1
  64. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  65. package/src/Strategy/CommentModule.d.ts +1 -1
  66. package/src/Strategy/CustomSortModule.d.ts +1 -1
  67. package/src/Strategy/ExportModule.js +2 -2
  68. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  69. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  70. package/src/Strategy/GridInfoModule.d.ts +2 -2
  71. package/src/Strategy/LayoutModule.js +1 -1
  72. package/src/Strategy/NoteModule.d.ts +1 -1
  73. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  74. package/src/Strategy/PlusMinusModule.js +1 -1
  75. package/src/Strategy/SettingsPanelModule.d.ts +2 -2
  76. package/src/Strategy/SmartEditModule.d.ts +1 -1
  77. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  78. package/src/Strategy/TeamSharingModule.js +2 -2
  79. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +1 -1
  80. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
  81. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -1
  82. package/src/Utilities/Extensions/ArrayExtensions.d.ts +32 -0
  83. package/src/Utilities/Extensions/ArrayExtensions.js +49 -0
  84. package/src/Utilities/Extensions/NumberExtensions.d.ts +21 -0
  85. package/src/Utilities/Extensions/NumberExtensions.js +74 -0
  86. package/src/Utilities/Extensions/ObjectExtensions.d.ts +44 -0
  87. package/src/Utilities/Extensions/ObjectExtensions.js +271 -0
  88. package/src/Utilities/Extensions/StringExtensions.d.ts +26 -0
  89. package/src/Utilities/Extensions/StringExtensions.js +44 -1
  90. package/src/Utilities/Helpers/AdaptableHelper.js +2 -2
  91. package/src/Utilities/Helpers/{alertFormHelper.js → AlertHelper.js} +1 -1
  92. package/src/Utilities/Helpers/DateHelper.js +1 -1
  93. package/src/Utilities/Helpers/{FormatHelper.js → DisplayFormatHelper.js} +1 -1
  94. package/src/Utilities/Helpers/Helper.d.ts +0 -6
  95. package/src/Utilities/Helpers/Helper.js +0 -35
  96. package/src/Utilities/Helpers/{QuickSearchStyleHelper.js → QuickSearchHelper.js} +1 -1
  97. package/src/Utilities/Helpers/{ScheduleHelper.d.ts → Scheduling/ScheduleHelper.d.ts} +1 -1
  98. package/src/Utilities/Helpers/{ScheduleHelper.js → Scheduling/ScheduleHelper.js} +1 -1
  99. package/src/Utilities/Helpers/{ScheduleJobManager.d.ts → Scheduling/ScheduleJobManager.d.ts} +1 -1
  100. package/src/Utilities/Helpers/{ScheduleJobRunner.d.ts → Scheduling/ScheduleJobRunner.d.ts} +1 -1
  101. package/src/Utilities/Helpers/{ScheduledAlertHelper.d.ts → Scheduling/ScheduledAlertHelper.d.ts} +1 -1
  102. package/src/Utilities/Helpers/{ScheduledAlertHelper.js → Scheduling/ScheduledAlertHelper.js} +4 -4
  103. package/src/Utilities/Helpers/{ScheduledJobsMiddlewareHelper.d.ts → Scheduling/ScheduledJobsMiddlewareHelper.d.ts} +1 -1
  104. package/src/Utilities/Helpers/{ScheduledJobsMiddlewareHelper.js → Scheduling/ScheduledJobsMiddlewareHelper.js} +1 -1
  105. package/src/Utilities/Helpers/{ScheduledReportHelper.d.ts → Scheduling/ScheduledReportHelper.d.ts} +1 -1
  106. package/src/Utilities/Helpers/{ScheduledReportHelper.js → Scheduling/ScheduledReportHelper.js} +1 -1
  107. package/src/Utilities/Helpers/SettingsPanelHelper.d.ts +5 -0
  108. package/src/Utilities/{Defaults/DefaultSettingsPanel.js → Helpers/SettingsPanelHelper.js} +14 -0
  109. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.d.ts +63 -0
  110. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +317 -0
  111. package/src/Utilities/Helpers/{StyledColumnGradientHelper.d.ts → StyledColumns/GradientStyleHelper.d.ts} +4 -2
  112. package/src/Utilities/Helpers/{StyledColumnGradientHelper.js → StyledColumns/GradientStyleHelper.js} +3 -3
  113. package/src/Utilities/Helpers/{IconStylePresets.d.ts → StyledColumns/IconStyleHelper.d.ts} +6 -1
  114. package/src/Utilities/Helpers/{IconStylePresets.js → StyledColumns/IconStyleHelper.js} +15 -0
  115. package/src/Utilities/Helpers/{percentBarPreviewHelper.d.ts → StyledColumns/PercentBarStyleHelper.d.ts} +2 -1
  116. package/src/Utilities/Helpers/{percentBarPreviewHelper.js → StyledColumns/PercentBarStyleHelper.js} +7 -12
  117. package/src/Utilities/Helpers/{SparklineOptionsHelper.js → StyledColumns/SparklineStyleHelper.js} +1 -1
  118. package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.d.ts +52 -0
  119. package/src/{agGrid/cellRenderers/shouldRenderStyledColumnOnRow.js → Utilities/Helpers/StyledColumns/StyledColumnHelper.js} +64 -2
  120. package/src/Utilities/Helpers/TimingHelper.d.ts +34 -0
  121. package/src/Utilities/{utils/debounce.js → Helpers/TimingHelper.js} +23 -9
  122. package/src/Utilities/ObjectFactory.js +1 -1
  123. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +2 -0
  124. package/src/Utilities/Services/CalculatedColumnExpressionService.js +114 -1
  125. package/src/Utilities/Services/LicenseService/index.js +1 -1
  126. package/src/Utilities/Services/RowSummaryService.d.ts +1 -1
  127. package/src/Utilities/Services/RowSummaryService.js +4 -4
  128. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +1 -1
  129. package/src/View/Alert/Utilities/getAlertType.js +1 -1
  130. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +1 -1
  131. package/src/View/Alert/Utilities/mapAlertDefinition.js +1 -1
  132. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -1
  133. package/src/View/Alert/Wizard/AlertButtonsEditor.js +160 -127
  134. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +3 -3
  135. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +1 -1
  136. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -1
  137. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +1 -1
  138. package/src/View/Alert/Wizard/AlertWizard.js +10 -2
  139. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  140. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
  141. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +1 -1
  142. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +1 -1
  143. package/src/View/Comments/CommentsEditor.js +1 -1
  144. package/src/View/Comments/CommentsPopup.js +1 -1
  145. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +3 -2
  146. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +3 -2
  147. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.d.ts +2 -0
  148. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.js +2 -0
  149. package/src/View/Components/Buttons/EntityListActionButtons.js +1 -1
  150. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  151. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +8 -8
  152. package/src/View/Components/ColumnFilter/ColumnFilter.js +14 -1
  153. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
  154. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
  155. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -1
  156. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +2 -1
  157. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +1 -1
  158. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +1 -1
  159. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
  160. package/src/View/Components/Popups/Utilities.js +1 -1
  161. package/src/View/Components/RangesComponent.d.ts +4 -3
  162. package/src/View/Components/RangesComponent.js +3 -7
  163. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  164. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  165. package/src/View/Dashboard/CustomDashboardButton.js +1 -1
  166. package/src/View/Dashboard/Dashboard.js +1 -1
  167. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +1 -1
  168. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +1 -1
  169. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
  170. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  171. package/src/View/Export/ExportSchedulesTab.js +3 -4
  172. package/src/View/Filter/FilterViewPanel.js +1 -1
  173. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +3 -3
  174. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +1 -1
  175. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
  176. package/src/View/Layout/LayoutViewPanel.js +1 -1
  177. package/src/View/Layout/Wizard/sections/RowSummarySection.js +129 -103
  178. package/src/View/Note/NoteEditor.js +1 -1
  179. package/src/View/Note/NotePopup.js +1 -1
  180. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +1 -1
  181. package/src/View/QuickSearch/QuickSearchPopup.js +1 -1
  182. package/src/View/QuickSearch/useQuickSearchDebounced.js +1 -1
  183. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  184. package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
  185. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +1 -1
  186. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +36 -30
  187. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +1 -3
  188. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +79 -68
  189. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +1 -1
  190. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +39 -12
  191. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +92 -52
  192. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +2 -2
  193. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.d.ts +9 -0
  194. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.js +33 -0
  195. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.d.ts +23 -0
  196. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +57 -0
  197. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +1 -1
  198. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +3 -2
  199. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +2 -4
  200. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +1 -1
  201. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +3 -2
  202. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +2 -1
  203. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +13 -17
  204. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +2 -1
  205. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +5 -5
  206. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +1 -1
  207. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +2 -2
  208. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +16 -7
  209. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +11 -17
  210. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +2 -1
  211. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +1 -1
  212. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +20 -60
  213. package/src/View/UIHelper.js +1 -1
  214. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -1
  215. package/src/View/Wizard/OnePageWizards.js +3 -1
  216. package/src/agGrid/AdaptableAgGrid.js +6 -6
  217. package/src/agGrid/AgGridColumnAdapter.js +16 -14
  218. package/src/agGrid/AgGridExportAdapter.js +1 -1
  219. package/src/agGrid/AgGridMenuAdapter.js +127 -2
  220. package/src/agGrid/cellRenderers/BadgeRenderer.js +8 -6
  221. package/src/agGrid/cellRenderers/BulletChartRenderer.js +45 -44
  222. package/src/agGrid/cellRenderers/IconRenderer.d.ts +2 -1
  223. package/src/agGrid/cellRenderers/IconRenderer.js +15 -14
  224. package/src/agGrid/cellRenderers/PercentBarRenderer.js +26 -98
  225. package/src/agGrid/cellRenderers/RangeBarRenderer.js +52 -50
  226. package/src/agGrid/cellRenderers/RatingRenderer.js +2 -2
  227. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  228. package/src/components/ColorPicker/ColorPicker.js +1 -1
  229. package/src/components/Datepicker/index.js +1 -1
  230. package/src/components/FormLayout/index.js +1 -1
  231. package/src/components/OverlayTrigger/index.js +1 -1
  232. package/src/env.js +2 -2
  233. package/src/layout-manager/src/isLayoutEqual.js +1 -1
  234. package/src/metamodel/adaptable.metamodel.d.ts +118 -19
  235. package/src/metamodel/adaptable.metamodel.js +1 -1
  236. package/src/migration/VersionUpgrade23.d.ts +27 -31
  237. package/src/migration/VersionUpgrade23.js +110 -29
  238. package/src/types.d.ts +12 -1
  239. package/tsconfig.esm.tsbuildinfo +1 -1
  240. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +0 -3
  241. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.d.ts +0 -5
  242. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.js +0 -15
  243. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +0 -3
  244. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +0 -15
  245. package/src/Utilities/Helpers/styledColumnRowKindSupport.d.ts +0 -25
  246. package/src/Utilities/Helpers/styledColumnRowKindSupport.js +0 -63
  247. package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +0 -4
  248. package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +0 -115
  249. package/src/Utilities/utils/chunk.d.ts +0 -6
  250. package/src/Utilities/utils/chunk.js +0 -17
  251. package/src/Utilities/utils/clamp.d.ts +0 -5
  252. package/src/Utilities/utils/clamp.js +0 -7
  253. package/src/Utilities/utils/cloneDeepWith.d.ts +0 -9
  254. package/src/Utilities/utils/cloneDeepWith.js +0 -67
  255. package/src/Utilities/utils/debounce.d.ts +0 -20
  256. package/src/Utilities/utils/flatten.d.ts +0 -5
  257. package/src/Utilities/utils/flatten.js +0 -7
  258. package/src/Utilities/utils/flattenDeep.d.ts +0 -5
  259. package/src/Utilities/utils/flattenDeep.js +0 -7
  260. package/src/Utilities/utils/get.d.ts +0 -6
  261. package/src/Utilities/utils/get.js +0 -35
  262. package/src/Utilities/utils/index.d.ts +0 -22
  263. package/src/Utilities/utils/index.js +0 -22
  264. package/src/Utilities/utils/isArray.d.ts +0 -6
  265. package/src/Utilities/utils/isArray.js +0 -6
  266. package/src/Utilities/utils/isEqual.d.ts +0 -5
  267. package/src/Utilities/utils/isEqual.js +0 -124
  268. package/src/Utilities/utils/isObject.d.ts +0 -6
  269. package/src/Utilities/utils/isObject.js +0 -9
  270. package/src/Utilities/utils/isPlainObject.d.ts +0 -6
  271. package/src/Utilities/utils/isPlainObject.js +0 -17
  272. package/src/Utilities/utils/kebabCase.d.ts +0 -5
  273. package/src/Utilities/utils/kebabCase.js +0 -8
  274. package/src/Utilities/utils/merge.d.ts +0 -11
  275. package/src/Utilities/utils/merge.js +0 -40
  276. package/src/Utilities/utils/mergeWith.d.ts +0 -7
  277. package/src/Utilities/utils/mergeWith.js +0 -46
  278. package/src/Utilities/utils/orderBy.d.ts +0 -8
  279. package/src/Utilities/utils/orderBy.js +0 -30
  280. package/src/Utilities/utils/parseInt.d.ts +0 -6
  281. package/src/Utilities/utils/parseInt.js +0 -9
  282. package/src/Utilities/utils/sentenceCase.d.ts +0 -6
  283. package/src/Utilities/utils/sentenceCase.js +0 -15
  284. package/src/Utilities/utils/startCase.d.ts +0 -5
  285. package/src/Utilities/utils/startCase.js +0 -11
  286. package/src/Utilities/utils/throttle.d.ts +0 -17
  287. package/src/Utilities/utils/throttle.js +0 -19
  288. package/src/Utilities/utils/toNumber.d.ts +0 -5
  289. package/src/Utilities/utils/toNumber.js +0 -39
  290. package/src/Utilities/utils/uniq.d.ts +0 -7
  291. package/src/Utilities/utils/uniq.js +0 -9
  292. package/src/Utilities/utils/uniqBy.d.ts +0 -8
  293. package/src/Utilities/utils/uniqBy.js +0 -22
  294. package/src/Utilities/utils/words.d.ts +0 -7
  295. package/src/Utilities/utils/words.js +0 -10
  296. package/src/agGrid/buildValueAggregationMenuItem.d.ts +0 -19
  297. package/src/agGrid/buildValueAggregationMenuItem.js +0 -111
  298. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.d.ts +0 -30
  299. package/src/agGrid/createAgGridIcon.d.ts +0 -10
  300. package/src/agGrid/createAgGridIcon.js +0 -16
  301. /package/src/{Utilities → AdaptableState/Aggregations}/only.d.ts +0 -0
  302. /package/src/{Utilities → AdaptableState/Aggregations}/only.js +0 -0
  303. /package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.d.ts +0 -0
  304. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.d.ts → ActionColumnHelper.d.ts} +0 -0
  305. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.js → ActionColumnHelper.js} +0 -0
  306. /package/src/Utilities/Helpers/{alertFormHelper.d.ts → AlertHelper.d.ts} +0 -0
  307. /package/src/Utilities/Helpers/{chartingHelper.d.ts → ChartHelper.d.ts} +0 -0
  308. /package/src/Utilities/Helpers/{chartingHelper.js → ChartHelper.js} +0 -0
  309. /package/src/Utilities/Helpers/{FormatHelper.d.ts → DisplayFormatHelper.d.ts} +0 -0
  310. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.d.ts → PlusMinusHelper.d.ts} +0 -0
  311. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.js → PlusMinusHelper.js} +0 -0
  312. /package/src/Utilities/Helpers/{QuickSearchStyleHelper.d.ts → QuickSearchHelper.d.ts} +0 -0
  313. /package/src/Utilities/Helpers/{ScheduleJobManager.js → Scheduling/ScheduleJobManager.js} +0 -0
  314. /package/src/Utilities/Helpers/{ScheduleJobRunner.js → Scheduling/ScheduleJobRunner.js} +0 -0
  315. /package/src/Utilities/Helpers/{SparklineOptionsHelper.d.ts → StyledColumns/SparklineStyleHelper.d.ts} +0 -0
  316. /package/src/Utilities/Helpers/{ThemeHelpers.d.ts → ThemeHelper.d.ts} +0 -0
  317. /package/src/Utilities/Helpers/{ThemeHelpers.js → ThemeHelper.js} +0 -0
@@ -1,6 +1,7 @@
1
- import { getVariableColor } from './StyleHelper';
2
- import clamp from '../utils/clamp';
3
- import { STYLED_COLUMN_PREVIEW_SAMPLE_COUNT, ZERO_CENTRED_PREVIEW_SCALE_MAX, ZERO_CENTRED_PREVIEW_SCALE_MIN, } from './StyledColumnGradientHelper';
1
+ import { getVariableColor } from '../StyleHelper';
2
+ import { clamp } from '../../Extensions/NumberExtensions';
3
+ import { STYLED_COLUMN_PREVIEW_SAMPLE_COUNT, ZERO_CENTRED_PREVIEW_SCALE_MAX, ZERO_CENTRED_PREVIEW_SCALE_MIN, } from './GradientStyleHelper';
4
+ import { buildBarStyleCellTextLabels, joinBarStyleCellTextLabels } from './BarStylesHelper';
4
5
  const evenlySpacedValues = (min, max, count) => {
5
6
  if (count <= 1) {
6
7
  return [min];
@@ -124,14 +125,8 @@ export const getPercentBarPreviewGeometry = (numericValue, pb, min, max) => {
124
125
  };
125
126
  };
126
127
  export const formatPercentBarPreviewCellText = (numericValue, percentageValue, pb) => {
127
- const parts = [];
128
- if (pb.CellText?.includes('CellValue')) {
129
- parts.push(Number.isInteger(numericValue) ? String(numericValue) : numericValue.toFixed(1));
130
- }
131
- if (pb.CellText?.includes('PercentageValue')) {
132
- parts.push(`${percentageValue.toFixed(0)}%`);
133
- }
134
- return parts.join(' ');
128
+ const labels = buildBarStyleCellTextLabels(pb.CellTextProperties, Number.isInteger(numericValue) ? String(numericValue) : numericValue.toFixed(1), `${percentageValue.toFixed(0)}%`);
129
+ return joinBarStyleCellTextLabels(labels);
135
130
  };
136
131
  export const getPercentBarPreviewTrackColor = (pb) => {
137
132
  if (pb.ColumnComparison) {
@@ -139,5 +134,5 @@ export const getPercentBarPreviewTrackColor = (pb) => {
139
134
  }
140
135
  return pb.BackColor ?? undefined;
141
136
  };
142
- export const getPercentBarPreviewResolvedBarColor = (color) => color ? getVariableColor(color) : undefined;
137
+ export const getPercentBarPreviewResolvedBarColor = (color) => (color ? getVariableColor(color) : undefined);
143
138
  export const hasPercentBarStylePreview = (styledColumn) => hasPercentBarRangesConfigured(styledColumn.PercentBarStyle);
@@ -1,4 +1,4 @@
1
- import { getVariableColor } from './StyleHelper';
1
+ import { getVariableColor } from '../StyleHelper';
2
2
  const resolveCssColor = (color) => {
3
3
  if (color == null || color === '') {
4
4
  return color;
@@ -0,0 +1,52 @@
1
+ import type { IRowNode } from 'ag-grid-enterprise';
2
+ import type { AdaptableApi } from '../../../Api/AdaptableApi';
3
+ import type { StyledColumn } from '../../../AdaptableState/StyledColumnState';
4
+ import type { RowScope } from '../../../AdaptableState/Common/RowScope';
5
+ /**
6
+ * Row kinds used by {@link RowScope} and the Styled Column Scope wizard.
7
+ * All are available to all Styled Columns with exception of Sparkline (which is data rows only)
8
+ */
9
+ export type StyledColumnRowKind = 'Data' | 'Group' | 'Summary' | 'Total';
10
+ export declare const STYLED_COLUMN_ROW_KINDS: StyledColumnRowKind[];
11
+ export declare const STYLED_COLUMN_ROW_KIND_EXCLUDE_KEY: Record<StyledColumnRowKind, keyof RowScope>;
12
+ export declare const isStyledColumnRowKindSupported: (styledColumn: StyledColumn, kind: StyledColumnRowKind) => boolean;
13
+ export declare const getStyledColumnRowKindDisabledReason: (styledColumn: StyledColumn, kind: StyledColumnRowKind) => string | undefined;
14
+ /**
15
+ * Classifies the AG Grid row node into a single {@link StyledColumnRowKind}.
16
+ * Order matches {@link shouldRenderStyledColumnOnRow}: total before summary,
17
+ * summary before group.
18
+ */
19
+ export declare const getStyledColumnRowKindForNode: (node: IRowNode, api: AdaptableApi) => StyledColumnRowKind;
20
+ /**
21
+ * Forces `Exclude*` to `true` for row kinds that do not apply to the current
22
+ * Styled Column type, so persisted state cannot contradict the capability
23
+ * matrix. Returns `undefined` when no change is needed.
24
+ */
25
+ export declare const sanitizeStyledColumnRowScope: (styledColumn: StyledColumn) => RowScope | undefined;
26
+ /**
27
+ * Returns `true` when the Styled Column should render on the given row.
28
+ *
29
+ * Single source of truth consulted by every styled-column cell renderer
30
+ * (Badge / Icon / Rating / Percent Bar / Bullet Chart / Range Bar) and
31
+ * by `getStyledColumnStyle` (Gradient / Percent Bar cellStyle).
32
+ *
33
+ * Semantics:
34
+ * - **Type capabilities** first: some types never target certain row kinds
35
+ * (see {@link isStyledColumnRowKindSupported}). Unsupported kinds always
36
+ * return `false` regardless of `RowScope`.
37
+ * - When `StyledColumn.RowScope` is **set**, the explicit `Exclude*`
38
+ * flags win. Unset flags default to "include" — i.e. `RowScope: {}`
39
+ * means "render on every *supported* row kind".
40
+ * - When `StyledColumn.RowScope` is **unset**, the historical per-type
41
+ * default applies:
42
+ * - Badge: render on every row kind (that the type supports).
43
+ * - All other types: render on every row kind *except* group rows
44
+ * (matches the hardcoded "isGroupRowNode → plain text" check that
45
+ * every other styled-column renderer used to carry), again
46
+ * intersected with type capabilities (e.g. Sparkline → data only).
47
+ *
48
+ * The per-type default lets us promote `RowScope` cleanly without
49
+ * altering existing user-visible behaviour: state that doesn't mention
50
+ * `RowScope` keeps rendering exactly as before.
51
+ */
52
+ export declare const shouldRenderStyledColumnOnRow: (styledColumn: StyledColumn, node: IRowNode, api: AdaptableApi) => boolean;
@@ -1,4 +1,66 @@
1
- import { getStyledColumnRowKindForNode, isStyledColumnRowKindSupported, } from '../../Utilities/Helpers/styledColumnRowKindSupport';
1
+ export const STYLED_COLUMN_ROW_KINDS = ['Data', 'Group', 'Summary', 'Total'];
2
+ export const STYLED_COLUMN_ROW_KIND_EXCLUDE_KEY = {
3
+ Data: 'ExcludeDataRows',
4
+ Group: 'ExcludeGroupRows',
5
+ Summary: 'ExcludeSummaryRows',
6
+ Total: 'ExcludeTotalRows',
7
+ };
8
+ export const isStyledColumnRowKindSupported = (styledColumn, kind) => {
9
+ if (styledColumn.SparklineStyle) {
10
+ return kind === 'Data';
11
+ }
12
+ return true;
13
+ };
14
+ export const getStyledColumnRowKindDisabledReason = (styledColumn, kind) => {
15
+ if (isStyledColumnRowKindSupported(styledColumn, kind)) {
16
+ return undefined;
17
+ }
18
+ if (styledColumn.SparklineStyle) {
19
+ return 'Sparklines only apply to leaf data rows (cells with a numeric array of points).';
20
+ }
21
+ return undefined;
22
+ };
23
+ /**
24
+ * Classifies the AG Grid row node into a single {@link StyledColumnRowKind}.
25
+ * Order matches {@link shouldRenderStyledColumnOnRow}: total before summary,
26
+ * summary before group.
27
+ */
28
+ export const getStyledColumnRowKindForNode = (node, api) => {
29
+ if (api.gridApi.isGrandTotalRowNode(node)) {
30
+ return 'Total';
31
+ }
32
+ if (api.gridApi.isSummaryNode(node)) {
33
+ return 'Summary';
34
+ }
35
+ if (api.gridApi.isGroupRowNode(node)) {
36
+ return 'Group';
37
+ }
38
+ return 'Data';
39
+ };
40
+ /**
41
+ * Forces `Exclude*` to `true` for row kinds that do not apply to the current
42
+ * Styled Column type, so persisted state cannot contradict the capability
43
+ * matrix. Returns `undefined` when no change is needed.
44
+ */
45
+ export const sanitizeStyledColumnRowScope = (styledColumn) => {
46
+ const scope = styledColumn.RowScope;
47
+ if (!scope) {
48
+ return undefined;
49
+ }
50
+ let next = { ...scope };
51
+ let changed = false;
52
+ for (const kind of STYLED_COLUMN_ROW_KINDS) {
53
+ if (isStyledColumnRowKindSupported(styledColumn, kind)) {
54
+ continue;
55
+ }
56
+ const key = STYLED_COLUMN_ROW_KIND_EXCLUDE_KEY[kind];
57
+ if (next[key] !== true) {
58
+ next = { ...next, [key]: true };
59
+ changed = true;
60
+ }
61
+ }
62
+ return changed ? next : undefined;
63
+ };
2
64
  /**
3
65
  * Returns `true` when the Styled Column should render on the given row.
4
66
  *
@@ -8,7 +70,7 @@ import { getStyledColumnRowKindForNode, isStyledColumnRowKindSupported, } from '
8
70
  *
9
71
  * Semantics:
10
72
  * - **Type capabilities** first: some types never target certain row kinds
11
- * (see `styledColumnRowKindSupport.ts`). Unsupported kinds always
73
+ * (see {@link isStyledColumnRowKindSupported}). Unsupported kinds always
12
74
  * return `false` regardless of `RowScope`.
13
75
  * - When `StyledColumn.RowScope` is **set**, the explicit `Exclude*`
14
76
  * flags win. Unset flags default to "include" — i.e. `RowScope: {}`
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Timing helpers for delaying / rate-limiting function calls.
3
+ *
4
+ * `debounce` and `throttle` are drop-in replacements for the equivalent
5
+ * lodash exports (`debounce` supports `{ leading, trailing, maxWait }`,
6
+ * `throttle` supports `{ leading, trailing }`).
7
+ *
8
+ * Both return an instance of `DebouncedFunction<T>` which exposes
9
+ * `cancel()` and `flush()` for managing pending invocations.
10
+ */
11
+ export interface DebounceOptions {
12
+ leading?: boolean;
13
+ trailing?: boolean;
14
+ maxWait?: number;
15
+ }
16
+ export interface DebouncedFunction<T extends (...args: any[]) => any> {
17
+ (...args: Parameters<T>): ReturnType<T> | undefined;
18
+ cancel(): void;
19
+ flush(): ReturnType<T> | undefined;
20
+ }
21
+ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait?: number, options?: DebounceOptions): DebouncedFunction<T>;
22
+ export interface ThrottleOptions {
23
+ leading?: boolean;
24
+ trailing?: boolean;
25
+ }
26
+ /**
27
+ * Implemented in terms of `debounce` with `maxWait` (same approach as lodash).
28
+ */
29
+ export declare function throttle<T extends (...args: any[]) => any>(func: T, wait?: number, options?: ThrottleOptions): DebouncedFunction<T>;
30
+ export declare const TimingHelper: {
31
+ debounce: typeof debounce;
32
+ throttle: typeof throttle;
33
+ };
34
+ export default TimingHelper;
@@ -1,13 +1,14 @@
1
1
  /**
2
- * Creates a debounced function that delays invoking func until after wait
3
- * milliseconds have elapsed since the last time the debounced function was
4
- * invoked. The debounced function comes with a cancel method to cancel
5
- * delayed func invocations and a flush method to immediately invoke them.
2
+ * Timing helpers for delaying / rate-limiting function calls.
6
3
  *
7
- * Supports options: { leading, trailing, maxWait }
8
- * Drop-in replacement for lodash/debounce.
4
+ * `debounce` and `throttle` are drop-in replacements for the equivalent
5
+ * lodash exports (`debounce` supports `{ leading, trailing, maxWait }`,
6
+ * `throttle` supports `{ leading, trailing }`).
7
+ *
8
+ * Both return an instance of `DebouncedFunction<T>` which exposes
9
+ * `cancel()` and `flush()` for managing pending invocations.
9
10
  */
10
- export default function debounce(func, wait = 0, options) {
11
+ export function debounce(func, wait = 0, options) {
11
12
  let lastArgs;
12
13
  let lastThis;
13
14
  let result;
@@ -59,7 +60,6 @@ export default function debounce(func, wait = 0, options) {
59
60
  trailingEdge(time);
60
61
  return;
61
62
  }
62
- // Restart the timer
63
63
  startTimer(timerExpired, remainingWait(time));
64
64
  }
65
65
  function trailingEdge(time) {
@@ -91,7 +91,6 @@ export default function debounce(func, wait = 0, options) {
91
91
  return result;
92
92
  }
93
93
  if (maxing) {
94
- // Handle invocations in a tight loop with maxWait
95
94
  cancelTimer();
96
95
  startTimer(timerExpired, wait);
97
96
  invokeFunc(time);
@@ -119,3 +118,18 @@ export default function debounce(func, wait = 0, options) {
119
118
  };
120
119
  return debounced;
121
120
  }
121
+ /**
122
+ * Implemented in terms of `debounce` with `maxWait` (same approach as lodash).
123
+ */
124
+ export function throttle(func, wait = 0, options) {
125
+ return debounce(func, wait, {
126
+ leading: options?.leading ?? true,
127
+ trailing: options?.trailing ?? true,
128
+ maxWait: wait,
129
+ });
130
+ }
131
+ export const TimingHelper = {
132
+ debounce,
133
+ throttle,
134
+ };
135
+ export default TimingHelper;
@@ -1,6 +1,6 @@
1
1
  import { MathOperation, } from '../AdaptableState/Common/Enums';
2
2
  import { createUuid } from '../AdaptableState/Uuid';
3
- import { buildCronExpression } from './Helpers/ScheduleHelper';
3
+ import { buildCronExpression } from './Helpers/Scheduling/ScheduleHelper';
4
4
  import { EMPTY_STRING } from './Constants/GeneralConstants';
5
5
  import { ALERT_DEFAULT_MESSAGE_TYPE, ALERT_DEFAULT_SHOW_POPUP, PLUS_MINUS_DEFAULT_NUDGE_VALUE, } from './Constants/ObjectDefaultConstants';
6
6
  import { Bounce, Flip, Slide, Zoom } from '../components/Toastify';
@@ -18,3 +18,5 @@ export declare class CalculatedColumnExpressionService implements ICalculatedCol
18
18
  createAggregatedScalarLiveValue(calculatedColumn: CalculatedColumn): void;
19
19
  destroyAggregatedScalarLiveValue(calculatedColumn: CalculatedColumn): void;
20
20
  }
21
+ export declare function buildSyntheticCellDataChangedInfosForCalcColumns(adaptableApi: AdaptableApi, info: CellDataChangedInfo): CellDataChangedInfo[];
22
+ export declare function expandCellDataChangedInfosWithCalculatedColumns(adaptableApi: AdaptableApi, cellDataChangedInfos: CellDataChangedInfo[]): CellDataChangedInfo[];
@@ -1,6 +1,7 @@
1
1
  import { CalculatedColumnModuleId } from '../Constants/ModuleConstants';
2
2
  import { AggregatedScalarLiveValue } from './AggregatedScalarLiveValue';
3
- import { buildSyntheticCellDataChangedInfosForCalcColumns } from './CalculatedColumnSyntheticChange';
3
+ import * as parser from '../../parser/src';
4
+ import Helper from '../Helpers/Helper';
4
5
  export class CalculatedColumnExpressionService {
5
6
  adaptableApi;
6
7
  aggregatedScalarLiveValuesMap = new Map();
@@ -139,3 +140,115 @@ export class CalculatedColumnExpressionService {
139
140
  this.aggregatedScalarLiveValuesMap.delete(calculatedColumn.Uuid);
140
141
  }
141
142
  }
143
+ function isScalarCalculatedColumn(calculatedColumn) {
144
+ return !!calculatedColumn.Query?.ScalarExpression;
145
+ }
146
+ function collectDependentScalarCalculatedColumns(adaptableApi, rootColumnId) {
147
+ const collected = [];
148
+ const seenCalcColumnIds = new Set();
149
+ const queue = [rootColumnId];
150
+ while (queue.length > 0) {
151
+ const columnId = queue.shift();
152
+ const adaptableColumn = adaptableApi.columnApi.getColumnWithColumnId(columnId);
153
+ if (!adaptableColumn) {
154
+ continue;
155
+ }
156
+ const dependentColumnIds = adaptableApi.calculatedColumnApi.internalApi.getCalculatedColumnsDependentOnColumn(adaptableColumn);
157
+ dependentColumnIds.forEach((dependentColumnId) => {
158
+ if (seenCalcColumnIds.has(dependentColumnId)) {
159
+ return;
160
+ }
161
+ const calculatedColumn = adaptableApi.calculatedColumnApi.getCalculatedColumnForColumnId(dependentColumnId);
162
+ if (!calculatedColumn || !isScalarCalculatedColumn(calculatedColumn)) {
163
+ return;
164
+ }
165
+ seenCalcColumnIds.add(dependentColumnId);
166
+ collected.push(calculatedColumn);
167
+ queue.push(dependentColumnId);
168
+ });
169
+ }
170
+ return collected;
171
+ }
172
+ function buildShadowRowData(adaptableApi, info) {
173
+ const shadowData = Helper.cloneObject(info.rowNode?.data ?? info.rowData ?? {});
174
+ const fieldName = info.column.field ?? info.column.columnId;
175
+ adaptableApi.internalApi.setValueUsingField(shadowData, fieldName, info.oldValue);
176
+ return shadowData;
177
+ }
178
+ function evaluateScalarExpressionWithShadowData(adaptableApi, calculatedColumn, rowNode, shadowData) {
179
+ const internalApi = adaptableApi.internalApi;
180
+ const moduleFns = internalApi
181
+ .getQueryLanguageService()
182
+ .getModuleExpressionFunctionsMap(CalculatedColumnModuleId);
183
+ const baseFunctions = { ...moduleFns.booleanFunctions, ...moduleFns.scalarFunctions };
184
+ const resolveColumnValue = (columnId) => {
185
+ const childCalculatedColumn = adaptableApi.calculatedColumnApi.getCalculatedColumnForColumnId(columnId);
186
+ if (childCalculatedColumn?.Query?.ScalarExpression) {
187
+ return evaluateScalarExpressionWithShadowData(adaptableApi, childCalculatedColumn, rowNode, shadowData);
188
+ }
189
+ const adaptableColumn = adaptableApi.columnApi.getColumnWithColumnId(columnId);
190
+ return internalApi.getValueUsingField(shadowData, adaptableColumn?.field ?? columnId);
191
+ };
192
+ const customFunctions = {
193
+ ...baseFunctions,
194
+ COL: {
195
+ ...baseFunctions.COL,
196
+ handler: (args) => resolveColumnValue(args[0]),
197
+ },
198
+ FIELD: {
199
+ ...baseFunctions.FIELD,
200
+ handler: (args) => internalApi.getValueUsingField(shadowData, args[0]),
201
+ },
202
+ };
203
+ return parser.evaluate(calculatedColumn.Query.ScalarExpression, {
204
+ node: { ...rowNode, data: shadowData },
205
+ functions: customFunctions,
206
+ ...internalApi.buildBaseContext(),
207
+ });
208
+ }
209
+ export function buildSyntheticCellDataChangedInfosForCalcColumns(adaptableApi, info) {
210
+ if (!info.rowNode ||
211
+ info.preventEdit ||
212
+ info.trigger === 'undo' ||
213
+ info.trigger === 'aggChange' ||
214
+ info.trigger === 'calculatedColumnChange') {
215
+ return [];
216
+ }
217
+ const calculatedColumns = collectDependentScalarCalculatedColumns(adaptableApi, info.column.columnId);
218
+ if (!calculatedColumns.length) {
219
+ return [];
220
+ }
221
+ const shadowData = buildShadowRowData(adaptableApi, info);
222
+ const expressionService = adaptableApi.internalApi.getCalculatedColumnExpressionService();
223
+ const syntheticEvents = [];
224
+ calculatedColumns.forEach((calculatedColumn) => {
225
+ const oldValue = evaluateScalarExpressionWithShadowData(adaptableApi, calculatedColumn, info.rowNode, shadowData);
226
+ const newValue = expressionService.evaluateCalculatedColumnQuery(calculatedColumn, info.rowNode);
227
+ if (oldValue == newValue) {
228
+ return;
229
+ }
230
+ const column = adaptableApi.columnApi.getColumnWithColumnId(calculatedColumn.ColumnId);
231
+ if (!column) {
232
+ return;
233
+ }
234
+ syntheticEvents.push(adaptableApi.internalApi.buildCellDataChangedInfo({
235
+ oldValue,
236
+ newValue,
237
+ column,
238
+ primaryKeyValue: info.primaryKeyValue,
239
+ rowNode: info.rowNode,
240
+ trigger: 'calculatedColumnChange',
241
+ }));
242
+ });
243
+ return syntheticEvents;
244
+ }
245
+ export function expandCellDataChangedInfosWithCalculatedColumns(adaptableApi, cellDataChangedInfos) {
246
+ if (!cellDataChangedInfos.length) {
247
+ return cellDataChangedInfos;
248
+ }
249
+ const syntheticEvents = cellDataChangedInfos.flatMap((info) => buildSyntheticCellDataChangedInfosForCalcColumns(adaptableApi, info));
250
+ if (!syntheticEvents.length) {
251
+ return cellDataChangedInfos;
252
+ }
253
+ return [...cellDataChangedInfos, ...syntheticEvents];
254
+ }
@@ -1 +1 @@
1
- import{LicenseDisablePersistence as e,LicenseShowWatermark as a}from"../../../Redux/ActionsReducers/InternalRedux";import{PopupShowAlert as t}from"../../../Redux/ActionsReducers/PopupRedux";import i from"../../ObjectFactory";import s from"../../utils/clamp";import{LicenseDocsLink as o}from"../../Constants/DocumentationLinkConstants";import{decode as n,GENERIC_APP_NAME as r}from"../../license/decode";import{shouldLogThankYouMessage as l}from"./shouldLogThankYouMessage";const c="sales@adaptabletools.com",p=10,d=864e5;export var LicenseValidityType;!function(e){e.INVALID_LICENSE="INVALID_LICENSE",e.NO_LICENSE="NO_LICENSE",e.NON_PRODUCTION_VALID="NON_PRODUCTION_VALID",e.NON_PRODUCTION_EXPIRED_IN_SCOPE="NON_PRODUCTION_EXPIRED_IN_SCOPE",e.NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE="NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE",e.COMMERCIAL_VALID="COMMERCIAL_VALID",e.COMMERCIAL_EXPIRED_IN_SCOPE="COMMERCIAL_EXPIRED_IN_SCOPE",e.COMMERCIAL_EXPIRED_OUT_OF_SCOPE="COMMERCIAL_EXPIRED_OUT_OF_SCOPE"}(LicenseValidityType||(LicenseValidityType={}));const h=()=>"undefined"!=typeof window?window.location.origin:"",E=()=>{const e=h(),[a,t,i]=Array.from(/(https):\/\/\d+\-\d+\-\d+\-(sandpack\.codesandbox\.io)/g.exec(e)||[]);return"https"===t&&"sandpack.codesandbox.io"===i},I=()=>{const e=h(),[a,t,i]=Array.from(/(https):\/\/\S+(\.csb\.app)/g.exec(e)||[]);return"https"===t&&".csb.app"===i},_=()=>{const e=h(),[a,t,i]=Array.from(/(https):\/\/\S+(\.adaptabletools\.com)/g.exec(e)||[]);return"https"===t&&".adaptabletools.com"===i};export class LicenseService{adaptable;licenseKey;packageDetails;constructor(e,a,t){this.adaptable=e,this.licenseKey=a,this.packageDetails=t,this.adaptable=e,this.adaptable.api.eventApi.on("AdaptableReady",()=>{requestAnimationFrame(()=>{this.adaptable.isDestroyed||this.init()})})}init(){let e=null;if(this.licenseKey)try{e=n(this.licenseKey)}catch(a){e=a}E()||I()||_()||this.handleLicenseValidation(e,this.getValidityType(e,this.packageDetails))}getValidityType(e,a){if(!e)return LicenseValidityType.NO_LICENSE;if(e instanceof Error)return LicenseValidityType.INVALID_LICENSE;const t=new Date(a.publishedAt),i=new Date(e.end),s=i<new Date,o=e.trial;let n=null;return n=s?i>t?o?LicenseValidityType.NON_PRODUCTION_EXPIRED_IN_SCOPE:LicenseValidityType.COMMERCIAL_EXPIRED_IN_SCOPE:o?LicenseValidityType.NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE:LicenseValidityType.COMMERCIAL_EXPIRED_OUT_OF_SCOPE:o?LicenseValidityType.NON_PRODUCTION_VALID:LicenseValidityType.COMMERCIAL_VALID,n}handleLicenseValidation(e,a){const t=new Date;t.setHours(0,0,0,0);let i=0;e instanceof Error||!e?.end||(i=Math.floor((e?.end?.getTime()-t.getTime())/d),i=s(i,0,1/0));let n="",h="";!e||e instanceof Error||!e.appName||e.appName==r||(n=e.appName,h=" for application [APP_NAME]");const E=(e,a=o,t=c,s=i,r=n)=>e.replace("[LINK]",a).replace("[EMAIL]",t).replace("[APP_NAME]",r).replace("[DAYS]",`${s}`);switch(a){case"NO_LICENSE":case"NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE":this.adaptable.logger.consoleLogByMessageType(E("This instance of AdapTable does not have a license, and some functionality has therefore been removed. In order to use a fully-featured version of AdapTable, please contact [EMAIL]. You can learn more about the different AdapTable license options at [LINK]."),"Error"),this.showNotification("No AdapTable License found."),this.showWatermark("This instance of AdapTable does not have a license, and some functionality has therefore been removed."),this.disableStatePersistence();break;case"INVALID_LICENSE":this.adaptable.logger.consoleLogByMessageType(E("This instance of AdapTable seems to use a corrupted License, and some functionality has therefore been removed. In order to use a fully-featured version of AdapTable, please contact [EMAIL]. You can learn more about the different AdapTable license options at [LINK]."),"Error"),this.showNotification("Corrupted AdapTable License found."),this.showWatermark("This instance of AdapTable has a corrupted License, and some functionality has therefore been removed."),this.disableStatePersistence();break;case"NON_PRODUCTION_VALID":this.adaptable.logger.consoleLogByMessageType(E("This AdapTable trial license expires in [DAYS] days. Please contact [EMAIL] to upgrade to a commercial version of AdapTable. You can learn more about the different AdapTable license options at [LINK]."),"Info");break;case"NON_PRODUCTION_EXPIRED_IN_SCOPE":this.adaptable.logger.consoleLogByMessageType(E("This AdapTable trial license has now expired. Please contact [EMAIL] to upgrade to a commercial version of AdapTable. You can learn more about the different AdapTable license options at [LINK]."),"Warning"),this.showWatermark("AdapTable License has expired");break;case"COMMERCIAL_VALID":if(i<=p)this.adaptable.logger.consoleLogByMessageType(E(`This AdapTable license${h} expires in [DAYS] days. Please contact [EMAIL] to renew (giving you access to Support and Updates)`),"Info");else try{l()&&this.adaptable.logger.consoleLogByMessageType(E(`Thank you for using a valid AdapTable license${h}. Your license will expire in [DAYS] days.`),"Info")}catch(e){}break;case"COMMERCIAL_EXPIRED_IN_SCOPE":this.adaptable.logger.consoleLogByMessageType(E(`This AdapTable license${h} has expired. Please contact [EMAIL] if you wish to renew (giving you access to Support and Updates)`),"Warning");break;case"COMMERCIAL_EXPIRED_OUT_OF_SCOPE":this.adaptable.logger.consoleLogByMessageType(E(`This AdapTable license${h} has expired. Adaptable version was published after the license expired. Please contact [EMAIL] if you wish to renew your license.`),"Error"),this.showNotification("Adaptable License has expired"),this.showWatermark("Adaptable License has expired")}}showNotification(e){this.adaptable.api.internalApi.dispatchReduxAction(t({alertType:"generic",header:"License Error",message:e,alertDefinition:i.CreateInternalAlertDefinitionForMessages("Error")}))}showWatermark(e){this.adaptable.api.internalApi.dispatchReduxAction(a(e))}disableStatePersistence(){this.adaptable.api.internalApi.dispatchReduxAction(e())}destroy(){}}
1
+ import{LicenseDisablePersistence as e,LicenseShowWatermark as a}from"../../../Redux/ActionsReducers/InternalRedux";import{PopupShowAlert as t}from"../../../Redux/ActionsReducers/PopupRedux";import i from"../../ObjectFactory";import{clamp as s}from"../../Extensions/NumberExtensions";import{LicenseDocsLink as o}from"../../Constants/DocumentationLinkConstants";import{decode as n,GENERIC_APP_NAME as r}from"../../license/decode";import{shouldLogThankYouMessage as l}from"./shouldLogThankYouMessage";const c="sales@adaptabletools.com",p=10,d=864e5;export var LicenseValidityType;!function(e){e.INVALID_LICENSE="INVALID_LICENSE",e.NO_LICENSE="NO_LICENSE",e.NON_PRODUCTION_VALID="NON_PRODUCTION_VALID",e.NON_PRODUCTION_EXPIRED_IN_SCOPE="NON_PRODUCTION_EXPIRED_IN_SCOPE",e.NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE="NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE",e.COMMERCIAL_VALID="COMMERCIAL_VALID",e.COMMERCIAL_EXPIRED_IN_SCOPE="COMMERCIAL_EXPIRED_IN_SCOPE",e.COMMERCIAL_EXPIRED_OUT_OF_SCOPE="COMMERCIAL_EXPIRED_OUT_OF_SCOPE"}(LicenseValidityType||(LicenseValidityType={}));const E=()=>"undefined"!=typeof window?window.location.origin:"",h=()=>{const e=E(),[a,t,i]=Array.from(/(https):\/\/\d+\-\d+\-\d+\-(sandpack\.codesandbox\.io)/g.exec(e)||[]);return"https"===t&&"sandpack.codesandbox.io"===i},I=()=>{const e=E(),[a,t,i]=Array.from(/(https):\/\/\S+(\.csb\.app)/g.exec(e)||[]);return"https"===t&&".csb.app"===i},_=()=>{const e=E(),[a,t,i]=Array.from(/(https):\/\/\S+(\.adaptabletools\.com)/g.exec(e)||[]);return"https"===t&&".adaptabletools.com"===i};export class LicenseService{adaptable;licenseKey;packageDetails;constructor(e,a,t){this.adaptable=e,this.licenseKey=a,this.packageDetails=t,this.adaptable=e,this.adaptable.api.eventApi.on("AdaptableReady",()=>{requestAnimationFrame(()=>{this.adaptable.isDestroyed||this.init()})})}init(){let e=null;if(this.licenseKey)try{e=n(this.licenseKey)}catch(a){e=a}h()||I()||_()||this.handleLicenseValidation(e,this.getValidityType(e,this.packageDetails))}getValidityType(e,a){if(!e)return LicenseValidityType.NO_LICENSE;if(e instanceof Error)return LicenseValidityType.INVALID_LICENSE;const t=new Date(a.publishedAt),i=new Date(e.end),s=i<new Date,o=e.trial;let n=null;return n=s?i>t?o?LicenseValidityType.NON_PRODUCTION_EXPIRED_IN_SCOPE:LicenseValidityType.COMMERCIAL_EXPIRED_IN_SCOPE:o?LicenseValidityType.NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE:LicenseValidityType.COMMERCIAL_EXPIRED_OUT_OF_SCOPE:o?LicenseValidityType.NON_PRODUCTION_VALID:LicenseValidityType.COMMERCIAL_VALID,n}handleLicenseValidation(e,a){const t=new Date;t.setHours(0,0,0,0);let i=0;e instanceof Error||!e?.end||(i=Math.floor((e?.end?.getTime()-t.getTime())/d),i=s(i,0,1/0));let n="",E="";!e||e instanceof Error||!e.appName||e.appName==r||(n=e.appName,E=" for application [APP_NAME]");const h=(e,a=o,t=c,s=i,r=n)=>e.replace("[LINK]",a).replace("[EMAIL]",t).replace("[APP_NAME]",r).replace("[DAYS]",`${s}`);switch(a){case"NO_LICENSE":case"NON_PRODUCTION_EXPIRED_OUT_OF_SCOPE":this.adaptable.logger.consoleLogByMessageType(h("This instance of AdapTable does not have a license, and some functionality has therefore been removed. In order to use a fully-featured version of AdapTable, please contact [EMAIL]. You can learn more about the different AdapTable license options at [LINK]."),"Error"),this.showNotification("No AdapTable License found."),this.showWatermark("This instance of AdapTable does not have a license, and some functionality has therefore been removed."),this.disableStatePersistence();break;case"INVALID_LICENSE":this.adaptable.logger.consoleLogByMessageType(h("This instance of AdapTable seems to use a corrupted License, and some functionality has therefore been removed. In order to use a fully-featured version of AdapTable, please contact [EMAIL]. You can learn more about the different AdapTable license options at [LINK]."),"Error"),this.showNotification("Corrupted AdapTable License found."),this.showWatermark("This instance of AdapTable has a corrupted License, and some functionality has therefore been removed."),this.disableStatePersistence();break;case"NON_PRODUCTION_VALID":this.adaptable.logger.consoleLogByMessageType(h("This AdapTable trial license expires in [DAYS] days. Please contact [EMAIL] to upgrade to a commercial version of AdapTable. You can learn more about the different AdapTable license options at [LINK]."),"Info");break;case"NON_PRODUCTION_EXPIRED_IN_SCOPE":this.adaptable.logger.consoleLogByMessageType(h("This AdapTable trial license has now expired. Please contact [EMAIL] to upgrade to a commercial version of AdapTable. You can learn more about the different AdapTable license options at [LINK]."),"Warning"),this.showWatermark("AdapTable License has expired");break;case"COMMERCIAL_VALID":if(i<=p)this.adaptable.logger.consoleLogByMessageType(h(`This AdapTable license${E} expires in [DAYS] days. Please contact [EMAIL] to renew (giving you access to Support and Updates)`),"Info");else try{l()&&this.adaptable.logger.consoleLogByMessageType(h(`Thank you for using a valid AdapTable license${E}. Your license will expire in [DAYS] days.`),"Info")}catch(e){}break;case"COMMERCIAL_EXPIRED_IN_SCOPE":this.adaptable.logger.consoleLogByMessageType(h(`This AdapTable license${E} has expired. Please contact [EMAIL] if you wish to renew (giving you access to Support and Updates)`),"Warning");break;case"COMMERCIAL_EXPIRED_OUT_OF_SCOPE":this.adaptable.logger.consoleLogByMessageType(h(`This AdapTable license${E} has expired. Adaptable version was published after the license expired. Please contact [EMAIL] if you wish to renew your license.`),"Error"),this.showNotification("Adaptable License has expired"),this.showWatermark("Adaptable License has expired")}}showNotification(e){this.adaptable.api.internalApi.dispatchReduxAction(t({alertType:"generic",header:"License Error",message:e,alertDefinition:i.CreateInternalAlertDefinitionForMessages("Error")}))}showWatermark(e){this.adaptable.api.internalApi.dispatchReduxAction(a(e))}disableStatePersistence(){this.adaptable.api.internalApi.dispatchReduxAction(e())}destroy(){}}
@@ -19,7 +19,7 @@ export declare class RowSummaryService {
19
19
  *
20
20
  * @param colId optional to evaluate only one column
21
21
  */
22
- _throttledEvaluateRowSummary: import("../utils/debounce").DebouncedFunction<(reason?: {
22
+ _throttledEvaluateRowSummary: import("../Helpers/TimingHelper").DebouncedFunction<(reason?: {
23
23
  columnIds: string[];
24
24
  }) => void>;
25
25
  private evaluateRowSummary;
@@ -1,11 +1,11 @@
1
1
  import { ROW_SUMMARY_ROW_ID, WEIGHTED_AVERAGE_AGGREGATED_FUNCTION, } from '../../AdaptableState/Common/RowSummary';
2
2
  import { RowSummarySet } from '../../Redux/ActionsReducers/InternalRedux';
3
3
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
4
- import Helper from '../Helpers/Helper';
4
+ import { roundNumber } from '../Extensions/NumberExtensions';
5
5
  import { AggregatedScalarLiveValue } from './AggregatedScalarLiveValue';
6
6
  import { isObjectEmpty } from '../Extensions/ObjectExtensions';
7
- import throttle from '../utils/throttle';
8
- import isEqual from '../utils/isEqual';
7
+ import { throttle } from '../Helpers/TimingHelper';
8
+ import { isEqual } from '../Extensions/ObjectExtensions';
9
9
  /**
10
10
  * The logic is extracted here to make it easier to follow
11
11
  */
@@ -155,7 +155,7 @@ export class RowSummaryService {
155
155
  if (expressionLiveValue) {
156
156
  value = expressionLiveValue.getGlobalAggregatedValue();
157
157
  if (typeof value === 'number' && !isNaN(value)) {
158
- value = Helper.roundNumber(value, 2);
158
+ value = roundNumber(value, 2);
159
159
  }
160
160
  }
161
161
  const column = this.api.columnApi.getColumnWithColumnId(columnId);
@@ -9,7 +9,7 @@ import { useRef, useState } from 'react';
9
9
  import StringExtensions from '../../../Utilities/Extensions/StringExtensions';
10
10
  import { DataSource, InfiniteTableGrid, } from '../../../components/InfiniteTable';
11
11
  import { Box, Flex } from '../../../components/Flex';
12
- import throttle from '../../../Utilities/utils/throttle';
12
+ import { throttle } from '../../../Utilities/Helpers/TimingHelper';
13
13
  import { twMerge } from '../../../twMerge';
14
14
  const dataTypes = [
15
15
  {
@@ -1,5 +1,5 @@
1
1
  import { OBSERVABLE_EXPRESSION_ROW_ADDED, OBSERVABLE_EXPRESSION_ROW_REMOVED, } from './../../../Utilities/Constants/GeneralConstants';
2
- import { getRuleAlertProperties, isScheduledAlertDefinition, } from '../../../Utilities/Helpers/ScheduledAlertHelper';
2
+ import { getRuleAlertProperties, isScheduledAlertDefinition, } from '../../../Utilities/Helpers/Scheduling/ScheduledAlertHelper';
3
3
  export var AlertType;
4
4
  (function (AlertType) {
5
5
  AlertType["DataChange"] = "DataChange";
@@ -1,5 +1,5 @@
1
1
  import ObjectFactory from '../../../Utilities/ObjectFactory';
2
- import { CreateEmptyScheduledAlertDefinition } from '../../../Utilities/Helpers/ScheduledAlertHelper';
2
+ import { CreateEmptyScheduledAlertDefinition } from '../../../Utilities/Helpers/Scheduling/ScheduledAlertHelper';
3
3
  import { AlertType } from './getAlertType';
4
4
  /**
5
5
  * This logic should be moved into Object factory once we have types on alert definitions
@@ -1,4 +1,4 @@
1
- import { isRuleBasedAlertDefinition } from '../../../Utilities/Helpers/ScheduledAlertHelper';
1
+ import { isRuleBasedAlertDefinition } from '../../../Utilities/Helpers/Scheduling/ScheduledAlertHelper';
2
2
  export const mapAlertDefinition = (api, alertDefinition) => {
3
3
  if (!isRuleBasedAlertDefinition(alertDefinition)) {
4
4
  return alertDefinition;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { isRuleBasedAlertDefinition } from '../../../Utilities/Helpers/ScheduledAlertHelper';
2
+ import { isRuleBasedAlertDefinition } from '../../../Utilities/Helpers/Scheduling/ScheduledAlertHelper';
3
3
  import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
4
4
  import { CheckBox } from '../../../components/CheckBox';
5
5
  import { CodeBlock } from '../../../components/CodeBlock';