@adaptabletools/adaptable 22.0.0-canary.0 → 22.0.0-canary.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.
package/README.md CHANGED
@@ -4,11 +4,11 @@ Repository for the vanilla version of AdapTable - the AG Grid extension develope
4
4
 
5
5
  AdapTable provides a huge range of Data Grid (and FDC3) features, which extend AG Grid, and allow advanced users to manage, edit and visualise their data in ways not previously possible.
6
6
 
7
- There are also [AdapTable React](https://docs.adaptabletools.com/guide/react-overview), [AdapTable Angular](https://docs.adaptabletools.com/guide/angular-overview) and [AdapTable Vue](https://docs.adaptabletools.com/guide/vue-overview) versions available for those who wish to access AdapTable using their preferred Framework.
7
+ There are also [AdapTable React](https://www.adaptabletools.com/docs/react-overview), [AdapTable Angular](https://www.adaptabletools.com/docs/angular-overview) and [AdapTable Vue](https://www.adaptabletools.com/docs/vue-overview) versions available for those who wish to access AdapTable using their preferred Framework.
8
8
 
9
9
  ## Documentation
10
10
 
11
- For full details on how to install, instantiate and reference AdapTable programmatically at run-time please read the [AdapTable Developer Documentation](https://docs.adaptabletools.com).
11
+ For full details on how to install, instantiate and reference AdapTable programmatically at run-time please read the [AdapTable Developer Documentation](https://www.adaptabletools.com/docs).
12
12
 
13
13
  ## Licenses
14
14
 
@@ -20,14 +20,12 @@ We can also make a trial license available for a short period of time to allow y
20
20
 
21
21
  **Note: The AdapTable license does not include an AG Grid license which must be bought separately**.
22
22
 
23
- Please contact [`sales@adaptabletools.com`](mailto:sales@adaptabletools.com) or see our [License Help Page](https://docs.adaptabletools.com/guide/buying-adaptable-licensing) for more information.
23
+ Please contact [`sales@adaptabletools.com`](mailto:sales@adaptabletools.com) or see our [License Help Page](https://www.adaptabletools.com/buy/buying-adaptable-licensing) for more information.
24
24
 
25
25
 
26
26
  ## Demos
27
27
 
28
- The [AdapTable Documentation](https://docs.adaptabletools.com) contains numerous demos that show the many different functionalities available in AdapTable.
29
-
30
- Additionally you can see a number of large demos at the [Adaptable Tools website](https://www.adaptabletools.com/demos).
28
+ The [AdapTable Documentation](https://www.adaptabletools.com/docs) contains numerous demos that show the many different functionalities available in AdapTable.
31
29
 
32
30
  ## Other AdapTable Resources
33
31
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "22.0.0-canary.0",
3
+ "version": "22.0.0-canary.1",
4
4
  "description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
5
5
  "keywords": [
6
6
  "web-components",
@@ -171,6 +171,15 @@ export interface IAdaptable {
171
171
  updated: IRowNode[];
172
172
  }>;
173
173
  deleteRows(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): Promise<IRowNode[]>;
174
+ applyGridDataTransaction(dataTransaction: {
175
+ add?: any[];
176
+ update?: any[];
177
+ remove?: any[];
178
+ }, config?: DataUpdateConfig): Promise<{
179
+ addedRows: IRowNode[];
180
+ updatedRows: IRowNode[];
181
+ removedRows: IRowNode[];
182
+ }>;
174
183
  getPrimaryKeyValueFromRowNode(rowNode: IRowNode, gridApi?: GridApi): any;
175
184
  getDistinctGridCellsForGroupedColumn(): GridCellWithChildren[];
176
185
  getDistinctGridCellsForColumn(column: AdaptableColumn): GridCell[];
@@ -69,6 +69,20 @@ export interface GridApi {
69
69
  * @param config batch option and callback function to run post deletion
70
70
  */
71
71
  deleteGridData(dataRows: any[], config?: DataUpdateConfig): Promise<IRowNode[]>;
72
+ /**
73
+ * Applies a data transaction (add, update, remove) to AdapTable (and AG Grid)
74
+ * @param dataTransaction - data transaction containing rows to add, update or remove
75
+ * @param config - batch option and callback function to run post transaction
76
+ */
77
+ applyGridDataTransaction(dataTransaction: {
78
+ add?: any[];
79
+ update?: any[];
80
+ remove?: any[];
81
+ }, config?: DataUpdateConfig): Promise<{
82
+ addedRows: IRowNode[];
83
+ updatedRows: IRowNode[];
84
+ removedRows: IRowNode[];
85
+ }>;
72
86
  /**
73
87
  * Updates cell in AdapTable (first performs Cell & Server Validation)
74
88
  * @param cellUpdateRequest (contains columnId, newValue and primaryKeyValue
@@ -151,4 +151,13 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
151
151
  updateAgGridColumnDefinitions(columnDefinitionsToBeUpdated: ColDefWithId[]): void;
152
152
  removeAgGridColumnDefinition(columnId: string): void;
153
153
  addAgGridColumnDefinition(newColumnDefinition: ColDefWithId): void;
154
+ applyGridDataTransaction(dataTransaction: {
155
+ add?: any[];
156
+ update?: any[];
157
+ remove?: any[];
158
+ }, config?: DataUpdateConfig): Promise<{
159
+ addedRows: IRowNode[];
160
+ updatedRows: IRowNode[];
161
+ removedRows: IRowNode[];
162
+ }>;
154
163
  }
@@ -683,4 +683,20 @@ export class GridApiImpl extends ApiBase {
683
683
  .filter(Boolean);
684
684
  this.setAgGridColumnDefinitions([...sanitizedColDefs, newColumnDefinition]);
685
685
  }
686
+ async applyGridDataTransaction(dataTransaction, config) {
687
+ const transactionResult = await this._adaptable.applyGridDataTransaction(dataTransaction, config);
688
+ if (Array.isArray(transactionResult.removedRows) && transactionResult.removedRows.length) {
689
+ const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataTransaction.remove, transactionResult.removedRows, 'Delete');
690
+ this.getAdaptableInternalApi().getDataService().CreateRowDataChangedEvent(rowDataChangedInfo);
691
+ }
692
+ if (Array.isArray(transactionResult.updatedRows) && transactionResult.updatedRows.length) {
693
+ const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataTransaction.update, transactionResult.updatedRows, 'Update');
694
+ this.getAdaptableInternalApi().getDataService().CreateRowDataChangedEvent(rowDataChangedInfo);
695
+ }
696
+ if (Array.isArray(transactionResult.addedRows) && transactionResult.addedRows.length) {
697
+ const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataTransaction.add, transactionResult.addedRows, 'Add');
698
+ this.getAdaptableInternalApi().getDataService().CreateRowDataChangedEvent(rowDataChangedInfo);
699
+ }
700
+ return transactionResult;
701
+ }
686
702
  }
@@ -1000,6 +1000,14 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1000
1000
  const newLayout = (newLayoutState.Layouts || []).find((l) => l.Name == newLayoutState.CurrentLayout) ||
1001
1001
  newLayoutState.Layouts[0] ||
1002
1002
  ERROR_LAYOUT;
1003
+ if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
1004
+ returnAction.type == LayoutRedux.LAYOUT_DELETE) {
1005
+ // tell AdapTable the Layout has been selected
1006
+ if (newLayout) {
1007
+ adaptable.updateLayoutInManagerAfterStoreHasChanged(newLayout);
1008
+ }
1009
+ }
1010
+ // !!! filter refresh has to be AFTER the layout has been set in the store
1003
1011
  let refreshColumnFilters = false;
1004
1012
  if (adaptable.api.filterApi.columnFilterApi.internalApi.areColumnFiltersDifferent(oldLayout.ColumnFilters, newLayout.ColumnFilters)) {
1005
1013
  refreshColumnFilters = true;
@@ -1011,13 +1019,6 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1011
1019
  if (refreshColumnFilters || refreshGridFilter) {
1012
1020
  adaptable.applyFiltering({ updateColumnFilterModel: refreshColumnFilters });
1013
1021
  }
1014
- if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
1015
- returnAction.type == LayoutRedux.LAYOUT_DELETE) {
1016
- // tell AdapTable the Layout has been selected
1017
- if (newLayout) {
1018
- adaptable.updateLayoutInManagerAfterStoreHasChanged(newLayout);
1019
- }
1020
- }
1021
1022
  // when changing current layout via the api, the layout should update
1022
1023
  if (returnAction.type == LayoutRedux.LAYOUT_SAVE) {
1023
1024
  const savingLayout = returnAction.layout;
@@ -1,17 +1,18 @@
1
- export declare const HOST_URL_DOCS = "https://docs.adaptabletools.com";
2
- export declare const ExpressionEditorDocsLink = "https://docs.adaptabletools.com/guide/ui-expression-editor";
3
- export declare const BooleanQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-standard";
4
- export declare const ScalarQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-standard";
5
- export declare const ObservableQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-observable";
6
- export declare const AggregatedBooleanQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-aggregation";
7
- export declare const AggregatedScalarQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-aggregation";
8
- export declare const CumulativeAggregatedScalarQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-cumulative";
9
- export declare const QuantileAggregatedScalarQueryDocsLink = "https://docs.adaptabletools.com/guide/adaptable-ql-expression-quantile";
10
- export declare const PredicateDocsLink = "https://docs.adaptabletools.com/guide/adaptable-predicate";
11
- export declare const PrimaryKeyDocsLink = "https://docs.adaptabletools.com/guide/getting-started-primary-key";
12
- export declare const LicenseDocsLink = "https://docs.adaptabletools.com/guide/licensing";
13
- export declare const AdaptableOptionsDocsLink = "https://docs.adaptabletools.com/guide/reference-options-overview";
14
- export declare const AgGridModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview";
15
- export declare const AlertMessageDocsLink = "https://docs.adaptabletools.com/guide/handbook-alerting-message";
16
- export declare const FormatColumnPlaceholderDocsLink = "https://docs.adaptabletools.com/guide/handbook-column-formatting-display-format-placeholder";
17
- export declare const AgGridRequiredModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview#mandatory-modules";
1
+ export declare const HOST_URL_ROOT = "https://www.adaptabletools.com";
2
+ export declare const HOST_URL_DOCS = "https://www.adaptabletools.com/docs";
3
+ export declare const ExpressionEditorDocsLink = "https://www.adaptabletools.com/docs/ui-expression-editor";
4
+ export declare const BooleanQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-standard";
5
+ export declare const ScalarQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-standard";
6
+ export declare const ObservableQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-observable";
7
+ export declare const AggregatedBooleanQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-aggregation";
8
+ export declare const AggregatedScalarQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-aggregation";
9
+ export declare const CumulativeAggregatedScalarQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-cumulative";
10
+ export declare const QuantileAggregatedScalarQueryDocsLink = "https://www.adaptabletools.com/docs/adaptable-ql-expression-quantile";
11
+ export declare const PredicateDocsLink = "https://www.adaptabletools.com/docs/adaptable-predicate";
12
+ export declare const PrimaryKeyDocsLink = "https://www.adaptabletools.com/docs/getting-started-primary-key";
13
+ export declare const LicenseDocsLink = "https://www.adaptabletools.com/buy/buying-adaptable-licensing";
14
+ export declare const AdaptableOptionsDocsLink = "https://www.adaptabletools.com/docs/reference-options-overview";
15
+ export declare const AgGridModulesDocsLink = "https://www.adaptabletools.com/docs/dev-guide-aggrid-modules-overview";
16
+ export declare const AlertMessageDocsLink = "https://www.adaptabletools.com/docs/handbook-alerting-message";
17
+ export declare const FormatColumnPlaceholderDocsLink = "https://www.adaptabletools.com/docs/handbook-column-formatting-display-format-placeholder";
18
+ export declare const AgGridRequiredModulesDocsLink = "https://www.adaptabletools.com/docs/dev-guide-aggrid-modules-overview#mandatory-modules";
@@ -1,18 +1,19 @@
1
- export const HOST_URL_DOCS = 'https://docs.adaptabletools.com';
1
+ export const HOST_URL_ROOT = 'https://www.adaptabletools.com';
2
+ export const HOST_URL_DOCS = `${HOST_URL_ROOT}/docs`;
2
3
  //export const HOST_URL_DOCS = 'http://localhost:3000';
3
- export const ExpressionEditorDocsLink = `${HOST_URL_DOCS}/guide/ui-expression-editor`;
4
- export const BooleanQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-standard`;
5
- export const ScalarQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-standard`;
6
- export const ObservableQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-observable`;
7
- export const AggregatedBooleanQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation`;
8
- export const AggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation`;
9
- export const CumulativeAggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-cumulative`;
10
- export const QuantileAggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/guide/adaptable-ql-expression-quantile`;
11
- export const PredicateDocsLink = `${HOST_URL_DOCS}/guide/adaptable-predicate`;
12
- export const PrimaryKeyDocsLink = `${HOST_URL_DOCS}/guide/getting-started-primary-key`;
13
- export const LicenseDocsLink = `${HOST_URL_DOCS}/guide/licensing`;
14
- export const AdaptableOptionsDocsLink = `${HOST_URL_DOCS}/guide/reference-options-overview`;
15
- export const AgGridModulesDocsLink = `${HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview`;
16
- export const AlertMessageDocsLink = `${HOST_URL_DOCS}/guide/handbook-alerting-message`;
17
- export const FormatColumnPlaceholderDocsLink = `${HOST_URL_DOCS}/guide/handbook-column-formatting-display-format-placeholder`;
18
- export const AgGridRequiredModulesDocsLink = `${HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview#mandatory-modules`;
4
+ export const ExpressionEditorDocsLink = `${HOST_URL_DOCS}/ui-expression-editor`;
5
+ export const BooleanQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-standard`;
6
+ export const ScalarQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-standard`;
7
+ export const ObservableQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-observable`;
8
+ export const AggregatedBooleanQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-aggregation`;
9
+ export const AggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-aggregation`;
10
+ export const CumulativeAggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-cumulative`;
11
+ export const QuantileAggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/adaptable-ql-expression-quantile`;
12
+ export const PredicateDocsLink = `${HOST_URL_DOCS}/adaptable-predicate`;
13
+ export const PrimaryKeyDocsLink = `${HOST_URL_DOCS}/getting-started-primary-key`;
14
+ export const LicenseDocsLink = `${HOST_URL_ROOT}/buy/buying-adaptable-licensing`;
15
+ export const AdaptableOptionsDocsLink = `${HOST_URL_DOCS}/reference-options-overview`;
16
+ export const AgGridModulesDocsLink = `${HOST_URL_DOCS}/dev-guide-aggrid-modules-overview`;
17
+ export const AlertMessageDocsLink = `${HOST_URL_DOCS}/handbook-alerting-message`;
18
+ export const FormatColumnPlaceholderDocsLink = `${HOST_URL_DOCS}/handbook-column-formatting-display-format-placeholder`;
19
+ export const AgGridRequiredModulesDocsLink = `${HOST_URL_DOCS}/dev-guide-aggrid-modules-overview#mandatory-modules`;
@@ -105,84 +105,83 @@ export class ModuleService {
105
105
  }
106
106
  getModuleDocumentationPageByModule(adaptableModule) {
107
107
  let url = `${HOST_URL_DOCS}/`;
108
- let learnUrl = url + 'guide/';
109
108
  switch (adaptableModule) {
110
109
  case 'Alert':
111
- return learnUrl + 'handbook-alerting';
110
+ return url + 'handbook-alerting';
112
111
  case 'BulkUpdate':
113
112
  return url + 'handbook-editing-bulk-update';
114
113
  case 'CalculatedColumn':
115
- return learnUrl + 'handbook-calculated-column';
114
+ return url + 'handbook-calculated-column';
116
115
  case 'CellSummary':
117
- return learnUrl + 'handbook-summarising';
116
+ return url + 'handbook-summarising';
118
117
  case 'Charting':
119
- return learnUrl + 'handbook-charts';
118
+ return url + 'handbook-charts';
120
119
  case 'ColumnFilter':
121
- return learnUrl + 'handbook-column-filter';
120
+ return url + 'handbook-column-filter';
122
121
  case 'ColumnInfo':
123
- return learnUrl + 'dev-guide-column-grid-column-info';
122
+ return url + 'dev-guide-column-grid-column-info';
124
123
  case 'Comment':
125
- return learnUrl + 'handbook-comments';
124
+ return url + 'handbook-comments';
126
125
  case 'CustomSort':
127
- return learnUrl + 'handbook-custom-sorting';
126
+ return url + 'handbook-custom-sorting';
128
127
  case 'Dashboard':
129
- return learnUrl + 'ui-dashboard';
128
+ return url + 'ui-dashboard';
130
129
  case 'DataChangeHistory':
131
- return learnUrl + 'handbook-monitoring-data-change-history';
130
+ return url + 'handbook-monitoring-data-change-history';
132
131
  case 'DataImport':
133
- return learnUrl + 'handbook-importing';
132
+ return url + 'handbook-importing';
134
133
  case 'DataSet':
135
- return learnUrl + 'handbook-data-sets';
134
+ return url + 'handbook-data-sets';
136
135
  case 'Export':
137
- return learnUrl + 'handbook-exporting';
136
+ return url + 'handbook-exporting';
138
137
  case 'Fdc3':
139
- return learnUrl + 'handbook-fdc3';
138
+ return url + 'handbook-fdc3';
140
139
  case 'FlashingCell':
141
- return learnUrl + 'handbook-flashing-cell';
140
+ return url + 'handbook-flashing-cell';
142
141
  case 'FormatColumn':
143
- return learnUrl + 'handbook-column-formatting';
142
+ return url + 'handbook-column-formatting';
144
143
  case 'FreeTextColumn':
145
- return learnUrl + 'handbook-freetext-column';
144
+ return url + 'handbook-freetext-column';
146
145
  case 'GridFilter':
147
- return learnUrl + 'handbook-grid-filter';
146
+ return url + 'handbook-grid-filter';
148
147
  case 'GridInfo':
149
- return learnUrl + 'dev-guide-column-grid-column-info';
148
+ return url + 'dev-guide-column-grid-column-info';
150
149
  case 'Layout':
151
- return learnUrl + 'handbook-layouts';
150
+ return url + 'handbook-layouts';
152
151
  case 'NamedQuery':
153
- return learnUrl + 'handbook-named-queries';
152
+ return url + 'handbook-named-queries';
154
153
  case 'Note':
155
- return learnUrl + 'handbook-notes';
154
+ return url + 'handbook-notes';
156
155
  case 'PlusMinus':
157
- return learnUrl + 'handbook-editing-plus-minus';
156
+ return url + 'handbook-editing-plus-minus';
158
157
  case 'QuickSearch':
159
- return learnUrl + 'handbook-quick-search';
158
+ return url + 'handbook-quick-search';
160
159
  case 'Schedule':
161
- return learnUrl + 'handbook-scheduling';
160
+ return url + 'handbook-scheduling';
162
161
  case 'SettingsPanel':
163
- return learnUrl + 'ui-settings-panel';
162
+ return url + 'ui-settings-panel';
164
163
  case 'Shortcut':
165
- return learnUrl + 'handbook-editing-shortcut';
164
+ return url + 'handbook-editing-shortcut';
166
165
  case 'SmartEdit':
167
- return learnUrl + 'handbook-editing-smart-edit';
166
+ return url + 'handbook-editing-smart-edit';
168
167
  case 'StateManagement':
169
- return learnUrl + 'dev-guide-adaptable-state-management';
168
+ return url + 'dev-guide-adaptable-state-management';
170
169
  case 'StatusBar':
171
- return learnUrl + 'ui-status-bar';
170
+ return url + 'ui-status-bar';
172
171
  case 'StyledColumn':
173
- return learnUrl + 'handbook-styled-column-overview';
172
+ return url + 'handbook-styled-column-overview';
174
173
  case 'SystemStatus':
175
- return learnUrl + 'handbook-system-status-message';
174
+ return url + 'handbook-system-status-message';
176
175
  case 'TeamSharing':
177
- return learnUrl + 'handbook-team-sharing';
176
+ return url + 'handbook-team-sharing';
178
177
  case 'Theme':
179
- return learnUrl + 'handbook-theming';
178
+ return url + 'handbook-theming';
180
179
  case 'ToolPanel':
181
- return learnUrl + 'ui-tool-panel';
180
+ return url + 'ui-tool-panel';
182
181
  case 'IPushPull':
183
- return learnUrl + 'integrations-ipushpull';
182
+ return url + 'integrations-ipushpull';
184
183
  case 'OpenFin':
185
- return learnUrl + 'integrations-openfin';
184
+ return url + 'integrations-openfin';
186
185
  default:
187
186
  return 'good';
188
187
  }
@@ -257,6 +257,15 @@ export declare class AdaptableAgGrid implements IAdaptable {
257
257
  added: IRowNode[];
258
258
  updated: IRowNode[];
259
259
  }>;
260
+ applyGridDataTransaction(dataTransaction: {
261
+ add?: any[];
262
+ update?: any[];
263
+ remove?: any[];
264
+ }, config?: DataUpdateConfig): Promise<{
265
+ addedRows: IRowNode[];
266
+ updatedRows: IRowNode[];
267
+ removedRows: IRowNode[];
268
+ }>;
260
269
  deleteRows(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): Promise<IRowNode[]>;
261
270
  getRowNodeForPrimaryKey(primaryKeyValue: any): any;
262
271
  hideColumn(columnId: string): void;
@@ -654,11 +654,8 @@ You need to define at least one Layout!`);
654
654
  // FIXME AFL FILTER why is this needed???
655
655
  this.refreshSelectedCellsState();
656
656
  this.refreshSelectedRowsState();
657
- // FIXME AFL: this is temporary, will be replaced with v22's new autoCol filtering
658
- const currentPivotLayoutHasAutoCols = this.api.layoutApi.isCurrentLayoutPivot() &&
659
- !!this.api.layoutApi.getCurrentRowGroupsColumnIds()?.length;
660
657
  // agGridApi.setFilterModel() already triggered onFilterChanged(), so we skip it if updateColumnFilterModel is TRUE
661
- if (!filteringApplied || currentPivotLayoutHasAutoCols) {
658
+ if (!filteringApplied) {
662
659
  agGridApi.onFilterChanged();
663
660
  filteringApplied = true;
664
661
  }
@@ -2404,6 +2401,66 @@ You need to define at least one Layout!`);
2404
2401
  });
2405
2402
  }
2406
2403
  }
2404
+ async applyGridDataTransaction(dataTransaction, config = {}) {
2405
+ const result = {
2406
+ addedRows: [],
2407
+ updatedRows: [],
2408
+ removedRows: [],
2409
+ };
2410
+ if (!dataTransaction) {
2411
+ return result;
2412
+ }
2413
+ const addDataRows = dataTransaction.add;
2414
+ const updateDataRows = dataTransaction.update;
2415
+ const removeDataRows = dataTransaction.remove;
2416
+ if (this.hasAutogeneratedPrimaryKey) {
2417
+ this.addSyntheticPrimaryKeyIfMissing(addDataRows);
2418
+ }
2419
+ if (config.runAsync) {
2420
+ return new Promise((resolve) => {
2421
+ this.applyAgGridTransactionAsync({
2422
+ update: updateDataRows,
2423
+ add: addDataRows,
2424
+ remove: removeDataRows,
2425
+ addIndex: config.addIndex,
2426
+ }, (transaction) => {
2427
+ if (typeof config.callback === 'function') {
2428
+ config.callback(transaction);
2429
+ }
2430
+ if (transaction?.add) {
2431
+ this.updateRowGroupsAndColumnGroupsExpandedState();
2432
+ }
2433
+ resolve({
2434
+ addedRows: transaction?.add,
2435
+ updatedRows: transaction?.update,
2436
+ removedRows: transaction?.remove,
2437
+ });
2438
+ });
2439
+ if (config.flushAsync) {
2440
+ this.agGridAdapter.getAgGridApi().flushAsyncTransactions();
2441
+ }
2442
+ });
2443
+ }
2444
+ else {
2445
+ const transaction = this.applyAgGridTransaction({
2446
+ update: updateDataRows,
2447
+ add: addDataRows,
2448
+ remove: removeDataRows,
2449
+ addIndex: config.addIndex,
2450
+ });
2451
+ if (transaction?.add) {
2452
+ this.updateRowGroupsAndColumnGroupsExpandedState();
2453
+ }
2454
+ if (config.flushAsync) {
2455
+ this.agGridAdapter.getAgGridApi().flushAsyncTransactions();
2456
+ }
2457
+ return Promise.resolve({
2458
+ addedRows: transaction?.add,
2459
+ updatedRows: transaction?.update,
2460
+ removedRows: transaction?.remove,
2461
+ });
2462
+ }
2463
+ }
2407
2464
  deleteRows(dataRows, dataUpdateConfig) {
2408
2465
  dataUpdateConfig = dataUpdateConfig || {};
2409
2466
  if (dataUpdateConfig.runAsync) {
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  NEXT_PUBLIC_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: 1768988317720 || Date.now(),
4
- VERSION: "22.0.0-canary.0" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1769179404024 || Date.now(),
4
+ VERSION: "22.0.0-canary.1" || '--current-version--',
5
5
  };