@adaptabletools/adaptable-cjs 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 (318) hide show
  1. package/index.css +98 -17
  2. package/package.json +1 -1
  3. package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.js +2 -3
  4. package/src/AdaptableState/Common/Enums.d.ts +0 -12
  5. package/src/AdaptableState/Common/Enums.js +1 -16
  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 +0 -10
  10. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  11. package/src/AdaptableState/StyledColumns/BadgeStyle.js +12 -0
  12. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  13. package/src/AdaptableState/StyledColumns/BulletChartStyle.js +2 -0
  14. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.d.ts +84 -0
  15. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +6 -0
  16. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  17. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +7 -0
  18. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  19. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +10 -0
  20. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  21. package/src/AdaptableState/StyledColumns/GradientStyle.js +2 -0
  22. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  23. package/src/AdaptableState/StyledColumns/IconStyle.js +2 -0
  24. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  25. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +2 -0
  26. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  27. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +2 -0
  28. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  29. package/src/AdaptableState/StyledColumns/RatingStyle.js +2 -0
  30. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  31. package/src/AdaptableState/StyledColumns/SparklineStyle.js +2 -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 +5 -5
  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 +2 -3
  38. package/src/Api/Implementation/QuickSearchApiImpl.js +4 -4
  39. package/src/Api/Implementation/ThemeApiImpl.js +2 -2
  40. package/src/Api/Internal/ActionColumnInternalApi.js +2 -2
  41. package/src/Api/Internal/AlertInternalApi.js +1 -1
  42. package/src/Api/Internal/ChartingInternalApi.js +2 -2
  43. package/src/Api/Internal/ColumnInternalApi.js +2 -2
  44. package/src/Api/Internal/EventInternalApi.js +3 -4
  45. package/src/Api/Internal/ExportInternalApi.js +2 -2
  46. package/src/Api/Internal/FormatColumnInternalApi.js +4 -4
  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 +6 -6
  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 +2 -3
  53. package/src/Redux/Store/AdaptableReduxMerger.js +7 -9
  54. package/src/Redux/Store/AdaptableStore.js +5 -5
  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 +4 -4
  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 +2 -2
  72. package/src/Strategy/NoteModule.d.ts +1 -1
  73. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  74. package/src/Strategy/PlusMinusModule.js +8 -8
  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 +4 -4
  79. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +2 -3
  80. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +2 -2
  81. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +2 -3
  82. package/src/Utilities/Extensions/ArrayExtensions.d.ts +32 -0
  83. package/src/Utilities/Extensions/ArrayExtensions.js +54 -1
  84. package/src/Utilities/Extensions/NumberExtensions.d.ts +21 -0
  85. package/src/Utilities/Extensions/NumberExtensions.js +78 -0
  86. package/src/Utilities/Extensions/ObjectExtensions.d.ts +44 -0
  87. package/src/Utilities/Extensions/ObjectExtensions.js +277 -0
  88. package/src/Utilities/Extensions/StringExtensions.d.ts +26 -0
  89. package/src/Utilities/Extensions/StringExtensions.js +49 -3
  90. package/src/Utilities/Helpers/AdaptableHelper.js +7 -7
  91. package/src/Utilities/Helpers/{alertFormHelper.js → AlertHelper.js} +1 -1
  92. package/src/Utilities/Helpers/DateHelper.js +2 -2
  93. package/src/Utilities/Helpers/{FormatHelper.js → DisplayFormatHelper.js} +5 -5
  94. package/src/Utilities/Helpers/Helper.d.ts +0 -6
  95. package/src/Utilities/Helpers/Helper.js +0 -38
  96. package/src/Utilities/Helpers/{QuickSearchStyleHelper.js → QuickSearchHelper.js} +2 -3
  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} +16 -1
  109. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.d.ts +63 -0
  110. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +334 -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} +9 -9
  113. package/src/Utilities/Helpers/{IconStylePresets.d.ts → StyledColumns/IconStyleHelper.d.ts} +6 -1
  114. package/src/Utilities/Helpers/{IconStylePresets.js → StyledColumns/IconStyleHelper.js} +16 -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} +11 -17
  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/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +124 -0
  120. package/src/Utilities/Helpers/TimingHelper.d.ts +34 -0
  121. package/src/Utilities/{utils/debounce.js → Helpers/TimingHelper.js} +25 -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 +118 -2
  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 +6 -6
  128. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +2 -2
  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 +159 -126
  134. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +4 -4
  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 +2 -2
  141. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +2 -2
  142. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +2 -2
  143. package/src/View/Comments/CommentsEditor.js +2 -2
  144. package/src/View/Comments/CommentsPopup.js +2 -2
  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 +6 -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 +2 -2
  154. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +2 -2
  155. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +2 -2
  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 +2 -2
  159. package/src/View/Components/Popups/AdaptablePopupAlert.js +2 -2
  160. package/src/View/Components/Popups/Utilities.js +5 -5
  161. package/src/View/Components/RangesComponent.d.ts +4 -3
  162. package/src/View/Components/RangesComponent.js +5 -9
  163. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +3 -3
  164. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +2 -3
  165. package/src/View/Dashboard/CustomDashboardButton.js +2 -3
  166. package/src/View/Dashboard/Dashboard.js +2 -2
  167. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +2 -2
  168. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +2 -2
  169. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +2 -2
  170. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +2 -2
  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 +13 -13
  174. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +4 -4
  175. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +2 -2
  176. package/src/View/Layout/LayoutViewPanel.js +2 -2
  177. package/src/View/Layout/Wizard/sections/RowSummarySection.js +128 -102
  178. package/src/View/Note/NoteEditor.js +2 -2
  179. package/src/View/Note/NotePopup.js +2 -2
  180. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +7 -7
  181. package/src/View/QuickSearch/QuickSearchPopup.js +4 -4
  182. package/src/View/QuickSearch/useQuickSearchDebounced.js +2 -3
  183. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  184. package/src/View/SpecialColumnSettingsWizardStep.js +2 -2
  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 +8 -8
  190. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +42 -15
  191. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +92 -52
  192. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +14 -14
  193. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.d.ts +9 -0
  194. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.js +37 -0
  195. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.d.ts +23 -0
  196. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +62 -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 +7 -9
  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 +4 -4
  207. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +2 -2
  208. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +24 -15
  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 +2 -2
  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 +2 -2
  215. package/src/View/Wizard/OnePageWizards.js +3 -1
  216. package/src/agGrid/AdaptableAgGrid.js +11 -11
  217. package/src/agGrid/AgGridColumnAdapter.js +30 -28
  218. package/src/agGrid/AgGridExportAdapter.js +3 -3
  219. package/src/agGrid/AgGridMenuAdapter.js +129 -4
  220. package/src/agGrid/cellRenderers/BadgeRenderer.js +9 -7
  221. package/src/agGrid/cellRenderers/BulletChartRenderer.js +47 -46
  222. package/src/agGrid/cellRenderers/IconRenderer.d.ts +2 -1
  223. package/src/agGrid/cellRenderers/IconRenderer.js +20 -19
  224. package/src/agGrid/cellRenderers/PercentBarRenderer.js +29 -101
  225. package/src/agGrid/cellRenderers/RangeBarRenderer.js +54 -52
  226. package/src/agGrid/cellRenderers/RatingRenderer.js +6 -6
  227. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  228. package/src/components/ColorPicker/ColorPicker.js +2 -2
  229. package/src/components/Datepicker/index.js +2 -2
  230. package/src/components/FormLayout/index.js +2 -2
  231. package/src/components/OverlayTrigger/index.js +2 -2
  232. package/src/env.js +2 -2
  233. package/src/layout-manager/src/isLayoutEqual.js +4 -5
  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.cjs.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 -18
  243. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +0 -3
  244. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +0 -19
  245. package/src/Utilities/Helpers/styledColumnRowKindSupport.d.ts +0 -25
  246. package/src/Utilities/Helpers/styledColumnRowKindSupport.js +0 -70
  247. package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +0 -4
  248. package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +0 -120
  249. package/src/Utilities/utils/chunk.d.ts +0 -6
  250. package/src/Utilities/utils/chunk.js +0 -20
  251. package/src/Utilities/utils/clamp.d.ts +0 -5
  252. package/src/Utilities/utils/clamp.js +0 -10
  253. package/src/Utilities/utils/cloneDeepWith.d.ts +0 -9
  254. package/src/Utilities/utils/cloneDeepWith.js +0 -70
  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 -10
  258. package/src/Utilities/utils/flattenDeep.d.ts +0 -5
  259. package/src/Utilities/utils/flattenDeep.js +0 -10
  260. package/src/Utilities/utils/get.d.ts +0 -6
  261. package/src/Utilities/utils/get.js +0 -38
  262. package/src/Utilities/utils/index.d.ts +0 -22
  263. package/src/Utilities/utils/index.js +0 -48
  264. package/src/Utilities/utils/isArray.d.ts +0 -6
  265. package/src/Utilities/utils/isArray.js +0 -8
  266. package/src/Utilities/utils/isEqual.d.ts +0 -5
  267. package/src/Utilities/utils/isEqual.js +0 -127
  268. package/src/Utilities/utils/isObject.d.ts +0 -6
  269. package/src/Utilities/utils/isObject.js +0 -12
  270. package/src/Utilities/utils/isPlainObject.d.ts +0 -6
  271. package/src/Utilities/utils/isPlainObject.js +0 -20
  272. package/src/Utilities/utils/kebabCase.d.ts +0 -5
  273. package/src/Utilities/utils/kebabCase.js +0 -12
  274. package/src/Utilities/utils/merge.d.ts +0 -11
  275. package/src/Utilities/utils/merge.js +0 -44
  276. package/src/Utilities/utils/mergeWith.d.ts +0 -7
  277. package/src/Utilities/utils/mergeWith.js +0 -50
  278. package/src/Utilities/utils/orderBy.d.ts +0 -8
  279. package/src/Utilities/utils/orderBy.js +0 -33
  280. package/src/Utilities/utils/parseInt.d.ts +0 -6
  281. package/src/Utilities/utils/parseInt.js +0 -12
  282. package/src/Utilities/utils/sentenceCase.d.ts +0 -6
  283. package/src/Utilities/utils/sentenceCase.js +0 -19
  284. package/src/Utilities/utils/startCase.d.ts +0 -5
  285. package/src/Utilities/utils/startCase.js +0 -15
  286. package/src/Utilities/utils/throttle.d.ts +0 -17
  287. package/src/Utilities/utils/throttle.js +0 -23
  288. package/src/Utilities/utils/toNumber.d.ts +0 -5
  289. package/src/Utilities/utils/toNumber.js +0 -42
  290. package/src/Utilities/utils/uniq.d.ts +0 -7
  291. package/src/Utilities/utils/uniq.js +0 -12
  292. package/src/Utilities/utils/uniqBy.d.ts +0 -8
  293. package/src/Utilities/utils/uniqBy.js +0 -25
  294. package/src/Utilities/utils/words.d.ts +0 -7
  295. package/src/Utilities/utils/words.js +0 -13
  296. package/src/agGrid/buildValueAggregationMenuItem.d.ts +0 -19
  297. package/src/agGrid/buildValueAggregationMenuItem.js +0 -114
  298. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.d.ts +0 -30
  299. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.js +0 -58
  300. package/src/agGrid/createAgGridIcon.d.ts +0 -10
  301. package/src/agGrid/createAgGridIcon.js +0 -19
  302. /package/src/{Utilities → AdaptableState/Aggregations}/only.d.ts +0 -0
  303. /package/src/{Utilities → AdaptableState/Aggregations}/only.js +0 -0
  304. /package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.d.ts +0 -0
  305. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.d.ts → ActionColumnHelper.d.ts} +0 -0
  306. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.js → ActionColumnHelper.js} +0 -0
  307. /package/src/Utilities/Helpers/{alertFormHelper.d.ts → AlertHelper.d.ts} +0 -0
  308. /package/src/Utilities/Helpers/{chartingHelper.d.ts → ChartHelper.d.ts} +0 -0
  309. /package/src/Utilities/Helpers/{chartingHelper.js → ChartHelper.js} +0 -0
  310. /package/src/Utilities/Helpers/{FormatHelper.d.ts → DisplayFormatHelper.d.ts} +0 -0
  311. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.d.ts → PlusMinusHelper.d.ts} +0 -0
  312. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.js → PlusMinusHelper.js} +0 -0
  313. /package/src/Utilities/Helpers/{QuickSearchStyleHelper.d.ts → QuickSearchHelper.d.ts} +0 -0
  314. /package/src/Utilities/Helpers/{ScheduleJobManager.js → Scheduling/ScheduleJobManager.js} +0 -0
  315. /package/src/Utilities/Helpers/{ScheduleJobRunner.js → Scheduling/ScheduleJobRunner.js} +0 -0
  316. /package/src/Utilities/Helpers/{SparklineOptionsHelper.d.ts → StyledColumns/SparklineStyleHelper.d.ts} +0 -0
  317. /package/src/Utilities/Helpers/{ThemeHelpers.d.ts → ThemeHelper.d.ts} +0 -0
  318. /package/src/Utilities/Helpers/{ThemeHelpers.js → ThemeHelper.js} +0 -0
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectListActionButtonClassName = void 0;
4
+ const utils_1 = require("../../../lib/utils");
5
+ const objectListActionButtonClassName = (kind, className) => (0, utils_1.cn)('ab-ObjectListActionButton', `ab-ObjectListActionButton--${kind}`, className);
6
+ exports.objectListActionButtonClassName = objectListActionButtonClassName;
@@ -41,7 +41,7 @@ class EntityListActionButtons extends React.Component {
41
41
  'twa:justify-center': justifyContent === 'center',
42
42
  'twa:justify-end': justifyContent === 'end',
43
43
  }) || 'twa:justify-center';
