@datorama/core 22.10.3-rc.0 → 22.10.9-rc.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 (37) hide show
  1. package/bundle.scss +244 -115
  2. package/bundles/datorama-core.umd.js +144 -40
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +38 -38
  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.component.js +1 -1
  8. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +9 -1
  9. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +19 -12
  10. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +26 -12
  11. package/esm2015/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +58 -13
  12. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +3 -2
  13. package/esm2015/lib/grid-v2/grid-store/grid.service.js +17 -1
  14. package/esm2015/lib/loaders/page-loader/page-loader.component.js +7 -2
  15. package/esm2015/lib/select/select.component.js +2 -2
  16. package/esm2015/lib/version.js +2 -2
  17. package/esm5/lib/grid-v2/grid/grid-v2.component.js +1 -1
  18. package/esm5/lib/grid-v2/grid/grid-v2.types.js +9 -1
  19. package/esm5/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +20 -12
  20. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +25 -14
  21. package/esm5/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +71 -14
  22. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +5 -2
  23. package/esm5/lib/grid-v2/grid-store/grid.service.js +17 -1
  24. package/esm5/lib/loaders/page-loader/page-loader.component.js +7 -2
  25. package/esm5/lib/select/select.component.js +2 -2
  26. package/esm5/lib/version.js +2 -2
  27. package/fesm2015/datorama-core.js +131 -39
  28. package/fesm2015/datorama-core.js.map +1 -1
  29. package/fesm5/datorama-core.js +145 -41
  30. package/fesm5/datorama-core.js.map +1 -1
  31. package/lib/grid-v2/grid/grid-v2.types.d.ts +11 -3
  32. package/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.d.ts +3 -5
  33. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +1 -0
  34. package/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.d.ts +10 -3
  35. package/lib/grid-v2/grid-store/grid.service.d.ts +1 -0
  36. package/lib/loaders/page-loader/page-loader.component.d.ts +1 -0
  37. package/package.json +1 -1
@@ -8789,7 +8789,7 @@
8789
8789
  this.markAsActive(this._model);
8790
8790
  this._initialOpen = false;
8791
8791
  }
8792
- if (this.limitSelectedTo) {
8792
+ if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
8793
8793
  this.updateDisabledState();
8794
8794
  }
8795
8795
  }
@@ -12087,6 +12087,14 @@
12087
12087
  GridRowSelectionType["MULTIPLE"] = "multiple";
12088
12088
  })(exports.GridRowSelectionType || (exports.GridRowSelectionType = {}));
12089
12089
 
12090
+ (function (GridStatusColumnTypes) {
12091
+ GridStatusColumnTypes["SUCCESS"] = "SUCCESS";
12092
+ GridStatusColumnTypes["FAILURE"] = "FAILURE";
12093
+ GridStatusColumnTypes["IN_PROGRESS"] = "IN_PROGRESS";
12094
+ GridStatusColumnTypes["PENDING"] = "PENDING";
12095
+ GridStatusColumnTypes["WAITING"] = "WAITING";
12096
+ })(exports.GridStatusColumnTypes || (exports.GridStatusColumnTypes = {}));
12097
+
12090
12098
  /**
12091
12099
  * @license
12092
12100
  * Copyright Datorama. All Rights Reserved.
@@ -12175,26 +12183,40 @@
12175
12183
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
12176
12184
  */
