@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
@@ -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
  */
@@ -28,7 +28,7 @@ export interface CustomContextMenuContext<TData = any> extends ContextMenuContex
28
28
  /**
29
29
  * Default structure of Adaptable Menu Items
30
30
  */
31
- defaultAdaptableMenuStructure: AdaptableSystemMenuItem[];
31
+ defaultAdaptableMenuStructure: (AdaptableSystemMenuItem | '-')[];
32
32
  }
33
33
  /**
34
34
  * Context info provided when building Custom Column Menus
@@ -45,7 +45,7 @@ export interface CustomColumnMenuContext<TData = any> extends ColumnMenuContext<
45
45
  /**
46
46
  * Default structure of Adaptable Menu Items
47
47
  */
48
- defaultAdaptableMenuStructure: AdaptableSystemMenuItem[];
48
+ defaultAdaptableMenuStructure: (AdaptableSystemMenuItem | '-')[];
49
49
  }
50
50
  /**
51
51
  * Custom Context Menu Item
@@ -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
  }
@@ -74,19 +74,19 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
74
74
  return isAutoPivotColumn(columnId);
75
75
  }
76
76
  isCalculatedColumn(columnId) {
77
- return (this.getAdaptableApi().calculatedColumnApi
78
- .getCalculatedColumns()
77
+ return (this.getAdaptableApi()
78
+ .calculatedColumnApi.getCalculatedColumns()
79
79
  .find((cc) => cc.ColumnId == columnId) != null);
80
80
  }
81
81
  isFreeTextColumn(columnId) {
82
- return (this.getAdaptableApi().freeTextColumnApi
83
- .getFreeTextColumns()
82
+ return (this.getAdaptableApi()
83
+ .freeTextColumnApi.getFreeTextColumns()
84
84
  .find((cc) => cc.ColumnId == columnId) != null);
85
85
  }
86
86
  isActionColumn(columnId) {
87
87
  var _a;
88
- return (((_a = this.getAdaptableApi().actionColumnApi
89
- .getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
88
+ return (((_a = this.getAdaptableApi()
89
+ .actionColumnApi.getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
90
90
  }
91
91
  getColumnWithColumnId(columnId, logWarning) {
92
92
  if (columnId == undefined) {
@@ -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
@@ -11,8 +11,8 @@ class ExpressionApiImpl extends ApiBase_1.ApiBase {
11
11
  this.internalApi = new ExpressionInternalApi_1.ExpressionInternalApi(adaptable);
12
12
  }
13
13
  isValidBooleanExpression(query, module, validationErrorMessage) {
14
- const { isValid, errorMessage } = this.getAdaptableApi().internalApi
15
- .getQueryLanguageService()
14
+ const { isValid, errorMessage } = this.getAdaptableApi()
15
+ .internalApi.getQueryLanguageService()
16
16
  .validateBoolean(query, module, { force: true });
17
17
  if (!isValid && validationErrorMessage) {
18
18
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -20,8 +20,8 @@ class ExpressionApiImpl extends ApiBase_1.ApiBase {
20
20
  return isValid;
21
21
  }
22
22
  isValidObservableExpression(expression, module, validationErrorMessage) {
23
- const { isValid, errorMessage } = this.getAdaptableApi().internalApi
24
- .getQueryLanguageService()
23
+ const { isValid, errorMessage } = this.getAdaptableApi()
24
+ .internalApi.getQueryLanguageService()
25
25
  .validateObservable(expression, module);
26
26
  if (!isValid && validationErrorMessage) {
27
27
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -29,8 +29,8 @@ class ExpressionApiImpl extends ApiBase_1.ApiBase {
29
29
  return isValid;
30
30
  }
31
31
  isValidAggregatedBooleanExpression(expression, module, validationErrorMessage) {
32
- const { isValid, errorMessage } = this.getAdaptableApi().internalApi
33
- .getQueryLanguageService()
32
+ const { isValid, errorMessage } = this.getAdaptableApi()
33
+ .internalApi.getQueryLanguageService()
34
34
  .validateAggregatedBoolean(expression, module);
35
35
  if (!isValid && validationErrorMessage) {
36
36
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -38,8 +38,8 @@ class ExpressionApiImpl extends ApiBase_1.ApiBase {
38
38
  return isValid;
39
39
  }
40
40
  isValidAggregatedScalarExpression(expression, module, validationErrorMessage) {
41
- const { isValid, errorMessage } = this.getAdaptableApi().internalApi
42
- .getQueryLanguageService()
41
+ const { isValid, errorMessage } = this.getAdaptableApi()
42
+ .internalApi.getQueryLanguageService()
43
43
  .validateAggregatedScalar(expression, module);
44
44
  if (!isValid && validationErrorMessage) {
45
45
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -51,8 +51,8 @@ class ExpressionApiImpl extends ApiBase_1.ApiBase {
51
51
  }
52
52
  getColumnsFromExpression(expression) {
53
53
  try {
54
- const columnIds = this.getAdaptableApi().internalApi
55
- .getQueryLanguageService()
54
+ const columnIds = this.getAdaptableApi()
55
+ .internalApi.getQueryLanguageService()
56
56
  .getColumnsFromExpression(expression);
57
57
  columnIds.forEach((columnId) => {
58
58
  const calculatedColumn = this.getAdaptableApi().calculatedColumnApi.getCalculatedColumnForColumnId(columnId);
@@ -83,8 +83,8 @@ class ExpressionApiImpl extends ApiBase_1.ApiBase {
83
83
  return ((_d = (_c = (_b = (_a = query.BooleanExpression) !== null && _a !== void 0 ? _a : query.ScalarExpression) !== null && _b !== void 0 ? _b : query.ObservableExpression) !== null && _c !== void 0 ? _c : query.AggregatedBooleanExpression) !== null && _d !== void 0 ? _d : query.AggregatedScalarExpression);
84
84
  }
85
85
  getAdaptableQueryExpressionWithColumnFriendlyNames(query) {
86
- return this.getAdaptableApi().internalApi
87
- .getQueryLanguageService()
86
+ return this.getAdaptableApi()
87
+ .internalApi.getQueryLanguageService()
88
88
  .getExpressionWithColumnFriendlyNames(this.getAdaptableQueryExpression(query));
89
89
  }
90
90
  useCaseSensitivity() {
@@ -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');
@@ -219,8 +224,8 @@ class GridApiImpl extends ApiBase_1.ApiBase {
219
224
  }
220
225
  selectCellRangeByQuery(query, gridCellRange, clearSelection) {
221
226
  const filteredRowNodes = [];
222
- const isRowNodeInQuery = (rowNode) => this.getAdaptableApi().internalApi
223
- .getQueryLanguageService()
227
+ const isRowNodeInQuery = (rowNode) => this.getAdaptableApi()
228
+ .internalApi.getQueryLanguageService()
224
229
  .evaluateBooleanExpression(query, 'GridInfo', rowNode);
225
230
  if (gridCellRange) {
226
231
  const [startNode, endNode] = this.getSelectionStartEndNodes(gridCellRange);
@@ -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
  }
@@ -57,8 +57,8 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
57
57
  if ('ColumnIds' in scope) {
58
58
  return ((scope.ColumnIds.length > 1 ? 'Columns' : 'Column') +
59
59
  ': ' +
60
- this.getAdaptableApi().columnApi
61
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
60
+ this.getAdaptableApi()
61
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
62
62
  .map((c) => {
63
63
  return '"' + c + '"';
64
64
  })
@@ -139,8 +139,8 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
139
139
  if ('ColumnIds' in scope) {
140
140
  let text = scope.ColumnIds.length == 1 ? 'Column: ' : 'Columns: ';
141
141
  return (text +
142
- this.getAdaptableApi().columnApi
143
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
142
+ this.getAdaptableApi()
143
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
144
144
  .map((c) => {
145
145
  return '"' + c + '"';
146
146
  })
@@ -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'
@@ -128,8 +128,8 @@ class ColumnFilterInternalApi extends ApiBase_1.ApiBase {
128
128
  const isClearAndPreviousWasActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR &&
129
129
  this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
130
130
  const isClearAllAtLeastOneActiveFilter = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL &&
131
- this.getAdaptableApi().columnFilterApi
132
- .getColumnFilters()
131
+ this.getAdaptableApi()
132
+ .columnFilterApi.getColumnFilters()
133
133
  .some((columnFilter) => this.getAdaptableApi().columnFilterApi.isColumnFilterActive(columnFilter));
134
134
  let isEditTrigger = false;
135
135
  if (action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT) {
@@ -55,8 +55,8 @@ class DashboardInternalApi extends ApiBase_1.ApiBase {
55
55
  return false;
56
56
  }
57
57
  isToolbarCustom(toolbarName) {
58
- return this.getAdaptableApi().dashboardApi
59
- .getCustomToolbars()
58
+ return this.getAdaptableApi()
59
+ .dashboardApi.getCustomToolbars()
60
60
  .some((tb) => tb.name === toolbarName);
61
61
  }
62
62
  getCustomToolbarRenderContainerId(customToolbarName) {
@@ -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
  }
@@ -188,8 +192,8 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
188
192
  evaluateExpression(formatColumn, node) {
189
193
  const isValidExpression = this.getAdaptableApi().expressionApi.isValidBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, `Invalid format column rule '${formatColumn.Rule.BooleanExpression}'`);
190
194
  return (isValidExpression &&
191
- this.getAdaptableApi().internalApi
192
- .getQueryLanguageService()
195
+ this.getAdaptableApi()
196
+ .internalApi.getQueryLanguageService()
193
197
  .evaluateBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, node));
194
198
  }
195
199
  /**
@@ -239,7 +243,9 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
239
243
  });
240
244
  const columnsThatNeedRefresh = new Set();
241
245
  this.getFormatColumnsDependentOnColumns(impactedColumnIds).forEach((formatColumn) => {
242
- this.getAdaptableApi().scopeApi.getColumnsForScope(formatColumn.Scope).forEach((col) => {
246
+ this.getAdaptableApi()
247
+ .scopeApi.getColumnsForScope(formatColumn.Scope)
248
+ .forEach((col) => {
243
249
  columnsThatNeedRefresh.add(col.columnId);
244
250
  });
245
251
  });
@@ -3,7 +3,7 @@ import { GridFilter } from '../../types';
3
3
  export declare class GridFilterInternalApi extends ApiBase {
4
4
  fireGridFilterAppliedEvent(): void;
5
5
  /**
6
- * Compares to Grid Filters to see if they are identical
7
- */
6
+ * Compares to Grid Filters to see if they are identical
7
+ */
8
8
  isGridFilterDifferent(oldFilter: GridFilter, newFilter: GridFilter): boolean;
