@datorama/core 22.7.0 → 22.8.0

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.
@@ -11387,7 +11387,7 @@ var GridQuery = /** @class */ (function (_super) {
11387
11387
  var storeSettings = this.getValue().settings;
11388
11388
  var settings = {
11389
11389
  gridAlignment: storeSettings.gridAlignment,
11390
- sort: this.getSort(),
11390
+ sort: this.getGridOptions().sortByStore ? this.getSavedSort() : this.getSortModel(),
11391
11391
  hiddenColumns: hiddenColumns,
11392
11392
  groupedColumns: groupedColumns.map(toColId),
11393
11393
  filter: this.getFilter(),
@@ -11401,30 +11401,32 @@ var GridQuery = /** @class */ (function (_super) {
11401
11401
  }
11402
11402
  return settings;
11403
11403
  };
11404
- GridQuery.prototype.getSort = function () {
11404
+ GridQuery.prototype.getSortModel = function () {
11405
11405
  return this.api.grid.getSortModel().pop();
11406
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
- };
11407
+ GridQuery.prototype.getSavedSort = function () {
11408
+ return this.getValue().settings.sort || this.getSortModel();
11409
+ };
11410
+ GridQuery.prototype.getSort = function (savedSort) {
11411
+ if (savedSort === void 0) { savedSort = this.getSavedSort(); }
11412
+ if (savedSort) {
11413
+ var colId = savedSort.colId, sort = savedSort.sort, sortIndex = savedSort.sortIndex;
11414
+ var column = this.api.columns.getColumn(colId);
11415
+ var allColumns = this.api.columns.getAllGridColumns();
11416
+ if (column) {
11417
+ var field = getColField(column.getColDef());
11418
+ return { colId: colId, sort: sort, field: field };
11419
+ }
11420
+ else {
11421
+ var secondaryColumn = this.getSecondaryColumn(colId);
11422
+ if (secondaryColumn) {
11423
+ var columnIndex = sortIndex || allColumns.indexOf(secondaryColumn);
11424
+ var field = getColField(secondaryColumn.getColDef());
11425
+ return { colId: colId, sort: sort, field: field, sortIndex: columnIndex };
11426
+ }
11423
11427
  }
11424
11428
  }
11425
- };
11426
- GridQuery.prototype.selectSort = function () {
11427
- return this.select(function (state) { return state.settings.sort; });
11429
+ return { colId: null, sort: null };
11428
11430
  };
11429
11431
  /* @internal */
11430
11432
  GridQuery.prototype._setApi = function (api, gridRef) {
@@ -13299,6 +13301,7 @@ var DatoGridColumnHeaderComponent = /** @class */ (function () {
13299
13301
  var sortingOrder = _this.column.getColDef() ? _this.column.getColDef().sortingOrder : null;
13300
13302
  var sort;
13301
13303
  var currentSort = _this.column.getSort();
13304
+ var colId = _this.column.getColId();
13302
13305
  if (sortingOrder && sortingOrder.length > 0) {
13303
13306
  var currentSortIndex = sortingOrder.indexOf(currentSort);
13304
13307
  var newSortIndex = void 0;
@@ -13315,10 +13318,15 @@ var DatoGridColumnHeaderComponent = /** @class */ (function () {
13315
13318
  }
13316
13319
  gridService._logEvent("Grids - Column Action" /* GRID_COLUMN_ACTION */, {
13317
13320
  action: 'Sort',
13318
- column: _this.column.getColId()
13321
+ column: colId
13319
13322
  });
13320
13323
  gridQuery.isServerSide && gridService.setLoading(true);
13321
- _this.params.setSort(sort);
13324
+ if (gridQuery.getGridOptions().sortByStore) {
13325
+ gridService.setSortByColumn(colId, sort);
13326
+ }
13327
+ else {
13328
+ _this.params.setSort(sort);
13329
+ }
13322
13330
  });
13323
13331
  this.sortingInfo$ = gridQuery
13324
13332
  .waitForGrid(function () { return gridQuery.gridRef.sortChanged; })
@@ -14265,21 +14273,24 @@ var GridService = /** @class */ (function () {
14265
14273
  this.notifyFilterUpdate();
14266
14274
  }
14267
14275
  };
14276
+ GridService.prototype.setSortByColumn = function (colId, sort) {
14277
+ var sortToSet = this.gridQuery.getSort({ colId: colId, sort: sort });
14278
+ this.setGridSort(sortToSet);
14279
+ };
14268
14280
  GridService.prototype.setGridSort = function (gridSort) {
14269
- if (this.api && gridSort) {
14281
+ if (gridSort && this.api && this.api.grid.getDisplayedRowCount() > 0) {
14270
14282
  var colId_1 = gridSort.colId, sort = gridSort.sort, sortIndex = gridSort.sortIndex;
14271
14283
  var sortToApply = gridSort;
14272
14284
  if (!isNil(sortIndex)) {
14273
14285
  var gridColumns = this.api.columns.getAllGridColumns();
14274
14286
  if (gridColumns) {
14275
- var secondaryColumns = this.api.columns.getSecondaryColumns();
14276
- var secondaryColumn = secondaryColumns.find(function (col) { return col.getColId() === colId_1; });
14277
- if (secondaryColumn) {
14287
+ var valueColumns = this.api.columns.getValueColumns();
14288
+ var valueColumn = valueColumns.find(function (col) { return col.getColId() === colId_1; });
14289
+ var isPivotColId = colId_1.startsWith('pivot');
14290
+ if (isPivotColId || valueColumn) {
14278
14291
  /** Column is pivot value column, sort by index */
14279
14292
  var columnByIndex = gridColumns[sortIndex];
14280
- if (columnByIndex) {
14281
- sortToApply = { colId: columnByIndex.getColId(), sort: sort };
14282
- }
14293
+ sortToApply = { colId: columnByIndex.getColId(), sort: sort, sortIndex: sortIndex };
14283
14294
  }
14284
14295
  else {
14285
14296
  /** Sort by column id */
@@ -15470,7 +15481,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15470
15481
  var data = _this.getGridData();
15471
15482
  _this.onGridChange.emit({
15472
15483
  filter: _this.gridQuery.getExternalFilter(),
15473
- sort: _this.gridQuery.getExternalSort(),
15484
+ sort: _this.gridQuery.getSort(),
15474
15485
  type: type,
15475
15486
  data: data
15476
15487
  });
@@ -25236,7 +25247,7 @@ function fixNgLeaks() {
25236
25247
  };
25237
25248
  }
25238
25249
 
25239
- window.coreVersion = '22.7.0';
25250
+ window.coreVersion = '22.8.0';
25240
25251
 
25241
25252
  /**
25242
25253
  * @license