12177
12185
  var DatoGridV2NoDataOverlayComponent = /** @class */ (function () {
12178
- function DatoGridV2NoDataOverlayComponent(gridQuery, gridService, element) {
12186
+ function DatoGridV2NoDataOverlayComponent(gridQuery, gridService, element, cdr) {
12179
12187
  this.gridQuery = gridQuery;
12180
12188
  this.gridService = gridService;
12181
12189
  this.element = element;
12190
+ this.cdr = cdr;
12182
12191
  this.config = {};
12183
12192
  }
12184
- Object.defineProperty(DatoGridV2NoDataOverlayComponent.prototype, "showImage", {
12193
+ Object.defineProperty(DatoGridV2NoDataOverlayComponent.prototype, "overlayStyles", {
12194
+ /** Adjust the overlay to the grid body viewport height */
12185
12195
  get: function () {
12186
- var elParent = this.element.nativeElement.parentElement;
12187
- if (elParent.classList.contains('ag-overlay-wrapper')) {
12188
- return elParent.offsetHeight >= 390;
12196
+ if (this.gridBody) {
12197
+ var _a = this.gridBody, offsetHeight = _a.offsetHeight, offsetTop = _a.offsetTop;
12198
+ return {
12199
+ height: offsetHeight + "px",
12200
+ marginTop: offsetTop + "px"
12201
+ };
12189
12202
  }
12190
- return true;
12203
+ return null;
12191
12204
  },
12192
12205
  enumerable: true,
12193
12206
  configurable: true
12194
12207
  });
12195
12208
  DatoGridV2NoDataOverlayComponent.prototype.ngOnInit = function () {
12209
+ var _this = this;
12210
+ var grid = this.element.nativeElement.closest('dato-grid-v2');
12211
+ this.gridBody = grid && grid.querySelector('.ag-body-viewport');
12196
12212
  this.filterActive$ = this.gridQuery.filterActive$;
12197
- this.hasError$ = this.gridQuery.isServerSide ? this.gridQuery.serverSideError$ : rxjs.of(false);
12213
+ this.hasError$ = this.gridQuery.isServerSide
12214
+ ? this.gridQuery.serverSideError$.pipe(operators.tap(function () {
12215
+ setTimeout(function () {
12216
+ _this.cdr.detectChanges();
12217
+ });
12218
+ }))
12219
+ : rxjs.of(false);
12198
12220
  this.initDefaultConfig();
12199
12221
  var gridConfig = this.gridQuery.getGridOptions().overlaysConfig || {};
12200
12222
  var userConfig = deepmerge(gridConfig, this.config);
@@ -12204,6 +12226,38 @@
12204
12226
  this.gridService.clearAllFilters();
12205
12227
  };
12206
12228
  DatoGridV2NoDataOverlayComponent.prototype.agInit = function (params) { };
12229
+ DatoGridV2NoDataOverlayComponent.prototype.isIconHidden = function () {
12230
+ var e_1, _a;
12231
+ if (this.gridBody) {
12232
+ var el = this.element.nativeElement;
12233
+ if (el) {
12234
+ var container = el.querySelector('.container');
12235
+ var icon = container.querySelector('img');
12236
+ var heightOfElements = 0;
12237
+ /** hide the icon until next change detection cycle */
12238
+ if (icon.height === 0) {
12239
+ return true;
12240
+ }
12241
+ try {
12242
+ for (var _b = __values(container.children), _c = _b.next(); !_c.done; _c = _b.next()) {
12243
+ var child = _c.value;
12244
+ var childHeight = child.offsetHeight || child.height || 0;
12245
+ var childMarginBottom = toNumber(child.style.marginBottom.replace('px', ''));
12246
+ heightOfElements += childHeight + childMarginBottom;
12247
+ }
12248
+ }
12249
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
12250
+ finally {
12251
+ try {
12252
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
12253
+ }
12254
+ finally { if (e_1) throw e_1.error; }
12255
+ }
12256
+ return heightOfElements > this.gridBody.offsetHeight;
12257
+ }
12258
+ }
12259
+ return true;
12260
+ };
12207
12261
  DatoGridV2NoDataOverlayComponent.prototype.initDefaultConfig = function () {
12208
12262
  var enableSearch = this.gridQuery.getGridOptions().enableSearch;
12209
12263
  this.defaultConfig = {
@@ -12224,20 +12278,29 @@
12224
12278
  DatoGridV2NoDataOverlayComponent.ctorParameters = function () { return [
12225
12279
  { type: GridQuery },
12226
12280
  { type: GridService },
12227
- { type: core.ElementRef }
12281
+ { type: core.ElementRef },
12282
+ { type: core.ChangeDetectorRef }
12228
12283
  ]; };
12229
12284
  __decorate([
12230
12285
  core.Input(),
12231
12286
  __metadata("design:type", Object)
12232
12287
  ], DatoGridV2NoDataOverlayComponent.prototype, "config", void 0);
12288
+ __decorate([
12289
+ core.HostBinding('style'),
12290
+ __metadata("design:type", Object),
12291
+ __metadata("design:paramtypes", [])
12292
+ ], DatoGridV2NoDataOverlayComponent.prototype, "overlayStyles", null);
12233
12293
  DatoGridV2NoDataOverlayComponent = __decorate([
12234
12294
  core.Component({
12235
12295
  selector: 'dato-grid-v2-no-data-overlay',
12236
- template: "<div class=\"container d-flex-column align-center\">\n <ng-container *ngIf=\"(hasError$ | async) === false; else error\">\n <ng-container *ngIf=\"(filterActive$ | async) === true; else noData\">\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noResult }\"></ng-container>\n <div class=\"d-flex items-center\">\n <div class=\"dato-simple primary-400-color\">{{'core.try-to-adjust-or' | translate}}&nbsp;</div>\n <dato-link (click)=\"clearFilters()\">{{ 'core.clear-filters' | translate }}</dato-link>\n </div>\n </ng-container>\n <ng-template #noData>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noData}\"></ng-container>\n <ng-content select=\"[no-data-content]\"></ng-content>\n </ng-template>\n\n </ng-container>\n <ng-template #error>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.serverSideError}\"></ng-container>\n <div #errorContent><ng-content select=\"[server-error-content]\"></ng-content></div>\n <div class=\"dato-simple primary-400-color\" *ngIf=\"errorContent.children.length === 0\">{{'core.try-to-refresh-or-contact' | translate}}&nbsp;</div>\n </ng-template>\n</div>\n\n<ng-template #imgNText let-view>\n <img class=\"mb-30\" [datoStaticSrc]=\"view.icon\" *ngIf=\"showImage && view.icon\">\n <div class=\"dato-simple-bold primary-500-color mb-3\">{{ view.text | translate }}</div>\n</ng-template>\n",
12296
+ template: "<div class=\"container d-flex-column align-center height-100 p-4\">\n <ng-container *ngIf=\"(hasError$ | async) === false; else error\">\n <ng-container *ngIf=\"(filterActive$ | async) === true; else noData\">\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noResult }\"></ng-container>\n <div class=\"d-flex items-center\">\n <div class=\"dato-simple primary-400-color\">{{'core.try-to-adjust-or' | translate}}&nbsp;</div>\n <dato-link (click)=\"clearFilters()\">{{ 'core.clear-filters' | translate }}</dato-link>\n </div>\n </ng-container>\n <ng-template #noData>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.noData}\"></ng-container>\n <ng-content select=\"[no-data-content]\"></ng-content>\n </ng-template>\n\n </ng-container>\n <ng-template #error>\n <ng-container *ngTemplateOutlet=\"imgNText; context: {$implicit: mergedConfig.serverSideError}\"></ng-container>\n <div #errorContent><ng-content select=\"[server-error-content]\"></ng-content></div>\n <div class=\"dato-simple primary-400-color\" *ngIf=\"errorContent.children.length === 0\">{{'core.try-to-refresh-or-contact' | translate}}&nbsp;</div>\n </ng-template>\n</div>\n\n<ng-template #imgNText let-view>\n <img [datoStaticSrc]=\"view.icon\" *ngIf=\"view.icon\" [hidden]=\"isIconHidden()\" [style.marginBottom]=\"'30px'\">\n <div class=\"dato-simple-bold primary-500-color\" [style.marginBottom]=\"'3px'\">{{ view.text | translate }}</div>\n</ng-template>\n",
12237
12297
  changeDetection: core.ChangeDetectionStrategy.OnPush,
12238
- styles: [":host{pointer-events:all}"]
12298
+ styles: [":host{pointer-events:all;overflow:auto}"]
12239
12299
  }),
12240
- __metadata("design:paramtypes", [GridQuery, GridService, core.ElementRef])
12300
+ __metadata("design:paramtypes", [GridQuery,
12301
+ GridService,
12302
+ core.ElementRef,
12303
+ core.ChangeDetectorRef])
12241
12304
  ], DatoGridV2NoDataOverlayComponent);
12242
12305
  return DatoGridV2NoDataOverlayComponent;
12243
12306
  }());
@@ -14273,9 +14336,25 @@
14273
14336
  this.initPivotSecondaryColsProcess(params);
14274
14337
  params.gridOptions.enableV2_1 = true;
14275
14338
  params.gridOptions.saveSettings = false;
14339
+ params.gridOptions.ensureDomOrder = true;
14340
+ params.gridOptions.suppressColumnVirtualisation = true;
14341
+ params.gridOptions.defaultColDef.cellClass = this.getPivotCellClass.bind(this);
14342
+ params.gridOptions.autoGroupColumnDef.cellClass = this.getPivotCellClass.bind(this);
14276
14343
  }
14277
14344
  return params.gridOptions;
14278
14345
  };
14346
+ GridService.prototype.getPivotCellClass = function (params) {
14347
+ var _a = params.node, leafGroup = _a.leafGroup, childIndex = _a.childIndex;
14348
+ var cellClass = '';
14349
+ if (leafGroup) {
14350
+ var isEven = childIndex % 2 === 0;
14351
+ cellClass += 'leaf-cell';
14352
+ if (isEven) {
14353
+ cellClass += ' even';
14354
+ }
14355
+ }
14356
+ return cellClass;
14357
+ };
14279
14358
  GridService.prototype.normalizeColumns = function (colDefs, gridOptions) {
14280
14359
  var _this = this;
14281
14360
  if (gridOptions === void 0) { gridOptions = null; }
@@ -15568,7 +15647,7 @@
15568
15647
  });
15569
15648
  DatoGridControllerComponent.prototype.ngOnDestroy = function () {
15570
15649
  this.contentInit.complete();
15571
- this.tooltip && this.clearTooltip();
15650
+ this.clearTooltip();
15572
15651
  this.rowHoverComponent && this.rowHoverComponent.destroy();
15573
15652
  this.rowHoverComponent = null;
15574
15653
  };
@@ -15798,40 +15877,51 @@
15798
15877
  });
15799
15878
  this.addOnHoverElement();
15800
15879
  }
