@adaptabletools/adaptable-cjs 18.0.0-canary.28 → 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 (54) 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 +1 -1
  8. package/src/Api/GridApi.d.ts +4 -1
  9. package/src/Api/Implementation/ConfigApiImpl.js +0 -1
  10. package/src/Api/Implementation/GridApiImpl.d.ts +1 -1
  11. package/src/Api/Implementation/GridApiImpl.js +6 -1
  12. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -5
  13. package/src/Api/Implementation/UserInterfaceApiImpl.js +26 -4
  14. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
  15. package/src/Api/Internal/AdaptableInternalApi.js +2 -6
  16. package/src/Api/Internal/FormatColumnInternalApi.js +6 -2
  17. package/src/Api/Internal/LayoutInternalApi.js +1 -1
  18. package/src/Api/UserInterfaceApi.d.ts +15 -2
  19. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  20. package/src/PredefinedConfig/Common/Menu.d.ts +1 -1
  21. package/src/PredefinedConfig/Common/Menu.js +22 -12
  22. package/src/PredefinedConfig/FormatColumnState.d.ts +4 -0
  23. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  24. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -0
  25. package/src/PredefinedConfig/SystemState.d.ts +4 -2
  26. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  27. package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
  28. package/src/Redux/ActionsReducers/SystemRedux.d.ts +9 -3
  29. package/src/Redux/ActionsReducers/SystemRedux.js +8 -5
  30. package/src/Strategy/ExportModule.d.ts +0 -1
  31. package/src/Strategy/ExportModule.js +37 -26
  32. package/src/Strategy/LayoutModule.d.ts +1 -8
  33. package/src/Strategy/LayoutModule.js +3 -113
  34. package/src/Strategy/StyledColumnModule.js +5 -2
  35. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +1 -0
  36. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  37. package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
  38. package/src/Utilities/Services/RowSummaryService.js +146 -0
  39. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -2
  40. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  41. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +14 -10
  42. package/src/agGrid/AgGridColumnAdapter.js +19 -13
  43. package/src/agGrid/AgGridMenuAdapter.d.ts +5 -0
  44. package/src/agGrid/AgGridMenuAdapter.js +111 -57
  45. package/src/agGrid/BadgeRenderer.js +7 -1
  46. package/src/agGrid/PercentBarRenderer.js +3 -1
  47. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  48. package/src/components/icons/copy.d.ts +3 -0
  49. package/src/components/icons/copy.js +7 -0
  50. package/src/components/icons/index.js +2 -0
  51. package/src/env.js +2 -2
  52. package/src/metamodel/adaptable.metamodel.js +1 -1
  53. package/src/types.d.ts +1 -1
  54. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -44,6 +44,9 @@ export interface CustomRenderContext extends BaseContext {
44
44
  */
45
45
  element: HTMLDivElement;
46
46
  }
47
+ export interface CustomRenderFunction {
48
+ (customRenderContext: CustomRenderContext): string | null;
49
+ }
47
50
  /**
48
51
  * Config used to open a custom window
49
52
  */
