@adaptabletools/adaptable 12.1.7 → 12.2.0-canary.0

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 (237) hide show
  1. package/base.css +127 -71
  2. package/bundle.cjs.js +108 -108
  3. package/index.css +145 -83
  4. package/package.json +1 -1
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -0
  8. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +44 -10
  9. package/src/AdaptableOptions/FilterOptions.d.ts +12 -0
  10. package/src/AdaptableOptions/FinancePluginOptions.d.ts +22 -1
  11. package/src/AdaptableOptions/LayoutOptions.d.ts +10 -1
  12. package/src/AdaptableOptions/StateOptions.d.ts +25 -12
  13. package/src/Api/ColumnApi.d.ts +5 -0
  14. package/src/Api/ExportApi.d.ts +5 -0
  15. package/src/Api/FilterApi.d.ts +23 -0
  16. package/src/Api/GridApi.d.ts +1 -0
  17. package/src/Api/Implementation/AlertApiImpl.js +1 -2
  18. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  19. package/src/Api/Implementation/ColumnApiImpl.js +5 -0
  20. package/src/Api/Implementation/ExportApiImpl.d.ts +3 -1
  21. package/src/Api/Implementation/ExportApiImpl.js +19 -3
  22. package/src/Api/Implementation/FilterApiImpl.d.ts +5 -0
  23. package/src/Api/Implementation/FilterApiImpl.js +25 -2
  24. package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
  25. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -2
  26. package/src/Api/Implementation/InternalApiImpl.js +34 -3
  27. package/src/Api/Implementation/PredicateApiImpl.js +4 -0
  28. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +1 -0
  29. package/src/Api/Implementation/QueryLanguageApiImpl.js +14 -1
  30. package/src/Api/InternalApi.d.ts +6 -2
  31. package/src/Api/QueryLanguageApi.d.ts +5 -0
  32. package/src/PredefinedConfig/CalculatedColumnState.d.ts +2 -2
  33. package/src/PredefinedConfig/Common/AdaptablePredicate.js +16 -4
  34. package/src/PredefinedConfig/Common/AdaptableQuery.js +1 -1
  35. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +6 -0
  36. package/src/PredefinedConfig/Common/AggregationColumns.js +4 -0
  37. package/src/PredefinedConfig/Common/ColumnFilter.d.ts +2 -2
  38. package/src/PredefinedConfig/Common/Enums.d.ts +0 -15
  39. package/src/PredefinedConfig/Common/Enums.js +1 -18
  40. package/src/PredefinedConfig/ExportState.d.ts +12 -4
  41. package/src/PredefinedConfig/LayoutState.d.ts +2 -1
  42. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  43. package/src/Redux/ActionsReducers/AlertRedux.d.ts +1 -1
  44. package/src/Redux/ActionsReducers/AlertRedux.js +1 -1
  45. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +1 -1
  46. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +1 -1
  47. package/src/Redux/ActionsReducers/CustomSortRedux.d.ts +1 -1
  48. package/src/Redux/ActionsReducers/CustomSortRedux.js +1 -1
  49. package/src/Redux/ActionsReducers/FlashingCellRedux.d.ts +1 -1
  50. package/src/Redux/ActionsReducers/FlashingCellRedux.js +1 -1
  51. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +1 -1
  52. package/src/Redux/ActionsReducers/FormatColumnRedux.js +1 -1
  53. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +28 -0
  54. package/src/Redux/ActionsReducers/LayoutRedux.js +80 -2
  55. package/src/Redux/ActionsReducers/PlusMinusRedux.d.ts +1 -1
  56. package/src/Redux/ActionsReducers/PlusMinusRedux.js +1 -1
  57. package/src/Redux/ActionsReducers/PopupRedux.d.ts +0 -2
  58. package/src/Redux/ActionsReducers/PopupRedux.js +1 -28
  59. package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +5 -5
  60. package/src/Redux/ActionsReducers/ScheduleRedux.js +5 -5
  61. package/src/Redux/ActionsReducers/ShortcutRedux.d.ts +1 -1
  62. package/src/Redux/ActionsReducers/ShortcutRedux.js +1 -1
  63. package/src/Redux/Store/AdaptableStore.js +15 -6
  64. package/src/Strategy/AlertModule.d.ts +1 -0
  65. package/src/Strategy/AlertModule.js +20 -0
  66. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  67. package/src/Strategy/CalculatedColumnModule.js +3 -3
  68. package/src/Strategy/ExportModule.d.ts +0 -1
  69. package/src/Strategy/ExportModule.js +0 -16
  70. package/src/Strategy/FilterModule.js +6 -0
  71. package/src/Strategy/Interface/IModule.d.ts +4 -0
  72. package/src/Strategy/LayoutModule.js +20 -20
  73. package/src/Strategy/QueryModule.js +1 -1
  74. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +0 -13
  75. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +16 -1
  76. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +15 -11
  77. package/src/Strategy/Utilities/getExpressionViewItems.d.ts +3 -4
  78. package/src/Strategy/Utilities/getExpressionViewItems.js +3 -3
  79. package/src/Strategy/Utilities/getRuleViewItems.js +1 -1
  80. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  81. package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
  82. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +3 -0
  83. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +12 -2
  84. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +30 -66
  85. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +22 -6
  86. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +423 -220
  87. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +7 -1
  88. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +25 -7
  89. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.d.ts +0 -1
  90. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +6 -54
  91. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  92. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +31 -5
  93. package/src/Utilities/Interface/MessagePopups.d.ts +0 -4
  94. package/src/Utilities/ObjectFactory.d.ts +4 -2
  95. package/src/Utilities/ObjectFactory.js +16 -3
  96. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +25 -0
  97. package/src/Utilities/Services/AggregatedScalarLiveValue.js +103 -0
  98. package/src/Utilities/Services/AlertService.d.ts +0 -1
  99. package/src/Utilities/Services/AlertService.js +5 -17
  100. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +4 -4
  101. package/src/Utilities/Services/CalculatedColumnExpressionService.js +29 -154
  102. package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +2 -2
  103. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +8 -3
  104. package/src/Utilities/Services/QueryLanguageService.d.ts +8 -4
  105. package/src/Utilities/Services/QueryLanguageService.js +68 -25
  106. package/src/Utilities/Services/ReportService.js +48 -48
  107. package/src/View/AdaptableView.js +1 -2
  108. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +1 -1
  109. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +10 -10
  110. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +3 -0
  111. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +9 -0
  112. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +14 -15
  113. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.d.ts +1 -1
  114. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +2 -2
  115. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts +7 -0
  116. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +280 -0
  117. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/index.d.ts +1 -0
  118. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/index.js +5 -0
  119. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.d.ts +1 -1
  120. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +4 -4
  121. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +2 -8
  122. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.d.ts +1 -1
  123. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +3 -3
  124. package/src/View/AdaptableWizardView/Wizard.js +2 -2
  125. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +0 -1
  126. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +1 -8
  127. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingsTags.d.ts +2 -0
  128. package/src/View/CalculatedColumn/Utilities/{getCalculatedColumnSettingTags.js → getCalculatedColumnSettingsTags.js} +3 -3
  129. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.d.ts +10 -0
  130. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +80 -0
  131. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +24 -14
  132. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.d.ts +1 -2
  133. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +9 -52
  134. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +17 -6
  135. package/src/View/Components/AdaptableObjectCollection/index.d.ts +3 -4
  136. package/src/View/Components/AdaptableObjectCollection/index.js +7 -8
  137. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +42 -6
  138. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  139. package/src/View/Components/AdaptableObjectRow/index.js +1 -4
  140. package/src/View/Components/EntityRulesEditor/index.js +28 -7
  141. package/src/View/Components/FilterForm/FilterForm.js +8 -4
  142. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -0
  143. package/src/View/Components/FilterForm/QuickFilterForm.js +19 -7
  144. package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.d.ts +9 -0
  145. package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.js +28 -0
  146. package/src/View/Components/PermittedValuesSelector/index.d.ts +1 -0
  147. package/src/View/Components/PermittedValuesSelector/index.js +5 -0
  148. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +2 -2
  149. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +1 -0
  150. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +2 -1
  151. package/src/View/Components/Popups/AdaptableToaster.js +2 -7
  152. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  153. package/src/View/Components/Popups/WindowPopups/windowFactory.js +1 -4
  154. package/src/View/Components/ValueSelector/index.js +8 -19
  155. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  156. package/src/View/Dashboard/DashboardPopup.js +11 -10
  157. package/src/View/Export/ExportViewPanel.d.ts +1 -2
  158. package/src/View/Export/ExportViewPanel.js +4 -8
  159. package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +1 -2
  160. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +11 -12
  161. package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +1 -2
  162. package/src/View/Export/Wizard/ReportRowTypeWizard.js +12 -13
  163. package/src/View/Export/Wizard/ReportRowsWizardSection.js +4 -3
  164. package/src/View/Export/Wizard/ReportSettingsWizard.js +1 -2
  165. package/src/View/Filter/FilterViewPanel.js +21 -4
  166. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  167. package/src/View/GridInfo/AdaptableObjectsSummary.js +5 -3
  168. package/src/View/GridInfo/AdaptableOptionsComponent.js +1 -1
  169. package/src/View/GridInfo/GridInfoPopup.js +6 -7
  170. package/src/View/Layout/Wizard/{LayoutEditor → Components}/ColumnLabels.d.ts +0 -0
  171. package/src/View/Layout/Wizard/{LayoutEditor → Components}/ColumnLabels.js +0 -0
  172. package/src/View/Layout/Wizard/LayoutWizard.js +1 -0
  173. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +1 -0
  174. package/src/View/Layout/Wizard/sections/AggregationsSection.js +69 -8
  175. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  176. package/src/View/Query/QueryViewPanel.js +1 -1
  177. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +3 -4
  178. package/src/View/StateManagement/StateManagementPopup.js +18 -19
  179. package/src/agGrid/Adaptable.d.ts +12 -3
  180. package/src/agGrid/Adaptable.js +264 -148
  181. package/src/agGrid/agGridHelper.d.ts +1 -0
  182. package/src/agGrid/agGridHelper.js +5 -3
  183. package/src/agGrid/agGridMenuHelper.d.ts +1 -0
  184. package/src/agGrid/agGridMenuHelper.js +4 -2
  185. package/src/agGrid/weightedAverage.d.ts +6 -0
  186. package/src/agGrid/weightedAverage.js +66 -0
  187. package/src/bundle-dependencies/bundles/react-toastify/index.js +1 -1
  188. package/src/components/DragAndDropContext/ModuleManager.js +3 -4
  189. package/src/components/DragAndDropContext/TabList.js +9 -30
  190. package/src/components/DragAndDropContext/UnusedPanel.js +1 -7
  191. package/src/components/DropdownButton/index.js +2 -2
  192. package/src/components/EmptyContent/index.js +2 -2
  193. package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -0
  194. package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
  195. package/src/components/ExpressionEditor/EditorInput.d.ts +1 -1
  196. package/src/components/ExpressionEditor/EditorInput.js +24 -4
  197. package/src/components/ExpressionEditor/{EditorInputReactive.d.ts → EditorInputWithWhereClause.d.ts} +3 -3
  198. package/src/components/ExpressionEditor/{EditorInputReactive.js → EditorInputWithWhereClause.js} +6 -5
  199. package/src/components/ExpressionEditor/editorButtonsAggregatedBoolean.d.ts +2 -0
  200. package/src/components/ExpressionEditor/{editorButtonsReactive.js → editorButtonsAggregatedBoolean.js} +22 -37
  201. package/src/components/ExpressionEditor/editorButtonsAggregatedScalar.js +5 -10
  202. package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.d.ts +2 -0
  203. package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.js +50 -0
  204. package/src/components/ExpressionEditor/editorButtonsObservable.d.ts +2 -0
  205. package/src/components/ExpressionEditor/editorButtonsObservable.js +40 -0
  206. package/src/components/ExpressionEditor/index.d.ts +1 -1
  207. package/src/components/ExpressionEditor/index.js +50 -19
  208. package/src/metamodel/adaptable.metamodel.d.ts +86 -5
  209. package/src/metamodel/adaptable.metamodel.js +1 -1
  210. package/src/parser/src/types.d.ts +14 -10
  211. package/src/types.d.ts +4 -4
  212. package/version.d.ts +1 -1
  213. package/version.js +1 -1
  214. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.d.ts +0 -2
  215. package/src/View/Layout/LayoutEditorStandalonePopup.d.ts +0 -3
  216. package/src/View/Layout/LayoutEditorStandalonePopup.js +0 -78
  217. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.d.ts +0 -27
  218. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +0 -86
  219. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.d.ts +0 -16
  220. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +0 -89
  221. package/src/View/Layout/Wizard/LayoutEditor/PivotList.d.ts +0 -15
  222. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +0 -70
  223. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.d.ts +0 -15
  224. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +0 -70
  225. package/src/View/Layout/Wizard/LayoutEditor/droppableIds.d.ts +0 -7
  226. package/src/View/Layout/Wizard/LayoutEditor/droppableIds.js +0 -11
  227. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.d.ts +0 -6
  228. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +0 -26
  229. package/src/View/Layout/Wizard/LayoutEditor/index.d.ts +0 -9
  230. package/src/View/Layout/Wizard/LayoutEditor/index.js +0 -367
  231. package/src/View/Layout/Wizard/LayoutEditor/reducer.d.ts +0 -28
  232. package/src/View/Layout/Wizard/LayoutEditor/reducer.js +0 -46
  233. package/src/View/Layout/Wizard/LayoutEditor/utils.d.ts +0 -10
  234. package/src/View/Layout/Wizard/LayoutEditor/utils.js +0 -14
  235. package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +0 -30
  236. package/src/View/Layout/Wizard/LayoutEditorWizard.js +0 -132
  237. package/src/components/ExpressionEditor/editorButtonsReactive.d.ts +0 -2
