@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
@@ -4,8 +4,6 @@ exports.StyleComponent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_1 = require("react");
7
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
8
- const CheckBox_1 = require("../../components/CheckBox");
9
7
  const ColorPicker_1 = require("../../components/ColorPicker");
10
8
  const HelpBlock_1 = tslib_1.__importDefault(require("../../components/HelpBlock"));
11
9
  const Panel_1 = tslib_1.__importDefault(require("../../components/Panel"));
@@ -18,9 +16,9 @@ const EnumExtensions_1 = require("../../Utilities/Extensions/EnumExtensions");
18
16
  const StringExtensions_1 = require("../../Utilities/Extensions/StringExtensions");
19
17
  const AdaptableInput_1 = tslib_1.__importDefault(require("./AdaptableInput"));
20
18
  const Flex_1 = require("../../components/Flex");
21
- const twMerge_1 = require("../../twMerge");
22
19
  const Card_1 = require("../../components/Card");
23
20
  const NewSelect_1 = require("../../components/NewSelect");
21
+ const utils_1 = require("../../lib/utils");
24
22
  const StyleComponent = (props) => {
25
23
  const [showClassName, setShowClassName] = (0, react_1.useState)(StringExtensions_1.StringExtensions.IsNotNullOrEmpty(props.Style.ClassName));
26
24
  const componentStyle = props.Style;
@@ -44,51 +42,36 @@ const StyleComponent = (props) => {
44
42
  newStyle.ClassName = value == 'select' ? '' : value;
45
43
  setComponentStyle(newStyle);
46
44
  };
47
- const onUseBackColorCheckChange = (checked) => {
45
+ const onBackColorChange = (color) => {
48
46
  const newStyle = { ...componentStyle };
49
- if (checked) {
50
- newStyle.BackColor = '#ffffff';
47
+ if (color) {
48
+ newStyle.BackColor = color;
51
49
  }
52
50
  else {
53
51
  delete newStyle.BackColor;
54
52
  }
55
53
  setComponentStyle(newStyle);
56
54
  };
57
- const onUseForeColorCheckChange = (checked) => {
55
+ const onForeColorChange = (color) => {
58
56
  const newStyle = { ...componentStyle };
59
- if (checked) {
60
- newStyle.ForeColor = '#000000';
57
+ if (color) {
58
+ newStyle.ForeColor = color;
61
59
  }
62
60
  else {
63
61
  delete newStyle.ForeColor;
64
62
  }
65
63
  setComponentStyle(newStyle);
66
64
  };
67
- const onUseBorderColorCheckChange = (checked) => {
65
+ const onBorderColorChange = (color) => {
68
66
  const newStyle = { ...componentStyle };
69
- if (checked) {
70
- newStyle.BorderColor = '#000000';
67
+ if (color) {
68
+ newStyle.BorderColor = color;
71
69
  }
72
70
  else {
73
71
  delete newStyle.BorderColor;
74
72
  }
75
73
  setComponentStyle(newStyle);
76
74
  };
77
- const onBackColorSelectChange = (color) => {
78
- const newStyle = { ...componentStyle };
79
- newStyle.BackColor = color;
80
- setComponentStyle(newStyle);
81
- };
82
- const onForeColorSelectChange = (color) => {
83
- const newStyle = { ...componentStyle };
84
- newStyle.ForeColor = color;
85
- setComponentStyle(newStyle);
86
- };
87
- const onBorderColorSelectChange = (color) => {
88
- const newStyle = { ...componentStyle };
89
- newStyle.BorderColor = color;
90
- setComponentStyle(newStyle);
91
- };
92
75
  const onFontWeightChange = (checked) => {
93
76
  const newStyle = { ...componentStyle };
94
77
  if (checked) {
@@ -152,45 +135,29 @@ const StyleComponent = (props) => {
152
135
  const styleClassNames = props.api.userInterfaceApi.getStyleClassNames();
153
136
  const colourSpellingVariant = props.api.internalApi.getCorrectEnglishVariant('Colour');
154
137
  const coloursSpellingVariant = props.api.internalApi.getCorrectEnglishVariant('colours');
155
- return ((0, jsx_runtime_1.jsxs)(Cmp, { ...cmpProps, className: (0, twMerge_1.twMerge)((0, clsx_1.default)('ab-StyleComponent twa:text-3', props.className)), children: [ArrayExtensions_1.default.IsNotNullOrEmpty(styleClassNames) ? ((0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { value: showClassName ? 'classname' : 'createstyle', onValueChange: (value) => onShowClassNameChanged(value === 'classname'), children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { "data-name": "show-class-name", value: "classname", children: "Use Style Class Name" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { "data-name": "create-style", value: "createstyle", children: "Create Style" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { value: "classname", children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsx)(Card_1.Card.Title, { children: "CSS Class Name" }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { gap: 2, className: "twa:p-1", children: [(0, jsx_runtime_1.jsx)(HelpBlock_1.default, { children: "Select a CSS Class Name" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[15rem]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { items: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames)
138
+ const styleEditorGrid = ((0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { gap: 2, className: "twa:grid twa:grid-cols-[auto_1fr_auto_1fr] twa:items-center twa:p-1", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { className: "twa:col-span-2 twa:self-stretch", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:font-medium", children: [colourSpellingVariant, " & Border Properties"] }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: ["Select ", coloursSpellingVariant, " and radius"] })] }), (0, jsx_runtime_1.jsxs)("span", { children: ["Back ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { api: props.api, value: componentStyle.BackColor, defaultColor: "#ffffff", onChange: onBackColorChange }), (0, jsx_runtime_1.jsxs)("span", { className: "twa:row-start-3", children: ["Fore ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { className: "twa:row-start-3", api: props.api, value: componentStyle.ForeColor, defaultColor: "#000000", onChange: onForeColorChange }), (0, jsx_runtime_1.jsxs)("span", { className: "twa:row-start-4", children: ["Border ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { className: "twa:row-start-4", api: props.api, value: componentStyle.BorderColor, defaultColor: "#000000", onChange: onBorderColorChange }), (0, jsx_runtime_1.jsx)("span", { className: "twa:row-start-5", children: "Border Radius" }), (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { className: "twa:w-[100px] twa:row-start-5", type: "number", min: "0", value: componentStyle.BorderRadius, onChange: (event) => {
139
+ const number = Number(event.target.value);
140
+ if (isNaN(number)) {
141
+ onBorderRadiusChange(0);
142
+ }
143
+ else {
144
+ onBorderRadiusChange(number);
145
+ }
146
+ } }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { className: "twa:col-span-2 twa:col-start-3 twa:row-start-1 twa:self-stretch", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Font Properties" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Set font properties for the Style" })] }), (0, jsx_runtime_1.jsx)("span", { className: "twa:col-start-3 twa:row-start-2", children: "Font Style" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:col-start-4 twa:row-start-2", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2", children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { standalone: true, pressed: componentStyle.FontStyle == Enums_1.FontStyle.Italic, onPressedChange: (checked) => onFontStyleChange(checked), icon: "italic" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { standalone: true, pressed: componentStyle.FontWeight == Enums_1.FontWeight.Bold, onPressedChange: (checked) => onFontWeightChange(checked), icon: "bold" })] }) }), (0, jsx_runtime_1.jsx)("span", { className: "twa:col-start-3 twa:row-start-3", children: "Text Decoration" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:col-start-4 twa:row-start-3", children: (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "underline", pressed: componentStyle.TextDecoration === 'Underline', onPressedChange: (checked) => onTextDecorationChange(checked ? 'Underline' : 'None') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "strikethrough", pressed: componentStyle.TextDecoration === 'LineThrough', onPressedChange: (checked) => onTextDecorationChange(checked ? 'LineThrough' : 'None') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "overline", pressed: componentStyle.TextDecoration === 'Overline', onPressedChange: (checked) => onTextDecorationChange(checked ? 'Overline' : 'None') })] }) }), (0, jsx_runtime_1.jsx)("span", { className: "twa:col-start-3 twa:row-start-4", children: "Font Size" }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:col-start-4 twa:row-start-4", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { placeholder: "Default", items: [
147
+ {
148
+ label: 'Default',
149
+ value: '',
150
+ },
151
+ ...EnumExtensions_1.EnumExtensions.getNames(Enums_1.FontSize).map((enumName) => ({
152
+ label: enumName,
153
+ value: enumName,
154
+ })),
155
+ ], value: componentStyle.FontSize?.toString() ?? '', onValueChange: (value) => onFontSizeChange(value) }) }), (0, jsx_runtime_1.jsx)("span", { className: "twa:col-start-3 twa:row-start-5", children: "Alignment" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:col-start-4 twa:row-start-5", children: (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-left", pressed: componentStyle.Alignment === 'Left', onPressedChange: (pressed) => pressed ? onAlignmentChange('Left') : onAlignmentChange('Default') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-center", pressed: componentStyle.Alignment === 'Center', onPressedChange: (pressed) => pressed ? onAlignmentChange('Center') : onAlignmentChange('Default') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-right", pressed: componentStyle.Alignment === 'Right', onPressedChange: (pressed) => pressed ? onAlignmentChange('Right') : onAlignmentChange('Default') })] }) })] }));
156
+ return ((0, jsx_runtime_1.jsxs)(Cmp, { ...cmpProps, className: (0, utils_1.cn)('ab-StyleComponent twa:text-3', props.className), children: [ArrayExtensions_1.default.IsNotNullOrEmpty(styleClassNames) ? ((0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { value: showClassName ? 'classname' : 'createstyle', onValueChange: (value) => onShowClassNameChanged(value === 'classname'), children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { "data-name": "show-class-name", value: "classname", children: "Use Style Class Name" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { "data-name": "create-style", value: "createstyle", children: "Create Style" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { value: "classname", children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsx)(Card_1.Card.Title, { children: "CSS Class Name" }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { gap: 2, className: "twa:p-1", children: [(0, jsx_runtime_1.jsx)(HelpBlock_1.default, { children: "Select a CSS Class Name" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[15rem]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { items: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames)
156
157
  ? []
157
158
  : styleClassNames.map((item) => ({
158
159
  label: item,
159
160
  value: item,
160
- })), value: componentStyle.ClassName, onValueChange: (value) => onStyleClassNameChanged(value) }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:m-2 twa:flex-2 twa:text-warn", children: 'Please ensure that the styles listed are in the current stylesheet' })] })] }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { value: "createstyle", children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex-1 twa:flex twa:flex-col twa:gap-2 twa:lg:flex-row", children: (0, jsx_runtime_1.jsx)(Card_1.Card, { shadow: false, className: "twa:flex-1", children: (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { gap: 2, className: "twa:grid twa:grid-cols-[auto_1fr_auto_1fr] twa:items-center twa:p-1", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { className: "twa:col-span-2", children: [colourSpellingVariant, " & Border Properties"] }), (0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { className: "twa:col-span-2", children: ["Set ", coloursSpellingVariant, " by ticking a checkbox and selecting from the dropdown"] }), (0, jsx_runtime_1.jsxs)(CheckBox_1.CheckBox, { "data-name": "set-background-color", value: "existing", checked: !!componentStyle.BackColor, onChange: (checked) => onUseBackColorCheckChange(checked), children: ["Back ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: componentStyle.BackColor == null, api: props.api, value: componentStyle.BackColor || '#ffffff', onChange: (x) => onBackColorSelectChange(x) }), (0, jsx_runtime_1.jsxs)(CheckBox_1.CheckBox, { "data-name": "set-foreground-color", value: "existing", className: "twa:row-start-4", checked: componentStyle.ForeColor ? true : false, onChange: (checked) => onUseForeColorCheckChange(checked), children: ["Fore ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { className: "twa:row-start-4 twa:col-start-2", disabled: componentStyle.ForeColor == null, api: props.api, value: componentStyle.ForeColor || '#ffffff', onChange: (x) => onForeColorSelectChange(x) }), (0, jsx_runtime_1.jsxs)(CheckBox_1.CheckBox, { "data-name": "set-border-color", value: "existing", className: "twa:row-start-5 twa:col-start-1", checked: componentStyle.BorderColor ? true : false, onChange: (checked) => onUseBorderColorCheckChange(checked), children: ["Border ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: componentStyle.BorderColor == null, api: props.api, className: "twa:row-start-5 twa:col-start-2", value: componentStyle.BorderColor || '#ffffff', onChange: (x) => onBorderColorSelectChange(x) }), (0, jsx_runtime_1.jsx)("span", { className: "twa:row-start-6", children: "Border Radius" }), (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { className: "twa:w-[100px] twa:row-start-6", type: "number", min: "0", value: componentStyle.BorderRadius, onChange: (event) => {
161
- const number = Number(event.target.value);
162
- if (isNaN(number)) {
163
- onBorderRadiusChange(0);
164
- }
165
- else {
166
- onBorderRadiusChange(number);
167
- }
168
- } }), (0, jsx_runtime_1.jsx)(Card_1.Card.Title, { className: "twa:col-span-2 twa:col-start-3 twa:row-start-1", children: "Font Properties" }), (0, jsx_runtime_1.jsx)(HelpBlock_1.default, { className: "twa:self-stretch twa:col-span-2 twa:col-start-3 twa:row-start-2", children: "Set the font properties of the Style" }), (0, jsx_runtime_1.jsx)("span", { children: "Font Style" }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: componentStyle.FontStyle == Enums_1.FontStyle.Italic, onPressedChange: (checked) => onFontStyleChange(checked), icon: "italic" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: componentStyle.FontWeight == Enums_1.FontWeight.Bold, onPressedChange: (checked) => onFontWeightChange(checked), icon: "bold" })] }), (0, jsx_runtime_1.jsx)("span", { children: "Text Decoration" }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "underline", pressed: componentStyle.TextDecoration === 'Underline', onPressedChange: (checked) => onTextDecorationChange(checked ? 'Underline' : 'None') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "strikethrough", pressed: componentStyle.TextDecoration === 'LineThrough', onPressedChange: (checked) => onTextDecorationChange(checked ? 'LineThrough' : 'None') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "overline", pressed: componentStyle.TextDecoration === 'Overline', onPressedChange: (checked) => onTextDecorationChange(checked ? 'Overline' : 'None') })] }), (0, jsx_runtime_1.jsx)("span", { children: "Font Size" }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { placeholder: "Default", items: [
169
- {
170
- label: 'Default',
171
- value: '',
172
- },
173
- ...EnumExtensions_1.EnumExtensions.getNames(Enums_1.FontSize).map((enumName) => ({
174
- label: enumName,
175
- value: enumName,
176
- })),
177
- ], value: componentStyle.FontSize?.toString() ?? '', onValueChange: (value) => onFontSizeChange(value) }) }), (0, jsx_runtime_1.jsx)("span", { children: "Alignment" }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-left", pressed: componentStyle.Alignment === 'Left', onPressedChange: (pressed) => pressed ? onAlignmentChange('Left') : onAlignmentChange('Default') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-center", pressed: componentStyle.Alignment === 'Center', onPressedChange: (pressed) => pressed ? onAlignmentChange('Center') : onAlignmentChange('Default') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-right", pressed: componentStyle.Alignment === 'Right', onPressedChange: (pressed) => pressed ? onAlignmentChange('Right') : onAlignmentChange('Default') })] })] }) }) }) })] })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex-1 twa:flex twa:flex-col twa:gap-2 twa:lg:flex-row", children: (0, jsx_runtime_1.jsx)(Card_1.Card, { shadow: false, className: "twa:flex-1", children: (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { gap: 2, className: "twa:grid twa:grid-cols-[auto_1fr_auto_1fr] twa:items-center twa:p-1", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { className: "twa:col-span-2", children: [colourSpellingVariant, " & Border Properties"] }), (0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { className: "twa:col-span-2", children: ["Set ", coloursSpellingVariant, " by ticking a checkbox and selecting from the dropdown"] }), (0, jsx_runtime_1.jsxs)(CheckBox_1.CheckBox, { "data-name": "set-background-color", value: "existing", checked: !!componentStyle.BackColor, onChange: (checked) => onUseBackColorCheckChange(checked), children: ["Back ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: componentStyle.BackColor == null, api: props.api, value: componentStyle.BackColor || '#ffffff', onChange: (x) => onBackColorSelectChange(x) }), (0, jsx_runtime_1.jsxs)(CheckBox_1.CheckBox, { "data-name": "set-foreground-color", value: "existing", className: "twa:row-start-4", checked: componentStyle.ForeColor ? true : false, onChange: (checked) => onUseForeColorCheckChange(checked), children: ["Fore ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { className: "twa:row-start-4 twa:col-start-2", disabled: componentStyle.ForeColor == null, api: props.api, value: componentStyle.ForeColor || '#ffffff', onChange: (x) => onForeColorSelectChange(x) }), (0, jsx_runtime_1.jsxs)(CheckBox_1.CheckBox, { "data-name": "set-border-color", value: "existing", className: "twa:row-start-5 twa:col-start-1", checked: componentStyle.BorderColor ? true : false, onChange: (checked) => onUseBorderColorCheckChange(checked), children: ["Border ", colourSpellingVariant] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: componentStyle.BorderColor == null, api: props.api, className: "twa:row-start-5 twa:col-start-2", value: componentStyle.BorderColor || '#ffffff', onChange: (x) => onBorderColorSelectChange(x) }), (0, jsx_runtime_1.jsx)("span", { className: "twa:row-start-6", children: "Border Radius" }), (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { className: "twa:w-[100px] twa:row-start-6", type: "number", min: "0", value: componentStyle.BorderRadius, onChange: (event) => {
178
- const number = Number(event.target.value);
179
- if (isNaN(number)) {
180
- onBorderRadiusChange(0);
181
- }
182
- else {
183
- onBorderRadiusChange(number);
184
- }
185
- } }), (0, jsx_runtime_1.jsx)(Card_1.Card.Title, { className: "twa:col-span-2 twa:col-start-3 twa:row-start-1", children: "Font Properties" }), (0, jsx_runtime_1.jsx)(HelpBlock_1.default, { className: "twa:self-stretch twa:col-span-2 twa:col-start-3 twa:row-start-2", children: "Set the font properties of the Style" }), (0, jsx_runtime_1.jsx)("span", { children: "Font Style" }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: componentStyle.FontStyle == Enums_1.FontStyle.Italic, onPressedChange: (checked) => onFontStyleChange(checked), icon: "italic" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: componentStyle.FontWeight == Enums_1.FontWeight.Bold, onPressedChange: (checked) => onFontWeightChange(checked), icon: "bold" })] }), (0, jsx_runtime_1.jsx)("span", { children: "Text Decoration" }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "underline", pressed: componentStyle.TextDecoration === 'Underline', onPressedChange: (checked) => onTextDecorationChange(checked ? 'Underline' : 'None') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "strikethrough", pressed: componentStyle.TextDecoration === 'LineThrough', onPressedChange: (checked) => onTextDecorationChange(checked ? 'LineThrough' : 'None') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "overline", pressed: componentStyle.TextDecoration === 'Overline', onPressedChange: (checked) => onTextDecorationChange(checked ? 'Overline' : 'None') })] }), (0, jsx_runtime_1.jsx)("span", { children: "Font Size" }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { placeholder: "Default", items: [
186
- {
187
- label: 'Default',
188
- value: '',
189
- },
190
- ...EnumExtensions_1.EnumExtensions.getNames(Enums_1.FontSize).map((enumName) => ({
191
- label: enumName,
192
- value: enumName,
193
- })),
194
- ], value: componentStyle.FontSize?.toString() ?? '', onValueChange: (value) => onFontSizeChange(value) }) }), (0, jsx_runtime_1.jsx)("span", { children: "Alignment" }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-left", pressed: componentStyle.Alignment === 'Left', onPressedChange: (pressed) => pressed ? onAlignmentChange('Left') : onAlignmentChange('Default') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-center", pressed: componentStyle.Alignment === 'Center', onPressedChange: (pressed) => pressed ? onAlignmentChange('Center') : onAlignmentChange('Default') }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-right", pressed: componentStyle.Alignment === 'Right', onPressedChange: (pressed) => pressed ? onAlignmentChange('Right') : onAlignmentChange('Default') })] })] }) }) })), !props.hidePreview && ((0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsx)(Card_1.Card.Title, { children: "Preview" }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:grid twa:place-items-center", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:inline-block", children: (0, jsx_runtime_1.jsx)(StylePreview_1.StylePreview, { className: "twa:mt-0", styleObject: componentStyle, children: props.previewText }) }) })] }))] }));
161
+ })), value: componentStyle.ClassName, onValueChange: (value) => onStyleClassNameChanged(value) }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:m-2 twa:flex-2 twa:text-warn", children: 'Please ensure that the styles listed are in the current stylesheet' })] })] }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { value: "createstyle", children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex-1 twa:flex twa:flex-col twa:gap-2 twa:lg:flex-row", children: (0, jsx_runtime_1.jsx)(Card_1.Card, { shadow: false, className: "twa:flex-1", children: styleEditorGrid }) }) })] })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:flex-1 twa:flex twa:flex-col twa:gap-2 twa:lg:flex-row", children: (0, jsx_runtime_1.jsx)(Card_1.Card, { shadow: false, className: "twa:flex-1", children: styleEditorGrid }) })), !props.hidePreview && ((0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsx)(Card_1.Card.Title, { children: "Preview" }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:grid twa:place-items-center", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:inline-block", children: (0, jsx_runtime_1.jsx)(StylePreview_1.StylePreview, { className: "twa:mt-0", styleObject: componentStyle, children: props.previewText }) }) })] }))] }));
195
162
  };
196
163
  exports.StyleComponent = StyleComponent;
@@ -11,7 +11,7 @@ const AdaptableButton_1 = require("../AdaptableButton");
11
11
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/ArrayExtensions"));
12
12
  const icons_1 = require("../../../components/icons");
13
13
  const CheckBox_1 = require("../../../components/CheckBox");
14
- const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
14
+ const DropdownButton_1 = require("../../../components/DropdownButton");
15
15
  const Types_1 = require("../../../AdaptableState/Common/Types");
16
16
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
17
17
  const ButtonConfigure_1 = require("../Buttons/ButtonConfigure");
@@ -82,18 +82,21 @@ const AdaptableToolPanelComponent = (props) => {
82
82
  }
83
83
  let toolpanelItems = [
84
84
  {
85
- clickable: false,
86
- label: ((0, jsx_runtime_1.jsxs)("div", { children: [' ', "\u00A0\u00A0", (0, jsx_runtime_1.jsx)("b", { children: 'Tool Panels' }), renderToolPanelConfigureButton(ToolPanelPopup_1.ToolPanelConfigView.ToolPanels)] }, "toolPanelTitle")),
85
+ closeOnClick: false,
86
+ tooltip: 'Tool Panels',
87
+ label: ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { className: "twa:font-bold", children: 'Tool Panels' }), renderToolPanelConfigureButton(ToolPanelPopup_1.ToolPanelConfigView.ToolPanels)] }, "toolPanelTitle")),
87
88
  },
