@adaptabletools/adaptable-cjs 18.0.0-canary.27 → 18.0.0-canary.29

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 (82) hide show
  1. package/base.css +3 -13
  2. package/base.css.map +1 -1
  3. package/index.css +3 -13
  4. package/index.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  7. package/src/AdaptableOptions/MenuOptions.d.ts +3 -3
  8. package/src/Api/GridApi.d.ts +4 -1
  9. package/src/Api/Implementation/ColumnApiImpl.js +6 -6
  10. package/src/Api/Implementation/ConfigApiImpl.js +0 -1
  11. package/src/Api/Implementation/ExpressionApiImpl.js +12 -12
  12. package/src/Api/Implementation/GridApiImpl.d.ts +1 -1
  13. package/src/Api/Implementation/GridApiImpl.js +8 -3
  14. package/src/Api/Implementation/ScopeApiImpl.js +4 -4
  15. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -5
  16. package/src/Api/Implementation/UserInterfaceApiImpl.js +26 -4
  17. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
  18. package/src/Api/Internal/AdaptableInternalApi.js +2 -6
  19. package/src/Api/Internal/ColumnFilterInternalApi.js +2 -2
  20. package/src/Api/Internal/DashboardInternalApi.js +2 -2
  21. package/src/Api/Internal/FormatColumnInternalApi.js +11 -5
  22. package/src/Api/Internal/GridFilterInternalApi.d.ts +2 -2
  23. package/src/Api/Internal/GridFilterInternalApi.js +2 -2
  24. package/src/Api/Internal/LayoutInternalApi.js +1 -1
  25. package/src/Api/UserInterfaceApi.d.ts +15 -2
  26. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  27. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  28. package/src/PredefinedConfig/Common/Menu.d.ts +4 -4
  29. package/src/PredefinedConfig/Common/Menu.js +30 -17
  30. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +3 -3
  31. package/src/PredefinedConfig/FormatColumnState.d.ts +4 -0
  32. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  33. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -0
  34. package/src/PredefinedConfig/SystemState.d.ts +4 -2
  35. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  36. package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
  37. package/src/Redux/ActionsReducers/SystemRedux.d.ts +9 -3
  38. package/src/Redux/ActionsReducers/SystemRedux.js +8 -5
  39. package/src/Strategy/ColumnFilterModule.js +1 -1
  40. package/src/Strategy/ColumnInfoModule.js +2 -2
  41. package/src/Strategy/ExportModule.d.ts +0 -1
  42. package/src/Strategy/ExportModule.js +37 -26
  43. package/src/Strategy/GridInfoModule.js +1 -1
  44. package/src/Strategy/LayoutModule.d.ts +1 -8
  45. package/src/Strategy/LayoutModule.js +11 -121
  46. package/src/Strategy/StyledColumnModule.js +14 -10
  47. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +1 -0
  48. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +4 -2
  49. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  50. package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
  51. package/src/Utilities/Services/RowSummaryService.js +146 -0
  52. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  53. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -2
  54. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  55. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +14 -10
  56. package/src/agGrid/AdaptableAgGrid.js +2 -1
  57. package/src/agGrid/AgGridColumnAdapter.js +19 -13
  58. package/src/agGrid/AgGridMenuAdapter.d.ts +6 -0
  59. package/src/agGrid/AgGridMenuAdapter.js +240 -106
  60. package/src/agGrid/BadgeRenderer.js +7 -1
  61. package/src/agGrid/PercentBarRenderer.js +3 -1
  62. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  63. package/src/components/icons/copy.d.ts +3 -0
  64. package/src/components/icons/copy.js +7 -0
  65. package/src/components/icons/filter-off.d.ts +3 -0
  66. package/src/components/icons/filter-off.js +7 -0
  67. package/src/components/icons/grid-info.d.ts +3 -0
  68. package/src/components/icons/grid-info.js +7 -0
  69. package/src/components/icons/index.js +12 -0
  70. package/src/components/icons/select-all.d.ts +3 -0
  71. package/src/components/icons/select-all.js +7 -0
  72. package/src/components/icons/select-fwd.d.ts +3 -0
  73. package/src/components/icons/select-fwd.js +7 -0
  74. package/src/components/icons/select-off.d.ts +3 -0
  75. package/src/components/icons/select-off.js +7 -0
  76. package/src/env.js +2 -2
  77. package/src/metamodel/adaptable.metamodel.js +1 -1
  78. package/src/parser/src/parser.js +1218 -55
  79. package/src/parser/src/predicate/mapQlPredicateToExpression.js +1 -3
  80. package/src/parser/src/types.js +1 -2
  81. package/src/types.d.ts +1 -1
  82. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -7,10 +7,11 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = exports.ADAPTABLE_COLUMN_MENU_ITEMS = voi
