@adaptabletools/adaptable 11.1.0 → 11.1.1-canary.2

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 (79) hide show
  1. package/LICENSE.md +5 -5
  2. package/agGrid.d.ts +2 -2
  3. package/base.css +4 -6
  4. package/bundle.cjs.js +67 -67
  5. package/index.css +4 -6
  6. package/package.json +1 -1
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -2
  10. package/src/AdaptableOptions/AlertOptions.d.ts +2 -2
  11. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +2 -2
  12. package/src/AdaptableOptions/EditOptions.d.ts +2 -2
  13. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +8 -12
  14. package/src/Api/AlertApi.d.ts +3 -5
  15. package/src/Api/DataChangeHistoryApi.d.ts +3 -3
  16. package/src/Api/Events/CellChanged.d.ts +2 -2
  17. package/src/Api/ExportApi.d.ts +3 -3
  18. package/src/Api/FreeTextColumnApi.d.ts +3 -3
  19. package/src/Api/GridApi.d.ts +4 -4
  20. package/src/Api/Implementation/AlertApiImpl.d.ts +3 -3
  21. package/src/Api/Implementation/AlertApiImpl.js +20 -20
  22. package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +3 -3
  23. package/src/Api/Implementation/EventApiImpl.js +1 -1
  24. package/src/Api/Implementation/ExportApiImpl.d.ts +2 -2
  25. package/src/Api/Implementation/ExportApiImpl.js +7 -8
  26. package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +2 -2
  27. package/src/Api/Implementation/FreeTextColumnApiImpl.js +7 -7
  28. package/src/Api/Implementation/GridApiImpl.d.ts +3 -3
  29. package/src/Api/Implementation/GridApiImpl.js +5 -5
  30. package/src/Api/Implementation/InternalApiImpl.d.ts +2 -2
  31. package/src/Api/Implementation/InternalApiImpl.js +6 -6
  32. package/src/Api/Implementation/UserInterfaceApiImpl.js +3 -1
  33. package/src/Api/InternalApi.d.ts +2 -2
  34. package/src/PredefinedConfig/Common/AdaptableAlert.d.ts +2 -2
  35. package/src/PredefinedConfig/Common/AdaptableFlashingCell.d.ts +2 -2
  36. package/src/PredefinedConfig/Common/{DataChangedInfo.d.ts → CellDataChangedInfo.d.ts} +1 -5
  37. package/src/PredefinedConfig/Common/{DataChangedInfo.js → CellDataChangedInfo.js} +0 -0
  38. package/src/PredefinedConfig/Common/DataChangedScope.d.ts +4 -0
  39. package/src/PredefinedConfig/Common/DataChangedScope.js +2 -0
  40. package/src/PredefinedConfig/SystemState.d.ts +2 -2
  41. package/src/Redux/ActionsReducers/GridRedux.d.ts +5 -5
  42. package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -5
  43. package/src/Redux/ActionsReducers/SystemRedux.js +5 -5
  44. package/src/Redux/Store/AdaptableStore.js +15 -15
  45. package/src/Strategy/AlertModule.js +12 -10
  46. package/src/Strategy/BulkUpdateModule.js +2 -2
  47. package/src/Strategy/DataChangeHistoryModule.js +8 -6
  48. package/src/Strategy/FlashingCellModule.d.ts +2 -2
  49. package/src/Strategy/FlashingCellModule.js +21 -15
  50. package/src/Strategy/FormatColumnModule.js +4 -2
  51. package/src/Utilities/Emitter.d.ts +1 -1
  52. package/src/Utilities/Emitter.js +6 -3
  53. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +1 -1
  54. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +2 -2
  55. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
  56. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +1 -1
  57. package/src/Utilities/ObjectFactory.d.ts +2 -2
  58. package/src/Utilities/ObjectFactory.js +2 -2
  59. package/src/Utilities/Services/CalculatedColumnExpressionService.js +3 -3
  60. package/src/Utilities/Services/DataService.d.ts +5 -5
  61. package/src/Utilities/Services/DataService.js +12 -10
  62. package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
  63. package/src/Utilities/Services/Interface/IDataService.d.ts +6 -6
  64. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +3 -3
  65. package/src/Utilities/Services/Interface/IValidationService.d.ts +4 -4
  66. package/src/Utilities/Services/QueryLanguageService.d.ts +3 -3
  67. package/src/Utilities/Services/ValidationService.d.ts +4 -4
  68. package/src/Utilities/Services/ValidationService.js +17 -17
  69. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +2 -2
  70. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +2 -2
  71. package/src/agGrid/ActionColumnRenderer.d.ts +1 -6
  72. package/src/agGrid/ActionColumnRenderer.js +50 -59
  73. package/src/agGrid/Adaptable.d.ts +3 -2
  74. package/src/agGrid/Adaptable.js +54 -49
  75. package/src/metamodel/adaptable.metamodel.d.ts +34 -34
  76. package/src/metamodel/adaptable.metamodel.js +73 -73
  77. package/src/types.d.ts +7 -1
  78. package/version.d.ts +1 -1
  79. package/version.js +1 -1
