@adaptabletools/adaptable 12.1.6 → 12.1.8-canary.1

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 (203) hide show
  1. package/base.css +11 -49
  2. package/bundle.cjs.js +106 -106
  3. package/index.css +13 -60
  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 +2 -0
  8. package/src/AdaptableOptions/ColumnOptions.d.ts +2 -4
  9. package/src/AdaptableOptions/FilterOptions.d.ts +12 -0
  10. package/src/AdaptableOptions/FinancePluginOptions.d.ts +22 -1
  11. package/src/AdaptableOptions/StateOptions.d.ts +25 -12
  12. package/src/Api/ColumnApi.d.ts +5 -0
  13. package/src/Api/ExportApi.d.ts +5 -0
  14. package/src/Api/FilterApi.d.ts +23 -0
  15. package/src/Api/FlashingCellApi.d.ts +8 -0
  16. package/src/Api/GridApi.d.ts +1 -0
  17. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  18. package/src/Api/Implementation/ColumnApiImpl.js +5 -1
  19. package/src/Api/Implementation/ExportApiImpl.d.ts +3 -1
  20. package/src/Api/Implementation/ExportApiImpl.js +19 -3
  21. package/src/Api/Implementation/FilterApiImpl.d.ts +5 -0
  22. package/src/Api/Implementation/FilterApiImpl.js +35 -3
  23. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -0
  24. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -0
  25. package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
  26. package/src/Api/Implementation/InternalApiImpl.d.ts +0 -1
  27. package/src/Api/Implementation/InternalApiImpl.js +0 -3
  28. package/src/Api/Implementation/PredicateApiImpl.js +4 -0
  29. package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -1
  30. package/src/Api/InternalApi.d.ts +0 -1
  31. package/src/Api/SystemStatusApi.d.ts +1 -1
  32. package/src/Api/ToolPanelApi.d.ts +1 -1
  33. package/src/PredefinedConfig/CalculatedColumnState.d.ts +2 -2
  34. package/src/PredefinedConfig/Common/AdaptablePredicate.js +30 -10
  35. package/src/PredefinedConfig/Common/AdaptableQuery.js +1 -1
  36. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +6 -0
  37. package/src/PredefinedConfig/Common/AggregationColumns.js +4 -0
  38. package/src/PredefinedConfig/Common/ColumnFilter.d.ts +2 -2
  39. package/src/PredefinedConfig/Common/Enums.d.ts +0 -15
  40. package/src/PredefinedConfig/Common/Enums.js +1 -18
  41. package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +6 -6
  42. package/src/PredefinedConfig/ExportState.d.ts +12 -4
  43. package/src/PredefinedConfig/LayoutState.d.ts +2 -1
  44. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  45. package/src/Redux/ActionsReducers/AlertRedux.d.ts +1 -1
  46. package/src/Redux/ActionsReducers/AlertRedux.js +1 -1
  47. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +1 -1
  48. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +1 -1
  49. package/src/Redux/ActionsReducers/CustomSortRedux.d.ts +1 -1
  50. package/src/Redux/ActionsReducers/CustomSortRedux.js +1 -1
  51. package/src/Redux/ActionsReducers/FlashingCellRedux.d.ts +1 -1
  52. package/src/Redux/ActionsReducers/FlashingCellRedux.js +1 -1
  53. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +1 -1
  54. package/src/Redux/ActionsReducers/FormatColumnRedux.js +1 -1
  55. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +28 -0
  56. package/src/Redux/ActionsReducers/LayoutRedux.js +80 -2
  57. package/src/Redux/ActionsReducers/PlusMinusRedux.d.ts +1 -1
  58. package/src/Redux/ActionsReducers/PlusMinusRedux.js +1 -1
  59. package/src/Redux/ActionsReducers/PopupRedux.d.ts +0 -2
  60. package/src/Redux/ActionsReducers/PopupRedux.js +1 -28
  61. package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +5 -5
  62. package/src/Redux/ActionsReducers/ScheduleRedux.js +5 -5
  63. package/src/Redux/ActionsReducers/ShortcutRedux.d.ts +1 -1
  64. package/src/Redux/ActionsReducers/ShortcutRedux.js +1 -1
  65. package/src/Redux/ActionsReducers/SystemRedux.d.ts +1 -2
  66. package/src/Redux/ActionsReducers/SystemRedux.js +1 -2
  67. package/src/Redux/Store/AdaptableStore.js +20 -6
  68. package/src/Strategy/AlertModule.d.ts +1 -0
  69. package/src/Strategy/AlertModule.js +20 -0
  70. package/src/Strategy/CalculatedColumnModule.js +2 -2
  71. package/src/Strategy/ExportModule.d.ts +0 -1
  72. package/src/Strategy/ExportModule.js +0 -16
  73. package/src/Strategy/FilterModule.js +6 -0
  74. package/src/Strategy/FlashingCellModule.js +2 -2
  75. package/src/Strategy/Interface/IModule.d.ts +4 -0
  76. package/src/Strategy/LayoutModule.js +20 -20
  77. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +16 -1
  78. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +15 -11
  79. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  80. package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
  81. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +2 -0
  82. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +12 -2
  83. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +30 -66
  84. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +22 -6
  85. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +423 -220
  86. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +7 -1
  87. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +23 -7
  88. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.d.ts +0 -1
  89. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +6 -54
  90. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +17 -5
  91. package/src/Utilities/Helpers/CalendarHelper.js +10 -7
  92. package/src/Utilities/Helpers/DateHelper.d.ts +0 -26
  93. package/src/Utilities/Helpers/DateHelper.js +2 -32
  94. package/src/Utilities/Interface/MessagePopups.d.ts +0 -4
  95. package/src/Utilities/ObjectFactory.d.ts +6 -4
  96. package/src/Utilities/ObjectFactory.js +30 -17
  97. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +25 -0
  98. package/src/Utilities/Services/AggregatedScalarLiveValue.js +103 -0
  99. package/src/Utilities/Services/AlertService.d.ts +0 -1
  100. package/src/Utilities/Services/AlertService.js +5 -17
  101. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +4 -4
  102. package/src/Utilities/Services/CalculatedColumnExpressionService.js +29 -154
  103. package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +2 -2
  104. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +6 -3
  105. package/src/Utilities/Services/QueryLanguageService.d.ts +6 -3
  106. package/src/Utilities/Services/QueryLanguageService.js +23 -6
  107. package/src/Utilities/Services/ReportService.js +47 -46
  108. package/src/View/AdaptableView.js +1 -2
  109. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingsTags.d.ts +2 -0
  110. package/src/View/CalculatedColumn/Utilities/{getCalculatedColumnSettingTags.js → getCalculatedColumnSettingsTags.js} +5 -3
  111. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.d.ts +10 -0
  112. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +80 -0
  113. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +21 -15
  114. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.d.ts +1 -2
  115. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +10 -53
  116. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +14 -3
  117. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  118. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +42 -6
  119. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  120. package/src/View/Components/EntityRulesEditor/index.js +26 -5
  121. package/src/View/Components/FilterForm/FilterForm.js +8 -4
  122. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -0
  123. package/src/View/Components/FilterForm/QuickFilterForm.js +10 -6
  124. package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.d.ts +9 -0
  125. package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.js +28 -0
  126. package/src/View/Components/PermittedValuesSelector/index.d.ts +1 -0
  127. package/src/View/Components/PermittedValuesSelector/index.js +5 -0
  128. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +2 -2
  129. package/src/View/Components/Popups/AdaptableToaster.js +2 -7
  130. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  131. package/src/View/Components/Popups/WindowPopups/windowFactory.js +1 -4
  132. package/src/View/Export/ExportViewPanel.d.ts +1 -2
  133. package/src/View/Export/ExportViewPanel.js +2 -6
  134. package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +1 -2
  135. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +11 -12
  136. package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +1 -2
  137. package/src/View/Export/Wizard/ReportRowTypeWizard.js +12 -13
  138. package/src/View/Export/Wizard/ReportSettingsWizard.js +1 -2
  139. package/src/View/Filter/FilterViewPanel.js +20 -4
  140. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  141. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -2
  142. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
  143. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +1 -1
  144. package/src/View/Layout/Wizard/{LayoutEditor → Components}/ColumnLabels.d.ts +0 -0
  145. package/src/View/Layout/Wizard/{LayoutEditor → Components}/ColumnLabels.js +0 -0
  146. package/src/View/Layout/Wizard/LayoutWizard.js +1 -0
  147. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +1 -0
  148. package/src/View/Layout/Wizard/sections/AggregationsSection.js +69 -8
  149. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  150. package/src/View/Query/QueryViewPanel.js +1 -1
  151. package/src/agGrid/Adaptable.d.ts +11 -3
  152. package/src/agGrid/Adaptable.js +224 -150
  153. package/src/agGrid/agGridHelper.d.ts +1 -0
  154. package/src/agGrid/agGridHelper.js +5 -3
  155. package/src/agGrid/agGridMenuHelper.d.ts +1 -0
  156. package/src/agGrid/agGridMenuHelper.js +4 -2
  157. package/src/agGrid/weightedAverage.d.ts +6 -0
  158. package/src/agGrid/weightedAverage.js +66 -0
  159. package/src/bundle-dependencies/bundles/react-toastify/index.js +1 -1
  160. package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -0
  161. package/src/components/ExpressionEditor/BaseEditorInput.js +2 -3
  162. package/src/components/ExpressionEditor/EditorInput.d.ts +1 -1
  163. package/src/components/ExpressionEditor/EditorInput.js +24 -4
  164. package/src/components/ExpressionEditor/{EditorInputReactive.d.ts → EditorInputWithWhereClause.d.ts} +3 -3
  165. package/src/components/ExpressionEditor/{EditorInputReactive.js → EditorInputWithWhereClause.js} +6 -5
  166. package/src/components/ExpressionEditor/editorButtonsAggregatedBoolean.d.ts +2 -0
  167. package/src/components/ExpressionEditor/{editorButtonsReactive.js → editorButtonsAggregatedBoolean.js} +22 -37
  168. package/src/components/ExpressionEditor/editorButtonsAggregatedScalar.js +5 -10
  169. package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.d.ts +2 -0
  170. package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.js +50 -0
  171. package/src/components/ExpressionEditor/editorButtonsObservable.d.ts +2 -0
  172. package/src/components/ExpressionEditor/editorButtonsObservable.js +40 -0
  173. package/src/components/ExpressionEditor/index.d.ts +1 -1
  174. package/src/components/ExpressionEditor/index.js +26 -5
  175. package/src/metamodel/adaptable.metamodel.d.ts +55 -1
  176. package/src/metamodel/adaptable.metamodel.js +1 -1
  177. package/src/types.d.ts +3 -3
  178. package/version.d.ts +1 -1
  179. package/version.js +1 -1
  180. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.d.ts +0 -2
  181. package/src/View/Layout/LayoutEditorStandalonePopup.d.ts +0 -3
  182. package/src/View/Layout/LayoutEditorStandalonePopup.js +0 -78
  183. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.d.ts +0 -27
  184. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +0 -86
  185. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.d.ts +0 -16
  186. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +0 -89
  187. package/src/View/Layout/Wizard/LayoutEditor/PivotList.d.ts +0 -15
  188. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +0 -70
  189. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.d.ts +0 -15
  190. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +0 -70
  191. package/src/View/Layout/Wizard/LayoutEditor/droppableIds.d.ts +0 -7
  192. package/src/View/Layout/Wizard/LayoutEditor/droppableIds.js +0 -11
  193. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.d.ts +0 -6
  194. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +0 -26
  195. package/src/View/Layout/Wizard/LayoutEditor/index.d.ts +0 -9
  196. package/src/View/Layout/Wizard/LayoutEditor/index.js +0 -367
  197. package/src/View/Layout/Wizard/LayoutEditor/reducer.d.ts +0 -28
  198. package/src/View/Layout/Wizard/LayoutEditor/reducer.js +0 -46
  199. package/src/View/Layout/Wizard/LayoutEditor/utils.d.ts +0 -10
  200. package/src/View/Layout/Wizard/LayoutEditor/utils.js +0 -14
  201. package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +0 -30
  202. package/src/View/Layout/Wizard/LayoutEditorWizard.js +0 -132
  203. package/src/components/ExpressionEditor/editorButtonsReactive.d.ts +0 -2