44
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: `${justifyContentClassName} twa:m-0 twa:p-0`, onClick: stopPropagation, children: [this.props.showEdit && ((0, jsx_runtime_1.jsx)(ButtonEdit_1.ButtonEdit, { onClick: () => (this.props.editClick ? this.props.editClick() : null), className: `twa:ml-0 twa:mr-[2px] twa:my-[2px] twa:text-action-edit-foreground twa:bg-action-edit twa:fill-action-edit-foreground`, disabled: this.props.overrideDisableEdit || this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipEdit, accessLevel: this.props.accessLevel })), this.props.showClone && ((0, jsx_runtime_1.jsx)(ButtonClone_1.ButtonClone, { onClick: () => (this.props.cloneClick ? this.props.cloneClick() : null), className: `twa:ml-0 twa:mr-[2px] twa:my-[2px] twa:text-action-clone-foreground twa:bg-action-clone twa:fill-action-clone-foreground`, children: null, disabled: this.props.overrideDisableClone || this.props.cloneAccessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipClone, accessLevel: this.props.cloneAccessLevel })), this.props.showDelete && ((0, jsx_runtime_1.jsx)(ButtonDelete_1.ButtonDelete, { "data-name": "delete", className: `twa:mx-[px] twa:my-[2px] twa:text-action-delete-foreground twa:bg-action-delete twa:fill-action-delete-foreground`, disabled: this.props.overrideDisableDelete || this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipDelete, ConfirmAction: this.props.confirmDeleteAction, ConfirmationMsg: 'Are you sure you want to delete this ' + this.props.entityType + '?', ConfirmationTitle: 'Delete ' + this.props.entityType, accessLevel: this.props.accessLevel })), this.props.showShare && ((0, jsx_runtime_1.jsx)(ButtonShare_1.ButtonShare, { className: `twa:mx-[1px] twa:my-[2px] twa:text-action-share-foreground twa:bg-action-share twa:fill-action-share-foreground`, onShare: (config) => this.props.shareClick ? this.props.shareClick(config) : null, Header: `TeamSharing ${this.props.entityType}`, disabled: this.props.overrideDisableShare || this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipShare, accessLevel: this.props.accessLevel })), this.props.showSuspend && this.props.suspendableObject && ((0, jsx_runtime_1.jsx)(SuspendToggleButton_1.SuspendToggleButton, { className: `twa:ml-[2px] twa:align-self-center`, onSuspend: this.props.onSuspend, onUnSuspend: this.props.onUnSuspend, suspendableObject: this.props.suspendableObject, disabled: this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY }))] }));
44
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: `${justifyContentClassName} twa:m-0 twa:p-0`, onClick: stopPropagation, children: [this.props.showEdit && ((0, jsx_runtime_1.jsx)(ButtonEdit_1.ButtonEdit, { onClick: () => (this.props.editClick ? this.props.editClick() : null), className: `twa:ml-0 twa:mr-[2px] twa:my-[2px] twa:text-action-edit-foreground twa:bg-action-edit twa:fill-action-edit-foreground`, disabled: this.props.overrideDisableEdit || this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipEdit, accessLevel: this.props.accessLevel })), this.props.showClone && ((0, jsx_runtime_1.jsx)(ButtonClone_1.ButtonClone, { onClick: () => (this.props.cloneClick ? this.props.cloneClick() : null), className: `twa:ml-0 twa:mr-[2px] twa:my-[2px] twa:text-action-clone-foreground twa:bg-action-clone twa:fill-action-clone-foreground`, children: null, disabled: this.props.overrideDisableClone || this.props.cloneAccessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipClone, accessLevel: this.props.cloneAccessLevel })), this.props.showDelete && ((0, jsx_runtime_1.jsx)(ButtonDelete_1.ButtonDelete, { "data-name": "delete", className: `twa:mx-[px] twa:my-[2px] twa:text-action-delete-foreground twa:bg-action-delete twa:fill-action-delete-foreground`, disabled: this.props.overrideDisableDelete || this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipDelete, ConfirmAction: this.props.confirmDeleteAction, ConfirmationMsg: 'Are you sure you want to delete this ' + this.props.entityType + '?', ConfirmationTitle: 'Delete ' + this.props.entityType, accessLevel: this.props.accessLevel })), this.props.showShare && ((0, jsx_runtime_1.jsx)(ButtonShare_1.ButtonShare, { className: `twa:mx-[1px] twa:my-[2px] twa:text-action-share-foreground twa:bg-action-share twa:fill-action-share-foreground`, onShare: (config) => this.props.shareClick ? this.props.shareClick(config) : null, Header: `TeamSharing ${this.props.entityType}`, disabled: this.props.overrideDisableShare || this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, tooltip: this.props.overrideTooltipShare, accessLevel: this.props.accessLevel })), this.props.showSuspend && this.props.suspendableObject && ((0, jsx_runtime_1.jsx)(SuspendToggleButton_1.SuspendToggleButton, { className: "twa:align-self-center", iconSize: 24, onSuspend: this.props.onSuspend, onUnSuspend: this.props.onUnSuspend, suspendableObject: this.props.suspendableObject, disabled: this.props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY }))] }));
45
45
  }
