@adaptabletools/adaptable 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.esm.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[];
@@ -156,6 +156,12 @@ export class AlertApiImpl extends ApiBase {
156
156
  this.dispatchAction(AlertRedux.AlertDefinitionSuspend(alertDefinition));
157
157
  return this.getAlertDefinitionById(alertDefinition.Uuid);
158
158
  }
159
+ suspendAllAlertDefinition() {
160
+ this.dispatchAction(AlertRedux.AlertDefinitionSuspendAll());
161
+ }
162
+ unSuspendAllAlertDefinition() {
163
+ this.dispatchAction(AlertRedux.AlertDefinitionUnSuspendAll());
164
+ }
159
165
  unSuspendAlertDefinition(alertDefinition) {
160
166
  this.dispatchAction(AlertRedux.AlertDefinitionUnSuspend(alertDefinition));
161
167
  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;
@@ -23,6 +23,12 @@ export class ColumnApiImpl extends ApiBase {
23
23
  var _a;
24
24
  return (_a = this.getAdaptableApi().gridApi.getGridState().Columns) !== null && _a !== void 0 ? _a : [];
25
25
  }
26
+ getStandardColumns() {
27
+ const cols = this.getAdaptableApi()
28
+ .gridApi.getGridState()
29
+ .Columns.filter((c) => !this.internalApi.isActionRowButtonColumn(c.columnId));
30
+ return cols !== null && cols !== void 0 ? cols : [];
31
+ }
26
32
  getVisibleColumns() {
27
33
  const layout = this.getAdaptableApi().layoutApi.getCurrentLayout();
28
34
  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
  }
@@ -60,6 +60,12 @@ export class CustomSortApiImpl extends ApiBase {
60
60
  this.dispatchAction(CustomSortRedux.CustomSortUnSuspend(customSort));
61
61
  return this.getCustomSortById(customSort.Uuid);
62
62
  }
63
+ suspendAllCustomSort() {
64
+ this.dispatchAction(CustomSortRedux.CustomSortSuspendAll());
65
+ }
66
+ unSuspendAllCustomSort() {
67
+ this.dispatchAction(CustomSortRedux.CustomSortUnSuspendAll());
68
+ }
63
69
  openCustomSortSettingsPanel() {
64
70
  this.showModulePopup(ModuleConstants.CustomSortModuleId);
65
71
  }
@@ -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[];
@@ -24,6 +24,9 @@ export class FlashingCellApiImpl extends ApiBase {
24
24
  getActiveFlashingCellDefinitions() {
25
25
  return this.getFlashingCellDefinitions().filter((fc) => !fc.IsSuspended);
26
26
  }
27
+ getSuspendedFlashingCellDefinitions() {
28
+ return this.getFlashingCellDefinitions().filter((fc) => fc.IsSuspended);
29
+ }
27
30
  getFlashingCellFlashTarget(flashingCellDefinition) {
28
31
  var _a;
29
32
  return (_a = flashingCellDefinition.FlashTarget) !== null && _a !== void 0 ? _a : 'cell';
@@ -64,6 +67,12 @@ export class FlashingCellApiImpl extends ApiBase {
64
67
  this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionUnSuspend(flashingCellDefinition));
65
68
  return this.getFlashingCellDefinitionById(flashingCellDefinition.Uuid);
66
69
  }
70
+ suspendAllFlashingCellDefinition() {
71
+ this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionSuspendAll());
72
+ }
73
+ unSuspendAllFlashingCellDefinition() {
74
+ this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionUnSuspendAll());
75
+ }
67
76
  addFlashingCellDefinitions(flashingCellDefinitions) {
68
77
  flashingCellDefinitions.forEach((fad) => {
69
78
  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[];
@@ -60,6 +60,12 @@ export class FormatColumnApiImpl extends ApiBase {
60
60
  this.dispatchAction(FormatColumnRedux.FormatColumnUnSuspend(formatColumn));
61
61
  return this.getFormatColumnById(formatColumn.Uuid);
62
62
  }
63
+ suspendAllFormatColumn() {
64
+ this.dispatchAction(FormatColumnRedux.FormatColumnSuspendAll());
65
+ }
66
+ unSuspendAllFormatColumn() {
67
+ this.dispatchAction(FormatColumnRedux.FormatColumnUnSuspendAll());
68
+ }
63
69
  getFormatColumnsForColumn(column, config) {
64
70
  const formatColumns = this.getFormatColumns().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
65
71
  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
  }
@@ -39,6 +39,12 @@ export class ShortcutApiImpl extends ApiBase {
39
39
  this.dispatchAction(ShortcutRedux.ShortcutUnSuspend(shortcut));
40
40
  return this.getShortcutById(shortcut.Uuid);
41
41
  }
42
+ suspendAllShortcut() {
43
+ this.dispatchAction(ShortcutRedux.ShortcutSuspendAll());
44
+ }
45
+ unSuspendAllShortcut() {
46
+ this.dispatchAction(ShortcutRedux.ShortcutUnSuspendAll());
47
+ }
42
48
  openShortcutSettingsPanel() {
43
49
  this.showModulePopup(ModuleConstants.ShortcutModuleId);
44
50
  }
@@ -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
  }
@@ -63,6 +63,12 @@ export class StyledColumnApiImpl extends ApiBase {
63
63
  unSuspendStyledColumn(styledColumn) {
64
64
  this.dispatchAction(StyledColumnRedux.StyledColumnUnSuspend(styledColumn));
65
65
  }
66
+ suspendAllStyledColumn() {
67
+ this.dispatchAction(StyledColumnRedux.StyledColumnSuspendAll());
68
+ }
69
+ unSuspendAllStyledColumn() {
70
+ this.dispatchAction(StyledColumnRedux.StyledColumnUnSuspendAll());
71
+ }
66
72
  openStyledColumnSettingsPanel() {
67
73
  this.showModulePopup(ModuleConstants.StyledColumnModuleId);
68
74
  }
@@ -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;
@@ -361,12 +361,12 @@ export class ExportInternalApi extends ApiBase {
361
361
  switch (report.ReportRowScope) {
362
362
  case 'AllRows':
363
363
  this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
364
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
364
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
365
365
  });
366
366
  break;
367
367
  case 'VisibleRows':
368
368
  this.getAdaptableApi().internalApi.forAllVisibleRowNodesDo((rowNode) => {
369
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
369
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
370
370
  });
371
371
  break;
372
372
  case 'ExpressionRows':
@@ -375,7 +375,7 @@ export class ExportInternalApi extends ApiBase {
375
375
  if (this.getAdaptableApi()
376
376
  .internalApi.getQueryLanguageService()
377
377
  .evaluateBooleanExpression((_a = report.Query) === null || _a === void 0 ? void 0 : _a.BooleanExpression, ExportModuleId, rowNode)) {
378
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
378
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
379
379
  }
380
380
  });
381
381
  break;
@@ -390,7 +390,7 @@ export class ExportInternalApi extends ApiBase {
390
390
  if (selectedRowCells) {
391
391
  const selectedRowColumnIds = selectedRowCells.map((rowCell) => rowCell.column.columnId);
392
392
  const selectedColumnIds = columnIds.filter((columnId) => selectedRowColumnIds.includes(columnId));
393
- const row = this.getRowObjectForColumnIds(rowNode, selectedColumnIds);
393
+ const row = this.getRowObjectForColumnIds(rowNode, selectedColumnIds, report.Name);
394
394
  if (includePrimaryKey) {
395
395
  row[this.getAdaptableApi().optionsApi.getPrimaryKey()] = rowPrimaryKeyValue;
396
396
  }
@@ -405,7 +405,7 @@ export class ExportInternalApi extends ApiBase {
405
405
  this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
406
406
  const rowPrimaryKeyValue = this.getAdaptableApi().gridApi.getPrimaryKeyValueForRowNode(rowNode);
407
407
  if (selectedGridRowPrimaryKeys.includes(rowPrimaryKeyValue)) {
408
- resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
408
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds, report.Name));
409
409
  }
410
410
  });
411
411
  }
