@datorama/core 22.2.0 → 22.2.5

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 (31) hide show
  1. package/bundle.scss +3 -4
  2. package/bundles/datorama-core.umd.js +46 -46
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +4 -4
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.metadata.json +1 -1
  7. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
  8. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +5 -13
  9. package/esm2015/lib/grid-v2/grid-filter/grid-filter.types.js +1 -1
  10. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +5 -2
  11. package/esm2015/lib/grid-v2/grid-store/grid.query.js +18 -10
  12. package/esm2015/lib/grid-v2/grid-store/grid.service.js +21 -23
  13. package/esm2015/lib/version.js +2 -2
  14. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  15. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +5 -13
  16. package/esm5/lib/grid-v2/grid-filter/grid-filter.types.js +1 -1
  17. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +5 -2
  18. package/esm5/lib/grid-v2/grid-store/grid.query.js +18 -10
  19. package/esm5/lib/grid-v2/grid-store/grid.service.js +21 -24
  20. package/esm5/lib/version.js +2 -2
  21. package/fesm2015/datorama-core.js +46 -45
  22. package/fesm2015/datorama-core.js.map +1 -1
  23. package/fesm5/datorama-core.js +46 -46
  24. package/fesm5/datorama-core.js.map +1 -1
  25. package/lib/grid-v2/grid/grid-v2.types.d.ts +8 -2
  26. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +2 -4
  27. package/lib/grid-v2/grid-filter/grid-filter.types.d.ts +0 -1
  28. package/lib/grid-v2/grid-pagination/grid-pagination.component.d.ts +1 -0
  29. package/lib/grid-v2/grid-store/grid.query.d.ts +1 -1
  30. package/lib/grid-v2/grid-store/grid.service.d.ts +1 -1
  31. package/package.json +1 -1
