igniteui-angular 13.1.15 → 13.1.16

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.
@@ -10016,10 +10016,16 @@ class IgxForOfDirective {
10016
10016
  }
10017
10017
  }
10018
10018
  updateSizes() {
10019
+ const scrollable = this.isScrollable();
10019
10020
  this.recalcUpdateSizes();
10020
10021
  this._applyChanges();
10021
10022
  this._updateScrollOffset();
10022
- this.contentSizeChange.emit();
10023
+ if (scrollable !== this.isScrollable()) {
10024
+ this.scrollbarVisibilityChanged.emit();
10025
+ }
10026
+ else {
10027
+ this.contentSizeChange.emit();
10028
+ }
10023
10029
  }
10024
10030
  /**
10025
10031
  * @hidden
@@ -20122,10 +20128,12 @@ class IgxDateTimeEditorDirective extends IgxMaskDirective {
20122
20128
  return this.maskParser.applyMask(null, this.maskOptions);
20123
20129
  }
20124
20130
  get targetDatePart() {
20125
- var _a;
20126
- if (this.document.activeElement === this.nativeElement) {
20127
- return (_a = this._inputDateParts
20128
- .find(p => p.start <= this.selectionStart && this.selectionStart <= p.end && p.type !== DatePart.Literal)) === null || _a === void 0 ? void 0 : _a.type;
20131
+ var _a, _b, _c;
20132
+ // V.K. May 16th, 2022 #11556 Get correct date part in shadow DOM
20133
+ if (this.document.activeElement === this.nativeElement ||
20134
+ ((_b = (_a = this.document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement) === this.nativeElement) {
20135
+ return (_c = this._inputDateParts
20136
+ .find(p => p.start <= this.selectionStart && this.selectionStart <= p.end && p.type !== DatePart.Literal)) === null || _c === void 0 ? void 0 : _c.type;
20129
20137
  }
20130
20138
  else {
20131
20139
  if (this._inputDateParts.some(p => p.type === DatePart.Date)) {
@@ -35914,10 +35922,16 @@ class IgxComboBaseDirective extends DisplayDensityBase {
35914
35922
  this.customValueFlag = this.allowCustomValues && !itemMatch;
35915
35923
  }
35916
35924
  manageRequiredAsterisk() {
35917
- if (this.ngControl && this.ngControl.control.validator) {
35918
- // Run the validation with empty object to check if required is enabled.
35919
- const error = this.ngControl.control.validator({});
35920
- this.inputGroup.isRequired = error && error.required;
35925
+ if (this.ngControl) {
35926
+ if (this.ngControl.control.validator) {
35927
+ // Run the validation with empty object to check if required is enabled.
35928
+ const error = this.ngControl.control.validator({});
35929
+ this.inputGroup.isRequired = error && error.required;
35930
+ }
35931
+ else {
35932
+ // P.M. 18 May 2022: IgxCombo's asterisk not removed when removing required validator dynamically in reactive form #11543
35933
+ this.inputGroup.isRequired = false;
35934
+ }
35921
35935
  }
35922
35936
  }
35923
35937
  /** Contains key-value pairs of the selected valueKeys and their resp. displayKeys */
@@ -61223,7 +61237,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
61223
61237
  this.resizeNotify.pipe(filter(() => !this._init), throttleTime(0, animationFrameScheduler, { leading: true, trailing: true }), destructor)
61224
61238
  .subscribe(() => {
61225
61239
  this.zone.run(() => {
61226
- this.notifyChanges(true);
61240
+ // do not trigger reflow if element is detached.
61241
+ if (this.document.contains(this.nativeElement)) {
61242
+ this.notifyChanges(true);
61243
+ }
61227
61244
  });
61228
61245
  });
61229
61246
  this.pipeTriggerNotifier.pipe(takeUntil(this.destroy$)).subscribe(() => this.pipeTrigger++);
@@ -61281,10 +61298,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
61281
61298
  // called to recalc all widths that may have changes as a result of
61282
61299
  // the vert. scrollbar showing/hiding
61283
61300
  this.notifyChanges(true);
61301
+ this.cdr.detectChanges();
61284
61302
  });
61285
61303
  this.verticalScrollContainer.contentSizeChange.pipe(filter(() => !this._init), destructor).subscribe(() => {
61286
- this.notifyChanges(true);
61287
- this.cdr.detectChanges();
61304
+ this.notifyChanges();
61288
61305
  });
