@adaptabletools/adaptable-cjs 23.0.0-canary.5 → 23.0.0-canary.7

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 (335) hide show
  1. package/icons/sort-asc.svg +1 -1
  2. package/index.css +756 -257
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -1
  6. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
  7. package/src/AdaptableState/Common/AdaptableFormat.d.ts +7 -0
  8. package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
  9. package/src/AdaptableState/Common/Enums.d.ts +1 -1
  10. package/src/AdaptableState/Common/Enums.js +1 -1
  11. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  12. package/src/Api/Internal/AlertInternalApi.js +1 -1
  13. package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
  14. package/src/Api/Internal/DataSetInternalApi.js +73 -13
  15. package/src/Redux/Store/AdaptableStore.js +6 -4
  16. package/src/Strategy/CalculatedColumnModule.js +1 -0
  17. package/src/Strategy/ColumnFilterModule.js +1 -0
  18. package/src/Strategy/FlashingCellModule.js +6 -2
  19. package/src/Strategy/FormatColumnModule.js +1 -1
  20. package/src/Strategy/FreeTextColumnModule.js +38 -28
  21. package/src/Strategy/Interface/IModule.d.ts +3 -1
  22. package/src/Strategy/LayoutModule.js +15 -66
  23. package/src/Strategy/StyledColumnModule.js +11 -28
  24. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
  25. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
  26. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
  27. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +17 -1
  28. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  29. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +5 -1
  30. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  31. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +111 -0
  32. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  33. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +177 -0
  34. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
  35. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
  36. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
  37. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +97 -0
  38. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
  39. package/src/Utilities/Defaults/DefaultSettingsPanel.js +48 -42
  40. package/src/Utilities/Helpers/FormatHelper.js +3 -0
  41. package/src/Utilities/Helpers/ScheduleHelper.js +2 -0
  42. package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
  43. package/src/Utilities/Helpers/StyleHelper.js +30 -1
  44. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +6 -4
  45. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
  46. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +19 -0
  47. package/src/Utilities/getScopeViewItems.js +2 -0
  48. package/src/Utilities/wizardSelection.d.ts +10 -0
  49. package/src/Utilities/wizardSelection.js +22 -0
  50. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
  51. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
  52. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
  53. package/src/View/Alert/AlertViewPanel.js +2 -2
  54. package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
  55. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
  56. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -6
  57. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
  58. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  59. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -2
  60. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  61. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +3 -4
  62. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
  63. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -2
  64. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  65. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +30 -7
  66. package/src/View/Alert/Wizard/AlertWizard.js +3 -3
  67. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  68. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -14
  69. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  70. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
  71. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  72. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -2
  73. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  74. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +29 -3
  75. package/src/View/CellSummary/CellSummaryViewPanel.js +4 -4
  76. package/src/View/Charting/ShowChartButton.js +8 -8
  77. package/src/View/ColumnInfo/ColumnInfo.js +21 -1
  78. package/src/View/Components/AdaptableObjectCollection/index.js +2 -3
  79. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +1 -1
  80. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -4
  81. package/src/View/Components/AdaptableObjectRow/index.js +2 -2
  82. package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
  83. package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
  84. package/src/View/Components/Buttons/ButtonNew.js +1 -1
  85. package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
  86. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +2 -2
  87. package/src/View/Components/ColumnFilter/ColumnFilter.js +1 -2
  88. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +0 -1
  89. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +3 -1
  90. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
  91. package/src/View/Components/ColumnSelector/index.d.ts +12 -0
  92. package/src/View/Components/ColumnSelector/index.js +30 -6
  93. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
  94. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  95. package/src/View/Components/NewScopeComponent.js +3 -8
  96. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
  97. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
  98. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
  99. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
  100. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
  101. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -4
  102. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -3
  103. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  104. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +5 -0
  105. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  106. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +27 -28
  107. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
  108. package/src/View/Components/RangesComponent.d.ts +2 -4
  109. package/src/View/Components/RangesComponent.js +95 -66
  110. package/src/View/Components/ReorderDraggable/index.js +2 -3
  111. package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
  112. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
  113. package/src/View/Components/StyleComponent.js +30 -63
  114. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +9 -6
  115. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  116. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -80
  117. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  118. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +81 -0
  119. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  120. package/src/View/Components/ValueSelector/index.js +112 -29
  121. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  122. package/src/View/Components/wizardColumnListStyles.js +13 -0
  123. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  124. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +4 -6
  125. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
  126. package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
  127. package/src/View/Dashboard/DashboardPopup.js +3 -67
  128. package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
  129. package/src/View/Dashboard/DashboardPopupSections.js +73 -0
  130. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
  131. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
  132. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -20
  133. package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
  134. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +99 -0
  135. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  136. package/src/View/DataChangeHistory/buildActionColumnButton.js +33 -41
  137. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  138. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +46 -0
  139. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  140. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +32 -19
  141. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  142. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  143. package/src/View/Export/ExportDestinationPicker.js +4 -5
  144. package/src/View/Export/ExportViewPanel.js +2 -2
  145. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
  146. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +2 -7
  147. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  148. package/src/View/Export/Wizard/ReportRowsWizardSection.js +2 -5
  149. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  150. package/src/View/FlashingCell/FlashingCellStyle.js +5 -3
  151. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  152. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +5 -9
  153. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  154. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +10 -0
  155. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  156. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +5 -1
  157. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  158. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +3 -8
  159. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -2
  160. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  161. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +101 -44
  162. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
  163. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -6
  164. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +55 -15
  165. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  166. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +2 -3
  167. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -9
  168. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +4 -9
  169. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +3 -2
  170. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -2
  171. package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
  172. package/src/View/GridFilter/GridFilterViewPanel.js +5 -5
  173. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -3
  174. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  175. package/src/View/Layout/LayoutViewPanel.js +2 -2
  176. package/src/View/Layout/Wizard/LayoutWizard.js +24 -28
  177. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +13 -1
  178. package/src/View/Layout/Wizard/sections/AggregationsSection.js +77 -33
  179. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  180. package/src/View/Layout/Wizard/sections/ColumnsSection.js +154 -275
  181. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
  182. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +146 -143
  183. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  184. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +22 -10
  185. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  186. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +21 -10
  187. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  188. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +23 -12
  189. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +7 -3
  190. package/src/View/Layout/Wizard/sections/RowSummarySection.js +10 -10
  191. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  192. package/src/View/Layout/Wizard/sections/SortSection.js +43 -18
  193. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  194. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +167 -0
  195. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  196. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +216 -0
  197. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  198. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +72 -0
  199. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  200. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +57 -0
  201. package/src/View/License/LicenseWatermark.js +1 -1
  202. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
  203. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -2
  204. package/src/View/Note/NoteEditor.js +2 -2
  205. package/src/View/QuickSearch/QuickSearchPopup.js +2 -3
  206. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  207. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
  208. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  209. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  210. package/src/View/StateManagement/StateManagementPopup.js +1 -1
  211. package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
  212. package/src/View/StateManagement/components/ExportDropdown.js +12 -13
  213. package/src/View/StatusBar/StatusBarPanel.js +2 -2
  214. package/src/View/StatusBar/StatusBarPopup.js +33 -5
  215. package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
  216. package/src/View/StatusBar/statusBarPanelHelpers.js +11 -0
  217. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +2 -0
  218. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +13 -10
  219. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +2 -2
  220. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +137 -119
  221. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +7 -13
  222. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -1
  223. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
  224. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +54 -0
  225. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  226. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +28 -6
  227. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +8 -17
  228. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +2 -1
  229. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +46 -28
  230. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +97 -42
  231. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +2 -1
  232. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
  233. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +31 -45
  234. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +10 -5
  235. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +93 -6
  236. package/src/View/UIHelper.d.ts +0 -2
  237. package/src/View/UIHelper.js +8 -24
  238. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  239. package/src/View/Wizard/CollapsibleWizardCard.js +90 -0
  240. package/src/View/Wizard/OnePageWizards.js +6 -6
  241. package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
  242. package/src/View/Wizard/SummaryColorTag.js +79 -0
  243. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  244. package/src/View/Wizard/WizardTypeSelection.js +40 -0
  245. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  246. package/src/View/Wizard/rowGroupSummaryTags.js +21 -0
  247. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  248. package/src/View/Wizard/scopeSummaryTags.js +38 -0
  249. package/src/agGrid/AdaptableAgGrid.js +1 -1
  250. package/src/agGrid/AgGridAdapter.js +0 -5
  251. package/src/agGrid/AgGridColumnAdapter.js +1 -1
  252. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
  253. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
  254. package/src/components/Card/index.js +5 -7
  255. package/src/components/CheckBox/index.js +2 -3
  256. package/src/components/CodeBlock/index.js +2 -3
  257. package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
  258. package/src/components/ColorPicker/ColorPicker.js +8 -6
  259. package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
  260. package/src/components/ColorPicker/OptionalColorPicker.js +31 -0
  261. package/src/components/ColorPicker/index.d.ts +1 -0
  262. package/src/components/ColorPicker/index.js +1 -0
  263. package/src/components/Combobox/comboboxUtils.d.ts +1 -0
  264. package/src/components/Combobox/index.js +19 -18
  265. package/src/components/Dashboard/DashboardManager.js +2 -4
  266. package/src/components/Dialog/index.js +4 -4
  267. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
  268. package/src/components/DragAndDropContext/DragAndDropContext.js +4 -1
  269. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  270. package/src/components/DragAndDropContext/ModuleManager.js +43 -4
  271. package/src/components/DragAndDropContext/TabList.d.ts +11 -4
  272. package/src/components/DragAndDropContext/TabList.js +52 -38
  273. package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
  274. package/src/components/DragAndDropContext/UnusedPanel.js +13 -9
  275. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  276. package/src/components/DragAndDropContext/dragScope.js +34 -0
  277. package/src/components/DragAndDropContext/types.d.ts +7 -0
  278. package/src/components/DropdownButton/index.d.ts +33 -25
  279. package/src/components/DropdownButton/index.js +24 -158
  280. package/src/components/EmptyContent/index.js +2 -3
  281. package/src/components/ErrorBox/index.js +2 -3
  282. package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
  283. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
  284. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -9
  285. package/src/components/FieldWrap/index.js +2 -3
  286. package/src/components/Flex.js +2 -2
  287. package/src/components/FormLayout/index.d.ts +1 -1
  288. package/src/components/HelpBlock/index.js +3 -4
  289. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  290. package/src/components/IconSelector/IconSelector.js +13 -8
  291. package/src/components/IconSelector/index.d.ts +1 -0
  292. package/src/components/IconSelector/index.js +3 -0
  293. package/src/components/Modal/index.js +2 -2
  294. package/src/components/NewSelect/index.js +11 -1
  295. package/src/components/Panel/index.js +7 -7
  296. package/src/components/Radio/index.d.ts +1 -1
  297. package/src/components/Radio/index.js +8 -6
  298. package/src/components/SimpleButton/index.js +7 -7
  299. package/src/components/StylePreview.js +2 -3
  300. package/src/components/Tabs/index.js +4 -4
  301. package/src/components/Tag/Tag.d.ts +16 -0
  302. package/src/components/Tag/Tag.js +16 -5
  303. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  304. package/src/components/Tag/columnScopeTagHelpers.js +12 -0
  305. package/src/components/Tag/index.d.ts +1 -1
  306. package/src/components/Tag/index.js +3 -1
  307. package/src/components/Textarea/index.js +2 -3
  308. package/src/components/Toggle/Toggle.d.ts +2 -0
  309. package/src/components/Toggle/Toggle.js +14 -7
  310. package/src/components/Toggle/ToggleGroup.js +2 -2
  311. package/src/components/ToggleButton/index.js +4 -5
  312. package/src/components/Tree/TreeDropdown/index.js +3 -5
  313. package/src/components/WarningBox/index.js +2 -3
  314. package/src/components/icons/sort-asc.js +1 -1
  315. package/src/components/ui/button.d.ts +2 -2
  316. package/src/components/ui/combobox.d.ts +3 -1
  317. package/src/components/ui/combobox.js +2 -2
  318. package/src/components/ui/input-group.d.ts +1 -1
  319. package/src/components/ui/select.js +3 -2
  320. package/src/components/ui/textarea.js +1 -1
  321. package/src/env.js +2 -2
  322. package/src/layout-manager/src/index.js +7 -3
  323. package/src/metamodel/adaptable.metamodel.js +1 -1
  324. package/src/types.d.ts +1 -1
  325. package/tsconfig.cjs.tsbuildinfo +1 -1
  326. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  327. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -295
  328. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  329. package/src/components/DropdownButton/DropdownButtonItem.js +0 -2
  330. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  331. package/src/components/DropdownButton/renderItem.js +0 -14
  332. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  333. package/src/components/DropdownButton/useExpanded.js +0 -59
  334. package/src/components/NewDropdownButton/index.d.ts +0 -27
  335. package/src/components/NewDropdownButton/index.js +0 -28
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { AlertDefinition } from '../../../AdaptableState/AlertState';
3
3
  export declare const isScheduledAlertTimeValid: (alert: AlertDefinition) => true | string;