@@ -100,6 +100,7 @@ class Adaptable {
100
100
  constructor() {
101
101
  this.colDefPropertyCache = new Map();
102
102
  this.gridOptionsPropertyCache = new Map();
103
+ this.isCheckedColumnDataType = false;
103
104
  // only for our private / internal events used within Adaptable
104
105
  // public events are emitted through the EventApi
105
106
  this._on = (eventName, callback) => {
@@ -1483,25 +1484,27 @@ class Adaptable {
1483
1484
  this.agGridHelper.fireSelectionChangedEvent();
1484
1485
  return selectedRowInfo;
1485
1486
  }
1486
- setValue(dataChangedInfo) {
1487
+ setValue(cellDataChangedInfo) {
1487
1488
  // note: because we use RowNode.setDataValue() this will cause Validation to fire
1488
1489
  // see https://www.ag-grid.com/javascript-data-grid/change-detection/#triggering-value-change-detection
1489
1490
  let newValue;
1490
- let dataType = dataChangedInfo.column.dataType;
1491
+ let dataType = cellDataChangedInfo.column.dataType;
1491
1492
  newValue =
1492
- dataType == Enums_1.DataType.Number ? Number(dataChangedInfo.newValue) : dataChangedInfo.newValue;
1493
+ dataType == Enums_1.DataType.Number
1494
+ ? Number(cellDataChangedInfo.newValue)
1495
+ : cellDataChangedInfo.newValue;
1493
1496
  if (dataType == undefined) {
1494
1497
  return; // no point continuing as probably a wrong column
1495
1498
  }
1496
- if (dataChangedInfo.rowNode) {
1497
- dataChangedInfo.rowNode.setDataValue(dataChangedInfo.column.columnId, newValue);
1499
+ if (cellDataChangedInfo.rowNode) {
1500
+ cellDataChangedInfo.rowNode.setDataValue(cellDataChangedInfo.column.columnId, newValue);
1498
1501
  }
1499
1502
  else {
1500
1503
  if (this.useRowNodeLookUp) {
1501
- const rowNode = this.gridOptions.api.getRowNode(dataChangedInfo.primaryKeyValue);
1504
+ const rowNode = this.gridOptions.api.getRowNode(cellDataChangedInfo.primaryKeyValue);
1502
1505
  if (rowNode != null) {
1503
- rowNode.setDataValue(dataChangedInfo.column.columnId, newValue);
1504
- dataChangedInfo.rowNode = rowNode;
1506
+ rowNode.setDataValue(cellDataChangedInfo.column.columnId, newValue);
1507
+ cellDataChangedInfo.rowNode = rowNode;
1505
1508
  }
1506
1509
  }
1507
1510
  else {
@@ -1509,9 +1512,9 @@ class Adaptable {
1509
1512
  // prefer not to use this method but if we do then at least we can prevent further lookups once we find
1510
1513
  this.gridOptions.api.getModel().forEachNode((rowNode) => {
1511
1514
  if (!isUpdated) {
1512
- if (dataChangedInfo.primaryKeyValue == this.getPrimaryKeyValueFromRowNode(rowNode)) {
1513
- rowNode.setDataValue(dataChangedInfo.column.columnId, newValue);
1514
- dataChangedInfo.rowNode = rowNode;
1515
+ if (cellDataChangedInfo.primaryKeyValue == this.getPrimaryKeyValueFromRowNode(rowNode)) {
1516
+ rowNode.setDataValue(cellDataChangedInfo.column.columnId, newValue);
1517
+ cellDataChangedInfo.rowNode = rowNode;
1515
1518
  isUpdated = true;
1516
1519
  }
1517
1520
  }
@@ -3091,7 +3094,7 @@ class Adaptable {
3091
3094
  }
3092
3095
  return true;
3093
3096
  }
3094
- const dataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3097
+ const cellDataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3095
3098
  oldValue: params.oldValue,
3096
3099
  newValue: params.newValue,
3097
3100
  column: this.api.columnApi.getColumnFromId(params.column.getColId()),
@@ -3099,15 +3102,15 @@ class Adaptable {
3099
3102
  rowNode: params.node,
3100
3103
  trigger: 'edit',
3101
3104
  });
3102
- if (dataChangedInfo.oldValue === dataChangedInfo.newValue) {
3105
+ if (cellDataChangedInfo.oldValue === cellDataChangedInfo.newValue) {
3103
3106
  return true;
3104
3107
  }
3105
- if (!this.ValidationService.performValidation(dataChangedInfo)) {
3108
+ if (!this.ValidationService.performValidation(cellDataChangedInfo)) {
3106
3109
  return false;
3107
3110
  }
3108
3111
  const onServerValidationCompleted = () => { };
3109
3112
  if ((_a = this.adaptableOptions.editOptions) === null || _a === void 0 ? void 0 : _a.validateOnServer) {
3110
- this.ValidationService.performServerValidation(dataChangedInfo, {
3113
+ this.ValidationService.performServerValidation(cellDataChangedInfo, {
3111
3114
  onServerValidationCompleted,
3112
3115
  })();
3113
3116
  }
@@ -3176,13 +3179,13 @@ class Adaptable {
3176
3179
  return;
3177
3180
  }
3178
3181
  // rowNode = this.getRowNodeForPrimaryKey(primaryKeyValue);
3179
- let dataChangedInfos = [];
3182
+ let cellDataChangedInfos = [];
3180
3183
  Object.keys(oldData).forEach((key) => {
3181
3184
  if (this.api.columnApi.doesColumnExist(key)) {
3182
3185
  const oldValue = oldData[key];
3183
3186
  const newValue = newData[key];
3184
3187
  if (oldValue != newValue) {
3185
- const dataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3188
+ const cellDataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3186
3189
  oldValue: oldValue,
3187
3190
  newValue: newValue,
3188
3191
  column: this.api.columnApi.getColumnFromId(key),
@@ -3190,14 +3193,14 @@ class Adaptable {
3190
3193
  rowNode: rowNode,
3191
3194
  trigger: 'tick',
3192
3195
  });
3193
- if (this.isUndoChange(dataChangedInfo)) {
3194
- dataChangedInfo.trigger = 'undo';
3196
+ if (this.isUndoChange(cellDataChangedInfo)) {
3197
+ cellDataChangedInfo.trigger = 'undo';
3195
3198
  }
3196
- dataChangedInfos.push(dataChangedInfo);
3199
+ cellDataChangedInfos.push(cellDataChangedInfo);
3197
3200
  }
3198
3201
  }
3199
3202
  });
3200
- this.performPostEditChecks(dataChangedInfos);
3203
+ this.performPostEditChecks(cellDataChangedInfos);
3201
3204
  }
3202
3205
  onCellDataChanged({ rowNode, oldValue, newValue, colId, }) {
3203
3206
  if (oldValue == newValue) {
@@ -3208,7 +3211,7 @@ class Adaptable {
3208
3211
  return;
3209
3212
  }
3210
3213
  if (this.isGroupRowNode(rowNode)) {
3211
- const dataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3214
+ const cellDataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3212
3215
  oldValue: oldValue,
3213
3216
  newValue: newValue,
3214
3217
  column: abColumn,
@@ -3220,14 +3223,14 @@ class Adaptable {
3220
3223
  rowNode: rowNode,
3221
3224
  trigger: 'aggChange',
3222
3225
  });
3223
- this.DataService.CreateDataChangedEvent(dataChangedInfo);
3226
+ this.DataService.CreateDataChangedEvent(cellDataChangedInfo);
3224
3227
  return;
3225
3228
  }
3226
3229
  const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(rowNode);
3227
3230
  if (!primaryKeyValue) {
3228
3231
  return;
3229
3232
  }
3230
- const dataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3233
+ const cellDataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3231
3234
  oldValue: oldValue,
3232
3235
  newValue: newValue,
3233
3236
  column: abColumn,
@@ -3235,10 +3238,10 @@ class Adaptable {
3235
3238
  rowNode: rowNode,
3236
3239
  trigger: 'edit',
3237
3240
  });
3238
- if (this.isUndoChange(dataChangedInfo)) {
3239
- dataChangedInfo.trigger = 'undo';
3241
+ if (this.isUndoChange(cellDataChangedInfo)) {
3242
+ cellDataChangedInfo.trigger = 'undo';
3240
3243
  }
3241
- this.performPostEditChecks([dataChangedInfo]);
3244
+ this.performPostEditChecks([cellDataChangedInfo]);
3242
3245
  }
3243
3246
  isUndoChange(dataChange) {
3244
3247
  // check if this is not a reverted change
@@ -3248,20 +3251,20 @@ class Adaptable {
3248
3251
  /**
3249
3252
  * There are a few things that we need to do AFTER we edit a cell and it makes sense to put them in one place
3250
3253
  */
3251
- performPostEditChecks(dataChangedInfos) {
3252
- const firstInfo = dataChangedInfos[0];
3254
+ performPostEditChecks(cellDataChangedInfos) {
3255
+ const firstInfo = cellDataChangedInfos[0];
3253
3256
  if (!firstInfo || !firstInfo.rowNode) {
3254
3257
  return;
3255
3258
  }
3256
- dataChangedInfos.forEach((dataChangedInfo) => {
3257
- if (dataChangedInfo.trigger === 'undo') {
3258
- LoggingHelper_1.LogAdaptableInfo(`Undo data change: PK(${dataChangedInfo.primaryKeyValue}) Col(${dataChangedInfo.column}) RevertedValue(${dataChangedInfo.oldValue}) OriginalValue(${dataChangedInfo.newValue})`);
3259
+ cellDataChangedInfos.forEach((cellDataChangedInfo) => {
3260
+ if (cellDataChangedInfo.trigger === 'undo') {
3261
+ LoggingHelper_1.LogAdaptableInfo(`Undo data change: PK(${cellDataChangedInfo.primaryKeyValue}) Col(${cellDataChangedInfo.column}) RevertedValue(${cellDataChangedInfo.oldValue}) OriginalValue(${cellDataChangedInfo.newValue})`);
3259
3262
  }
3260
- if (dataChangedInfo.trigger === 'edit' || dataChangedInfo.trigger === 'undo') {
3261
- this.checkChangedCellCurrentlySelected(dataChangedInfo);
3262
- this.api.freeTextColumnApi.checkFreeTextColumnForDataChange(dataChangedInfo);
3263
+ if (cellDataChangedInfo.trigger === 'edit' || cellDataChangedInfo.trigger === 'undo') {
3264
+ this.checkChangedCellCurrentlySelected(cellDataChangedInfo);
3265
+ this.api.freeTextColumnApi.checkFreeTextColumnForDataChange(cellDataChangedInfo);
3263
3266
  }
3264
- this.DataService.CreateDataChangedEvent(dataChangedInfo);
3267
+ this.DataService.CreateDataChangedEvent(cellDataChangedInfo);
3265
3268
  });
3266
3269
  // if node is visible then check if need to refresh other columns / whole row if the updating column is:
3267
3270
  // 1. referenced in Conditional Styles that have Expressions (refreshing whole row if Scope is All)
@@ -3271,12 +3274,12 @@ class Adaptable {
3271
3274
  wholeRow: false,
3272
3275
  columnIds: new Set(),
3273
3276
  };
3274
- this.getExpressionStylesChanges(dataChangedScope, dataChangedInfos);
3277
+ this.getExpressionStylesChanges(dataChangedScope, cellDataChangedInfos);
3275
3278
  if (dataChangedScope.wholeRow) {
3276
3279
  this.redrawRow(firstInfo.rowNode);
3277
3280
  }
3278
3281
  else {
3279
- this.getFormatColumnComparisonChanges(dataChangedScope, dataChangedInfos);
3282
+ this.getFormatColumnComparisonChanges(dataChangedScope, cellDataChangedInfos);
3280
3283
  if (dataChangedScope.columnIds.size > 0) {
3281
3284
  this.refreshCells([firstInfo.rowNode], Array.from(dataChangedScope.columnIds.values()), true);
3282
3285
  }
@@ -3284,17 +3287,17 @@ class Adaptable {
3284
3287
  }
3285
3288
  firstInfo.trigger == 'tick' ? this.filterOnTickingDataChange() : this.filterOnEditDataChange();
3286
3289
  }
3287
- getExpressionStylesChanges(dataChangedScope, dataChangedInfos) {
3290
+ getExpressionStylesChanges(dataChangedScope, cellDataChangedInfos) {
3288
3291
  const stylesWithExpression = this.api.conditionalStyleApi.getConditionalStylesWithExpression();
3289
3292
  if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(stylesWithExpression)) {
3290
3293
  return;
3291
3294
  }
3292
- dataChangedInfos.forEach((dataChangedInfo) => {
3295
+ cellDataChangedInfos.forEach((cellDataChangedInfo) => {
3293
3296
  if (!dataChangedScope.wholeRow) {
3294
3297
  stylesWithExpression.forEach((conditionalStyle) => {
3295
3298
  if (!dataChangedScope.wholeRow) {
3296
3299
  const columnIds = this.api.queryLanguageApi.getColumnsFromExpression(conditionalStyle.Rule.BooleanExpression);
3297
- if (columnIds.includes(dataChangedInfo.column.columnId)) {
3300
+ if (columnIds.includes(cellDataChangedInfo.column.columnId)) {
3298
3301
  if (this.api.scopeApi.scopeIsAll(conditionalStyle.Scope)) {
3299
3302
  dataChangedScope.wholeRow = true;
3300
3303
  return;
@@ -3313,14 +3316,14 @@ class Adaptable {
3313
3316
  }
3314
3317
  });
3315
3318
  }
3316
- getFormatColumnComparisonChanges(dataChangedScope, dataChangedInfos) {
3319
+ getFormatColumnComparisonChanges(dataChangedScope, cellDataChangedInfos) {
3317
3320
  this.api.formatColumnApi.getAllFormatColumn().forEach((fc) => {
3318
3321
  let columnComparision = this.api.formatColumnApi.getColumnComparisonForFormatColumn(fc);
3319
3322
  if (columnComparision) {
3320
3323
  let affectedColumnIds = this.api.formatColumnApi.getColumnIdsFromColumnComparison(columnComparision);
3321
3324
  if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(affectedColumnIds)) {
3322
- dataChangedInfos.forEach((dataChangedInfo) => {
3323
- if (affectedColumnIds.includes(dataChangedInfo.column.columnId)) {
3325
+ cellDataChangedInfos.forEach((cellDataChangedInfo) => {
3326
+ if (affectedColumnIds.includes(cellDataChangedInfo.column.columnId)) {
3324
3327
  this.api.scopeApi
3325
3328
  .getColumnsForScope(fc.Scope)
3326
3329
  .map((c) => c.columnId)
@@ -3333,18 +3336,18 @@ class Adaptable {
3333
3336
  }
3334
3337
  });
3335
3338
  }
3336
- checkChangedCellCurrentlySelected(dataChangedInfo) {
3339
+ checkChangedCellCurrentlySelected(cellDataChangedInfo) {
3337
3340
  let selectedCellInfo = this.api.gridApi.getSelectedCellInfo();
3338
3341
  if (selectedCellInfo && ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(selectedCellInfo.gridCells)) {
3339
- let matchingCell = selectedCellInfo.gridCells.find((gc) => gc.primaryKeyValue == dataChangedInfo.primaryKeyValue &&
3340
- gc.column == dataChangedInfo.column);
3342
+ let matchingCell = selectedCellInfo.gridCells.find((gc) => gc.primaryKeyValue == cellDataChangedInfo.primaryKeyValue &&
3343
+ gc.column == cellDataChangedInfo.column);
3341
3344
  if (matchingCell) {
3342
3345
  this.setSelectedCells();
3343
3346
  }
3344
3347
  }
3345
3348
  let selectedRowInfo = this.api.gridApi.getSelectedRowInfo();
3346
3349
  if (selectedRowInfo && ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(selectedRowInfo.gridRows)) {
3347
- let matchingRow = selectedRowInfo.gridRows.find((gr) => gr.primaryKeyValue == dataChangedInfo.primaryKeyValue);
3350
+ let matchingRow = selectedRowInfo.gridRows.find((gr) => gr.primaryKeyValue == cellDataChangedInfo.primaryKeyValue);
3348
3351
  if (matchingRow) {
3349
3352
  this.setSelectedRows();
3350
3353
  }
@@ -3673,7 +3676,7 @@ class Adaptable {
3673
3676
  updateColumnDataTypeIfRowDataIsEmpty() {
3674
3677
  var _a, _b;
3675
3678
  // gridOptions?.rowData is not updated when setting data via the api
3676
- if (!((_b = (_a = this.gridOptions) === null || _a === void 0 ? void 0 : _a.rowData) === null || _b === void 0 ? void 0 : _b.length)) {
3679
+ if (!this.isCheckedColumnDataType && !((_b = (_a = this.gridOptions) === null || _a === void 0 ? void 0 : _a.rowData) === null || _b === void 0 ? void 0 : _b.length)) {
3677
3680
  // the columns dataType is based on the rawData, when type is not set on the column
3678
3681
  // when data is loaded async, the dataType initially is dataType=unknown
3679
3682
  // to fix this, we need to update the columnDefs when we data is loaded
@@ -3681,6 +3684,8 @@ class Adaptable {
3681
3684
  // this influences the floating filter
3682
3685
  // need to trigger header redraw, if not, the columnDef update is not picked-up
3683
3686
  this.redrawHeader();
3687
+ // ensures the check is performed only once
3688
+ this.isCheckedColumnDataType = true;
3684
3689
  }
3685
3690
  }
3686
3691
  runAdaptableComparerFunction(columnId, columnValues) {
@@ -1000,6 +1000,40 @@ export declare const ADAPTABLE_METAMODEL: {
1000
1000
  isOptional: boolean;
1001
1001
  })[];
1002
1002
  };
1003
+ CellDataChangedInfo: {
1004
+ name: string;
1005
+ kind: string;
1006
+ description: string;
1007
+ properties: ({
1008
+ name: string;
1009
+ kind: string;
1010
+ description: string;
1011
+ uiLabel: string;
1012
+ reference?: undefined;
1013
+ isOptional?: undefined;
1014
+ } | {
1015
+ name: string;
1016
+ kind: string;
1017
+ description: string;
1018
+ uiLabel: string;
1019
+ reference: string;
1020
+ isOptional?: undefined;
1021
+ } | {
1022
+ name: string;
1023
+ kind: string;
1024
+ description: string;
1025
+ uiLabel: string;
1026
+ isOptional: boolean;
1027
+ reference?: undefined;
1028
+ } | {
1029
+ name: string;
1030
+ kind: string;
1031
+ description: string;
1032
+ uiLabel: string;
1033
+ isOptional: boolean;
1034
+ reference: string;
1035
+ })[];
1036
+ };
1003
1037
  CellHighlightInfo: {
1004
1038
  name: string;
1005
1039
  kind: string;
@@ -1595,40 +1629,6 @@ export declare const ADAPTABLE_METAMODEL: {
1595
1629
  uiLabel: string;
1596
1630
  }[];
1597
1631
  };
1598
- DataChangedInfo: {
1599
- name: string;
1600
- kind: string;
1601
- description: string;
1602
- properties: ({
1603
- name: string;
1604
- kind: string;
1605
- description: string;
1606
- uiLabel: string;
1607
- reference?: undefined;
1608
- isOptional?: undefined;
1609
- } | {
1610
- name: string;
1611
- kind: string;
1612
- description: string;
1613
- uiLabel: string;
1614
- reference: string;
1615
- isOptional?: undefined;
1616
- } | {
1617
- name: string;
1618
- kind: string;
1619
- description: string;
1620
- uiLabel: string;
1621
- isOptional: boolean;
1622
- reference?: undefined;
1623
- } | {
1624
- name: string;
1625
- kind: string;
1626
- description: string;
1627
- uiLabel: string;
1628
- isOptional: boolean;
1629
- reference: string;
1630
- })[];
1631
- };
1632
1632
  DataChangeHistoryApi: {
1633
1633
  name: string;
1634
1634
  kind: string;
@@ -15,7 +15,7 @@ exports.ADAPTABLE_METAMODEL = {
15
15
  {
16
16
  "name": "actionColumnButton",
17
17
  "kind": "unknown",
18
- "description": "Button to display in the Column",
18
+ "description": "Button (or list of buttons) to display in the Column",
19
19
  "uiLabel": "Action Column Button"
20
20
  },
21
21
  {
@@ -493,11 +493,11 @@ exports.ADAPTABLE_METAMODEL = {
493
493
  "description": "Defines an Alert fired by AdapTable when a cell is changed",
494
494
  "properties": [
495
495
  {
496
- "name": "dataChangedInfo",
496
+ "name": "cellDataChangedInfo",
497
497
  "kind": "REFERENCE",
498
498
  "description": "Cell DataChange which triggered Alert",
499
- "uiLabel": "Data Changed Info",
500
- "reference": "DataChangedInfo"
499
+ "uiLabel": "Cell Data Changed Info",
500
+ "reference": "CellDataChangedInfo"
501
501
  }
502
502
  ]
503
503
  },
@@ -695,12 +695,12 @@ exports.ADAPTABLE_METAMODEL = {
695
695
  "description": "Defines an Alert fired by AdapTable",
696
696
  "properties": [
697
697
  {
698
- "name": "dataChangedInfo",
698
+ "name": "cellDataChangedInfo",
699
699
  "kind": "REFERENCE",
700
700
  "description": "Data change which triggered the FlashingCell",
701
- "uiLabel": "Data Changed Info",
701
+ "uiLabel": "Cell Data Changed Info",
702
702
  "isOptional": true,
703
- "reference": "DataChangedInfo"
703
+ "reference": "CellDataChangedInfo"
704
704
  },
705
705
  {
706
706
  "name": "direction",
@@ -2410,7 +2410,7 @@ exports.ADAPTABLE_METAMODEL = {
2410
2410
  "kind": "REFERENCE",
2411
2411
  "description": "Object providing full information of the cell (and column and row) that changed",
2412
2412
  "uiLabel": "Cell Change",
2413
- "reference": "DataChangedInfo"
2413
+ "reference": "CellDataChangedInfo"
2414
2414
  }
2415
2415
  ]
2416
2416
  },
@@ -2446,6 +2446,66 @@ exports.ADAPTABLE_METAMODEL = {
2446
2446
  }
2447
2447
  ]
2448
2448
  },
2449
+ "CellDataChangedInfo": {
2450
+ "name": "CellDataChangedInfo",
2451
+ "kind": "Interface",
2452
+ "description": "Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",
2453
+ "properties": [
2454
+ {
2455
+ "name": "changedAt",
2456
+ "kind": "number",
2457
+ "description": "Timestamp of change occurrence (in milliseconds)",
2458
+ "uiLabel": "Changed At"
2459
+ },
2460
+ {
2461
+ "name": "column",
2462
+ "kind": "REFERENCE",
2463
+ "description": "Column in which cell is situated",
2464
+ "uiLabel": "Column",
2465
+ "reference": "AdaptableColumn"
2466
+ },
2467
+ {
2468
+ "name": "newValue",
2469
+ "kind": "unknown",
2470
+ "description": "New value for the cell",
2471
+ "uiLabel": "New Value"
2472
+ },
2473
+ {
2474
+ "name": "oldValue",
2475
+ "kind": "unknown",
2476
+ "description": "Value in the Cell before the edit",
2477
+ "uiLabel": "Old Value"
2478
+ },
2479
+ {
2480
+ "name": "primaryKeyValue",
2481
+ "kind": "unknown",
2482
+ "description": "Primary Key Column's value for the row where edited cell is situated",
2483
+ "uiLabel": "Primary Key Value"
2484
+ },
2485
+ {
2486
+ "name": "rowData",
2487
+ "kind": "unknown",
2488
+ "description": "Data in the Row",
2489
+ "uiLabel": "Row Data",
2490
+ "isOptional": true
2491
+ },
2492
+ {
2493
+ "name": "rowNode",
2494
+ "kind": "REFERENCE",
2495
+ "description": "AG Grid RowNode that contains the cell",
2496
+ "uiLabel": "Row Node",
2497
+ "isOptional": true,
2498
+ "reference": "unknown"
2499
+ },
2500
+ {
2501
+ "name": "trigger",
2502
+ "kind": "unknown",
2503
+ "description": "What triggered the change - user, background change or a reverted change?",
2504
+ "uiLabel": "Trigger",
2505
+ "isOptional": true
2506
+ }
2507
+ ]
2508
+ },
2449
2509
  "CellHighlightInfo": {
2450
2510
  "name": "CellHighlightInfo",
2451
2511
  "kind": "Interface",
@@ -4364,66 +4424,6 @@ exports.ADAPTABLE_METAMODEL = {
4364
4424
  }
4365
4425
  ]
4366
4426
  },
4367
- "DataChangedInfo": {
4368
- "name": "DataChangedInfo",
4369
- "kind": "Interface",
4370
- "description": "Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",
4371
- "properties": [
4372
- {
4373
- "name": "changedAt",
4374
- "kind": "number",
4375
- "description": "Timestamp of change occurrence (in milliseconds)",
4376
- "uiLabel": "Changed At"
4377
- },
4378
- {
4379
- "name": "column",
4380
- "kind": "REFERENCE",
4381
- "description": "Column in which cell is situated",
4382
- "uiLabel": "Column",
4383
- "reference": "AdaptableColumn"
4384
- },
4385
- {
4386
- "name": "newValue",
4387
- "kind": "unknown",
4388
- "description": "New value for the cell",
4389
- "uiLabel": "New Value"
4390
- },
4391
- {
4392
- "name": "oldValue",
4393
- "kind": "unknown",
4394
- "description": "Value in the Cell before the edit",
4395
- "uiLabel": "Old Value"
4396
- },
4397
- {
4398
- "name": "primaryKeyValue",
4399
- "kind": "unknown",
4400
- "description": "Primary Key Column's value for the row where edited cell is situated",
4401
- "uiLabel": "Primary Key Value"
4402
- },
4403
- {
4404
- "name": "rowData",
4405
- "kind": "unknown",
4406
- "description": "Data in the Row",
4407
- "uiLabel": "Row Data",
4408
- "isOptional": true
4409
- },
4410
- {
4411
- "name": "rowNode",
4412
- "kind": "REFERENCE",
4413
- "description": "AG Grid RowNode that contains the cell",
4414
- "uiLabel": "Row Node",
4415
- "isOptional": true,
4416
- "reference": "unknown"
4417
- },
4418
- {
4419
- "name": "trigger",
4420
- "kind": "unknown",
4421
- "description": "What triggered the change - user, background change or a reverted change?",
4422
- "uiLabel": "Trigger",
4423
- "isOptional": true
4424
- }
4425
- ]
4426
- },
4427
4427
  "DataChangeHistoryApi": {
4428
4428
  "name": "DataChangeHistoryApi",
4429
4429
  "kind": "Interface",
@@ -11486,14 +11486,14 @@ exports.ADAPTABLE_METAMODEL = {
11486
11486
  {
11487
11487
  "name": "bulkUpdatePermittedValues",
11488
11488
  "kind": "unknown",
11489
- "description": "Custom column values for editing via bulk-update. When not defined it defaults to permittedValues.",
11489
+ "description": "Custom column values for editing via bulk-update; when not defined defaults to permittedValues",
11490
11490
  "uiLabel": "Bulk Update Permitted Values",
11491
11491
  "isOptional": true
11492
11492
  },
11493
11493
  {
11494
11494
  "name": "colorPalette",
11495
11495
  "kind": "unknown",
11496
- "description": "Colours to display in Colour Picker (in place of AdapTable's default set)",
11496
+ "description": "Colours to display in Colour Picker (in place of AdapTable's default set); can be hardcoded list or function",
11497
11497
  "uiLabel": "Color Palette",
11498
11498
  "isOptional": true
11499
11499
  },
@@ -11507,7 +11507,7 @@ exports.ADAPTABLE_METAMODEL = {
11507
11507
  {
11508
11508
  "name": "customSortPermittedValues",
11509
11509
  "kind": "unknown",
11510
- "description": "Custom column values for defining custom sort. When not defined it defaults to permittedValues.",
11510
+ "description": "Custom column values for defining Custom Sort; when not defined defaults to permittedValues",
11511
11511
  "uiLabel": "Custom Sort Permitted Values",
11512
11512
  "isOptional": true
11513
11513
  },
@@ -11530,14 +11530,14 @@ exports.ADAPTABLE_METAMODEL = {
11530
11530
  {
11531
11531
  "name": "editLookUpItems",
11532
11532
  "kind": "unknown",
11533
- "description": "Dropdown values displayed when column is being edited. When not defined it defaults to permittedValues.",
11533
+ "description": "Dropdown values displayed when column is being edited; when not defined defaults to permittedValues",
11534
11534
  "uiLabel": "Edit Look Up Items",
11535
11535
  "isOptional": true
11536
11536
  },
11537
11537
  {
11538
11538
  "name": "filterPermittedValues",
11539
11539
  "kind": "unknown",
11540
- "description": "Dropdown values for filter options inside floating and header filter. When not defined it defaults to permittedValues.",
11540
+ "description": "Custom column values for 'IN' filter; when not defined defaults to permittedValues",
11541
11541
  "uiLabel": "Filter Permitted Values",
11542
11542
  "isOptional": true
11543
11543
  },
package/src/types.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  export type { ExpressionFunction, ExpressionFunctionDocBlock, ExpressionFunctionHandler, ExpressionContext, ExpressionFunctionMap, } from './../src/parser/src/types';
2
2
  export type { AdaptableNoCodeWizardOptions, IAdaptableNoCodeWizard, } from './AdaptableInterfaces/AdaptableNoCodeWizard';
3
+ export type { BooleanFunctionName } from './Utilities/ExpressionFunctions/booleanExpressionFunctions';
4
+ export type { ScalarFunctionName } from './Utilities/ExpressionFunctions/scalarExpressionFunctions';
5
+ export type { ObservableFunctionName } from './Utilities/ExpressionFunctions/observableExpressionFunctions';
6
+ export type { AggregationFunctionName } from './Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions';
7
+ export type { AggregatedScalarFunctionName } from './Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions';
3
8
  export type { AdaptableOptions } from './AdaptableOptions/AdaptableOptions';
4
9
  export { AdaptablePlugin } from './AdaptableOptions/AdaptablePlugin';
5
10
  export type { ContainerOptions } from './AdaptableOptions/ContainerOptions';
@@ -114,7 +119,8 @@ export type { CellHighlightInfo } from './PredefinedConfig/Common/CellHighlightI
114
119
  export type { RowHighlightInfo } from './PredefinedConfig/Common/RowHighlightInfo';
115
120
  export type { RowsHighlightInfo } from './PredefinedConfig/Common/RowsHighlightInfo';
116
121
  export type { ColumnSort } from './PredefinedConfig/Common/ColumnSort';
117
- export type { DataChangedInfo } from './PredefinedConfig/Common/DataChangedInfo';
122
+ export type { CellDataChangedInfo } from './PredefinedConfig/Common/CellDataChangedInfo';
123
+ export type { DataChangedScope } from './PredefinedConfig/Common/DataChangedScope';
118
124
  export type { DataUpdateConfig } from './PredefinedConfig/Common/DataUpdateConfig';
119
125
  export type { AdaptableFormData, AdaptableForm, AdaptableFormField, } from './PredefinedConfig/Common/AdaptableForm';
120
126
  export type { AdaptableButton, ButtonContext } from './PredefinedConfig/Common/AdaptableButton';
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "11.1.0";
1
+ declare const _default: "11.1.1-canary.2";
2
2
  export default _default;
package/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '11.1.0'; // PLEASE DONT UPDATE THIS!!! - will be updated at build time with the correct version
3
+ exports.default = '11.1.1-canary.2'; // PLEASE DONT UPDATE THIS!!! - will be updated at build time with the correct version