@adaptabletools/adaptable 14.0.0-canary.2 → 14.0.0-canary.3

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 (83) hide show
  1. package/bundle.cjs.js +197 -197
  2. package/package.json +1 -1
  3. package/publishTimestamp.d.ts +1 -1
  4. package/publishTimestamp.js +1 -1
  5. package/src/Api/AdaptableApi.d.ts +12 -12
  6. package/src/Api/ColumnApi.d.ts +2 -10
  7. package/src/Api/Implementation/ColumnApiImpl.d.ts +0 -2
  8. package/src/Api/Implementation/ColumnApiImpl.js +0 -8
  9. package/src/Api/Internal/AdaptableInternalApi.d.ts +1 -1
  10. package/src/Api/Internal/AdaptableInternalApi.js +2 -1
  11. package/src/Api/Internal/ExportInternalApi.d.ts +8 -0
  12. package/src/Api/Internal/ExportInternalApi.js +51 -0
  13. package/src/Api/Internal/FormatColumnInternalApi.d.ts +11 -0
  14. package/src/Api/Internal/FormatColumnInternalApi.js +10 -0
  15. package/src/Api/OptionsApi.d.ts +1 -1
  16. package/src/PredefinedConfig/Common/FDC3Context.d.ts +4 -0
  17. package/src/PredefinedConfig/SystemState.d.ts +3 -0
  18. package/src/Redux/ActionsReducers/SystemRedux.d.ts +8 -0
  19. package/src/Redux/ActionsReducers/SystemRedux.js +26 -2
  20. package/src/Redux/Store/AdaptableStore.js +6 -0
  21. package/src/Strategy/AdaptableModuleBase.js +1 -1
  22. package/src/Strategy/AlertModule.js +1 -2
  23. package/src/Strategy/DashboardModule.js +1 -1
  24. package/src/Strategy/DataChangeHistoryModule.js +2 -4
  25. package/src/Strategy/DataSetModule.js +1 -1
  26. package/src/Strategy/ExportModule.js +8 -1
  27. package/src/Strategy/FilterModule.js +1 -1
  28. package/src/Strategy/FlashingCellModule.js +1 -2
  29. package/src/Strategy/FreeTextColumnModule.js +1 -2
  30. package/src/Strategy/LayoutModule.js +6 -6
  31. package/src/Strategy/SettingsPanelModule.js +1 -1
  32. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -2
  33. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -4
  34. package/src/Utilities/Services/ChartingService.js +1 -1
  35. package/src/Utilities/Services/EntitlementService.js +4 -4
  36. package/src/Utilities/Services/Interface/IReportService.d.ts +7 -1
  37. package/src/Utilities/Services/QueryLanguageService.js +3 -3
  38. package/src/Utilities/Services/ReportService.d.ts +10 -2
  39. package/src/Utilities/Services/ReportService.js +40 -31
  40. package/src/Utilities/Services/TeamSharingService.js +3 -3
  41. package/src/Utilities/Services/ValidationService.js +6 -6
  42. package/src/View/AdaptableView.js +1 -1
  43. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +11 -2
  44. package/src/View/Alert/Wizard/isValidAlertRules.js +6 -27
  45. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  46. package/src/View/Components/EntityRulesEditor/Utilities.d.ts +2 -2
  47. package/src/View/Components/EntityRulesEditor/Utilities.js +19 -12
  48. package/src/View/Components/FilterForm/FilterForm.js +6 -7
  49. package/src/View/Components/FilterForm/QuickFilterForm.js +7 -9
  50. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
  51. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +1 -1
  52. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  53. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  54. package/src/View/Components/ToolPanel/ToolPanelPopup.js +1 -2
  55. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -2
  56. package/src/View/Dashboard/Dashboard.js +5 -5
  57. package/src/View/Dashboard/DashboardPopup.js +2 -3
  58. package/src/View/Dashboard/DashboardViewPanel.js +1 -1
  59. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
  60. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +1 -2
  61. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
  62. package/src/View/Filter/FilterViewPanel.js +3 -3
  63. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +5 -14
  64. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +4 -2
  65. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +4 -1
  66. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
  67. package/src/View/GridInfo/GridInfoPopup.js +1 -1
  68. package/src/View/Layout/PivotDetailsPopoup.js +3 -3
  69. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +2 -2
  70. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +9 -3
  71. package/src/View/QuickSearch/QuickSearchPopup.js +3 -3
  72. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +1 -1
  73. package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
  74. package/src/View/SpecialColumnSettingsWizardStep.js +2 -3
  75. package/src/agGrid/Adaptable.d.ts +1 -1
  76. package/src/agGrid/Adaptable.js +119 -38
  77. package/src/agGrid/PercentBarRenderer.js +1 -1
  78. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  79. package/src/metamodel/adaptable.metamodel.d.ts +7 -0
  80. package/src/metamodel/adaptable.metamodel.js +1 -1
  81. package/src/types.d.ts +1 -1
  82. package/version.d.ts +1 -1
  83. package/version.js +1 -1