4
- export declare const renderAlertScheduledSummary: () => React.JSX.Element;
4
+ export declare const renderAlertScheduledSummary: (data: AlertDefinition) => React.JSX.Element;
5
5
  type AlertScheduledWizardSectionProps = {
6
6
  onChange: (alert: AlertDefinition) => void;
7
7
  };
@@ -17,8 +17,7 @@ const isScheduledAlertTimeValid = (alert) => {
17
17
  return (0, ScheduleScheduleWizard_1.isScheduleValid)({ Schedule: alert.Schedule });
18
18
  };
19
19
  exports.isScheduledAlertTimeValid = isScheduledAlertTimeValid;
20
- const renderAlertScheduledSummary = () => {
21
- const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
20
+ const renderAlertScheduledSummary = (data) => {
22
21
  if (!(0, ScheduledAlertHelper_1.isScheduledAlertDefinition)(data)) {
23
22
  return null;
24
23
  }
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { AlertType } from '../Utilities/getAlertType';
3
3
  import { AdaptableApi, AlertDefinition } from '../../../types';
4
4
  export declare const isSettingsValid: (data: AlertDefinition, api: AdaptableApi) => true | "Name is required" | "An Alert already exists with that name";
5
- export declare const renderAlertTypeSummary: (alertType: AlertType) => React.JSX.Element;
5
+ export declare const renderAlertTypeSummary: (alertType: AlertType, data: AlertDefinition) => React.JSX.Element;
6
6
  type AlertTypeWizardSectionProps = {
7
7
  onAlertTypeChange: (alertType: AlertType) => void;
8
8
  alertType: AlertType | null;
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AlertTypeWizardSection = exports.renderAlertTypeSummary = exports.isSettingsValid = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const jsx_runtime_1 = require("react/jsx-runtime");
6
5
  const getAlertType_1 = require("../Utilities/getAlertType");
7
- const TypeRadio_1 = require("../../Wizard/TypeRadio");
8
6
  const Tag_1 = require("../../../components/Tag");
9
7
  const Flex_1 = require("../../../components/Flex");
10
8
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
11
- const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
12
9
  const OnePageAdaptableWizard_2 = require("../../Wizard/OnePageAdaptableWizard");
13
- const Card_1 = require("../../../components/Card");
10
+ const WizardTypeSelection_1 = require("../../Wizard/WizardTypeSelection");
14
11
  const isSettingsValid = (data, api) => {
15
12
  if (!data.Name?.trim()) {
16
13
  return 'Name is required';
@@ -23,12 +20,38 @@ const isSettingsValid = (data, api) => {
23
20
  return true;
24
21
  };
25
22
  exports.isSettingsValid = isSettingsValid;
26
- const renderAlertTypeSummary = (alertType) => {
27
- const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
23
+ const renderAlertTypeSummary = (alertType, data) => {
28
24
  const text = (0, getAlertType_1.getAlertTypeText)(alertType);
29
25
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Name ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.Name || 'Not specified' })] }), (0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Type ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: text })] })] }));
30
26
  };