@@ -167,7 +167,7 @@ export interface MenuOrderContext extends BaseContext {
167
167
  /**
168
168
  * Defines AG Grid Context Menu Items
169
169
  */
170
- export type AgGridContextMenuItemType = 'autoSizeAll' | 'expandAll' | 'contractAll' | 'copy' | 'copyWithHeaders' | 'cut' | 'paste' | 'resetColumns' | 'export' | 'csvExport' | 'excelExport' | 'chartRange' | 'pivotChart';
170
+ export type AgGridContextMenuItemType = 'autoSizeAll' | 'expandAll' | 'contractAll' | 'copy' | 'copyWithHeaders' | 'copyWithGroupHeaders' | 'cut' | 'paste' | 'resetColumns' | 'export' | 'csvExport' | 'excelExport' | 'chartRange' | 'pivotChart';
171
171
  /**
172
172
  * Defines AG Grid Column Menu Items
173
173
  */
@@ -529,5 +529,8 @@ export interface GridApi {
529
529
  * Opens a window with a transposed view of Grid
530
530
  */
531
531
  showTransposedView(transposeConfig?: TransposeConfig): void;
532
- getAllGridColumns(): Column<any>[];
532
+ /**
533
+ * Return all AG Grid columns
534
+ */
535
+ getAllAgGridColumns(): Column<any>[];
533
536
  }
@@ -139,7 +139,6 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
139
139
  .then(() => {
140
140
  this.adaptable.updateColumnModelAndRefreshGrid({ skipColDefsRefresh: true });
141
141
  this.adaptable.setLayout();
142
- this.getAdaptableApi().userInterfaceApi.hideLoadingScreen();
143
142
  })
144
143
  .then(() => {
145
144
  // resolve main(result) promise
@@ -134,5 +134,5 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
134
134
  getAgGridRowModelType(): RowModelType;
135
135
  getVisibleRowCount(): number;
136
136
  showTransposedView(transposeConfig?: TransposeConfig): void;
137
- getAllGridColumns(): Column<any>[];
137
+ getAllAgGridColumns(): Column<any>[];
138
138
  }
@@ -19,6 +19,11 @@ class GridApiImpl extends ApiBase_1.ApiBase {
19
19
  return this.getAdaptableState().Grid;
20
20
  }
21
21
  loadGridData(dataSource) {
22
+ // we intentionally set an initial empty array,
23
+ // to prevent `cellchanged` events from being triggered for rows that have
24
+ // the same primary key with existing rows
25
+ // see #testprevent_cellchanged_event_on_load_grid_data
26
+ this.adaptable.agGridAdapter.setGridOption('rowData', []);
22
27
  this.adaptable.setGridData(dataSource);
23
28
  const allRowNodes = this.getAllRowNodes();
24
29
  this.internalApi.fireGridDataChangedEvent(dataSource, allRowNodes, 'Load');
@@ -553,7 +558,7 @@ class GridApiImpl extends ApiBase_1.ApiBase {
553
558
  },
554
559
  });
555
560
  }
556
- getAllGridColumns() {
561
+ getAllAgGridColumns() {
557
562
  return this.adaptable.getAllGridColumns();
558
563
  }
559
564
  }