@@ -436,7 +436,7 @@ class Adaptable {
436
436
  this.TeamSharingService = new TeamSharingService_1.TeamSharingService(this.api);
437
437
  // @ts-ignore
438
438
  this.RowEditService = new RowEditService_1.RowEditService(this.api);
439
- this.MetamodelService = new MetamodelService_1.MetamodelService(() => this.api.internalApi.getAdaptableOptions());
439
+ this.MetamodelService = new MetamodelService_1.MetamodelService(() => this.api.optionsApi.getAdaptableOptions());
440
440
  this.forPlugins((plugin) => plugin.afterInitServices(this));
441
441
  // Set up Modules - we set up all the Modules suitable for AG Grid
442
442
  // But users can make some hidden or readonly in their entitlements
@@ -3226,8 +3226,16 @@ class Adaptable {
3226
3226
  const quickSearchStyleClassName = this.api.quickSearchApi.getQuickSearchStyle().ClassName;
3227
3227
  const hasQuickSearchStyleClassName = StringExtensions_1.StringExtensions.IsNotNullOrEmpty(quickSearchStyleClassName);
3228
3228
  const cellClass = (params) => {
3229
- const isQuickSearchActive = hasQuickSearchStyleClassName && this.isQuickSearchActive(abColumn, params);
3230
3229
  const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(params.node);
3230
+ // if a Visual Data export is in progress, we are interested only in the Excel Style Class
3231
+ if (this.api.exportApi.internalApi.isVisualDataExportInProgress()) {
3232
+ const userDefinedCellClass = typeof userCellClass === 'function' ? userCellClass(params) : userCellClass;
3233
+ const cellClassKey = this.getExcelClassNameForCell(colId, primaryKeyValue, userDefinedCellClass);
3234
+ return this.api.internalApi
3235
+ .getReportService()
3236
+ .getExcelStyleIdForCellClassKey(cellClassKey);
3237
+ }
3238
+ const isQuickSearchActive = hasQuickSearchStyleClassName && this.isQuickSearchActive(abColumn, params);
3231
3239
  const editableClassName = this.getEditableCellClass(abColumn, params);
3232
3240
  const readonlyClassName = this.getReadonlyCellClass(abColumn, params);
3233
3241
  const highlightAlertClassName = this.getAlertCellClass(abColumn, params);
@@ -3235,7 +3243,6 @@ class Adaptable {
3235
3243
  const styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(colId);
3236
3244
  const hasStyledColumn = !!styledColumn && !styledColumn.IsSuspended;
3237
3245
  const returnValue = [
3238
- this.getExcelClassNameForCell(colId, primaryKeyValue),
3239
3246
  typeof userCellClass === 'function' ? userCellClass(params) : userCellClass,
3240
3247
  !hasStyledColumn && formatColumns.length
3241
3248
  ? this.getFormatColumnCellClass(formatColumns, abColumn, params)
@@ -3256,12 +3263,16 @@ class Adaptable {
3256
3263
  return cellClass;
3257
3264
  });
3258
3265
  }
3259
- getExcelClassNameForCell(colId, primaryKeyValue) {
3266
+ getExcelClassNameForCell(colId, primaryKeyValue, userDefinedCellClass) {
3260
3267
  let excelClassName = `--excel-cell-${colId}-${primaryKeyValue}`;
3261
3268
  if (excelClassName.indexOf(' ') > 0) {
3262
3269
  excelClassName = excelClassName.replace(/\s/g, '_');
3263
3270
  }
3264
- return excelClassName;
3271
+ return userDefinedCellClass != null
3272
+ ? `${excelClassName}-${Array.isArray(userDefinedCellClass)
3273
+ ? userDefinedCellClass.join('-')
3274
+ : userDefinedCellClass}`
3275
+ : excelClassName;
3265
3276
  }
3266
3277
  setupColumnCellEditor({ colId, col }) {
3267
3278
  const adaptableColumn = this.api.columnApi.getColumnWithColumnId(colId);
@@ -3461,7 +3472,7 @@ class Adaptable {
3461
3472
  }
3462
3473
  return (params) => {
3463
3474
  const { node, value } = params;
3464
- const [mostRelevantFormatColumn] = this.api.formatColumnApi.internalApi.getFormatColumnsRelevantForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node, value });
3475
+ const mostRelevantFormatColumn = this.api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node, value });
3465
3476
  if (!mostRelevantFormatColumn) {
3466
3477
  // ALL FormatColumns are conditional and NONE of them are relevant for this row
3467
3478
  return value;
@@ -4226,7 +4237,7 @@ class Adaptable {
4226
4237
  return false;
4227
4238
  }
4228
4239
  showQuickFilter() {
4229
- const height = this.api.internalApi.getAdaptableOptions().filterOptions.quickFilterHeight;
4240
+ const height = this.api.optionsApi.getFilterOptions().quickFilterHeight;
4230
4241
  this.gridOptions.api.setFloatingFiltersHeight(height);
4231
4242
  }
4232
4243
  hideQuickFilter() {
@@ -4479,8 +4490,30 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4479
4490
  grid.destroy();
4480
4491
  }
4481
4492
  setExcelStylesForExport() {
4493
+ // we memoize as much as possible, as this is called quite A LOT
4494
+ const adaptableColumnMap = {};
4495
+ const getAdaptableColumnWithColumnId = (columnId) => {
4496
+ const memoizedColumn = adaptableColumnMap[columnId];
4497
+ if (memoizedColumn) {
4498
+ return memoizedColumn;
4499
+ }
4500
+ const abColumn = this.api.columnApi.getColumnWithColumnId(columnId);
4501
+ adaptableColumnMap[columnId] = abColumn;
4502
+ return abColumn;
4503
+ };
4504
+ const formatColumnsWithDisplayFormatForColumn = {};
4505
+ const getFormatColumnsWithDisplayFormatForColumn = (columnId) => {
4506
+ const memoizedFormatColumns = formatColumnsWithDisplayFormatForColumn[columnId];
4507
+ if (memoizedFormatColumns) {
4508
+ return memoizedFormatColumns;
4509
+ }
4510
+ const abColumn = getAdaptableColumnWithColumnId(columnId);
4511
+ const formatColumns = this.api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
4512
+ formatColumnsWithDisplayFormatForColumn[columnId] = formatColumns;
4513
+ return formatColumns;
4514
+ };
4515
+ const isDateCellExportedAsFormattedValue = this.api.exportApi.internalApi.isDateCellExportedAsFormattedValue();
4482
4516
  this.setGridOptionsProperty('excelStyles', (userExcelStyles = []) => {
4483
- const adaptableExcelStyles = [];
4484
4517
  const displayedColumns = this.gridOptions.columnApi.getAllDisplayedColumns();
4485
4518
  const colDefs = displayedColumns.map((column) => {
4486
4519
  return column.getColDef();
@@ -4497,24 +4530,33 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4497
4530
  };
4498
4531
  const rowStyle = this.gridOptions.getRowStyle(rowParams);
4499
4532
  displayedColumns.forEach((column, columnIndex) => {
4533
+ var _a, _b, _c;
4500
4534
  const colDef = colDefs[columnIndex];
4501
- const cellParams = {
4502
- colDef,
4503
- node,
4504
- column,
4505
- data: node.data,
4506
- value: this.getRawValueFromRowNode(node, column.getId()),
4507
- rowIndex,
4508
- api: this.gridOptions.api,
4509
- columnApi: this.gridOptions.columnApi,
4510
- context: {},
4535
+ let cellClassParams;
4536
+ const getLazyCellClassParams = () => {
4537
+ if (!cellClassParams) {
4538
+ cellClassParams = {
4539
+ colDef,
4540
+ node,
4541
+ column,
4542
+ data: node.data,
4543
+ value: this.getRawValueFromRowNode(node, column.getId()),
4544
+ rowIndex,
4545
+ api: this.gridOptions.api,
4546
+ columnApi: this.gridOptions.columnApi,
4547
+ context: {},
4548
+ };
4549
+ }
4550
+ return cellClassParams;
4511
4551
  };
4512
- const cellStyle = typeof colDef.cellStyle === 'function' ? colDef.cellStyle(cellParams) : {};
4552
+ const cellStyle = typeof colDef.cellStyle === 'function'
4553
+ ? colDef.cellStyle(getLazyCellClassParams())
4554
+ : {};
4513
4555
  const excelStyles = [];
4514
4556
  // add user defined excel styles
4515
4557
  let userColDefCellClass = this.getUserColDefProperty(column.getColId(), 'cellClass');
4516
4558
  const userDefinedCellClass = typeof userColDefCellClass === 'function'
4517
- ? userColDefCellClass(cellParams)
4559
+ ? userColDefCellClass(getLazyCellClassParams())
4518
4560
  : userColDefCellClass;
4519
4561
  const userDefinedExcelStyle = userDefinedCellClass &&
4520
4562
  userExcelStyles.find((excelStyle) => {
@@ -4536,21 +4578,48 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4536
4578
  if (Object.values(adaptableStyle).some((style) => style != null)) {
4537
4579
  excelStyles.push(this.convertCSSToExcelStyle(adaptableStyle));
4538
4580
  }
4581
+ const excelDataType = this.api.exportApi.internalApi.getExcelDataType(colDef === null || colDef === void 0 ? void 0 : colDef.type);
4539
4582
  // don't add the cell style if it has no adaptable custom styles or user defined styles
4540
- if (!excelStyles.length) {
4583
+ if (!excelStyles.length &&
4584
+ // if this is a formatted Date value, we still need to add the AG GRID specific type & numberFormat below
4585
+ !(excelDataType === 'DateTime' && isDateCellExportedAsFormattedValue)) {
4541
4586
  return;
4542
4587
  }
4543
- const cellClass = typeof colDef.cellClass === 'function'
4544
- ? colDef.cellClass(cellParams)
4545
- : this.getExcelClassNameForCell(column.getId(), this.getPrimaryKeyValueFromRowNode(node));
4546
- const cellClassId = Array.isArray(cellClass) ? cellClass.join(' ') : cellClass;
4547
- const finalCellExcelStyle = Object.assign({}, ...excelStyles, {
4548
- id: cellClassId,
4549
- });
4550
- adaptableExcelStyles.push(finalCellExcelStyle);
4588
+ const cellClassId = this.getExcelClassNameForCell(column.getId(), this.getPrimaryKeyValueFromRowNode(node), userDefinedCellClass);
4589
+ const finalCellExcelStyle = Object.assign({}, ...excelStyles);
4590
+ if (excelDataType === 'DateTime' && isDateCellExportedAsFormattedValue) {
4591
+ let dateFormatPattern = this.api.optionsApi.getExportOptions().exportDateFormat;
4592
+ const rawValue = this.getRawValueFromRowNode(node, column.getId());
4593
+ const abColumn = getAdaptableColumnWithColumnId(column.getColId());
4594
+ if (!dateFormatPattern) {
4595
+ const mostRelevantFormatColumn = this.api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(getFormatColumnsWithDisplayFormatForColumn(column.getColId()), abColumn, { node, value: rawValue });
4596
+ dateFormatPattern =
4597
+ ((_a = mostRelevantFormatColumn === null || mostRelevantFormatColumn === void 0 ? void 0 : mostRelevantFormatColumn.DisplayFormat) === null || _a === void 0 ? void 0 : _a.Formatter) === 'DateFormatter' &&
4598
+ ((_c = (_b = mostRelevantFormatColumn === null || mostRelevantFormatColumn === void 0 ? void 0 : mostRelevantFormatColumn.DisplayFormat) === null || _b === void 0 ? void 0 : _b.Options) === null || _c === void 0 ? void 0 : _c.Pattern);
4599
+ }
4600
+ if (dateFormatPattern) {
4601
+ const normalisedValue = this.getNormalisedValueFromRawValue(rawValue, abColumn);
4602
+ // we have to pass the date in the ISO format to Excel
4603
+ // see https://www.ag-grid.com/javascript-data-grid/excel-export-data-types/#dates
4604
+ const isoFormattedValue = normalisedValue === null || normalisedValue === void 0 ? void 0 : normalisedValue.toISOString();
4605
+ if (isoFormattedValue) {
4606
+ finalCellExcelStyle.dataType = 'DateTime';
4607
+ finalCellExcelStyle.numberFormat = { format: dateFormatPattern };
4608
+ // create a new cell key to ensure any user provided className does not interfere
4609
+ const cellKey = this.getExcelClassNameForCell(column.getColId(), this.getPrimaryKeyValueFromRowNode(node));
4610
+ // we need to register so that later the cellProcessor will put the isoFormattedValue through (thus giving the formatting responsability to Excel)
4611
+ this.api.internalApi
4612
+ .getReportService()
4613
+ .registerExcelStyleWithFormattedDate(cellKey, isoFormattedValue);
4614
+ }
4615
+ }
4616
+ }
4617
+ this.api.internalApi
4618
+ .getReportService()
4619
+ .registerExcelStyle(finalCellExcelStyle, cellClassId);
4551
4620
  });
4552
4621
  });
4553
- return adaptableExcelStyles;
4622
+ return this.api.internalApi.getReportService().getRegisteredExcelStyles();
4554
4623
  });
4555
4624
  }
4556
4625
  exportVisualDataToExcel() {
@@ -4560,13 +4629,17 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4560
4629
  sheetName: 'Sheet 1',
4561
4630
  fileName: this.ReportService.getReportFileName(this.adaptableOptions.adaptableId),
4562
4631
  // delegate the cell value processing to Adaptable
4563
- processCellCallback: (params) => {
4632
+ processCellCallback: ({ node, column, value }) => {
4564
4633
  var _a;
4565
- if ((_a = params.node) === null || _a === void 0 ? void 0 : _a.group) {
4634
+ const columnId = column.getColId();
4635
+ if ((node === null || node === void 0 ? void 0 : node.group) &&
4636
+ (this.api.columnApi.isAutoRowGroupColumn(columnId) ||
4637
+ // we would still need to process the cell if this is a group row with an aggregated value
4638
+ ((_a = node === null || node === void 0 ? void 0 : node.aggData) === null || _a === void 0 ? void 0 : _a[columnId]) == undefined)) {
4566
4639
  // skip processing of row groups, this was already handled in processRowGroupCallback()
4567
- return params.value;
4640
+ return value;
4568
4641
  }
4569
- return this.processCellForExcelExport(params.node, params.column.getColId());
4642
+ return this.processCellForExcelExport(node, columnId);
4570
4643
  },
4571
4644
  processRowGroupCallback: (params) => {
4572
4645
  var _a;
@@ -4654,6 +4727,14 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4654
4727
  return result;
4655
4728
  }
4656
4729
  processCellForExcelExport(rowNode, columnId) {
4730
+ if (this.api.exportApi.internalApi.isVisualDataExportInProgress()) {
4731
+ const cellKey = this.getExcelClassNameForCell(columnId, this.getPrimaryKeyValueFromRowNode(rowNode));
4732
+ const isoFormattedDate = this.ReportService.getExcelStyleWithFormattedDate(cellKey);
4733
+ if (isoFormattedDate) {
4734
+ // this is a Date cell which will be formatted by Excel
4735
+ return isoFormattedDate;
4736
+ }
4737
+ }
4657
4738
  return this.ReportService.getCellExportValueFromRowNode(rowNode, columnId);
4658
4739
  }
4659
4740
  processRowGroupForExcelExport(rowNode) {
@@ -4664,9 +4745,10 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4664
4745
  }
4665
4746
  let rawValue = rowNode.key;
4666
4747
  if (this.api.columnApi.getColumnDataTypeForColumnId(columnId) === 'Date' &&
4667
- typeof rawValue === 'string') {
4748
+ typeof rawValue === 'string' &&
4749
+ !Number.isNaN(rawValue)) {
4668
4750
  // AG-Grid converts the value to string, we have to reconvert it back
4669
- const dateRawValue = (0, DateHelper_1.parseDateValue)(rawValue);
4751
+ const dateRawValue = parseInt(rawValue);
4670
4752
  if (dateRawValue != undefined) {
4671
4753
  // @ts-ignore
4672
4754
  rawValue = dateRawValue;
@@ -4693,8 +4775,7 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4693
4775
  }
4694
4776
  initLicenseService() {
4695
4777
  const globalObject = typeof globalThis !== 'undefined' ? globalThis : window;
4696
- const licenseKey = globalObject.ADAPTABLE_LICENSE_KEY ||
4697
- this.api.internalApi.getAdaptableOptions().licenseKey;
4778
+ const licenseKey = globalObject.ADAPTABLE_LICENSE_KEY || this.api.optionsApi.getLicenseKey();
4698
4779
  return new LicenseService_1.LicenseService(this, licenseKey, {
4699
4780
  publishedAt: publishTimestamp_1.default,
4700
4781
  });
@@ -57,7 +57,7 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
57
57
  textEl.style.lineHeight = '1.2';
58
58
  if (percentBarStyle.CellText.includes('CellValue')) {
59
59
  const activeFormatColumnsWithDisplayFormat = api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
60
- const [formatColumn] = api.formatColumnApi.internalApi.getFormatColumnsRelevantForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node: params.node, value });
60
+ const formatColumn = api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node: params.node, value });
61
61
  if (formatColumn && api.scopeApi.isColumnInNumericScope(abColumn, formatColumn.Scope)) {
62
62
  const options = formatColumn.DisplayFormat.Options;
63
63
  value = api.formatColumnApi.internalApi.getNumberFormattedValue(params.value, params.node, abColumn, options);
@@ -27,7 +27,7 @@ const Radio_1 = tslib_1.__importDefault(require("../Radio"));
27
27
  const VarEditorButton = () => {
28
28
  var _a, _b;
29
29
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
30
- const expressionOptions = (_b = (_a = adaptable.api.internalApi.getAdaptableOptions().adaptableQLOptions) === null || _a === void 0 ? void 0 : _a.expressionOptions) === null || _b === void 0 ? void 0 : _b.customQueryVariables;
30
+ const expressionOptions = (_b = (_a = adaptable.api.optionsApi.getAdaptableQLOptions()) === null || _a === void 0 ? void 0 : _a.expressionOptions) === null || _b === void 0 ? void 0 : _b.customQueryVariables;
31
31
  if (!expressionOptions || Object.keys(expressionOptions).length === 0) {
32
32
  return React.createElement(React.Fragment, null);
33
33
  }
@@ -2845,6 +2845,13 @@ export declare const ADAPTABLE_METAMODEL: {
2845
2845
  kind: string;
2846
2846
  description: string;
2847
2847
  properties: ({
2848
+ name: string;
2849
+ kind: string;
2850
+ description: string;
2851
+ uiLabel: string;
2852
+ isOptional?: undefined;
2853
+ reference?: undefined;
2854
+ } | {
2848
2855
  name: string;
2849
2856
  kind: string;
2850
2857
  description: string;