@adaptabletools/adaptable 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 (55) 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 +0 -19
  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 +39 -28
  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 +141 -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/CheckBox/index.js +1 -1
  48. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  49. package/src/components/icons/copy.d.ts +3 -0
  50. package/src/components/icons/copy.js +4 -0
  51. package/src/components/icons/index.js +2 -0
  52. package/src/env.js +2 -2
  53. package/src/metamodel/adaptable.metamodel.js +1 -1
  54. package/src/types.d.ts +1 -1
  55. package/tsconfig.esm.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
  }
@@ -135,7 +135,6 @@ export class ConfigApiImpl extends ApiBase {
135
135
  .then(() => {
136
136
  this.adaptable.updateColumnModelAndRefreshGrid({ skipColDefsRefresh: true });
137
137
  this.adaptable.setLayout();
138
- this.getAdaptableApi().userInterfaceApi.hideLoadingScreen();
139
138
  })
140
139
  .then(() => {
141
140
  // 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
  }
@@ -15,6 +15,11 @@ export class GridApiImpl extends ApiBase {
15
15
  return this.getAdaptableState().Grid;
16
16
  }
17
17
  loadGridData(dataSource) {
18
+ // we intentionally set an initial empty array,
19
+ // to prevent `cellchanged` events from being triggered for rows that have
20
+ // the same primary key with existing rows
21
+ // see #testprevent_cellchanged_event_on_load_grid_data
22
+ this.adaptable.agGridAdapter.setGridOption('rowData', []);
18
23
  this.adaptable.setGridData(dataSource);
19
24
  const allRowNodes = this.getAllRowNodes();
20
25
  this.internalApi.fireGridDataChangedEvent(dataSource, allRowNodes, 'Load');
@@ -549,7 +554,7 @@ export class GridApiImpl extends ApiBase {
549
554
  },
550
555
  });
551
556
  }
552
- getAllGridColumns() {
557
+ getAllAgGridColumns() {
553
558
  return this.adaptable.getAllGridColumns();
554
559
  }
555
560
  }
@@ -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
  };
@@ -1,11 +1,14 @@
1
- import { ApiBase } from './ApiBase';
2
1
  import * as PopupRedux from '../../Redux/ActionsReducers/PopupRedux';
2
+ import { SystemProgressIndicatorHide, SystemProgressIndicatorShow, } from '../../Redux/ActionsReducers/SystemRedux';
3
3
  import { ArrayExtensions } from '../../Utilities/Extensions/ArrayExtensions';
4
- import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
4
+ import { logDeprecation } from '../../Utilities/logDeprecation';
5
5
  import { CUSTOM_WINDOW_FACTORY_ID } from '../../View/Components/Popups/WindowPopups/WindowPopups';