31
27
  exports.renderAlertTypeSummary = renderAlertTypeSummary;
28
+ const ALERT_TYPE_OPTIONS = [
29
+ {
30
+ type: getAlertType_1.AlertType.DataChange,
31
+ description: "A data change has been made to the Grid's data source",
32
+ },
33
+ {
34
+ type: getAlertType_1.AlertType.RowChange,
35
+ description: 'A Row has been added or removed from the data source',
36
+ },
37
+ {
38
+ type: getAlertType_1.AlertType.Aggregation,
39
+ description: 'A change has been made to aggregated data (i.e. from multiple Rows)',
40
+ },
41
+ {
42
+ type: getAlertType_1.AlertType.Observable,
43
+ description: 'A specified change (or lack of change) over time has been observed in the Grid',
44
+ },
45
+ {
46
+ type: getAlertType_1.AlertType.Validation,
47
+ description: "A change made to the Grid's data has broken a validation rule",
48
+ },
49
+ {
50
+ type: getAlertType_1.AlertType.Scheduled,
51
+ description: 'A reminder is triggered to display at a specfied date and time',
52
+ },
53
+ ];
54
+ const ALERT_TYPE_COUNT = ALERT_TYPE_OPTIONS.length;
32
55
  const AlertTypeWizardSection = (props) => {
33
56
  const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
34
57
  const handleNameChange = (event) => {
@@ -37,6 +60,6 @@ const AlertTypeWizardSection = (props) => {
37
60
  Name: event.target.value,
38
61
  });
39
62
  };
40
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Name" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Provide a unique name for the Alert" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "alert-name", className: "twa:max-w-[300px] twa:w-full", onChange: handleNameChange, placeholder: "Enter Name", value: data.Name ?? '' }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Alert Type" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose when the Alert should fire" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: (0, getAlertType_1.getAlertTypeText)(getAlertType_1.AlertType.DataChange), description: "A change has been made to the Grid's underlying data", checked: props.alertType === getAlertType_1.AlertType.DataChange, onClick: () => props.onAlertTypeChange(getAlertType_1.AlertType.DataChange) }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: (0, getAlertType_1.getAlertTypeText)(getAlertType_1.AlertType.RowChange), description: "A Row was added or removed from the data source", checked: props.alertType === getAlertType_1.AlertType.RowChange, onClick: () => props.onAlertTypeChange(getAlertType_1.AlertType.RowChange) }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: (0, getAlertType_1.getAlertTypeText)(getAlertType_1.AlertType.Aggregation), description: "A change has been made to aggregated data (i.e. from multiple Rows)", onClick: () => props.onAlertTypeChange(getAlertType_1.AlertType.Aggregation), checked: props.alertType === getAlertType_1.AlertType.Aggregation }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: (0, getAlertType_1.getAlertTypeText)(getAlertType_1.AlertType.Observable), description: "A specified change (or lack of change) over time has been observed in the Grid", onClick: () => props.onAlertTypeChange(getAlertType_1.AlertType.Observable), checked: props.alertType === getAlertType_1.AlertType.Observable }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: (0, getAlertType_1.getAlertTypeText)(getAlertType_1.AlertType.Validation), description: "A change has broken a data validation rule", checked: props.alertType === getAlertType_1.AlertType.Validation, onClick: () => props.onAlertTypeChange(getAlertType_1.AlertType.Validation) }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: (0, getAlertType_1.getAlertTypeText)(getAlertType_1.AlertType.Scheduled), description: "A reminder fires at a date and time you choose", checked: props.alertType === getAlertType_1.AlertType.Scheduled, onClick: () => props.onAlertTypeChange(getAlertType_1.AlertType.Scheduled) })] }) })] })] }));
63
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:h-full twa:min-h-0 twa:p-2 twa:gap-2", children: [(0, jsx_runtime_1.jsx)(WizardTypeSelection_1.WizardNameFieldSection, { value: data.Name ?? '', onChange: handleNameChange, inputDataName: "alert-name" }), (0, jsx_runtime_1.jsx)(WizardTypeSelection_1.WizardTypeSelectionSection, { headingId: "alert-type-heading", title: "Alert Type", dataName: "alert-type", columns: (0, WizardTypeSelection_1.getWizardTypeSelectionGridColumns)(ALERT_TYPE_COUNT), intro: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Click a card to choose one of ", ALERT_TYPE_COUNT, " alert types for when the Alert should fire"] }), children: ALERT_TYPE_OPTIONS.map((option) => ((0, jsx_runtime_1.jsx)(WizardTypeSelection_1.WizardTypeSelectionCard, { label: (0, getAlertType_1.getAlertTypeText)(option.type), description: option.description, selected: props.alertType === option.type, dataName: `alert-type-${option.type}`, onSelect: () => props.onAlertTypeChange(option.type) }, option.type))) })] }));
41
64
  };
42
65
  exports.AlertTypeWizardSection = AlertTypeWizardSection;
@@ -87,7 +87,7 @@ const AlertWizard = (props) => {
87
87
  isValid: AlertTypeWizardSection_1.isSettingsValid,
88
88
  details: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Enter Name and select and select an Alert Type" })),
89
89
  render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(AlertTypeWizardSection_1.AlertTypeWizardSection, { alertType: alertType, onAlertTypeChange: handleAlertTypeChange, onChange: setAlertDefinition }) })),
90
- renderSummary: () => (0, AlertTypeWizardSection_1.renderAlertTypeSummary)(alertType),
90
+ renderSummary: (data) => (0, AlertTypeWizardSection_1.renderAlertTypeSummary)(alertType, data),
91
91
  },
92
92
  {
93
93
  title: 'Schedule',
@@ -117,7 +117,7 @@ const AlertWizard = (props) => {
117
117
  details: "Select the Alert's Message Type and Text",
118
118
  isValid: (data) => (0, isValidAlertMessage_1.isValidAlertMessage)(data, alertType),
119
119
  render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(AlertMessageWizardSection_1.AlertMessageWizardSection, { alertType: alertType, onChange: setAlertDefinition }) })),
120
- renderSummary: () => (0, AlertMessageWizardSection_1.renderAlertMessageSummary)(alertType),
120
+ renderSummary: (data) => (0, AlertMessageWizardSection_1.renderAlertMessageSummary)(alertType, data),
121
121
  },