@@ -431,9 +431,9 @@ export class ExportInternalApi extends ApiBase {
431
431
  ...reportData.rows.map((row) => reportData.columns.map((column) => row[column.columnId])),
432
432
  ];
433
433
  }
434
- getRowObjectForColumnIds(rowNode, columnIds) {
434
+ getRowObjectForColumnIds(rowNode, columnIds, reportName) {
435
435
  return columnIds.reduce((result, columnId) => {
436
- result[columnId] = this.getCellExportValueFromRowNode(rowNode, columnId);
436
+ result[columnId] = this.getCellExportValueFromRowNode(rowNode, columnId, reportName);
437
437
  return result;
438
438
  }, {});
439
439
  }
@@ -441,24 +441,28 @@ export class ExportInternalApi extends ApiBase {
441
441
  const liveDataChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { reportDestination: reportDestination, liveDataTrigger: liveDataTrigger, liveReport: liveReport });
442
442
  this.getAdaptableApi().eventApi.emit('LiveDataChanged', liveDataChangedInfo);
443
443
  }
444
- getCellExportValueFromRowNode(rowNode, columnId) {
445
- return this.getCellExportValueFromRawValue(rowNode, this.getAdaptableApi().gridApi.getRawValueFromRowNode(rowNode, columnId), columnId);
444
+ getCellExportValueFromRowNode(rowNode, columnId, reportName) {
445
+ return this.getCellExportValueFromRawValue(rowNode, this.getAdaptableApi().gridApi.getRawValueFromRowNode(rowNode, columnId), columnId, reportName);
446
446
  }
447
- getCellExportValueFromRawValue(rowNode, cellRawValue, columnId) {
447
+ getCellExportValueFromRawValue(rowNode, cellRawValue, columnId, reportName) {
448
448
  if (StringExtensions.IsNullOrEmpty(cellRawValue)) {
449
449
  return cellRawValue;
450
450
  }
451
451
  const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
452
452
  const columnDataType = column.dataType;
453
- // if this is a date column and there is a custom export date format provided, that will take precedence
453
+ // 1. if it is a Visual Data report then we always ONLY send the formatted value and ignore all other properties
454
+ if (reportName == VISUAL_DATA_REPORT) {
455
+ return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, 'formattedValue');
456
+ }
457
+ // 2. if this is a date column and there is a custom export date format provided, that will next take precedence
454
458
  if (columnDataType === 'Date' && !!this.getCustomExportDateFormat()) {
455
459
  const exportDateFormat = this.getCustomExportDateFormat();
456
460
  return FormatHelper.DateFormatter(cellRawValue, {
457
461
  Pattern: exportDateFormat,
458
462
  });
459
463
  }
460
- // otherwise check the general export format types
461
- let cellExportFormat = this.getAdaptableApi().exportApi.internalApi.getCellExportFormatType(column, columnDataType);
464
+ // 3. in all other cases check the general export format types
465
+ const cellExportFormat = this.getAdaptableApi().exportApi.internalApi.getCellExportFormatType(column, columnDataType);
462
466
  return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, cellExportFormat);
463
467
  }