88
89
  ];
89
90
  const isItemVisible = (panelItem) => visibleToolPanels.includes(panelItem);
90
91
  const buildDropdownButtonItem = (toolPanel, label, isVisible) => {
91
92
  return {
92
- id: toolPanel,
93
+ dataName: String(toolPanel),
94
+ closeOnClick: false,
93
95
  onClick: () => {
94
96
  onSetToolPanelVisibility(toolPanel, !isVisible);
95
97
  },
96
- label: ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { className: "ab-dd-checkbox twa:my-0", variant: "agGrid", as: "div", value: toolPanel, checked: isVisible, onMouseDown: preventDefault, children: toolPanel }, toolPanel)),
98
+ tooltip: label,
99
+ label: ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { className: "ab-dd-checkbox twa:my-0", value: toolPanel, checked: isVisible, onMouseDown: preventDefault, children: toolPanel }, toolPanel)),
97
100
  };
98
101
  };
99
102
  // 1. process custom tool panels
@@ -116,7 +119,7 @@ const AdaptableToolPanelComponent = (props) => {
116
119
  }
117
120
  return 0;
118
121
  });
119
- return ((0, jsx_runtime_1.jsx)(DropdownButton_1.default, { variant: "text", tone: "none", collapseOnItemClick: false, id: 'dropdown-toolpanels', className: "ab-ToolPanel__toolbars", columns: ['label'], items: toolpanelItems, tooltip: "Manage Tool Panels", children: toolPanelsGlyph }, 'dropdown-toolpanels'));
122
+ return ((0, jsx_runtime_1.jsx)(DropdownButton_1.NewDropdownButton, { variant: "text", tone: "none", id: 'dropdown-toolpanels', className: "ab-ToolPanel__toolbars", items: toolpanelItems, tooltip: "Manage Tool Panels", extraWidthChars: 5, children: toolPanelsGlyph }, 'dropdown-toolpanels'));
120
123
  };