@@ -26,7 +26,7 @@ exports.PLUS_MINUS_RULE_DELETE = 'PLUS_MINUS_RULE_DELETE';
26
26
  */
27
27
  exports.PLUS_MINUS_RULE_SUSPEND = 'PLUS_MINUS_RULE_SUSPEND';
28
28
  /**
29
- * @ReduxAction A Plus Minus Rule has been un-suspended
29
+ * @ReduxAction A Plus Minus Rule has been unsuspended
30
30
  */
31
31
  exports.PLUS_MINUS_RULE_UNSUSPEND = 'PLUS_MINUS_RULE_UNSUSPEND';
32
32
  /**
@@ -11,7 +11,6 @@ export declare const POPUP_HIDE_SCREEN = "POPUP_HIDE_SCREEN";
11
11
  export declare const POPUP_SHOW_LOADING = "POPUP_SHOW_LOADING";
12
12
  export declare const POPUP_HIDE_LOADING = "POPUP_HIDE_LOADING";
13
13
  export declare const POPUP_SHOW_ALERT = "POPUP_SHOW_ALERT";
14
- export declare const POPUP_HIDE_ALERT = "POPUP_HIDE_ALERT";
15
14
  export declare const POPUP_SHOW_PROMPT = "POPUP_SHOW_PROMPT";
16
15
  export declare const POPUP_HIDE_PROMPT = "POPUP_HIDE_PROMPT";
17
16
  export declare const POPUP_CONFIRM_PROMPT = "POPUP_CONFIRM_PROMPT";
@@ -96,7 +95,6 @@ export declare const PopupShowForm: (config: {
96
95
  }) => PopupShowFormAction;
97
96
  export declare const PopupHideForm: (id: string) => PopupHideFormAction;
98
97
  export declare const PopupShowAlert: (alert: AdaptableAlert) => PopupShowAlertAction;
99
- export declare const PopupHideAlert: () => PopupHideAlertAction;
100
98
  export declare const PopupShowLoading: () => PopupShowLoadingAction;
101
99
  export declare const PopupHideLoading: () => PopupHideLoadingAction;
102
100
  export declare const PopupShowPrompt: (prompt: UIPrompt) => PopupShowPromptAction;
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PopupReducer = exports.PopupClearParam = exports.PopupCancelConfirmation = exports.PopupConfirmConfirmation = exports.PopupShowConfirmation = exports.PopupConfirmPrompt = exports.PopupHidePrompt = exports.PopupShowPrompt = exports.PopupHideLoading = exports.PopupShowLoading = exports.PopupHideAlert = exports.PopupShowAlert = exports.PopupHideForm = exports.PopupShowForm = exports.PopupHideWindow = exports.PopupShowWindow = exports.PopupHideScreen = exports.PopupShowScreen = exports.POPUP_HIDE_FORM = exports.POPUP_SHOW_FORM = exports.POPUP_HIDE_WINDOW = exports.POPUP_SHOW_WINDOW = exports.POPUP_CLEAR_PARAM = exports.POPUP_CANCEL_CONFIRMATION = exports.POPUP_CONFIRM_CONFIRMATION = exports.POPUP_SHOW_CONFIRMATION = exports.POPUP_CONFIRM_PROMPT = exports.POPUP_HIDE_PROMPT = exports.POPUP_SHOW_PROMPT = exports.POPUP_HIDE_ALERT = exports.POPUP_SHOW_ALERT = exports.POPUP_HIDE_LOADING = exports.POPUP_SHOW_LOADING = exports.POPUP_HIDE_SCREEN = exports.POPUP_SHOW_SCREEN = void 0;
3
+ exports.PopupReducer = exports.PopupClearParam = exports.PopupCancelConfirmation = exports.PopupConfirmConfirmation = exports.PopupShowConfirmation = exports.PopupConfirmPrompt = exports.PopupHidePrompt = exports.PopupShowPrompt = exports.PopupHideLoading = exports.PopupShowLoading = exports.PopupShowAlert = exports.PopupHideForm = exports.PopupShowForm = exports.PopupHideWindow = exports.PopupShowWindow = exports.PopupHideScreen = exports.PopupShowScreen = exports.POPUP_HIDE_FORM = exports.POPUP_SHOW_FORM = exports.POPUP_HIDE_WINDOW = exports.POPUP_SHOW_WINDOW = exports.POPUP_CLEAR_PARAM = exports.POPUP_CANCEL_CONFIRMATION = exports.POPUP_CONFIRM_CONFIRMATION = exports.POPUP_SHOW_CONFIRMATION = exports.POPUP_CONFIRM_PROMPT = exports.POPUP_HIDE_PROMPT = exports.POPUP_SHOW_PROMPT = exports.POPUP_SHOW_ALERT = exports.POPUP_HIDE_LOADING = exports.POPUP_SHOW_LOADING = exports.POPUP_HIDE_SCREEN = exports.POPUP_SHOW_SCREEN = void 0;
4
4
  exports.POPUP_SHOW_SCREEN = 'POPUP_SHOW_SCREEN';
5
5
  exports.POPUP_HIDE_SCREEN = 'POPUP_HIDE_SCREEN';
6
6
  exports.POPUP_SHOW_LOADING = 'POPUP_SHOW_LOADING';
7
7
  exports.POPUP_HIDE_LOADING = 'POPUP_HIDE_LOADING';
8
8
  exports.POPUP_SHOW_ALERT = 'POPUP_SHOW_ALERT';
9
- exports.POPUP_HIDE_ALERT = 'POPUP_HIDE_ALERT';
10
9
  exports.POPUP_SHOW_PROMPT = 'POPUP_SHOW_PROMPT';
11
10
  exports.POPUP_HIDE_PROMPT = 'POPUP_HIDE_PROMPT';
12
11
  exports.POPUP_CONFIRM_PROMPT = 'POPUP_CONFIRM_PROMPT';
@@ -63,10 +62,6 @@ const PopupShowAlert = (alert) => {
63
62
  };
64
63
  };
65
64
  exports.PopupShowAlert = PopupShowAlert;
66
- const PopupHideAlert = () => ({
67
- type: exports.POPUP_HIDE_ALERT,
68
- });
69
- exports.PopupHideAlert = PopupHideAlert;
70
65
  const PopupShowLoading = () => ({
71
66
  type: exports.POPUP_SHOW_LOADING,
72
67
  });
@@ -75,12 +70,6 @@ const PopupHideLoading = () => ({
75
70
  type: exports.POPUP_HIDE_LOADING,
76
71
  });
77
72
  exports.PopupHideLoading = PopupHideLoading;
78
- //export const PopupShowGridInfo = (): PopupShowGridInfoAction => ({
79
- // type: POPUP_SHOW_GRID_INFO,
80
- //});
81
- //export const PopupHideGridInfo = (): PopupHideGridInfoAction => ({
82
- // type: POPUP_HIDE_GRID_INFO,
83
- //});
84
73
  const PopupShowPrompt = (prompt) => ({
85
74
  type: exports.POPUP_SHOW_PROMPT,
86
75
  prompt: prompt,
@@ -123,9 +112,6 @@ const initialState = {
123
112
  LoadingPopup: {
124
113
  ShowLoadingPopup: true,
125
114
  },
126
- AlertPopup: {
127
- Alert: null,
128
- },
129
115
  ConfirmationPopup: {
130
116
  ShowConfirmationPopup: false,
131
117
  Msg: '',
@@ -261,19 +247,6 @@ const PopupReducer = (state = initialState, action) => {
261
247
  ConfirmationPopup: newConfirmationPopup,
262
248
  });
263
249
  }
264
- case exports.POPUP_SHOW_ALERT: {
265
- let showAlertAction = action;
266
- let newAlertPopup = {
267
- Alert: showAlertAction.alert,
268
- };
269
- return Object.assign({}, state, { AlertPopup: newAlertPopup });
270
- }
271
- case exports.POPUP_HIDE_ALERT: {
272
- let newAlertPopup = {
273
- Alert: null,
274
- };
275
- return Object.assign({}, state, { AlertPopup: newAlertPopup });
276
- }
277
250
  case exports.POPUP_SHOW_LOADING: {
278
251
  let newLoadingPopup = { ShowLoadingPopup: true };
279
252
  return Object.assign({}, state, { LoadingPopup: newLoadingPopup });
@@ -27,7 +27,7 @@ export declare const REPORT_SCHEDULE_DELETE = "REPORT_SCHEDULE_DELETE";
27
27
  */
