@datorama/core 22.2.4 → 22.5.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.
Files changed (37) hide show
  1. package/bundle.scss +22 -0
  2. package/bundles/datorama-core.umd.js +35 -23
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +23 -23
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.metadata.json +1 -1
  7. package/esm2015/lib/date-picker/date-picker-container/date-picker-container.component.js +5 -5
  8. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
  9. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +7 -3
  10. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
  11. package/esm2015/lib/grid-v2/grid-filter/grid-filter.types.js +1 -1
  12. package/esm2015/lib/grid-v2/grid-store/grid.query.js +10 -8
  13. package/esm2015/lib/grid-v2/grid-store/grid.service.js +2 -2
  14. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -1
  15. package/esm2015/lib/select/select.component.js +12 -7
  16. package/esm2015/lib/version.js +2 -2
  17. package/esm5/lib/date-picker/date-picker-container/date-picker-container.component.js +5 -5
  18. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  19. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +7 -3
  20. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
  21. package/esm5/lib/grid-v2/grid-filter/grid-filter.types.js +1 -1
  22. package/esm5/lib/grid-v2/grid-store/grid.query.js +10 -8
  23. package/esm5/lib/grid-v2/grid-store/grid.service.js +4 -4
  24. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -1
  25. package/esm5/lib/select/select.component.js +13 -7
  26. package/esm5/lib/version.js +2 -2
  27. package/fesm2015/datorama-core.js +32 -21
  28. package/fesm2015/datorama-core.js.map +1 -1
  29. package/fesm5/datorama-core.js +35 -23
  30. package/fesm5/datorama-core.js.map +1 -1
  31. package/lib/date-picker/date-picker-container/date-picker-container.component.d.ts +1 -1
  32. package/lib/grid-v2/grid/grid-v2.types.d.ts +4 -2
  33. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +2 -2
  34. package/lib/grid-v2/grid-filter/grid-filter.types.d.ts +0 -1
  35. package/lib/grid-v2/grid-store/grid.query.d.ts +1 -1
  36. package/lib/select/select.component.d.ts +1 -0
  37. package/package.json +1 -1
@@ -8549,8 +8549,8 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8549
8549
  }
8550
8550
  }
8551
8551
  this.onChange(this._model);
8552
- this.datoOverlay.scheduleUpdate();
8553
8552
  this.cdr.markForCheck();
8553
+ this.asyncUpdateDropdownPosition();
8554
8554
  };
8555
8555
  DatoSelectComponent.prototype.reorderOptions = function (newOrder) {
8556
8556
  this._model = newOrder;
@@ -8571,9 +8571,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8571
8571
  updateDisabled && this.updateDisabledState();
8572
8572
  this.onChange(this._model);
8573
8573
  this.cdr.markForCheck();
8574
- if (this.datoOverlay.attached) {
8575
- this.datoOverlay.scheduleUpdate();
8576
- }
8574
+ this.asyncUpdateDropdownPosition();
8577
8575
  };
8578
8576
  DatoSelectComponent.prototype.preventBodyScroll = function (event) {
8579
8577
  if (isArrowUpDown(event)) {
@@ -8828,7 +8826,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8828
8826
  _this.searchTerm = value;
8829
8827
  _this.keyManager.setActiveItem(-1);
8830
8828
  _this.cdr.markForCheck();
8831
- _this.datoOverlay && _this.datoOverlay.scheduleUpdate();
8829
+ _this.asyncUpdateDropdownPosition();
8832
8830
  });
8833
8831
  };