6
+ import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
7
+ import { ApiBase } from './ApiBase';
6
8
  export class UserInterfaceApiImpl extends ApiBase {
7
9
  constructor(adaptable) {
8
10
  super(adaptable);
11
+ this.showProgressIndicatorTimeout = null;
9
12
  this.internalApi = new UserInterfaceInternalApi(adaptable);
10
13
  }
11
14
  getColorPalette() {
@@ -166,10 +169,29 @@ export class UserInterfaceApiImpl extends ApiBase {
166
169
  return customIcon;
167
170
  }
168
171
  showLoadingScreen() {
169
- this.dispatchAction(PopupRedux.PopupShowLoading());
172
+ logDeprecation(this.adaptable.logger, 'UserInterfaceApi', 'showLoadingScreen', 'showProgressIndicator');
173
+ this.showProgressIndicator({ text: 'Loading' });
170
174
  }
171
175
  hideLoadingScreen() {
172
- this.dispatchAction(PopupRedux.PopupHideLoading());
176
+ logDeprecation(this.adaptable.logger, 'UserInterfaceApi', 'hideLoadingScreen', 'hideProgressIndicator');
177
+ this.hideProgressIndicator();
178
+ }
179
+ showProgressIndicator(config) {
180
+ if (config.delay) {
181
+ this.showProgressIndicatorTimeout = setTimeout(() => {
182
+ this.dispatchAction(SystemProgressIndicatorShow(config));
183
+ }, config.delay);
184
+ }
185
+ else {
186
+ this.dispatchAction(SystemProgressIndicatorShow(config));
187
+ }
188
+ }
189
+ hideProgressIndicator() {
190
+ if (this.showProgressIndicatorTimeout) {
191
+ clearTimeout(this.showProgressIndicatorTimeout);
192
+ this.showProgressIndicatorTimeout = null;
193
+ }
194
+ this.dispatchAction(SystemProgressIndicatorHide());
173
195
  }
174
196
  openCustomWindowPopup(config) {
175
197
  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;
@@ -1,6 +1,5 @@
1
1
  import * as PopupRedux from '../../Redux/ActionsReducers/PopupRedux';
2
2
  import * as SystemRedux from '../../Redux/ActionsReducers/SystemRedux';
3
- import { SystemProgressIndicatorHide, SystemProgressIndicatorShow, } from '../../Redux/ActionsReducers/SystemRedux';
4
3
  import * as GridRedux from '../../Redux/ActionsReducers/GridRedux';
5
4
  import * as DeadRedux from '../../Redux/DeadRedux';
6
5
  import { ApiBase } from '../Implementation/ApiBase';
@@ -249,7 +248,7 @@ export class AdaptableInternalApi extends ApiBase {
249
248
  }
250
249
  }
251
250
  executeWithProgressIndicator(label, executeFn, errorHandlingFn) {
252
- this.dispatchReduxAction(SystemProgressIndicatorShow(label));
251
+ this.getAdaptableApi().userInterfaceApi.showProgressIndicator({ text: label, delay: 300 });
253
252
  // setTimeout required to give the ProgressIndicator rendering a head-start (see RAF in ProgressIndicator implementation)
254
253
  setTimeout(() => {
255
254
  try {
@@ -257,14 +256,11 @@ export class AdaptableInternalApi extends ApiBase {
257
256
  }
258
257
  catch (error) {
259
258
  errorHandlingFn === null || errorHandlingFn === void 0 ? void 0 : errorHandlingFn();
260
- this.hideProgressIndicator();
259
+ this.getUserInterfaceApi().hideProgressIndicator();
261
260
  this.adaptable.logger.error('Unexpected error while executing a function with a progress indicator', error);
262
261
  }
263
262
  }, 16);
264
263
  }
265
- hideProgressIndicator() {
266
- this.dispatchReduxAction(SystemProgressIndicatorHide());
267
- }
268
264
  getCorrectEnglishVariant(wordToSpell) {
269
265
  if (wordToSpell.includes('our')) {
270
266
  return this.getUserInterfaceOptions().englishVariant == 'GB'
@@ -3,6 +3,7 @@ import StringExtensions from '../../Utilities/Extensions/StringExtensions';
3
3
  import FormatHelper from '../../Utilities/Helpers/FormatHelper';
4
4
  import ObjectFactory from '../../Utilities/ObjectFactory';
5
5
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
6
+ import { ROW_SUMMARY_ROW_ID } from '../../PredefinedConfig/Common/RowSummary';
6
7
  export class FormatColumnInternalApi extends ApiBase {
7
8
  /**
8
9
  * Retrieves all Format Columns in Adaptable State with the `Style` property set
@@ -154,7 +155,7 @@ export class FormatColumnInternalApi extends ApiBase {
154
155
  * @param params
155
156
  */
156
157
  isFormatColumnRelevantForColumn(formatColumn, column, params) {
157
- var _a, _b;
158
+ var _a, _b, _c, _d;
158
159
  // suspended is important to be first
159
160
  if (formatColumn.IsSuspended) {
160
161
  return false;
@@ -163,11 +164,14 @@ export class FormatColumnInternalApi extends ApiBase {
163
164
  this.getAdaptableApi().gridApi.isGroupRowNode(params.node)) {
164
165
  return false;
165
166
  }
167
+ if (!formatColumn.IncludeRowSummaries && ((_b = (_a = params.node) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[ROW_SUMMARY_ROW_ID])) {
168
+ return false;
169
+ }
166
170
  if (!formatColumn.Rule) {
167
171
  return true;
168
172
  }
169
173
  // first run the predicate
170
- if (formatColumn.Rule.Predicates && ((_b = (_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)) {
174
+ if (formatColumn.Rule.Predicates && ((_d = (_c = formatColumn.Rule) === null || _c === void 0 ? void 0 : _c.Predicates) === null || _d === void 0 ? void 0 : _d.length)) {
171
175
  const predicateDefHandlerContext = Object.assign({ value: params.value, oldValue: null, displayValue: params.value, node: params.node, column: column }, this.getAdaptableApi().internalApi.buildBaseContext());
172
176
  return this.evaluatePredicate(formatColumn, predicateDefHandlerContext);
173
177
  }
@@ -58,7 +58,7 @@ export class LayoutInternalApi extends ApiBase {
58
58
  if (!layoutState.Layouts || !isLayoutDefined(DEFAULT_LAYOUT)) {
59
59
  // augogroup columns are not in columns list
60
60
  // the code that adds column ok grid state explicitly ignores autoColumns
61
- const allGridColumns = this.getAdaptableApi().gridApi.getAllGridColumns();
61
+ const allGridColumns = this.getAdaptableApi().gridApi.getAllAgGridColumns();
62
62
  let defaultLayout = ObjectFactory.CreateEmptyLayout({
63
63
  Name: DEFAULT_LAYOUT,
64
64
  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
  */
@@ -75,18 +75,28 @@ export const ADAPTABLE_CONTEXT_MENU_ITEMS = [
75
75
  'dashboard-hide',
76
76
  'dashboard-show',
77
77
  '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',
78
+ 'edit-group',
79
+ 'export-visual-data-excel',
80
+ 'export-all-data-excel',
81
+ 'export-all-data-csv',
82
+ 'export-all-data-clipboard',
83
+ 'export-all-data-json',
84
+ 'export-all-data-table',
85
+ 'export-current-data-excel',
86
+ 'export-current-data-csv',
87
+ 'export-current-data-clipboard',
88
+ 'export-current-data-json',
89
+ 'export-current-data-table',
90
+ 'export-selected-cells-excel',
91
+ 'export-selected-cells-csv',
92
+ 'export-selected-cells-clipboard',
93
+ 'export-selected-cells-json',
94
+ 'export-selected-cells-table',
95
+ 'export-selected-rows-excel',
96
+ 'export-selected-rows-csv',
97
+ 'export-selected-rows-clipboard',
98
+ 'export-selected-rows-json',
99
+ 'export-selected-rows-table',
90
100
  'fdc3-broadcast',
91
101
  'fdc3-raise-intent',
92
102
  '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,7 +1,5 @@
1
1
  export const POPUP_SHOW_SCREEN = 'POPUP_SHOW_SCREEN';
2
2
  export const POPUP_HIDE_SCREEN = 'POPUP_HIDE_SCREEN';
3
- export const POPUP_SHOW_LOADING = 'POPUP_SHOW_LOADING';
4
- export const POPUP_HIDE_LOADING = 'POPUP_HIDE_LOADING';
5
3
  export const POPUP_SHOW_ALERT = 'POPUP_SHOW_ALERT';
6
4
  export const POPUP_SHOW_PROMPT = 'POPUP_SHOW_PROMPT';
7
5
  export const POPUP_HIDE_PROMPT = 'POPUP_HIDE_PROMPT';
@@ -53,12 +51,6 @@ export const PopupShowAlert = (alert) => {
53
51
  alert: alert,
54
52
  };
55
53
  };
56
- export const PopupShowLoading = () => ({
57
- type: POPUP_SHOW_LOADING,
58
- });
59
- export const PopupHideLoading = () => ({
60
- type: POPUP_HIDE_LOADING,
61
- });
62
54
  export const PopupShowPrompt = (prompt) => ({
63
55
  type: POPUP_SHOW_PROMPT,
64
56
  prompt: prompt,
@@ -91,9 +83,6 @@ const initialState = {
91
83
  ComponentName: '',
92
84
  Params: null,
93
85
  },
94
- LoadingPopup: {
95
- ShowLoadingPopup: true,
96
- },
97
86
  ConfirmationPopup: {
98
87
  ShowConfirmationPopup: false,
99
88
  Msg: '',
@@ -229,14 +218,6 @@ export const PopupReducer = (state = initialState, action) => {
229
218
  ConfirmationPopup: newConfirmationPopup,
230
219
  });
231
220
  }
232
- case POPUP_SHOW_LOADING: {
233
- let newLoadingPopup = { ShowLoadingPopup: true };
234
- return Object.assign({}, state, { LoadingPopup: newLoadingPopup });
235
- }
236
- case POPUP_HIDE_LOADING: {
237
- let newLoadingPopup = { ShowLoadingPopup: false };
238
- return Object.assign({}, state, { LoadingPopup: newLoadingPopup });
239
- }
240
221
  case POPUP_CLEAR_PARAM: {
241
222
  let newScreenPopup = {
242
223
  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;
@@ -220,9 +220,11 @@ export const SystemCellSummaryChangeOperation = (cellSummaryOperation) => ({
220
220
  type: SYSTEM_CELL_SUMMARY_CHANGE_OPERATION,
221
221
  cellSummaryOperation: cellSummaryOperation,
222
222
  });
223
- export const SystemProgressIndicatorShow = (label) => ({
223
+ export const SystemProgressIndicatorShow = (config) => ({
224
224
  type: SYSTEM_PROGRESS_INDICATOR_SHOW,
225
- label,
225
+ text: config.text,
226
+ render: config.render,
227
+ frameworkComponent: config.frameworkComponent,
226
228
  });
227
229
  export const SystemProgressIndicatorHide = () => ({
228
230
  type: SYSTEM_PROGRESS_INDICATOR_HIDE,
@@ -370,7 +372,7 @@ const initialState = {
370
372
  SmartEditValue: 1,
371
373
  SmartEditOperation: MathOperation.Multiply,
372
374
  CellSummaryOperation: CELL_SUMMARY_DEFAULT_OPERATION,
373
- ProgressIndicator: { active: false, label: '' },
375
+ ProgressIndicator: { active: false, text: '' },
374
376
  License: {
375
377
  watermark: { show: false, text: null },
376
378
  disablePersistence: false,
@@ -627,7 +629,9 @@ export const SystemReducer = (state = initialState, action) => {
627
629
  const updatedState = {
628
630
  ProgressIndicator: {
629
631
  active: true,
630
- label: actionTypedAdd.label,
632
+ text: actionTypedAdd.text,
633
+ render: actionTypedAdd.render,
634
+ frameworkComponent: actionTypedAdd.frameworkComponent,
631
635
  },
632
636
  };
633
637
  return Object.assign({}, state, updatedState);
@@ -636,7 +640,6 @@ export const SystemReducer = (state = initialState, action) => {
636
640
  const updatedState = {
637
641
  ProgressIndicator: {
638
642
  active: false,
639
- label: '',
640
643
  },
641
644
  };
642
645
  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;