61289
61306
  this.onDensityChanged.pipe(destructor).subscribe(() => {
61290
61307
  this.crudService.endEdit(false);
@@ -67824,6 +67841,9 @@ class IgxGridComponent extends IgxGridBaseDirective {
67824
67841
  this.setupColumns();
67825
67842
  }
67826
67843
  this.cdr.markForCheck();
67844
+ if (this.isPercentHeight) {
67845
+ this.notifyChanges(true);
67846
+ }
67827
67847
  }
67828
67848
  /**
67829
67849
  * Gets/Sets an array of objects containing the filtered data.
@@ -75824,19 +75844,15 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
75824
75844
  }
75825
75845
  super.ngOnInit();
75826
75846
  }
75827
- ngDoCheck() {
75828
- if (this._cdrRequestRepaint && !this._init) {
75829
- this.updateSizes();
75830
- }
75831
- super.ngDoCheck();
75832
- }
75833
75847
  /**
75834
75848
  * @hidden
75835
75849
  */
75836
75850
  ngAfterViewInit() {
75837
75851
  super.ngAfterViewInit();
75838
- this.verticalScrollContainer.getScroll().addEventListener('scroll', this.hg_verticalScrollHandler.bind(this));
75839
- this.headerContainer.getScroll().addEventListener('scroll', this.hg_horizontalScrollHandler.bind(this));
75852
+ this.zone.runOutsideAngular(() => {
75853
+ this.verticalScrollContainer.getScroll().addEventListener('scroll', this.hg_verticalScrollHandler.bind(this));
75854
+ this.headerContainer.getScroll().addEventListener('scroll', this.hg_horizontalScrollHandler.bind(this));
75855
+ });
75840
75856
  this.verticalScrollContainer.beforeViewDestroyed.pipe(takeUntil(this.destroy$)).subscribe((view) => {
75841
75857
  const rowData = view.context.$implicit;
75842
75858
  if (this.isChildGridRecord(rowData)) {
@@ -76224,26 +76240,6 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
76224
76240
  relatedGrid.updateOnRender = false;
76225
76241
  }
76226
76242
  });
76227
- const childGrids = this.getChildGrids(true);
76228
- childGrids.forEach((grid) => {
76229
- if (grid.isPercentWidth) {
76230
- grid.notifyChanges(true);
76231
- }
76232
- grid.updateScrollPosition();
76233
- });
76234
- }
76235
- }
76236
- /**
76237
- * @hidden
76238
- */
76239
- updateScrollPosition() {
76240
- const vScr = this.verticalScrollContainer.getScroll();
76241
- const hScr = this.headerContainer.getScroll();
76242
- if (vScr) {
76243
- vScr.scrollTop = this.scrollTop;
76244
- }
76245
- if (hScr) {
76246
- hScr.scrollLeft = this.scrollLeft;
76247
76243
  }
76248
76244
  }
76249
76245
  onContainerScroll() {
@@ -76272,6 +76268,12 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
76272
76268
  return keys.indexOf(field) === -1;
76273
76269
  });
76274
76270
  }
76271
+ resizeNotifyHandler() {
76272
+ // do not trigger reflow if element is detached or if it is child grid.
76273
+ if (this.document.contains(this.nativeElement) && !this.parent) {
76274
+ this.notifyChanges(true);
76275
+ }
76276
+ }
76275
76277
  /**
76276
76278
  * @hidden
76277
76279
  */
@@ -76306,14 +76308,6 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
76306
76308
  }
76307
76309
  return super._shouldAutoSize(renderedHeight);
76308
76310
  }
76309
- updateSizes() {
76310
- if (document.body.contains(this.nativeElement) && this.isPercentWidth) {
76311
- this.reflow();
76312
- this.gridAPI.getChildGrids(false).forEach((grid) => {
76313
- grid.updateSizes();
76314
- });
76315
- }
76316
- }
76317
76311
  updateColumnList(recalcColSizes = true) {
76318
76312
  const childLayouts = this.parent ? this.childLayoutList : this.allLayoutList;
76319
76313
  const nestedColumns = childLayouts.map((layout) => layout.columnList.toArray());
@@ -76337,10 +76331,10 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
76337
76331
  });
76338
76332
  }
76339
76333
  hg_verticalScrollHandler(event) {
76340
- this.scrollTop = event.target.scrollTop;
76334
+ this.scrollTop = this.verticalScrollContainer.scrollPosition;
76341
76335
  }
76342
76336
  hg_horizontalScrollHandler(event) {
76343
- this.scrollLeft = event.target.scrollLeft;
76337
+ this.scrollLeft = this.headerContainer.scrollPosition;
76344
76338
  }
76345
76339
  }
76346
76340
  IgxHierarchicalGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxHierarchicalGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });