igniteui-angular 13.2.2 → 13.2.5
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/esm2020/lib/directives/for-of/for_of.directive.mjs +2 -2
- package/esm2020/lib/grids/api.service.mjs +3 -4
- package/esm2020/lib/grids/columns/column-layout.component.mjs +3 -3
- package/esm2020/lib/grids/columns/column.component.mjs +4 -4
- package/esm2020/lib/grids/common/crud.service.mjs +3 -3
- package/esm2020/lib/grids/common/events.mjs +1 -1
- package/esm2020/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +2 -2
- package/esm2020/lib/grids/filtering/grid-filtering.service.mjs +7 -7
- package/esm2020/lib/grids/grid/grid.component.mjs +11 -11
- package/esm2020/lib/grids/grid-base.directive.mjs +84 -68
- package/esm2020/lib/grids/grid-mrl-navigation.service.mjs +2 -2
- package/esm2020/lib/grids/grid-public-row.mjs +3 -3
- package/esm2020/lib/grids/grouping/group-by-area.directive.mjs +2 -2
- package/esm2020/lib/grids/grouping/tree-grid-group-by-area.component.mjs +6 -6
- package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +4 -5
- package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +26 -14
- package/esm2020/lib/grids/hierarchical-grid/row-island.component.mjs +7 -11
- package/esm2020/lib/grids/pivot-grid/pivot-grid.component.mjs +22 -9
- package/esm2020/lib/grids/state.directive.mjs +9 -9
- package/esm2020/lib/grids/summaries/grid-summary.service.mjs +5 -5
- package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +27 -9
- package/esm2020/lib/services/exporter-common/base-export-service.mjs +3 -3
- package/esm2020/lib/splitter/splitter-pane/splitter-pane.component.mjs +61 -11
- package/esm2020/lib/splitter/splitter.component.mjs +20 -3
- package/fesm2015/igniteui-angular.mjs +294 -173
- package/fesm2015/igniteui-angular.mjs.map +1 -1
- package/fesm2020/igniteui-angular.mjs +292 -173
- package/fesm2020/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/themes/schemas/dark/_stepper.scss +6 -1
- package/lib/grids/common/events.d.ts +1 -0
- package/lib/grids/grid-base.directive.d.ts +7 -1
- package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
- package/lib/grids/hierarchical-grid/row-island.component.d.ts +1 -0
- package/lib/grids/pivot-grid/pivot-grid.component.d.ts +4 -0
- package/lib/grids/tree-grid/tree-grid.component.d.ts +2 -2
- package/lib/splitter/splitter-pane/splitter-pane.component.d.ts +19 -5
- package/migrations/update-13_0_0/changes/inputs.json +416 -1
- package/migrations/update-13_0_0/index.js +208 -0
- package/package.json +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
|
@@ -7,7 +7,7 @@ import { NgModel, FormControlName, NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxReq
|
|
|
7
7
|
import * as i4 from '@angular/common';
|
|
8
8
|
import { isPlatformBrowser, formatDate as formatDate$1, CurrencyPipe, formatPercent, formatNumber, getLocaleCurrencyCode, DatePipe, DOCUMENT, CommonModule, FormatWidth, getLocaleDateFormat, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol } from '@angular/common';
|
|
9
9
|
import { Observable, Subject, fromEvent, interval, animationFrameScheduler, noop, merge, Subscription, timer, pipe } from 'rxjs';
|
|
10
|
-
import { takeUntil, filter, first as first$1, throttleTime, take, throttle, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile,
|
|
10
|
+
import { takeUntil, filter, first as first$1, throttleTime, take, throttle, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile, pluck } from 'rxjs/operators';
|
|
11
11
|
import mergeWith from 'lodash.mergewith';
|
|
12
12
|
import * as JSZip from 'jszip';
|
|
13
13
|
import * as i1$1 from '@angular/platform-browser';
|
|
@@ -3094,7 +3094,7 @@ class IgxBaseExporter {
|
|
|
3094
3094
|
throw Error('No options provided!');
|
|
3095
3095
|
}
|
|
3096
3096
|
this.options = options;
|
|
3097
|
-
let columns = grid.
|
|
3097
|
+
let columns = grid.columns;
|
|
3098
3098
|
if (this.options.ignoreMultiColumnHeaders) {
|
|
3099
3099
|
columns = columns.filter(col => col.children === undefined);
|
|
3100
3100
|
}
|
|
@@ -3725,7 +3725,7 @@ class IgxBaseExporter {
|
|
|
3725
3725
|
columnList = this.getAutoGeneratedColumns(islandData);
|
|
3726
3726
|
}
|
|
3727
3727
|
else {
|
|
3728
|
-
const islandColumnList = island.
|
|
3728
|
+
const islandColumnList = island.columns;
|
|
3729
3729
|
columnList = this.getColumns(islandColumnList);
|
|
3730
3730
|
}
|
|
3731
3731
|
this._ownersMap.set(island, columnList);
|
|
@@ -11158,7 +11158,7 @@ class IgxGridForOfDirective extends IgxForOfDirective {
|
|
|
11158
11158
|
this.igxForContainerSize = args.containerSize;
|
|
11159
11159
|
const sizeDiff = this._updateSizeCache(changes);
|
|
11160
11160
|
this._applyChanges();
|
|
11161
|
-
if (sizeDiff) {
|
|
11161
|
+
if (sizeDiff && this.igxForScrollOrientation === 'vertical') {
|
|
11162
11162
|
this._adjustScrollPositionAfterSizeChange(sizeDiff);
|
|
11163
11163
|
}
|
|
11164
11164
|
this._updateScrollOffset();
|
|
@@ -24016,8 +24016,8 @@ class IgxRowAddCrudState extends IgxRowCrudState {
|
|
|
24016
24016
|
if (isAddRow) {
|
|
24017
24017
|
this.endAddRow();
|
|
24018
24018
|
if (commit) {
|
|
24019
|
-
this.grid.rowAddedNotifier.next({ data: args.newValue });
|
|
24020
|
-
this.grid.rowAdded.emit({ data: args.newValue });
|
|
24019
|
+
this.grid.rowAddedNotifier.next({ data: args.newValue, owner: this.grid });
|
|
24020
|
+
this.grid.rowAdded.emit({ data: args.newValue, owner: this.grid });
|
|
24021
24021
|
}
|
|
24022
24022
|
}
|
|
24023
24023
|
return args;
|
|
@@ -48131,7 +48131,7 @@ class GridBaseAPIService {
|
|
|
48131
48131
|
this.destroyMap = new Map();
|
|
48132
48132
|
}
|
|
48133
48133
|
get_column_by_name(name) {
|
|
48134
|
-
return this.grid.
|
|
48134
|
+
return this.grid.columns.find((col) => col.field === name);
|
|
48135
48135
|
}
|
|
48136
48136
|
get_summary_data() {
|
|
48137
48137
|
const grid = this.grid;
|
|
@@ -48408,8 +48408,7 @@ class GridBaseAPIService {
|
|
|
48408
48408
|
return;
|
|
48409
48409
|
}
|
|
48410
48410
|
const record = data[index];
|
|
48411
|
-
|
|
48412
|
-
grid.rowDeletedNotifier.next({ data: data[index] });
|
|
48411
|
+
grid.rowDeletedNotifier.next({ data: data[index], owner: grid });
|
|
48413
48412
|
this.deleteRowFromData(rowId, index);
|
|
48414
48413
|
if (grid.selectionService.isRowSelected(rowId)) {
|
|
48415
48414
|
grid.selectionService.deselectRow(rowId);
|
|
@@ -50565,7 +50564,7 @@ class IgxColumnComponent {
|
|
|
50565
50564
|
grid.resetCaches();
|
|
50566
50565
|
grid.notifyChanges();
|
|
50567
50566
|
if (this.columnLayoutChild) {
|
|
50568
|
-
this.grid.
|
|
50567
|
+
this.grid.columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
50569
50568
|
}
|
|
50570
50569
|
this.grid.filteringService.refreshExpressions();
|
|
50571
50570
|
const eventArgs = { column: this, insertAtIndex: index, isPinned: true };
|
|
@@ -50632,7 +50631,7 @@ class IgxColumnComponent {
|
|
|
50632
50631
|
grid.resetCaches();
|
|
50633
50632
|
grid.notifyChanges();
|
|
50634
50633
|
if (this.columnLayoutChild) {
|
|
50635
|
-
this.grid.
|
|
50634
|
+
this.grid.columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
50636
50635
|
}
|
|
50637
50636
|
this.grid.filteringService.refreshExpressions();
|
|
50638
50637
|
this.grid.columnPinned.emit({ column: this, insertAtIndex: index, isPinned: false });
|
|
@@ -50651,7 +50650,7 @@ class IgxColumnComponent {
|
|
|
50651
50650
|
*/
|
|
50652
50651
|
move(index) {
|
|
50653
50652
|
let target;
|
|
50654
|
-
let columns = this.grid.
|
|
50653
|
+
let columns = this.grid.columns.filter(c => c.visibleIndex > -1);
|
|
50655
50654
|
// grid last visible index
|
|
50656
50655
|
const li = columns.map(c => c.visibleIndex).reduce((a, b) => Math.max(a, b));
|
|
50657
50656
|
const parent = this.parent;
|
|
@@ -52213,7 +52212,7 @@ class BaseRow {
|
|
|
52213
52212
|
*/
|
|
52214
52213
|
get cells() {
|
|
52215
52214
|
const res = [];
|
|
52216
|
-
this.grid.
|
|
52215
|
+
this.grid.columns.forEach(col => {
|
|
52217
52216
|
const cell = new IgxGridCell(this.grid, this.index, col.field);
|
|
52218
52217
|
res.push(cell);
|
|
52219
52218
|
});
|
|
@@ -52520,7 +52519,7 @@ class IgxHierarchicalGridRow extends BaseRow {
|
|
|
52520
52519
|
*/
|
|
52521
52520
|
get cells() {
|
|
52522
52521
|
const res = [];
|
|
52523
|
-
this.grid.
|
|
52522
|
+
this.grid.columns.forEach(col => {
|
|
52524
52523
|
const cell = new IgxGridCell(this.grid, this.index, col.field);
|
|
52525
52524
|
res.push(cell);
|
|
52526
52525
|
});
|
|
@@ -53821,7 +53820,7 @@ class IgxGroupByAreaDirective {
|
|
|
53821
53820
|
const drag = event.detail.owner;
|
|
53822
53821
|
if (drag instanceof IgxColumnMovingDragDirective) {
|
|
53823
53822
|
const column = drag.column;
|
|
53824
|
-
if (!this.grid.
|
|
53823
|
+
if (!this.grid.columns.find(c => c === column)) {
|
|
53825
53824
|
return;
|
|
53826
53825
|
}
|
|
53827
53826
|
const isGrouped = this.expressions.findIndex((item) => item.fieldName === column.field) !== -1;
|
|
@@ -54322,7 +54321,7 @@ class IgxAdvancedFilteringDialogComponent {
|
|
|
54322
54321
|
* @hidden @internal
|
|
54323
54322
|
*/
|
|
54324
54323
|
get filterableColumns() {
|
|
54325
|
-
return this.grid.
|
|
54324
|
+
return this.grid.columns.filter((col) => !col.columnGroup && col.filterable);
|
|
54326
54325
|
}
|
|
54327
54326
|
/**
|
|
54328
54327
|
* @hidden @internal
|
|
@@ -56157,7 +56156,7 @@ class IgxFilteringService {
|
|
|
56157
56156
|
grid.paginator.page = 0;
|
|
56158
56157
|
}
|
|
56159
56158
|
filteringTree.filteringOperands = [];
|
|
56160
|
-
for (const column of grid.
|
|
56159
|
+
for (const column of grid.columns) {
|
|
56161
56160
|
this.prepare_filtering_expression(filteringTree, column.field, term, condition, ignoreCase || column.filteringIgnoreCase);
|
|
56162
56161
|
}
|
|
56163
56162
|
grid.filteringExpressionsTree = filteringTree;
|
|
@@ -56191,7 +56190,7 @@ class IgxFilteringService {
|
|
|
56191
56190
|
expressions.length = 0;
|
|
56192
56191
|
}
|
|
56193
56192
|
else {
|
|
56194
|
-
this.grid.
|
|
56193
|
+
this.grid.columns.forEach(c => {
|
|
56195
56194
|
const expressions = this.getExpressions(c.field);
|
|
56196
56195
|
expressions.length = 0;
|
|
56197
56196
|
});
|
|
@@ -56221,7 +56220,7 @@ class IgxFilteringService {
|
|
|
56221
56220
|
const grid = this.grid;
|
|
56222
56221
|
const filteringTree = grid.filteringExpressionsTree;
|
|
56223
56222
|
const newFilteringTree = new FilteringExpressionsTree(filteringTree.operator, filteringTree.fieldName);
|
|
56224
|
-
for (const column of grid.
|
|
56223
|
+
for (const column of grid.columns) {
|
|
56225
56224
|
this.prepare_filtering_expression(newFilteringTree, column.field, value, condition, ignoreCase || column.filteringIgnoreCase);
|
|
56226
56225
|
}
|
|
56227
56226
|
const eventArgs = { owner: grid, filteringExpressions: newFilteringTree, cancel: false };
|
|
@@ -56251,7 +56250,7 @@ class IgxFilteringService {
|
|
|
56251
56250
|
*/
|
|
56252
56251
|
getExpressions(columnId) {
|
|
56253
56252
|
if (!this.columnToExpressionsMap.has(columnId)) {
|
|
56254
|
-
const column = this.grid.
|
|
56253
|
+
const column = this.grid.columns.find((col) => col.field === columnId);
|
|
56255
56254
|
const expressionUIs = new Array();
|
|
56256
56255
|
if (column) {
|
|
56257
56256
|
this.generateExpressionsList(column.filteringExpressionsTree, this.grid.filteringExpressionsTree.operator, expressionUIs);
|
|
@@ -56268,7 +56267,7 @@ class IgxFilteringService {
|
|
|
56268
56267
|
if (!this.isFiltering) {
|
|
56269
56268
|
this.columnsWithComplexFilter.clear();
|
|
56270
56269
|
this.columnToExpressionsMap.forEach((value, key) => {
|
|
56271
|
-
const column = this.grid.
|
|
56270
|
+
const column = this.grid.columns.find((col) => col.field === key);
|
|
56272
56271
|
if (column) {
|
|
56273
56272
|
value.length = 0;
|
|
56274
56273
|
this.generateExpressionsList(column.filteringExpressionsTree, this.grid.filteringExpressionsTree.operator, value);
|
|
@@ -56341,7 +56340,7 @@ class IgxFilteringService {
|
|
|
56341
56340
|
if (this.columnsWithComplexFilter.has(columnId)) {
|
|
56342
56341
|
return true;
|
|
56343
56342
|
}
|
|
56344
|
-
const column = this.grid.
|
|
56343
|
+
const column = this.grid.columns.find((col) => col.field === columnId);
|
|
56345
56344
|
const isComplex = column && this.isFilteringTreeComplex(column.filteringExpressionsTree);
|
|
56346
56345
|
if (isComplex) {
|
|
56347
56346
|
this.columnsWithComplexFilter.add(columnId);
|
|
@@ -59241,7 +59240,7 @@ class IgxGridSummaryService {
|
|
|
59241
59240
|
this.removeSummaries(rowID);
|
|
59242
59241
|
}
|
|
59243
59242
|
if (args.rowID !== undefined && args.rowID !== null) {
|
|
59244
|
-
let columnName = args.cellID ? this.grid.
|
|
59243
|
+
let columnName = args.cellID ? this.grid.columns.find(col => col.index === args.cellID.columnID).field : undefined;
|
|
59245
59244
|
if (columnName && this.grid.rowEditable) {
|
|
59246
59245
|
return;
|
|
59247
59246
|
}
|
|
@@ -59298,7 +59297,7 @@ class IgxGridSummaryService {
|
|
|
59298
59297
|
return this.summaryHeight = 0;
|
|
59299
59298
|
}
|
|
59300
59299
|
let maxSummaryLength = 0;
|
|
59301
|
-
this.grid.
|
|
59300
|
+
this.grid.columns.filter((col) => col.hasSummary && !col.hidden).forEach((column) => {
|
|
59302
59301
|
const getCurrentSummaryColumn = column.summaries.operate([], [], column.field).length;
|
|
59303
59302
|
if (getCurrentSummaryColumn) {
|
|
59304
59303
|
if (maxSummaryLength < getCurrentSummaryColumn) {
|
|
@@ -59319,7 +59318,7 @@ class IgxGridSummaryService {
|
|
|
59319
59318
|
if (!this.hasSummarizedColumns || !data) {
|
|
59320
59319
|
return rowSummaries;
|
|
59321
59320
|
}
|
|
59322
|
-
this.grid.
|
|
59321
|
+
this.grid.columns.filter(col => col.hasSummary).forEach((column) => {
|
|
59323
59322
|
if (!rowSummaries.get(column.field)) {
|
|
59324
59323
|
const summaryResult = column.summaries.operate(data.map(r => resolveNestedPath(r, column.field)), data, column.field, this.grid.locale, column.pipeArgs);
|
|
59325
59324
|
rowSummaries.set(column.field, summaryResult);
|
|
@@ -59352,7 +59351,7 @@ class IgxGridSummaryService {
|
|
|
59352
59351
|
this.groupingExpressions = groupingArgs.expressions.map(record => record.fieldName);
|
|
59353
59352
|
}
|
|
59354
59353
|
get hasSummarizedColumns() {
|
|
59355
|
-
const summarizedColumns = this.grid.
|
|
59354
|
+
const summarizedColumns = this.grid.columns.filter(col => col.hasSummary && !col.hidden);
|
|
59356
59355
|
return summarizedColumns.length > 0;
|
|
59357
59356
|
}
|
|
59358
59357
|
deleteSummaryCache(id, columnName) {
|
|
@@ -60390,6 +60389,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
60390
60389
|
this._rendered = false;
|
|
60391
60390
|
this.DRAG_SCROLL_DELTA = 10;
|
|
60392
60391
|
this._dataCloneStrategy = new DefaultDataCloneStrategy();
|
|
60392
|
+
this._autoSize = false;
|
|
60393
60393
|
/**
|
|
60394
60394
|
* @hidden @internal
|
|
60395
60395
|
*/
|
|
@@ -61286,8 +61286,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61286
61286
|
get maxLevelHeaderDepth() {
|
|
61287
61287
|
if (this._maxLevelHeaderDepth === null) {
|
|
61288
61288
|
this._maxLevelHeaderDepth = this.hasColumnLayouts ?
|
|
61289
|
-
this.
|
|
61290
|
-
this.
|
|
61289
|
+
this._columns.reduce((acc, col) => Math.max(acc, col.rowStart), 0) :
|
|
61290
|
+
this._columns.reduce((acc, col) => Math.max(acc, col.level), 0);
|
|
61291
61291
|
}
|
|
61292
61292
|
return this._maxLevelHeaderDepth;
|
|
61293
61293
|
}
|
|
@@ -61300,7 +61300,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61300
61300
|
* ``
|
|
61301
61301
|
*/
|
|
61302
61302
|
get hiddenColumnsCount() {
|
|
61303
|
-
return this.
|
|
61303
|
+
return this._columns.filter((col) => col.columnGroup === false && col.hidden === true).length;
|
|
61304
61304
|
}
|
|
61305
61305
|
/**
|
|
61306
61306
|
* Gets the number of pinned columns.
|
|
@@ -61430,6 +61430,12 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61430
61430
|
get scrollSize() {
|
|
61431
61431
|
return this.verticalScrollContainer.getScrollNativeSize();
|
|
61432
61432
|
}
|
|
61433
|
+
/**
|
|
61434
|
+
* @hidden @internal
|
|
61435
|
+
*/
|
|
61436
|
+
get minColumnWidth() {
|
|
61437
|
+
return MINIMUM_COLUMN_WIDTH$2;
|
|
61438
|
+
}
|
|
61433
61439
|
/**
|
|
61434
61440
|
* Returns an array containing the filtered sorted data.
|
|
61435
61441
|
*
|
|
@@ -61786,10 +61792,11 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61786
61792
|
this.notifyChanges(true);
|
|
61787
61793
|
this.cdr.detectChanges();
|
|
61788
61794
|
});
|
|
61789
|
-
this.verticalScrollContainer.contentSizeChange.pipe(filter(() => !this._init), destructor).subscribe(() => {
|
|
61790
|
-
this.notifyChanges();
|
|
61795
|
+
this.verticalScrollContainer.contentSizeChange.pipe(filter(() => !this._init), throttleTime(30), destructor).subscribe(() => {
|
|
61796
|
+
this.notifyChanges(true);
|
|
61791
61797
|
});
|
|
61792
61798
|
this.onDensityChanged.pipe(destructor).subscribe(() => {
|
|
61799
|
+
this._autoSize = this.isPercentHeight && this.calcHeight !== this.getDataBasedBodyHeight();
|
|
61793
61800
|
this.crudService.endEdit(false);
|
|
61794
61801
|
if (this._summaryRowHeight === 0) {
|
|
61795
61802
|
this.summaryService.summaryHeight = 0;
|
|
@@ -61815,13 +61822,13 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61815
61822
|
* @internal
|
|
61816
61823
|
*/
|
|
61817
61824
|
resetColumnsCaches() {
|
|
61818
|
-
this.
|
|
61825
|
+
this._columns.forEach(column => column.resetCaches());
|
|
61819
61826
|
}
|
|
61820
61827
|
/**
|
|
61821
61828
|
* @hidden @internal
|
|
61822
61829
|
*/
|
|
61823
61830
|
generateRowID() {
|
|
61824
|
-
const primaryColumn = this.
|
|
61831
|
+
const primaryColumn = this._columns.find(col => col.field === this.primaryKey);
|
|
61825
61832
|
const idType = this.data.length ?
|
|
61826
61833
|
this.resolveDataTypes(this.data[0][this.primaryKey]) : primaryColumn ? primaryColumn.dataType : 'string';
|
|
61827
61834
|
return idType === 'string' ? v4() : FAKE_ROW_ID--;
|
|
@@ -61888,7 +61895,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61888
61895
|
this.resetColumnCollections();
|
|
61889
61896
|
this.resetCachedWidths();
|
|
61890
61897
|
this.hasVisibleColumns = undefined;
|
|
61891
|
-
this._columnGroups = this.
|
|
61898
|
+
this._columnGroups = this._columns.some(col => col.columnGroup);
|
|
61892
61899
|
}
|
|
61893
61900
|
/**
|
|
61894
61901
|
* @hidden
|
|
@@ -62151,7 +62158,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62151
62158
|
* ```
|
|
62152
62159
|
*/
|
|
62153
62160
|
toggleColumnVisibility(args) {
|
|
62154
|
-
const col = args.column ? this.
|
|
62161
|
+
const col = args.column ? this._columns.find((c) => c === args.column) : undefined;
|
|
62155
62162
|
if (!col) {
|
|
62156
62163
|
return;
|
|
62157
62164
|
}
|
|
@@ -62411,7 +62418,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62411
62418
|
* ```
|
|
62412
62419
|
*/
|
|
62413
62420
|
get columns() {
|
|
62414
|
-
return this.
|
|
62421
|
+
return this._columns || [];
|
|
62415
62422
|
}
|
|
62416
62423
|
/**
|
|
62417
62424
|
* Gets an array of the pinned `IgxColumnComponent`s.
|
|
@@ -62472,7 +62479,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62472
62479
|
* @param name
|
|
62473
62480
|
*/
|
|
62474
62481
|
getColumnByName(name) {
|
|
62475
|
-
return this.
|
|
62482
|
+
return this._columns.find((col) => col.field === name);
|
|
62476
62483
|
}
|
|
62477
62484
|
getColumnByVisibleIndex(index) {
|
|
62478
62485
|
return this.visibleColumns.find((col) => !col.columnGroup && !col.columnLayout &&
|
|
@@ -62490,7 +62497,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62490
62497
|
if (this._visibleColumns.length) {
|
|
62491
62498
|
return this._visibleColumns;
|
|
62492
62499
|
}
|
|
62493
|
-
this._visibleColumns = this.
|
|
62500
|
+
this._visibleColumns = this._columns.filter(c => !c.hidden);
|
|
62494
62501
|
return this._visibleColumns;
|
|
62495
62502
|
}
|
|
62496
62503
|
/**
|
|
@@ -62619,14 +62626,14 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62619
62626
|
* @internal
|
|
62620
62627
|
*/
|
|
62621
62628
|
get showAddButton() {
|
|
62622
|
-
return this.rowEditable && this.dataView.length === 0 && this.
|
|
62629
|
+
return this.rowEditable && this.dataView.length === 0 && this._columns.length > 0;
|
|
62623
62630
|
}
|
|
62624
62631
|
/**
|
|
62625
62632
|
* @hidden
|
|
62626
62633
|
* @internal
|
|
62627
62634
|
*/
|
|
62628
62635
|
get showDragIcons() {
|
|
62629
|
-
return this.rowDraggable && this.
|
|
62636
|
+
return this.rowDraggable && this._columns.length > this.hiddenColumnsCount;
|
|
62630
62637
|
}
|
|
62631
62638
|
/**
|
|
62632
62639
|
* @hidden
|
|
@@ -62688,12 +62695,12 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62688
62695
|
const index = pos === DropPosition.AfterDropTarget ? unpinnedIndex + 1 : unpinnedIndex;
|
|
62689
62696
|
columnPinStateChanged = column.unpin(index);
|
|
62690
62697
|
}
|
|
62691
|
-
if (target.pinned && column.pinned && !columnPinStateChanged) {
|
|
62692
|
-
|
|
62693
|
-
}
|
|
62694
|
-
if (!target.pinned && !column.pinned && !columnPinStateChanged) {
|
|
62695
|
-
|
|
62696
|
-
}
|
|
62698
|
+
// if (target.pinned && column.pinned && !columnPinStateChanged) {
|
|
62699
|
+
// this._reorderColumns(column, target, pos, this._pinnedColumns);
|
|
62700
|
+
// }
|
|
62701
|
+
// if (!target.pinned && !column.pinned && !columnPinStateChanged) {
|
|
62702
|
+
// this._reorderColumns(column, target, pos, this._unpinnedColumns);
|
|
62703
|
+
// }
|
|
62697
62704
|
this._moveColumns(column, target, pos);
|
|
62698
62705
|
this._columnsReordered(column);
|
|
62699
62706
|
}
|
|
@@ -62756,7 +62763,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62756
62763
|
// commit pending states prior to adding a row
|
|
62757
62764
|
this.crudService.endEdit(true);
|
|
62758
62765
|
this.gridAPI.addRowToData(data);
|
|
62759
|
-
this.rowAddedNotifier.next({ data });
|
|
62766
|
+
this.rowAddedNotifier.next({ data: data, owner: this });
|
|
62760
62767
|
this.pipeTrigger++;
|
|
62761
62768
|
this.notifyChanges();
|
|
62762
62769
|
}
|
|
@@ -62783,7 +62790,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62783
62790
|
rowID: rowId,
|
|
62784
62791
|
cancel: false,
|
|
62785
62792
|
rowData: this.getRowData(rowId),
|
|
62786
|
-
oldValue: null
|
|
62793
|
+
oldValue: null,
|
|
62794
|
+
owner: this
|
|
62787
62795
|
};
|
|
62788
62796
|
this.rowDelete.emit(args);
|
|
62789
62797
|
if (args.cancel) {
|
|
@@ -62791,8 +62799,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62791
62799
|
}
|
|
62792
62800
|
const record = this.gridAPI.deleteRowById(rowId);
|
|
62793
62801
|
if (record !== null && record !== undefined) {
|
|
62794
|
-
|
|
62795
|
-
this.rowDeleted.emit({ data: record });
|
|
62802
|
+
this.rowDeleted.emit({ data: record, owner: this });
|
|
62796
62803
|
}
|
|
62797
62804
|
return record;
|
|
62798
62805
|
}
|
|
@@ -62811,7 +62818,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62811
62818
|
*/
|
|
62812
62819
|
updateCell(value, rowSelector, column) {
|
|
62813
62820
|
if (this.isDefined(this.primaryKey)) {
|
|
62814
|
-
const col = this.
|
|
62821
|
+
const col = this._columns.find(c => c.field === column);
|
|
62815
62822
|
if (col) {
|
|
62816
62823
|
// Simplify
|
|
62817
62824
|
const rowData = this.gridAPI.getRowData(rowSelector);
|
|
@@ -62902,7 +62909,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62902
62909
|
}
|
|
62903
62910
|
else {
|
|
62904
62911
|
if (this._sortingOptions.mode === 'single') {
|
|
62905
|
-
this.
|
|
62912
|
+
this._columns.forEach((col) => {
|
|
62906
62913
|
if (!(col.field === expression.fieldName)) {
|
|
62907
62914
|
this.clearSort(col.field);
|
|
62908
62915
|
}
|
|
@@ -63264,7 +63271,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63264
63271
|
* ```
|
|
63265
63272
|
*/
|
|
63266
63273
|
get hasSortableColumns() {
|
|
63267
|
-
return this.
|
|
63274
|
+
return this._columns.some((col) => col.sortable);
|
|
63268
63275
|
}
|
|
63269
63276
|
/**
|
|
63270
63277
|
* Returns if the `IgxGridComponent` has editable columns.
|
|
@@ -63275,7 +63282,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63275
63282
|
* ```
|
|
63276
63283
|
*/
|
|
63277
63284
|
get hasEditableColumns() {
|
|
63278
|
-
return this.
|
|
63285
|
+
return this._columns.some((col) => col.editable);
|
|
63279
63286
|
}
|
|
63280
63287
|
/**
|
|
63281
63288
|
* Returns if the `IgxGridComponent` has filterable columns.
|
|
@@ -63286,7 +63293,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63286
63293
|
* ```
|
|
63287
63294
|
*/
|
|
63288
63295
|
get hasFilterableColumns() {
|
|
63289
|
-
return this.
|
|
63296
|
+
return this._columns.some((col) => col.filterable);
|
|
63290
63297
|
}
|
|
63291
63298
|
/**
|
|
63292
63299
|
* Returns if the `IgxGridComponent` has summarized columns.
|
|
@@ -63297,7 +63304,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63297
63304
|
* ```
|
|
63298
63305
|
*/
|
|
63299
63306
|
get hasSummarizedColumns() {
|
|
63300
|
-
const summarizedColumns = this.
|
|
63307
|
+
const summarizedColumns = this._columns.filter(col => col.hasSummary && !col.hidden);
|
|
63301
63308
|
return summarizedColumns.length > 0;
|
|
63302
63309
|
}
|
|
63303
63310
|
/**
|
|
@@ -63311,7 +63318,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63311
63318
|
*/
|
|
63312
63319
|
get hasVisibleColumns() {
|
|
63313
63320
|
if (this._hasVisibleColumns === undefined) {
|
|
63314
|
-
return this.
|
|
63321
|
+
return this._columns ? this._columns.some(c => !c.hidden) : false;
|
|
63315
63322
|
}
|
|
63316
63323
|
return this._hasVisibleColumns;
|
|
63317
63324
|
}
|
|
@@ -63352,7 +63359,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63352
63359
|
* ```
|
|
63353
63360
|
*/
|
|
63354
63361
|
get hasColumnLayouts() {
|
|
63355
|
-
return !!this.
|
|
63362
|
+
return !!this._columns.some(col => col.columnLayout);
|
|
63356
63363
|
}
|
|
63357
63364
|
/**
|
|
63358
63365
|
* @hidden @internal
|
|
@@ -63450,8 +63457,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63450
63457
|
return '0px';
|
|
63451
63458
|
}
|
|
63452
63459
|
const columnWidth = Math.floor(!Number.isFinite(sumExistingWidths) ?
|
|
63453
|
-
Math.max(computedWidth / columnsToSize,
|
|
63454
|
-
Math.max((computedWidth - sumExistingWidths) / columnsToSize,
|
|
63460
|
+
Math.max(computedWidth / columnsToSize, this.minColumnWidth) :
|
|
63461
|
+
Math.max((computedWidth - sumExistingWidths) / columnsToSize, this.minColumnWidth));
|
|
63455
63462
|
return columnWidth + 'px';
|
|
63456
63463
|
}
|
|
63457
63464
|
/**
|
|
@@ -63807,7 +63814,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63807
63814
|
* ```
|
|
63808
63815
|
*/
|
|
63809
63816
|
selectAllColumns() {
|
|
63810
|
-
this.selectColumns(this.
|
|
63817
|
+
this.selectColumns(this._columns.filter(c => !c.columnGroup));
|
|
63811
63818
|
}
|
|
63812
63819
|
/**
|
|
63813
63820
|
*
|
|
@@ -63916,7 +63923,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63916
63923
|
navigateTo(rowIndex, visibleColIndex = -1, cb = null) {
|
|
63917
63924
|
const totalItems = this.totalItemCount ?? this.dataView.length - 1;
|
|
63918
63925
|
if (rowIndex < 0 || rowIndex > totalItems || (visibleColIndex !== -1
|
|
63919
|
-
&& this.
|
|
63926
|
+
&& this._columns.map(col => col.visibleIndex).indexOf(visibleColIndex) === -1)) {
|
|
63920
63927
|
return;
|
|
63921
63928
|
}
|
|
63922
63929
|
if (this.dataView.slice(rowIndex, rowIndex + 1).find(rec => rec.expression || rec.childGridsData)) {
|
|
@@ -63962,7 +63969,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63962
63969
|
* ```
|
|
63963
63970
|
*/
|
|
63964
63971
|
getNextCell(currRowIndex, curVisibleColIndex, callback = null) {
|
|
63965
|
-
const columns = this.
|
|
63972
|
+
const columns = this._columns.filter(col => !col.columnGroup && col.visibleIndex >= 0);
|
|
63966
63973
|
const dataViewIndex = this._getDataViewIndex(currRowIndex);
|
|
63967
63974
|
if (!this.isValidPosition(dataViewIndex, curVisibleColIndex)) {
|
|
63968
63975
|
return { rowIndex: currRowIndex, visibleColumnIndex: curVisibleColIndex };
|
|
@@ -63997,7 +64004,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63997
64004
|
* ```
|
|
63998
64005
|
*/
|
|
63999
64006
|
getPreviousCell(currRowIndex, curVisibleColIndex, callback = null) {
|
|
64000
|
-
const columns = this.
|
|
64007
|
+
const columns = this._columns.filter(col => !col.columnGroup && col.visibleIndex >= 0);
|
|
64001
64008
|
const dataViewIndex = this._getDataViewIndex(currRowIndex);
|
|
64002
64009
|
if (!this.isValidPosition(dataViewIndex, curVisibleColIndex)) {
|
|
64003
64010
|
return { rowIndex: currRowIndex, visibleColumnIndex: curVisibleColIndex };
|
|
@@ -64417,9 +64424,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64417
64424
|
*/
|
|
64418
64425
|
_derivePossibleWidth() {
|
|
64419
64426
|
if (!this.columnWidthSetByUser) {
|
|
64420
|
-
this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() :
|
|
64427
|
+
this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() : this.minColumnWidth + 'px';
|
|
64421
64428
|
}
|
|
64422
|
-
this.
|
|
64429
|
+
this._columns.forEach((column) => {
|
|
64423
64430
|
if (this.hasColumnLayouts && parseInt(this._columnWidth, 10)) {
|
|
64424
64431
|
const columnWidthCombined = parseInt(this._columnWidth, 10) * (column.colEnd ? column.colEnd - column.colStart : 1);
|
|
64425
64432
|
column.defaultWidth = columnWidthCombined + 'px';
|
|
@@ -64472,7 +64479,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64472
64479
|
* @hidden
|
|
64473
64480
|
*/
|
|
64474
64481
|
_moveColumns(from, to, pos) {
|
|
64475
|
-
const
|
|
64482
|
+
const orderedList = this._pinnedColumns.concat(this._unpinnedColumns);
|
|
64483
|
+
const list = orderedList;
|
|
64476
64484
|
this._reorderColumns(from, to, pos, list);
|
|
64477
64485
|
const newList = this._resetColumnList(list);
|
|
64478
64486
|
this.updateColumns(newList);
|
|
@@ -64484,18 +64492,17 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64484
64492
|
updateColumns(newColumns) {
|
|
64485
64493
|
// update internal collections to retain order.
|
|
64486
64494
|
this._pinnedColumns = newColumns
|
|
64487
|
-
.filter((c) => c.pinned)
|
|
64495
|
+
.filter((c) => c.pinned);
|
|
64488
64496
|
this._unpinnedColumns = newColumns.filter((c) => !c.pinned);
|
|
64489
|
-
this.
|
|
64490
|
-
this.
|
|
64491
|
-
this._columns = this.columnList.toArray();
|
|
64497
|
+
this._columns = newColumns;
|
|
64498
|
+
this.resetCaches();
|
|
64492
64499
|
}
|
|
64493
64500
|
/**
|
|
64494
64501
|
* @hidden
|
|
64495
64502
|
*/
|
|
64496
64503
|
_resetColumnList(list) {
|
|
64497
64504
|
if (!list) {
|
|
64498
|
-
list = this.
|
|
64505
|
+
list = this._columns;
|
|
64499
64506
|
}
|
|
64500
64507
|
let newList = [];
|
|
64501
64508
|
list.filter(c => c.level === 0).forEach(p => {
|
|
@@ -64543,7 +64550,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64543
64550
|
if (this.autoGenerate) {
|
|
64544
64551
|
this.autogenerateColumns();
|
|
64545
64552
|
}
|
|
64546
|
-
|
|
64553
|
+
else {
|
|
64554
|
+
this._columns = this.getColumnList();
|
|
64555
|
+
}
|
|
64556
|
+
this.initColumns(this._columns, (col) => this.columnInit.emit(col));
|
|
64547
64557
|
this.columnListDiffer.diff(this.columnList);
|
|
64548
64558
|
this.columnList.changes
|
|
64549
64559
|
.pipe(takeUntil(this.destroy$))
|
|
@@ -64551,6 +64561,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64551
64561
|
this.onColumnsChanged(change);
|
|
64552
64562
|
});
|
|
64553
64563
|
}
|
|
64564
|
+
getColumnList() {
|
|
64565
|
+
return this.columnList.toArray();
|
|
64566
|
+
}
|
|
64554
64567
|
/**
|
|
64555
64568
|
* @hidden
|
|
64556
64569
|
*/
|
|
@@ -64592,10 +64605,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64592
64605
|
*/
|
|
64593
64606
|
onColumnsChanged(change) {
|
|
64594
64607
|
const diff = this.columnListDiffer.diff(change);
|
|
64595
|
-
if (this.autoGenerate && this.
|
|
64608
|
+
if (this.autoGenerate && this._columns.length === 0 && this._autoGeneratedCols.length > 0) {
|
|
64596
64609
|
// In Ivy if there are nested conditional templates the content children are re-evaluated
|
|
64597
64610
|
// hence autogenerated columns are cleared and need to be reset.
|
|
64598
|
-
this.
|
|
64611
|
+
this.updateColumns(this._autoGeneratedCols);
|
|
64599
64612
|
return;
|
|
64600
64613
|
}
|
|
64601
64614
|
if (diff) {
|
|
@@ -64610,7 +64623,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64610
64623
|
this._unpinnedColumns.push(record.item);
|
|
64611
64624
|
}
|
|
64612
64625
|
});
|
|
64613
|
-
this.initColumns(this.columnList, (col) => this.columnInit.emit(col));
|
|
64626
|
+
this.initColumns(this.columnList.toArray(), (col) => this.columnInit.emit(col));
|
|
64614
64627
|
diff.forEachRemovedItem((record) => {
|
|
64615
64628
|
const isColumnGroup = record.item instanceof IgxColumnGroupComponent;
|
|
64616
64629
|
if (!isColumnGroup) {
|
|
@@ -64819,10 +64832,13 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64819
64832
|
this.tbody.nativeElement.style.display = 'none';
|
|
64820
64833
|
let res = !this.nativeElement.parentElement ||
|
|
64821
64834
|
this.nativeElement.parentElement.clientHeight === 0 ||
|
|
64822
|
-
this.nativeElement.parentElement.clientHeight === renderedHeight
|
|
64835
|
+
this.nativeElement.parentElement.clientHeight === renderedHeight;
|
|
64836
|
+
if ((!this.platform.isChromium && !this.platform.isFirefox) || this._autoSize) {
|
|
64823
64837
|
// If grid causes the parent container to extend (for example when container is flex)
|
|
64824
64838
|
// we should always auto-size since the actual size of the container will continuously change as the grid renders elements.
|
|
64825
|
-
this.
|
|
64839
|
+
this._autoSize = false;
|
|
64840
|
+
res = this.checkContainerSizeChange();
|
|
64841
|
+
}
|
|
64826
64842
|
this.tbody.nativeElement.style.display = '';
|
|
64827
64843
|
return res;
|
|
64828
64844
|
}
|
|
@@ -64906,7 +64922,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64906
64922
|
columns.push(ref.instance);
|
|
64907
64923
|
});
|
|
64908
64924
|
this._autoGeneratedCols = columns;
|
|
64909
|
-
this.
|
|
64925
|
+
this.updateColumns(columns);
|
|
64910
64926
|
if (data && data.length > 0) {
|
|
64911
64927
|
this.shouldGenerate = false;
|
|
64912
64928
|
}
|
|
@@ -64918,10 +64934,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64918
64934
|
* @hidden
|
|
64919
64935
|
*/
|
|
64920
64936
|
initColumns(collection, cb = null) {
|
|
64921
|
-
this._columnGroups =
|
|
64937
|
+
this._columnGroups = collection.some(col => col.columnGroup);
|
|
64922
64938
|
if (this.hasColumnLayouts) {
|
|
64923
64939
|
// Set overall row layout size
|
|
64924
|
-
|
|
64940
|
+
collection.forEach((col) => {
|
|
64925
64941
|
if (col.columnLayout) {
|
|
64926
64942
|
const layoutSize = col.children ?
|
|
64927
64943
|
col.children.reduce((acc, val) => Math.max(val.rowStart + val.gridRowSpan - 1, acc), 1) :
|
|
@@ -64933,18 +64949,17 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64933
64949
|
if (this.hasColumnLayouts && this.hasColumnGroups) {
|
|
64934
64950
|
// invalid configuration - multi-row and column groups
|
|
64935
64951
|
// remove column groups
|
|
64936
|
-
const columnLayoutColumns =
|
|
64937
|
-
|
|
64952
|
+
const columnLayoutColumns = collection.filter((col) => col.columnLayout || col.columnLayoutChild);
|
|
64953
|
+
collection = columnLayoutColumns;
|
|
64938
64954
|
}
|
|
64939
64955
|
this._maxLevelHeaderDepth = null;
|
|
64940
|
-
this._columns = this.columnList.toArray();
|
|
64941
64956
|
collection.forEach((column) => {
|
|
64942
64957
|
column.defaultWidth = this.columnWidthSetByUser ? this._columnWidth : column.defaultWidth ? column.defaultWidth : '';
|
|
64943
64958
|
if (cb) {
|
|
64944
64959
|
cb(column);
|
|
64945
64960
|
}
|
|
64946
64961
|
});
|
|
64947
|
-
this.
|
|
64962
|
+
this.updateColumns(collection);
|
|
64948
64963
|
if (this.hasColumnLayouts) {
|
|
64949
64964
|
collection.forEach((column) => {
|
|
64950
64965
|
column.populateVisibleIndexes();
|
|
@@ -64955,11 +64970,11 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64955
64970
|
* @hidden
|
|
64956
64971
|
*/
|
|
64957
64972
|
reinitPinStates() {
|
|
64958
|
-
this._pinnedColumns = this.
|
|
64973
|
+
this._pinnedColumns = this._columns
|
|
64959
64974
|
.filter((c) => c.pinned).sort((a, b) => this._pinnedColumns.indexOf(a) - this._pinnedColumns.indexOf(b));
|
|
64960
|
-
this._unpinnedColumns = this.hasColumnGroups ? this.
|
|
64961
|
-
this.
|
|
64962
|
-
.sort((a, b) => this._unpinnedColumns.
|
|
64975
|
+
this._unpinnedColumns = this.hasColumnGroups ? this._columns.filter((c) => !c.pinned) :
|
|
64976
|
+
this._columns.filter((c) => !c.pinned)
|
|
64977
|
+
.sort((a, b) => this._unpinnedColumns.indexOf(a) - this._unpinnedColumns.indexOf(b));
|
|
64963
64978
|
}
|
|
64964
64979
|
extractDataFromSelection(source, formatters = false, headers = false, columnData) {
|
|
64965
64980
|
let columnsArray;
|
|
@@ -65138,7 +65153,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
65138
65153
|
// Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
|
|
65139
65154
|
// We take into account top level columns (top level groups and non groups).
|
|
65140
65155
|
// If top level is unpinned the pinning handles all children to be unpinned as well.
|
|
65141
|
-
for (const column of this.
|
|
65156
|
+
for (const column of this._columns) {
|
|
65142
65157
|
if (column.pinned && !column.parent) {
|
|
65143
65158
|
pinnedColumns.push(column);
|
|
65144
65159
|
}
|
|
@@ -65214,7 +65229,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
65214
65229
|
const cols = this.hasColumnLayouts ?
|
|
65215
65230
|
this.visibleColumns.filter(x => x.columnLayout) : this.visibleColumns.filter(x => !x.columnGroup);
|
|
65216
65231
|
cols.forEach((item) => {
|
|
65217
|
-
colSum += parseInt((item.calcWidth || item.defaultWidth), 10) ||
|
|
65232
|
+
colSum += parseInt((item.calcWidth || item.defaultWidth), 10) || this.minColumnWidth;
|
|
65218
65233
|
});
|
|
65219
65234
|
if (!colSum) {
|
|
65220
65235
|
return null;
|
|
@@ -65231,7 +65246,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
65231
65246
|
_columnsReordered(column) {
|
|
65232
65247
|
this.notifyChanges();
|
|
65233
65248
|
if (this.hasColumnLayouts) {
|
|
65234
|
-
this.
|
|
65249
|
+
this._columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
65235
65250
|
}
|
|
65236
65251
|
// after reordering is done reset cached column collections.
|
|
65237
65252
|
this.resetColumnCollections();
|
|
@@ -65393,7 +65408,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
65393
65408
|
}
|
|
65394
65409
|
isValidPosition(rowIndex, colIndex) {
|
|
65395
65410
|
const rows = this.summariesRowList.filter(s => s.index !== 0).concat(this.rowList.toArray()).length;
|
|
65396
|
-
const cols = this.
|
|
65411
|
+
const cols = this._columns.filter(col => !col.columnGroup && col.visibleIndex >= 0 && !col.hidden).length;
|
|
65397
65412
|
if (rows < 1 || cols < 1) {
|
|
65398
65413
|
return false;
|
|
65399
65414
|
}
|
|
@@ -66473,7 +66488,7 @@ class IgxGridMRLNavigationService extends IgxGridNavigationService {
|
|
|
66473
66488
|
col.visibleIndex > this.activeNode.column && col.colStart > this.activeNode.layout.colStart);
|
|
66474
66489
|
if (!column || (previous && this.activeNode.layout.colStart === 1)) {
|
|
66475
66490
|
const index = previous ? parent.visibleIndex - 1 : parent.visibleIndex + 1;
|
|
66476
|
-
const children = this.grid.
|
|
66491
|
+
const children = this.grid.columns.find(cols => cols.columnLayout && cols.visibleIndex === index).children;
|
|
66477
66492
|
column = previous ? children.toArray().reverse().find(child => child.rowStart <= this.activeNode.layout.rowStart) :
|
|
66478
66493
|
children.find(child => this.rowEnd(child) > this.activeNode.layout.rowStart && child.colStart === 1);
|
|
66479
66494
|
}
|
|
@@ -68348,7 +68363,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68348
68363
|
this._applyGrouping();
|
|
68349
68364
|
this.notifyChanges();
|
|
68350
68365
|
}
|
|
68351
|
-
if (!this._init && JSON.stringify(oldExpressions) !== JSON.stringify(newExpressions) && this.
|
|
68366
|
+
if (!this._init && JSON.stringify(oldExpressions) !== JSON.stringify(newExpressions) && this._columns) {
|
|
68352
68367
|
const groupedCols = [];
|
|
68353
68368
|
const ungroupedCols = [];
|
|
68354
68369
|
const groupedColsArr = newExpressions.filter((obj) => !oldExpressions.some((obj2) => obj.fieldName === obj2.fieldName));
|
|
@@ -68412,7 +68427,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68412
68427
|
else {
|
|
68413
68428
|
this.groupingDiffer = null;
|
|
68414
68429
|
}
|
|
68415
|
-
if (this.
|
|
68430
|
+
if (this._columns && this.groupingExpressions) {
|
|
68416
68431
|
this._setGroupColsVisibility(value);
|
|
68417
68432
|
}
|
|
68418
68433
|
this._hideGroupedColumns = value;
|
|
@@ -68466,7 +68481,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68466
68481
|
*/
|
|
68467
68482
|
getCellByColumnVisibleIndex(rowIndex, index) {
|
|
68468
68483
|
const row = this.getRowByIndex(rowIndex);
|
|
68469
|
-
const column = this.
|
|
68484
|
+
const column = this._columns.find((col) => col.visibleIndex === index);
|
|
68470
68485
|
if (row && row instanceof IgxGridRow && !row.data?.detailsData && column) {
|
|
68471
68486
|
return new IgxGridCell(this, rowIndex, column.field);
|
|
68472
68487
|
}
|
|
@@ -68729,7 +68744,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68729
68744
|
* ```
|
|
68730
68745
|
*/
|
|
68731
68746
|
get hasGroupableColumns() {
|
|
68732
|
-
return this.
|
|
68747
|
+
return this._columns.some((col) => col.groupable && !col.columnGroup);
|
|
68733
68748
|
}
|
|
68734
68749
|
/**
|
|
68735
68750
|
* Returns whether the `IgxGridComponent` has group area.
|
|
@@ -68853,7 +68868,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68853
68868
|
this._groupRowTemplate = this.groupTemplate.template;
|
|
68854
68869
|
}
|
|
68855
68870
|
this.detailTemplate.changes.subscribe(() => this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec));
|
|
68856
|
-
if (this.hideGroupedColumns && this.
|
|
68871
|
+
if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
|
|
68857
68872
|
this._setGroupColsVisibility(this.hideGroupedColumns);
|
|
68858
68873
|
}
|
|
68859
68874
|
this._setupNavigationService();
|
|
@@ -68901,9 +68916,9 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68901
68916
|
* @hidden @internal
|
|
68902
68917
|
*/
|
|
68903
68918
|
ngDoCheck() {
|
|
68904
|
-
if (this.groupingDiffer && this.
|
|
68919
|
+
if (this.groupingDiffer && this._columns && !this.hasColumnLayouts) {
|
|
68905
68920
|
const changes = this.groupingDiffer.diff(this.groupingExpressions);
|
|
68906
|
-
if (changes && this.
|
|
68921
|
+
if (changes && this._columns.length > 0) {
|
|
68907
68922
|
changes.forEachAddedItem((rec) => {
|
|
68908
68923
|
const col = this.getColumnByName(rec.item.fieldName);
|
|
68909
68924
|
if (col) {
|
|
@@ -69033,7 +69048,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
69033
69048
|
*/
|
|
69034
69049
|
getCellByColumn(rowIndex, columnField) {
|
|
69035
69050
|
const row = this.getRowByIndex(rowIndex);
|
|
69036
|
-
const column = this.
|
|
69051
|
+
const column = this._columns.find((col) => col.field === columnField);
|
|
69037
69052
|
if (row && row instanceof IgxGridRow && !row.data?.detailsData && column) {
|
|
69038
69053
|
if (this.pagingMode === 1 && this.gridAPI.grid.page !== 0) {
|
|
69039
69054
|
row.index = rowIndex + this.paginator.perPage * this.paginator.page;
|
|
@@ -69055,7 +69070,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
69055
69070
|
*/
|
|
69056
69071
|
getCellByKey(rowSelector, columnField) {
|
|
69057
69072
|
const row = this.getRowByKey(rowSelector);
|
|
69058
|
-
const column = this.
|
|
69073
|
+
const column = this._columns.find((col) => col.field === columnField);
|
|
69059
69074
|
if (row && column) {
|
|
69060
69075
|
return new IgxGridCell(this, row.index, columnField);
|
|
69061
69076
|
}
|
|
@@ -69157,7 +69172,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
69157
69172
|
return !expression.fieldName;
|
|
69158
69173
|
}
|
|
69159
69174
|
_setGroupColsVisibility(value) {
|
|
69160
|
-
if (this.
|
|
69175
|
+
if (this._columns.length > 0 && !this.hasColumnLayouts) {
|
|
69161
69176
|
this.groupingExpressions.forEach((expr) => {
|
|
69162
69177
|
const col = this.getColumnByName(expr.fieldName);
|
|
69163
69178
|
col.hidden = value;
|
|
@@ -69332,7 +69347,7 @@ class IgxGridStateDirective {
|
|
|
69332
69347
|
},
|
|
69333
69348
|
columns: {
|
|
69334
69349
|
getFeatureState: (context) => {
|
|
69335
|
-
const gridColumns = context.currGrid.
|
|
69350
|
+
const gridColumns = context.currGrid.columns.map((c) => ({
|
|
69336
69351
|
pinned: c.pinned,
|
|
69337
69352
|
sortable: c.sortable,
|
|
69338
69353
|
filterable: c.filterable,
|
|
@@ -69392,6 +69407,9 @@ class IgxGridStateDirective {
|
|
|
69392
69407
|
}
|
|
69393
69408
|
});
|
|
69394
69409
|
context.grid.updateColumns(newColumns);
|
|
69410
|
+
newColumns.forEach(col => {
|
|
69411
|
+
context.grid.columnInit.emit(col);
|
|
69412
|
+
});
|
|
69395
69413
|
}
|
|
69396
69414
|
},
|
|
69397
69415
|
groupBy: {
|
|
@@ -69641,13 +69659,11 @@ class IgxGridStateDirective {
|
|
|
69641
69659
|
// TODO Notify the grid that columnList.changes is triggered by the state directive
|
|
69642
69660
|
// instead of piping it like below
|
|
69643
69661
|
const columns = 'columns';
|
|
69644
|
-
this.grid.columnList.changes.pipe(delay(0), take(1)).subscribe(() => {
|
|
69645
|
-
this.featureKeys = this.featureKeys.filter(f => f !== columns);
|
|
69646
|
-
this.restoreFeatures(state);
|
|
69647
|
-
});
|
|
69648
69662
|
this.applyFeatures(features);
|
|
69649
69663
|
if (this.featureKeys.includes(columns) && this.options[columns] && state[columns]) {
|
|
69650
69664
|
this.getFeature(columns).restoreFeatureState(this, state[columns]);
|
|
69665
|
+
this.featureKeys = this.featureKeys.filter(f => f !== columns);
|
|
69666
|
+
this.restoreFeatures(state);
|
|
69651
69667
|
}
|
|
69652
69668
|
else {
|
|
69653
69669
|
this.restoreFeatures(state);
|
|
@@ -69698,8 +69714,8 @@ class IgxGridStateDirective {
|
|
|
69698
69714
|
else {
|
|
69699
69715
|
const expr = item;
|
|
69700
69716
|
let dataType;
|
|
69701
|
-
if (this.currGrid.
|
|
69702
|
-
dataType = this.currGrid.
|
|
69717
|
+
if (this.currGrid.columns.length > 0) {
|
|
69718
|
+
dataType = this.currGrid.columns.find(c => c.field === expr.fieldName).dataType;
|
|
69703
69719
|
}
|
|
69704
69720
|
else if (this.state.columns) {
|
|
69705
69721
|
dataType = this.state.columns.find(c => c.field === expr.fieldName).dataType;
|
|
@@ -70034,14 +70050,14 @@ class IgxColumnLayoutComponent extends IgxColumnGroupComponent {
|
|
|
70034
70050
|
set hidden(value) {
|
|
70035
70051
|
this._hidden = value;
|
|
70036
70052
|
this.children.forEach(child => child.hidden = value);
|
|
70037
|
-
if (this.grid && this.grid.
|
|
70053
|
+
if (this.grid && this.grid.columns && this.grid.columns.length > 0) {
|
|
70038
70054
|
// reset indexes in case columns are hidden/shown runtime
|
|
70039
70055
|
const columns = this.grid && this.grid.pinnedColumns && this.grid.unpinnedColumns ?
|
|
70040
70056
|
this.grid.pinnedColumns.concat(this.grid.unpinnedColumns) : [];
|
|
70041
70057
|
if (!this._hidden && !columns.find(c => c.field === this.field)) {
|
|
70042
70058
|
this.grid.resetColumnCollections();
|
|
70043
70059
|
}
|
|
70044
|
-
this.grid.
|
|
70060
|
+
this.grid.columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
70045
70061
|
}
|
|
70046
70062
|
}
|
|
70047
70063
|
/**
|
|
@@ -71968,13 +71984,13 @@ class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
71968
71984
|
return this._hideGroupedColumns;
|
|
71969
71985
|
}
|
|
71970
71986
|
set hideGroupedColumns(value) {
|
|
71971
|
-
if (this.grid.
|
|
71987
|
+
if (this.grid.columns && this.expressions) {
|
|
71972
71988
|
this.setColumnsVisibility(value);
|
|
71973
71989
|
}
|
|
71974
71990
|
this._hideGroupedColumns = value;
|
|
71975
71991
|
}
|
|
71976
71992
|
ngAfterContentInit() {
|
|
71977
|
-
if (this.grid.
|
|
71993
|
+
if (this.grid.columns && this.expressions) {
|
|
71978
71994
|
this.groupingDiffer = this.differs.find(this.expressions).create();
|
|
71979
71995
|
this.updateColumnsVisibility();
|
|
71980
71996
|
}
|
|
@@ -72025,9 +72041,9 @@ class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
72025
72041
|
this.updateColumnsVisibility();
|
|
72026
72042
|
}
|
|
72027
72043
|
updateColumnsVisibility() {
|
|
72028
|
-
if (this.groupingDiffer && this.grid.
|
|
72044
|
+
if (this.groupingDiffer && this.grid.columns && !this.grid.hasColumnLayouts) {
|
|
72029
72045
|
const changes = this.groupingDiffer.diff(this.expressions);
|
|
72030
|
-
if (changes && this.grid.
|
|
72046
|
+
if (changes && this.grid.columns.length > 0) {
|
|
72031
72047
|
changes.forEachAddedItem((rec) => {
|
|
72032
72048
|
const col = this.grid.getColumnByName(rec.item.fieldName);
|
|
72033
72049
|
col.hidden = this.hideGroupedColumns;
|
|
@@ -72040,7 +72056,7 @@ class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
72040
72056
|
}
|
|
72041
72057
|
}
|
|
72042
72058
|
setColumnsVisibility(value) {
|
|
72043
|
-
if (this.grid.
|
|
72059
|
+
if (this.grid.columns.length > 0 && !this.grid.hasColumnLayouts) {
|
|
72044
72060
|
this.expressions.forEach((expr) => {
|
|
72045
72061
|
const col = this.grid.getColumnByName(expr.fieldName);
|
|
72046
72062
|
col.hidden = value;
|
|
@@ -73520,7 +73536,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73520
73536
|
*/
|
|
73521
73537
|
getCellByColumnVisibleIndex(rowIndex, index) {
|
|
73522
73538
|
const row = this.getRowByIndex(rowIndex);
|
|
73523
|
-
const column = this.
|
|
73539
|
+
const column = this.columns.find((col) => col.visibleIndex === index);
|
|
73524
73540
|
if (row && row instanceof IgxTreeGridRow && column) {
|
|
73525
73541
|
return new IgxGridCell(this, rowIndex, column.field);
|
|
73526
73542
|
}
|
|
@@ -73675,7 +73691,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73675
73691
|
addRow(data, parentRowID) {
|
|
73676
73692
|
this.crudService.endEdit(true);
|
|
73677
73693
|
this.gridAPI.addRowToData(data, parentRowID);
|
|
73678
|
-
this.rowAddedNotifier.next({ data });
|
|
73694
|
+
this.rowAddedNotifier.next({ data: data, owner: this });
|
|
73679
73695
|
this.pipeTrigger++;
|
|
73680
73696
|
this.notifyChanges();
|
|
73681
73697
|
}
|
|
@@ -73782,7 +73798,22 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73782
73798
|
// if this is flat self-referencing data, and CascadeOnDelete is set to true
|
|
73783
73799
|
// and if we have transactions we should start pending transaction. This allows
|
|
73784
73800
|
// us in case of delete action to delete all child rows as single undo action
|
|
73785
|
-
|
|
73801
|
+
const args = {
|
|
73802
|
+
rowID: rowId,
|
|
73803
|
+
cancel: false,
|
|
73804
|
+
rowData: this.getRowData(rowId),
|
|
73805
|
+
oldValue: null,
|
|
73806
|
+
owner: this
|
|
73807
|
+
};
|
|
73808
|
+
this.rowDelete.emit(args);
|
|
73809
|
+
if (args.cancel) {
|
|
73810
|
+
return;
|
|
73811
|
+
}
|
|
73812
|
+
const record = this.gridAPI.deleteRowById(rowId);
|
|
73813
|
+
if (record !== null && record !== undefined) {
|
|
73814
|
+
this.rowDeleted.emit({ data: record, owner: this });
|
|
73815
|
+
}
|
|
73816
|
+
return record;
|
|
73786
73817
|
}
|
|
73787
73818
|
/**
|
|
73788
73819
|
* Returns the `IgxTreeGridRow` by index.
|
|
@@ -73857,7 +73888,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73857
73888
|
*/
|
|
73858
73889
|
getCellByColumn(rowIndex, columnField) {
|
|
73859
73890
|
const row = this.getRowByIndex(rowIndex);
|
|
73860
|
-
const column = this.
|
|
73891
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
73861
73892
|
if (row && row instanceof IgxTreeGridRow && column) {
|
|
73862
73893
|
return new IgxGridCell(this, rowIndex, columnField);
|
|
73863
73894
|
}
|
|
@@ -73876,7 +73907,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73876
73907
|
*/
|
|
73877
73908
|
getCellByKey(rowSelector, columnField) {
|
|
73878
73909
|
const row = this.getRowByKey(rowSelector);
|
|
73879
|
-
const column = this.
|
|
73910
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
73880
73911
|
if (row && column) {
|
|
73881
73912
|
return new IgxGridCell(this, row.index, columnField);
|
|
73882
73913
|
}
|
|
@@ -73934,7 +73965,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73934
73965
|
* ```
|
|
73935
73966
|
*/
|
|
73936
73967
|
get hasGroupableColumns() {
|
|
73937
|
-
return this.
|
|
73968
|
+
return this.columns.some((col) => col.groupable && !col.columnGroup);
|
|
73938
73969
|
}
|
|
73939
73970
|
generateDataFields(data) {
|
|
73940
73971
|
return super.generateDataFields(data).filter(field => field !== this.childDataKey);
|
|
@@ -74017,8 +74048,8 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
74017
74048
|
if (this.hasColumnLayouts) {
|
|
74018
74049
|
// invalid configuration - tree grid should not allow column layouts
|
|
74019
74050
|
// remove column layouts
|
|
74020
|
-
const nonColumnLayoutColumns = this.
|
|
74021
|
-
this.
|
|
74051
|
+
const nonColumnLayoutColumns = this.columns.filter((col) => !col.columnLayout && !col.columnLayoutChild);
|
|
74052
|
+
this.updateColumns(nonColumnLayoutColumns);
|
|
74022
74053
|
}
|
|
74023
74054
|
super.initColumns(collection, cb);
|
|
74024
74055
|
}
|
|
@@ -74120,6 +74151,7 @@ IgxTreeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
74120
74151
|
IgxGridCRUDService,
|
|
74121
74152
|
IgxGridSummaryService,
|
|
74122
74153
|
IgxGridNavigationService,
|
|
74154
|
+
IgxColumnResizingService,
|
|
74123
74155
|
{ provide: IgxGridSelectionService, useClass: IgxTreeGridSelectionService },
|
|
74124
74156
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxTreeGridAPIService },
|
|
74125
74157
|
{ provide: IGX_GRID_BASE, useExisting: IgxTreeGridComponent },
|
|
@@ -74133,6 +74165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
74133
74165
|
IgxGridCRUDService,
|
|
74134
74166
|
IgxGridSummaryService,
|
|
74135
74167
|
IgxGridNavigationService,
|
|
74168
|
+
IgxColumnResizingService,
|
|
74136
74169
|
{ provide: IgxGridSelectionService, useClass: IgxTreeGridSelectionService },
|
|
74137
74170
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxTreeGridAPIService },
|
|
74138
74171
|
{ provide: IGX_GRID_BASE, useExisting: IgxTreeGridComponent },
|
|
@@ -74926,7 +74959,7 @@ class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirective {
|
|
|
74926
74959
|
*/
|
|
74927
74960
|
get maxLevelHeaderDepth() {
|
|
74928
74961
|
if (this._maxLevelHeaderDepth === null) {
|
|
74929
|
-
this._maxLevelHeaderDepth = this.
|
|
74962
|
+
this._maxLevelHeaderDepth = this.columns.reduce((acc, col) => Math.max(acc, col.level), 0);
|
|
74930
74963
|
}
|
|
74931
74964
|
return this._maxLevelHeaderDepth;
|
|
74932
74965
|
}
|
|
@@ -74969,13 +75002,12 @@ class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirective {
|
|
|
74969
75002
|
columns.push(ref.instance);
|
|
74970
75003
|
});
|
|
74971
75004
|
const result = flatten(columns);
|
|
74972
|
-
this.
|
|
74973
|
-
this.columnList.notifyOnChanges();
|
|
75005
|
+
this.updateColumns(result);
|
|
74974
75006
|
this.initPinning();
|
|
74975
75007
|
const factoryColumn = this.resolver.resolveComponentFactory(IgxColumnComponent);
|
|
74976
75008
|
const outputs = factoryColumn.outputs.filter(o => o.propName !== 'columnChange');
|
|
74977
75009
|
outputs.forEach(output => {
|
|
74978
|
-
this.
|
|
75010
|
+
this.columns.forEach(column => {
|
|
74979
75011
|
if (column[output.propName]) {
|
|
74980
75012
|
column[output.propName].pipe(takeUntil(column.destroy$)).subscribe((args) => {
|
|
74981
75013
|
const rowIslandColumn = this.parentIsland.childColumns.find(col => col.field === column.field);
|
|
@@ -75216,6 +75248,7 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75216
75248
|
this.rootGrid = null;
|
|
75217
75249
|
this.layout_id = `igx-row-island-`;
|
|
75218
75250
|
this.isInit = false;
|
|
75251
|
+
this._childColumns = [];
|
|
75219
75252
|
}
|
|
75220
75253
|
/**
|
|
75221
75254
|
* Sets if all immediate children of the grids for this `IgxRowIslandComponent` should be expanded/collapsed.
|
|
@@ -75305,7 +75338,8 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75305
75338
|
const nestedColumns = this.children.map((layout) => layout.columnList.toArray());
|
|
75306
75339
|
const colsArray = [].concat.apply([], nestedColumns);
|
|
75307
75340
|
const topCols = this.columnList.filter((item) => colsArray.indexOf(item) === -1);
|
|
75308
|
-
this.
|
|
75341
|
+
this._childColumns = topCols;
|
|
75342
|
+
this.updateColumns(this._childColumns);
|
|
75309
75343
|
this.columnList.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
75310
75344
|
Promise.resolve().then(() => {
|
|
75311
75345
|
this.updateColumnList();
|
|
@@ -75313,7 +75347,7 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75313
75347
|
});
|
|
75314
75348
|
// handle column changes so that they are passed to child grid instances when columnChange is emitted.
|
|
75315
75349
|
this.ri_columnListDiffer.diff(this.childColumns);
|
|
75316
|
-
this.
|
|
75350
|
+
this._childColumns.forEach(x => x.columnChange.pipe(takeUntil(x.destroy$)).subscribe(() => this.updateColumnList()));
|
|
75317
75351
|
this.childColumns.changes.pipe(takeUntil(this.destroy$)).subscribe((change) => {
|
|
75318
75352
|
const diff = this.ri_columnListDiffer.diff(change);
|
|
75319
75353
|
if (diff) {
|
|
@@ -75400,15 +75434,9 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75400
75434
|
}
|
|
75401
75435
|
return false;
|
|
75402
75436
|
});
|
|
75403
|
-
this.
|
|
75404
|
-
if (this.parentIsland) {
|
|
75405
|
-
this.parentIsland.columnList.notifyOnChanges();
|
|
75406
|
-
}
|
|
75407
|
-
else {
|
|
75408
|
-
this.rootGrid.columnList.notifyOnChanges();
|
|
75409
|
-
}
|
|
75437
|
+
this._childColumns = topCols;
|
|
75410
75438
|
this.rowIslandAPI.getChildGrids().forEach((grid) => {
|
|
75411
|
-
grid.createColumnsList(this.
|
|
75439
|
+
grid.createColumnsList(this._childColumns);
|
|
75412
75440
|
if (!document.body.contains(grid.nativeElement)) {
|
|
75413
75441
|
grid.updateOnRender = true;
|
|
75414
75442
|
}
|
|
@@ -76097,7 +76125,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76097
76125
|
*/
|
|
76098
76126
|
getCellByColumnVisibleIndex(rowIndex, index) {
|
|
76099
76127
|
const row = this.getRowByIndex(rowIndex);
|
|
76100
|
-
const column = this.
|
|
76128
|
+
const column = this.columns.find((col) => col.visibleIndex === index);
|
|
76101
76129
|
if (row && row instanceof IgxHierarchicalGridRow && column) {
|
|
76102
76130
|
return new IgxGridCell(this, rowIndex, column.field);
|
|
76103
76131
|
}
|
|
@@ -76320,7 +76348,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76320
76348
|
*/
|
|
76321
76349
|
getCellByColumn(rowIndex, columnField) {
|
|
76322
76350
|
const row = this.getRowByIndex(rowIndex);
|
|
76323
|
-
const column = this.
|
|
76351
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
76324
76352
|
if (row && row instanceof IgxHierarchicalGridRow && column) {
|
|
76325
76353
|
return new IgxGridCell(this, rowIndex, columnField);
|
|
76326
76354
|
}
|
|
@@ -76339,7 +76367,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76339
76367
|
*/
|
|
76340
76368
|
getCellByKey(rowSelector, columnField) {
|
|
76341
76369
|
const row = this.getRowByKey(rowSelector);
|
|
76342
|
-
const column = this.
|
|
76370
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
76343
76371
|
if (row && column) {
|
|
76344
76372
|
return new IgxGridCell(this, row.index, columnField);
|
|
76345
76373
|
}
|
|
@@ -76615,8 +76643,8 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76615
76643
|
if (this.hasColumnLayouts) {
|
|
76616
76644
|
// invalid configuration - hierarchical grid should not allow column layouts
|
|
76617
76645
|
// remove column layouts
|
|
76618
|
-
const nonColumnLayoutColumns = this.
|
|
76619
|
-
this.
|
|
76646
|
+
const nonColumnLayoutColumns = this.columns.filter((col) => !col.columnLayout && !col.columnLayoutChild);
|
|
76647
|
+
this.updateColumns(nonColumnLayoutColumns);
|
|
76620
76648
|
}
|
|
76621
76649
|
super.initColumns(collection, cb);
|
|
76622
76650
|
}
|
|
@@ -76624,16 +76652,25 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76624
76652
|
if (this.parentIsland && this.parentIsland.childColumns.length > 0 && !this.autoGenerate) {
|
|
76625
76653
|
this.createColumnsList(this.parentIsland.childColumns.toArray());
|
|
76626
76654
|
}
|
|
76627
|
-
|
|
76655
|
+
else {
|
|
76656
|
+
super.setupColumns();
|
|
76657
|
+
}
|
|
76658
|
+
}
|
|
76659
|
+
getColumnList() {
|
|
76660
|
+
const childLayouts = this.parent ? this.childLayoutList : this.allLayoutList;
|
|
76661
|
+
const nestedColumns = childLayouts.map((layout) => layout.columnList.toArray());
|
|
76662
|
+
const colsArray = [].concat.apply([], nestedColumns);
|
|
76663
|
+
if (colsArray.length > 0) {
|
|
76664
|
+
const topCols = this.columnList.filter((item) => colsArray.indexOf(item) === -1);
|
|
76665
|
+
return topCols;
|
|
76666
|
+
}
|
|
76667
|
+
else {
|
|
76668
|
+
return this.columnList.toArray();
|
|
76669
|
+
}
|
|
76628
76670
|
}
|
|
76629
76671
|
onColumnsChanged(change) {
|
|
76630
76672
|
Promise.resolve().then(() => {
|
|
76631
76673
|
this.updateColumnList();
|
|
76632
|
-
const cols = change.filter(c => c.grid === this);
|
|
76633
|
-
if (cols.length > 0 || this.autoGenerate) {
|
|
76634
|
-
this.columnList.reset(cols);
|
|
76635
|
-
super.onColumnsChanged(this.columnList);
|
|
76636
|
-
}
|
|
76637
76674
|
});
|
|
76638
76675
|
}
|
|
76639
76676
|
_shouldAutoSize(renderedHeight) {
|
|
@@ -76649,8 +76686,8 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76649
76686
|
const colLength = this.columnList.length;
|
|
76650
76687
|
if (colsArray.length > 0) {
|
|
76651
76688
|
const topCols = this.columnList.filter((item) => colsArray.indexOf(item) === -1);
|
|
76652
|
-
this.
|
|
76653
|
-
if (recalcColSizes && this.
|
|
76689
|
+
this.updateColumns(topCols);
|
|
76690
|
+
if (recalcColSizes && this.columns.length !== colLength) {
|
|
76654
76691
|
this.calculateGridSizes(false);
|
|
76655
76692
|
}
|
|
76656
76693
|
}
|
|
@@ -76678,6 +76715,7 @@ IgxHierarchicalGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
76678
76715
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxHierarchicalGridAPIService },
|
|
76679
76716
|
{ provide: IGX_GRID_BASE, useExisting: IgxHierarchicalGridComponent },
|
|
76680
76717
|
IgxGridSummaryService,
|
|
76718
|
+
IgxColumnResizingService,
|
|
76681
76719
|
IgxFilteringService,
|
|
76682
76720
|
IgxHierarchicalGridNavigationService,
|
|
76683
76721
|
IgxForOfSyncService,
|
|
@@ -76692,6 +76730,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
76692
76730
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxHierarchicalGridAPIService },
|
|
76693
76731
|
{ provide: IGX_GRID_BASE, useExisting: IgxHierarchicalGridComponent },
|
|
76694
76732
|
IgxGridSummaryService,
|
|
76733
|
+
IgxColumnResizingService,
|
|
76695
76734
|
IgxFilteringService,
|
|
76696
76735
|
IgxHierarchicalGridNavigationService,
|
|
76697
76736
|
IgxForOfSyncService,
|
|
@@ -81470,17 +81509,67 @@ class IgxSplitterPaneComponent {
|
|
|
81470
81509
|
this.overflow = 'auto';
|
|
81471
81510
|
/**
|
|
81472
81511
|
* @hidden @internal
|
|
81473
|
-
*
|
|
81512
|
+
* Get/Sets the `minWidth` properties of the current pane.
|
|
81513
|
+
*/
|
|
81514
|
+
this.minWidth = '0';
|
|
81515
|
+
/**
|
|
81516
|
+
* @hidden @internal
|
|
81517
|
+
* Get/Sets the `maxWidth` properties of the current pane.
|
|
81518
|
+
*/
|
|
81519
|
+
this.maxWidth = '100%';
|
|
81520
|
+
/**
|
|
81521
|
+
* @hidden @internal
|
|
81522
|
+
* Gets/Sets the `minHeight` properties of the current pane.
|
|
81474
81523
|
*/
|
|
81475
|
-
this.minHeight = 0;
|
|
81524
|
+
this.minHeight = '0';
|
|
81476
81525
|
/**
|
|
81477
81526
|
* @hidden @internal
|
|
81478
|
-
* Gets/Sets the `maxHeight`
|
|
81527
|
+
* Gets/Sets the `maxHeight` properties of the current `IgxSplitterPaneComponent`.
|
|
81479
81528
|
*/
|
|
81480
81529
|
this.maxHeight = '100%';
|
|
81481
81530
|
this._size = 'auto';
|
|
81482
81531
|
this._collapsed = false;
|
|
81483
81532
|
}
|
|
81533
|
+
/**
|
|
81534
|
+
* Gets/Sets the minimum allowed size of the current pane.
|
|
81535
|
+
*
|
|
81536
|
+
* @example
|
|
81537
|
+
* ```html
|
|
81538
|
+
* <igx-splitter>
|
|
81539
|
+
* <igx-splitter-pane [minSize]='minSize'>...</igx-splitter-pane>
|
|
81540
|
+
* </igx-splitter>
|
|
81541
|
+
* ```
|
|
81542
|
+
*/
|
|
81543
|
+
get minSize() {
|
|
81544
|
+
return this._minSize;
|
|
81545
|
+
}
|
|
81546
|
+
;
|
|
81547
|
+
set minSize(value) {
|
|
81548
|
+
this._minSize = value;
|
|
81549
|
+
if (this.owner) {
|
|
81550
|
+
this.owner.panes.notifyOnChanges();
|
|
81551
|
+
}
|
|
81552
|
+
}
|
|
81553
|
+
/**
|
|
81554
|
+
* Gets/Set the maximum allowed size of the current pane.
|
|
81555
|
+
*
|
|
81556
|
+
* @example
|
|
81557
|
+
* ```html
|
|
81558
|
+
* <igx-splitter>
|
|
81559
|
+
* <igx-splitter-pane [maxSize]='maxSize'>...</igx-splitter-pane>
|
|
81560
|
+
* </igx-splitter>
|
|
81561
|
+
* ```
|
|
81562
|
+
*/
|
|
81563
|
+
get maxSize() {
|
|
81564
|
+
return this._maxSize;
|
|
81565
|
+
}
|
|
81566
|
+
;
|
|
81567
|
+
set maxSize(value) {
|
|
81568
|
+
this._maxSize = value;
|
|
81569
|
+
if (this.owner) {
|
|
81570
|
+
this.owner.panes.notifyOnChanges();
|
|
81571
|
+
}
|
|
81572
|
+
}
|
|
81484
81573
|
/**
|
|
81485
81574
|
* Gets/Sets the size of the current pane.
|
|
81486
81575
|
* * @example
|
|
@@ -81576,7 +81665,7 @@ class IgxSplitterPaneComponent {
|
|
|
81576
81665
|
}
|
|
81577
81666
|
}
|
|
81578
81667
|
IgxSplitterPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxSplitterPaneComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
81579
|
-
IgxSplitterPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: IgxSplitterPaneComponent, selector: "igx-splitter-pane", inputs: { minSize: "minSize", maxSize: "maxSize", resizable: "resizable", size: "size", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "style.display": "this.display", "style.order": "this.order", "style.overflow": "this.overflow", "style.min-
|
|
81668
|
+
IgxSplitterPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: IgxSplitterPaneComponent, selector: "igx-splitter-pane", inputs: { minSize: "minSize", maxSize: "maxSize", resizable: "resizable", size: "size", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "style.display": "this.display", "style.order": "this.order", "style.overflow": "this.overflow", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth", "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "style.flex": "this.flex" } }, ngImport: i0, template: "<ng-content></ng-content>" });
|
|
81580
81669
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxSplitterPaneComponent, decorators: [{
|
|
81581
81670
|
type: Component,
|
|
81582
81671
|
args: [{ selector: 'igx-splitter-pane', template: "<ng-content></ng-content>" }]
|
|
@@ -81597,18 +81686,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
81597
81686
|
}], overflow: [{
|
|
81598
81687
|
type: HostBinding,
|
|
81599
81688
|
args: ['style.overflow']
|
|
81689
|
+
}], minWidth: [{
|
|
81690
|
+
type: HostBinding,
|
|
81691
|
+
args: ['style.min-width']
|
|
81692
|
+
}], maxWidth: [{
|
|
81693
|
+
type: HostBinding,
|
|
81694
|
+
args: ['style.max-width']
|
|
81600
81695
|
}], minHeight: [{
|
|
81601
81696
|
type: HostBinding,
|
|
81602
81697
|
args: ['style.min-height']
|
|
81603
|
-
}, {
|
|
81604
|
-
type: HostBinding,
|
|
81605
|
-
args: ['style.min-width']
|
|
81606
81698
|
}], maxHeight: [{
|
|
81607
81699
|
type: HostBinding,
|
|
81608
81700
|
args: ['style.max-height']
|
|
81609
|
-
}, {
|
|
81610
|
-
type: HostBinding,
|
|
81611
|
-
args: ['style.max-width']
|
|
81612
81701
|
}], size: [{
|
|
81613
81702
|
type: Input
|
|
81614
81703
|
}], flex: [{
|
|
@@ -81727,6 +81816,7 @@ class IgxSplitterComponent {
|
|
|
81727
81816
|
set type(value) {
|
|
81728
81817
|
this._type = value;
|
|
81729
81818
|
this.resetPaneSizes();
|
|
81819
|
+
this.panes?.notifyOnChanges();
|
|
81730
81820
|
}
|
|
81731
81821
|
/**
|
|
81732
81822
|
* @hidden @internal
|
|
@@ -81831,7 +81921,17 @@ class IgxSplitterComponent {
|
|
|
81831
81921
|
* This method inits panes with properties.
|
|
81832
81922
|
*/
|
|
81833
81923
|
initPanes() {
|
|
81834
|
-
this.panes.forEach(pane =>
|
|
81924
|
+
this.panes.forEach(pane => {
|
|
81925
|
+
pane.owner = this;
|
|
81926
|
+
if (this.type === SplitterType.Horizontal) {
|
|
81927
|
+
pane.minWidth = pane.minSize ?? '0';
|
|
81928
|
+
pane.maxWidth = pane.maxSize ?? '100%';
|
|
81929
|
+
}
|
|
81930
|
+
else {
|
|
81931
|
+
pane.minHeight = pane.minSize ?? '0';
|
|
81932
|
+
pane.maxHeight = pane.maxSize ?? '100%';
|
|
81933
|
+
}
|
|
81934
|
+
});
|
|
81835
81935
|
this.assignFlexOrder();
|
|
81836
81936
|
if (this.panes.filter(x => x.collapsed).length > 0) {
|
|
81837
81937
|
// if any panes are collapsed, reset sizes.
|
|
@@ -81845,7 +81945,13 @@ class IgxSplitterComponent {
|
|
|
81845
81945
|
resetPaneSizes() {
|
|
81846
81946
|
if (this.panes) {
|
|
81847
81947
|
// if type is changed runtime, should reset sizes.
|
|
81848
|
-
this.panes.forEach(x =>
|
|
81948
|
+
this.panes.forEach(x => {
|
|
81949
|
+
x.size = 'auto';
|
|
81950
|
+
x.minWidth = '0';
|
|
81951
|
+
x.maxWidth = '100%';
|
|
81952
|
+
x.minHeight = '0';
|
|
81953
|
+
x.maxHeight = '100%';
|
|
81954
|
+
});
|
|
81849
81955
|
}
|
|
81850
81956
|
}
|
|
81851
81957
|
/**
|
|
@@ -86265,6 +86371,17 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
86265
86371
|
this.onDensityChanged.emit(densityChangedArgs);
|
|
86266
86372
|
}
|
|
86267
86373
|
}
|
|
86374
|
+
/**
|
|
86375
|
+
* @hidden @internal
|
|
86376
|
+
*/
|
|
86377
|
+
get minColumnWidth() {
|
|
86378
|
+
if (this.superCompactMode) {
|
|
86379
|
+
return MINIMUM_COLUMN_WIDTH_SUPER_COMPACT;
|
|
86380
|
+
}
|
|
86381
|
+
else {
|
|
86382
|
+
return MINIMUM_COLUMN_WIDTH;
|
|
86383
|
+
}
|
|
86384
|
+
}
|
|
86268
86385
|
get pivotKeys() {
|
|
86269
86386
|
return this.pivotConfiguration.pivotKeys || DEFAULT_PIVOT_KEYS;
|
|
86270
86387
|
}
|
|
@@ -86544,7 +86661,7 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
86544
86661
|
*/
|
|
86545
86662
|
ngAfterContentInit() {
|
|
86546
86663
|
// ignore any user defined columns and auto-generate based on pivot config.
|
|
86547
|
-
this.
|
|
86664
|
+
this.updateColumns([]);
|
|
86548
86665
|
Promise.resolve().then(() => {
|
|
86549
86666
|
this.setupColumns();
|
|
86550
86667
|
});
|
|
@@ -87417,8 +87534,8 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87417
87534
|
}
|
|
87418
87535
|
}
|
|
87419
87536
|
});
|
|
87537
|
+
this.updateColumns(columns);
|
|
87420
87538
|
this.reflow();
|
|
87421
|
-
this.columnList.reset(columns);
|
|
87422
87539
|
if (data && data.length > 0) {
|
|
87423
87540
|
this.shouldGenerate = false;
|
|
87424
87541
|
}
|
|
@@ -87470,7 +87587,6 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87470
87587
|
ref.instance.header = value.displayName;
|
|
87471
87588
|
ref.instance.field = value.member;
|
|
87472
87589
|
ref.instance.parent = parent;
|
|
87473
|
-
ref.instance.width = MINIMUM_COLUMN_WIDTH + 'px';
|
|
87474
87590
|
ref.instance.sortable = true;
|
|
87475
87591
|
ref.instance.dataType = value.dataType || this.resolveDataTypes(data[0][value.member]);
|
|
87476
87592
|
ref.instance.formatter = value.formatter;
|
|
@@ -87549,7 +87665,9 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87549
87665
|
ref.instance.header = parent != null ? key.split(parent.header + this.pivotKeys.columnDimensionSeparator)[1] : key;
|
|
87550
87666
|
ref.instance.field = key;
|
|
87551
87667
|
ref.instance.parent = parent;
|
|
87552
|
-
|
|
87668
|
+
if (value.dimension.width) {
|
|
87669
|
+
ref.instance.width = value.dimension.width;
|
|
87670
|
+
}
|
|
87553
87671
|
const valueDefinition = this.values[0];
|
|
87554
87672
|
ref.instance.dataType = valueDefinition?.dataType || this.resolveDataTypes(data[0][valueDefinition?.member]);
|
|
87555
87673
|
ref.instance.formatter = valueDefinition?.formatter;
|
|
@@ -87561,20 +87679,21 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87561
87679
|
if (dim.width) {
|
|
87562
87680
|
return dim.width;
|
|
87563
87681
|
}
|
|
87564
|
-
return this.
|
|
87682
|
+
return this.minColumnWidth + 'px';
|
|
87565
87683
|
}
|
|
87566
87684
|
getMeasureChildren(colFactory, data, parent, hidden, parentWidth) {
|
|
87567
87685
|
const cols = [];
|
|
87568
87686
|
const count = this.values.length;
|
|
87569
|
-
const
|
|
87570
|
-
this.superCompactMode ? MINIMUM_COLUMN_WIDTH_SUPER_COMPACT : MINIMUM_COLUMN_WIDTH;
|
|
87687
|
+
const childWidth = parseInt(parentWidth, 10) / count;
|
|
87571
87688
|
const isPercent = parentWidth && parentWidth.indexOf('%') !== -1;
|
|
87572
87689
|
this.values.forEach(val => {
|
|
87573
87690
|
const ref = colFactory.create(this.viewRef.injector);
|
|
87574
87691
|
ref.instance.header = val.displayName || val.member;
|
|
87575
87692
|
ref.instance.field = parent.field + this.pivotKeys.columnDimensionSeparator + val.member;
|
|
87576
87693
|
ref.instance.parent = parent;
|
|
87577
|
-
|
|
87694
|
+
if (parentWidth) {
|
|
87695
|
+
ref.instance.width = isPercent ? childWidth + '%' : childWidth + 'px';
|
|
87696
|
+
}
|
|
87578
87697
|
ref.instance.hidden = hidden;
|
|
87579
87698
|
ref.instance.sortable = true;
|
|
87580
87699
|
ref.instance.dataType = val.dataType || this.resolveDataTypes(data[0][val.member]);
|