15801
- agGrid.cellMouseOver
15802
- .pipe(operators.filter(function (_a) {
15803
- var node = _a.node, column = _a.column;
15804
- return lastHoveredCell !== node.id + "-" + column.getColId();
15805
- }), ngxTakeUntilDestroy.untilDestroyed(this))
15806
- .subscribe(function (event) {
15807
- lastHoveredCell = event.node.id + "-" + event.column.getColId();
15880
+ agGrid.cellMouseOver.pipe(ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (event) {
15881
+ var node = event.node, column = event.column;
15882
+ if (lastHoveredCell === node.id + "-" + column.getColId()) {
15883
+ clearTimeout(_this.cellMouseOutTimer);
15884
+ return;
15885
+ }
15886
+ lastHoveredCell = node.id + "-" + column.getColId();
15808
15887
  _this.showTooltip(event);
15809
15888
  var row = event.event.target.parentElement;
15810
- if (onHoverEnabled && (event.node.group === false || isNil(event.node.group)) && _this.lastHoveredRow !== row) {
15889
+ if (onHoverEnabled && (node.group === false || isNil(node.group)) && _this.lastHoveredRow !== row) {
15811
15890
  var previousNode = _this.lastHoveredRow;
15812
15891
  _this.lastHoveredRow = row;
15813
15892
  _this.toggleRowHoverClass([previousNode, _this.lastHoveredRow]);
15814
15893
  _this.setOnHoverState(true, event);
15815
15894
  }
15816
15895
  });
15817
- var onTooltipOut = rxjs.merge(rxjs.fromEvent(bodyViewport, 'scroll'), rxjs.fromEvent(this.agGridEl, 'mouseleave'), agGrid.cellMouseOut);
15818
- onTooltipOut
15896
+ var onTooltipOut = rxjs.merge(rxjs.fromEvent(bodyViewport, 'scroll'), rxjs.fromEvent(this.agGridEl, 'mouseleave'));
15897
+ onTooltipOut.pipe(ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function () {
15898
+ lastHoveredCell = null;
15899
+ _this.clearTooltip();
15900
+ });
15901
+ agGrid.cellMouseOut
15819
15902
  .pipe(operators.filter(function () { return !isNil(_this.tooltip); }), ngxTakeUntilDestroy.untilDestroyed(this))
15820
15903
  .subscribe(function () {
15821
- _this.clearTooltip();
15904
+ _this.cellMouseOutTimer = window.setTimeout(function () { return _this.clearTooltip(); });
15822
15905
  });
15823
15906
  };
15824
15907
  /**
15825
15908
  * Dispose the tooltip
15826
15909
  */
15827
15910
  DatoGridControllerComponent.prototype.clearTooltip = function () {
15828
- this.tooltip.dispose();
15911
+ this.tooltip && this.tooltip.dispose();
15829
15912
  this.tooltip = null;
15830
15913
  };
15831
15914
  DatoGridControllerComponent.prototype.showTooltip = function (event) {
15832
15915
  var cell = event.event.target;
15916
+ if (cell.tagName === 'SPAN' && cell.scrollWidth === 0) {
15917
+ cell = cell.parentElement;
15918
+ }
15919
+ if (event.colDef.editable) {
15920
+ cell = cell.querySelector('.value-wrapper') || cell;
15921
+ }
15833
15922
  var textOverflow = cell.offsetWidth < cell.scrollWidth;
15834
15923
  if (textOverflow) {
15924
+ clearTimeout(this.cellMouseOutTimer);
15835
15925
  var params = { cell: cell, value: cell.innerText };
15836
15926
  isNil(this.tooltip) ? this.createAndShowTooltip(params) : this.updateTooltip(params);
15837
15927
  }
@@ -16076,7 +16166,7 @@
16076
16166
  template: "<ag-grid-angular data-auto-id=\"grid\" class=\"dato-grid ag-theme-material\" [class.has-background]=\"enableBackground\" [class.enable-v2_1]=\"enableV2_1\"\n [class.with-multi-selection-col]=\"gridOptions?.showMultiSelectionCheckboxes\" [class.pivot-mode]=\"isPivotMode\">\n</ag-grid-angular>\n<dato-grid-pagination-v2 [class.has-background]=\"enableBackground\"></dato-grid-pagination-v2>\n",
16077
16167
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16078
16168
  encapsulation: core.ViewEncapsulation.None,
16079
- styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
16169
+ styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
16080
16170
  }),
16081
16171
  __metadata("design:paramtypes", [DatoGridControllerComponent, core.ElementRef])
16082
16172
  ], DatoGridV2Component);
