igniteui-angular 20.1.25 → 20.1.26
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.mjs +70 -24
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/index.d.ts +10 -1
- package/package.json +1 -1
|
@@ -1291,7 +1291,7 @@ class DefaultMergeStrategy {
|
|
|
1291
1291
|
index++;
|
|
1292
1292
|
continue;
|
|
1293
1293
|
}
|
|
1294
|
-
const recToUpdateData = recData ?? { recordRef: grid.isGhostRecord(rec) ? rec.recordRef : rec, cellMergeMeta: new Map(), ghostRecord: rec.ghostRecord };
|
|
1294
|
+
const recToUpdateData = recData ?? { recordRef: grid.isGhostRecord(rec) ? rec.recordRef : rec, cellMergeMeta: new Map(), ghostRecord: rec.ghostRecord, index: index };
|
|
1295
1295
|
recToUpdateData.cellMergeMeta.set(field, { rowSpan: 1, childRecords: [] });
|
|
1296
1296
|
if (prev && comparer.call(this, prev.recordRef, recToUpdateData.recordRef, field, isDate, isTime) && prev.ghostRecord === recToUpdateData.ghostRecord) {
|
|
1297
1297
|
const root = prev.cellMergeMeta.get(field)?.root ?? prev;
|
|
@@ -16499,6 +16499,9 @@ class IgxForOfDirective extends IgxForOfToken {
|
|
|
16499
16499
|
this._sizesCache = [];
|
|
16500
16500
|
this._differ = null;
|
|
16501
16501
|
this.individualSizeCache = [];
|
|
16502
|
+
/**
|
|
16503
|
+
* @hidden
|
|
16504
|
+
*/
|
|
16502
16505
|
/** Internal track for scroll top that is being virtualized */
|
|
16503
16506
|
this._virtScrollPosition = 0;
|
|
16504
16507
|
/** If the next onScroll event is triggered due to internal setting of scrollTop */
|
|
@@ -16931,7 +16934,7 @@ class IgxForOfDirective extends IgxForOfToken {
|
|
|
16931
16934
|
const maxVirtScrollTop = this._virtSize - containerSize;
|
|
16932
16935
|
this._bScrollInternal = true;
|
|
16933
16936
|
this._virtScrollPosition = maxVirtScrollTop;
|
|
16934
|
-
this.scrollPosition = maxVirtScrollTop;
|
|
16937
|
+
this.scrollPosition = maxVirtScrollTop / this._virtRatio;
|
|
16935
16938
|
return;
|
|
16936
16939
|
}
|
|
16937
16940
|
if (this._adjustToIndex) {
|
|
@@ -17491,11 +17494,13 @@ class IgxForOfDirective extends IgxForOfToken {
|
|
|
17491
17494
|
let currentScroll = this.scrollPosition;
|
|
17492
17495
|
if (this._virtRatio !== 1) {
|
|
17493
17496
|
this._calcVirtualScrollPosition(this.scrollPosition);
|
|
17494
|
-
|
|
17497
|
+
scrollOffset = this.fixedUpdateAllElements(this._virtScrollPosition);
|
|
17498
|
+
}
|
|
17499
|
+
else {
|
|
17500
|
+
const scroll = this.scrollComponent.nativeElement;
|
|
17501
|
+
scrollOffset = scroll && this.scrollComponent.size ?
|
|
17502
|
+
currentScroll - this.sizesCache[this.state.startIndex] : 0;
|
|
17495
17503
|
}
|
|
17496
|
-
const scroll = this.scrollComponent.nativeElement;
|
|
17497
|
-
scrollOffset = scroll && this.scrollComponent.size ?
|
|
17498
|
-
currentScroll - this.sizesCache[this.state.startIndex] : 0;
|
|
17499
17504
|
const dir = this.igxForScrollOrientation === 'horizontal' ? 'left' : 'top';
|
|
17500
17505
|
this.dc.instance._viewContainer.element.nativeElement.style[dir] = -(scrollOffset) + 'px';
|
|
17501
17506
|
}
|
|
@@ -29916,7 +29921,9 @@ class IgxGridPinningActionsComponent extends IgxGridActionsBaseDirective {
|
|
|
29916
29921
|
const context = this.strip.context;
|
|
29917
29922
|
const grid = context.grid;
|
|
29918
29923
|
grid.scrollTo(context.data, 0);
|
|
29919
|
-
this.
|
|
29924
|
+
if (this.asMenuItems) {
|
|
29925
|
+
this.strip.hide();
|
|
29926
|
+
}
|
|
29920
29927
|
}
|
|
29921
29928
|
registerSVGIcons() {
|
|
29922
29929
|
if (!this.isRow(this.strip.context)) {
|
|
@@ -64954,10 +64961,15 @@ class IgxGridNavigationService {
|
|
|
64954
64961
|
this.grid.selectionService.keyboardStateOnKeydown(this.activeNode, shift, shift && key === 'tab');
|
|
64955
64962
|
}
|
|
64956
64963
|
const position = this.getNextPosition(this.activeNode.row, this.activeNode.column, key, shift, ctrl, event);
|
|
64964
|
+
const shouldNotifyVirtualizedKeyboardSelection = ctrl && (key === 'arrowup' || key === 'up' || key === 'arrowdown' || key === 'down') &&
|
|
64965
|
+
this.shouldPerformVerticalScroll(position.rowIndex, position.colIndex);
|
|
64957
64966
|
if (NAVIGATION_KEYS.has(key)) {
|
|
64958
64967
|
event.preventDefault();
|
|
64959
64968
|
this.navigateInBody(position.rowIndex, position.colIndex, (obj) => {
|
|
64960
64969
|
obj.target.activate(event);
|
|
64970
|
+
if (shouldNotifyVirtualizedKeyboardSelection) {
|
|
64971
|
+
this.grid.notifyChanges();
|
|
64972
|
+
}
|
|
64961
64973
|
});
|
|
64962
64974
|
}
|
|
64963
64975
|
}
|
|
@@ -68547,7 +68559,7 @@ class IgxGridBaseDirective {
|
|
|
68547
68559
|
}
|
|
68548
68560
|
getMergeCellOffset(rowData) {
|
|
68549
68561
|
const index = rowData.dataIndex;
|
|
68550
|
-
let offset = this.verticalScrollContainer.
|
|
68562
|
+
let offset = this.verticalScrollContainer._virtScrollPosition - this.verticalScrollContainer.getScrollForIndex(index);
|
|
68551
68563
|
if (this.hasPinnedRecords && this.isRowPinningToTop) {
|
|
68552
68564
|
offset -= this.pinnedRowHeight;
|
|
68553
68565
|
}
|
|
@@ -68703,7 +68715,7 @@ class IgxGridBaseDirective {
|
|
|
68703
68715
|
this.cdr.detectChanges();
|
|
68704
68716
|
});
|
|
68705
68717
|
this.verticalScrollContainer.contentSizeChange.pipe(filter(() => !this._init), throttleTime(30), destructor).subscribe(() => {
|
|
68706
|
-
this.
|
|
68718
|
+
this.onContentSizeChange();
|
|
68707
68719
|
});
|
|
68708
68720
|
this.verticalScrollContainer.chunkPreload.pipe(filter(() => !this._init), destructor).subscribe(() => {
|
|
68709
68721
|
this.updateMergedData();
|
|
@@ -68873,6 +68885,11 @@ class IgxGridBaseDirective {
|
|
|
68873
68885
|
this.paginationComponents.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
68874
68886
|
this.setUpPaginator();
|
|
68875
68887
|
});
|
|
68888
|
+
this.actionStripComponents.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
68889
|
+
if (this.actionStrip) {
|
|
68890
|
+
this.actionStrip.menuOverlaySettings.outlet = this.outlet;
|
|
68891
|
+
}
|
|
68892
|
+
});
|
|
68876
68893
|
if (this.actionStrip) {
|
|
68877
68894
|
this.actionStrip.menuOverlaySettings.outlet = this.outlet;
|
|
68878
68895
|
}
|
|
@@ -71740,18 +71757,21 @@ class IgxGridBaseDirective {
|
|
|
71740
71757
|
if (!this._height) {
|
|
71741
71758
|
return null;
|
|
71742
71759
|
}
|
|
71760
|
+
const styles = this.document.defaultView.getComputedStyle(this.nativeElement);
|
|
71743
71761
|
const actualTheadRow = this.getTheadRowHeight();
|
|
71744
71762
|
const footerHeight = this.getFooterHeight();
|
|
71745
71763
|
const toolbarHeight = this.getToolbarHeight();
|
|
71746
71764
|
const pagingHeight = this.getPagingFooterHeight();
|
|
71747
71765
|
const groupAreaHeight = this.getGroupAreaHeight();
|
|
71748
71766
|
const scrHeight = this.getComputedHeight(this.scr.nativeElement);
|
|
71767
|
+
const borderTop = parseFloat(styles.getPropertyValue('border-top-width')) || 0;
|
|
71768
|
+
const borderBottom = parseFloat(styles.getPropertyValue('border-bottom-width')) || 0;
|
|
71749
71769
|
const renderedHeight = toolbarHeight + actualTheadRow +
|
|
71750
71770
|
footerHeight + pagingHeight + groupAreaHeight +
|
|
71751
|
-
scrHeight;
|
|
71771
|
+
scrHeight + borderTop + borderBottom;
|
|
71752
71772
|
let gridHeight = 0;
|
|
71753
71773
|
if (this.isPercentHeight) {
|
|
71754
|
-
const computed =
|
|
71774
|
+
const computed = styles.getPropertyValue('height');
|
|
71755
71775
|
const autoSize = this._shouldAutoSize(renderedHeight);
|
|
71756
71776
|
if (autoSize || computed.indexOf('%') !== -1) {
|
|
71757
71777
|
const bodyHeight = this.getDataBasedBodyHeight();
|
|
@@ -72264,9 +72284,16 @@ class IgxGridBaseDirective {
|
|
|
72264
72284
|
});
|
|
72265
72285
|
this.disableTransitions = false;
|
|
72266
72286
|
this.hideOverlays();
|
|
72267
|
-
this.actionStrip?.
|
|
72268
|
-
|
|
72269
|
-
|
|
72287
|
+
const context = this.actionStrip?.context;
|
|
72288
|
+
const contextEl = context?.element?.nativeElement;
|
|
72289
|
+
const keepActionStrip = !!context?.pinned &&
|
|
72290
|
+
!!contextEl?.isConnected &&
|
|
72291
|
+
!this.hasMenuPinningActions();
|
|
72292
|
+
if (!keepActionStrip) {
|
|
72293
|
+
if (this.actionStrip) {
|
|
72294
|
+
this.actionStrip.hide();
|
|
72295
|
+
this.actionStrip.context = null;
|
|
72296
|
+
}
|
|
72270
72297
|
}
|
|
72271
72298
|
const args = {
|
|
72272
72299
|
direction: 'vertical',
|
|
@@ -72275,6 +72302,17 @@ class IgxGridBaseDirective {
|
|
|
72275
72302
|
};
|
|
72276
72303
|
this.gridScroll.emit(args);
|
|
72277
72304
|
}
|
|
72305
|
+
hasMenuPinningActions() {
|
|
72306
|
+
const strip = this.actionStrip;
|
|
72307
|
+
const actionButtons = strip?.actionButtons;
|
|
72308
|
+
if (!actionButtons?.length) {
|
|
72309
|
+
return false;
|
|
72310
|
+
}
|
|
72311
|
+
return actionButtons
|
|
72312
|
+
.toArray()
|
|
72313
|
+
.some((button) => button instanceof IgxGridPinningActionsComponent &&
|
|
72314
|
+
button.asMenuItems);
|
|
72315
|
+
}
|
|
72278
72316
|
horizontalScrollHandler(event) {
|
|
72279
72317
|
const scrollLeft = event.target.scrollLeft;
|
|
72280
72318
|
this.headerContainer.onHScroll(scrollLeft);
|
|
@@ -72617,6 +72655,9 @@ class IgxGridBaseDirective {
|
|
|
72617
72655
|
return false;
|
|
72618
72656
|
return Object.keys(oldData[0]).join() !== Object.keys(newData[0]).join();
|
|
72619
72657
|
}
|
|
72658
|
+
onContentSizeChange() {
|
|
72659
|
+
this.notifyChanges(true);
|
|
72660
|
+
}
|
|
72620
72661
|
/**
|
|
72621
72662
|
* Clears the current navigation service active node
|
|
72622
72663
|
*/
|
|
@@ -72650,16 +72691,15 @@ class IgxGridBaseDirective {
|
|
|
72650
72691
|
// recalc merged data
|
|
72651
72692
|
if (this.columnsToMerge.length > 0) {
|
|
72652
72693
|
const startIndex = this.verticalScrollContainer.state.startIndex;
|
|
72653
|
-
const prevDataView = this.verticalScrollContainer.igxForOf?.slice(0, startIndex);
|
|
72654
72694
|
const data = [];
|
|
72655
|
-
|
|
72656
|
-
|
|
72657
|
-
|
|
72658
|
-
|
|
72659
|
-
|
|
72660
|
-
|
|
72661
|
-
|
|
72662
|
-
}
|
|
72695
|
+
const rec = this.verticalScrollContainer.igxForOf[startIndex];
|
|
72696
|
+
if (rec && rec.cellMergeMeta) {
|
|
72697
|
+
this.columnsToMerge.forEach((col) => {
|
|
72698
|
+
const root = rec.cellMergeMeta?.get(col.field)?.root;
|
|
72699
|
+
if (root) {
|
|
72700
|
+
data.push({ record: root, index: root.index, dataIndex: root.index });
|
|
72701
|
+
}
|
|
72702
|
+
});
|
|
72663
72703
|
}
|
|
72664
72704
|
this._mergedDataInView = data;
|
|
72665
72705
|
this.notifyChanges();
|
|
@@ -74783,7 +74823,7 @@ class IgxGridUnmergeActivePipe {
|
|
|
74783
74823
|
}
|
|
74784
74824
|
let result = cloneArray(collection);
|
|
74785
74825
|
uniqueRoots.forEach(x => {
|
|
74786
|
-
const index =
|
|
74826
|
+
const index = x.index;
|
|
74787
74827
|
const colKeys = [...x.cellMergeMeta.keys()];
|
|
74788
74828
|
const cols = colsToMerge.filter(col => colKeys.indexOf(col.field) !== -1);
|
|
74789
74829
|
for (const col of cols) {
|
|
@@ -81785,6 +81825,10 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
81785
81825
|
buildDataView(data) {
|
|
81786
81826
|
this._dataView = data;
|
|
81787
81827
|
}
|
|
81828
|
+
onContentSizeChange() {
|
|
81829
|
+
super.onContentSizeChange();
|
|
81830
|
+
this.updateDefaultRowHeight();
|
|
81831
|
+
}
|
|
81788
81832
|
/**
|
|
81789
81833
|
* @hidden @internal
|
|
81790
81834
|
*/
|
|
@@ -89254,9 +89298,11 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
89254
89298
|
get actionStrip() {
|
|
89255
89299
|
return this.parentIsland ? this.parentIsland.actionStrip : super.actionStrip;
|
|
89256
89300
|
}
|
|
89301
|
+
/** @hidden @internal */
|
|
89257
89302
|
get advancedFilteringExpressionsTree() {
|
|
89258
89303
|
return super.advancedFilteringExpressionsTree;
|
|
89259
89304
|
}
|
|
89305
|
+
/** @hidden @internal */
|
|
89260
89306
|
set advancedFilteringExpressionsTree(value) {
|
|
89261
89307
|
if (!this._hGridSchema) {
|
|
89262
89308
|
this._hGridSchema = this.generateSchema();
|