121
124
  const renderToolPanelButtons = () => {
122
125
  const toolPanelButtons = [];
@@ -3,28 +3,18 @@ import * as ToolPanelRedux from '../../../Redux/ActionsReducers/ToolPanelRedux';
3
3
  import { ModuleViewPopupProps } from '../SharedProps/ModuleViewPopupProps';
4
4
  import { InternalState } from '../../../AdaptableState/InternalState';
5
5
  import { AdaptableToolPanelDefinition, ToolPanelState } from '../../../AdaptableState/ToolPanelState';
6
- import { AdaptableModuleButtons, AdaptableToolPanels } from '../../../AdaptableState/Common/Types';
6
+ import { AdaptableModuleButtons } from '../../../AdaptableState/Common/Types';
7
7
  interface ToolPanelPopupComponentProps extends ModuleViewPopupProps<ToolPanelPopupComponent> {
8
8
  ToolPanelState: ToolPanelState;
9
9
  InternalState: InternalState;
10
10
  onToolPanelSetModuleButtons: (moduleButtons: AdaptableModuleButtons) => ToolPanelRedux.ToolPanelSetModuleButtonsAction;
11
11
  onToolPanelSetToolPanels: (toolPanels: AdaptableToolPanelDefinition[]) => ToolPanelRedux.ToolPanelSetToolPanelsAction;
12
12
  }
13
- export declare enum ToolPanelConfigView {
14
- Buttons = "Buttons",
15
- ToolPanels = "ToolPanels"
16
- }
17
- export interface ToolPanelPopupState {
18
- ToolPanelConfigView: ToolPanelConfigView;
19
- }
20
- declare class ToolPanelPopupComponent extends React.Component<ToolPanelPopupComponentProps, ToolPanelPopupState> {
21
- constructor(props: ToolPanelPopupComponentProps);
13
+ export { ToolPanelConfigView } from './ToolPanelPopupSections';
14
+ declare class ToolPanelPopupComponent extends React.Component<ToolPanelPopupComponentProps> {
22
15
  render(): React.JSX.Element;
23
- onShowGridPropertiesChanged(event: React.FormEvent<any>): void;
24
- onToolPanelToolPanelsChanged(selectedValues: AdaptableToolPanels): void;
25
16
  }
26
17
  export declare let ToolPanelPopup: import("react-redux").ConnectedComponent<typeof ToolPanelPopupComponent, {
27
18
  context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").UnknownAction>>;
28
19
  store?: import("redux").Store;
29
20
  }>;
30
- export {};
@@ -7,89 +7,14 @@ const React = tslib_1.__importStar(require("react"));
7
7
  const react_redux_1 = require("react-redux");
8
8
  const ToolPanelRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ToolPanelRedux"));
9
9
  const PopupPanel_1 = require("../Popups/AdaptablePopup/PopupPanel");
10
- const Radio_1 = tslib_1.__importDefault(require("../../../components/Radio"));
11
- const Types_1 = require("../../../AdaptableState/Common/Types");
12
- const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/ArrayExtensions"));
13
- const ModuleValueSelector_1 = require("../ModuleValueSelector");
14
- const Tabs_1 = require("../../../components/Tabs");
15
- const Panel_1 = tslib_1.__importDefault(require("../../../components/Panel"));
16
- var ToolPanelConfigView;
17
- (function (ToolPanelConfigView) {
18
- ToolPanelConfigView["Buttons"] = "Buttons";
19
- ToolPanelConfigView["ToolPanels"] = "ToolPanels";
20
- })(ToolPanelConfigView || (exports.ToolPanelConfigView = ToolPanelConfigView = {}));
10
+ const ToolPanelPopupSections_1 = require("./ToolPanelPopupSections");
11
+ var ToolPanelPopupSections_2 = require("./ToolPanelPopupSections");
12
+ Object.defineProperty(exports, "ToolPanelConfigView", { enumerable: true, get: function () { return ToolPanelPopupSections_2.ToolPanelConfigView; } });
21
13
  class ToolPanelPopupComponent extends React.Component {
22
- constructor(props) {
23
- super(props);
24
- const initialTab = props.popupParams?.config?.initialTab ?? ToolPanelConfigView.ToolPanels;
25
- this.state = {
26
- ToolPanelConfigView: initialTab,
27
- };
28
- }
29
14
  render() {
30
- // 1. process module buttons
31
- const selectedModuleButtons = [];
32
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)) {
33
- this.props.ToolPanelState.ModuleButtons.forEach((module) => {
34
- let menuItem = this.props.InternalState.SettingsPanelModuleEntries.find((m) => m.category == module);
35
- if (menuItem?.isVisible) {
36
- selectedModuleButtons.push(module);
37
- }
38
- });
39
- }
40
- const allModuleButtons = this.props.InternalState.SettingsPanelModuleEntries.map((x) => x.category);
41
- // 2. process tool panels
42
- const availableModules = this.props.InternalState.SettingsPanelModuleEntries.filter((menuItem) => menuItem.isVisible).map((menuItem) => menuItem.category);
43
- // 'Dashboard' is a special case because it's not available in the dashboard menu items, s we have to add it manually
44
- if (!this.props.api.entitlementApi.isModuleHiddenEntitlement('Dashboard')) {
45
- availableModules.push('Dashboard');
46
- }
47
- if (this.props.api.pluginsApi.getipushpullPluginApi() &&
48
- !this.props.api.entitlementApi.isModuleHiddenEntitlement('IPushPull')) {
49
- availableModules.push('IPushPull');
50
- }
51
- if (this.props.api.pluginsApi.getOpenFinPluginApi() &&
52
- !this.props.api.entitlementApi.isModuleHiddenEntitlement('OpenFin')) {
53
- availableModules.push('OpenFin');
54
- }
55
- const availableModuleToolPanels = Types_1.ALL_TOOL_PANELS.filter((moduleToolPanel) => ArrayExtensions_1.default.ContainsItem(availableModules, moduleToolPanel));
56
- const availableCustomToolPanels = this.props.api.toolPanelApi
57
- .getCustomToolPanels()
58
- .map((customToolPanel) => customToolPanel.name);
59
- const availableToolPanels = [
60
- ...availableCustomToolPanels,
61
- ...availableModuleToolPanels,
62
- ];
63
- const selectedToolPanels = this.props.ToolPanelState.ToolPanels.map((toolPanelDefinition) => toolPanelDefinition.Name)
64
- // ensure that the visible state has only valid tool panels
65
- .filter((visibleToolPanel) => availableToolPanels.includes(visibleToolPanel));
15
+ const initialTab = this.props.popupParams?.config?.initialTab ?? ToolPanelPopupSections_1.ToolPanelConfigView.ToolPanels;
66
16
  const isToolPanelReadOnly = this.props.api.entitlementApi.isModuleReadOnlyEntitlement('ToolPanel');
67
- const isModuleCheckboxDisabled = (module) => {
68
- if (module === 'SettingsPanel') {
69
- return this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard;
70
- }
71
- return false;
72
- };
73
- return ((0, jsx_runtime_1.jsx)(PopupPanel_1.PopupPanel, { headerText: "Tool Panel", glyphicon: this.props.moduleInfo.Glyph, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed(), scrollable: false, children: (0, jsx_runtime_1.jsx)(Panel_1.default, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: (0, jsx_runtime_1.jsx)(Panel_1.default.FlexBody, { children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { "data-name": 'toolPanelPopup-component', className: "ab-ToolPanelPopup twa:min-h-0 twa:flex-1", value: this.state.ToolPanelConfigView, onValueChange: (value) => this.setState({ ToolPanelConfigView: value }), children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: ToolPanelConfigView.ToolPanels, children: (0, jsx_runtime_1.jsx)(Radio_1.default, { className: "twa:m-0", value: ToolPanelConfigView.ToolPanels, checked: this.state.ToolPanelConfigView == ToolPanelConfigView.ToolPanels, tabIndex: -1, children: "Tool Panels" }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: ToolPanelConfigView.Buttons, children: (0, jsx_runtime_1.jsx)(Radio_1.default, { className: "twa:m-0", value: ToolPanelConfigView.Buttons, checked: this.state.ToolPanelConfigView == ToolPanelConfigView.Buttons, tabIndex: -1, children: "Module Buttons" }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { value: ToolPanelConfigView.ToolPanels, style: { flex: 1, overflow: 'auto' }, children: (0, jsx_runtime_1.jsx)(ModuleValueSelector_1.ModuleValueSelector, { options: availableToolPanels, value: selectedToolPanels, onChange: (selectedValues) => this.onToolPanelToolPanelsChanged(selectedValues), disabled: isToolPanelReadOnly }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { value: ToolPanelConfigView.Buttons, style: { flex: 1, overflow: 'auto' }, children: (0, jsx_runtime_1.jsx)(ModuleValueSelector_1.ModuleValueSelector, { options: allModuleButtons, value: selectedModuleButtons, isOptionDisabled: isModuleCheckboxDisabled, disabled: isToolPanelReadOnly, onChange: (selectedValues) => this.props.onToolPanelSetModuleButtons(selectedValues) }) })] }) }) }) }));
74
- }
75
- onShowGridPropertiesChanged(event) {
76
- let e = event.target;
77
- let ToolPanelConfigView = e.value;
78
- this.setState({
79
- ToolPanelConfigView: ToolPanelConfigView,
80
- });
81
- }
82
- onToolPanelToolPanelsChanged(selectedValues) {
83
- const currentSelectedToolPanelDefinitions = this.props.ToolPanelState.ToolPanels;
84
- // try to return the pre-existing definition (to maintain the previous collapsed state)
85
- // otherwise select the new toolPanel with the default 'collapsed' state
86
- let newSelectedToolPanelDefinitions = selectedValues.map((selectedToolPanel) => {
87
- return (currentSelectedToolPanelDefinitions.find((currentDefinition) => currentDefinition.Name === selectedToolPanel) ?? {
88
- Name: selectedToolPanel,
89
- VisibilityMode: 'collapsed',
90
- });
91
- });
92
- this.props.onToolPanelSetToolPanels(newSelectedToolPanelDefinitions);
17
+ return ((0, jsx_runtime_1.jsx)(PopupPanel_1.PopupPanel, { headerText: "Tool Panel", glyphicon: this.props.moduleInfo.Glyph, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed(), scrollable: false, bodyClassName: "twa:gap-3 twa:flex twa:flex-col twa:h-full twa:min-h-0", children: (0, jsx_runtime_1.jsx)(ToolPanelPopupSections_1.ToolPanelPopupSections, { ToolPanelState: this.props.ToolPanelState, InternalState: this.props.InternalState, initialTab: initialTab, isToolPanelReadOnly: isToolPanelReadOnly, onToolPanelSetModuleButtons: this.props.onToolPanelSetModuleButtons, onToolPanelSetToolPanels: this.props.onToolPanelSetToolPanels }) }));
93
18
  }
94
19
  }