7
7
  exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
8
8
  'calculated-column-edit',
9
9
  'cell-summary-show',
10
+ 'column-group',
11
+ 'column-filter-group',
10
12
  'column-filter-bar-hide',
11
13
  'column-filter-bar-show',
12
14
  'column-filter-clear',
13
- 'column-filter-on-cell-value',
14
15
  'column-filter-suspend',
15
16
  'column-filter-unsuspend',
16
17
  'column-info-show',
@@ -29,17 +30,18 @@ exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
29
30
  'format-column-add',
30
31
  'format-column-edit',
31
32
  'free-text-column-edit',
33
+ 'grid-group',
32
34
  'grid-info-show',
33
35
  'layout-column-caption-change',
34
36
  'layout-column-hide',
35
37
  'layout-edit',
36
- 'layout-select-actions',
37
38
  'layout-column-select',
38
39
  'layout-column-select-preserve',
39
40
  'layout-column-select-reset',
40
- 'layout-select-all',
41
+ 'layout-grid-select',
41
42
  'plus-minus-add',
42
43
  'settings-panel-open',
44
+ 'styling-group',
43
45
  'styled-column-badge-add',
44
46
  'styled-column-badge-edit',
45
47
  'styled-column-gradient-add',
@@ -55,11 +57,12 @@ exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
55
57
  * List of Shipped Adaptable Context Menu Items
56
58
  */