464
468
  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
  }
@@ -11,7 +11,7 @@ export class GridFilterInternalApi extends ApiBase {
11
11
  }
12
12
  }
13
13
  /**
14
- * Compares to Grid Filters to see if they are identical
14
+ * Compares to Grid Filter to see if they are identical
15
15
  */
16
16
  isGridFilterDifferent(oldFilter, newFilter) {
17
17
  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
  /**
@@ -463,10 +463,8 @@ export const SystemReducer = (state = initialState, action) => {
463
463
  });
464
464
  const AdaptableFlashingCellsMap = Object.assign({}, state.AdaptableFlashingCellsMap);
465
465
  AdaptableFlashingCellsMap[FlashingCell.Uuid] = FlashingCell;
466
- return Object.assign({}, state, {
467
- AdaptableFlashingCells: AdaptableFlashingCells,
468
- AdaptableFlashingCellsMap: AdaptableFlashingCellsMap,
469
- });
466
+ return Object.assign(Object.assign({}, state), { AdaptableFlashingCells,
467
+ AdaptableFlashingCellsMap });
470
468
  }
471
469
  case SYSTEM_FLASHING_CELL_DELETE: {
472
470
  const { flashingCell: FlashingCell } = action;
@@ -490,10 +488,7 @@ export const SystemReducer = (state = initialState, action) => {
490
488
  return Object.assign(Object.assign({}, state), { AdaptableFlashingCells: AdaptableFlashingCells, AdaptableFlashingCellsMap: AdaptableFlashingCellsMap });
491
489
  }
492
490
  case SYSTEM_FLASHING_CELL_DELETE_ALL: {
493
- return Object.assign({}, state, {
494
- AdaptableFlashingCells: {},
495
- AdaptableFlashingCellsMap: {},
496
- });
491
+ return Object.assign(Object.assign({}, state), { AdaptableFlashingCells: {}, AdaptableFlashingCellsMap: {} });
497
492
  }
498
493
  case SYSTEM_HIGHLIGHT_CELL_ADD: {
499
494
  const actionTypedAdd = action;
@@ -72,9 +72,10 @@ class DashboardPopupComponent extends React.Component {
72
72
  React.createElement(CheckBox, { "data-name": "hidden", className: `${baseClassName}__settings-option`, checked: this.props.IsHidden, onChange: (checked) => this.props.onSetDashboardHidden(checked) }, "Hidden"))),
73
73
  React.createElement(Panel, { header: 'Dashboard Contents', style: { borderBottom: '1px solid var(--ab-color-primary)' }, variant: "default", borderRadius: "none", marginTop: 4 },
74
74
  React.createElement(Flex, { className: `${baseClassName}__contents-selector`, flexDirection: "row", padding: 2 },
75
- React.createElement(Radio, { marginLeft: 3, value: DashboardConfigView.Toolbars, checked: this.state.DashboardConfigView == DashboardConfigView.Toolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Tabs & Toolbars"),
76
- React.createElement(Radio, { marginLeft: 3, value: DashboardConfigView.Buttons, checked: this.state.DashboardConfigView == DashboardConfigView.Buttons, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Buttons"),
77
- React.createElement(Radio, { marginLeft: 3, value: DashboardConfigView.PinnedToolbars, checked: this.state.DashboardConfigView == DashboardConfigView.PinnedToolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Pinned Toolbars")),
75
+ React.createElement(Radio, { marginLeft: 3, value: DashboardConfigView.Toolbars, checked: this.state.DashboardConfigView == DashboardConfigView.Toolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Tabbed Toolbars"),
76
+ React.createElement(Radio, { marginLeft: 3, value: DashboardConfigView.PinnedToolbars, checked: this.state.DashboardConfigView == DashboardConfigView.PinnedToolbars, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Pinned Toolbars"),
77
+ ' ',
78
+ React.createElement(Radio, { marginLeft: 3, value: DashboardConfigView.Buttons, checked: this.state.DashboardConfigView == DashboardConfigView.Buttons, onChange: (_, e) => this.onDashboardConfigViewChanged(e) }, "Buttons")),
78
79
  React.createElement(Box, { className: `${baseClassName}__Module-Selector`, "data-name": this.state.DashboardConfigView === DashboardConfigView.Toolbars
79
80
  ? 'toolbars'
80
81
  : 'buttons', style: { minHeight: 0, flex: '1 1 0' }, padding: 2 },
@@ -4,7 +4,7 @@ import { Tag } from '../../../components/Tag';
4
4
  export const getGridFilterViewItems = (layout) => {
5
5
  var _a;
6
6
  return {
7
- name: 'Grid Filters',
7
+ name: 'Grid Filter',
8
8
  view: (React.createElement(Tag, null,
9
9
  React.createElement(ExpressionPreview, { query: { BooleanExpression: (_a = layout.GridFilter) === null || _a === void 0 ? void 0 : _a.Expression } }))),
10
10
  };
@@ -185,7 +185,7 @@ const ColumnRow = (props) => {
185
185
  export const ColumnsSection = (props) => {
186
186
  const adaptable = useAdaptable();
187
187
  const { data: layout } = useOnePageAdaptableWizardContext();
188
- const allColumns = adaptable.api.columnApi.getColumns();
188
+ const allColumns = adaptable.api.columnApi.getStandardColumns();
189
189
  const sortedColumns = React.useMemo(() => {
190
190
  return ArrayExtensions.sortArrayWithOrder(allColumns.map((col) => col.columnId), layout.Columns, { sortUnorderedItems: false }).map((colId) => adaptable.api.columnApi.getColumnWithColumnId(colId));
191
191
  }, [layout, allColumns]);
@@ -33,7 +33,7 @@ export const GridFilterSection = (props) => {
33
33
  props.onChange(Object.assign(Object.assign({}, layout), { GridFilter: Object.assign(Object.assign({}, layout.GridFilter), { Expression: expression }) }));
34
34
  }, initialData: initialData, columns: api.columnApi.getQueryableColumns(), fields: api.expressionApi.internalApi.getAvailableFields(), namedQueries: api.namedQueryApi.getNamedQueries(), api: api })));
35
35
  return (React.createElement(Tabs, { style: { height: '100%' } },
36
- React.createElement(Tabs.Tab, null, "Grid Filters"),
36
+ React.createElement(Tabs.Tab, null, "Grid Filter"),
37
37
  React.createElement(Tabs.Content, null,
38
38
  React.createElement(Panel, null, expressionEditorContent))));
39
39
  };
@@ -969,12 +969,13 @@ export class AdaptableAgGrid {
969
969
  /**
970
970
  * `processPivotResultColDef`
971
971
  */
972
- this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'processPivotResultColDef', () => {
972
+ this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'processPivotResultColDef', (original_processPivotResultColDef) => {
973
973
  return (colDef) => {
974
974
  if (this.adaptableOptions.columnFilterOptions.useAdaptableColumnFiltering) {
975
975
  colDef.floatingFilter = false;
976
976
  colDef.filter = false;
977
977
  }
978
+ original_processPivotResultColDef === null || original_processPivotResultColDef === void 0 ? void 0 : original_processPivotResultColDef(colDef);
978
979
  };
979
980
  });
980
981
  /**
@@ -3216,7 +3217,7 @@ export class AdaptableAgGrid {
3216
3217
  rawValue = dateRawValue;
3217
3218
  }
3218
3219
  }
3219
- return this.api.exportApi.internalApi.getCellExportValueFromRawValue(rowNode, rawValue, columnId);
3220
+ return this.api.exportApi.internalApi.getCellExportValueFromRawValue(rowNode, rawValue, columnId, GeneralConstants.VISUAL_DATA_REPORT);
3220
3221
  }
3221
3222
  processCellForExcelExport(rowNode, columnId) {
3222
3223
  if (this.api.exportApi.internalApi.isVisualDataExportInProgress()) {
@@ -3227,7 +3228,7 @@ export class AdaptableAgGrid {
3227
3228
  return isoFormattedDate;
3228
3229
  }
3229
3230
  }
3230
- return this.api.exportApi.internalApi.getCellExportValueFromRowNode(rowNode, columnId);
3231
+ return this.api.exportApi.internalApi.getCellExportValueFromRowNode(rowNode, columnId, GeneralConstants.VISUAL_DATA_REPORT);
3231
3232
  }
3232
3233
  isQuickFilterAvailable() {
3233
3234
  if (this.api.layoutApi.isCurrentLayoutPivot() &&
@@ -696,7 +696,7 @@ export class AgGridColumnAdapter {
696
696
  if (styledColumn && !(styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.IsSuspended)) {
697
697
  const styledCellStyle = this.getStyledColumnStyle(styledColumn, gridCell.column, params);
698
698
  // for percentbar we want to merge
699
- if (styledColumn.PercentBarStyle || styledColumn.BadgeStyle) {
699
+ if (styledColumn.PercentBarStyle || styledColumn.BadgeStyle || styledColumn.GradientStyle) {
700
700
  styledColumnStyle = styledCellStyle;
701
701
  }
702
702
  else {
@@ -705,6 +705,7 @@ export class AgGridColumnAdapter {
705
705
  }
706
706
  }
707
707
  const activeFormatColumnsWithStyle = this.adaptableApi.formatColumnApi.internalApi.getFormatColumnsWithStyleForColumn(gridCell.column);
708
+ // background color of styledColumn.GradientStyle has precedence and wins over FormatColumn
708
709
  return Object.assign(Object.assign({}, this.getFormatColumnCellStyle(gridCell.column, activeFormatColumnsWithStyle, params)), styledColumnStyle);
709
710
  }
710
711
  getStyledColumnStyle(styledColumn, abColumn, params) {
@@ -63,7 +63,7 @@ export const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
63
63
  textEl.innerText = (_b = (_a = params.formatValue) === null || _a === void 0 ? void 0 : _a.call(params, params.value)) !== null && _b !== void 0 ? _b : params.value;
64
64
  }
65
65
  if (percentBarStyle.CellText.includes('PercentageValue')) {
66
- textEl.innerText += ' ' + `(${percentageValue.toFixed(0)}%)`;
66
+ textEl.innerText += ' ' + `${percentageValue.toFixed(0)}%`;
67
67
  }
68
68
  switch (percentBarStyle.CellTextPosition) {
69
69
  case 'Above':
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
3
- PUBLISH_TIMESTAMP: 1724773387137 || Date.now(),
4
- VERSION: "19.0.0" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1726230070583 || Date.now(),
4
+ VERSION: "19.0.1" || '--current-version--',
5
5
  };