122
122
  {
123
123
  title: 'Notification',
@@ -129,7 +129,7 @@ const AlertWizard = (props) => {
129
129
  title: behaviourSpelling,
130
130
  details: 'Configure ' + behaviourSpelling + 's for the Alert',
131
131
  render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(AlertBehaviourWizardSection_1.AlertBehaviourWizardSection, { alertType: alertType, onChange: setAlertDefinition }) })),
132
- renderSummary: AlertBehaviourWizardSection_1.renderAlertBehaviourWizardSummary,
132
+ renderSummary: AlertBehaviourWizardSection_1.renderAlertBehaviourSummary,
133
133
  },
134
134
  {
135
135
  details: 'Select Alert Tags',
@@ -1,2 +1,3 @@
1
1
  import * as React from 'react';
2
- export declare const renderScopeSummary: () => React.JSX.Element;
2
+ import { AlertDefinition } from '../../../../types';
3
+ export declare const renderScopeSummary: (data: AlertDefinition) => React.JSX.Element;
@@ -1,23 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderScopeSummary = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
7
- const Flex_1 = require("../../../components/Flex");
8
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
9
- const Tag_1 = require("../../../components/Tag/Tag");
10
- const renderScopeSummary = () => {
11
- const { data, api: { columnScopeApi: scopeApi }, } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
5
+ const scopeSummaryTags_1 = require("../../Wizard/scopeSummaryTags");
6
+ const renderScopeSummary = (data) => {
12
7
  if (!('Scope' in data)) {
13
8
  return null;
14
9
  }
15
- const scope = data.Scope;
16
- const columnsInScope = scopeApi.getColumnsInScope(scope);
17
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2", children: scopeApi.scopeIsAll(scope)
18
- ? 'Changes to any Column in the row will trigger an Alert'
19
- : null }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:overflow-hidden", children: 'ColumnIds' in scope ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: (0, clsx_1.default)('twa:text-2', columnsInScope.length ? 'twa:mb-2' : 'twa:mb-0'), children: "Changes in selected columns will trigger an alert" }), columnsInScope.length ? ((0, jsx_runtime_1.jsx)(Tag_1.TagList, { tags: columnsInScope.map((c) => c.friendlyName) })) : null] })) : null }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { children: 'DataTypes' in scope ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2 twa:mb-2", children: "Changes in Columns with these Data Types trigger an Alert" }), (0, jsx_runtime_1.jsx)(Tag_1.TagList, { tags: scope.DataTypes.map((dataType) => {
20
- return `DataType: ${dataType}`;
21
- }) })] })) : null })] }));
10
+ return (0, jsx_runtime_1.jsx)(scopeSummaryTags_1.ScopeSummaryTags, { scope: data.Scope });
22
11
  };
23
12
  exports.renderScopeSummary = renderScopeSummary;
@@ -46,7 +46,7 @@ class BulkUpdatePopupComponent extends React.Component {
46
46
  if (!col) {
47
47
  return null;
48
48
  }
49
- return ((0, jsx_runtime_1.jsxs)(PanelWithImage_1.PanelWithImage, { bodyProps: { className: 'twa:p-0' }, glyphicon: this.props.moduleInfo.Glyph, header: this.props.moduleInfo.FriendlyName, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed(), variant: "primary", children: [col.dataType == 'date' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(HelpBlock_1.default, { className: "twa:my-2", children: "Enter a date value. Alternatively, tick the checkbox and select from an existing column value." }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:p-2", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", flexDirection: "row", className: "twa:flex-1 twa:mr-2", children: (0, jsx_runtime_1.jsx)(BulkUpdateValueSelector_1.BulkUpdateValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, className: "twa:w-full twa:max-w-[inherit]" }) }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
49
+ return ((0, jsx_runtime_1.jsxs)(PanelWithImage_1.PanelWithImage, { bodyProps: { className: 'twa:p-2' }, glyphicon: this.props.moduleInfo.Glyph, header: this.props.moduleInfo.FriendlyName, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed(), variant: "primary", children: [col.dataType == 'date' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(HelpBlock_1.default, { className: "twa:my-2", children: "Enter a date value. Alternatively, tick the checkbox and select from an existing column value." }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:p-2", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", flexDirection: "row", className: "twa:flex-1 twa:mr-2", children: (0, jsx_runtime_1.jsx)(BulkUpdateValueSelector_1.BulkUpdateValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, className: "twa:w-full twa:max-w-[inherit]" }) }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
50
50
  this.props.PreviewInfo.previewValidationSummary.validationResult == 'All', onClick: () => {
51
51
  this.onApplyClick();
52
52
  }, variant: "raised", tone: "accent", children: "Apply Bulk Update" })] })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(HelpBlock_1.default, { className: "twa:my-2", children: "Select an existing Column value from the dropdown, or enter a new value" }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:mt-2 twa:gap-2 twa:items-stretch", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", flexDirection: "row", className: "twa:mr-2 twa:flex-1", children: (0, jsx_runtime_1.jsx)(BulkUpdateValueSelector_1.BulkUpdateValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (columns) => this.onColumnValueSelectedChanged(columns), className: "twa:w-full twa:max-w-[inherit]" }) }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
@@ -16,7 +16,7 @@ const InternalRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/
16
16
  const BulkUpdateRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/BulkUpdateRedux"));
17
17
  const react_redux_1 = require("react-redux");
18
18
  const Flex_1 = require("../../components/Flex");
19
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
19
+ const utils_1 = require("../../lib/utils");
20
20
  class BulkUpdateViewPanelComponent extends React.Component {
21
21
  cleanupEvent;
22
22
  constructor(props) {
@@ -58,15 +58,13 @@ class BulkUpdateViewPanelComponent extends React.Component {
58
58
  const elementType = isToolbar ? 'DashboardToolbar' : 'ToolPanel';
59
59
  const messageStyle = UIHelper_1.UIHelper.getMessageTypeByStatusColour(statusColour);
60
60
  const infoStyle = messageStyle === 'Success' ? 'Info' : messageStyle;
61
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: (0, clsx_1.default)(valueSelectorDisabled ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__BulkUpdate__wrap twa:gap-1 twa:flex-row`, {
61
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: (0, utils_1.cn)(valueSelectorDisabled ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__BulkUpdate__wrap twa:gap-1 twa:flex-row`, {
62
62
  'twa:min-w-[300px] twa:max-w-[300px] twa:w-[300px] twa:flex-nowrap': isToolbar,
63
63
  'twa:flex-1 twa:flex-wrap': !isToolbar,
64
- }), flexWrap: isToolbar ? 'nowrap' : 'wrap', children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, clsx_1.default)('twa:flex-1', {
64
+ }), flexWrap: isToolbar ? 'nowrap' : 'wrap', children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, utils_1.cn)('twa:flex-1', {
65
65
  'twa:min-w-[100px]': !isToolbar,
66
66
  'twa:min-w-0': isToolbar,
67
- }), children: (0, jsx_runtime_1.jsx)(BulkUpdateValueSelector_1.BulkUpdateValueSelector, { selectedGridCells: this.props.SelectedGridCells, newLabel: "New", existingLabel: "Existing", dropdownButtonProps: {
68
- listMinWidth: 160,
69
- }, className: `ab-${elementType}__BulkUpdate__select twa:w-full`, disabled: valueSelectorDisabled, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: selectedColumn, api: this.props.api, onColumnValueChange: (columns) => this.onColumnValueSelectedChanged(columns) }) }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-shrink-0 twa:gap-1", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex twa:box-border twa:items-stretch", children: (0, jsx_runtime_1.jsx)(ButtonApply_1.ButtonApply, { className: `ab-${elementType}__BulkUpdate__apply twa:h-full`, onClick: () => this.onApplyClick(), style: applyStyle, tooltip: "Apply Bulk Update", disabled: valueOperationDisabled, accessLevel: this.props.accessLevel, children: 'Apply' }) }), (0, jsx_runtime_1.jsx)(AdaptablePopover_1.AdaptablePopover, { popoverMinWidth: 360, popoverMaxWidth: 500, popupPadding: 0, className: `ab-${elementType}__BulkUpdate__info`, headerText: "Preview Results", bodyText: [previewPanel], MessageType: infoStyle, useButton: true, showEvent: 'focus', hideEvent: "blur", disabled: valueSelectorDisabled || StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) })] })] }));
67
+ }), children: (0, jsx_runtime_1.jsx)(BulkUpdateValueSelector_1.BulkUpdateValueSelector, { selectedGridCells: this.props.SelectedGridCells, newLabel: "New", existingLabel: "Existing", className: `ab-${elementType}__BulkUpdate__select twa:w-full`, disabled: valueSelectorDisabled, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: selectedColumn, api: this.props.api, onColumnValueChange: (columns) => this.onColumnValueSelectedChanged(columns) }) }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-shrink-0 twa:gap-1", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex twa:box-border twa:items-stretch", children: (0, jsx_runtime_1.jsx)(ButtonApply_1.ButtonApply, { className: `ab-${elementType}__BulkUpdate__apply twa:h-full`, onClick: () => this.onApplyClick(), style: applyStyle, tooltip: "Apply Bulk Update", disabled: valueOperationDisabled, accessLevel: this.props.accessLevel, children: 'Apply' }) }), (0, jsx_runtime_1.jsx)(AdaptablePopover_1.AdaptablePopover, { popoverMinWidth: 360, popoverMaxWidth: 500, popupPadding: 0, className: `ab-${elementType}__BulkUpdate__info`, headerText: "Preview Results", bodyText: [previewPanel], MessageType: infoStyle, useButton: true, showEvent: 'focus', hideEvent: "blur", disabled: valueSelectorDisabled || StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) })] })] }));
70
68
  }