package/bundle.scss CHANGED
@@ -14364,6 +14364,7 @@ dato-grid-v2 ag-grid-angular.pivot-mode .ag-cell {
14364
14364
 
14365
14365
  dato-grid-v2 ag-grid-angular.pivot-mode .ag-header-row .ag-header-cell {
14366
14366
  border: none;
14367
+ border-top: 1px solid themify(primary-200);
14367
14368
  }
14368
14369
 
14369
14370
  dato-grid-v2 ag-grid-angular.pivot-mode .ag-header-row .ag-header-cell dato-grid-column-header {
@@ -14394,11 +14395,9 @@ dato-grid-v2 ag-grid-angular.pivot-mode .ag-header-row .ag-header-group-cell .ag
14394
14395
  }
14395
14396
 
14396
14397
  dato-grid-v2 ag-grid-angular.pivot-mode .ag-header-row .ag-header-group-cell.ag-header-group-cell-with-group {
14397
- border-bottom: 1px solid themify(primary-200);
14398
- }
14399
-
14400
- dato-grid-v2 ag-grid-angular.pivot-mode .ag-header-row .ag-header-group-cell.ag-header-group-cell-with-group:not(:last-child) {
14398
+ border-top: 1px solid themify(primary-200);
14401
14399
  border-right: 1px solid themify(primary-200);
14400
+ background-color: themify(primary-100);
14402
14401
  }
14403
14402
 
14404
14403
  dato-grid-v2 ag-grid-angular.pivot-mode .ag-header-row .ag-header-group-cell.ag-header-group-cell-with-group.empty-pivot-header {
@@ -11583,13 +11583,19 @@
11583
11583
  if (this.gridRef.gridOptions.pivotMode) {
11584
11584
  var _a = this.api.grid.getSortModel().pop() || {}, sort = _a.sort, colId = _a.colId;
11585
11585
  var column = this.api.columns.getColumn(colId);
11586
+ var allColumns = this.api.columns.getAllGridColumns();
11586
11587
  if (column) {
11587
- return { colId: colId, sort: sort, colField: getColField(column.getColDef()) };
11588
+ return { colId: colId, sort: sort, field: getColField(column.getColDef()), sortIndex: allColumns.indexOf(column) };
11588
11589
  }
11589
11590
  else {
11590
11591
  var secondaryColumn = this.getSecondaryColumn(colId);
11591
11592
  if (secondaryColumn) {
11592
- return { colId: colId, sort: sort, colField: getColField(secondaryColumn.getColDef()) };
11593
+ return {
11594
+ colId: colId,
11595
+ sort: sort,
11596
+ field: getColField(secondaryColumn.getColDef()),
11597
+ sortIndex: allColumns.indexOf(secondaryColumn)
11598
+ };
11593
11599
  }
11594
11600
  }
11595
11601
  }
@@ -11617,16 +11623,18 @@
11617
11623
  GridQuery.prototype.selectFilter = function () {
11618
11624
  return this.select(function (state) { return state.settings.filter; });
11619
11625
  };
11620
- GridQuery.prototype.filterChanged = function () {
11621
- return this.selectFilter().pipe(operators.map(function (filter) {
11622
- return Object.keys(filter).reduce(function (filters, field) {
11623
- var datoFilter = filter[field];
11624
- if (datoFilter) {
11625
- filters.push({ field: field, filter: datoFilter });
11626
+ GridQuery.prototype.getExternalFilter = function () {
11627
+ var gridFilters = this.getFilter();
11628
+ if (gridFilters) {
11629
+ return Object.keys(gridFilters).reduce(function (filters, field) {
11630
+ var filter = gridFilters[field];
11631
+ if (filter) {
11632
+ filters.push({ field: field, filter: filter });
11626
11633
  }
11627
11634
  return filters;
11628
11635
  }, []);
11629
- }));
11636
+ }
11637
+ return [];
11630
11638
  };
11631
11639
  GridQuery.prototype.getSearchTerm = function () {
11632
11640
  return this.getValue().settings.searchTerm;
@@ -14399,20 +14407,12 @@
14399
14407
  };
14400
14408
  GridService.prototype.setGridFilters = function (filters) {
14401
14409
  var e_2, _a;
14402
- if (this.api) {
14410
+ if (this.api && filters) {
14411
+ var appliedFilter = {};
14403
14412
  try {
14404
14413
  for (var filters_1 = __values(filters), filters_1_1 = filters_1.next(); !filters_1_1.done; filters_1_1 = filters_1.next()) {
14405
- var filter = filters_1_1.value.filter;
14406
- var column = this.api.columns.getColumn(filter.colId);
14407
- if (column) {
14408
- this.setColumnFilter(column, filter, false);
14409
- }
14410
- else {
14411
- var secondaryColumn = this.gridQuery.getSecondaryColumn(filter.colId);
14412
- if (secondaryColumn) {
14413
- this.setColumnFilter(secondaryColumn, filter, false);
14414
- }
14415
- }
14414
+ var _b = filters_1_1.value, filter = _b.filter, field = _b.field;
14415
+ appliedFilter[field] = filter;
14416
14416
  }
14417
14417
  }
14418
14418
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -14422,23 +14422,28 @@
14422
14422
  }
14423
14423
  finally { if (e_2) throw e_2.error; }
14424
14424
  }
14425
+ this.updateSettings({ filter: appliedFilter });
14425
14426
  this.api.grid.onFilterChanged();
14426
14427
  }
14427
14428
  };
14428
- GridService.prototype.setGridSort = function (_a) {
14429
- var colId = _a.colId, sort = _a.sort;
14430
- if (this.api) {
14431
- var column = this.api.columns.getColumn(colId);
14432
- if (column) {
14433
- column.setSort(sort);
14429
+ GridService.prototype.setGridSort = function (gridSort) {
14430
+ if (this.api && gridSort) {
14431
+ var sort = gridSort.sort, sortIndex = gridSort.sortIndex;
14432
+ if (!isNil(sortIndex)) {
14433
+ var columns = this.api.columns.getAllGridColumns();
14434
+ if (columns) {
14435
+ var column = columns[sortIndex];
14436
+ if (column) {
14437
+ var sortToApply = { colId: column.getColId(), sort: sort };
14438
+ this.updateSettings({ sort: sortToApply });
14439
+ this.api.grid.setSortModel([sortToApply]);
14440
+ }
14441
+ }
14434
14442
  }
14435
14443
  else {
14436
- var secondaryColumn = this.gridQuery.getSecondaryColumn(colId);
14437
- if (secondaryColumn) {
14438
- secondaryColumn.setSort(sort);
14439
- }
14444
+ this.updateSettings({ sort: gridSort });
14445
+ this.api.grid.setSortModel([gridSort]);
14440
14446
  }
14441
- this.api.grid.onSortChanged();
14442
14447
  }
14443
14448
  };
14444
14449
  GridService.prototype.updateFilter = function (column, filter) {
@@ -15556,12 +15561,6 @@
15556
15561
  DatoGridControllerComponent.prototype.setGridSort = function (sort) {
15557
15562
  this.gridService.setGridSort(sort);
15558
15563
  };
15559
- DatoGridControllerComponent.prototype.onFilterChanged = function () {
15560
- return this.gridQuery.filterChanged();
15561
- };
15562
- DatoGridControllerComponent.prototype.onSortChanged = function () {
15563
- return this.gridQuery.selectSort();
15564
- };
15565
15564
  DatoGridControllerComponent.prototype.getGridIcons = function () {
15566
15565
  var moveColumnIcon = "<span class=\"da-grid-icon pointer d-flex column-move\">" + this.iconRegistry.getSvg('move-column') + "</span>";
15567
15566
  return {
@@ -15609,8 +15608,8 @@
15609
15608
  };
15610
15609
  DatoGridControllerComponent.prototype.listenToGridEvents = function (agGrid) {
15611
15610
  var _this = this;
15612
- var columnVisible = agGrid.columnVisible, sortChanged = agGrid.sortChanged, columnRowGroupChanged = agGrid.columnRowGroupChanged, columnPinned = agGrid.columnPinned, dragStopped = agGrid.dragStopped;
15613
- rxjs.merge(columnVisible, sortChanged, columnRowGroupChanged, columnPinned, dragStopped)
15611
+ var columnVisible = agGrid.columnVisible, sortChanged = agGrid.sortChanged, columnRowGroupChanged = agGrid.columnRowGroupChanged, columnPinned = agGrid.columnPinned, dragStopped = agGrid.dragStopped, filterChanged = agGrid.filterChanged;
15612
+ rxjs.merge(columnVisible, sortChanged, columnRowGroupChanged, columnPinned, dragStopped, filterChanged)
15614
15613
  .pipe(
15615
15614
  /* Skip the initial sorting event fired by the grid when adding rows */
15616
15615
  operators.skip(1), ngxTakeUntilDestroy.untilDestroyed(this))
@@ -15619,10 +15618,8 @@
15619
15618
  var settingsDiff = _this.gridService.getSettingsDiff();
15620
15619
  _this.gridService.updateSettings(settingsDiff);
15621
15620
  var data = _this.getGridData();
15622
- _this.onGridChange.emit({
15623
- type: type,
15624
- data: data
15625
- });
15621
+ _this.onGridChange.emit(__assign(__assign({}, settingsDiff), { filter: _this.gridQuery.getExternalFilter(), type: type,
15622
+ data: data }));
15626
15623
  });
15627
15624
  };
15628
15625
  DatoGridControllerComponent.prototype.listenToStoreSettingsChanges = function () {
@@ -16294,6 +16291,7 @@
16294
16291
  // Show fit cell content and collapse/expand row groups controls
16295
16292
  this.showBottomControls = false;
16296
16293
  this.isExpanded = true;
16294
+ this.hasRowGroupColumns = false;
16297
16295
  this.isServerSidePagination = false;
16298
16296
  // The number of pages displayed in the navigation panel for each view as defined by product.
16299
16297
  this.MINI_DISPLAY_LENGTH = 2;
@@ -16342,8 +16340,10 @@
16342
16340
  });
16343
16341
  this.gridQuery.gridReady$
16344
16342
  .pipe(operators.tap(function () {
16343
+ var rowGroupColumns = _this.gridQuery.api.columns.getRowGroupColumns();
16345
16344
  _this.gridApi = _this.gridQuery.api.grid;
16346
16345
  _this.showBottomControls = _this.gridQuery.getGridOptions().showBottomControls;
16346
+ _this.hasRowGroupColumns = rowGroupColumns && rowGroupColumns.length > 0;
16347
16347
  }), operators.switchMap(function () {
16348
16348
  _this.isServerSidePagination = _this.gridQuery.isServerSide;
16349
16349
  return _this.isServerSidePagination ? _this.gridQuery.serverDataLoaded$ : _this.gridQuery.rowDataChanged$;
@@ -16561,7 +16561,7 @@
16561
16561
  core.Component({
16562
16562
  selector: 'dato-grid-pagination-v2',
16563
16563
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16564
- template: "<div class=\"d-flex-row d-flex-auto d-flex-wrap container\" [class.small]=\"smallVersion\"\n [attr.data-pages-count]=\"totalPages\"\n [attr.data-current-page]=\"pageNumbersDisplay.currentPage\"\n [attr.data-page-size]=\"rowsPerPage\"\n [attr.data-rows-count]=\"rowCount\">\n <div *ngIf=\"totalPages > 1\" #navigation\n class=\"navigation d-flex-row d-flex-0-0-auto align-center\">\n\n <!-- First Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"mr-4\" data-auto-id=\"pagiantion-first-page\"\n icon=\"chevron-left-double\"\n datoType=\"secondary\"\n datoSize=\"md\"\n [disabled]=\"prevPageDisabled\"\n (click)=\"navigateFirstPage()\">\n </dato-icon-button>\n\n <!-- Previous Page -->\n <dato-icon-button icon=\"arrow-left\" datoType=\"secondary\" datoSize=\"md\"\n [disabled]=\"prevPageDisabled\" data-auto-id=\"pagiantion-previous-page\"\n (click)=\"navigatePrevPage()\">\n </dato-icon-button>\n\n\n <div class=\"d-flex mx-5 align-center number-container\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-previous-batch\"\n *ngIf=\"pageNumbersDisplay.showFirstEllipsis && !smallVersion\"\n (click)=\"showPreviousBatch()\">...\n </dato-link>\n <dato-link class=\"page-number mx-5\" [datoType]=\"page === pageNumbersDisplay.currentPage ? 'primary' : 'secondary'\" datoSize=\"sm\"\n *ngFor=\"let page of pageNumbersDisplay.pages; index as i; trackBy: trackByPage;\" [attr.data-auto-id]=\"'pagiantion-page-' + i\"\n (click)=\"navigatePage(page - 1)\">\n {{page}}\n </dato-link>\n\n <div class=\"d-flex\" *ngIf=\"pageNumbersDisplay.showLastPage && !smallVersion\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-next-batch\"\n (click)=\"showNextBatch()\">...</dato-link>\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\"\n [attr.data-auto-id]=\"'pagiantion-page-' + totalPages\"\n (click)=\"navigatePage(totalPages - 1)\">\n {{totalPages}}\n </dato-link>\n </div>\n\n </div>\n\n <!-- Next Page -->\n <dato-icon-button icon=\"arrow-right\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"navigateNextPage()\" data-auto-id=\"pagiantion-next-page\"\n [disabled]=\"nextPageDisabled\">\n </dato-icon-button>\n\n <!-- Last Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"ml-4\" icon=\"chevron-right-double\"\n datoType=\"secondary\" datoSize=\"md\" data-auto-id=\"pagiantion-last-page\"\n [disabled]=\"nextPageDisabled\"\n (click)=\"navigatePage(totalPages - 1)\">\n </dato-icon-button>\n\n </div>\n\n <div *ngIf=\"totalPages > 1 && !smallVersion\"\n class=\"separator mx-10 my-auto primary-100-background-color\">\n </div>\n\n <div class=\"total d-flex-0-0-auto d-flex-row align-center\">\n <span class=\"dato-note primary-300-color\">{{rowsRange}}</span>\n </div>\n\n <div *ngIf=\"showBottomControls\" class=\"grid-controls d-flex d-flex-1 justify-end\">\n <dato-icon-button [icon]=\"isExpanded ? 'collapse' : 'expand'\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"toggleGroupsState()\" data-auto-id=\"pagiantion-expand-collapse\"\n [datoTooltipV2]=\"isExpanded ? 'core.collapse-rows' : 'core.expand-rows'\">\n </dato-icon-button>\n\n <dato-icon-button class=\"mx-4\" icon=\"maximize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('content')\" [datoTooltipV2]=\"'core.fit-to-content'\"\n data-auto-id=\"pagiantion-fit-to-content\">\n </dato-icon-button>\n\n <dato-icon-button icon=\"minimize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('container')\" [datoTooltipV2]=\"'core.fit-to-container'\"\n data-auto-id=\"pagiantion-fit-to-container\">\n </dato-icon-button>\n </div>\n</div>\n",
16564
+ template: "<div class=\"d-flex-row d-flex-auto d-flex-wrap container\" [class.small]=\"smallVersion\"\n [attr.data-pages-count]=\"totalPages\"\n [attr.data-current-page]=\"pageNumbersDisplay.currentPage\"\n [attr.data-page-size]=\"rowsPerPage\"\n [attr.data-rows-count]=\"rowCount\">\n <div *ngIf=\"totalPages > 1\" #navigation\n class=\"navigation d-flex-row d-flex-0-0-auto align-center\">\n\n <!-- First Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"mr-4\" data-auto-id=\"pagiantion-first-page\"\n icon=\"chevron-left-double\"\n datoType=\"secondary\"\n datoSize=\"md\"\n [disabled]=\"prevPageDisabled\"\n (click)=\"navigateFirstPage()\">\n </dato-icon-button>\n\n <!-- Previous Page -->\n <dato-icon-button icon=\"arrow-left\" datoType=\"secondary\" datoSize=\"md\"\n [disabled]=\"prevPageDisabled\" data-auto-id=\"pagiantion-previous-page\"\n (click)=\"navigatePrevPage()\">\n </dato-icon-button>\n\n\n <div class=\"d-flex mx-5 align-center number-container\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-previous-batch\"\n *ngIf=\"pageNumbersDisplay.showFirstEllipsis && !smallVersion\"\n (click)=\"showPreviousBatch()\">...\n </dato-link>\n <dato-link class=\"page-number mx-5\" [datoType]=\"page === pageNumbersDisplay.currentPage ? 'primary' : 'secondary'\" datoSize=\"sm\"\n *ngFor=\"let page of pageNumbersDisplay.pages; index as i; trackBy: trackByPage;\" [attr.data-auto-id]=\"'pagiantion-page-' + i\"\n (click)=\"navigatePage(page - 1)\">\n {{page}}\n </dato-link>\n\n <div class=\"d-flex\" *ngIf=\"pageNumbersDisplay.showLastPage && !smallVersion\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-next-batch\"\n (click)=\"showNextBatch()\">...</dato-link>\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\"\n [attr.data-auto-id]=\"'pagiantion-page-' + totalPages\"\n (click)=\"navigatePage(totalPages - 1)\">\n {{totalPages}}\n </dato-link>\n </div>\n\n </div>\n\n <!-- Next Page -->\n <dato-icon-button icon=\"arrow-right\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"navigateNextPage()\" data-auto-id=\"pagiantion-next-page\"\n [disabled]=\"nextPageDisabled\">\n </dato-icon-button>\n\n <!-- Last Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"ml-4\" icon=\"chevron-right-double\"\n datoType=\"secondary\" datoSize=\"md\" data-auto-id=\"pagiantion-last-page\"\n [disabled]=\"nextPageDisabled\"\n (click)=\"navigatePage(totalPages - 1)\">\n </dato-icon-button>\n\n </div>\n\n <div *ngIf=\"totalPages > 1 && !smallVersion\"\n class=\"separator mx-10 my-auto primary-100-background-color\">\n </div>\n\n <div class=\"total d-flex-0-0-auto d-flex-row align-center\">\n <span class=\"dato-note primary-300-color\">{{rowsRange}}</span>\n </div>\n\n <div *ngIf=\"showBottomControls\" class=\"grid-controls d-flex d-flex-1 justify-end\">\n <dato-icon-button *ngIf=\"hasRowGroupColumns\" [icon]=\"isExpanded ? 'collapse' : 'expand'\" datoType=\"secondary\"\n datoSize=\"md\" (click)=\"toggleGroupsState()\" data-auto-id=\"pagination-expand-collapse\"\n [datoTooltipV2]=\"isExpanded ? 'core.collapse-rows' : 'core.expand-rows'\">\n </dato-icon-button>\n\n <dato-icon-button class=\"mx-4\" icon=\"maximize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('content')\" [datoTooltipV2]=\"'core.fit-to-content'\"\n data-auto-id=\"pagination-fit-to-content\">\n </dato-icon-button>\n\n <dato-icon-button icon=\"minimize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('container')\" [datoTooltipV2]=\"'core.fit-to-container'\"\n data-auto-id=\"pagination-fit-to-container\">\n </dato-icon-button>\n </div>\n</div>\n",
16565
16565
  providers: [common.DecimalPipe],
16566
16566
  styles: [":host{padding:12px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:25px}:host .container{height:25px}:host .navigation .page-number{transition:color .3s ease-in-out}:host .navigation .page-number:first-of-type{margin-left:7px}:host .navigation .page-number:last-of-type{margin-right:7px}:host .separator{width:1px;height:25px}:host .container.small .navigation,:host .container.small .total{margin-top:8px;margin-left:auto;margin-right:auto}"]
16567
16567
  }),
@@ -25382,7 +25382,7 @@
25382
25382
  };
25383
25383
  }
25384
25384
 
25385
- window.coreVersion = '22.2.0';
25385
+ window.coreVersion = '22.2.5';
25386
25386
 
25387
25387
  exports.APP_TRANSLATE = APP_TRANSLATE;
25388
25388
  exports.AceService = AceService;