9
9
  }
@@ -14,8 +14,8 @@ class GridFilterInternalApi extends ApiBase_1.ApiBase {
14
14
  }
15
15
  }
16
16
  /**
17
- * Compares to Grid Filters to see if they are identical
18
- */
17
+ * Compares to Grid Filters to see if they are identical
18
+ */
19
19
  isGridFilterDifferent(oldFilter, newFilter) {
20
20
  return (oldFilter === null || oldFilter === void 0 ? void 0 : oldFilter.Expression) === (newFilter === null || newFilter === void 0 ? void 0 : newFilter.Expression);
21
21
  }
@@ -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' | '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' | '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' | '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';
@@ -74,7 +74,7 @@ export declare const Fdc3StandardIntents: ("StartCall" | "StartChat" | "StartEma
74
74
  /**
75
75
  * All FDC3 standard intents
76
76
  */
77
- export type Fdc3StandardIntentType = typeof Fdc3StandardIntents[number];
77
+ export type Fdc3StandardIntentType = (typeof Fdc3StandardIntents)[number];
78
78
  /**
79
79
  * Custom FDC3 intent
80
80
  */
@@ -86,4 +86,4 @@ export type Fdc3IntentType = Fdc3StandardIntentType | Fdc3CustomIntentType;
86
86
  /**
87
87
  * Valid context for a given FDC3 intent
88
88
  */
89
- export type CompatibleContext<F extends Fdc3StandardIntentType> = typeof Fdc3IntentConfiguration[F]['contexts'][number];
89
+ export type CompatibleContext<F extends Fdc3StandardIntentType> = (typeof Fdc3IntentConfiguration)[F]['contexts'][number];
@@ -5,16 +5,16 @@ import { SelectedCellInfo } from '../Selection/SelectedCellInfo';
5
5
  import { SelectedRowInfo } from '../Selection/SelectedRowInfo';
6
6
  import { Column, IRowNode } from '@ag-grid-community/core';
7
7
  import { AdaptableIcon, BaseContext } from '../../types';
8
- export type AdaptableColumnMenuItemName = typeof ADAPTABLE_COLUMN_MENU_ITEMS[number];
9
- export type AdaptableContextMenuItemName = typeof ADAPTABLE_CONTEXT_MENU_ITEMS[number];
8
+ export type AdaptableColumnMenuItemName = (typeof ADAPTABLE_COLUMN_MENU_ITEMS)[number];
9
+ export type AdaptableContextMenuItemName = (typeof ADAPTABLE_CONTEXT_MENU_ITEMS)[number];
10
10
  /**
11
11
  * List of Shipped Adaptable Column Menu Items
12
12
  */
13
- export declare const ADAPTABLE_COLUMN_MENU_ITEMS: readonly ["calculated-column-edit", "cell-summary-show", "column-filter-bar-hide", "column-filter-bar-show", "column-filter-clear", "column-filter-on-cell-value", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "custom-sort-add", "custom-sort-edit", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "flashing-cell-add", "flashing-cell-delete", "format-column-add", "format-column-edit", "free-text-column-edit", "grid-info-show", "layout-column-caption-change", "layout-column-hide", "layout-edit", "layout-select-actions", "layout-column-select", "layout-column-select-preserve", "layout-column-select-reset", "layout-select-all", "plus-minus-add", "settings-panel-open", "styled-column-badge-add", "styled-column-badge-edit", "styled-column-gradient-add", "styled-column-gradient-edit", "styled-column-percent-bar-add", "styled-column-percent-bar-edit", "styled-column-sparkline-add", "styled-column-sparkline-edit", "system-status-show", "_navbar"];
13
+ export declare const ADAPTABLE_COLUMN_MENU_ITEMS: readonly ["calculated-column-edit", "cell-summary-show", "column-group", "column-filter-group", "column-filter-bar-hide", "column-filter-bar-show", "column-filter-clear", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "custom-sort-add", "custom-sort-edit", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "flashing-cell-add", "flashing-cell-delete", "format-column-add", "format-column-edit", "free-text-column-edit", "grid-group", "grid-info-show", "layout-column-caption-change", "layout-column-hide", "layout-edit", "layout-column-select", "layout-column-select-preserve", "layout-column-select-reset", "layout-grid-select", "plus-minus-add", "settings-panel-open", "styling-group", "styled-column-badge-add", "styled-column-badge-edit", "styled-column-gradient-add", "styled-column-gradient-edit", "styled-column-percent-bar-add", "styled-column-percent-bar-edit", "styled-column-sparkline-add", "styled-column-sparkline-edit", "system-status-show", "_navbar"];
14
14
  /**
15
15
  * List of Shipped Adaptable Context Menu Items
16
16
  */
17
- export declare const ADAPTABLE_CONTEXT_MENU_ITEMS: readonly ["menu-group-parent", "alert-clear", "bulk-update-apply", "calculated-column-edit", "cell-summary-show", "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-info-show", "layout-aggregated-view", "layout-auto-size", "layout-clear-selection", "layout-edit", "layout-select-all", "layout-grid-actions", "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
  */