71
69
  onColumnValueSelectedChanged(selectedColumnValue) {
72
70
  this.props.onBulkUpdateValueChange(selectedColumnValue);
@@ -6,6 +6,6 @@ export type CalculatedColumnExpressionWizardSectionProps = {
6
6
  onChange: (data: CalculatedColumn) => void;
7
7
  expressionType: ExpressionType;
8
8
  };
9
- export declare const renderCalculatedColumnExpressionSummary: (data: CalculatedColumn) => React.JSX.Element;
9
+ export declare const renderCalculatedColumnExpressionSummary: (data: CalculatedColumn, api: AdaptableApi) => React.JSX.Element;
10
10
  export declare const isValidCalculatedColumnExpression: (data: CalculatedColumn, api: AdaptableApi) => true | string;
11
11
  export declare const CalculatedColumnExpressionWizardSection: (props: CalculatedColumnExpressionWizardSectionProps) => React.JSX.Element;
@@ -23,8 +23,7 @@ const getExpressionTypeDescription = (expressionType) => {
23
23
  return '';
24
24
  }
25
25
  };
26
- const renderCalculatedColumnExpressionSummary = (data) => {
27
- const { api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
26
+ const renderCalculatedColumnExpressionSummary = (data, api) => {
28
27
  return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-2", children: ["Column scalar expression:", ' ', (0, jsx_runtime_1.jsx)(CodeBlock_1.CodeBlock, { children: api.internalApi.getAdaptableQueryExpressionText(data.Query) })] }));
29
28
  };
30
29
  exports.renderCalculatedColumnExpressionSummary = renderCalculatedColumnExpressionSummary;
@@ -68,7 +68,7 @@ const CalculatedColumnSettingsWizardSection = (props) => {
68
68
  { value: 'boolean', label: 'Boolean' },
69
69
  { value: 'numberArray', label: 'NumberArray' },
70
70
  ];
71
- return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "data-name": 'calculated-column-settings', children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Data Type" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose the data type for the Calculated Column values" })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { className: "twa:p-1 twa:gap-1", children: [(0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { "data-name": "column-type", placeholder: "Select Data Type", items: options, value: dataType, onValueChange: (value) => handleDataTypeChange(value), className: "twa:max-w-[300px]" }), ErrorMessage ? ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2 twa:text-error", children: ErrorMessage })) : null] })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Width" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Optional Column Width in pixels" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "column-width", type: "number", className: "twa:max-w-[300px]", value: Width || '', onChange: (e) => handleSpecialColumnSettingsChange({
71
+ return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "data-name": 'calculated-column-settings', children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Data Type" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose the data type for the Calculated Column values" })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { className: "twa:p-1 twa:gap-1", children: [(0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { "data-name": "column-type", placeholder: "Select Data Type", items: options, value: dataType, onValueChange: (value) => handleDataTypeChange(value), className: "twa:max-w-[300px]" }), ErrorMessage ? ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2 twa:text-destructive", children: ErrorMessage })) : null] })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Width" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Optional Column Width in pixels" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "column-width", type: "number", className: "twa:max-w-[300px]", value: Width || '', onChange: (e) => handleSpecialColumnSettingsChange({
72
72
  Width: Number(e.target.value),
73
73
  }) }) })] }), (0, jsx_runtime_1.jsx)(SpecialColumnSettingsWizardStep_1.SpecialColumnSettingsWizardStep, { isEditable: false,
74
74
  // @ts-ignore CalculatedColumn has a broader DataType
@@ -2,10 +2,36 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CalculatedColumnTypeWizardSection = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const TypeRadio_1 = require("../../Wizard/TypeRadio");
6
5
  const Flex_1 = require("../../../components/Flex");
7
- const Card_1 = require("../../../components/Card");
6
+ const WizardTypeSelection_1 = require("../../Wizard/WizardTypeSelection");
7
+ const CALCULATED_COLUMN_TYPE_OPTIONS = [
8
+ {
9
+ type: 'ScalarExpression',
10
+ label: 'Standard',
11
+ description: 'The calculated value is derived from other cells in the row',
12
+ expressionExample: '[price] * [quantity]',
13
+ },
14
+ {
15
+ type: 'AggregatedScalarExpression',
16
+ label: 'Aggregated',
17
+ description: 'The calculated value is derived from other rows',
18
+ expressionExample: 'SUM([pnl], GROUP_BY([desk]))',
19
+ },
20
+ {
21
+ type: 'CumulativeAggregatedExpression',
22
+ label: 'Cumulative',
23
+ description: 'The calculated value is derived cumulatively from other rows',
24
+ expressionExample: 'CUMUL(SUM([pnl]), OVER([tradeDate]))',
25
+ },
26
+ {
27
+ type: 'QuantileAggregatedExpression',
28
+ label: 'Quantile',
29
+ description: 'The calculated value is derived from other rows using quantile aggregations',
30
+ expressionExample: 'QUANT([pnl], 4)',
31
+ },
32
+ ];
33
+ const CALCULATED_COLUMN_TYPE_COUNT = CALCULATED_COLUMN_TYPE_OPTIONS.length;
8
34
  const CalculatedColumnTypeWizardSection = (props) => {
9
- return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsx)(Card_1.Card.Title, { children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Calculated Column Type" }) }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: 'Standard', description: "The calculated value is derived from other cells in the row", checked: props.type === 'ScalarExpression', onClick: () => props.onTypeChange('ScalarExpression') }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: 'Aggregated', description: "The calculated value is derived from other rows", checked: props.type === 'AggregatedScalarExpression', onClick: () => props.onTypeChange('AggregatedScalarExpression') }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: 'Cumulative', description: "The calculated value is derived cumulatively from other rows", checked: props.type === 'CumulativeAggregatedExpression', onClick: () => props.onTypeChange('CumulativeAggregatedExpression') }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { text: 'Quantile', description: "The calculated value is derived from other rows using quantile aggregations", checked: props.type === 'QuantileAggregatedExpression', onClick: () => props.onTypeChange('QuantileAggregatedExpression') })] }) })] }) }));
35
+ return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", "data-name": "calculated-column-type", className: "twa:h-full twa:min-h-0 twa:p-2", children: (0, jsx_runtime_1.jsx)(WizardTypeSelection_1.WizardTypeSelectionSection, { headingId: "calculated-column-type-heading", title: "Calculated Column Type", dataName: "calculated-column-type-grid", columns: (0, WizardTypeSelection_1.getWizardTypeSelectionGridColumns)(CALCULATED_COLUMN_TYPE_COUNT), intro: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Click a card to choose one of ", CALCULATED_COLUMN_TYPE_COUNT, " calculated column types"] }), children: CALCULATED_COLUMN_TYPE_OPTIONS.map((option) => ((0, jsx_runtime_1.jsx)(WizardTypeSelection_1.WizardTypeSelectionCard, { label: option.label, description: option.description, selected: props.type === option.type, dataName: `calculated-column-type-${option.type}`, minHeightClassName: "twa:min-h-[148px]", onSelect: () => props.onTypeChange(option.type), footer: (0, jsx_runtime_1.jsx)(WizardTypeSelection_1.WizardTypeSelectionPreviewFrame, { children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { as: "code", className: "ab-CodeBlock twa:block twa:w-full twa:truncate twa:bg-transparent twa:p-0 twa:font-mono twa:text-2 twa:leading-snug twa:text-foreground twa:opacity-90", children: option.expressionExample }) }) }, option.type))) }) }));
10
36
  };
