@datorama/core 22.6.3 → 22.7.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.
@@ -11402,26 +11402,26 @@ var GridQuery = /** @class */ (function (_super) {
11402
11402
  return settings;
11403
11403
  };
11404
11404
  GridQuery.prototype.getSort = function () {
11405
- if (this.gridRef.gridOptions.pivotMode) {
11406
- var _a = this.api.grid.getSortModel().pop() || {}, sort = _a.sort, colId = _a.colId;
11407
- var column = this.api.columns.getColumn(colId);
11408
- var allColumns = this.api.columns.getAllGridColumns();
11409
- if (column) {
11410
- return { colId: colId, sort: sort, field: getColField(column.getColDef()), sortIndex: allColumns.indexOf(column) };
11411
- }
11412
- else {
11413
- var secondaryColumn = this.getSecondaryColumn(colId);
11414
- if (secondaryColumn) {
11415
- return {
11416
- colId: colId,
11417
- sort: sort,
11418
- field: getColField(secondaryColumn.getColDef()),
11419
- sortIndex: allColumns.indexOf(secondaryColumn)
11420
- };
11421
- }
11405
+ return this.api.grid.getSortModel().pop();
11406
+ };
11407
+ GridQuery.prototype.getExternalSort = function () {
11408
+ var _a = this.getSort() || {}, sort = _a.sort, colId = _a.colId;
11409
+ var column = this.api.columns.getColumn(colId);
11410
+ var allColumns = this.api.columns.getAllGridColumns();
11411
+ if (column) {
11412
+ return { colId: colId, sort: sort, field: getColField(column.getColDef()), sortIndex: allColumns.indexOf(column) };
11413
+ }
11414
+ else {
11415
+ var secondaryColumn = this.getSecondaryColumn(colId);
11416
+ if (secondaryColumn) {
11417
+ return {
11418
+ colId: colId,
11419
+ sort: sort,
11420
+ field: getColField(secondaryColumn.getColDef()),
11421
+ sortIndex: allColumns.indexOf(secondaryColumn)
11422
+ };
11422
11423
  }
11423
11424
  }
11424
- return this.api.grid.getSortModel().pop();
11425
11425
  };
11426
11426
  GridQuery.prototype.selectSort = function () {
11427
11427
  return this.select(function (state) { return state.settings.sort; });
@@ -14266,38 +14266,37 @@ var GridService = /** @class */ (function () {
14266
14266
  }
14267
14267
  };
14268
14268
  GridService.prototype.setGridSort = function (gridSort) {
14269
- if (this.api && gridSort) {
14270
- var sort = gridSort.sort, sortIndex = gridSort.sortIndex, colId_1 = gridSort.colId;
14269
+ if (gridSort && this.api && this.api.grid.getDisplayedRowCount() > 0) {
14270
+ var colId_1 = gridSort.colId, sort = gridSort.sort, sortIndex = gridSort.sortIndex;
14271
+ var sortToApply = gridSort;
14271
14272
  if (!isNil(sortIndex)) {
14272
14273
  var gridColumns = this.api.columns.getAllGridColumns();
14273
14274
  if (gridColumns) {
14274
- var primaryColumns = this.api.columns.getPrimaryColumns();
14275
- var primaryColumn = primaryColumns.find(function (col) { return col.getColId() === colId_1; });
14276
- if (primaryColumn) {
14277
- /** Column is no pivot value column */
14275
+ var valueColumns = this.api.columns.getValueColumns();
14276
+ var valueColumn = valueColumns.find(function (col) { return col.getColId() === colId_1; });
14277
+ var isPivotColId = colId_1.startsWith('pivot');
14278
+ if (isPivotColId || valueColumn) {
14279
+ /** Column is pivot value column, sort by index */
14280
+ var columnByIndex = gridColumns[sortIndex];
14281
+ var pivotValueColumn = columnByIndex && columnByIndex.getColDef().pivotValueColumn;
14282
+ var pivotValueColumnId = pivotValueColumn && pivotValueColumn.getColId();
14283
+ if (pivotValueColumnId === colId_1) {
14284
+ sortToApply = { colId: columnByIndex.getColId(), sort: sort };
14285
+ }
14286
+ }
14287
+ else {
14288
+ /** Sort by column id */
14278
14289
  var columnById = gridColumns.find(function (col) {
14279
14290
  return (col.getColDef().showRowGroup || col.getColId()) === colId_1;
14280
14291
  });
14281
14292
  if (columnById) {
14282
- var sortToApply = { colId: columnById.getColId(), sort: sort };
14283
- this.updateSettings({ sort: sortToApply });
14284
- this.api.grid.setSortModel([sortToApply]);
14285
- }
14286
- }
14287
- else {
14288
- var columnByIndex = gridColumns[sortIndex];
14289
- if (columnByIndex) {
14290
- var sortToApply = { colId: columnByIndex.getColId(), sort: sort };
14291
- this.updateSettings({ sort: sortToApply });
14292
- this.api.grid.setSortModel([sortToApply]);
14293
+ sortToApply = { colId: columnById.getColId(), sort: sort };
14293
14294
  }
14294
14295
  }
14295
14296
  }
14296
14297
  }
14297
- else {
14298
- this.updateSettings({ sort: gridSort });
14299
- this.api.grid.setSortModel([gridSort]);
14300
- }
14298
+ this.updateSettings({ sort: sortToApply });
14299
+ this.api.grid.setSortModel([sortToApply]);
14301
14300
  }
14302
14301
  };
14303
14302
  GridService.prototype.updateFilter = function (column, filter) {
@@ -15474,7 +15473,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15474
15473
  var data = _this.getGridData();
15475
15474
  _this.onGridChange.emit({
15476
15475
  filter: _this.gridQuery.getExternalFilter(),
15477
- sort: _this.gridQuery.getSort(),
15476
+ sort: _this.gridQuery.getExternalSort(),
15478
15477
  type: type,
15479
15478
  data: data
15480
15479
  });
@@ -25240,7 +25239,7 @@ function fixNgLeaks() {
25240
25239
  };
25241
25240
  }
25242
25241
 
25243
- window.coreVersion = '22.6.3';
25242
+ window.coreVersion = '22.7.2';
25244
25243
 
25245
25244
  /**
25246
25245
  * @license