57
59
  exports.ADAPTABLE_CONTEXT_MENU_ITEMS = [
58
- 'menu-group-parent',
60
+ 'menu-group',
59
61
  'alert-clear',
60
62
  'bulk-update-apply',
61
63
  'calculated-column-edit',
62
64
  'cell-summary-show',
65
+ 'column-group',
63
66
  'column-filter-on-cell-value',
64
67
  'column-filter-clear',
65
68
  'column-filter-suspend',
@@ -75,29 +78,39 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = [
75
78
  'dashboard-hide',
76
79
  'dashboard-show',
77
80
  'data-import',
78
- 'export-cells-clipboard',
79
- 'export-cells-csv',
80
- 'export-cells-excel',
81
- 'export-cells-json',
82
- 'export-cells-table',
83
- 'export-cells-custom-destination',
84
- 'export-rows-clipboard',
85
- 'export-rows-csv',
86
- 'export-rows-excel',
87
- 'export-rows-json',
88
- 'export-rows-table',
89
- 'export-rows-custom-destination',
81
+ 'edit-group',
82
+ 'export-visual-data-excel',
83
+ 'export-all-data-excel',
84
+ 'export-all-data-csv',
85
+ 'export-all-data-clipboard',
86
+ 'export-all-data-json',
87
+ 'export-all-data-table',
88
+ 'export-current-data-excel',
89
+ 'export-current-data-csv',
90
+ 'export-current-data-clipboard',
91
+ 'export-current-data-json',
92
+ 'export-current-data-table',
93
+ 'export-selected-cells-excel',
94
+ 'export-selected-cells-csv',
95
+ 'export-selected-cells-clipboard',
96
+ 'export-selected-cells-json',
97
+ 'export-selected-cells-table',
98
+ 'export-selected-rows-excel',
99
+ 'export-selected-rows-csv',
100
+ 'export-selected-rows-clipboard',
101
+ 'export-selected-rows-json',
102
+ 'export-selected-rows-table',
90
103
  'fdc3-broadcast',
91
104
  'fdc3-raise-intent',
92
105
  'flashing-cell-clear',
93
106
  'flashing-row-clear',
107
+ 'grid-group',
94
108
  'grid-info-show',
95
109
  'layout-aggregated-view',
96
110
  'layout-auto-size',
97
111
  'layout-clear-selection',
98
112
  'layout-edit',
99
113
  'layout-select-all',
100
- 'layout-grid-actions',
101
114
  'note-add',
102
115
  'note-remove',
103
116
  'settings-panel-open',
@@ -18,9 +18,9 @@ export interface TransposeConfig {
18
18
  */
19
19
  visibleColumns?: boolean;
20
20
  /**
21
- * Only show curerntly visible Rows
22
- * @defaultValue false
23
- */
21
+ * Only show curerntly visible Rows
22
+ * @defaultValue false
23
+ */
24
24
  visibleRows?: boolean;
25
25
  /**
26
26
  * Autosize columns in transposed view
@@ -45,6 +45,10 @@ export interface FormatColumn extends SuspendableObject {
45
45
  * @defaultValue false
46
46
  */
47
47
  IncludeGroupedRows?: boolean;
48
+ /**
49
+ * Wehther to include Row Summary Rows
50
+ */
51
+ IncludeRowSummaries?: boolean;
48
52
  }
49
53
  /**
50
54
  * The Format Column Rule - can be either a Predicate or a BooleanExpression
@@ -1,4 +1,4 @@
1
- import { ScreenPopup, ConfirmationPopup, PromptPopup, LoadingPopup, WindowPopup, FormPopup } from '../Utilities/Interface/MessagePopups';
1
+ import { ScreenPopup, ConfirmationPopup, PromptPopup, WindowPopup, FormPopup } from '../Utilities/Interface/MessagePopups';
2
2
  import { InternalState } from './InternalState';
3
3
  /**
4
4
  * Internal state to manage open popups - NOT persisted by Redux
@@ -9,5 +9,4 @@ export interface PopupState extends InternalState {
9
9
  FormPopup: FormPopup;
10
10
  ConfirmationPopup: ConfirmationPopup;
11
11
  PromptPopup: PromptPopup;
12
- LoadingPopup: LoadingPopup;
13
12
  }
@@ -41,6 +41,11 @@ export interface StyledColumn extends SuspendableObject {
41
41
  * @defaultValue false
42
42
  */
43
43
  IncludeGroupedRows?: boolean;
44
+ /**
45
+ * Includes Row Summaries in Styled Column
46
+ * @defaultValue false
47
+ */
48
+ IncludeRowSummaries?: boolean;
44
49
  }
45
50
  /**
46
51
  * Style used to display Percent Bars in Special Column Style
@@ -1,7 +1,7 @@
1
1
  import { PreviewInfo } from '../Utilities/Interface/Preview';
2
2
  import { InternalState } from './InternalState';
3
3
  import { BulkUpdateValidationResult } from '../Strategy/Interface/IBulkUpdateModule';
4
- import { CellAddress, CellDataChangedInfo, GridCell, SmartEditOperation } from '../types';
4
+ import { AdaptableFrameworkComponent, CellAddress, CellDataChangedInfo, CustomRenderFunction, GridCell, SmartEditOperation } from '../types';
5
5
  import type { IPushPullState, IPushPullReport, IPushPullDomain } from './IPushPullState';
6
6
  import { OpenFinState, OpenFinReport } from './OpenFinState';
7
7
  import { AdaptableAlert } from './Common/AdaptableAlert';
@@ -112,5 +112,7 @@ export interface SystemState extends InternalState, IPushPullState, OpenFinState
112
112
  }
113
113
  export interface ProgressIndicator {
114
114
  active: boolean;
115
- label: string;
115
+ text?: string;
116
+ render?: CustomRenderFunction;
117
+ frameworkComponent?: AdaptableFrameworkComponent;
116
118
  }
@@ -1,15 +1,13 @@
1
1
  import * as Redux from 'redux';
2
- import { PopupState } from '../../PredefinedConfig/PopupState';
3
- import { InputAction, UIPrompt, UIConfirmation } from '../../Utilities/Interface/MessagePopups';
4
- import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
5
- import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
6
2
  import { AdaptableAlert } from '../../PredefinedConfig/Common/AdaptableAlert';
7
- import { AdaptableForm, BaseContext } from '../../types';
8
3
  import { FormContext } from '../../PredefinedConfig/Common/FormContext';
4
+ import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
5
+ import { PopupState } from '../../PredefinedConfig/PopupState';
6
+ import { AdaptableForm, BaseContext } from '../../types';
7
+ import { InputAction, UIConfirmation, UIPrompt } from '../../Utilities/Interface/MessagePopups';
8
+ import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
9
9
  export declare const POPUP_SHOW_SCREEN = "POPUP_SHOW_SCREEN";
10
10
  export declare const POPUP_HIDE_SCREEN = "POPUP_HIDE_SCREEN";
11
- export declare const POPUP_SHOW_LOADING = "POPUP_SHOW_LOADING";
12
- export declare const POPUP_HIDE_LOADING = "POPUP_HIDE_LOADING";
13
11
  export declare const POPUP_SHOW_ALERT = "POPUP_SHOW_ALERT";
14
12
  export declare const POPUP_SHOW_PROMPT = "POPUP_SHOW_PROMPT";
15
13
  export declare const POPUP_HIDE_PROMPT = "POPUP_HIDE_PROMPT";
@@ -51,10 +49,6 @@ export interface PopupShowFormAction extends Redux.Action {
51
49
  export interface PopupHideFormAction extends Redux.Action {
52
50
  Id: string;
53
51
  }
54
- export interface PopupShowLoadingAction extends Redux.Action {
55
- }
56
- export interface PopupHideLoadingAction extends Redux.Action {
57
- }
58
52
  export interface PopupShowAlertAction extends Redux.Action {
59
53
  alert: AdaptableAlert;
60
54
  }
@@ -97,8 +91,6 @@ export declare const PopupShowForm: (config: {
97
91
  }) => PopupShowFormAction;
98
92
  export declare const PopupHideForm: (id: string) => PopupHideFormAction;
99
93
  export declare const PopupShowAlert: (alert: AdaptableAlert) => PopupShowAlertAction;
100
- export declare const PopupShowLoading: () => PopupShowLoadingAction;
101
- export declare const PopupHideLoading: () => PopupHideLoadingAction;
102
94
  export declare const PopupShowPrompt: (prompt: UIPrompt) => PopupShowPromptAction;
103
95
  export declare const PopupHidePrompt: () => PopupHidePromptAction;
104
96
  export declare const PopupConfirmPrompt: (inputText: string) => PopupConfirmPromptAction;
@@ -1,10 +1,8 @@
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.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;
3
+ exports.PopupReducer = exports.PopupClearParam = exports.PopupCancelConfirmation = exports.PopupConfirmConfirmation = exports.PopupShowConfirmation = exports.PopupConfirmPrompt = exports.PopupHidePrompt = exports.PopupShowPrompt = 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_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
- exports.POPUP_SHOW_LOADING = 'POPUP_SHOW_LOADING';
7
- exports.POPUP_HIDE_LOADING = 'POPUP_HIDE_LOADING';
8
6
  exports.POPUP_SHOW_ALERT = 'POPUP_SHOW_ALERT';
9
7
  exports.POPUP_SHOW_PROMPT = 'POPUP_SHOW_PROMPT';
10
8
  exports.POPUP_HIDE_PROMPT = 'POPUP_HIDE_PROMPT';
@@ -63,14 +61,6 @@ const PopupShowAlert = (alert) => {
63
61
  };
64
62
  };
65
63
  exports.PopupShowAlert = PopupShowAlert;
66
- const PopupShowLoading = () => ({
67
- type: exports.POPUP_SHOW_LOADING,
68
- });
69
- exports.PopupShowLoading = PopupShowLoading;
70
- const PopupHideLoading = () => ({
71
- type: exports.POPUP_HIDE_LOADING,
72
- });
73
- exports.PopupHideLoading = PopupHideLoading;
74
64
  const PopupShowPrompt = (prompt) => ({
75
65
  type: exports.POPUP_SHOW_PROMPT,
76
66
  prompt: prompt,
@@ -110,9 +100,6 @@ const initialState = {
110
100
  ComponentName: '',
111
101
  Params: null,
112
102
  },
113
- LoadingPopup: {
114
- ShowLoadingPopup: true,
115
- },
116
103
  ConfirmationPopup: {
117
104
  ShowConfirmationPopup: false,
118
105
  Msg: '',
@@ -248,14 +235,6 @@ const PopupReducer = (state = initialState, action) => {
248
235
  ConfirmationPopup: newConfirmationPopup,
249
236
  });
250
237
  }
251
- case exports.POPUP_SHOW_LOADING: {
252
- let newLoadingPopup = { ShowLoadingPopup: true };
253
- return Object.assign({}, state, { LoadingPopup: newLoadingPopup });
254
- }
255
- case exports.POPUP_HIDE_LOADING: {
256
- let newLoadingPopup = { ShowLoadingPopup: false };
257
- return Object.assign({}, state, { LoadingPopup: newLoadingPopup });
258
- }
259
238
  case exports.POPUP_CLEAR_PARAM: {
260
239
  let newScreenPopup = {
261
240
  ShowScreenPopup: state.ScreenPopup.ShowScreenPopup,
@@ -13,7 +13,7 @@ import { SummaryOperation } from '../../PredefinedConfig/Common/Enums';
13
13
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
14
14
  import { RowsHighlightInfo } from '../../PredefinedConfig/Common/RowsHighlightInfo';
15
15
  import { SmartEditOperation } from '../../AdaptableOptions/EditOptions';
16
- import { DataImportedInfo, DataSet, CellAddress } from '../../types';
16
+ import { DataImportedInfo, DataSet, CellAddress, CustomRenderFunction, AdaptableFrameworkComponent } from '../../types';
17
17
  import { ChartModel } from '@ag-grid-community/core';
18
18
  import { CachedQuery } from '../../PredefinedConfig/NamedQueryState';
19
19
  export declare const FLASHING_CELL_ROW_KEY = "__ROW";
@@ -200,7 +200,9 @@ export interface SystemCellSummaryChangeOperationAction extends Redux.Action {
200
200
  cellSummaryOperation: SummaryOperation | string;
201
201
  }
202
202
  export interface SystemProgressIndicatorShowAction extends Redux.Action {
203
- label: string;
203
+ text?: string;
204
+ render?: CustomRenderFunction;
205
+ frameworkComponent?: AdaptableFrameworkComponent;
204
206
  }
205
207
  export interface SystemProgressIndicatorHideAction extends Redux.Action {
206
208
  }
@@ -302,7 +304,11 @@ export declare const SetNewColumnListOrder: (VisibleColumnList: string[]) => Set
302
304
  export declare const SetLastAppliedShortcut: (gridCell: GridCell | undefined) => SetLastAppliedShortcutAction;
303
305
  export declare const SystemCachedQueryAdd: (cachedQuery: CachedQuery) => SystemCachedQueryAddAction;
304
306
  export declare const SystemCellSummaryChangeOperation: (cellSummaryOperation: SummaryOperation | string) => SystemCellSummaryChangeOperationAction;
305
- export declare const SystemProgressIndicatorShow: (label: string) => SystemProgressIndicatorShowAction;
307
+ export declare const SystemProgressIndicatorShow: (config: {
308
+ text?: string;
309
+ render?: CustomRenderFunction;
310
+ frameworkComponent?: AdaptableFrameworkComponent;
311
+ }) => SystemProgressIndicatorShowAction;
306
312
  export declare const SystemProgressIndicatorHide: () => SystemProgressIndicatorHideAction;
307
313
  export declare const SystemLicenseShowWatermark: (text: string) => SystemLicenseShowWatermarkAction;
308
314
  export declare const SystemLicenseDisablePersistence: () => SystemLicenseDisablePersistenceAction;
@@ -257,9 +257,11 @@ const SystemCellSummaryChangeOperation = (cellSummaryOperation) => ({
257
257
  cellSummaryOperation: cellSummaryOperation,
258
258
  });
259
259
  exports.SystemCellSummaryChangeOperation = SystemCellSummaryChangeOperation;
260
- const SystemProgressIndicatorShow = (label) => ({
260
+ const SystemProgressIndicatorShow = (config) => ({
261
261
  type: exports.SYSTEM_PROGRESS_INDICATOR_SHOW,
262
- label,
262
+ text: config.text,
263
+ render: config.render,
264
+ frameworkComponent: config.frameworkComponent,
263
265
  });
264
266
  exports.SystemProgressIndicatorShow = SystemProgressIndicatorShow;
265
267
  const SystemProgressIndicatorHide = () => ({
@@ -443,7 +445,7 @@ const initialState = {
443
445
  SmartEditValue: 1,
444
446
  SmartEditOperation: Enums_1.MathOperation.Multiply,
445
447
  CellSummaryOperation: GeneralConstants_1.CELL_SUMMARY_DEFAULT_OPERATION,
446
- ProgressIndicator: { active: false, label: '' },
448
+ ProgressIndicator: { active: false, text: '' },
447
449
  License: {
448
450
  watermark: { show: false, text: null },
449
451
  disablePersistence: false,
@@ -700,7 +702,9 @@ const SystemReducer = (state = initialState, action) => {
700
702
  const updatedState = {
701
703
  ProgressIndicator: {
702
704
  active: true,
703
- label: actionTypedAdd.label,
705
+ text: actionTypedAdd.text,
706
+ render: actionTypedAdd.render,
707
+ frameworkComponent: actionTypedAdd.frameworkComponent,
704
708
  },
705
709
  };
706
710
  return Object.assign({}, state, updatedState);
@@ -709,7 +713,6 @@ const SystemReducer = (state = initialState, action) => {
709
713
  const updatedState = {
710
714
  ProgressIndicator: {
711
715
  active: false,
712
- label: '',
713
716
  },
714
717
  };
715
718
  return Object.assign({}, state, updatedState);
@@ -51,7 +51,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
51
51
  const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
52
52
  if (this.isModuleEditable() &&
53
53
  this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
54
- columnFilterMenuItems.push(this.createMenuItemReduxAction(isFilterVisible ? 'column-filter-bar-hide' : 'column-filter-bar-show', isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
54
+ columnFilterMenuItems.push(this.createMenuItemReduxAction(isFilterVisible ? 'column-filter-bar-hide' : 'column-filter-bar-show', isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'filter-off' : 'filter', isFilterVisible
55
55
  ? SystemRedux.SystemQuickFilterBarHide()
56
56
  : SystemRedux.SystemQuickFilterBarShow()));
57
57
  }
@@ -22,7 +22,7 @@ class ColumnInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
22
22
  Name: 'column-info-show',
23
23
  Label: 'Column Info',
24
24
  ComponentName: this.moduleInfo.Popup,
25
- Icon: this.moduleInfo.Glyph,
25
+ Icon: 'info',
26
26
  PopupParams: columnPopUpParams,
27
27
  }),
28
28
  ];
@@ -39,7 +39,7 @@ class ColumnInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
39
39
  Name: 'column-info-show',
40
40
  Label: 'Column Info',
41
41
  ComponentName: this.moduleInfo.Popup,
42
- Icon: this.moduleInfo.Glyph,
42
+ Icon: 'info',
43
43
  PopupParams: columnPopUpParams,
44
44
  }),
45
45
  ];
@@ -14,7 +14,6 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
14
14
  getReferencedNamedQueryNames(report: Report): string[];
15
15
  createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
16
16
  private buildReportMenuItems;
17
- private getMenuName;
18
17
  export(report: Report, exportDestination: ExportDestination | string): Promise<void>;
19
18
  private preProcessExport;
20
19
  private isCustomDestination;
@@ -50,58 +50,69 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
50
50
  return;
51
51
  }
52
52
  let returnMenuItems = [];
53
- const canExportCells = menuContext.selectedCellInfo &&
53
+ const availableSystemReports = this.api.exportApi.getAvailableSystemReports();
54
+ if (availableSystemReports.includes(GeneralConstants_1.VISUAL_DATA_REPORT)) {
55
+ returnMenuItems.push(this.createMenuItemClickFunction('export-visual-data-excel', 'Excel', this.moduleInfo.Glyph, () => this.export(this.api.exportApi.getReportByName(GeneralConstants_1.VISUAL_DATA_REPORT), Enums_1.ExportDestination.Excel)));
56
+ }
57
+ if (availableSystemReports.includes(GeneralConstants_1.ALL_DATA_REPORT)) {
58
+ const allDataReport = this.api.exportApi.getReportByName(GeneralConstants_1.ALL_DATA_REPORT);
59
+ returnMenuItems.push(...this.buildReportMenuItems(allDataReport));
60
+ }
61
+ if (availableSystemReports.includes(GeneralConstants_1.CURRENT_DATA_REPORT)) {
62
+ const currentDataReport = this.api.exportApi.getReportByName(GeneralConstants_1.CURRENT_DATA_REPORT);
63
+ returnMenuItems.push(...this.buildReportMenuItems(currentDataReport));
64
+ }
65
+ const canExportCells = availableSystemReports.includes(GeneralConstants_1.SELECTED_CELLS_REPORT) &&
66
+ menuContext.selectedCellInfo &&
54
67
  ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.columns) &&
55
68
  ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.gridCells);
56
- const canExportRows = menuContext.selectedRowInfo &&
69
+ if (canExportCells) {
70
+ const selectedCellReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_CELLS_REPORT);
71
+ returnMenuItems.push(...this.buildReportMenuItems(selectedCellReport));
72
+ }
73
+ const canExportRows = availableSystemReports.includes(GeneralConstants_1.SELECTED_ROWS_REPORT) &&
74
+ menuContext.selectedRowInfo &&
57
75
  ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedRowInfo.gridRows) &&
58
76
  menuContext.gridCell &&
59
77
  menuContext.gridCell.primaryKeyValue &&
60
78
  menuContext.isSelectedRow;
61
- if (canExportCells) {
62
- const selectedCellReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_CELLS_REPORT);
63
- returnMenuItems.push(...this.buildReportMenuItems(selectedCellReport, 'cells'));
64
- }
65
79
  if (canExportRows) {
66
80
  const selectedRowReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_ROWS_REPORT);
67
- returnMenuItems.push(...this.buildReportMenuItems(selectedRowReport, 'rows'));
81
+ returnMenuItems.push(...this.buildReportMenuItems(selectedRowReport));
68
82
  }
69
83
  return returnMenuItems;
70
84
  }
71
- buildReportMenuItems(report, selectionType) {
85
+ buildReportMenuItems(report) {
86
+ // a bit convoluted, but ce la vie, that's what happens when you use enums instead of union types
87
+ // convert to lowercase and replace empty spaces with hyphens
88
+ const adjustName = (name = '') => {
89
+ const result = name.replace(/ /g, '-');
90
+ return result.toLowerCase();
91
+ };
92
+ const getMenuItemName = (reportName, destination) => {
93
+ return `export-${adjustName(reportName)}-${adjustName(destination)}`;
94
+ };
72
95
  const menuItems = [];
73
96
  for (const destination of this.api.exportApi.getAvailableExportDestinations()) {
74
- menuItems.push(this.createMenuItemClickFunction(this.getMenuName(destination, selectionType), destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
97
+ menuItems.push(this.createMenuItemClickFunction(getMenuItemName(report.Name, destination), destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
75
98
  }
76
99
  for (const customDestination of this.api.exportApi.getCustomDestinations()) {
77
- menuItems.push(this.createMenuItemClickFunction(`export-${selectionType}-custom-destination`, customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
100
+ menuItems.push(this.createMenuItemClickFunction(getMenuItemName(report.Name, customDestination.name), customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
78
101
  }
79
102
  return menuItems;
80
103
  }
81
- getMenuName(exportDestination, selectionType) {
82
- switch (exportDestination) {
83
- case Enums_1.ExportDestination.CSV:
84
- return `export-${selectionType}-csv`;
85
- case Enums_1.ExportDestination.Clipboard:
86
- return `export-${selectionType}-clipboard`;
87
- case Enums_1.ExportDestination.Excel:
88
- return `export-${selectionType}-excel`;
89
- case Enums_1.ExportDestination.JSON:
90
- return `export-${selectionType}-json`;
91
- case Enums_1.ExportDestination.Table:
92
- return `export-${selectionType}-table`;
93
- }
94
- }
95
104
  async export(report, exportDestination) {
96
105
  var _a;
97
106
  const cleanupExportProcess = () => {
98
107
  this.api.internalApi.dispatchReduxAction((0, SystemRedux_1.SystemVisualExportEnd)());
99
- this.api.internalApi.hideProgressIndicator();
108
+ this.api.userInterfaceApi.hideProgressIndicator();
100
109
  };
101
110
  if (report.Name === GeneralConstants_1.VISUAL_DATA_REPORT) {
102
111
  this.api.internalApi.dispatchReduxAction((0, SystemRedux_1.SystemVisualExportBegin)());
103
112
  }
104
- this.api.internalApi.dispatchReduxAction((0, SystemRedux_1.SystemProgressIndicatorShow)(`${report.Name} Export in progress...`));
113
+ this.api.userInterfaceApi.showProgressIndicator({
114
+ text: `${report.Name} Export in progress...`,
115
+ });
105
116
  try {
106
117
  // waitForTimeout required to give the ProgressIndicator rendering a head-start (see rAF in ProgressIndicator implementation)
107
118
  await (0, waitForTimeout_1.waitForTimeout)(16);
@@ -6,7 +6,7 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  class GridInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
8
8
  constructor(api) {
9
- super(ModuleConstants.GridInfoModuleId, ModuleConstants.GridInfoFriendlyName, 'align-justify', 'GridInfoPopup', 'Display information about the Grid, the Options selected and all columns', api);
9
+ super(ModuleConstants.GridInfoModuleId, ModuleConstants.GridInfoFriendlyName, 'grid-info', 'GridInfoPopup', 'Display information about the Grid, the Options selected and all columns', api);
10
10
  }
11
11
  getViewAccessLevel() {
12
12
  return 'Full';
@@ -7,13 +7,11 @@ import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
7
7
  import { AdaptableApi } from '../Api/AdaptableApi';
8
8
  import { AdaptableModuleView, IModule, TeamSharingReferences } from './Interface/IModule';
9
9
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
10
- import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
11
10
  export declare class LayoutModule extends AdaptableModuleBase implements IModule {
12
- cachedCellSummary: Map<string, AggregatedScalarLiveValue>;
13
11
  protected LayoutState: LayoutState;
12
+ private rowSummaryService;
14
13
  constructor(api: AdaptableApi);
15
14
  onAdaptableReady(): void;
16
- rowSummariesSubscriptions(): void;
17
15
  getModuleAdaptableObjects(): AdaptableObject[];
18
16
  getExplicitlyReferencedColumnIds(layout: Layout): string[];
19
17
  getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
@@ -45,9 +43,4 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
45
43
  getViewProperties(): AdaptableModuleView;
46
44
  handleLayoutChange(): void;
47
45
  getReferencedNamedQueryNames(layout: Layout): string[];
48
- /**
49
- *
50
- * @param colId optional to evaluate only one column
51
- */
52
- private evaluateRowSummary;
53
46
  }