11
37
  exports.CalculatedColumnTypeWizardSection = CalculatedColumnTypeWizardSection;
@@ -7,13 +7,13 @@ const React = tslib_1.__importStar(require("react"));
7
7
  const EnumExtensions_1 = require("../../Utilities/Extensions/EnumExtensions");
8
8
  const Enums_1 = require("../../AdaptableState/Common/Enums");
9
9
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
10
+ const utils_1 = require("../../lib/utils");
10
11
  const CellSummaryPopover_1 = require("./CellSummaryPopover");
11
12
  const GeneralConstants = tslib_1.__importStar(require("../../Utilities/Constants/GeneralConstants"));
12
13
  const AdaptablePopover_1 = require("../AdaptablePopover");
13
14
  const InternalRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/InternalRedux"));
14
15
  const react_redux_1 = require("react-redux");
15
16
  const Flex_1 = require("../../components/Flex");
16
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
17
17
  const NewSelect_1 = require("../../components/NewSelect");
18
18
  class CellSummaryViewPanelComponent extends React.Component {
19
19
  cleanupEvent;
@@ -54,11 +54,11 @@ class CellSummaryViewPanelComponent extends React.Component {
54
54
  const isToolbar = this.props.viewType === 'Toolbar';
55
55
  const elementType = isToolbar ? 'DashboardToolbar' : 'ToolPanel';
56
56
  const operationValue = this.getOperationValue() ?? 'N/A';
57
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: (0, clsx_1.default)(shouldDisable ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__CellSummary__wrap twa:gap-2 twa:flex-row`, {
57
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: (0, utils_1.cn)(shouldDisable ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__CellSummary__wrap twa:gap-2 twa:flex-row`, {
58
58
  'twa:min-w-[215px] twa:max-w-[215px] twa:w-[215px] twa:flex-nowrap': isToolbar,
59
59
  'twa:flex-1 twa:flex-wrap': !isToolbar,
60
- }), children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex-1", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { ariaLabel: "Cell Summary Operation Selector", className: `ab-${elementType}__CellSummary__select twa:w-full`, disabled: shouldDisable, items: [...operationMenuItems, ...operationDefinitions], onValueChange: (x) => this.props.onCellSummaryOperationChange(x), value: this.props.CellSummaryOperation }) }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:items-center twa:gap-1", children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, clsx_1.default)(`ab-${elementType}__CellSummary__value twa:min-w-[50px]`, {
61
- 'twa:rounded-standard twa:text-color-text-on-info twa:bg-color-info twa:text-2': !isToolbar,
60
+ }), children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex-1", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { ariaLabel: "Cell Summary Operation Selector", className: `ab-${elementType}__CellSummary__select twa:w-full`, disabled: shouldDisable, items: [...operationMenuItems, ...operationDefinitions], onValueChange: (x) => this.props.onCellSummaryOperationChange(x), value: this.props.CellSummaryOperation }) }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:items-center twa:gap-1", children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, utils_1.cn)(`ab-${elementType}__CellSummary__value twa:min-w-[50px]`, {
61
+ 'twa:rounded-standard twa:text-info-foreground twa:bg-info twa:text-2': !isToolbar,
62
62
  'twa:flex-1 twa:text-primary-foreground twa:justify-center': isToolbar,
63
63
  }), children: operationValue }), (0, jsx_runtime_1.jsx)(AdaptablePopover_1.AdaptablePopover, { popoverMaxWidth: 360, className: "ab-ToolPanel__CellSummary__info", bodyText: [cellSummaryPopover], useButton: true, showEvent: 'focus', hideEvent: "blur", tooltipText: 'Show Cell Summaries', disabled: !this.props.CellSummary?.Count })] }) })] }));
64
64
  }
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
7
7
  const AdaptableContext_1 = require("../AdaptableContext");
8
- const DropdownButton_1 = tslib_1.__importDefault(require("../../components/DropdownButton"));
8
+ const DropdownButton_1 = require("../../components/DropdownButton");
9
9
  const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
10
10
  const ChartingState_1 = require("../../AdaptableState/ChartingState");
11
11
  const useAgChartState_1 = require("./useAgChartState");
@@ -20,7 +20,7 @@ const BaseShowChartButton = (props) => {
20
20
  if (!chartContainers?.length) {
21
21
  return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": "show-chart-button", onClick: () => props.onShowChart(), variant: "text", tone: "success", icon: "visibility-on", tooltip: "Show Chart" }));
22
22
  }
23
- return ((0, jsx_runtime_1.jsx)(DropdownButton_1.default, { "data-name": "show-chart-dropdown", variant: "text", columns: ['label'], items: props.containerOptions, children: (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { variant: "raised", tone: "success", children: "Open" }) }));
23
+ return ((0, jsx_runtime_1.jsx)(DropdownButton_1.NewDropdownButton, { "data-name": "show-chart-dropdown", items: props.containerOptions, children: "Open In..." }));
24
24
  };
25
25
  const ShowAgChartButton = (props) => {
26
26
  const adaptableApi = (0, AdaptableContext_1.useAdaptable)().api;
@@ -33,13 +33,13 @@ const ShowAgChartButton = (props) => {
33
33
  onClick: () => {
34
34
  showChart(null);
35
35
  },
36
- ...(chartContainers
37
- ? chartContainers?.map((contianerDef) => ({
38
- label: contianerDef.name,
39
- onClick: () => showChart(contianerDef),
40
- }))
41
- : []),
42
36
  },
37
+ ...(chartContainers
38
+ ? chartContainers.map((contianerDef) => ({
39
+ label: contianerDef.name,
40
+ onClick: () => showChart(contianerDef),
41
+ }))
42
+ : []),
43
43
  ];