8834
8832
  /**
@@ -8932,7 +8930,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8932
8930
  updateDisabled && this.updateDisabledState();
8933
8931
  this.onChange(this._model);
8934
8932
  this.cdr.markForCheck();
8935
- this.datoOverlay.scheduleUpdate();
8933
+ this.asyncUpdateDropdownPosition();
8936
8934
  };
8937
8935
  DatoSelectComponent.prototype.activateInfiniteScroll = function () {
8938
8936
  var _this = this;
@@ -8985,6 +8983,14 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8985
8983
  finally { if (e_9) throw e_9.error; }
8986
8984
  }
8987
8985
  };
8986
+ // Make sure the overlay will be update AFTER Change Detection was done
8987
+ // So the items in the input (and its height) is update
8988
+ DatoSelectComponent.prototype.asyncUpdateDropdownPosition = function () {
8989
+ var _this = this;
8990
+ if (this.datoOverlay && this.datoOverlay.attached) {
8991
+ setTimeout(function () { return _this.datoOverlay.scheduleUpdate(); }, 0);
8992
+ }
8993
+ };
8988
8994
  DatoSelectComponent.ctorParameters = function () { return [
8989
8995
  { type: ChangeDetectorRef },
8990
8996
  { type: DatoTranslateService },
@@ -11424,16 +11430,18 @@ var GridQuery = /** @class */ (function (_super) {
11424
11430
  GridQuery.prototype.selectFilter = function () {
11425
11431
  return this.select(function (state) { return state.settings.filter; });
11426
11432
  };
11427
- GridQuery.prototype.filterChanged = function () {
11428
- return this.selectFilter().pipe(map$1(function (filter) {
11429
- return Object.keys(filter).reduce(function (filters, field) {
11430
- var datoFilter = filter[field];
11431
- if (datoFilter) {
11432
- filters.push({ field: field, filter: datoFilter });
11433
+ GridQuery.prototype.getExternalFilter = function () {
11434
+ var gridFilters = this.getFilter();
11435
+ if (gridFilters) {
11436
+ return Object.keys(gridFilters).reduce(function (filters, field) {
11437
+ var filter = gridFilters[field];
11438
+ if (filter) {
11439
+ filters.push({ field: field, filter: filter });
11433
11440
  }
11434
11441
  return filters;
11435
11442
  }, []);
11436
- }));
11443
+ }
11444
+ return [];
11437
11445
  };
11438
11446
  GridQuery.prototype.getSearchTerm = function () {
11439
11447
  return this.getValue().settings.searchTerm;
@@ -14205,13 +14213,13 @@ var GridService = /** @class */ (function () {
14205
14213
  }
14206
14214
  };
14207
14215
  GridService.prototype.setGridFilters = function (filters) {
14208
- var e_2, _a, _b;
14216
+ var e_2, _a;
14209
14217
  if (this.api && filters) {
14210
14218
  var appliedFilter = {};
14211
14219
  try {
14212
14220
  for (var filters_1 = __values(filters), filters_1_1 = filters_1.next(); !filters_1_1.done; filters_1_1 = filters_1.next()) {
14213
- var _c = filters_1_1.value, filter = _c.filter, field = _c.field;
14214
- appliedFilter = __assign(__assign({}, appliedFilter), (_b = {}, _b[field] = filter, _b));
14221
+ var _b = filters_1_1.value, filter = _b.filter, field = _b.field;
14222
+ appliedFilter[field] = filter;
14215
14223
  }
14216
14224
  }
14217
14225
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -15417,8 +15425,12 @@ var DatoGridControllerComponent = /** @class */ (function () {
15417
15425
  var settingsDiff = _this.gridService.getSettingsDiff();
15418
15426
  _this.gridService.updateSettings(settingsDiff);
15419
15427
  var data = _this.getGridData();
15420
- _this.onGridChange.emit(__assign(__assign({}, settingsDiff), { type: type,
15421
- data: data }));
15428
+ _this.onGridChange.emit({
15429
+ filter: _this.gridQuery.getExternalFilter(),
15430
+ sort: _this.gridQuery.getSort(),
15431
+ type: type,
15432
+ data: data
15433
+ });
15422
15434
  });
15423
15435
  };
15424
15436
  DatoGridControllerComponent.prototype.listenToStoreSettingsChanges = function () {
@@ -18265,9 +18277,11 @@ var DatoDatePickerContainerComponent = /** @class */ (function (_super) {
18265
18277
  .subscribe(function (event) {
18266
18278
  _this.toggle.emit(event);
18267
18279
  _this.open = false;
18280
+ _this.cdr.detectChanges();
18268
18281
  _this.input && _this.setInputValue();
18269
18282
  });
18270
18283
  this.open = true;
18284
+ this.cdr.detectChanges();
18271
18285
  this.input && this.handleEnter();
18272
18286
  }
18273
18287
  };
@@ -18321,9 +18335,7 @@ var DatoDatePickerContainerComponent = /** @class */ (function (_super) {
18321
18335
  };
18322
18336
  DatoDatePickerContainerComponent.prototype.handleEnter = function () {
18323
18337
  var _this = this;
18324
- this.input.keydown$
18325
- .pipe(filter$1(isEnter), takeUntil(this.toggle))
18326
- .subscribe(function () {
18338
+ this.input.keydown$.pipe(filter$1(isEnter), takeUntil(this.toggle)).subscribe(function () {
18327
18339
  _this.setInputValue();
18328
18340
  _this.popover.closeById(DATE_PICKER_POPOVER_ID);
18329
18341
  _this.input.blur();
@@ -18388,7 +18400,7 @@ var DatoDatePickerContainerComponent = /** @class */ (function (_super) {
18388
18400
  DatoDatePickerContainerComponent = __decorate([
18389
18401
  Component({
18390
18402
  selector: 'dato-date-picker',
18391
- template: "<div class=\"d-flex {{ triggerStyle }} items-center dato-date-picker-trigger\" (click)=\"openDatepicker(origin)\" #origin\n [class.pointer]=\"!viewMode\">\n <ng-template #defaultView>\n <dato-icon datoIcon=\"calendarcore\" width=\"16px\" class=\"primary-400-color\"></dato-icon>\n <div class=\"ellipsis\"\n [datoTooltip]=\"dateLabel + ' ' + dateRange\"\n [datoTooltipPosition]=\"labelTooltipPosition\"\n [datoTooltipOnTextOverflow]=\"true\">\n <span class=\"dato-note date-label\" *ngIf=\"dateLabel\">{{dateLabel | translate}}&nbsp;</span>\n <span class=\"dato-note date-range\">{{dateRange}}</span>\n </div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"triggerTpl ? triggerTpl : defaultView\"\n [ngTemplateOutletContext]=\"{label: dateLabel, range: dateRange, icon: 'calendar'}\"></ng-template>\n </div>\n",
18403
+ template: "<div class=\"d-flex {{ triggerStyle }} items-center dato-date-picker-trigger\" [class.open]=\"open\" (click)=\"openDatepicker(origin)\" #origin\n [class.pointer]=\"!viewMode\">\n <ng-template #defaultView>\n <dato-icon datoIcon=\"calendarcore\" width=\"16px\" class=\"primary-400-color\"></dato-icon>\n <div class=\"ellipsis\"\n [datoTooltip]=\"dateLabel + ' ' + dateRange\"\n [datoTooltipPosition]=\"labelTooltipPosition\"\n [datoTooltipOnTextOverflow]=\"true\">\n <span class=\"dato-note date-label\" *ngIf=\"dateLabel\">{{dateLabel | translate}}&nbsp;</span>\n <span class=\"dato-note date-range\">{{dateRange}}</span>\n </div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"triggerTpl ? triggerTpl : defaultView\"\n [ngTemplateOutletContext]=\"{label: dateLabel, range: dateRange, icon: 'calendar'}\"></ng-template>\n </div>\n",
18392
18404
  changeDetection: ChangeDetectionStrategy.OnPush
18393
18405
  }),
18394
18406
  __param(0, Self()), __param(0, Optional()),
@@ -25181,7 +25193,7 @@ function fixNgLeaks() {
25181
25193
  };
25182
25194
  }
25183
25195
 
25184
- window.coreVersion = '22.2.4';
25196
+ window.coreVersion = '22.5.1';
25185
25197
 
25186
25198
  /**
25187
25199
  * @license