46
46
  }
47
47
  exports.EntityListActionButtons = EntityListActionButtons;
@@ -9,6 +9,7 @@ interface EntityListSuspendButtonProps {
9
9
  disabled?: boolean;
10
10
  accessLevel?: AccessLevel;
11
11
  className?: string;
12
+ iconSize?: number;
12
13
  }
13
14
  export declare const SuspendToggleButton: React.FunctionComponent<EntityListSuspendButtonProps>;
14
15
  export {};
@@ -4,19 +4,19 @@ exports.SuspendToggleButton = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
- const ToggleButton_1 = require("../../../../components/ToggleButton");
7
+ const SimpleButton_1 = tslib_1.__importDefault(require("../../../../components/SimpleButton"));
8
8
  const GeneralConstants_1 = require("../../../../Utilities/Constants/GeneralConstants");
9
9
  const utils_1 = require("../../../../lib/utils");
10
- exports.SuspendToggleButton = React.memo(({ suspendableObject, onUnSuspend, onSuspend, style, disabled, accessLevel, className }) => {
11
- const handleOnChange = React.useCallback((checked) => {
12
- if (checked) {
10
+ exports.SuspendToggleButton = React.memo(({ suspendableObject, onUnSuspend, onSuspend, style, disabled, accessLevel, className, iconSize = 26, }) => {
11
+ const preparedDisabled = (accessLevel && accessLevel === GeneralConstants_1.ACCESS_LEVEL_READ_ONLY) || disabled;
12
+ const isSuspended = suspendableObject.IsSuspended;
13
+ const handleClick = React.useCallback(() => {
14
+ if (isSuspended) {
13
15
  onUnSuspend(suspendableObject);
14
16
  }
15
17
  else {
16
18
  onSuspend(suspendableObject);
17
19
  }
18
- }, [onUnSuspend, onSuspend]);
19
- const preparedDisabled = (accessLevel && accessLevel === GeneralConstants_1.ACCESS_LEVEL_READ_ONLY) || disabled;
20
- const isSuspended = suspendableObject.IsSuspended;
21
- return ((0, jsx_runtime_1.jsx)(ToggleButton_1.ToggleButton, { className: (0, utils_1.cn)(`ab-SuspendButton`, className), "data-name": suspendableObject.IsSuspended ? 'un-suspend' : 'suspend', disabled: preparedDisabled, style: style, onChange: handleOnChange, checked: !isSuspended, children: isSuspended ? 'inactive' : 'active' }));
20
+ }, [isSuspended, onSuspend, onUnSuspend, suspendableObject]);
21
+ return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { className: (0, utils_1.cn)('ab-SuspendButton', isSuspended && 'twa:opacity-60', className), "data-name": isSuspended ? 'resume' : 'suspend', disabled: preparedDisabled, style: style, variant: "text", tone: "neutral", iconSize: iconSize, icon: isSuspended ? 'resume' : 'pause', tooltip: isSuspended ? 'Resume' : 'Suspend', accessLevel: accessLevel, onClick: handleClick }));
22
22
  });
@@ -40,7 +40,14 @@ const ColumnFilterPredicateDropdown = (props) => {
40
40
  operator: value,
41
41
  args: [],
42
42
  });
43
- }, items: options, value: isAndOr ? 'Add Condition' : props.predicate?.operator }) }));
43
+ }, items: options,
44
+ // For the "Add Condition" picker the current predicate is the top-level
45
+ // AND/OR predicate, which is not a selectable item. Use `null` (a proper
46
+ // controlled empty value) plus a placeholder rather than a fake string
47
+ // value: passing a non-item value makes base-ui's Select reconcile and
48
+ // fire a spurious `onValueChange` when the items change (e.g. switching
49
+ // the filter to another column), which previously crashed.
50
+ placeholder: "Add Condition", value: isAndOr ? null : props.predicate?.operator }) }));
44
51
  };