44
44
  return ((0, jsx_runtime_1.jsx)(BaseShowChartButton, { chartOpened: isOpen, onShowChart: showChart, onCloseChart: closeChart, containerOptions: containerOptions }));
45
45
  };
@@ -14,6 +14,7 @@ const ButtonNew_1 = require("../Components/Buttons/ButtonNew");
14
14
  const ColumnSelector_1 = require("../Components/Selectors/ColumnSelector");
15
15
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
16
16
  const Flex_1 = require("../../components/Flex");
17
+ const columnLayoutHelpers_1 = require("../Layout/Wizard/sections/columnLayoutHelpers");
17
18
  const BASE_CLASS_NAME = 'ab-AdaptableColumns';
18
19
  const domProps = {
19
20
  className: 'twa:flex-1 twa:min-h-0 twa:w-full',
@@ -39,11 +40,22 @@ const MODULES_WITH_SCOPE = [
39
40
  'Shortcut',
40
41
  'StyledColumn',
41
42
  ];
43
+ /** Column Info summary only — shows the resolved default width when layout has no explicit sizing. */
44
+ const formatColumnInfoSummaryWidth = (columnId, sizing, resolveDefaultWidth) => {
45
+ const explicit = (0, columnLayoutHelpers_1.formatColumnInspectorSizing)(columnId, sizing, resolveDefaultWidth);
46
+ if (explicit !== 'Default') {
47
+ return explicit;
48
+ }
49
+ return String(resolveDefaultWidth(columnId));
50
+ };
42
51
  const ColumnDefPreview = (props) => {
43
52
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
44
53
  if (props.column) {
45
54
  const api = adaptable.api;
46
55
  const summary = api.columnApi.getColumnSummaryForColumnId(props.column.columnId);
56
+ const layout = api.layoutApi.getCurrentLayout();
57
+ const resolveDefaultWidth = (columnId) => adaptable.getDefaultColumnWidthForCol(columnId);
58
+ const columnSizing = layout.ColumnSizing?.[props.column.columnId];
47
59
  const keyValuePairs = [
48
60
  {
49
61
  Key: 'Column Id',
@@ -89,9 +101,17 @@ const ColumnDefPreview = (props) => {
89
101
  Key: 'Visible',
90
102
  Value: props.column.visible ? 'Yes' : 'No',
91
103
  },
104
+ {
105
+ Key: 'Pinning',
106
+ Value: (0, columnLayoutHelpers_1.formatColumnInspectorPinning)(layout, props.column.columnId),
107
+ },
92
108
  {
93
109
  Key: 'Width',
94
- Value: props.column.width,
110
+ Value: formatColumnInfoSummaryWidth(props.column.columnId, columnSizing, resolveDefaultWidth),
111
+ },
112
+ {
113
+ Key: 'Sorting',
114
+ Value: (0, columnLayoutHelpers_1.formatColumnInspectorSorting)(layout, props.column.columnId),
95
115
  },
96
116
  {
97
117
  Key: 'Row Grouped',
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AdaptableObjectCollection = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const jsx_runtime_1 = require("react/jsx-runtime");
6
5
  const PanelWithRow_1 = require("../Panels/PanelWithRow");
6
+ const utils_1 = require("../../../lib/utils");
7
7
  const Flex_1 = require("../../../components/Flex");
8
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
9
8
  const twMerge_1 = require("../../../twMerge");
10
9
  const AdaptableObjectCollection = (props) => {
11
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { style: props.style, className: (0, twMerge_1.twMerge)('ab-ObjectCollection twa:flex twa:flex-col', props.className), children: [(0, jsx_runtime_1.jsx)(PanelWithRow_1.PanelWithRow, { border: "none", colItems: props.colItems }), (0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('ab-ObjectCollection__items twa:shadow-none twa:flex-1', {
10
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { style: props.style, className: (0, twMerge_1.twMerge)('ab-ObjectCollection twa:flex twa:flex-col', props.className), children: [(0, jsx_runtime_1.jsx)(PanelWithRow_1.PanelWithRow, { border: "none", colItems: props.colItems }), (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('ab-ObjectCollection__items twa:shadow-none twa:flex-1', {
12
11
  'twa:overflow-y-visible': props.allowOverflow,
13
12
  'twa:overflow-y-auto': !props.allowOverflow,
14
13
  }), children: props.items })] }));
@@ -45,7 +45,7 @@ const AdaptableObjectCompactListItem = (props) => {
45
45
  ? React.createElement(objectView.item.view, {
46
46
  data: props.abObject,
47
47
  })
48
- : objectView.item.view, Boolean(objectView.item?.values && objectView.item?.values?.length) && ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${baseClassName}__Item__Values`, children: (0, jsx_runtime_1.jsx)(Tag_1.TagList, { tags: objectView.item.values.map(String) }) }))] }), suspendAction && unSuspendAction && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { onMouseDown: handleSuspendUnSuspend, tone: isSuspended ? 'neutral' : 'success', variant: "text", icon: isSuspended ? 'resume' : 'pause' })), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:ml-1 twa:flex-[0_0_auto]", children: deleteAction && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { iconSize: ICON_SIZE, icon: "delete", variant: "text", onMouseDown: handleDelete, accessLevel: moduleAccessLevel })) })] }));
48
+ : objectView.item.view, Boolean(objectView.item?.values && objectView.item?.values?.length) && ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${baseClassName}__Item__Values`, children: (0, jsx_runtime_1.jsx)(Tag_1.TagList, { tags: objectView.item.values, variant: objectView.item.tagVariant }) }))] }), suspendAction && unSuspendAction && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { onMouseDown: handleSuspendUnSuspend, tone: isSuspended ? 'neutral' : 'success', variant: "text", icon: isSuspended ? 'resume' : 'pause' })), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:ml-1 twa:flex-[0_0_auto]", children: deleteAction && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { iconSize: ICON_SIZE, icon: "delete", variant: "text", onMouseDown: handleDelete, accessLevel: moduleAccessLevel })) })] }));
49
49
  };
50
50
  exports.AdaptableObjectCompactListItem = AdaptableObjectCompactListItem;
51
51
  const AdaptableObjectCompactList = (props) => {
@@ -7,6 +7,7 @@ const React = tslib_1.__importStar(require("react"));
7
7
  const react_redux_1 = require("react-redux");
8
8
  const InternalRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/InternalRedux"));
9
9
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
10
+ const utils_1 = require("../../../lib/utils");
10
11
  const AdaptableHelper_1 = tslib_1.__importDefault(require("../../../Utilities/Helpers/AdaptableHelper"));
11
12
  const AdaptableContext_1 = require("../../AdaptableContext");
12
13
  const ButtonDelete_1 = require("../Buttons/ButtonDelete");
@@ -15,7 +16,6 @@ const ButtonShare_1 = require("../Buttons/ButtonShare");
15
16
  const SuspendToggleButton_1 = require("../Buttons/SuspendToggleButton/SuspendToggleButton");
16
17
  const Flex_1 = require("../../../components/Flex");
17
18
  const twMerge_1 = require("../../../twMerge");
18
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
19
19
  const Tag_1 = require("../../../components/Tag/Tag");
20
20
  const ICON_SIZE = 26;
21
21
  const LIST_BASE_CLASS_NAME = 'ab-Adaptable-Object-List';
@@ -51,7 +51,7 @@ const AdaptableObjectListItemView = (props) => {
51
51
  data: props.abObject,
52
52
  module: props.module,
53
53
  })
54
- : tag.view, Boolean(tag?.values && tag?.values?.length) ? ((0, jsx_runtime_1.jsx)(Tag_1.TagList, { tags: tag.values.map(String) })) : null, typeof tag.viewAfter === 'function'
54
+ : tag.view, Boolean(tag?.values && tag?.values?.length) ? ((0, jsx_runtime_1.jsx)(Tag_1.TagList, { tags: tag.values, variant: tag.tagVariant })) : null, typeof tag.viewAfter === 'function'
55
55
  ? React.createElement(tag.viewAfter, {
56
56
  data: props.abObject,
57
57
  module: props.module,
@@ -76,7 +76,7 @@ const AdaptableObjectListItem = (props) => {
76
76
  const entityType = props.module.moduleInfo.FriendlyName;
77
77
  const moduleAccessLevel = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule(props.module.moduleInfo.ModuleName);
78
78
  const accessLevel = AdaptableHelper_1.default.getAccessLevelForObject(props.data.abObject, moduleAccessLevel);
79
- const itemClassName = (0, clsx_1.default)(props.className, props.data.className, ITEM_BASE_CLASS_NAME, props.data.abObject.IsSuspended &&
79
+ const itemClassName = (0, utils_1.cn)(props.className, props.data.className, ITEM_BASE_CLASS_NAME, props.data.abObject.IsSuspended &&
80
80
  `${ITEM_BASE_CLASS_NAME}--is-suspended`);
81
81
  const handleCloseWizard = React.useCallback(() => {
82
82
  setIsEditWizardVisible(false);
@@ -110,6 +110,6 @@ const AdaptableObjectListItem = (props) => {
110
110
  };
111
111
  exports.AdaptableObjectListItem = AdaptableObjectListItem;
112
112
  const AdaptableObjectList = (props) => {
113
- return ((0, jsx_runtime_1.jsx)("ul", { className: (0, twMerge_1.twMerge)((0, clsx_1.default)(LIST_BASE_CLASS_NAME, 'twa:list-none twa:p-0 twa:gap-3 twa:flex twa:flex-col', props.className)), children: props?.items?.map((item, index) => ((0, jsx_runtime_1.jsx)(exports.AdaptableObjectListItem, { data: item, module: props.module, ...props.itemProps }, item.abObject.Uuid ?? index))) }));
113
+ return ((0, jsx_runtime_1.jsx)("ul", { className: (0, utils_1.cn)(LIST_BASE_CLASS_NAME, 'twa:list-none twa:p-0 twa:gap-3 twa:flex twa:flex-col', props.className), children: props?.items?.map((item, index) => ((0, jsx_runtime_1.jsx)(exports.AdaptableObjectListItem, { data: item, module: props.module, ...props.itemProps }, item.abObject.Uuid ?? index))) }));
114
114
  };
115
115
  exports.AdaptableObjectList = AdaptableObjectList;
@@ -4,12 +4,12 @@ exports.AdaptableObjectRow = 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 utils_1 = require("../../../lib/utils");
7
8
  const Flex_1 = require("../../../components/Flex");
8
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
9
9
  class AdaptableObjectRow extends React.Component {
10
10
  render() {
11
11
  const colItems = this.props.colItems.map((colItem, index) => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `ab-AdaptableObjectRow__cell twa:px-1`, style: { flex: colItem.Size }, "data-name": "list-group-cell", title: typeof colItem.Content === 'string' ? colItem.Content : undefined, children: colItem.Content }, index)));
12
- const className = (0, clsx_1.default)('ab-AdaptableObjectRow', 'twa:p-3', 'twa:m-0', this.props.isSuspended && 'ab-AdaptableObjectRow--is-suspended', this.props.className);
12
+ const className = (0, utils_1.cn)('ab-AdaptableObjectRow', 'twa:p-3', 'twa:m-0', this.props.isSuspended && 'ab-AdaptableObjectRow--is-suspended', this.props.className);
13
13
  return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: className, onClick: this.props.onClick, style: this.props.style, children: colItems }));
14
14
  }
15
15
  }
@@ -4,10 +4,9 @@ exports.ButtonBase = 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 utils_1 = require("../../../../lib/utils");
7
8
  const GeneralConstants_1 = require("../../../../Utilities/Constants/GeneralConstants");
8
9
  const Flex_1 = require("../../../../components/Flex");
9
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
10
- const twMerge_1 = require("../../../../twMerge");
11
10
  const Glyphicon = ({ glyph, style }) => {
12
11
  return (0, jsx_runtime_1.jsx)("span", { style: style, className: `glyphicon glyphicon-${glyph}` });
13
12
  };
@@ -58,7 +57,7 @@ class ButtonBase extends React.Component {
58
57
  if (this.props.icon) {
59
58
  content = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [this.props.iconPosition === 'end' ? text : null, " ", (0, jsx_runtime_1.jsx)(Glyphicon, { glyph: this.props.icon }), ' ', this.props.iconPosition !== 'end' ? text : null] }));