@@ -16418,7 +16508,9 @@
16418
16508
  DatoGridPaginationV2Component.prototype.ngOnInit = function () {
16419
16509
  var _this = this;
16420
16510
  this.gridQuery
16421
- .waitForGrid(function () { return _this.gridQuery.gridRef.filterChanged; })
16511
+ .waitForGrid(function () {
16512
+ return rxjs.merge(_this.gridQuery.gridRef.filterChanged, _this.gridQuery.gridRef.rowGroupOpened, _this.gridQuery.gridRef.expandOrCollapseAll);
16513
+ })
16422
16514
  .pipe(ngxTakeUntilDestroy.untilDestroyed(this))
16423
16515
  .subscribe(function () {
16424
16516
  _this.gridApi.paginationGoToPage(0);
@@ -19496,6 +19588,7 @@
19496
19588
  function DatoPageLoaderComponent() {
19497
19589
  this.msg = '';
19498
19590
  this.salesforce = false;
19591
+ this.size = 'medium';
19499
19592
  this.circleIds = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'];
19500
19593
  }
19501
19594
  __decorate([
@@ -19506,10 +19599,14 @@
19506
19599
  core.Input(),
19507
19600
  __metadata("design:type", Object)
19508
19601
  ], DatoPageLoaderComponent.prototype, "salesforce", void 0);
19602
+ __decorate([
19603
+ core.Input(),
19604
+ __metadata("design:type", String)
19605
+ ], DatoPageLoaderComponent.prototype, "size", void 0);
19509
19606
  DatoPageLoaderComponent = __decorate([
19510
19607
  core.Component({
19511
19608
  selector: 'dato-page-loader',
19512
- template: "<div class=\"d-flex-column align-center\">\n <ng-container *ngIf=\"salesforce; else datoramaPageLoader\">\n <div class=\"slds-spinner_container\">\n <div role=\"status\" class=\"slds-spinner slds-spinner_medium slds-spinner_brand\">\n <div class=\"slds-spinner__dot-a\"></div>\n <div class=\"slds-spinner__dot-b\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #datoramaPageLoader>\n <div class=\"animation-container d-flex align-center d-flex-wrap\">\n <div class=\"circle d-flex align-center\" *ngFor=\"let id of circleIds\" [ngClass]=\"'circle-' + id\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" />\n </svg>\n </div>\n </div>\n </ng-template>\n <span class=\"loading-message simple-bold\">{{msg | translate}}</span>\n</div>",
19609
+ template: "<div class=\"d-flex-column align-center\">\n <ng-container *ngIf=\"salesforce; else datoramaPageLoader\">\n <div class=\"slds-spinner_container\">\n <div role=\"status\" class=\"slds-spinner slds-spinner_brand\" [ngClass]=\"'slds-spinner_' + size\">\n <div class=\"slds-spinner__dot-a\"></div>\n <div class=\"slds-spinner__dot-b\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #datoramaPageLoader>\n <div class=\"animation-container d-flex align-center d-flex-wrap\">\n <div class=\"circle d-flex align-center\" *ngFor=\"let id of circleIds\" [ngClass]=\"'circle-' + id\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" />\n </svg>\n </div>\n </div>\n </ng-template>\n <span class=\"loading-message simple-bold\">{{msg | translate}}</span>\n</div>\n",
19513
19610
  changeDetection: core.ChangeDetectionStrategy.OnPush
19514
19611
  })
19515
19612
  ], DatoPageLoaderComponent);
@@ -20487,8 +20584,15 @@
20487
20584
 
20488
20585
  var DatoGridStatusCellComponent = /** @class */ (function () {
20489
20586
  function DatoGridStatusCellComponent(cdr) {
20587
+ var _a;
20490
20588
  this.cdr = cdr;
20491
- this.DEFAULT_MIN_WIDTH = 100;
20589
+ this.defaultConfigByStatus = (_a = {},
20590
+ _a[exports.GridStatusColumnTypes.SUCCESS] = { icon: 'success-line', iconCssClass: 'green-400-color' },
20591
+ _a[exports.GridStatusColumnTypes.FAILURE] = { icon: 'failed-line', iconCssClass: 'red-400-color' },
20592
+ _a[exports.GridStatusColumnTypes.PENDING] = { icon: 'time', iconCssClass: 'yellow-400-color' },
20593
+ _a[exports.GridStatusColumnTypes.WAITING] = { icon: 'info-line', iconCssClass: 'orange-400-color' },
20594
+ _a[exports.GridStatusColumnTypes.IN_PROGRESS] = { showSpinner: true },
20595
+ _a);
20492
20596
  }
20493
20597
  DatoGridStatusCellComponent.prototype.agInit = function (params) {
20494
20598
  var value = params.value, valueFormatted = params.valueFormatted, node = params.node;
@@ -20503,15 +20607,14 @@
20503
20607
  var mainCustomCellConfig = customCellConfig || {};
20504
20608
  var valueCustomCellConfig = valueToCustomCellConfig ? valueToCustomCellConfig[params.value] || {} : {};
20505
20609
  var config = __assign(__assign({}, mainCustomCellConfig), valueCustomCellConfig);
20506
- var color = config.color, icon = config.icon, cssClass = config.cssClass, iconCssClass = config.iconCssClass, minWidth = config.minWidth, showSpinner = config.showSpinner, getAdditionalText = config.getAdditionalText, getIsVisible = config.getIsVisible;
20610
+ var textCssClass = config.textCssClass, icon = config.icon, iconCssClass = config.iconCssClass, showSpinner = config.showSpinner, getAdditionalText = config.getAdditionalText, additionalTextCssClass = config.additionalTextCssClass, getIsVisible = config.getIsVisible, status = config.status;
20611
+ var defaultConfig = this.defaultConfigByStatus[status] || {};
20507
20612
  this.isVisible = !getIsVisible || getIsVisible(params.data);
20508
- this.color = color || 'primary';
20509
- this.backgroundClass = this.color + "-" + (this.color === 'accent' ? '100' : '200') + "-background-color";
20510
- this.icon = icon;
20511
- this.minWidth = minWidth || this.DEFAULT_MIN_WIDTH;
20512
- this.cssClass = cssClass || '';
20513
- this.iconCssClass = iconCssClass || '';
20514
- this.showSpinner = showSpinner;
20613
+ this.icon = icon || defaultConfig.icon;
20614
+ this.iconCssClass = iconCssClass || defaultConfig.iconCssClass || '';
20615
+ this.textCssClass = textCssClass || '';
20616
+ this.additionalTextCssClass = additionalTextCssClass || '';
20617
+ this.showSpinner = !!showSpinner || !!defaultConfig.showSpinner;
20515
20618
  this.additionalText = getAdditionalText ? getAdditionalText(params.data) : null;
20516
20619
  };
20517
20620
  DatoGridStatusCellComponent.prototype.refresh = function (params) {
@@ -20525,8 +20628,9 @@
20525
20628
  DatoGridStatusCellComponent = __decorate([
20526
20629
  core.Component({
20527
20630
  selector: 'dato-grid-status-cell',
20528
- template: "<div *ngIf=\"!isGroup && isVisible\" class=\"height-100 d-flex items-center\">\n <div *ngIf=\"status\" class=\"d-flex justify-center items-center px-15 py-5 {{backgroundClass}} {{cssClass}}\" [style.min-width.px]=\"minWidth\">\n <dato-icon *ngIf=\"icon\" class=\"mr-5 {{iconCssClass}}\" [icon]=\"icon\" datoSize=\"sm\"></dato-icon>\n <div class=\"dato-note {{color}}-800-color\" [class.ellipsis]=\"!additionalText\"\n [datoTooltipV2]=\"status\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\" [datoTooltipDisabled]=\"!!additionalText\">\n {{status}}\n </div>\n <div *ngIf=\"additionalText\" class=\"dato-note {{color}}-800-color ml-3 ellipsis\"\n [datoTooltipV2]=\"status + ' ' + additionalText\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{additionalText}}\n </div>\n <span *ngIf=\"showSpinner\" class=\"dato-spinner-loader ml-5\"></span>\n </div>\n</div>\n<span *ngIf=\"isGroup\">{{status}}</span>\n",
20529
- changeDetection: core.ChangeDetectionStrategy.OnPush
20631
+ template: "<div *ngIf=\"!isGroup && isVisible\" class=\"height-100 d-flex items-center\">\n <dato-icon *ngIf=\"icon\" class=\"mr-6 {{iconCssClass}}\" [icon]=\"icon\" datoSize=\"sm\"></dato-icon>\n <dato-page-loader *ngIf=\"showSpinner\" [salesforce]=\"true\" size=\"x-small\" class=\"mr-10 mt-15\"></dato-page-loader>\n <div class=\"dato-simple status line-height-18 {{textCssClass}}\" [class.ellipsis]=\"!additionalText\"\n [datoTooltipV2]=\"status\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{status}}\n </div>\n <div *ngIf=\"additionalText\" class=\"dato-simple ml-3 ellipsis line-height-18 {{additionalTextCssClass}}\"\n [datoTooltipV2]=\"status + ' ' + additionalText\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{additionalText}}\n </div>\n</div>\n<span *ngIf=\"isGroup\">{{status}}</span>\n",
20632
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
20633
+ styles: [".line-height-18{line-height:18px}"]
20530
20634
  }),
20531
20635
  __metadata("design:paramtypes", [core.ChangeDetectorRef])
20532
20636
  ], DatoGridStatusCellComponent);
@@ -25498,7 +25602,7 @@
25498
25602
  };
25499
25603
  }
25500
25604
 
25501
- window.coreVersion = '22.10.3-rc.';
25605
+ window.coreVersion = '22.10.9-rc.';
25502
25606
 
25503
25607
  exports.APP_TRANSLATE = APP_TRANSLATE;
25504
25608
  exports.AceService = AceService;