95
20
  function mapStateToProps(state) {
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import { InternalState } from '../../../AdaptableState/InternalState';
3
+ import { AdaptableToolPanelDefinition, ToolPanelState } from '../../../AdaptableState/ToolPanelState';
4
+ import { AdaptableModuleButtons } from '../../../AdaptableState/Common/Types';
5
+ export declare enum ToolPanelConfigView {
6
+ Buttons = "Buttons",
7
+ ToolPanels = "ToolPanels"
8
+ }
9
+ export interface ToolPanelPopupSectionsProps {
10
+ ToolPanelState: ToolPanelState;
11
+ InternalState: InternalState;
12
+ initialTab?: ToolPanelConfigView;
13
+ isToolPanelReadOnly: boolean;
14
+ onToolPanelSetModuleButtons: (moduleButtons: AdaptableModuleButtons) => void;
15
+ onToolPanelSetToolPanels: (toolPanels: AdaptableToolPanelDefinition[]) => void;
16
+ }
17
+ export declare const ToolPanelPopupSections: React.FunctionComponent<ToolPanelPopupSectionsProps>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolPanelPopupSections = exports.ToolPanelConfigView = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
7
+ const Types_1 = require("../../../AdaptableState/Common/Types");
8
+ const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/ArrayExtensions"));
9
+ const ModuleValueSelector_1 = require("../ModuleValueSelector");
10
+ const Flex_1 = require("../../../components/Flex");
11
+ const Tag_1 = require("../../../components/Tag");
12
+ const AdaptableContext_1 = require("../../AdaptableContext");
13
+ const CollapsibleWizardCard_1 = require("../../Wizard/CollapsibleWizardCard");
14
+ var ToolPanelConfigView;
15
+ (function (ToolPanelConfigView) {
16
+ ToolPanelConfigView["Buttons"] = "Buttons";
17
+ ToolPanelConfigView["ToolPanels"] = "ToolPanels";
18
+ })(ToolPanelConfigView || (exports.ToolPanelConfigView = ToolPanelConfigView = {}));
19
+ const ToolPanelPopupSections = (props) => {
20
+ const { api } = (0, AdaptableContext_1.useAdaptable)();
21
+ const initialExpandedId = props.initialTab === ToolPanelConfigView.Buttons ? 'module-buttons' : 'tool-panels';
22
+ const { bindCard, hasExpandedCard, expandedFillsSpace } = (0, CollapsibleWizardCard_1.useWizardCardAccordion)(initialExpandedId);
23
+ const selectedModuleButtons = [];
24
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(props.ToolPanelState.ModuleButtons)) {
25
+ props.ToolPanelState.ModuleButtons.forEach((module) => {
26
+ const menuItem = props.InternalState.SettingsPanelModuleEntries.find((entry) => entry.category === module);
27
+ if (menuItem?.isVisible) {
28
+ selectedModuleButtons.push(module);
29
+ }
30
+ });
31
+ }
32
+ const allModuleButtons = props.InternalState.SettingsPanelModuleEntries.map((entry) => entry.category);
33
+ const availableModules = props.InternalState.SettingsPanelModuleEntries.filter((menuItem) => menuItem.isVisible).map((menuItem) => menuItem.category);
34
+ if (!api.entitlementApi.isModuleHiddenEntitlement('Dashboard')) {
35
+ availableModules.push('Dashboard');
36
+ }
37
+ if (api.pluginsApi.getipushpullPluginApi() &&
38
+ !api.entitlementApi.isModuleHiddenEntitlement('IPushPull')) {
39
+ availableModules.push('IPushPull');
40
+ }
41
+ if (api.pluginsApi.getOpenFinPluginApi() &&
42
+ !api.entitlementApi.isModuleHiddenEntitlement('OpenFin')) {
43
+ availableModules.push('OpenFin');
44
+ }
45
+ const availableModuleToolPanels = Types_1.ALL_TOOL_PANELS.filter((moduleToolPanel) => ArrayExtensions_1.default.ContainsItem(availableModules, moduleToolPanel));
46
+ const availableCustomToolPanels = api.toolPanelApi
47
+ .getCustomToolPanels()
48
+ .map((customToolPanel) => customToolPanel.name);
49
+ const availableToolPanels = [
50
+ ...availableCustomToolPanels,
51
+ ...availableModuleToolPanels,
52
+ ];
53
+ const selectedToolPanels = props.ToolPanelState.ToolPanels.map((toolPanelDefinition) => toolPanelDefinition.Name).filter((visibleToolPanel) => availableToolPanels.includes(visibleToolPanel));
54
+ const getToolPanelLabel = React.useCallback((toolPanelId) => {
55
+ const customToolPanel = api.toolPanelApi.getCustomToolPanelByName(toolPanelId);
56
+ if (customToolPanel) {
57
+ return customToolPanel.title ?? customToolPanel.name;
58
+ }
59
+ return (api.internalApi.getModuleService().getModuleFriendlyName(toolPanelId) ??
60
+ toolPanelId);
61
+ }, [api]);
62
+ const isModuleCheckboxDisabled = (module) => {
63
+ if (module === 'SettingsPanel') {
64
+ return api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard;
65
+ }
66
+ return false;
67
+ };
68
+ const handleToolPanelsChanged = (selectedValues) => {
69
+ const currentSelectedToolPanelDefinitions = props.ToolPanelState.ToolPanels;
70
+ const newSelectedToolPanelDefinitions = selectedValues.map((selectedToolPanel) => currentSelectedToolPanelDefinitions.find((currentDefinition) => currentDefinition.Name === selectedToolPanel) ?? {
71
+ Name: selectedToolPanel,
72
+ VisibilityMode: 'collapsed',
73
+ });
74
+ props.onToolPanelSetToolPanels(newSelectedToolPanelDefinitions);
75
+ };
76
+ const moduleButtonLabels = selectedModuleButtons.map((module) => api.internalApi.getModuleService().getModuleFriendlyName(module) ?? module);
77
+ const toolPanelsSummary = selectedToolPanels.length > 0 ? ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexWrap: "wrap", alignItems: "center", className: "twa:gap-1", children: selectedToolPanels.map((toolPanelId) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: getToolPanelLabel(toolPanelId) }, toolPanelId))) })) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No tool panels" }));
78
+ const moduleButtonsSummary = moduleButtonLabels.length > 0 ? ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexWrap: "wrap", alignItems: "center", className: "twa:gap-1", children: moduleButtonLabels.map((label) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: label }, label))) })) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Module Buttons" }));
79
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: (0, CollapsibleWizardCard_1.getWizardAccordionSectionClassName)(hasExpandedCard, expandedFillsSpace), children: [(0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardCard, { ...bindCard('tool-panels', { fillAvailable: true }), "data-name": "tool-panel-tool-panels", title: "Tool Panels", help: "Select and order the Tool Panels to show in the AdapTable Tool Panel", compactSummary: (0, CollapsibleWizardCard_1.renderCompactColumnTags)(selectedToolPanels.map((toolPanelId) => getToolPanelLabel(toolPanelId)), (label) => label), summary: toolPanelsSummary, className: "twa:overflow-hidden twa:flex twa:flex-col", bodyClassName: "twa:min-h-[240px] twa:overflow-hidden twa:flex twa:flex-col twa:!pt-0 twa:!pb-0 twa:px-1", children: (0, jsx_runtime_1.jsx)(ModuleValueSelector_1.ModuleValueSelector, { options: availableToolPanels, value: selectedToolPanels, onChange: handleToolPanelsChanged, disabled: props.isToolPanelReadOnly }) }), (0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardCard, { ...bindCard('module-buttons', { fillAvailable: true }), "data-name": "tool-panel-module-buttons", title: "Module Buttons", help: "Select and order module buttons shown at the top of the tool panel", compactSummary: (0, CollapsibleWizardCard_1.renderCompactColumnTags)(moduleButtonLabels, (label) => label), summary: moduleButtonsSummary, className: "twa:overflow-hidden twa:flex twa:flex-col", bodyClassName: "twa:min-h-[240px] twa:overflow-hidden twa:flex twa:flex-col twa:!pt-0 twa:!pb-0 twa:px-1", children: (0, jsx_runtime_1.jsx)(ModuleValueSelector_1.ModuleValueSelector, { options: allModuleButtons, value: selectedModuleButtons, isOptionDisabled: isModuleCheckboxDisabled, disabled: props.isToolPanelReadOnly, onChange: (selectedValues) => props.onToolPanelSetModuleButtons(selectedValues) }) })] }));
80
+ };
81
+ exports.ToolPanelPopupSections = ToolPanelPopupSections;
@@ -10,6 +10,20 @@ export type ValueSelectorProps<OPTION_TYPE, ID_TYPE extends number | string> = {
10
10
  * To show the filter input, filter needs also to be defined.
11
11
  */
12
12
  showFilterInput?: boolean;
13
+ filterPlaceholder?: string;
14
+ /** Tighter rows and inline search with Select All (layout wizard). */
15
+ compact?: boolean;
16
+ /** Matches Visibility list: checkbox then label (default: label inside checkbox). */
17
+ optionLayout?: 'label-in-checkbox' | 'label-beside-checkbox';
18
+ /** Hides "Show Selected Only" in the header (e.g. Visibility-style Select All + search row). */
19
+ hideShowSelectedOnly?: boolean;
20
+ /** Extra classes on the compact header row (e.g. wider gap between controls). */
21
+ compactHeaderClassName?: string;
22
+ /**
23
+ * Search field classes in compact mode. When set without `flex-1`, a spacer keeps
24
+ * the search narrow (layout wizard column lists).
25
+ */
26
+ compactFilterClassName?: string;
13
27
  singleSelect?: boolean;
14
28
  toIdentifier: (v: OPTION_TYPE) => ID_TYPE;
15
29
  toLabel: (v: OPTION_TYPE) => string | React.ReactElement;
@@ -17,10 +31,16 @@ export type ValueSelectorProps<OPTION_TYPE, ID_TYPE extends number | string> = {
17
31
  * Used to render list items, this extra prop allows to have different rendering for list & bottom tags.
18
32
  */
19
33
  toListLabel?: (v: OPTION_TYPE) => string | React.ReactElement;
34
+ /** Rendered at the end of the row, outside the checkbox label (e.g. sort direction toggle). */
35
+ renderOptionTrailing?: (option: OPTION_TYPE) => ReactNode;
36
+ /** Clicking the row toggles inclusion; checkbox clicks do not double-toggle. */
37
+ toggleSelectionOnRowClick?: boolean;
20
38
  showSelectedOnlyLabel?: ReactNode;
21
39
  onShowSelectedOnlyChange?: (selectedOnly: boolean) => void;
22
40
  isOptionDisabled?: (option: OPTION_TYPE) => boolean;
23
41
  disabled?: boolean;
42
+ optionClassName?: string;
43
+ className?: string;
24
44
  style?: React.CSSProperties;
25
45
  };
26
46
  export declare function ValueSelector<OPTION_TYPE, ID_TYPE extends number | string>(props: ValueSelectorProps<OPTION_TYPE, ID_TYPE>): React.JSX.Element;
@@ -37,4 +57,13 @@ export declare const renderSelectionSection: (props: {
37
57
  onSelectAll: () => void;
38
58
  onClear: () => void;
39
59
  onClearOption: (id: any) => void;
60
+ compact?: boolean;
61
+ showFilterInput?: boolean;
62
+ filter?: null | ((o: any, searchValue: string) => boolean);
63
+ searchInputValue?: string;
64
+ setSearchInputValue?: (value: string) => void;
65
+ filterPlaceholder?: string;
66
+ hideShowSelectedOnly?: boolean;
67
+ compactHeaderClassName?: string;
68
+ compactFilterClassName?: string;
40
69
  }) => React.JSX.Element;