60
59
  }
61
- let button = ((0, jsx_runtime_1.jsx)(Flex_1.Box, { ...this.props, as: "button", style: this.props.style, className: (0, twMerge_1.twMerge)((0, clsx_1.default)(baseClassName, `${baseClassName}--size-normal`, `${baseClassName}--style-normal`, isDisabled ? `${baseClassName}--disabled` : `${baseClassName}--enabled`), this.props.className), disabled: isDisabled, onClick: this.props.onClick, onMouseDown: this.props.onMouseDown || ((e) => e.preventDefault()), children: content }));
60
+ let button = ((0, jsx_runtime_1.jsx)(Flex_1.Box, { ...this.props, as: "button", style: this.props.style, className: (0, utils_1.cn)(baseClassName, `${baseClassName}--size-normal`, `${baseClassName}--style-normal`, isDisabled ? `${baseClassName}--disabled` : `${baseClassName}--enabled`, this.props.className), disabled: isDisabled, onClick: this.props.onClick, onMouseDown: this.props.onMouseDown || ((e) => e.preventDefault()), children: content }));
62
61
  let buttonwithtooltip = (0, jsx_runtime_1.jsx)("div", { children: button });
63
62
  return hideToolTip ? button : buttonwithtooltip;
64
63
  }
@@ -8,6 +8,8 @@ type ButtonNewProps = {
8
8
  accessLevel?: SimpleButtonProps['accessLevel'];
9
9
  children?: React.ReactNode;
10
10
  onClick?: () => void;
11
+ disabled?: boolean;
12
+ dataName?: string;
11
13
  };
12
14
  export declare const ButtonNew: (props: ButtonNewProps) => React.JSX.Element;
13
15
  export {};
@@ -6,6 +6,6 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
7
7
  const twMerge_1 = require("../../../twMerge");
8
8
  const ButtonNew = (props) => {
9
- return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": "new", tone: props.tone || 'accent', icon: "plus", variant: props.variant || 'raised', tooltip: props.tooltip || 'New', accessLevel: props.accessLevel, onClick: props.onClick, className: (0, twMerge_1.twMerge)(`twa:flex twa:flex-row twa:items-center`, props.className), children: props.children === undefined ? 'New' : props.children }));
9
+ return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": props.dataName ?? 'new', tone: props.tone || 'accent', icon: "plus", variant: props.variant || 'raised', tooltip: props.tooltip || 'New', accessLevel: props.accessLevel, disabled: props.disabled, onClick: props.onClick, className: (0, twMerge_1.twMerge)(`twa:flex twa:flex-row twa:items-center`, props.className), children: props.children === undefined ? 'New' : props.children }));
10
10
  };
11
11
  exports.ButtonNew = ButtonNew;