@adaptabletools/adaptable-cjs 19.0.0 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +1 -2
  2. package/base.css +1 -1
  3. package/base.css.map +1 -1
  4. package/index.css +1 -1
  5. package/index.css.map +1 -1
  6. package/package.json +1 -1
  7. package/src/Api/AlertApi.d.ts +8 -0
  8. package/src/Api/ColumnApi.d.ts +4 -0
  9. package/src/Api/CustomSortApi.d.ts +8 -0
  10. package/src/Api/Events/LiveDataChanged.d.ts +1 -1
  11. package/src/Api/FlashingCellApi.d.ts +25 -12
  12. package/src/Api/FormatColumnApi.d.ts +8 -0
  13. package/src/Api/Implementation/AlertApiImpl.d.ts +2 -0
  14. package/src/Api/Implementation/AlertApiImpl.js +6 -0
  15. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  16. package/src/Api/Implementation/ColumnApiImpl.js +6 -0
  17. package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -0
  18. package/src/Api/Implementation/CustomSortApiImpl.js +6 -0
  19. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +3 -0
  20. package/src/Api/Implementation/FlashingCellApiImpl.js +9 -0
  21. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +2 -0
  22. package/src/Api/Implementation/FormatColumnApiImpl.js +6 -0
  23. package/src/Api/Implementation/ShortcutApiImpl.d.ts +2 -0
  24. package/src/Api/Implementation/ShortcutApiImpl.js +6 -0
  25. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +2 -0
  26. package/src/Api/Implementation/StyledColumnApiImpl.js +6 -0
  27. package/src/Api/Internal/ExportInternalApi.d.ts +3 -3
  28. package/src/Api/Internal/ExportInternalApi.js +17 -13
  29. package/src/Api/Internal/GridFilterInternalApi.d.ts +1 -1
  30. package/src/Api/Internal/GridFilterInternalApi.js +1 -1
  31. package/src/Api/ShortcutApi.d.ts +8 -0
  32. package/src/Api/StyledColumnApi.d.ts +8 -0
  33. package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +1 -1
  34. package/src/PredefinedConfig/Common/RowScope.d.ts +1 -1
  35. package/src/Redux/ActionsReducers/SystemRedux.js +3 -8
  36. package/src/View/Dashboard/DashboardPopup.js +4 -3
  37. package/src/View/Layout/Wizard/getGridFilterPreview.js +1 -1
  38. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  39. package/src/View/Layout/Wizard/sections/GridFilterSection.js +1 -1
  40. package/src/agGrid/AdaptableAgGrid.js +4 -3
  41. package/src/agGrid/AgGridColumnAdapter.js +2 -1
  42. package/src/agGrid/PercentBarRenderer.js +1 -1
  43. package/src/env.js +2 -2
  44. package/src/metamodel/adaptable.metamodel.js +1 -1
  45. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -70,6 +70,14 @@ export interface CustomSortApi {
70
70
  * @returns sort column
71
71
  */
72
72
  suspendCustomSort(customSort: CustomSort): CustomSort;
73
+ /**
74
+ * Suspends all Custom Sorts
75
+ */
76
+ suspendAllCustomSort(): void;
77
+ /**
78
+ * Activates all suspended Custom Sort
79
+ */
80
+ unSuspendAllCustomSort(): void;
73
81
  /**
74
82
  * Un-suspends or activates a suspended Custom Sort
75
83
  * @param customSort Custom Sort to suspend
@@ -22,7 +22,7 @@ export interface LiveDataChangedInfo extends BaseEventInfo {
22
22
  */
23
23
  export interface LiveReport {
24
24
  /**
25
- * For OpenFin this is the workbook name; for iPushpull the page name;
25
+ * For OpenFin this is the workbook name; for iPushpull the page name
26
26
  */
27
27
  pageName: string;
28
28
  /**
@@ -13,7 +13,7 @@ export interface FlashingCellApi {
13
13
  */
14
14
  getFlashingCellState(): FlashingCellState;
15
15
  /**
16
- * Retrieves all Flashing cell Definitions in Flashing Cell State
16
+ * Retrieves all Flashing Cell Definitions in Flashing Cell State
17
17
  */
18
18
  getFlashingCellDefinitions(config?: {
19
19
  includeLayoutNotAssociatedObjects?: boolean;
@@ -21,7 +21,7 @@ export interface FlashingCellApi {
21
21
  /**
22
22
  * Retrieves Flashing Cell Definition by the technical ID (from `FlashingCellState`)
23
23
  * @param id Flashing Cell Definition Id
24
- * @returns flashing cell definition
24
+ * @returns Flashing Cell Definition
25
25
  */
26
26
  getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid']): FlashingCellDefinition;
27
27
  /**
@@ -29,9 +29,14 @@ export interface FlashingCellApi {
29
29
  * @returns flashing cell definitions
30
30
  */
31
31
  getActiveFlashingCellDefinitions(): FlashingCellDefinition[];
32
+ /**
33
+ * Retrieves all suspended Cell Definitions in Flashing Cell State
34
+ * @returns flashing cell definitions
35
+ */
36
+ getSuspendedFlashingCellDefinitions(): FlashingCellDefinition[];
32
37
  /**
33
38
  * Returns `FlashTarget` of the given Flashing Cell Definition
34
- * @param flashingCellDefinition Flashing cell Definition to check
39
+ * @param flashingCellDefinition Flashing Cell Definition to check
35
40
  */
36
41
  getFlashingCellFlashTarget(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition['FlashTarget'];
37
42
  /**
@@ -46,13 +51,13 @@ export interface FlashingCellApi {
46
51
  */
47
52
  editFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
48
53
  /**
49
- * Edits provided Flashing cell Definitions
54
+ * Edits provided Flashing Cell Definitions
50
55
  * @param flashingCellDefinitions Flashing Cell Definitions to Edit
51
- * @returns flashing cell definitions
56
+ * @returns Flashing Cell definitions
52
57
  */
53
58
  editFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
54
59
  /**
55
- * Adds a Flashing cell Definition to State
60
+ * Adds a Flashing Cell Definition to State
56
61
  * @param flashingCellDefinition Flashing Cell Definition to Add
57
62
  */
58
63
  addFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
@@ -62,23 +67,31 @@ export interface FlashingCellApi {
62
67
  */
63
68
  setFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): void;
64
69
  /**
65
- * Adds provided Flashing cell Definitions
70
+ * Adds provided Flashing Cell Definitions
66
71
  * @param flashingCellDefinitions Flashing Cell Definition to Add
67
- * @returns flashing cell definition
72
+ * @returns Flashing Cell Definition
68
73
  */
69
74
  addFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
70
75
  /**
71
- * Suspends a Flashing cell Definition
76
+ * Suspends a Flashing Cell Definition
72
77
  * @param flashingCellDefinition Flashing Cell Definition to Suspend
73
- * @returns flashing cell definition
78
+ * @returns Flashing Cell Definition
74
79
  */
75
80
  suspendFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
76
81
  /**
77
- * Activates a suspended Flashing cell Definition
82
+ * Activates a suspended Flashing Cell Definition
78
83
  * @param flashingCellDefinition Flashing Cell Definition to Un-Suspend (activate)
79
- * @returns flashing cell definition
84
+ * @returns Flashing Cell Definition
80
85
  */
81
86
  unSuspendFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
87
+ /**
88
+ * Suspends all FlashingCell Definitions
89
+ */
90
+ suspendAllFlashingCellDefinition(): void;
91
+ /**
92
+ * Activates all suspended Flashing Cell Definition
93
+ */
94
+ unSuspendAllFlashingCellDefinition(): void;
82
95
  /**
83
96
  * Retrieves all Predicate Defs that match given Scope
84
97
  * @param scope the Scope to check
@@ -74,6 +74,14 @@ export interface FormatColumnApi {
74
74
  * @returns format column
75
75
  */
76
76
  unSuspendFormatColumn(formatColumn: FormatColumn): FormatColumn;
77
+ /**
78
+ * Suspends all Format Columns
79
+ */
80
+ suspendAllFormatColumn(): void;
81
+ /**
82
+ * Activates all suspended Format Column
83
+ */
84
+ unSuspendAllFormatColumn(): void;
77
85
  /**
78
86
  * Opens Settings Panel with Format Column section selected and visible
79
87
  */
@@ -30,6 +30,8 @@ export declare class AlertApiImpl extends ApiBase implements AlertApi {
30
30
  openAlertSettingsPanel(): void;
31
31
  editAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
32
32
  suspendAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
33
+ suspendAllAlertDefinition(): void;
34
+ unSuspendAllAlertDefinition(): void;
33
35
  unSuspendAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
34
36
  evaluateAlertDefinitions(alertDefinitions: AlertDefinition[]): void;
35
37
  findAlertDefinitions(criteria: AdaptableObjectLookupCriteria): AlertDefinition[];
@@ -160,6 +160,12 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
160
160
  this.dispatchAction(AlertRedux.AlertDefinitionSuspend(alertDefinition));
161
161
  return this.getAlertDefinitionById(alertDefinition.Uuid);
162
162
  }
163
+ suspendAllAlertDefinition() {
164
+ this.dispatchAction(AlertRedux.AlertDefinitionSuspendAll());
165
+ }
166
+ unSuspendAllAlertDefinition() {
167
+ this.dispatchAction(AlertRedux.AlertDefinitionUnSuspendAll());
168
+ }
163
169
  unSuspendAlertDefinition(alertDefinition) {
164
170
  this.dispatchAction(AlertRedux.AlertDefinitionUnSuspend(alertDefinition));
165
171
  return this.getAlertDefinitionById(alertDefinition.Uuid);
@@ -10,6 +10,7 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
10
10
  internalApi: ColumnInternalApi;
11
11
  constructor(adaptable: IAdaptable);
12
12
  getColumns(): AdaptableColumn[];
13
+ getStandardColumns(): AdaptableColumn[];
13
14
  getVisibleColumns(): AdaptableColumn[];
14
15
  selectColumn(columnId: string): void;
15
16
  selectColumns(columnIds: string[]): void;
@@ -29,6 +29,12 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
29
29
  var _a;
30
30
  return (_a = this.getAdaptableApi().gridApi.getGridState().Columns) !== null && _a !== void 0 ? _a : [];
31
31
  }
32
+ getStandardColumns() {
33
+ const cols = this.getAdaptableApi()
34
+ .gridApi.getGridState()
35
+ .Columns.filter((c) => !this.internalApi.isActionRowButtonColumn(c.columnId));
36
+ return cols !== null && cols !== void 0 ? cols : [];
37
+ }
32
38
  getVisibleColumns() {
33
39
  const layout = this.getAdaptableApi().layoutApi.getCurrentLayout();
34
40
  const visibleCols = layout.Columns.reduce((acc, colId) => {
@@ -25,5 +25,7 @@ export declare class CustomSortApiImpl extends ApiBase implements CustomSortApi
25
25
  deleteCustomSort(column: string): void;
26
26
  suspendCustomSort(customSort: CustomSort): CustomSort;
27
27
  unSuspendCustomSort(customSort: CustomSort): CustomSort;
28
+ suspendAllCustomSort(): void;
29
+ unSuspendAllCustomSort(): void;
28
30
  openCustomSortSettingsPanel(): void;
29
31
  }
@@ -64,6 +64,12 @@ class CustomSortApiImpl extends ApiBase_1.ApiBase {
64
64
  this.dispatchAction(CustomSortRedux.CustomSortUnSuspend(customSort));
65
65
  return this.getCustomSortById(customSort.Uuid);
66
66
  }
67
+ suspendAllCustomSort() {
68
+ this.dispatchAction(CustomSortRedux.CustomSortSuspendAll());
69
+ }
70
+ unSuspendAllCustomSort() {
71
+ this.dispatchAction(CustomSortRedux.CustomSortUnSuspendAll());
72
+ }
67
73
  openCustomSortSettingsPanel() {
68
74
  this.showModulePopup(ModuleConstants.CustomSortModuleId);
69
75
  }
@@ -14,6 +14,7 @@ export declare class FlashingCellApiImpl extends ApiBase implements FlashingCell
14
14
  getFlashingCellDefinitions(config?: LayoutAssociatedObjectLoadConfig): FlashingCellDefinition[];
15
15
  getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid']): FlashingCellDefinition;
16
16
  getActiveFlashingCellDefinitions(): FlashingCellDefinition[];
17
+ getSuspendedFlashingCellDefinitions(): FlashingCellDefinition[];
17
18
  getFlashingCellFlashTarget(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition['FlashTarget'];
18
19
  showFlashingCell(flashingCellToShow: AdaptableFlashingCell): void;
19
20
  addFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
@@ -21,6 +22,8 @@ export declare class FlashingCellApiImpl extends ApiBase implements FlashingCell
21
22
  editFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
22
23
  suspendFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
23
24
  unSuspendFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
25
+ suspendAllFlashingCellDefinition(): void;
26
+ unSuspendAllFlashingCellDefinition(): void;
24
27
  addFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
25
28
  editFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
26
29
  getFlashingCellPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
@@ -28,6 +28,9 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
28
28
  getActiveFlashingCellDefinitions() {
29
29
  return this.getFlashingCellDefinitions().filter((fc) => !fc.IsSuspended);
30
30
  }
31
+ getSuspendedFlashingCellDefinitions() {
32
+ return this.getFlashingCellDefinitions().filter((fc) => fc.IsSuspended);
33
+ }
31
34
  getFlashingCellFlashTarget(flashingCellDefinition) {
32
35
  var _a;
33
36
  return (_a = flashingCellDefinition.FlashTarget) !== null && _a !== void 0 ? _a : 'cell';
@@ -68,6 +71,12 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
68
71
  this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionUnSuspend(flashingCellDefinition));
69
72
  return this.getFlashingCellDefinitionById(flashingCellDefinition.Uuid);
70
73
  }
74
+ suspendAllFlashingCellDefinition() {
75
+ this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionSuspendAll());
76
+ }
77
+ unSuspendAllFlashingCellDefinition() {
78
+ this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionUnSuspendAll());
79
+ }
71
80
  addFlashingCellDefinitions(flashingCellDefinitions) {
72
81
  flashingCellDefinitions.forEach((fad) => {
73
82
  this.addFlashingCellDefinition(fad);
@@ -29,6 +29,8 @@ export declare class FormatColumnApiImpl extends ApiBase implements FormatColumn
29
29
  deleteAllFormatColumns(): void;
30
30
  suspendFormatColumn(formatColumn: FormatColumn): FormatColumn;
31
31
  unSuspendFormatColumn(formatColumn: FormatColumn): FormatColumn;
32
+ suspendAllFormatColumn(): void;
33
+ unSuspendAllFormatColumn(): void;
32
34
  getFormatColumnsForColumn(column: AdaptableColumn, config?: {
33
35
  includeSuspended?: boolean;
34
36
  }): FormatColumn[];
@@ -64,6 +64,12 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
64
64
  this.dispatchAction(FormatColumnRedux.FormatColumnUnSuspend(formatColumn));
65
65
  return this.getFormatColumnById(formatColumn.Uuid);
66
66
  }
67
+ suspendAllFormatColumn() {
68
+ this.dispatchAction(FormatColumnRedux.FormatColumnSuspendAll());
69
+ }
70
+ unSuspendAllFormatColumn() {
71
+ this.dispatchAction(FormatColumnRedux.FormatColumnUnSuspendAll());
72
+ }
67
73
  getFormatColumnsForColumn(column, config) {
68
74
  const formatColumns = this.getFormatColumns().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
69
75
  return this.internalApi.getFormatColumnWithColumnInScope(formatColumns, column);
@@ -14,5 +14,7 @@ export declare class ShortcutApiImpl extends ApiBase implements ShortcutApi {
14
14
  deleteAllShortcuts(): void;
15
15
  suspendShortcut(shortcut: Shortcut): Shortcut;
16
16
  unSuspendShortcut(shortcut: Shortcut): Shortcut;
17
+ suspendAllShortcut(): void;
18
+ unSuspendAllShortcut(): void;
17
19
  openShortcutSettingsPanel(): void;
18
20
  }
@@ -43,6 +43,12 @@ class ShortcutApiImpl extends ApiBase_1.ApiBase {
43
43
  this.dispatchAction(ShortcutRedux.ShortcutUnSuspend(shortcut));
44
44
  return this.getShortcutById(shortcut.Uuid);
45
45
  }
46
+ suspendAllShortcut() {
47
+ this.dispatchAction(ShortcutRedux.ShortcutSuspendAll());
48
+ }
49
+ unSuspendAllShortcut() {
50
+ this.dispatchAction(ShortcutRedux.ShortcutUnSuspendAll());
51
+ }
46
52
  openShortcutSettingsPanel() {
47
53
  this.showModulePopup(ModuleConstants.ShortcutModuleId);
48
54
  }
@@ -24,5 +24,7 @@ export declare class StyledColumnApiImpl extends ApiBase implements StyledColumn
24
24
  canDisplaySparklines(): boolean;
25
25
  suspendStyledColumn(styledColumn: StyledColumn): void;
26
26
  unSuspendStyledColumn(styledColumn: StyledColumn): void;
27
+ suspendAllStyledColumn(): void;
28
+ unSuspendAllStyledColumn(): void;
27
29
  openStyledColumnSettingsPanel(): void;
28
30
  }
@@ -67,6 +67,12 @@ class StyledColumnApiImpl extends ApiBase_1.ApiBase {
67
67
  unSuspendStyledColumn(styledColumn) {
68
68
  this.dispatchAction(StyledColumnRedux.StyledColumnUnSuspend(styledColumn));
69
69
  }
70
+ suspendAllStyledColumn() {
71
+ this.dispatchAction(StyledColumnRedux.StyledColumnSuspendAll());
72
+ }
73
+ unSuspendAllStyledColumn() {
74
+ this.dispatchAction(StyledColumnRedux.StyledColumnUnSuspendAll());
75
+ }
70
76
  openStyledColumnSettingsPanel() {
71
77
  this.showModulePopup(ModuleConstants.StyledColumnModuleId);
72
78
  }
@@ -30,10 +30,10 @@ export declare class ExportInternalApi extends ApiBase {
30
30
  getReportData(report: Report, includePrimaryKey?: boolean): ReportData;
31
31
  getReportDataAsArray(report: Report, includePrimaryKey?: boolean): any[][];
32
32
  convertReportDataToArray(reportData: ReportData): any[][];
33
- getRowObjectForColumnIds(rowNode: IRowNode, columnIds: string[]): Record<string, any>;
33
+ getRowObjectForColumnIds(rowNode: IRowNode, columnIds: string[], reportName: string): Record<string, any>;
34
34
  publishLiveLiveDataChangedEvent(reportDestination: 'ipushpull' | 'OpenFin', liveDataTrigger: 'Connected' | 'Disconnected' | 'SnapshotSent' | 'LiveDataStarted' | 'LiveDataStopped' | 'LiveDataUpdated', liveReport?: any): void;
35
- getCellExportValueFromRowNode(rowNode: IRowNode, columnId: string): any;
36
- getCellExportValueFromRawValue(rowNode: IRowNode, cellRawValue: any, columnId: string): any;
35
+ getCellExportValueFromRowNode(rowNode: IRowNode, columnId: string, reportName: string): any;
36
+ getCellExportValueFromRawValue(rowNode: IRowNode, cellRawValue: any, columnId: string, reportName: string): any;
37
37
  getReportFileName(reportName: string, destination: SystemExportDestination | CustomDestination): string;
38
38
  private getCustomExportDateFormat;
39
39
  private getCellExportValueFromRawValueByType;
@@ -365,12 +365,12 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
365
365
  switch (report.ReportRowScope) {
366
366
  case 'AllRows':
367
367
  this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
368
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
368
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
369
369
  });
370
370
  break;
371
371
  case 'VisibleRows':
372
372
  this.getAdaptableApi().internalApi.forAllVisibleRowNodesDo((rowNode) => {
373
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
373
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
374
374
  });
375
375
  break;
376
376
  case 'ExpressionRows':
@@ -379,7 +379,7 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
379
379
  if (this.getAdaptableApi()
380
380
  .internalApi.getQueryLanguageService()
381
381
  .evaluateBooleanExpression((_a = report.Query) === null || _a === void 0 ? void 0 : _a.BooleanExpression, ModuleConstants_1.ExportModuleId, rowNode)) {
382
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
382
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
383
383
  }
384
384
  });
385
385
  break;
@@ -394,7 +394,7 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
394
394
  if (selectedRowCells) {
395
395
  const selectedRowColumnIds = selectedRowCells.map((rowCell) => rowCell.column.columnId);
396
396
  const selectedColumnIds = columnIds.filter((columnId) => selectedRowColumnIds.includes(columnId));
397
- const row = this.getRowObjectForColumnIds(rowNode, selectedColumnIds);
397
+ const row = this.getRowObjectForColumnIds(rowNode, selectedColumnIds, report.Name);
398
398
  if (includePrimaryKey) {
399
399
  row[this.getAdaptableApi().optionsApi.getPrimaryKey()] = rowPrimaryKeyValue;
400
400
  }
@@ -409,7 +409,7 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
409
409
  this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
410
410
  const rowPrimaryKeyValue = this.getAdaptableApi().gridApi.getPrimaryKeyValueForRowNode(rowNode);
411
411
  if (selectedGridRowPrimaryKeys.includes(rowPrimaryKeyValue)) {
412
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
412
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
413
413
  }
414
414
  });
415
415
  }
@@ -435,9 +435,9 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
435
435
  ...reportData.rows.map((row) => reportData.columns.map((column) => row[column.columnId])),
436
436
  ];
437
437
  }
438
- getRowObjectForColumnIds(rowNode, columnIds) {
438
+ getRowObjectForColumnIds(rowNode, columnIds, reportName) {
439
439
  return columnIds.reduce((result, columnId) => {
440
- result[columnId] = this.getCellExportValueFromRowNode(rowNode, columnId);
440
+ result[columnId] = this.getCellExportValueFromRowNode(rowNode, columnId, reportName);
441
441
  return result;
442
442
  }, {});
443
443
  }
@@ -445,24 +445,28 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
445
445
  const liveDataChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { reportDestination: reportDestination, liveDataTrigger: liveDataTrigger, liveReport: liveReport });
446
446
  this.getAdaptableApi().eventApi.emit('LiveDataChanged', liveDataChangedInfo);
447
447
  }
448
- getCellExportValueFromRowNode(rowNode, columnId) {
449
- return this.getCellExportValueFromRawValue(rowNode, this.getAdaptableApi().gridApi.getRawValueFromRowNode(rowNode, columnId), columnId);
448
+ getCellExportValueFromRowNode(rowNode, columnId, reportName) {
449
+ return this.getCellExportValueFromRawValue(rowNode, this.getAdaptableApi().gridApi.getRawValueFromRowNode(rowNode, columnId), columnId, reportName);
450
450
  }
451
- getCellExportValueFromRawValue(rowNode, cellRawValue, columnId) {
451
+ getCellExportValueFromRawValue(rowNode, cellRawValue, columnId, reportName) {
452
452
  if (StringExtensions_1.default.IsNullOrEmpty(cellRawValue)) {
453
453
  return cellRawValue;
454
454
  }
455
455
  const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
456
456
  const columnDataType = column.dataType;
457
- // if this is a date column and there is a custom export date format provided, that will take precedence
457
+ // 1. if it is a Visual Data report then we always ONLY send the formatted value and ignore all other properties
458
+ if (reportName == GeneralConstants_1.VISUAL_DATA_REPORT) {
459
+ return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, 'formattedValue');
460
+ }
461
+ // 2. if this is a date column and there is a custom export date format provided, that will next take precedence
458
462
  if (columnDataType === 'Date' && !!this.getCustomExportDateFormat()) {
459
463
  const exportDateFormat = this.getCustomExportDateFormat();
460
464
  return FormatHelper_1.default.DateFormatter(cellRawValue, {
461
465
  Pattern: exportDateFormat,
462
466
  });
463
467
  }
464
- // otherwise check the general export format types
465
- let cellExportFormat = this.getAdaptableApi().exportApi.internalApi.getCellExportFormatType(column, columnDataType);
468
+ // 3. in all other cases check the general export format types
469
+ const cellExportFormat = this.getAdaptableApi().exportApi.internalApi.getCellExportFormatType(column, columnDataType);
466
470
  return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, cellExportFormat);
467
471
  }
468
472
  getReportFileName(reportName, destination) {
@@ -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
6
+ * Compares to Grid Filter to see if they are identical
7
7
  */
8
8
  isGridFilterDifferent(oldFilter: GridFilter, newFilter: GridFilter): boolean;
9
9
  }
@@ -14,7 +14,7 @@ class GridFilterInternalApi extends ApiBase_1.ApiBase {
14
14
  }
15
15
  }
16
16
  /**
17
- * Compares to Grid Filters to see if they are identical
17
+ * Compares to Grid Filter to see if they are identical
18
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);
@@ -53,6 +53,14 @@ export interface ShortcutApi {
53
53
  * @returns shortcut
54
54
  */
55
55
  unSuspendShortcut(shortcut: Shortcut): Shortcut;
56
+ /**
57
+ * Suspends all Shortcuts
58
+ */
59
+ suspendAllShortcut(): void;
60
+ /**
61
+ * Activates all suspended Shortcut
62
+ */
63
+ unSuspendAllShortcut(): void;
56
64
  /**
57
65
  * Opens Settings Panel with Shortcut section selected and visible
58
66
  */
@@ -57,6 +57,14 @@ export interface StyledColumnApi {
57
57
  * @param styledColumn
58
58
  */
59
59
  unSuspendStyledColumn(styledColumn: StyledColumn): void;
60
+ /**
61
+ * Suspends all Styled Columns
62
+ */
63
+ suspendAllStyledColumn(): void;
64
+ /**
65
+ * Activates all suspended Styled Column
66
+ */
67
+ unSuspendAllStyledColumn(): void;
60
68
  /**
61
69
  * Checks whether Column with given `columnId` has a PercentBar Style applied
62
70
  * @param columnId column ID
@@ -43,7 +43,7 @@ export interface NumberFormatterOptions extends BaseFormatterOptions {
43
43
  */
44
44
  Suffix?: string;
45
45
  /**
46
- * Replaces cell value with supplied value (that can contain placeholders)
46
+ * Replaces cell value with supplied value (that can contain Template Literals)
47
47
  */
48
48
  Content?: string | number;
49
49
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Defines which types of Rows to exclude when rendering Format Columns, Action Columns, Badges
2
+ * Defines which types of Rows to exclude when rendering Format Columns, Action Columns and Badges
3
3
  */
4
4
  export type RowScope = {
5
5
  /**
@@ -536,10 +536,8 @@ const SystemReducer = (state = initialState, action) => {
536
536
  });
537
537
  const AdaptableFlashingCellsMap = Object.assign({}, state.AdaptableFlashingCellsMap);
538
538
  AdaptableFlashingCellsMap[FlashingCell.Uuid] = FlashingCell;
539
- return Object.assign({}, state, {
540
- AdaptableFlashingCells: AdaptableFlashingCells,
541
- AdaptableFlashingCellsMap: AdaptableFlashingCellsMap,
542
- });
539
+ return Object.assign(Object.assign({}, state), { AdaptableFlashingCells,
540
+ AdaptableFlashingCellsMap });
543
541
  }
544
542
  case exports.SYSTEM_FLASHING_CELL_DELETE: {
545
543
  const { flashingCell: FlashingCell } = action;
@@ -563,10 +561,7 @@ const SystemReducer = (state = initialState, action) => {
563
561
  return Object.assign(Object.assign({}, state), { AdaptableFlashingCells: AdaptableFlashingCells, AdaptableFlashingCellsMap: AdaptableFlashingCellsMap });
564
562
  }
565
563
  case exports.SYSTEM_FLASHING_CELL_DELETE_ALL: {
566
- return Object.assign({}, state, {
567
- AdaptableFlashingCells: {},
568
- AdaptableFlashingCellsMap: {},
569
- });
564
+ return Object.assign(Object.assign({}, state), { AdaptableFlashingCells: {}, AdaptableFlashingCellsMap: {} });
570
565
  }
571
566
  case exports.SYSTEM_HIGHLIGHT_CELL_ADD: {
572
567
  const actionTypedAdd = action;
@@ -76,9 +76,10 @@ class DashboardPopupComponent extends React.Component {
76
76
  React.createElement(CheckBox_1.CheckBox, { "data-name": "hidden", className: `${baseClassName}__settings-option`, checked: this.props.IsHidden, onChange: (checked) => this.props.onSetDashboardHidden(checked) }, "Hidden"))),
77
77
  React.createElement(Panel_1.default, { header: 'Dashboard Contents', style: { borderBottom: '1px solid var(--ab-color-primary)' }, variant: "default", borderRadius: "none", marginTop: 4 },
78
78
  React.createElement(rebass_1.Flex, { className: `${baseClassName}__contents-selector`, flexDirection: "row", padding: 2 },
79
- React.createElement(Radio_1.default, { marginLeft: 3, value: DashboardConfigView.Toolbars, checked: this.state.DashboardConfigView == DashboardConfigView.Toolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Tabs & Toolbars"),
80
- React.createElement(Radio_1.default, { marginLeft: 3, value: DashboardConfigView.Buttons, checked: this.state.DashboardConfigView == DashboardConfigView.Buttons, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Buttons"),
81
- React.createElement(Radio_1.default, { marginLeft: 3, value: DashboardConfigView.PinnedToolbars, checked: this.state.DashboardConfigView == DashboardConfigView.PinnedToolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Pinned Toolbars")),
79
+ React.createElement(Radio_1.default, { marginLeft: 3, value: DashboardConfigView.Toolbars, checked: this.state.DashboardConfigView == DashboardConfigView.Toolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Tabbed Toolbars"),
80
+ React.createElement(Radio_1.default, { marginLeft: 3, value: DashboardConfigView.PinnedToolbars, checked: this.state.DashboardConfigView == DashboardConfigView.PinnedToolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Pinned Toolbars"),
81
+ ' ',
82
+ React.createElement(Radio_1.default, { marginLeft: 3, value: DashboardConfigView.Buttons, checked: this.state.DashboardConfigView == DashboardConfigView.Buttons, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Buttons")),
82
83
  React.createElement(rebass_1.Box, { className: `${baseClassName}__Module-Selector`, "data-name": this.state.DashboardConfigView === DashboardConfigView.Toolbars
83
84
  ? 'toolbars'
84
85
  : 'buttons', style: { minHeight: 0, flex: '1 1 0' }, padding: 2 },
@@ -8,7 +8,7 @@ const Tag_1 = require("../../../components/Tag");
8
8
  const getGridFilterViewItems = (layout) => {
9
9
  var _a;
10
10
  return {
11
- name: 'Grid Filters',
11
+ name: 'Grid Filter',
12
12
  view: (React.createElement(Tag_1.Tag, null,
13
13
  React.createElement(ExpressionPreview_1.ExpressionPreview, { query: { BooleanExpression: (_a = layout.GridFilter) === null || _a === void 0 ? void 0 : _a.Expression } }))),
14
14
  };
@@ -190,7 +190,7 @@ const ColumnRow = (props) => {
190
190
  const ColumnsSection = (props) => {
191
191
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
192
192
  const { data: layout } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
193
- const allColumns = adaptable.api.columnApi.getColumns();
193
+ const allColumns = adaptable.api.columnApi.getStandardColumns();
194
194
  const sortedColumns = React.useMemo(() => {
195
195
  return ArrayExtensions_1.default.sortArrayWithOrder(allColumns.map((col) => col.columnId), layout.Columns, { sortUnorderedItems: false }).map((colId) => adaptable.api.columnApi.getColumnWithColumnId(colId));
196
196
  }, [layout, allColumns]);
@@ -39,7 +39,7 @@ const GridFilterSection = (props) => {
39
39
  props.onChange(Object.assign(Object.assign({}, layout), { GridFilter: Object.assign(Object.assign({}, layout.GridFilter), { Expression: expression }) }));
40
40
  }, initialData: initialData, columns: api.columnApi.getQueryableColumns(), fields: api.expressionApi.internalApi.getAvailableFields(), namedQueries: api.namedQueryApi.getNamedQueries(), api: api })));
41
41
  return (React.createElement(Tabs_1.Tabs, { style: { height: '100%' } },
42
- React.createElement(Tabs_1.Tabs.Tab, null, "Grid Filters"),
42
+ React.createElement(Tabs_1.Tabs.Tab, null, "Grid Filter"),
43
43
  React.createElement(Tabs_1.Tabs.Content, null,
44
44
  React.createElement(Panel_1.default, null, expressionEditorContent))));
45
45
  };
@@ -973,12 +973,13 @@ class AdaptableAgGrid {
973
973
  /**
974
974
  * `processPivotResultColDef`
975
975
  */
976
- this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'processPivotResultColDef', () => {
976
+ this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'processPivotResultColDef', (original_processPivotResultColDef) => {
977
977
  return (colDef) => {
978
978
  if (this.adaptableOptions.columnFilterOptions.useAdaptableColumnFiltering) {
979
979
  colDef.floatingFilter = false;
980
980
  colDef.filter = false;
981
981
  }
982
+ original_processPivotResultColDef === null || original_processPivotResultColDef === void 0 ? void 0 : original_processPivotResultColDef(colDef);
982
983
  };
983
984
  });
984
985
  /**
@@ -3220,7 +3221,7 @@ class AdaptableAgGrid {
3220
3221
  rawValue = dateRawValue;
3221
3222
  }
3222
3223
  }
3223
- return this.api.exportApi.internalApi.getCellExportValueFromRawValue(rowNode, rawValue, columnId);
3224
+ return this.api.exportApi.internalApi.getCellExportValueFromRawValue(rowNode, rawValue, columnId, GeneralConstants.VISUAL_DATA_REPORT);
3224
3225
  }
3225
3226
  processCellForExcelExport(rowNode, columnId) {
3226
3227
  if (this.api.exportApi.internalApi.isVisualDataExportInProgress()) {
@@ -3231,7 +3232,7 @@ class AdaptableAgGrid {
3231
3232
  return isoFormattedDate;
3232
3233
  }
3233
3234
  }
3234
- return this.api.exportApi.internalApi.getCellExportValueFromRowNode(rowNode, columnId);
3235
+ return this.api.exportApi.internalApi.getCellExportValueFromRowNode(rowNode, columnId, GeneralConstants.VISUAL_DATA_REPORT);
3235
3236
  }
3236
3237
  isQuickFilterAvailable() {
3237
3238
  if (this.api.layoutApi.isCurrentLayoutPivot() &&
@@ -701,7 +701,7 @@ class AgGridColumnAdapter {
701
701
  if (styledColumn && !(styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.IsSuspended)) {
702
702
  const styledCellStyle = this.getStyledColumnStyle(styledColumn, gridCell.column, params);
703
703
  // for percentbar we want to merge
704
- if (styledColumn.PercentBarStyle || styledColumn.BadgeStyle) {
704
+ if (styledColumn.PercentBarStyle || styledColumn.BadgeStyle || styledColumn.GradientStyle) {
705
705
  styledColumnStyle = styledCellStyle;
706
706
  }
707
707
  else {
@@ -710,6 +710,7 @@ class AgGridColumnAdapter {
710
710
  }
711
711
  }
712
712
  const activeFormatColumnsWithStyle = this.adaptableApi.formatColumnApi.internalApi.getFormatColumnsWithStyleForColumn(gridCell.column);
713
+ // background color of styledColumn.GradientStyle has precedence and wins over FormatColumn
713
714
  return Object.assign(Object.assign({}, this.getFormatColumnCellStyle(gridCell.column, activeFormatColumnsWithStyle, params)), styledColumnStyle);
714
715
  }
715
716
  getStyledColumnStyle(styledColumn, abColumn, params) {
@@ -67,7 +67,7 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
67
67
  textEl.innerText = (_b = (_a = params.formatValue) === null || _a === void 0 ? void 0 : _a.call(params, params.value)) !== null && _b !== void 0 ? _b : params.value;
68
68
  }
69
69
  if (percentBarStyle.CellText.includes('PercentageValue')) {
70
- textEl.innerText += ' ' + `(${percentageValue.toFixed(0)}%)`;
70
+ textEl.innerText += ' ' + `${percentageValue.toFixed(0)}%`;
71
71
  }
72
72
  switch (percentBarStyle.CellTextPosition) {
73
73
  case 'Above':