45
52
  const ColumnFilterEditor = (props) => {
46
53
  return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:mb-3 twa:overflow-x-hidden twa:p-0.5", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:mb-2", children: [(0, jsx_runtime_1.jsx)(ColumnFilterPredicateDropdown, { columnId: props.columnId, disabled: props.disabled, predicate: props.predicate, predicateDefs: props.predicateDefs, onPredicateChange: props.onPredicateChange }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2", children: (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: props.deleteDisabled, onClick: props.onDelete, variant: "text", icon: "delete" }) })] }), (0, jsx_runtime_1.jsx)(ColumnFilterInputList_1.ColumnFilterInputList, { columnId: props.columnId, disabled: props.disabled, predicate: props.predicate, onPredicateChange: props.onPredicateChange, predicateDefs: props.predicateDefs })] }));
@@ -128,6 +135,12 @@ const ColumnFilterComponent = (props) => {
128
135
  const isLastPredicateValid = true;
129
136
  const filterPredicateDropdown = ((0, jsx_runtime_1.jsx)(ColumnFilterPredicateDropdown, { columnId: props.columnId, disabled: props.disabled, predicate: currentPredicate, predicateDefs: props.predicateDefs, onPredicateChange: (predicate) => {
130
137
  const predicateDef = props.predicateDefs.find((predicateDef) => predicateDef.operator === predicate.operator);
138
+ // Guard against the select emitting a value that is not a known
139
+ // predicate for the current column (e.g. a stale/reconciled value while
140
+ // switching columns).
141
+ if (!predicateDef) {
142
+ return;
143
+ }
131
144
  onNewPredicate(predicateDef);
132
145
  }, targetProps: {
133
146
  tone: 'neutral',
@@ -9,10 +9,10 @@ const AdaptableInput_1 = tslib_1.__importDefault(require("../../AdaptableInput")
9
9
  const AdaptableDateInlineInput_1 = require("../../AdaptableInput/AdaptableDateInlineInput");
10
10
  const PermittedValuesSelector_1 = require("../../Selectors/PermittedValuesSelector");
11
11
  const AdaptableContext_1 = require("../../../AdaptableContext");
12
- const debounce_1 = tslib_1.__importDefault(require("../../../../Utilities/utils/debounce"));
12
+ const TimingHelper_1 = require("../../../../Utilities/Helpers/TimingHelper");
13
13
  const react_1 = require("react");
14
14
  function debounceOrImmediate(fn, time) {
15
- return time && time > 0 ? (0, debounce_1.default)(fn, time) : fn;
15
+ return time && time > 0 ? (0, TimingHelper_1.debounce)(fn, time) : fn;
16
16
  }
17
17
  const ColumnFilterInput = (props) => {
18
18
  const { type, value, onChange: onChangeProp, onClear: onClearProp, disabled, onKeyDown, filterType, usePrimitiveInputs = true, columnId, } = props;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ColumnFilterInputList = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const debounce_1 = tslib_1.__importDefault(require("../../../../Utilities/utils/debounce"));
6
+ const TimingHelper_1 = require("../../../../Utilities/Helpers/TimingHelper");
7
7
  const React = tslib_1.__importStar(require("react"));
8
8
  const utils_1 = require("../../../../components/ExpressionEditor/QueryBuilder/utils");
9
9
  const Panel_1 = tslib_1.__importDefault(require("../../../../components/Panel"));
@@ -22,7 +22,7 @@ const ColumnFilterInputList = (props) => {
22
22
  const matchingInputs = predicateDef
23
23
  ? (0, utils_1.getOperatorMatchingInputs)(fnTypeInput, predicateDef?.inputs, true)
24
24
  : [];
25
- const debouncedPredicateChange = React.useCallback((0, debounce_1.default)((predicate) => {
25
+ const debouncedPredicateChange = React.useCallback((0, TimingHelper_1.debounce)((predicate) => {
26
26
  props.onPredicateChange(predicate);
27
27
  }, 300), [props.predicate, props.columnId]);
28
28
  if (['date[]', 'number[]', 'text[]'].includes(matchingInputs[0])) {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FloatingFilterInputList = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const debounce_1 = tslib_1.__importDefault(require("../../../../Utilities/utils/debounce"));
6
+ const TimingHelper_1 = require("../../../../Utilities/Helpers/TimingHelper");
7
7
  const React = tslib_1.__importStar(require("react"));
8
8
  const utils_1 = require("../../../../components/ExpressionEditor/QueryBuilder/utils");
9
9
  const adaptableQlUtils_1 = require("../../../../Utilities/adaptableQlUtils");
@@ -22,7 +22,7 @@ const FloatingFilterInputList = (props) => {
22
22
  const matchingInputs = predicateDef
23
23
  ? (0, utils_1.getOperatorMatchingInputs)(fnTypeInput, predicateDef?.inputs, true)
24
24
  : [];
25
- const debouncedPredicateChange = React.useCallback((0, debounce_1.default)((predicate) => {
25
+ const debouncedPredicateChange = React.useCallback((0, TimingHelper_1.debounce)((predicate) => {
26
26
  props.onPredicateChange(predicate);
27
27
  }, 300), [props.predicate, props.columnId]);
28
28
  if (['date[]', 'number[]', 'text[]'].includes(matchingInputs[0])) {
@@ -9,12 +9,13 @@ const FieldWrap_1 = tslib_1.__importDefault(require("../../../components/FieldWr
9
9
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
10
10
  const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
11
11
  const twMerge_1 = require("../../../twMerge");
12
+ const utils_1 = require("../../../lib/utils");
12
13
  exports.AdaptableFormControlTextClear = React.forwardRef((props, ref) => {
13
14
  let closeButtonTooltip = props.value ? 'Clear' : null;
14
15
  const inputRef = React.useRef(null);
15
16
  const { focusOnClear = true } = props;
16
17
  const clearDisabled = StringExtensions_1.StringExtensions.IsNullOrEmpty(props.value.toString());
17
- return ((0, jsx_runtime_1.jsxs)(FieldWrap_1.default, { onClick: props.onClick, className: (0, twMerge_1.twMerge)('twa:bg-input-background twa:text-input-foreground twa:overflow-visible twa:w-full twa:rounded-input', props.className), style: props.style, children: [(0, jsx_runtime_1.jsx)(Input_1.default, { "aria-label": props['aria-label'], autoFocus: props.autoFocus, style: props.inputStyle, className: props.inputClassName, ref: (r) => {
18
+ return ((0, jsx_runtime_1.jsxs)(FieldWrap_1.default, { onClick: props.onClick, className: (0, twMerge_1.twMerge)('twa:bg-input-background twa:text-input-foreground twa:overflow-visible twa:w-full twa:rounded-input', props.className), style: props.style, children: [(0, jsx_runtime_1.jsx)(Input_1.default, { "aria-label": props['aria-label'], autoFocus: props.autoFocus, style: props.inputStyle, className: (0, utils_1.cn)('twa:min-w-0 twa:flex-1', props.inputClassName), ref: (r) => {
18
19
  inputRef.current = r;
19
20
  if (!ref) {
20
21
  return;
@@ -108,7 +108,7 @@ const AdaptablePopupModuleView = (props) => {
108
108
  dispatch(unsuspendAllAction);
109
109
  }
110
110
  };
111
- suspendButton = ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { className: "twa:mr-2", onMouseDown: () => handleSuspendUnsuspendAll(), tone: isAtLeastOneAbObjectActive ? 'neutral' : 'success', variant: "raised", icon: isAtLeastOneAbObjectActive ? 'pause' : 'resume', accessLevel: props.accessLevel, children: isAtLeastOneAbObjectActive ? 'Suspend All' : 'Unsuspend All' }));
111
+ suspendButton = ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { className: "twa:mr-2", onMouseDown: () => handleSuspendUnsuspendAll(), tone: "neutral", variant: "raised", icon: isAtLeastOneAbObjectActive ? 'pause' : 'resume', accessLevel: props.accessLevel, children: isAtLeastOneAbObjectActive ? 'Suspend All' : 'Resume All' }));
112
112
  }
113
113
  const handleWizardClose = () => {
114
114
  setAbObjectType(null);
@@ -7,14 +7,14 @@ const react_redux_1 = require("react-redux");
7
7
  const AdaptableContext_1 = require("../../../AdaptableContext");
8
8
  const PopupRedux = tslib_1.__importStar(require("../../../../Redux/ActionsReducers/PopupRedux"));
9
9
  const GeneralConstants_1 = require("../../../../Utilities/Constants/GeneralConstants");
10
- const resolveSettingsPanelNavigation_1 = require("../../../../Utilities/Helpers/resolveSettingsPanelNavigation");
10
+ const SettingsPanelHelper_1 = require("../../../../Utilities/Helpers/SettingsPanelHelper");
11
11
  const settingsPanelNavigationTypes_1 = require("./settingsPanelNavigationTypes");
12
12
  const useMenuItems = () => {
13
13
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
14
14
  const settingsPanelOptions = adaptable.adaptableOptions.settingsPanelOptions;
15
15
  const allMenuItems = (0, react_redux_1.useSelector)((state) => state?.Internal?.SettingsPanelModuleEntries);
16
16
  return React.useMemo(() => {
17
- const navigation = (0, resolveSettingsPanelNavigation_1.resolveSettingsPanelNavigation)(adaptable.api, settingsPanelOptions);
17
+ const navigation = (0, SettingsPanelHelper_1.resolveSettingsPanelNavigation)(adaptable.api, settingsPanelOptions);
18
18
  const visibleItems = allMenuItems.filter((item) => item.category !== 'General' &&
19
19
  item.category !== 'CustomSettingsPanel' &&
20
20
  item.category !== 'Group' &&
@@ -7,7 +7,7 @@ const React = tslib_1.__importStar(require("react"));
7
7
  const PanelWithImage_1 = require("../Panels/PanelWithImage");
8
8
  const UIHelper_1 = require("../../UIHelper");
9
9
  const Dialog_1 = tslib_1.__importDefault(require("../../../components/Dialog"));
10
- const alertFormHelper_1 = require("../../../Utilities/Helpers/alertFormHelper");
10
+ const AlertHelper_1 = require("../../../Utilities/Helpers/AlertHelper");
11
11
  const AdaptableFormComponent_1 = require("../../../components/AdaptableFormComponent");
12
12
  const react_1 = require("react");
13
13
  const AdaptableContext_1 = require("../../AdaptableContext");
@@ -35,7 +35,7 @@ const AdaptablePopupAlert = (props) => {
35
35
  formData: formData,
36
36
  };
37
37
  }, [JSON.stringify(formData), props.adaptableAlert]);
38
- const alertForm = React.useMemo(() => (0, alertFormHelper_1.resolveAlertFormForDefinition)(props.adaptableAlert.alertDefinition, defaultForm), [props.adaptableAlert.alertDefinition, defaultForm]);
38
+ const alertForm = React.useMemo(() => (0, AlertHelper_1.resolveAlertFormForDefinition)(props.adaptableAlert.alertDefinition, defaultForm), [props.adaptableAlert.alertDefinition, defaultForm]);
39
39
  const adaptableForm = React.useMemo(() => {
40
40
  if (api.isDestroyed()) {
41
41
  return null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getWindowPopupSize = exports.getSettingsPanelSize = exports.getActionPanelSize = exports.getMiddlePosition = void 0;
4
- const Helper_1 = require("../../../Utilities/Helpers/Helper");
4
+ const NumberExtensions_1 = require("../../../Utilities/Extensions/NumberExtensions");
5
5
  const getMiddlePosition = (size) => {
6
6
  const height = window.innerHeight;
7
7
  const width = window.innerWidth;
@@ -15,8 +15,8 @@ const getActionPanelSize = () => {
15
15
  const height = window.innerHeight;
16
16
  const width = window.innerWidth;
17
17
  return {
18
- height: (0, Helper_1.clamp)(600, 0, height * 0.9),
19
- width: (0, Helper_1.clamp)(800, 0, width * 0.9),
18
+ height: (0, NumberExtensions_1.clamp)(600, 0, height * 0.9),
19
+ width: (0, NumberExtensions_1.clamp)(800, 0, width * 0.9),
20
20
  };
21
21
  };
22
22
  exports.getActionPanelSize = getActionPanelSize;
@@ -24,8 +24,8 @@ const getSettingsPanelSize = () => {
24
24
  const height = window.innerHeight;
25
25
  const width = window.innerWidth;
26
26
  return {
27
- height: (0, Helper_1.clamp)(height * 0.9, 0, 800),
28
- width: (0, Helper_1.clamp)(width * 0.9, 0, 800),
27
+ height: (0, NumberExtensions_1.clamp)(height * 0.9, 0, 800),
28
+ width: (0, NumberExtensions_1.clamp)(width * 0.9, 0, 800),
29
29
  };
30
30
  };
31
31
  exports.getSettingsPanelSize = getSettingsPanelSize;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableApi } from '../../Api/AdaptableApi';
3
- import { CellColorRange, ColumnComparison, GradientZeroCentredColors, NumericStyledColumn } from '../../AdaptableState/StyledColumnState';
3
+ import { CellColorRange, ColumnComparison, NumericStyledColumn } from '../../AdaptableState/StyledColumns/Common/NumericStyledColumn';
4
+ import { ZeroCentredColors } from '../../AdaptableState/StyledColumns/GradientStyle';
4
5
  import { ColumnScope } from '../../AdaptableState/Common/ColumnScope';
5
6
  export interface RangesComponentProps extends React.ClassAttributes<RangesComponent> {
6
7
  ranges: CellColorRange[];
@@ -34,8 +35,8 @@ export interface RangesComponentProps extends React.ClassAttributes<RangesCompon
34
35
  * `onApplyZeroCentred` and optional `zeroCentred` for the current colours.
35
36
  */
36
37
  showZeroCentredTab?: boolean;
37
- zeroCentred?: GradientZeroCentredColors;
38
- onApplyZeroCentred?: (zc: GradientZeroCentredColors) => void;
38
+ zeroCentred?: ZeroCentredColors;
39
+ onApplyZeroCentred?: (zc: ZeroCentredColors) => void;
39
40
  /**
40
41
  * When true, render a per-range "Reverse Gradient" toggle. Only meaningful
41
42
  * for Gradient Style (the renderer flips the alpha ramp within the band so
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const ColorPicker_1 = require("../../components/ColorPicker");
8
- const clamp_1 = tslib_1.__importDefault(require("../../Utilities/utils/clamp"));
8
+ const NumberExtensions_1 = require("../../Utilities/Extensions/NumberExtensions");
9
9
  const CheckBox_1 = require("../../components/CheckBox");
10
10
  const FormLayout_1 = tslib_1.__importStar(require("../../components/FormLayout"));
11
11
  const NumberInput_1 = require("../../components/Input/NumberInput");
@@ -114,13 +114,9 @@ class RangesComponent extends React.Component {
114
114
  ].join(' ');
115
115
  const renderRangesContent = () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isRangeValueTypeNumber ? ((0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { className: "twa:my-2 twa:text-3", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { children: "Define value bands from low to high, each with its own colour." }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Tick ", (0, jsx_runtime_1.jsx)("strong", { children: "Use column min" }), " or ", (0, jsx_runtime_1.jsx)("strong", { children: "Use column max" }), " to anchor the first and last band to the column's actual lowest and highest values."] })] })) : ((0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { className: "twa:my-2 twa:text-3", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { children: "Define bands as percentages (0\u2013100) of the column's value range." }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [(0, jsx_runtime_1.jsx)("strong", { children: "0%" }), " is the column's lowest value and ", (0, jsx_runtime_1.jsx)("strong", { children: "100%" }), " its highest; each band gets its own colour."] })] })), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:grid twa:items-end twa:gap-x-2 twa:gap-y-3 twa:mb-3 twa:w-fit", style: { gridTemplateColumns: rangeGridTemplateColumns }, children: this.props.ranges?.map((range, index, list) => ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:contents", "data-name": "percent-bar-range", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [isRangeValueTypeNumber && index === 0 && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { onClick: () => this.setRangeColMin(range), checked: range.Min === 'Col-Min', className: "twa:mt-0 twa:mb-1 twa:text-3", disabled: this.props.disabled, children: "Use column min" })), (0, jsx_runtime_1.jsx)(NumberInput_1.NumberInput, { disabled: this.props.disabled ||
116
116
  range.Min === 'Col-Min' ||
117
- (index === 0 && !isRangeValueTypeNumber), value: range.Min === 'Col-Min'
118
- ? this.props.minMaxRangeValues?.min ?? ''
119
- : range.Min, onChange: (value) => {
117
+ (index === 0 && !isRangeValueTypeNumber), value: range.Min === 'Col-Min' ? this.props.minMaxRangeValues?.min ?? '' : range.Min, onChange: (value) => {
120
118
  this.changeRangeMin(index, value);
121
- } })] }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [isRangeValueTypeNumber && index === list.length - 1 && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { className: "twa:mt-0 twa:mb-1 twa:text-3", onClick: () => this.setRangeColMax(range), checked: range.Max === 'Col-Max', disabled: this.props.disabled, children: "Use column max" })), (0, jsx_runtime_1.jsx)(NumberInput_1.NumberInput, { value: range.Max === 'Col-Max'
122
- ? this.props.minMaxRangeValues?.max ?? ''
123
- : range.Max, disabled: this.props.disabled ||
119
+ } })] }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [isRangeValueTypeNumber && index === list.length - 1 && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { className: "twa:mt-0 twa:mb-1 twa:text-3", onClick: () => this.setRangeColMax(range), checked: range.Max === 'Col-Max', disabled: this.props.disabled, children: "Use column max" })), (0, jsx_runtime_1.jsx)(NumberInput_1.NumberInput, { value: range.Max === 'Col-Max' ? this.props.minMaxRangeValues?.max ?? '' : range.Max, disabled: this.props.disabled ||
124
120
  range.Max === 'Col-Max' ||
125
121
  (index === list.length - 1 && !isRangeValueTypeNumber), onChange: (value) => {
126
122
  this.changeRangeMax(index, value);
@@ -227,7 +223,7 @@ class RangesComponent extends React.Component {
227
223
  const { ranges } = this.props;
228
224
  let newMin = Number(value);
229
225
  if (this.props.rangeValueType === 'Percentage') {
230
- newMin = (0, clamp_1.default)(newMin, 0, 100);
226
+ newMin = (0, NumberExtensions_1.clamp)(newMin, 0, 100);
231
227
  }
232
228
  ranges[index].Min = newMin;
233
229
  if (ranges[index - 1]) {
@@ -239,7 +235,7 @@ class RangesComponent extends React.Component {
239
235
  const { ranges } = this.props;
240
236
  let newMax = Number(value);
241
237
  if (this.props.rangeValueType === 'Percentage') {
242
- newMax = (0, clamp_1.default)(newMax, 0, 100);
238
+ newMax = (0, NumberExtensions_1.clamp)(newMax, 0, 100);
243
239
  }
244
240
  ranges[index].Max = newMax;
245
241
  if (ranges[index + 1]) {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAdaptableToolPanelAgGridComponent = exports.ConnectedAdaptableToolPanel = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const kebabCase_1 = tslib_1.__importDefault(require("../../../Utilities/utils/kebabCase"));
6
+ const StringExtensions_1 = require("../../../Utilities/Extensions/StringExtensions");
7
7
  const GeneralConstants_1 = require("../../../Utilities/Constants/GeneralConstants");
8
8
  const ToolPanelRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ToolPanelRedux"));
9
9
  const react_redux_1 = require("react-redux");
@@ -133,7 +133,7 @@ const AdaptableToolPanelComponent = (props) => {
133
133
  toolPanelButtons.push(moduleButtons.map((x) => {
134
134
  let menuItem = props.MainMenuItems.find((y) => y.isVisible && y.category == x);
135
135
  if (menuItem) {
136
- return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": menuItem.category, icon: menuItem.icon, tone: "none", variant: "text", className: `ab-ToolPanel__Home__${(0, kebabCase_1.default)(menuItem.label)}`, tooltip: menuItem.label, onClick: () => props.onClick(menuItem.reduxAction), accessLevel: GeneralConstants_1.ACCESS_LEVEL_FULL }, menuItem.label));
136
+ return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": menuItem.category, icon: menuItem.icon, tone: "none", variant: "text", className: `ab-ToolPanel__Home__${(0, StringExtensions_1.kebabCase)(menuItem.label)}`, tooltip: menuItem.label, onClick: () => props.onClick(menuItem.reduxAction), accessLevel: GeneralConstants_1.ACCESS_LEVEL_FULL }, menuItem.label));
137
137
  }
138
138
  }));
139
139
  }
@@ -146,7 +146,7 @@ const AdaptableToolPanelComponent = (props) => {
146
146
  toolPanelState: props.api.toolPanelApi.getToolPanelState(),
147
147
  };
148
148
  const buttonLabel = props.api.internalApi.getLabelForButton(button, toolPanelContext) ?? '';
149
- return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonView, { button: button, context: toolPanelContext, api: props.api, defaults: AdaptableButton_1.ADAPTABLE_BUTTON_SURFACE_DEFAULTS.toolPanel, rerenderOnClick: false, className: `ab-ToolPanel__Home__${(0, kebabCase_1.default)(buttonLabel)}` }, buttonLabel || button.Uuid));
149
+ return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonView, { button: button, context: toolPanelContext, api: props.api, defaults: AdaptableButton_1.ADAPTABLE_BUTTON_SURFACE_DEFAULTS.toolPanel, rerenderOnClick: false, className: `ab-ToolPanel__Home__${(0, StringExtensions_1.kebabCase)(buttonLabel)}` }, buttonLabel || button.Uuid));
150
150
  });
151
151
  };
152
152
  const onSetToolPanelVisibility = (name, checked) => {
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomToolPanelContent = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const jsx_runtime_1 = require("react/jsx-runtime");
6
5
  const react_1 = require("react");
7
6
  const AdaptableContext_1 = require("../../AdaptableContext");
8
7
  const AdaptableButton_1 = require("../AdaptableButton");
9
- const kebabCase_1 = tslib_1.__importDefault(require("../../../Utilities/utils/kebabCase"));
8
+ const StringExtensions_1 = require("../../../Utilities/Extensions/StringExtensions");
10
9
  const CustomToolPanelContent = (props) => {
11
10
  const { customToolPanel } = props;
12
11
  const { api } = (0, AdaptableContext_1.useAdaptable)();
@@ -48,7 +47,7 @@ const CustomToolPanelContent = (props) => {
48
47
  customToolPanel: customToolPanel,
49
48
  };
50
49
  const buttonLabel = api.internalApi.getLabelForButton(button, toolPanelContext) ?? '';
51
- return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonView, { button: button, context: toolPanelContext, api: api, defaults: AdaptableButton_1.ADAPTABLE_BUTTON_SURFACE_DEFAULTS.customToolPanel, rerenderOnClick: false, className: `ab-ToolPanel__Home__${(0, kebabCase_1.default)(buttonLabel)}` }, buttonLabel || button.Uuid));
50
+ return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonView, { button: button, context: toolPanelContext, api: api, defaults: AdaptableButton_1.ADAPTABLE_BUTTON_SURFACE_DEFAULTS.customToolPanel, rerenderOnClick: false, className: `ab-ToolPanel__Home__${(0, StringExtensions_1.kebabCase)(buttonLabel)}` }, buttonLabel || button.Uuid));
52
51
  }) }))] }));
53
52
  };
54
53
  exports.CustomToolPanelContent = CustomToolPanelContent;
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomDashboardButton = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const kebabCase_1 = tslib_1.__importDefault(require("../../Utilities/utils/kebabCase"));
5
+ const StringExtensions_1 = require("../../Utilities/Extensions/StringExtensions");
7
6
  const AdaptableButton_1 = require("../Components/AdaptableButton");
8
7
  const CustomDashboardButton = (props) => {
9
8
  const { button } = props;
@@ -12,6 +11,6 @@ const CustomDashboardButton = (props) => {
12
11
  dashboardState: props.api.dashboardApi.getDashboardState(),
13
12
  };
14
13
  const buttonLabel = props.api.internalApi.getLabelForButton(button, dashboardContext) ?? '';
15
- return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonView, { button: button, context: dashboardContext, api: props.api, accessLevel: props.accessLevel, defaults: AdaptableButton_1.ADAPTABLE_BUTTON_SURFACE_DEFAULTS.dashboard, buttonKey: buttonLabel, ariaLabel: buttonLabel, className: `ab-DashboardToolbar__Home__${(0, kebabCase_1.default)(buttonLabel)}` }));
14
+ return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonView, { button: button, context: dashboardContext, api: props.api, accessLevel: props.accessLevel, defaults: AdaptableButton_1.ADAPTABLE_BUTTON_SURFACE_DEFAULTS.dashboard, buttonKey: buttonLabel, ariaLabel: buttonLabel, className: `ab-DashboardToolbar__Home__${(0, StringExtensions_1.kebabCase)(buttonLabel)}` }));
16
15
  };
17
16
  exports.CustomDashboardButton = CustomDashboardButton;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Dashboard = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const kebabCase_1 = tslib_1.__importDefault(require("../../Utilities/utils/kebabCase"));
6
+ const StringExtensions_1 = require("../../Utilities/Extensions/StringExtensions");
7
7
  const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
8
8
  const react_redux_1 = require("react-redux");
9
9
  const Dashboard_1 = require("../../components/Dashboard");
@@ -65,7 +65,7 @@ const DashboardComponent = (props) => {
65
65
  shortcuts = shortcutsArray.map((x, index) => {
66
66
  let menuItem = props.InternalState.Dashboard.DashboardModuleButtons.find((y) => y.isVisible && y.category == x);
67
67
  if (menuItem) {
68
- return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonComponent, { "data-name": `dashboard-module-button-${menuItem.category ?? 'custom-' + index}`, "aria-label": menuItem.label, variant: menuItem.category === 'SystemStatus' ? 'outlined' : 'text', tone: menuItem.category === 'SystemStatus' ? 'neutral' : 'none', className: `ab-DashboardToolbar__Home__${(0, kebabCase_1.default)(menuItem.label)}`, icon: menuItem.icon, tooltip: menuItem.label, disabled: props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, onClick: () => props.dispatch(menuItem.reduxAction), accessLevel: GeneralConstants_1.ACCESS_LEVEL_FULL, style: menuItem.category === 'SystemStatus'
68
+ return ((0, jsx_runtime_1.jsx)(AdaptableButton_1.AdaptableButtonComponent, { "data-name": `dashboard-module-button-${menuItem.category ?? 'custom-' + index}`, "aria-label": menuItem.label, variant: menuItem.category === 'SystemStatus' ? 'outlined' : 'text', tone: menuItem.category === 'SystemStatus' ? 'neutral' : 'none', className: `ab-DashboardToolbar__Home__${(0, StringExtensions_1.kebabCase)(menuItem.label)}`, icon: menuItem.icon, tooltip: menuItem.label, disabled: props.accessLevel == GeneralConstants_1.ACCESS_LEVEL_READ_ONLY, onClick: () => props.dispatch(menuItem.reduxAction), accessLevel: GeneralConstants_1.ACCESS_LEVEL_FULL, style: menuItem.category === 'SystemStatus'
69
69
  ? {
70
70
  ...UIHelper_1.default.getStyleForMessageType(props.api.systemStatusApi.getCurrentSystemStatusMessageInfo()?.statusType ??
71
71
  'Success'),
@@ -11,7 +11,7 @@ const InternalRedux_1 = require("../../Redux/ActionsReducers/InternalRedux");
11
11
  const ButtonPlay_1 = require("../Components/Buttons/ButtonPlay");
12
12
  const ButtonPause_1 = require("../Components/Buttons/ButtonPause");
13
13
  const ButtonStop_1 = require("../Components/Buttons/ButtonStop");
14
- const FormatHelper_1 = require("../../Utilities/Helpers/FormatHelper");
14
+ const DisplayFormatHelper_1 = require("../../Utilities/Helpers/DisplayFormatHelper");
15
15
  const Flex_1 = require("../../components/Flex");
16
16
  class DataChangeHistoryPopupComponent extends React.Component {
17
17
  render() {
@@ -21,7 +21,7 @@ class DataChangeHistoryPopupComponent extends React.Component {
21
21
  const suspended = changeHistoryMode === 'SUSPENDED';
22
22
  const buttonPanel = ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "ab-DataChangeHistoryPopup--button-panel twa:gap-1 twa:p-2", children: [disabled && ((0, jsx_runtime_1.jsx)(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPopup--button-activate", "data-name": 'data-change-history--button-activate', variant: 'raised', tone: 'accent', tooltip: '', onClick: () => onChangeHistoryEnable(), children: "Activate" })), suspended && ((0, jsx_runtime_1.jsx)(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPopup--button-resume", "data-name": 'data-change-history--button-resume', variant: 'outlined', tooltip: 'Resume tracking data changes', onClick: () => onChangeHistoryResume(), children: "Resume" })), enabled && ((0, jsx_runtime_1.jsx)(ButtonPause_1.ButtonPause, { className: "ab-DataChangeHistoryPopup--button-suspend", "data-name": 'data-change-history--button-suspend', variant: 'outlined', tooltip: 'Suspend tracking data changes', onClick: () => onChangeHistorySuspend(), children: "Suspend" })), (enabled || suspended) && ((0, jsx_runtime_1.jsx)(ButtonStop_1.ButtonStop, { className: "ab-DataChangeHistoryPopup--button-deactivate", "data-name": 'data-change-history--button-deactivate', variant: 'outlined', tooltip: 'Deactivate data change tracking', onClick: () => onChangeHistoryDisable(), children: "Deactivate" }))] }));
23
23
  const dateFormat = `${this.props.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`;
24
- const statusPanel = ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "ab-DataChangeHistoryPopup--status-panel twa:gap-1", alignItems: 'center', children: [enabled && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-active twa:text-success twa:font-bold", children: "Active" }), !!activationTime && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-2 twa:italic", children: ["(since ", (0, FormatHelper_1.DateFormatter)(activationTime, { Pattern: dateFormat }), ")"] }))] })), suspended && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPopup--status-suspended twa:text-warn twa:font-bold", children: "Suspended" }), !!suspensionTime && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-2 twa:italic", children: ["(since ", (0, FormatHelper_1.DateFormatter)(suspensionTime, { Pattern: dateFormat }), ")"] }))] })), disabled && (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPopup--status-disabled twa:text-2" })] }));
24
+ const statusPanel = ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "ab-DataChangeHistoryPopup--status-panel twa:gap-1", alignItems: 'center', children: [enabled && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-active twa:text-success twa:font-bold", children: "Active" }), !!activationTime && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-2 twa:italic", children: ["(since ", (0, DisplayFormatHelper_1.DateFormatter)(activationTime, { Pattern: dateFormat }), ")"] }))] })), suspended && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPopup--status-suspended twa:text-warn twa:font-bold", children: "Suspended" }), !!suspensionTime && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-2 twa:italic", children: ["(since ", (0, DisplayFormatHelper_1.DateFormatter)(suspensionTime, { Pattern: dateFormat }), ")"] }))] })), disabled && (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPopup--status-disabled twa:text-2" })] }));
25
25
  const handleChangeUndo = (changeKey) => {
26
26
  const changeToBeUndone = changeHistoryLog[changeKey];
27
27
  if (changeToBeUndone) {
@@ -7,7 +7,7 @@ const React = tslib_1.__importStar(require("react"));
7
7
  const InfiniteTable_1 = require("../../components/InfiniteTable");
8
8
  const Flex_1 = require("../../components/Flex");
9
9
  const ModuleConstants_1 = require("../../Utilities/Constants/ModuleConstants");
10
- const FormatHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/FormatHelper"));
10
+ const DisplayFormatHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/DisplayFormatHelper"));
11
11
  const AdaptableContext_1 = require("../AdaptableContext");
12
12
  const AdaptableButtonView_1 = require("../Components/AdaptableButton/AdaptableButtonView");
13
13
  const buildActionColumnButton_1 = require("./buildActionColumnButton");
@@ -61,7 +61,7 @@ const DataChangeHistoryTable = (props) => {
61
61
  valueGetter: (params) => {
62
62
  const changedAt = (0, dataChangeHistoryHelpers_1.getChangeHistoryRowChangeInfo)(params.data)?.changedAt;
63
63
  return changedAt != null
64
- ? FormatHelper_1.default.DateFormatter(changedAt, { Pattern: dateFormat })
64
+ ? DisplayFormatHelper_1.default.DateFormatter(changedAt, { Pattern: dateFormat })
65
65
  : '';
66
66
  },
67
67
  },
@@ -9,7 +9,7 @@ const InternalRedux_1 = require("../../Redux/ActionsReducers/InternalRedux");
9
9
  const ButtonPlay_1 = require("../Components/Buttons/ButtonPlay");
10
10
  const ButtonPause_1 = require("../Components/Buttons/ButtonPause");
11
11
  const ButtonStop_1 = require("../Components/Buttons/ButtonStop");
12
- const FormatHelper_1 = require("../../Utilities/Helpers/FormatHelper");
12
+ const DisplayFormatHelper_1 = require("../../Utilities/Helpers/DisplayFormatHelper");
13
13
  const Tooltip_1 = tslib_1.__importDefault(require("../../components/Tooltip"));
14
14
  const AdaptableContext_1 = require("../AdaptableContext");
15
15
  const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
@@ -36,7 +36,7 @@ const DataChangeHistoryViewPanelControl = (props) => {
36
36
  const buttonsPaddingY = props.buttonsPaddingY ?? 2;
37
37
  const buttonPanel = ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "ab-DataChangeHistoryPanel--button-panel", style: { gap: gap, paddingBlock: buttonsPaddingY }, children: [disabled && ((0, jsx_runtime_1.jsx)(ButtonPlay_1.ButtonPlay, { "aria-label": "Enable Data Change History", className: "ab-DataChangeHistoryPanel--button-activate", "data-name": 'data-change-history--button-activate', tooltip: '', onClick: () => onChangeHistoryEnable() })), suspended && ((0, jsx_runtime_1.jsx)(ButtonPlay_1.ButtonPlay, { "aria-label": "Resume Data Change History", className: "ab-DataChangeHistoryPanel--button-resume", "data-name": 'data-change-history--button-resume', tooltip: 'Resume tracking data changes', onClick: () => onChangeHistoryResume() })), enabled && ((0, jsx_runtime_1.jsx)(ButtonPause_1.ButtonPause, { "aria-label": "Suspend Data Change History", className: "ab-DataChangeHistoryPanel--button-suspend", "data-name": 'data-change-history--button-suspend', tooltip: 'Suspend tracking data changes', onClick: () => onChangeHistorySuspend() })), (enabled || suspended) && ((0, jsx_runtime_1.jsx)(ButtonStop_1.ButtonStop, { "aria-label": "Deactivate Data Change History", className: "ab-DataChangeHistoryPanel--button-deactivate", "data-name": 'data-change-history--button-deactivate', tooltip: 'Deactivate data change tracking', onClick: () => onChangeHistoryDisable() }))] }));
38
38
  const dateFormat = `${adaptable.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`;
39
- const statusPanel = ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "ab-DataChangeHistoryPanel--status-panel", alignItems: 'center', style: { gap: gap }, children: [enabled && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { label: !!activationTime && `since ${(0, FormatHelper_1.DateFormatter)(activationTime, { Pattern: dateFormat })}`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-active twa:text-2 twa:text-success", children: "Active" }) })), suspended && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { label: !!suspensionTime && `since ${(0, FormatHelper_1.DateFormatter)(suspensionTime, { Pattern: dateFormat })}`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-suspended twa:text-2 twa:text-warn", children: "Suspended" }) })), disabled && ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-disabled twa:text-2", children: "Activate Data Tracking" }))] }));
39
+ const statusPanel = ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "ab-DataChangeHistoryPanel--status-panel", alignItems: 'center', style: { gap: gap }, children: [enabled && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { label: !!activationTime && `since ${(0, DisplayFormatHelper_1.DateFormatter)(activationTime, { Pattern: dateFormat })}`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-active twa:text-2 twa:text-success", children: "Active" }) })), suspended && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { label: !!suspensionTime && `since ${(0, DisplayFormatHelper_1.DateFormatter)(suspensionTime, { Pattern: dateFormat })}`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-suspended twa:text-2 twa:text-warn", children: "Suspended" }) })), disabled && ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "ab-DataChangeHistoryPanel--status-disabled twa:text-2", children: "Activate Data Tracking" }))] }));
40
40
  return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: 'row', children: [buttonPanel, statusPanel, (0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2", children: (0, jsx_runtime_1.jsxs)(SimpleButton_1.default, { onClick: handleOpenPopup, variant: "text", children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "open-in-new" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:ml-1", children: "Show" })] }) })] }));
41
41
  };
42
42
  exports.DataChangeHistoryViewPanelControl = DataChangeHistoryViewPanelControl;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataPreview = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const flatten_1 = tslib_1.__importDefault(require("../../../../Utilities/utils/flatten"));
6
+ const ArrayExtensions_1 = require("../../../../Utilities/Extensions/ArrayExtensions");
7
7
  const React = tslib_1.__importStar(require("react"));
8
8
  const HelpBlock_1 = tslib_1.__importDefault(require("../../../../components/HelpBlock"));
9
9
  const icons_1 = require("../../../../components/icons");
@@ -129,7 +129,7 @@ const DataPreview = (props) => {
129
129
  };
130
130
  return ((0, jsx_runtime_1.jsx)(InfiniteTable_1.DataSource, { data: props.data, primaryKey: primaryKey, onDataMutations: (params) => {
131
131
  const newRowData = [...props.data];
132
- const mutationsList = (0, flatten_1.default)(Array.from(params.mutations.values()));
132
+ const mutationsList = (0, ArrayExtensions_1.flatten)(Array.from(params.mutations.values()));
133
133
  if (!mutationsList.length) {
134
134
  return;
135
135
  }
@@ -9,7 +9,7 @@ const ExportRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/Ex
9
9
  const formatScheduledReportSummary_1 = require("../../Strategy/Utilities/Export/formatScheduledReportSummary");
10
10
  const AdaptableContext_1 = require("../AdaptableContext");
11
11
  const AdaptableObjectList_1 = require("../Components/AdaptableObjectList/AdaptableObjectList");
12
- const ButtonDelete_1 = require("../Components/Buttons/ButtonDelete");
12
+ const objectListActionButtonStyles_1 = require("../Components/AdaptableObjectList/objectListActionButtonStyles");
13
13
  const ButtonEdit_1 = require("../Components/Buttons/ButtonEdit");
14
14
  const EmptyContent_1 = tslib_1.__importDefault(require("../../components/EmptyContent"));
15
15
  const ScheduledReportWizard_1 = require("./Wizard/ScheduledReportWizard");
@@ -53,7 +53,6 @@ const ExportScheduleListItem = (props) => {
53
53
  values: [(0, formatScheduledReportSummary_1.formatScheduledReportSummary)(reportSchedule)],
54
54
  },
55
55
  ], actions: [
56
- (0, jsx_runtime_1.jsx)(ButtonEdit_1.ButtonEdit, { accessLevel: accessLevel, onClick: props.onEdit, tooltip: "Edit Schedule" }, "edit"),
57
- (0, jsx_runtime_1.jsx)(ButtonDelete_1.ButtonDelete, { accessLevel: accessLevel, tooltip: "Delete Schedule", ConfirmationTitle: "Delete Schedule", ConfirmationMsg: "Are you sure you want to delete this schedule?", ConfirmAction: ExportRedux.ScheduledReportDelete(reportSchedule) }, "delete"),
58
- ], suspendedEnabled: true, onSuspend: props.onSuspend, onUnSuspend: props.onUnSuspend }));
56
+ (0, jsx_runtime_1.jsx)(ButtonEdit_1.ButtonEdit, { accessLevel: accessLevel, onClick: props.onEdit, tooltip: "Edit Schedule", className: (0, objectListActionButtonStyles_1.objectListActionButtonClassName)('edit') }, "edit"),
57
+ ], deleteAction: ExportRedux.ScheduledReportDelete(reportSchedule), deleteConfirmationMsg: "Are you sure you want to delete this schedule?", suspendedEnabled: true, onSuspend: props.onSuspend, onUnSuspend: props.onUnSuspend }));
59
58
  };
@@ -32,7 +32,7 @@ class FilterViewPanelComponent extends React.Component {
32
32
  this.props.api.filterApi.columnFilterApi.unSuspendAllColumnFilters();
33
33
  }
34
34
  };
35
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", className: `ab-${elementType}__Filter__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap', children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { children: [ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(this.props.ColumnFilters) && ((0, jsx_runtime_1.jsx)(AdaptablePopover_1.AdaptablePopover, { popupPadding: 0, className: `ab-${elementType}__Filter__info`, headerText: "", bodyText: [(0, jsx_runtime_1.jsx)(ActiveFiltersPanel_1.ActiveFiltersPanel, {})], useButton: true, showEvent: 'focus', hideEvent: "blur", popoverMinWidth: 400 })), (0, jsx_runtime_1.jsx)(ButtonClear_1.ButtonClear, { "aria-label": 'Clear Filters', className: `ab-${elementType}__Filter__clear twa:mx-1 twa:mb-0`, onClick: () => this.onClearFilters(), tooltip: "Clear Filters", disabled: this.props.ColumnFilters.length == 0, showText: this.props.viewType === 'ToolPanel', children: this.props.viewType === 'ToolPanel' && 'Clear' }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "aria-label": isAtLeastOneFilterActive ? 'Suspend All Filters' : 'Resume All Filters', className: (0, join_1.default)(`ab-${elementType}__Filter__suspend-button`, isAtLeastOneFilterActive && `ab-${elementType}__Filter__suspend-all`, !isAtLeastOneFilterActive && `ab-${elementType}__Filter__un-suspend-all`), disabled: !isAtLeastOneFilter, onClick: handleSuspendUnsuspendAll, tone: isAtLeastOneFilterActive ? 'neutral' : 'success', variant: "text", icon: isAtLeastOneFilterActive ? 'pause' : 'play', accessLevel: this.props.accessLevel })] }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", children: this.props.api.filterApi.columnFilterApi.isQuickFilterAvailable() && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "quick-filter-toggle", className: `ab-${elementType}__Filter__active-check twa:my-0 twa:text-2 twa:p-1`, disabled: this.props.accessLevel === GeneralConstants_1.ACCESS_LEVEL_READ_ONLY ||
35
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", className: `ab-${elementType}__Filter__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap', children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { children: [ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(this.props.ColumnFilters) && ((0, jsx_runtime_1.jsx)(AdaptablePopover_1.AdaptablePopover, { popupPadding: 0, className: `ab-${elementType}__Filter__info`, headerText: "", bodyText: [(0, jsx_runtime_1.jsx)(ActiveFiltersPanel_1.ActiveFiltersPanel, {})], useButton: true, showEvent: 'focus', hideEvent: "blur", popoverMinWidth: 400 })), (0, jsx_runtime_1.jsx)(ButtonClear_1.ButtonClear, { "aria-label": 'Clear Filters', className: `ab-${elementType}__Filter__clear twa:mx-1 twa:mb-0`, onClick: () => this.onClearFilters(), tooltip: "Clear Filters", disabled: this.props.ColumnFilters.length == 0, showText: this.props.viewType === 'ToolPanel', children: this.props.viewType === 'ToolPanel' && 'Clear' }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "aria-label": isAtLeastOneFilterActive ? 'Suspend All Filters' : 'Resume All Filters', className: (0, join_1.default)(`ab-${elementType}__Filter__suspend-button`, isAtLeastOneFilterActive && `ab-${elementType}__Filter__suspend-all`, !isAtLeastOneFilterActive && `ab-${elementType}__Filter__un-suspend-all`), disabled: !isAtLeastOneFilter, onClick: handleSuspendUnsuspendAll, tone: "neutral", variant: "text", icon: isAtLeastOneFilterActive ? 'pause' : 'resume', accessLevel: this.props.accessLevel })] }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", children: this.props.api.filterApi.columnFilterApi.isQuickFilterAvailable() && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "quick-filter-toggle", className: `ab-${elementType}__Filter__active-check twa:my-0 twa:text-2 twa:p-1`, disabled: this.props.accessLevel === GeneralConstants_1.ACCESS_LEVEL_READ_ONLY ||
36
36
  this.props.api.layoutApi.isCurrentLayoutPivot(), checked: this.props.IsQuickFilterVisible, onChange: (checked) => {
37
37
  checked ? this.props.onShowQuickFilterBar() : this.props.onHideQuickFilterBar();
38
38
  }, children: "Filter Bar" })) })] }));