package/index.css CHANGED
@@ -2544,6 +2544,23 @@ template {
2544
2544
  --ab-cmp-datepicker__font-family: var(--ab__font-family);
2545
2545
  --ab-cmp-datepicker__cell-size: 30px; }
2546
2546
 
2547
+ :root {
2548
+ --ab-cmp-toggle-button__background: #ccc;
2549
+ --ab-cmp-toggle-button--active__background: var(--ab-color-success);
2550
+ --ab-cmp-toggle-button__font-size: var(--ab-font-size-1);
2551
+ --ab-cmp-toggle-button__color: var(--ab-color-text-on-primary);
2552
+ --ab-cmp-toggle-button--checked__color: var(--ab-color-accentlight); }
2553
+
2554
+ :root {
2555
+ --ab-cmp-module-module-selector__tab-item__border: 1px solid var(--ab-color-primarydark);
2556
+ --ab-cmp-module-module-selector__tab-item__border-radius: var(--ab__border-radius);
2557
+ --ab-cmp-module-module-selector__tab-item__width: 160px;
2558
+ --ab-cmp-module-module-selector__tab-item__header-input__color: var(--ab-color-text-on-primary);
2559
+ --ab-cmp-module-module-selector__toolbar-item__border: 1px solid var(--ab-color-primary);
2560
+ --ab-cmp-module-selector__unused-panel__border: 1px solid var(--ab-color-primarydark);
2561
+ --ab-cmp-module-selector__unused-panel__border-radius: var(--ab__border-radius);
2562
+ --ab-cmp-module-selector__unused-panel__background: var(--ab-color-defaultbackground); }
2563
+
2547
2564
  :root {
2548
2565
  --ab-cmp-loader__background: var(--ab-color-primarydark);
2549
2566
  --ab-cmp-loader__border: var(--ab-color-text-on-primary);
@@ -2564,6 +2581,10 @@ template {
2564
2581
  --ab-cmp-icon__height: 17px;
2565
2582
  --ab-cmp-icon__width: 17px; }
2566
2583
 
2584
+ :root {
2585
+ --ab-cmp-listgroupitem__padding: var(--ab-space-2);
2586
+ --ab-cmp-listgroupitem__margin: 0; }
2587
+
2567
2588
  :root {
2568
2589
  --ab-cmp-wizard__padding: var(--ab-space-5);
2569
2590
  --ab-cmp-wizard__margin: var(--ab-space-1);
@@ -2598,66 +2619,6 @@ template {
2598
2619
  --ab-cmp-toolpanelpanel_body__background: var(--ab-cmp-dashboardpanel_body__background);
2599
2620
  --ab-cmp-toolpanelpanel_body__padding: var(--ab-cmp-dashboardpanel_body__padding); }
2600
2621
 
2601
- .ab-LayoutEditor {
2602
- overflow: auto;
2603
- display: grid;
2604
- padding: var(--ab-space-2);
2605
- flex: 1 1 0;
2606
- min-height: 0;
2607
- grid-template-columns: 28rem 1fr;
2608
- grid-template-rows: repeat(3, 1fr);
2609
- grid-column-gap: 0px;
2610
- grid-row-gap: 0px;
2611
- row-gap: var(--ab-space-2);
2612
- column-gap: var(--ab-space-2);
2613
- grid-gap: var(--ab-space-2); }
2614
-
2615
- .ab-LayoutEditor,
2616
- .ab-LayoutEditor * {
2617
- box-sizing: border-box; }
2618
-
2619
- .ab-LayoutEditor__ColumnList {
2620
- overflow: auto; }
2621
-
2622
- .ab-LayoutEditor__ColumnListPanel {
2623
- grid-area: 1 / 1 / 4 / 2; }
2624
-
2625
- .ab-LayoutEditor__ColumnSortListPanel {
2626
- grid-area: 1 / 2 / 2 / 3; }
2627
-
2628
- .ab-LayoutEditor__RowGroupsListPanel {
2629
- grid-area: 2 / 2 / 3 / 3; }
2630
-
2631
- .ab-LayoutEditor__PivotListPanel {
2632
- grid-area: 3 / 2 / 4 / 3; }
2633
-
2634
- .ab-LayoutEditor__PivotList--empty,
2635
- .ab-LayoutEditor__RowGroupsList--empty,
2636
- .ab-LayoutEditor__ColumnSortList--empty {
2637
- display: flex;
2638
- flex-flow: column;
2639
- align-items: center;
2640
- justify-content: center; }
2641
-
2642
- .ab-LayoutEditor__PivotList,
2643
- .ab-LayoutEditor__RowGroupsList,
2644
- .ab-LayoutEditor__ColumnSortList {
2645
- padding-top: var(--ab-space-2); }
2646
-
2647
- .ab-LayoutEditor__PivotList__column,
2648
- .ab-LayoutEditor__RowGroupsList__column,
2649
- .ab-LayoutEditor__ColumnSortList__column,
2650
- .ab-LayoutEditor__ColumnList__column {
2651
- background: var(--ab-color-primary);
2652
- color: var(--ab-color-text-on-primary);
2653
- margin: 0 0 var(--ab-space-2) 0; }
2654
-
2655
- .ab-LayoutEditor__PivotList__column,
2656
- .ab-LayoutEditor__RowGroupsList__column,
2657
- .ab-LayoutEditor__ColumnSortList__column {
2658
- padding-top: var(--ab-space-2);
2659
- padding-bottom: var(--ab-space-2); }
2660
-
2661
2622
  :root {
2662
2623
  --ab-cmp-popover__border-radius: var(--ab__border-radius);
2663
2624
  --ab-cmp-popover__background: var(--ab-color-defaultbackground);
@@ -2798,6 +2759,13 @@ template {
2798
2759
  --ab-cmp-adaptable-layout-wizard-column-input__max-width: 200px;
2799
2760
  --ab-cmp-adaptable-layout-wizard-column-input__width: 100%; }
2800
2761
 
2762
+ .ab-PermitedValuesSelector__PopupContent {
2763
+ z-index: 1000;
2764
+ font-size: var(--ab-cmp-adaptable-permitted-values-selector__font-size);
2765
+ border: 1px solid var(--ab-cmp-adaptable-permitted-values-selector__border);
2766
+ background-color: var(--ab-cmp-adaptable-permitted-values-selector__background-color);
2767
+ padding: var(--ab-cmp-adaptable-permitted-values-selector__padding); }
2768
+
2801
2769
  .ab-Radio-input:focus + svg rect {
2802
2770
  stroke: var(--ab-color-accent);
2803
2771
  stroke-width: 2; }
@@ -2987,12 +2955,19 @@ template {
2987
2955
 
2988
2956
  .ab-DropdownButton {
2989
2957
  position: relative;
2958
+ overflow: visible;
2959
+ outline: none;
2990
2960
  --ab-overlay-horizontal-align: left; }
2991
2961
 
2992
2962
  .ab-DropdownButton__list {
2993
2963
  text-align: start;
2994
2964
  padding: var(--ab-space-1) 0;
2995
- box-shadow: var(--ab-cmp-dropdownbutton-list__box-shadow); }
2965
+ box-shadow: var(--ab-cmp-dropdownbutton-list__box-shadow);
2966
+ overflow: auto;
2967
+ border: var(--ab-cmp-dropdownbutton-list__border);
2968
+ borderradius: var(--ab-cmp-dropdownbutton-list__border-radius);
2969
+ zindex: var(--ab-cmp-dropdownbutton-list__z-index);
2970
+ background: var(--ab-cmp-dropdownbutton-list__background); }
2996
2971
 
2997
2972
  .ab-DropdownButton__content {
2998
2973
  font-family: var(--ab__font-family);
@@ -3024,11 +2999,23 @@ template {
3024
2999
  border-bottom: var(--ab-cmp-dropdownbutton-list-separator__border); }
3025
3000
 
3026
3001
  .ab-EmptyContent {
3027
- text-align: center; }
3002
+ position: absolute;
3003
+ top: 0;
3004
+ bottom: 0;
3005
+ left: 0;
3006
+ right: 0;
3007
+ font-size: var(--ab-font-size-3);
3008
+ text-align: center;
3009
+ padding: var(--ab-space-4); }
3028
3010
 
3029
3011
  .ab-EmptyContent p {
3030
3012
  color: var(--ab-color-text-on-primary); }
3031
3013
 
3014
+ .ab-EmptyContent__wrapper {
3015
+ position: relative;
3016
+ width: 100%;
3017
+ height: 100%; }
3018
+
3032
3019
  .ab-ErrorBox {
3033
3020
  padding: var(--ab-cmp-error-box__padding);
3034
3021
  border-radius: var(--ab-cmp-error-box__border-radius);
@@ -3745,13 +3732,6 @@ input[type='number'].ab-Input:hover::-webkit-inner-spin-button:active {
3745
3732
  .ab-Datepicker-Overlay .rdp.rdp-with_weeknumber .rdp-row td:nth-child(8) {
3746
3733
  display: table-cell; }
3747
3734
 
3748
- :root {
3749
- --ab-cmp-toggle-button__background: #ccc;
3750
- --ab-cmp-toggle-button--active__background: var(--ab-color-success);
3751
- --ab-cmp-toggle-button__font-size: var(--ab-font-size-1);
3752
- --ab-cmp-toggle-button__color: var(--ab-color-text-on-primary);
3753
- --ab-cmp-toggle-button--checked__color: var(--ab-color-accentlight); }
3754
-
3755
3735
  .ab-ToggleButton {
3756
3736
  position: relative;
3757
3737
  display: inline-block;
@@ -3878,6 +3858,49 @@ input[type='number'].ab-Input:hover::-webkit-inner-spin-button:active {
3878
3858
  font-size: var(--ab-cmp-Tag__font-size);
3879
3859
  max-width: 100%; }
3880
3860
 
3861
+ .ab-ModuleSelector__TabItem {
3862
+ display: flex;
3863
+ flex-direction: column;
3864
+ box-sizing: border-box;
3865
+ margin-right: var(--ab-space-2);
3866
+ width: var(--ab-cmp-module-module-selector__tab-item__width);
3867
+ border: var(--ab-cmp-module-module-selector__tab-item__border);
3868
+ border-radius: var(--ab-cmp-module-module-selector__tab-item__border-radius); }
3869
+
3870
+ .ab-ModuleSelector__TabItem__header {
3871
+ display: flex;
3872
+ align-items: center;
3873
+ padding: var(--ab-space-1);
3874
+ border-bottom: var(--ab-cmp-module-module-selector__tab-item__border); }
3875
+
3876
+ .ab-ModuleSelector__TabItem__header-input {
3877
+ flex: 1;
3878
+ width: 100%;
3879
+ margin-left: var(--ab-space-1);
3880
+ margin-right: var(--ab-space-1);
3881
+ align-self: stretch;
3882
+ background: transparent;
3883
+ border: none;
3884
+ color: var(--ab-cmp-module-module-selector__tab-item__header-input__color); }
3885
+
3886
+ .ab-ModuleSelector__ToolbarList {
3887
+ flex: 1;
3888
+ padding: 4px;
3889
+ padding-bottom: 0;
3890
+ min-height: 200px; }
3891
+
3892
+ .ab-ModuleSelector__ToolbarItem {
3893
+ border: var(--ab-cmp-module-module-selector__toolbar-item__border);
3894
+ padding-left: var(--ab-space-1);
3895
+ margin-bottom: var(--ab-space-1); }
3896
+
3897
+ .ab-ModuleSelector__UnusedPanel {
3898
+ margin-bottom: var(--ab-space-2);
3899
+ padding-bottom: var(--ab-space-1);
3900
+ border: var(--ab-cmp-module-selector__unused-panel__border);
3901
+ border-radius: var(--ab-cmp-module-selector__unused-panel__border-radius);
3902
+ background-color: var(--ab-cmp-module-selector__unused-panel__background); }
3903
+
3881
3904
  .ab-AdaptableOptions {
3882
3905
  background: var(--ab-cmp-adaptable-options__background-color); }
3883
3906
 
@@ -3899,6 +3922,9 @@ input[type='number'].ab-Input:hover::-webkit-inner-spin-button:active {
3899
3922
  color: var(--ab-cmp-listgroupitem--odd__color); }
3900
3923
 
3901
3924
  .ab-AdaptableObjectRow {
3925
+ align-items: center;
3926
+ padding: var(--ab-cmp-listgroupitem__padding);
3927
+ margin: var(--ab-cmp-listgroupitem__margin);
3902
3928
  background: var(--ab-cmp-listgroupitem__background);
3903
3929
  color: var(--ab-cmp-listgroupitem__color);
3904
3930
  border-radius: var(--ab-cmp-listgroupitem__border-radius); }
@@ -3965,19 +3991,24 @@ html.ab--theme-dark .ab-ListBoxFilterForm--aggrid-style {
3965
3991
  bottom: -10px;
3966
3992
  transform: translate3d(-5px, 0px, 0px); }
3967
3993
 
3968
- .ab-nocode-wizard {
3994
+ .ab-NocodeWizard {
3969
3995
  padding: var(--ab-cmp-wizard__padding);
3970
3996
  margin: var(--ab-cmp-wizard__margin);
3971
3997
  background: var(--ab-cmp-wizard__background);
3972
3998
  color: var(--ab-cmp-wizard__color);
3973
3999
  height: 100%; }
3974
4000
 
3975
- .ab-nocode-wizard,
3976
- .ab-nocode-wizard *,
3977
- .ab-nocode-wizard *:before,
3978
- .ab-nocode-wizard *:after {
4001
+ .ab-NocodeWizard,
4002
+ .ab-NocodeWizard *,
4003
+ .ab-NocodeWizard *:before,
4004
+ .ab-NocodeWizard *:after {
3979
4005
  box-sizing: border-box; }
3980
4006
 
4007
+ .ab-NocodeWizardFormBox {
4008
+ border: 1px solid var(--ab-color-primarydark);
4009
+ border-radius: var(--ab__border-radius);
4010
+ background-color: var(--ab-color-defaultbackground); }
4011
+
3981
4012
  .ab-AvailableDropZone .placeholder,
3982
4013
  .ab-SelectedDropZone .placeholder {
3983
4014
  width: 100%; }
@@ -4118,20 +4149,23 @@ html.ab--theme-dark .ab-ListBoxFilterForm--aggrid-style {
4118
4149
  padding: var(--ab-cmp-adaptable-popup--settings__padding);
4119
4150
  min-width: 0; }
4120
4151
 
4152
+ .ab-Adaptable-Popup__Panel {
4153
+ width: 100%; }
4154
+
4121
4155
  .ab-Adaptable-Popup__Panel__Header {
4122
- display: flex;
4123
- padding: 0 var(--ab-cmp-adaptable-popup-panel__padding);
4124
- margin-bottom: var(--ab-cmp-adaptable-popup-panel__margin-bottom);
4125
- margin-top: var(--ab-cmp-adaptable-popup-panel__margin-top); }
4156
+ display: flex;
4157
+ padding: 0 var(--ab-cmp-adaptable-popup-panel__padding);
4158
+ margin-bottom: var(--ab-cmp-adaptable-popup-panel__margin-bottom);
4159
+ margin-top: var(--ab-cmp-adaptable-popup-panel__margin-top); }
4126
4160
 
4127
4161
  .ab-Adaptable-Popup__Panel__Header__Title {
4128
- font-size: var(--ab-cmp-adaptable-popup-panel-title__font-size); }
4162
+ font-size: var(--ab-cmp-adaptable-popup-panel-title__font-size); }
4129
4163
 
4130
4164
  .ab-Adaptable-Popup__Panel__Body {
4131
- padding: var(--ab-cmp-adaptable-popup-panel-body__padding);
4132
- flex: 1 1 0;
4133
- min-height: 0;
4134
- overflow: auto; }
4165
+ padding: var(--ab-cmp-adaptable-popup-panel-body__padding);
4166
+ flex: 1 1 0;
4167
+ min-height: 0;
4168
+ overflow: auto; }
4135
4169
 
4136
4170
  .ab-Adaptable-Popup--window .ab-Adaptable-Popup__TopBar {
4137
4171
  cursor: move; }
@@ -4258,6 +4292,34 @@ button.ab-StatusBar__SubPanel:hover {
4258
4292
  max-width: var(--ab-cmp-adaptable-layout-wizard-column-input__max-width);
4259
4293
  width: var(--ab-cmp-adaptable-layout-wizard-column-input__width); }
4260
4294
 
4295
+ :root {
4296
+ --ab-cmp-adaptable-permitted-values-selector__font-size: var(--ab-font-size-2);
4297
+ --ab-cmp-adaptable-permitted-values-selector__border: 1px solid var(--ab-color-primarydark);
4298
+ --ab-cmp-adaptable-permitted-values-selector__background-color: var(--ab-color-defaultbackground);
4299
+ --ab-cmp-adaptable-permitted-values-selector__padding: var(--ab-space-1); }
4300
+
4301
+ .ab-ValueSelector {
4302
+ overflow: hidden; }
4303
+
4304
+ .ab-ValueSelector__option {
4305
+ border-radius: 'var(--ab__border-radius)'; }
4306
+
4307
+ .ab-ValueSelector__show-selected-only-checkbox {
4308
+ position: sticky;
4309
+ top: 0;
4310
+ z-index: 10000; }
4311
+
4312
+ .ab-ValueSelector__show-selected-only-checkbox__text {
4313
+ position: absolute;
4314
+ top: 2px;
4315
+ right: 4px;
4316
+ overflow: hidden;
4317
+ border-radius: var(--ab__border-radius);
4318
+ margin-right: var(--ab-space-1);
4319
+ margin-top: var(--ab-space-1);
4320
+ padding: 0 var(--ab-space-2);
4321
+ font-size: var(--ab-font-size-2); }
4322
+
4261
4323
  .ab-alert--error {
4262
4324
  background: var(--ab-color-error); }
4263
4325
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "12.1.7",
3
+ "version": "12.2.0-canary.0",
4
4
  "description": "Powerful data-agnostic HTML5 datagrid add-on that sits on top of an underlying grid component and provides all the rich functionality that advanced users expect from their DataGrids and Data Tables",
5
5
  "keywords": [
6
6
  "web-components",
@@ -1,2 +1,2 @@
1
- declare const _default: 1660658453580;
1
+ declare const _default: 1661462273542;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = 1660658453580;
3
+ exports.default = 1661462273542;
@@ -188,6 +188,7 @@ export interface IAdaptable {
188
188
  getVisibleRowNodes(): RowNode[];
189
189
  getAllRowNodes(config?: {
190
190
  includeGroupRows?: boolean;
191
+ filterFn?: (rowNode: RowNode) => boolean;
191
192
  }): RowNode[];
192
193
  getRowsInViewport(): RowNode[];
193
194
  isGroupRowNode(rowNode: RowNode): boolean;
@@ -1,8 +1,10 @@
1
1
  import { ExpressionFunctionMap } from '../parser/src/types';
2
2
  import { AdaptablePredicateDef } from '../PredefinedConfig/Common/AdaptablePredicate';
3
- import { AdaptableModule, AdaptableQLModules } from '../PredefinedConfig/Common/Types';
3
+ import { AdaptableModule, AdaptableQLModule, AdaptableQLModules } from '../PredefinedConfig/Common/Types';
4
+ import { BaseContext } from '../PredefinedConfig/Common/BaseContext';
5
+ import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
6
  /**
5
- * Options for managing AdaptableQL - the Adaptable Query Lanaguage which evaluates Predicates and Expressions
7
+ * Options for managing AdaptableQL - the Adaptable Query Language which evaluates Predicates and Expressions
6
8
  */
7
9
  export interface AdaptableQLOptions {
8
10
  /**
@@ -17,10 +19,15 @@ export interface AdaptableQLOptions {
17
19
  *
18
20
  * @defaultValue undefined
19
21
  * @gridInfoItem
22
+ * @deprecated use `evaluateExpressionExternally()` instead
20
23
  */
21
24
  externallyEvaluatedModules?: AdaptableQLModules;
22
25
  /**
23
- * Options for managing Expressions in AdapTableQL
26
+ * Whether a specific expression (or all expressions in a given module) must be evaluated on the server
27
+ */
28
+ evaluateExpressionExternally?: (context: EvaluateExpressionExternallyContext) => boolean;
29
+ /**
30
+ * Options for managing Expressions in AdaptableQL
24
31
  *
25
32
  */
26
33
  expressionOptions?: ExpressionOptions;
@@ -28,41 +35,47 @@ export interface AdaptableQLOptions {
28
35
  * Definitions for Custom provided Predicates
29
36
  */
30
37
  customPredicateDefs?: AdaptablePredicateDef[];
38
+ /**
39
+ * Whether to display the column friendly names in all expression overviews (instead of their technical IDs)
40
+ *
41
+ * @defaultValue true
42
+ */
43
+ displayColumnFriendlyNamesForExpressions?: boolean;
31
44
  }
32
45
  /**
33
- * Options for managing Expressions using AdapTableQL
46
+ * Options for managing Expressions using AdaptableQL
34
47
  */
35
48
  export interface ExpressionOptions {
36
49
  /**
37
- * Boolean Expression Functions available in AdapTableQL
50
+ * Boolean Expression Functions available in AdaptableQL
38
51
  *
39
52
  * @defaultValue null (sets all)
40
53
  * @gridInfoItem
41
54
  */
42
55
  defaultBooleanFunctions?: ExpressionFunctionMap;
43
56
  /**
44
- * Scalar Expression Functions available in AdapTableQL
57
+ * Scalar Expression Functions available in AdaptableQL
45
58
  *
46
59
  * @defaultValue null (sets all)
47
60
  * @gridInfoItem
48
61
  */
49
62
  defaultScalarFunctions?: ExpressionFunctionMap;
50
63
  /**
51
- * Observable Expression Functions available in AdapTableQL
64
+ * Observable Expression Functions available in AdaptableQL
52
65
  *
53
66
  * @defaultValue null (sets all)
54
67
  * @gridInfoItem
55
68
  */
56
69
  defaultObservableFunctions?: ExpressionFunctionMap;
57
70
  /**
58
- * Aggregated Boolean Expression Functions available in AdapTableQL
71
+ * Aggregated Boolean Expression Functions available in AdaptableQL
59
72
  *
60
73
  * @defaultValue null (sets all)
61
74
  * @gridInfoItem
62
75
  */
63
76
  defaultAggregatedBooleanFunctions?: ExpressionFunctionMap;
64
77
  /**
65
- * Aggregated Scalar Expression Functions available in AdapTableQL
78
+ * Aggregated Scalar Expression Functions available in AdaptableQL
66
79
  *
67
80
  * @defaultValue null (sets all)
68
81
  * @gridInfoItem
@@ -78,7 +91,7 @@ export interface ExpressionOptions {
78
91
  [module in AdaptableModule]?: ModuleExpressionFunctions;
79
92
  };
80
93
  /**
81
- * Columns that can be included in AdapTableQL Expressions; leave unset to include **ALL**, provide empty array to set **NONE**
94
+ * Columns that can be included in AdaptableQL Expressions; leave unset to include **ALL**, provide empty array to set **NONE**
82
95
  *
83
96
  * @defaultValue undefined
84
97
  * @gridInfoItem
@@ -98,6 +111,10 @@ export interface ExpressionOptions {
98
111
  * @gridInfoItem
99
112
  */
100
113
  maxTimeframeSize?: number;
114
+ /**
115
+ * Custom query variables allow values to be attached to variables so that a single value can easily be expressed multiple times within a query, or quickly changed to affect the results of a query. Variables are evaluated synchronously with each expression evaluation.
116
+ */
117
+ customQueryVariable?: Record<string, string | number | boolean | Date | ((context: CustomQueryVariableContext) => string | number | boolean | Date)>;
101
118
  }
102
119
  /**
103
120
  * Module specific Expression Functions
@@ -109,3 +126,20 @@ export interface ModuleExpressionFunctions {
109
126
  aggregatedBooleanFunctions?: ExpressionFunctionMap;
110
127
  aggregatedScalarFunctions?: ExpressionFunctionMap;
111
128
  }
129
+ /**
130
+ * Context passed when evaluating `ExpressionOptions.customQueryVariable`
131
+ */
132
+ export interface CustomQueryVariableContext extends BaseContext {
133
+ /**
134
+ * Optional variable arguments
135
+ */
136
+ args?: any[];
137
+ }
138
+ /**
139
+ * Context passed when evaluating `AdaptableQLOptions.evaluateExpressionExternally()`
140
+ */
141
+ export interface EvaluateExpressionExternallyContext extends BaseContext {
142
+ module: AdaptableQLModule;
143
+ expression?: string;
144
+ referencedColumns?: AdaptableColumn[];
145
+ }
@@ -157,4 +157,16 @@ export interface FilterOptions {
157
157
  * @gridInfoItem
158
158
  */
159
159
  showDistinctFilteredValuesOnly?: boolean;
160
+ /**
161
+ * Display Clear Filter button in Toolbar and Toolpanel
162
+ * @defaultValue false
163
+ * @gridInfoItem
164
+ */
165
+ showClearFilterButton?: boolean;
166
+ /**
167
+ * Display Suspend / Unsuspend Button in Toolbar and Toolpanel
168
+ * @defaultValue false
169
+ * @gridInfoItem
170
+ */
171
+ showSuspendFilterButton?: boolean;
160
172
  }
@@ -1,4 +1,4 @@
1
- import { AdaptableIcon, ContextMenuContext, GridCell } from '../../types';
1
+ import { AdaptableApi, AdaptableIcon, ContextMenuContext, FDC3Context, GridCell } from '../../types';
2
2
  import { CustomFDC3Context } from '../PredefinedConfig/Common/FDC3Context';
3
3
  /**
4
4
  * Options required for when using the Finance plugin
@@ -41,6 +41,18 @@ export interface FinancePluginOptions {
41
41
  * Columns to use a Weighted Average aggregation
42
42
  */
43
43
  weightedAverageColumns?: WeightedAverageColumn[];
44
+ /**
45
+ * Intents to which to subscribe.
46
+ */
47
+ availableFDC3Intents?: (FDC3Intent | CustomFDC3Intent)[];
48
+ /**
49
+ * Called when an intent from `availableIntents` is raised.
50
+ */
51
+ onFDC3Intent?: (intent: FDC3Intent | CustomFDC3Intent, context: FDC3Context, adaptableApi: AdaptableApi) => void;
52
+ /**
53
+ * Called when a context changes.
54
+ */
55
+ onFDC3Context?: (context: FDC3Context, adaptableApi: AdaptableApi) => void;
44
56
  }
45
57
  /**
46
58
  * An Column which contains a Weighted Average aggregation
@@ -265,3 +277,12 @@ export interface RaiseFDC3IntentContext extends ContextMenuContext {
265
277
  */
266
278
  intent: FDC3Intent | CustomFDC3Intent;
267
279
  }
280
+ export declare type FDC3ContextHandler = (context: FDC3Context) => void;
281
+ export interface FDC3DesktopAgent {
282
+ raiseIntent: (intent: FDC3Intent, context: FDC3Context) => void;
283
+ broadcast: (context: FDC3Context) => void;
284
+ addIntentListener: (intent: FDC3Intent | CustomFDC3Intent, listener: (context: FDC3Context) => void) => void;
285
+ addContextListener: (contextType: string | null, handler: FDC3ContextHandler) => {
286
+ unsubscribe: () => void;
287
+ };
288
+ }
@@ -9,7 +9,8 @@ import { BaseSchedule } from '../PredefinedConfig/Common/Schedule';
9
9
  import { Layout } from '../PredefinedConfig/LayoutState';
10
10
  import { AdaptableModule } from '../PredefinedConfig/Common/Types';
11
11
  import { AdaptableObjectTag } from '../PredefinedConfig/Common/AdaptableObject';
12
- import { BaseContext } from '../../types';
12
+ import { AdaptableColumn, BaseContext } from '../../types';
13
+ import { KeyCreatorParams } from '@ag-grid-community/all-modules';
13
14
  /**
14
15
  * Options for configuring Layouts; these manage Column visibility, order, sorting, grouping and width
15
16
  *
@@ -64,6 +65,10 @@ export interface LayoutOptions {
64
65
  * Options for leveraging Object Tags to extend Layouts
65
66
  */
66
67
  layoutTagOptions?: LayoutTagOptions;
68
+ /**
69
+ * When defined ungrouped rows are grouped under this key.
70
+ */
71
+ groupUnbalancedGroupsUnderKey?: string | ((context: GroupUnbalancedGroupsUnderKeyContext) => string);
67
72
  }
68
73
  export interface LayoutTagOptions {
69
74
  /**
@@ -130,3 +135,7 @@ export interface AutoGenerateTagsForLayoutsContext extends BaseContext {
130
135
  */
131
136
  objectTags: AdaptableObjectTag[];
132
137
  }
138
+ export interface GroupUnbalancedGroupsUnderKeyContext extends BaseContext {
139
+ adaptableColumn: AdaptableColumn;
140
+ params: KeyCreatorParams;
141
+ }
@@ -4,7 +4,7 @@ import { AdaptableState } from '../PredefinedConfig/AdaptableState';
4
4
  */
5
5
  export interface StateOptions {
6
6
  /**
7
- * Allows the customization of Adaptable State loading
7
+ * Allows customization of Adaptable State loading
8
8
  */
9
9
  loadState?: AdaptableLoadStateFunction;
10
10
  /**
@@ -12,11 +12,11 @@ export interface StateOptions {
12
12
  */
13
13
  applyState?: (state: any) => any;
14
14
  /**
15
- * Allows the customization of the Adaptable State that is going to be persisted
15
+ * Allows customization of Adaptable State about to be persisted
16
16
  */
17
17
  saveState?: AdaptableSaveStateFunction;
18
18
  /**
19
- * Allows the customization of Adaptable State persistence
19
+ * Allows customization of Adaptable State persistence
20
20
  */
21
21
  persistState?: AdaptablePersistStateFunction;
22
22
  /**
@@ -34,39 +34,52 @@ export interface StateOptions {
34
34
  */
35
35
  debounceStateDelay?: number;
36
36
  }
37
- export declare type AdaptableStateFunctionConfig = {
37
+ /**
38
+ * State Function Config object passed into all State Options functions (except 'applyState')
39
+ */
40
+ export interface AdaptableStateFunctionConfig {
41
+ /**
42
+ * Id of current Adaptable instance
43
+ */
38
44
  adaptableId: string;
45
+ /**
46
+ * State Key being used
47
+ */
39
48
  adaptableStateKey: string;
49
+ /**
50
+ * current Adaptable user
51
+ */
40
52
  userName: string;
53
+ /**
54
+ * @deprecated unused will be removed in v.13
55
+ */
41
56
  url?: string;
42
- };
57
+ }
43
58
  /**
44
59
  * Allows customization of state persistence - used `persistState` function in StateOptions
45
60
  *
46
61
  * @example
47
62
  * ```
48
- * persistState = (state, {adaptableId, adaptableStateKey}) => {
49
- * localStorage.setItem(adaptableStateKey, JSON.stringify(state))
63
+ * persistState = (state, stateFunctionConfig) => {
64
+ * localStorage.setItem(stateFunctionConfig.adaptableStateKey, JSON.stringify(state))
50
65
  * }
51
66
  * ```
52
67
  */
53
68
  export interface AdaptablePersistStateFunction {
54
- (state: any, { adaptableId, adaptableStateKey, userName, url }: AdaptableStateFunctionConfig): Promise<any>;
69
+ (state: any, adaptableStateFunctionConfig: AdaptableStateFunctionConfig): Promise<any>;
55
70
  }
56
71
  /**
57
72
  * Allows clearing state when a custom persistState is used.
58
73
  * Only called by configApi.reloadPredefinedConfig
59
- *
60
- * @example
61
74
  */
62
75
  export interface AdaptableClearStateFunction {
63
- ({ adaptableId, adaptableStateKey, userName, url }: AdaptableStateFunctionConfig): Promise<any>;
76
+ (adaptablestatefunctionconfig: AdaptableStateFunctionConfig): Promise<any>;
64
77
  }
65
78
  /**
66
79
  * Allows the customization state persistence - used by `saveState` function in StateOptions
67
80
  */
68
81
  export interface AdaptableSaveStateFunction {
69
- (state: AdaptableState, { adaptableId, adaptableStateKey, userName, url }: AdaptableStateFunctionConfig): any;
82
+ (state: AdaptableState, adaptablestatefunctionconfig: AdaptableStateFunctionConfig): any;
70
83
  }
71
84
  /**
72
85
  * Allows customization of state loading - used by `loadState` function in StateOptions
@@ -308,6 +308,11 @@ export interface ColumnApi {
308
308
  * @param columnId Column to Check
309
309
  */
310
310
  getDefaultAggFunc(columnId: string): string;
311
+ /**
312
+ * Returns the `types` property for a given Column
313
+ * @param columnId Column to Check
314
+ */
315
+ getTypesForColumn(columnId: string): string | string[];
311
316
  getMinValueForNumericColumn(column: AdaptableColumn): number | undefined;
312
317
  getMaxValueForNumericColumn(column: AdaptableColumn): number | undefined;
313
318
  }
@@ -133,6 +133,11 @@ export interface ExportApi {
133
133
  * Exports data currently in grid to Excel as What-You-See-Is-What-You-Get
134
134
  */
135
135
  exportVisualDataToExcel(): void;
136
+ /**
137
+ * Whether a Report is a Custom Report
138
+ * @param customReportName Report to Check
139
+ */
140
+ isCustomReport(report: Report): boolean;
136
141
  /**
137
142
  * Runs the report function of the CustomReport with the given reportName
138
143
  * @param reportName custom report name