28
28
  export declare const REPORT_SCHEDULE_SUSPEND = "REPORT_SCHEDULE_SUSPEND";
29
29
  /**
30
- * @ReduxAction A Report Schedule has been un-suspended or activated
30
+ * @ReduxAction A Report Schedule has been unsuspended or activated
31
31
  */
32
32
  export declare const REPORT_SCHEDULE_UNSUSPEND = "REPORT_SCHEDULE_UNSUSPEND";
33
33
  /**
@@ -47,7 +47,7 @@ export declare const REMINDER_SCHEDULE_DELETE = "REMINDER_SCHEDULE_DELETE";
47
47
  */
48
48
  export declare const REMINDER_SCHEDULE_SUSPEND = "REMINDER_SCHEDULE_SUSPEND";
49
49
  /**
50
- * @ReduxAction A Reminder Schedule has been un-suspended or activated
50
+ * @ReduxAction A Reminder Schedule has been unsuspended or activated
51
51
  */
52
52
  export declare const REMINDER_SCHEDULE_UNSUSPEND = "REMINDER_SCHEDULE_UNSUSPEND";
53
53
  /**
@@ -67,7 +67,7 @@ export declare const IPUSHPULL_SCHEDULE_DELETE = "IPUSHPULL_SCHEDULE_DELETE";
67
67
  */