@@ -1,13 +1,14 @@
1
- import { ApiBase } from './ApiBase';
2
- import { UserInterfaceApi } from '../UserInterfaceApi';
1
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
2
+ import { BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../../AdaptableOptions/UserInterfaceOptions';
3
3
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
4
4
  import { AdaptableStyle } from '../../PredefinedConfig/Common/AdaptableStyle';
5
- import { BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../../AdaptableOptions/UserInterfaceOptions';
6
- import { AdaptableObjectTag, CustomWindowConfig, GridCell } from '../../types';
5
+ import { AdaptableFrameworkComponent, AdaptableObjectTag, CustomRenderFunction, CustomWindowConfig, GridCell } from '../../types';
7
6
  import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
8
- import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
7
+ import { UserInterfaceApi } from '../UserInterfaceApi';
8
+ import { ApiBase } from './ApiBase';
9
9
  export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfaceApi {
10
10
  internalApi: UserInterfaceInternalApi;
11
+ private showProgressIndicatorTimeout;
11
12
  constructor(adaptable: IAdaptable);
12
13
  getColorPalette(): string[];
13
14
  getStyleClassNames(): string[] | undefined;
@@ -29,6 +30,14 @@ export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfa
29
30
  getCustomIconDefinition(iconName: string): import("../../types").AdaptableIcon | import("../../types").CustomIcon;
30
31
  showLoadingScreen(): void;
31
32
  hideLoadingScreen(): void;
33
+ showProgressIndicator(config: {
34
+ text: string;
35
+ message?: string;
36
+ render?: CustomRenderFunction;
37
+ frameworkComponent?: AdaptableFrameworkComponent;
38
+ delay?: number;
39
+ }): void;
40
+ hideProgressIndicator(): void;
32
41
  openCustomWindowPopup(config: CustomWindowConfig): {
33
42
  close: () => void;
34
43
  };
@@ -2,14 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserInterfaceApiImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const ApiBase_1 = require("./ApiBase");
6
5
  const PopupRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/PopupRedux"));
6
+ const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
7
7
  const ArrayExtensions_1 = require("../../Utilities/Extensions/ArrayExtensions");
8
- const UserInterfaceInternalApi_1 = require("../Internal/UserInterfaceInternalApi");
8
+ const logDeprecation_1 = require("../../Utilities/logDeprecation");
9
9
  const WindowPopups_1 = require("../../View/Components/Popups/WindowPopups/WindowPopups");
10
+ const UserInterfaceInternalApi_1 = require("../Internal/UserInterfaceInternalApi");
11
+ const ApiBase_1 = require("./ApiBase");
10
12
  class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
11
13
  constructor(adaptable) {
12
14
  super(adaptable);
15
+ this.showProgressIndicatorTimeout = null;
13
16
  this.internalApi = new UserInterfaceInternalApi_1.UserInterfaceInternalApi(adaptable);
14
17
  }
15
18
  getColorPalette() {
@@ -170,10 +173,29 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
170
173
  return customIcon;
171
174
  }
172
175
  showLoadingScreen() {
173
- this.dispatchAction(PopupRedux.PopupShowLoading());
176
+ (0, logDeprecation_1.logDeprecation)(this.adaptable.logger, 'UserInterfaceApi', 'showLoadingScreen', 'showProgressIndicator');
177
+ this.showProgressIndicator({ text: 'Loading' });
174
178
  }
175
179
  hideLoadingScreen() {
176
- this.dispatchAction(PopupRedux.PopupHideLoading());
180
+ (0, logDeprecation_1.logDeprecation)(this.adaptable.logger, 'UserInterfaceApi', 'hideLoadingScreen', 'hideProgressIndicator');
181
+ this.hideProgressIndicator();
182
+ }
183
+ showProgressIndicator(config) {
184
+ if (config.delay) {
185
+ this.showProgressIndicatorTimeout = setTimeout(() => {
186
+ this.dispatchAction((0, SystemRedux_1.SystemProgressIndicatorShow)(config));
187
+ }, config.delay);
188
+ }
189
+ else {
190
+ this.dispatchAction((0, SystemRedux_1.SystemProgressIndicatorShow)(config));
191
+ }
192
+ }
193
+ hideProgressIndicator() {
194
+ if (this.showProgressIndicatorTimeout) {
195
+ clearTimeout(this.showProgressIndicatorTimeout);
196
+ this.showProgressIndicatorTimeout = null;
197
+ }
198
+ this.dispatchAction((0, SystemRedux_1.SystemProgressIndicatorHide)());
177
199
  }
178
200
  openCustomWindowPopup(config) {
179
201
  const close = () => {
@@ -89,7 +89,6 @@ export declare class AdaptableInternalApi extends ApiBase {
89
89
  destroyFrameworkComponent(containerDomNode: HTMLElement, frameworkComponent: AdaptableFrameworkComponent, componentType: 'toolPanel' | 'toolbar'): void;
90
90
  initializeDataChangeHistory(): void;
91
91
  executeWithProgressIndicator(label: string, executeFn: () => void, errorHandlingFn?: () => void): void;
92
- hideProgressIndicator(): void;
93
92
  getCorrectEnglishVariant(wordToSpell: string): string;
94
93
  shouldDisplayTagSections(): boolean;
95
94
  getAvailableTags(): AdaptableObjectTag[] | undefined;
@@ -4,7 +4,6 @@ exports.AdaptableInternalApi = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const PopupRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/PopupRedux"));
6
6
  const SystemRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/SystemRedux"));
7
- const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
8
7
  const GridRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/GridRedux"));
9
8
  const DeadRedux = tslib_1.__importStar(require("../../Redux/DeadRedux"));
10
9
  const ApiBase_1 = require("../Implementation/ApiBase");
@@ -253,7 +252,7 @@ class AdaptableInternalApi extends ApiBase_1.ApiBase {
253
252
  }
254
253
  }
255
254
  executeWithProgressIndicator(label, executeFn, errorHandlingFn) {
256
- this.dispatchReduxAction((0, SystemRedux_1.SystemProgressIndicatorShow)(label));
255
+ this.getAdaptableApi().userInterfaceApi.showProgressIndicator({ text: label, delay: 300 });
257
256
  // setTimeout required to give the ProgressIndicator rendering a head-start (see RAF in ProgressIndicator implementation)
258
257
  setTimeout(() => {
259
258
  try {
@@ -261,14 +260,11 @@ class AdaptableInternalApi extends ApiBase_1.ApiBase {
261
260
  }
262
261
  catch (error) {
263
262
  errorHandlingFn === null || errorHandlingFn === void 0 ? void 0 : errorHandlingFn();
264
- this.hideProgressIndicator();
263
+ this.getUserInterfaceApi().hideProgressIndicator();
265
264
  this.adaptable.logger.error('Unexpected error while executing a function with a progress indicator', error);
266
265
  }
267
266
  }, 16);
268
267
  }
269
- hideProgressIndicator() {
270
- this.dispatchReduxAction((0, SystemRedux_1.SystemProgressIndicatorHide)());
271
- }
272
268
  getCorrectEnglishVariant(wordToSpell) {
273
269
  if (wordToSpell.includes('our')) {
274
270
  return this.getUserInterfaceOptions().englishVariant == 'GB'
@@ -7,6 +7,7 @@ const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Exte
7
7
  const FormatHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/FormatHelper"));
8
8
  const ObjectFactory_1 = tslib_1.__importDefault(require("../../Utilities/ObjectFactory"));
9
9
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
10
+ const RowSummary_1 = require("../../PredefinedConfig/Common/RowSummary");
10
11
  class FormatColumnInternalApi extends ApiBase_1.ApiBase {
11
12
  /**
12
13
  * Retrieves all Format Columns in Adaptable State with the `Style` property set
@@ -158,7 +159,7 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
158
159
  * @param params
159
160
  */
160
161
  isFormatColumnRelevantForColumn(formatColumn, column, params) {
161
- var _a, _b;
162
+ var _a, _b, _c, _d;
162
163
  // suspended is important to be first
163
164
  if (formatColumn.IsSuspended) {
164
165
  return false;
@@ -167,11 +168,14 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
167
168
  this.getAdaptableApi().gridApi.isGroupRowNode(params.node)) {
168
169
  return false;
169
170
  }
171
+ if (!formatColumn.IncludeRowSummaries && ((_b = (_a = params.node) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[RowSummary_1.ROW_SUMMARY_ROW_ID])) {
172
+ return false;
173
+ }
170
174
  if (!formatColumn.Rule) {
171
175
  return true;
172
176
  }
173
177
  // first run the predicate
174
- if (formatColumn.Rule.Predicates && ((_b = (_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)) {
178
+ if (formatColumn.Rule.Predicates && ((_d = (_c = formatColumn.Rule) === null || _c === void 0 ? void 0 : _c.Predicates) === null || _d === void 0 ? void 0 : _d.length)) {
175
179
  const predicateDefHandlerContext = Object.assign({ value: params.value, oldValue: null, displayValue: params.value, node: params.node, column: column }, this.getAdaptableApi().internalApi.buildBaseContext());
176
180
  return this.evaluatePredicate(formatColumn, predicateDefHandlerContext);
177
181
  }
@@ -62,7 +62,7 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
62
62
  if (!layoutState.Layouts || !isLayoutDefined(GeneralConstants_1.DEFAULT_LAYOUT)) {
63
63
  // augogroup columns are not in columns list
64
64
  // the code that adds column ok grid state explicitly ignores autoColumns
65
- const allGridColumns = this.getAdaptableApi().gridApi.getAllGridColumns();
65
+ const allGridColumns = this.getAdaptableApi().gridApi.getAllAgGridColumns();
66
66
  let defaultLayout = ObjectFactory_1.default.CreateEmptyLayout({
67
67
  Name: GeneralConstants_1.DEFAULT_LAYOUT,
68
68
  Columns: defaultLayoutColumns.map((c) => c.columnId),
@@ -3,8 +3,8 @@ import { AdaptableStyle } from '../PredefinedConfig/Common/AdaptableStyle';
3
3
  import { BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../AdaptableOptions/UserInterfaceOptions';
4
4
  import { GridCell } from '../PredefinedConfig/Selection/GridCell';
5
5
  import { AdaptableObjectTag } from '../PredefinedConfig/Common/AdaptableObject';
6
- import { AdaptableIcon } from '../types';
7
- import { CustomWindowConfig } from '../AdaptableOptions/AdaptableFrameworkComponent';
6
+ import { AdaptableFrameworkComponent, AdaptableIcon } from '../types';
7
+ import { CustomRenderFunction, CustomWindowConfig } from '../AdaptableOptions/AdaptableFrameworkComponent';
8
8
  /**
9
9
  * Functions relating to User Interface section of Adaptable State
10
10
  */
@@ -72,12 +72,25 @@ export interface UserInterfaceApi {
72
72
  getCustomIconDefinition(name: string): AdaptableIcon | undefined;
73
73
  /**
74
74
  * Displays the popup that says getting data and initialising grid
75
+ * @deprecated use `showProgressIndicator()` instead
75
76
  */
76
77
  showLoadingScreen(): void;
77
78
  /**
78
79
  * Hides the popup that says getting data and initialising grid
80
+ * @deprecated use `hideProgressIndicator()` instead
79
81
  */
80
82
  hideLoadingScreen(): void;
83
+ /**
84
+ *
85
+ * @param config
86
+ */
87
+ showProgressIndicator(config: {
88
+ text?: string;
89
+ render?: CustomRenderFunction;
90
+ frameworkComponent?: AdaptableFrameworkComponent;
91
+ delay?: number;
92
+ }): void;
93
+ hideProgressIndicator(): void;
81
94
  /**
82
95
  * Opens window with custom content
83
96
  * @param config
@@ -54,4 +54,4 @@ export interface AdaptableBaseIcon {
54
54
  /**
55
55
  * All AdapTable System Icon names
56
56
  */
57
- export type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'comment' | 'comments' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'filter-off' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'select-all' | 'select-off' | 'select-fwd' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'resume' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold' | 'note' | 'import' | 'grid-filter' | 'grid-info' | 'rows';
57
+ export type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'copy' | 'comment' | 'comments' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'filter-off' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'select-all' | 'select-off' | 'select-fwd' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'resume' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold' | 'note' | 'import' | 'grid-filter' | 'grid-info' | 'rows';
@@ -14,7 +14,7 @@ export declare const ADAPTABLE_COLUMN_MENU_ITEMS: readonly ["calculated-column-e
14
14
  /**
15
15
  * List of Shipped Adaptable Context Menu Items
16
16
  */
17
- export declare const ADAPTABLE_CONTEXT_MENU_ITEMS: readonly ["menu-group", "alert-clear", "bulk-update-apply", "calculated-column-edit", "cell-summary-show", "column-group", "column-filter-on-cell-value", "column-filter-clear", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "comment-add", "comment-remove", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "export-cells-clipboard", "export-cells-csv", "export-cells-excel", "export-cells-json", "export-cells-table", "export-cells-custom-destination", "export-rows-clipboard", "export-rows-csv", "export-rows-excel", "export-rows-json", "export-rows-table", "export-rows-custom-destination", "fdc3-broadcast", "fdc3-raise-intent", "flashing-cell-clear", "flashing-row-clear", "grid-group", "grid-info-show", "layout-aggregated-view", "layout-auto-size", "layout-clear-selection", "layout-edit", "layout-select-all", "note-add", "note-remove", "settings-panel-open", "smart-edit-apply", "system-status-show"];
17
+ export declare const ADAPTABLE_CONTEXT_MENU_ITEMS: readonly ["menu-group", "alert-clear", "bulk-update-apply", "calculated-column-edit", "cell-summary-show", "column-group", "column-filter-on-cell-value", "column-filter-clear", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "comment-add", "comment-remove", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "edit-group", "export-visual-data-excel", "export-all-data-excel", "export-all-data-csv", "export-all-data-clipboard", "export-all-data-json", "export-all-data-table", "export-current-data-excel", "export-current-data-csv", "export-current-data-clipboard", "export-current-data-json", "export-current-data-table", "export-selected-cells-excel", "export-selected-cells-csv", "export-selected-cells-clipboard", "export-selected-cells-json", "export-selected-cells-table", "export-selected-rows-excel", "export-selected-rows-csv", "export-selected-rows-clipboard", "export-selected-rows-json", "export-selected-rows-table", "fdc3-broadcast", "fdc3-raise-intent", "flashing-cell-clear", "flashing-row-clear", "grid-group", "grid-info-show", "layout-aggregated-view", "layout-auto-size", "layout-clear-selection", "layout-edit", "layout-select-all", "note-add", "note-remove", "settings-panel-open", "smart-edit-apply", "system-status-show"];
18
18
  /**
19
19
  * Menu item used by Adaptable in both Column and Context Menus
20
20
  */
@@ -78,18 +78,28 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = [
78
78
  'dashboard-hide',
79
79
  'dashboard-show',
80
80
  'data-import',
81
- 'export-cells-clipboard',
82
- 'export-cells-csv',
83
- 'export-cells-excel',
84
- 'export-cells-json',
85
- 'export-cells-table',
86
- 'export-cells-custom-destination',
87
- 'export-rows-clipboard',
88
- 'export-rows-csv',
89
- 'export-rows-excel',
90
- 'export-rows-json',
91
- 'export-rows-table',
92
- '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',
93
103
  'fdc3-broadcast',
94
104
  'fdc3-raise-intent',
95
105
  'flashing-cell-clear',
@@ -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);
@@ -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;