igniteui-angular 21.2.15 → 21.2.17
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.
- package/fesm2022/igniteui-angular-action-strip.mjs +5 -2
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +5 -2
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +12 -5
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs +5 -2
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs +5 -2
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +5 -2
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +5 -2
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +30 -2
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +15 -3
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +30 -11
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +5 -2
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +5 -2
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +5 -2
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +21 -8
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +5 -2
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +5 -2
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/lib/core/styles/components/grid/_excel-filtering-theme.scss +11 -9
- package/package.json +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-action-strip.d.ts +1 -0
- package/types/igniteui-angular-banner.d.ts +1 -0
- package/types/igniteui-angular-calendar.d.ts +2 -0
- package/types/igniteui-angular-carousel.d.ts +1 -0
- package/types/igniteui-angular-chips.d.ts +1 -0
- package/types/igniteui-angular-combo.d.ts +1 -0
- package/types/igniteui-angular-date-picker.d.ts +1 -0
- package/types/igniteui-angular-directives.d.ts +12 -1
- package/types/igniteui-angular-grids-core.d.ts +2 -0
- package/types/igniteui-angular-grids-grid.d.ts +9 -3
- package/types/igniteui-angular-input-group.d.ts +1 -0
- package/types/igniteui-angular-list.d.ts +1 -0
- package/types/igniteui-angular-paginator.d.ts +1 -0
- package/types/igniteui-angular-query-builder.d.ts +4 -0
- package/types/igniteui-angular-time-picker.d.ts +1 -0
- package/types/igniteui-angular-tree.d.ts +1 -0
|
@@ -4063,7 +4063,26 @@ class IgxForOfDirective extends IgxForOfToken {
|
|
|
4063
4063
|
});
|
|
4064
4064
|
}
|
|
4065
4065
|
}
|
|
4066
|
+
/**
|
|
4067
|
+
* @hidden
|
|
4068
|
+
* Resolves the element a view is tracked by.
|
|
4069
|
+
*
|
|
4070
|
+
* The view's root nodes are not always elements: when the template's root is
|
|
4071
|
+
* a control flow block they are comment anchors, and the rendered element
|
|
4072
|
+
* follows the first of them. Both lookups can come up empty - the view may
|
|
4073
|
+
* hold no element at all, or be torn down before its content is rendered -
|
|
4074
|
+
* in which case there is nothing to observe and null is returned.
|
|
4075
|
+
*/
|
|
4076
|
+
getViewObservedNode(view) {
|
|
4077
|
+
const rootNodes = view?.rootNodes ?? [];
|
|
4078
|
+
const elementNode = rootNodes.find(node => node?.nodeType === Node.ELEMENT_NODE);
|
|
4079
|
+
const candidate = elementNode ?? rootNodes[0]?.nextElementSibling;
|
|
4080
|
+
return candidate?.nodeType === Node.ELEMENT_NODE ? candidate : null;
|
|
4081
|
+
}
|
|
4066
4082
|
subscribeToViewObserver(target) {
|
|
4083
|
+
if (!target) {
|
|
4084
|
+
return;
|
|
4085
|
+
}
|
|
4067
4086
|
if (this.igxForScrollOrientation === 'vertical' && this.viewObserver) {
|
|
4068
4087
|
this._zone.runOutsideAngular(() => {
|
|
4069
4088
|
if (this.platformUtil.isBrowser) {
|
|
@@ -4934,7 +4953,16 @@ class IgxForOfDirective extends IgxForOfToken {
|
|
|
4934
4953
|
removeLastElem() {
|
|
4935
4954
|
const oldElem = this._embeddedViews.pop();
|
|
4936
4955
|
this.beforeViewDestroyed.emit(oldElem);
|
|
4937
|
-
|
|
4956
|
+
// The observed node is not necessarily a root node of the view: when the
|
|
4957
|
+
// template's root is a control flow block the root nodes are comment
|
|
4958
|
+
// anchors, and the rendered element follows the first of them. Either
|
|
4959
|
+
// lookup can come up empty - the view may hold no element at all, or be
|
|
4960
|
+
// torn down before its content is rendered - and ResizeObserver throws
|
|
4961
|
+
// on anything that is not an Element.
|
|
4962
|
+
const observedNode = this.getViewObservedNode(oldElem);
|
|
4963
|
+
if (observedNode) {
|
|
4964
|
+
this.viewObserver?.unobserve(observedNode);
|
|
4965
|
+
}
|
|
4938
4966
|
// also detach from ViewContainerRef to make absolutely sure this is removed from the view container.
|
|
4939
4967
|
this.dc.instance._vcr.detach(this.dc.instance._vcr.length - 1);
|
|
4940
4968
|
oldElem.destroy();
|
|
@@ -5388,7 +5416,7 @@ class IgxGridForOfDirective extends IgxForOfDirective {
|
|
|
5388
5416
|
const input = this.igxForOf[elemIndex];
|
|
5389
5417
|
const embeddedView = this.dc.instance._vcr.createEmbeddedView(this._template, new IgxGridForOfContext(input, this.igxForOf, this.getContextIndex(input), this.igxForOf.length));
|
|
5390
5418
|
this._embeddedViews.push(embeddedView);
|
|
5391
|
-
this.subscribeToViewObserver(
|
|
5419
|
+
this.subscribeToViewObserver(this.getViewObservedNode(embeddedView));
|
|
5392
5420
|
this.state.chunkSize++;
|
|
5393
5421
|
}
|
|
5394
5422
|
_updateViews(prevChunkSize) {
|