68
68
  export declare const IPUSHPULL_SCHEDULE_SUSPEND = "IPUSHPULL_SCHEDULE_SUSPEND";
69
69
  /**
70
- * @ReduxAction An ipushpull Schedule has been un-suspended or activated
70
+ * @ReduxAction An ipushpull Schedule has been unsuspended or activated
71
71
  */
72
72
  export declare const IPUSHPULL_SCHEDULE_UNSUSPEND = "IPUSHPULL_SCHEDULE_UNSUSPEND";
73
73
  /**
@@ -87,7 +87,7 @@ export declare const GLUE42_SCHEDULE_DELETE = "GLUE42_SCHEDULE_DELETE";
87
87
  */
88
88
  export declare const GLUE42_SCHEDULE_SUSPEND = "GLUE42_SCHEDULE_SUSPEND";
89
89
  /**
90
- * @ReduxAction A Glue42 Schedule has been un-suspended or activated
90
+ * @ReduxAction A Glue42 Schedule has been unsuspended or activated
91
91
  */
92
92
  export declare const GLUE42_SCHEDULE_UNSUSPEND = "GLUE42_SCHEDULE_UNSUSPEND";
93
93
  /**
@@ -107,7 +107,7 @@ export declare const OPENFIN_SCHEDULE_DELETE = "OPENFIN_SCHEDULE_DELETE";
107
107
  */
108
108
  export declare const OPENFIN_SCHEDULE_SUSPEND = "OPENFIN_SCHEDULE_SUSPEND";
109
109
  /**
110
- * @ReduxAction An OpenFin Schedule has been un-suspended or activated
110
+ * @ReduxAction An OpenFin Schedule has been unsuspended or activated
111
111
  */
112
112
  export declare const OPENFIN_SCHEDULE_UNSUSPEND = "OPENFIN_SCHEDULE_UNSUSPEND";
113
113
  /**
@@ -27,7 +27,7 @@ exports.REPORT_SCHEDULE_DELETE = 'REPORT_SCHEDULE_DELETE';
27
27
  */
28
28
  exports.REPORT_SCHEDULE_SUSPEND = 'REPORT_SCHEDULE_SUSPEND';
29
29
  /**
30
- * @ReduxAction A Report Schedule has been un-suspended or activated
30
+ * @ReduxAction A Report Schedule has been unsuspended or activated
31
31
  */
32
32
  exports.REPORT_SCHEDULE_UNSUSPEND = 'REPORT_SCHEDULE_UNSUSPEND';
33
33
  /**
@@ -47,7 +47,7 @@ exports.REMINDER_SCHEDULE_DELETE = 'REMINDER_SCHEDULE_DELETE';
47
47
  */
48
48
  exports.REMINDER_SCHEDULE_SUSPEND = 'REMINDER_SCHEDULE_SUSPEND';
49
49
  /**
50
- * @ReduxAction A Reminder Schedule has been un-suspended or activated
50
+ * @ReduxAction A Reminder Schedule has been unsuspended or activated
51
51
  */
52
52
  exports.REMINDER_SCHEDULE_UNSUSPEND = 'REMINDER_SCHEDULE_UNSUSPEND';
53
53
  /**
@@ -67,7 +67,7 @@ exports.IPUSHPULL_SCHEDULE_DELETE = 'IPUSHPULL_SCHEDULE_DELETE';
67
67
  */
68
68
  exports.IPUSHPULL_SCHEDULE_SUSPEND = 'IPUSHPULL_SCHEDULE_SUSPEND';
69
69
  /**
70
- * @ReduxAction An ipushpull Schedule has been un-suspended or activated
70
+ * @ReduxAction An ipushpull Schedule has been unsuspended or activated
71
71
  */
72
72
  exports.IPUSHPULL_SCHEDULE_UNSUSPEND = 'IPUSHPULL_SCHEDULE_UNSUSPEND';
73
73
  /**
@@ -87,7 +87,7 @@ exports.GLUE42_SCHEDULE_DELETE = 'GLUE42_SCHEDULE_DELETE';
87
87
  */
88
88
  exports.GLUE42_SCHEDULE_SUSPEND = 'GLUE42_SCHEDULE_SUSPEND';
89
89
  /**
90
- * @ReduxAction A Glue42 Schedule has been un-suspended or activated
90
+ * @ReduxAction A Glue42 Schedule has been unsuspended or activated
91
91
  */
92
92
  exports.GLUE42_SCHEDULE_UNSUSPEND = 'GLUE42_SCHEDULE_UNSUSPEND';
93
93
  /**
@@ -107,7 +107,7 @@ exports.OPENFIN_SCHEDULE_DELETE = 'OPENFIN_SCHEDULE_DELETE';
107
107
  */
108
108
  exports.OPENFIN_SCHEDULE_SUSPEND = 'OPENFIN_SCHEDULE_SUSPEND';
109
109
  /**
110
- * @ReduxAction An OpenFin Schedule has been un-suspended or activated
110
+ * @ReduxAction An OpenFin Schedule has been unsuspended or activated
111
111
  */
112
112
  exports.OPENFIN_SCHEDULE_UNSUSPEND = 'OPENFIN_SCHEDULE_UNSUSPEND';
113
113
  /**
@@ -17,7 +17,7 @@ export declare const SHORTCUT_DELETE = "SHORTCUT_DELETE";
17
17
  */
18
18
  export declare const SHORTCUT_SUSPEND = "SHORTCUT_SUSPEND";
19
19
  /**
20
- * @ReduxAction A Shortcut has been un-suspended or activated
20
+ * @ReduxAction A Shortcut has been unsuspended or activated
21
21
  */
22
22
  export declare const SHORTCUT_UNSUSPEND = "SHORTCUT_UNSUSPEND";
23
23
  /**
@@ -22,7 +22,7 @@ exports.SHORTCUT_DELETE = 'SHORTCUT_DELETE';
22
22
  */
23
23
  exports.SHORTCUT_SUSPEND = 'SHORTCUT_SUSPEND';
24
24
  /**
25
- * @ReduxAction A Shortcut has been un-suspended or activated
25
+ * @ReduxAction A Shortcut has been unsuspended or activated
26
26
  */
27
27
  exports.SHORTCUT_UNSUSPEND = 'SHORTCUT_UNSUSPEND';
28
28
  /**
@@ -112,7 +112,6 @@ export interface SystemFlashingCellDeleteAction extends Redux.Action {
112
112
  flashingCell: AdaptableFlashingCell;
113
113
  }
114
114
  export interface SystemFlashingCellDeleteAllAction extends Redux.Action {
115
- flashingCells: AdaptableFlashingCell[];
116
115
  }
117
116
  export interface SystemStatusMessageInfoAddAction extends Redux.Action {
118
117
  systemStatusMessageInfo: SystemStatusMessageInfo;
@@ -241,7 +240,7 @@ export declare const SystemAlertRemoveCellHighlight: (alert: AdaptableAlert) =>
241
240
  export declare const SystemAlertRemoveRowHighlight: (alert: AdaptableAlert) => SystemAlertRemoveRowHighlightAction;
242
241
  export declare const SystemFlashingCellAdd: (flashingCell: AdaptableFlashingCell) => SystemFlashingCellAddAction;
243
242
  export declare const SystemFlashingCellDelete: (flashingCell: AdaptableFlashingCell) => SystemFlashingCellDeleteAction;
244
- export declare const SystemFlashingCellDeleteAll: (flashingCells: AdaptableFlashingCell[]) => SystemFlashingCellDeleteAllAction;
243
+ export declare const SystemFlashingCellDeleteAll: () => SystemFlashingCellDeleteAllAction;
245
244
  export declare const SystemStatusMessageInfoAdd: (SystemStatusMessageInfo: SystemStatusMessageInfo, MaxSystemStatusMessagesInStore: number) => SystemStatusMessageInfoAddAction;
246
245
  export declare const SystemStatusMessageInfoDelete: (SystemStatusMessageInfo: SystemStatusMessageInfo) => SystemStatusMessageInfoDeleteAction;
247
246
  export declare const SystemStatusMessageInfoDeleteAll: () => SystemStatusMessageInfoDeleteAllAction;
@@ -154,9 +154,8 @@ const SystemFlashingCellDelete = (flashingCell) => ({
154
154
  flashingCell: flashingCell,
155
155
  });
156
156
  exports.SystemFlashingCellDelete = SystemFlashingCellDelete;
157
- const SystemFlashingCellDeleteAll = (flashingCells) => ({
157
+ const SystemFlashingCellDeleteAll = () => ({
158
158
  type: exports.SYSTEM_FLASHING_CELL_DELETE_ALL,
159
- flashingCells: flashingCells,
160
159
  });
161
160
  exports.SystemFlashingCellDeleteAll = SystemFlashingCellDeleteAll;
162
161
  const SystemStatusMessageInfoAdd = (SystemStatusMessageInfo, MaxSystemStatusMessagesInStore) => ({
@@ -354,6 +354,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
354
354
  }
355
355
  return ret;
356
356
  }
357
+ case SystemRedux.SYSTEM_FLASHING_CELL_DELETE_ALL: {
358
+ let ret = next(action);
359
+ adaptable.redrawRenderedRows();
360
+ return ret;
361
+ }
357
362
  /*******************
358
363
  * ALERT ACTIONS
359
364
  *******************/
@@ -570,7 +575,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
570
575
  aggregatedCalculatedColumns.forEach((calculatedColumn) => {
571
576
  adaptable.api.internalApi
572
577
  .getCalculatedColumnExpressionService()
573
- .createAggregatedScalarCalculatedColumn(calculatedColumn);
578
+ .createAggregatedScalarLiveValue(calculatedColumn);
574
579
  });
575
580
  // refresh calculated columns
576
581
  const aggCalculatedColumnIds = aggregatedCalculatedColumns.map((calculatedColumn) => calculatedColumn.ColumnId);
@@ -591,7 +596,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
591
596
  returnAction.type === CalculatedColumnRedux.CALCULATED_COLUMN_EDIT) {
592
597
  adaptable.api.internalApi
593
598
  .getCalculatedColumnExpressionService()
594
- .createAggregatedScalarCalculatedColumn(returnAction.calculatedColumn);
599
+ .createAggregatedScalarLiveValue(returnAction.calculatedColumn);
595
600
  }
596
601
  adaptable.updateColDefsForSpecialColumns();
597
602
  return returnAction;
@@ -616,7 +621,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
616
621
  const returnAction = next(actionTyped);
617
622
  adaptable.api.internalApi
618
623
  .getCalculatedColumnExpressionService()
619
- .destroyAggregatedScalarCalculatedColumn(returnAction.calculatedColumn);
624
+ .destroyAggregatedScalarLiveValue(returnAction.calculatedColumn);
620
625
  adaptable.updateColDefsForSpecialColumns();
621
626
  return returnAction;
622
627
  }
@@ -716,7 +721,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
716
721
  case LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT:
717
722
  case LayoutRedux.LAYOUT_COLUMN_FILTER_SET:
718
723
  case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR:
719
- case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL: {
724
+ case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL:
725
+ case LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND:
726
+ case LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND_ALL:
727
+ case LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND:
728
+ case LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND_ALL: {
720
729
  let returnAction;
721
730
  // needs to be called before 'next' so previous and next column filters are known
722
731
  const shouldTriggerGridFiltering = adaptable.api.filterApi.shouldNewColumnFilterTriggerGridFiltering(action);
@@ -863,6 +872,8 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
863
872
  case LayoutRedux.LAYOUT_SET_COLUMN_CAPTION:
864
873
  case LayoutRedux.LAYOUT_SELECT: {
865
874
  const oldLayoutState = middlewareAPI.getState().Layout;
875
+ // this must be called before 'next(action)'
876
+ const previousLayout = adaptable.api.layoutApi.getCurrentLayout();
866
877
  let returnAction = next(action);
867
878
  const newLayoutState = middlewareAPI.getState().Layout;
868
879
  adaptable.api.layoutApi.fireLayoutChangedEvent(action.type, oldLayoutState, newLayoutState);
@@ -901,9 +912,12 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
901
912
  }
902
913
  // when changing current layout via the api, the layout should update
903
914
  if (returnAction.type == LayoutRedux.LAYOUT_SAVE) {
904
- const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
905
915
  const savingLayout = returnAction.layout;
906
- if (currentLayout.Name === savingLayout.Name) {
916
+ if (previousLayout.Name === savingLayout.Name &&
917
+ previousLayout !== savingLayout &&
918
+ // objects may have changed, but have the same contents
919
+ // this prevents pivot layout from infinite set-layout
920
+ !adaptable.api.layoutApi.areLayoutsEqual(previousLayout, savingLayout)) {
907
921
  adaptable.setLayout(savingLayout);
908
922
  }
909
923
  }
@@ -22,6 +22,7 @@ export declare class AlertModule extends AdaptableModuleBase implements IModule
22
22
  private getAlertDefinitionsForCellDataChange;
23
23
  private getAlertDefinitionsForGridDataChange;
24
24
  private getBaseAlertDefinitionsForDataChange;
25
+ private isAggregationAlertTriggered;
25
26
  private isAlertPredicateTriggered;
26
27
  private isAlertDefinitionForRowChangeEvent;
27
28
  getTeamSharingAction(): TeamSharingImportInfo<AlertDefinition>;
@@ -18,6 +18,7 @@ const AlertEmptyView_1 = require("../View/Alert/AlertEmptyView");
18
18
  const AlertStatusSubPanel_1 = require("../View/Alert/AlertStatusSubPanel");
19
19
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
20
20
  const ActiveAlertsPanelItemLabel_1 = require("../View/Alert/ActiveAlertsPanelItemLabel");
21
+ const ModuleConstants_1 = require("../Utilities/Constants/ModuleConstants");
21
22
  class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
22
23
  constructor(api) {
23
24
  super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
@@ -215,6 +216,14 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
215
216
  triggeredAlerts.push(alertDefinition);
216
217
  }
217
218
  }
219
+ else if (alertDefinition.Rule.AggregatedBooleanExpression) {
220
+ const isValidExpression = this.api.queryLanguageApi.isValidAggregatedBooleanExpression(alertDefinition.Rule.AggregatedBooleanExpression, this.moduleInfo.ModuleName, `Invalid Alert boolean expression '${alertDefinition.Rule.AggregatedBooleanExpression}'`);
221
+ const isSatisfiedExpression = isValidExpression &&
222
+ this.isAggregationAlertTriggered(alertDefinition, dataChangedEvent);
223
+ if (isSatisfiedExpression) {
224
+ triggeredAlerts.push(alertDefinition);
225
+ }
226
+ }
218
227
  else {
219
228
  if (!this.isAlertDefinitionForRowChangeEvent(alertDefinition) &&
220
229
  this.isAlertPredicateTriggered(alertDefinition, dataChangedEvent, defaultNoPredicateReturn)) {
@@ -225,6 +234,17 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
225
234
  }
226
235
  return triggeredAlerts;
227
236
  }
237
+ isAggregationAlertTriggered(alertDefinition, dataChangedEvent) {
238
+ const changedColumn = dataChangedEvent.column.columnId;
239
+ const aggregationColumns = this.api.queryLanguageApi.getColumnsFromExpression(alertDefinition.Rule.AggregatedBooleanExpression);
240
+ if (!aggregationColumns.includes(changedColumn)) {
241
+ return false;
242
+ }
243
+ const aggregatedBooleanValue = this.api.internalApi
244
+ .getQueryLanguageService()
245
+ .computeAggregatedBooleanValue(alertDefinition.Rule.AggregatedBooleanExpression, ModuleConstants_1.AlertModuleId);
246
+ return aggregatedBooleanValue;
247
+ }
228
248
  isAlertPredicateTriggered(alert, dataChangedEvent, defaultNoPredicateReturn = false) {
229
249
  return this.api.predicateApi.handlePredicate(alert.Rule.Predicate, {
230
250
  value: dataChangedEvent.newValue,
@@ -8,9 +8,9 @@ const CalculatedColumnRedux = tslib_1.__importStar(require("../Redux/ActionsRedu
8
8
  const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
9
9
  const getExpressionViewItems_1 = require("./Utilities/getExpressionViewItems");
10
10
  const CalculatedColumnWizard_1 = require("../View/CalculatedColumn/Wizard/CalculatedColumnWizard");
11
- const getCalculatedColumnSettingTags_1 = require("../View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags");
12
11
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
13
12
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
13
+ const getCalculatedColumnSettingsTags_1 = require("../View/CalculatedColumn/Utilities/getCalculatedColumnSettingsTags");
14
14
  class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
15
15
  constructor(api) {
16
16
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'calculated-column', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
@@ -69,7 +69,7 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
69
69
  };
70
70
  }
71
71
  toView(calculateColumn) {
72
- const settingsTags = getCalculatedColumnSettingTags_1.getCalculatedColumnSettingTags(calculateColumn.CalculatedColumnSettings);
72
+ const settingsTags = getCalculatedColumnSettingsTags_1.getCalculatedColumnSettingsTags(calculateColumn.CalculatedColumnSettings);
73
73
  let items = [
74
74
  {
75
75
  name: 'Settings',
@@ -12,7 +12,6 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
12
12
  getModuleAdaptableObjects(): AdaptableObject[];
13
13
  getExplicitlyReferencedColumnIds(report: Report): string[];
14
14
  getReferencedNamedQueryNames(report: Report): string[];
15
- updateOldConfig(): void;
16
15
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
17
16
  export(report: Report, exportDestination: ExportDestination | string): void;
18
17
  private isCustomDestination;
@@ -9,7 +9,6 @@ const Helper_1 = require("../Utilities/Helpers/Helper");
9
9
  const ExportRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/ExportRedux"));
10
10
  const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
11
11
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
12
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
13
12
  const StringExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/StringExtensions"));
14
13
  const PopupRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/PopupRedux"));
15
14
  const ObjectFactory_1 = require("../Utilities/ObjectFactory");
@@ -41,21 +40,6 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
41
40
  }
42
41
  return this.api.queryApi.getReferencedNamedQueryNames(report.Query.BooleanExpression);
43
42
  }
44
- updateOldConfig() {
45
- let reportsToEdit = [];
46
- this.api.exportApi.getAllReports().forEach((report) => {
47
- if (!report.Query && report.Expression) {
48
- report.Query = {
49
- BooleanExpression: report.Expression,
50
- };
51
- LoggingHelper_1.LogAdaptableWarning(`Updating incorrect Predefined Config for Report: ${report.Name}`);
52
- report.Expression = undefined;
53
- LoggingHelper_1.LogAdaptableInfo('Updating Report: ' + report.Name + ' to use existing Expression');
54
- reportsToEdit.push(report);
55
- }
56
- });
57
- this.api.exportApi.editReports(reportsToEdit);
58
- }
59
43
  addContextMenuItems(menuContext) {
60
44
  const canExport = !menuContext.isRowGroupColumn &&
61
45
  this.isModuleAvailable() &&
@@ -111,6 +111,12 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
111
111
  getViewProperties() {
112
112
  const api = this.api;
113
113
  return {
114
+ getSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterSuspend(columnFilter),
115
+ getUnSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterUnSuspend(columnFilter),
116
+ getCompactSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterSuspend(columnFilter),
117
+ getCompactUnSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterUnSuspend(columnFilter),
118
+ getSuspendAllAction: () => LayoutRedux.LayoutColumnFilterSuspendAll(),
119
+ getUnSuspendAllAction: () => LayoutRedux.LayoutColumnFilterUnSuspendAll(),
114
120
  getDeleteAction: LayoutRedux.LayoutColumnFilterClear,
115
121
  getCompactDeleteAction: LayoutRedux.LayoutColumnFilterClear,
116
122
  getDeleteAllAction: LayoutRedux.LayoutColumnFilterClearAll,
@@ -95,10 +95,10 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
95
95
  const flashingCellForRow = this.api.internalApi.getAdaptableFlashingCellFor(menuContext.primaryKeyValue);
96
96
  const flashingCellForCell = this.api.internalApi.getAdaptableFlashingCellFor(menuContext.primaryKeyValue, menuContext.adaptableColumn.columnId);
97
97
  if (flashingCellForRow && flashingCellForRow.flashTarget === 'row') {
98
- items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell for Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
98
+ items.push(this.createColumnMenuItemReduxAction('Clear Flashing Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
99
99
  }
100
100
  else if (flashingCellForCell && flashingCellForCell.flashTarget === 'cell') {
101
- items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell for Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
101
+ items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
102
102
  }
103
103
  }
104
104
  }
@@ -93,6 +93,10 @@ export interface AdaptableModuleView {
93
93
  getCompactDeleteAction?: (abObject: AdaptableObject) => Redux.Action;
94
94
  getSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
95
95
  getUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
96
+ getCompactSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
97
+ getCompactUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
98
+ getSuspendAllAction?: () => Redux.Action;
99
+ getUnSuspendAllAction?: () => Redux.Action;
96
100
  getDeleteAllAction?: () => Redux.Action;
97
101
  emptyView?: React.FunctionComponent<{
98
102
  module: IModule;
@@ -14,6 +14,7 @@ const SaveLayoutButton_1 = require("../View/Layout/SaveLayoutButton");
14
14
  const LayoutWizard_1 = require("../View/Layout/Wizard/LayoutWizard");
15
15
  const getLayoutFilterViewItems_1 = require("./Utilities/Layout/getLayoutFilterViewItems");
16
16
  const getLayoutSortViewItems_1 = require("./Utilities/Layout/getLayoutSortViewItems");
17
+ const AggregationColumns_1 = require("../PredefinedConfig/Common/AggregationColumns");
17
18
  class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
18
19
  constructor(api) {
19
20
  super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'layout', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
@@ -26,26 +27,6 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
26
27
  }
27
28
  });
28
29
  }
29
- /*
30
- // commenting this out as it doesnt make sense we dont know which filters should be applied to which layout
31
- // for this we will jsut say they need to reapply them
32
- updateOldConfig() {
33
- // @ts-ignore ignore reading deprecated state
34
- const oldColumnFilters = this.api.filterApi.getFilterState().ColumnFilters;
35
- if (ArrayExtensions.IsNotNullOrEmpty(oldColumnFilters)) {
36
- ConsoleLogWarning(
37
- `DEPRECATED: The 'Filter.ColumnFilters' property is deprecated; use 'Layout.ColumnFilters' instead'!`
38
- );
39
-
40
- this.api.internalApi.clearColumnFilterState();
41
- const currentLayout = this.api.layoutApi.getCurrentLayout();
42
-
43
- if (ArrayExtensions.IsNullOrEmpty(currentLayout.ColumnFilters)) {
44
- this.api.layoutApi.setColumnFilter(oldColumnFilters);
45
- }
46
- }
47
- }
48
- */
49
30
  getModuleAdaptableObjects() {
50
31
  return this.api.layoutApi.getAllLayout();
51
32
  }
@@ -264,6 +245,25 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
264
245
  name: 'Pivot Columns',
265
246
  values: layout.PivotColumns.map((colId) => columnIdToFriendlyName(colId)),
266
247
  },
248
+ (layout === null || layout === void 0 ? void 0 : layout.AggregationColumns) &&
249
+ Object.keys(layout === null || layout === void 0 ? void 0 : layout.AggregationColumns).length && {
250
+ name: 'Aggregation Columns',
251
+ values: Object.entries(layout === null || layout === void 0 ? void 0 : layout.AggregationColumns)
252
+ .map(([colId, aggFn]) => {
253
+ if (colId === 'Source' || colId === 'Uuid') {
254
+ return '';
255
+ }
256
+ let aggFnName = '';
257
+ if (typeof aggFn === 'string') {
258
+ aggFnName = aggFn;
259
+ }
260
+ else if (typeof aggFn === 'object' && aggFn.type === 'weightedAverage') {
261
+ aggFnName = AggregationColumns_1.WEIGHTED_AVERAGE_AGG_FN_NAME;
262
+ }
263
+ return `${aggFnName}(${columnIdToFriendlyName(colId)})`;
264
+ })
265
+ .filter(Boolean),
266
+ },
267
267
  ].filter(Boolean),
268
268
  abObject: layout,
269
269
  };
@@ -6,6 +6,21 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const rebass_1 = require("rebass");
7
7
  const FormatColumnStyleWizardSection_1 = require("../../../View/FormatColumn/Wizard/FormatColumnStyleWizardSection");
8
8
  const getFormatColumnStyleViewItems = (formatColumn, api) => {
9
- return React.createElement(rebass_1.Box, { mt: 2 }, FormatColumnStyleWizardSection_1.renderFormatColumnStyleSummary(formatColumn, api));
9
+ var _a, _b;
10
+ let styleType = '';
11
+ if ((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.ColumnStyle) === null || _a === void 0 ? void 0 : _a.GradientStyle) {
12
+ styleType = 'Gradient';
13
+ }
14
+ else if ((_b = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.ColumnStyle) === null || _b === void 0 ? void 0 : _b.PercentBarStyle) {
15
+ styleType = 'Percent Bar';
16
+ }
17
+ else {
18
+ styleType = 'Standard';
19
+ }
20
+ return (React.createElement(rebass_1.Box, { mt: 2 },
21
+ React.createElement(rebass_1.Box, { mb: 1 },
22
+ "Type: ",
23
+ styleType),
24
+ FormatColumnStyleWizardSection_1.renderFormatColumnStyleSummary(formatColumn, api)));
10
25
  };
11
26
  exports.getFormatColumnStyleViewItems = getFormatColumnStyleViewItems;
@@ -8,17 +8,21 @@ const getLayoutFilterViewItems = (layout, api) => {
8
8
  };
9
9
  return {
10
10
  name: 'Filter',
11
- values: ((_a = layout.ColumnFilters) !== null && _a !== void 0 ? _a : []).map((customFilter) => `[${columnIdToFriendlyName(customFilter.ColumnId)}: ${customFilter.Predicate.PredicateId} ${customFilter.Predicate.Inputs.map((input) => {
12
- if (typeof input === 'string') {
13
- return input;
14
- }
15
- if (typeof (input === null || input === void 0 ? void 0 : input.toString) === 'function') {
16
- return input.toString();
17
- }
18
- return '';
19
- })
20
- .filter(Boolean)
21
- .join(', ')}]`),
11
+ values: ((_a = layout.ColumnFilters) !== null && _a !== void 0 ? _a : []).map((customFilter) => {
12
+ var _a, _b;
13
+ return `[${columnIdToFriendlyName(customFilter.ColumnId)}: ${customFilter.Predicate.PredicateId} ${((_b = (_a = customFilter.Predicate) === null || _a === void 0 ? void 0 : _a.Inputs) !== null && _b !== void 0 ? _b : [])
14
+ .map((input) => {
15
+ if (typeof input === 'string') {
16
+ return input;
17
+ }
18
+ if (typeof (input === null || input === void 0 ? void 0 : input.toString) === 'function') {
19
+ return input.toString();
20
+ }
21
+ return '';
22
+ })
23
+ .filter(Boolean)
24
+ .join(', ')}]`;
25
+ }),
22
26
  };
23
27
  };
24
28
  exports.getLayoutFilterViewItems = getLayoutFilterViewItems;
@@ -5,6 +5,7 @@ export declare const ScalarQueryDocsLink: string;
5
5
  export declare const ObservableQueryDocsLink: string;
6
6
  export declare const AggregatedBooleanQueryDocsLink: string;
7
7
  export declare const AggregatedScalarQueryDocsLink: string;
8
+ export declare const CumulativeAggregatedScalarQueryDocsLink: string;
8
9
  export declare const PredicateDocsLink: string;
9
10
  export declare const PrimaryKeyDocsLink: string;
10
11
  export declare const LicenseDocsLink: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
3
+ exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.CumulativeAggregatedScalarQueryDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
4
4
  exports.HOST_URL_DOCS = 'https://docs.adaptabletools.com';
5
5
  //export const HOST_URL_DOCS = 'http://localhost:3000';
6
6
  exports.ExpressionEditorDocsLink = `${exports.HOST_URL_DOCS}/guide/ui-expression-editor`;
@@ -9,6 +9,7 @@ exports.ScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expre
9
9
  exports.ObservableQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-observable`;
10
10
  exports.AggregatedBooleanQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-boolean`;
11
11
  exports.AggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-scalar`;
12
+ exports.CumulativeAggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-scalar#cumulative-aggregation`;
12
13
  exports.PredicateDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-predicate`;
13
14
  exports.PrimaryKeyDocsLink = `${exports.HOST_URL_DOCS}/guide/dev-guide-tutorial-primary-key`;
14
15
  exports.LicenseDocsLink = `${exports.HOST_URL_DOCS}/guide/licensing`;
@@ -206,6 +206,8 @@ exports.DefaultAdaptableOptions = {
206
206
  systemFilters: AdaptablePredicate_1.SystemFilterPredicateIds,
207
207
  showQuickFilter: true,
208
208
  showDistinctFilteredValuesOnly: false,
209
+ showClearFilterButton: false,
210
+ showSuspendFilterButton: false,
209
211
  },
210
212
  searchOptions: {
211
213
  excludeColumnFromQuickSearch: undefined,