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 { __awaiter, __decorate, __param } from 'tslib';
|
|
13
13
|
import * as JSZip from 'jszip';
|
|
@@ -2600,7 +2600,7 @@ class IgxBaseExporter {
|
|
|
2600
2600
|
throw Error('No options provided!');
|
|
2601
2601
|
}
|
|
2602
2602
|
this.options = options;
|
|
2603
|
-
let columns = grid.
|
|
2603
|
+
let columns = grid.columns;
|
|
2604
2604
|
if (this.options.ignoreMultiColumnHeaders) {
|
|
2605
2605
|
columns = columns.filter(col => col.children === undefined);
|
|
2606
2606
|
}
|
|
@@ -3233,7 +3233,7 @@ class IgxBaseExporter {
|
|
|
3233
3233
|
columnList = this.getAutoGeneratedColumns(islandData);
|
|
3234
3234
|
}
|
|
3235
3235
|
else {
|
|
3236
|
-
const islandColumnList = island.
|
|
3236
|
+
const islandColumnList = island.columns;
|
|
3237
3237
|
columnList = this.getColumns(islandColumnList);
|
|
3238
3238
|
}
|
|
3239
3239
|
this._ownersMap.set(island, columnList);
|
|
@@ -10699,7 +10699,7 @@ class IgxGridForOfDirective extends IgxForOfDirective {
|
|
|
10699
10699
|
this.igxForContainerSize = args.containerSize;
|
|
10700
10700
|
const sizeDiff = this._updateSizeCache(changes);
|
|
10701
10701
|
this._applyChanges();
|
|
10702
|
-
if (sizeDiff) {
|
|
10702
|
+
if (sizeDiff && this.igxForScrollOrientation === 'vertical') {
|
|
10703
10703
|
this._adjustScrollPositionAfterSizeChange(sizeDiff);
|
|
10704
10704
|
}
|
|
10705
10705
|
this._updateScrollOffset();
|
|
@@ -23579,8 +23579,8 @@ class IgxRowAddCrudState extends IgxRowCrudState {
|
|
|
23579
23579
|
if (isAddRow) {
|
|
23580
23580
|
this.endAddRow();
|
|
23581
23581
|
if (commit) {
|
|
23582
|
-
this.grid.rowAddedNotifier.next({ data: args.newValue });
|
|
23583
|
-
this.grid.rowAdded.emit({ data: args.newValue });
|
|
23582
|
+
this.grid.rowAddedNotifier.next({ data: args.newValue, owner: this.grid });
|
|
23583
|
+
this.grid.rowAdded.emit({ data: args.newValue, owner: this.grid });
|
|
23584
23584
|
}
|
|
23585
23585
|
}
|
|
23586
23586
|
return args;
|
|
@@ -47802,7 +47802,7 @@ class GridBaseAPIService {
|
|
|
47802
47802
|
this.destroyMap = new Map();
|
|
47803
47803
|
}
|
|
47804
47804
|
get_column_by_name(name) {
|
|
47805
|
-
return this.grid.
|
|
47805
|
+
return this.grid.columns.find((col) => col.field === name);
|
|
47806
47806
|
}
|
|
47807
47807
|
get_summary_data() {
|
|
47808
47808
|
const grid = this.grid;
|
|
@@ -48079,8 +48079,7 @@ class GridBaseAPIService {
|
|
|
48079
48079
|
return;
|
|
48080
48080
|
}
|
|
48081
48081
|
const record = data[index];
|
|
48082
|
-
|
|
48083
|
-
grid.rowDeletedNotifier.next({ data: data[index] });
|
|
48082
|
+
grid.rowDeletedNotifier.next({ data: data[index], owner: grid });
|
|
48084
48083
|
this.deleteRowFromData(rowId, index);
|
|
48085
48084
|
if (grid.selectionService.isRowSelected(rowId)) {
|
|
48086
48085
|
grid.selectionService.deselectRow(rowId);
|
|
@@ -50243,7 +50242,7 @@ class IgxColumnComponent {
|
|
|
50243
50242
|
grid.resetCaches();
|
|
50244
50243
|
grid.notifyChanges();
|
|
50245
50244
|
if (this.columnLayoutChild) {
|
|
50246
|
-
this.grid.
|
|
50245
|
+
this.grid.columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
50247
50246
|
}
|
|
50248
50247
|
this.grid.filteringService.refreshExpressions();
|
|
50249
50248
|
const eventArgs = { column: this, insertAtIndex: index, isPinned: true };
|
|
@@ -50310,7 +50309,7 @@ class IgxColumnComponent {
|
|
|
50310
50309
|
grid.resetCaches();
|
|
50311
50310
|
grid.notifyChanges();
|
|
50312
50311
|
if (this.columnLayoutChild) {
|
|
50313
|
-
this.grid.
|
|
50312
|
+
this.grid.columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
50314
50313
|
}
|
|
50315
50314
|
this.grid.filteringService.refreshExpressions();
|
|
50316
50315
|
this.grid.columnPinned.emit({ column: this, insertAtIndex: index, isPinned: false });
|
|
@@ -50329,7 +50328,7 @@ class IgxColumnComponent {
|
|
|
50329
50328
|
*/
|
|
50330
50329
|
move(index) {
|
|
50331
50330
|
let target;
|
|
50332
|
-
let columns = this.grid.
|
|
50331
|
+
let columns = this.grid.columns.filter(c => c.visibleIndex > -1);
|
|
50333
50332
|
// grid last visible index
|
|
50334
50333
|
const li = columns.map(c => c.visibleIndex).reduce((a, b) => Math.max(a, b));
|
|
50335
50334
|
const parent = this.parent;
|
|
@@ -51903,7 +51902,7 @@ class BaseRow {
|
|
|
51903
51902
|
*/
|
|
51904
51903
|
get cells() {
|
|
51905
51904
|
const res = [];
|
|
51906
|
-
this.grid.
|
|
51905
|
+
this.grid.columns.forEach(col => {
|
|
51907
51906
|
const cell = new IgxGridCell(this.grid, this.index, col.field);
|
|
51908
51907
|
res.push(cell);
|
|
51909
51908
|
});
|
|
@@ -52214,7 +52213,7 @@ class IgxHierarchicalGridRow extends BaseRow {
|
|
|
52214
52213
|
*/
|
|
52215
52214
|
get cells() {
|
|
52216
52215
|
const res = [];
|
|
52217
|
-
this.grid.
|
|
52216
|
+
this.grid.columns.forEach(col => {
|
|
52218
52217
|
const cell = new IgxGridCell(this.grid, this.index, col.field);
|
|
52219
52218
|
res.push(cell);
|
|
52220
52219
|
});
|
|
@@ -53533,7 +53532,7 @@ class IgxGroupByAreaDirective {
|
|
|
53533
53532
|
const drag = event.detail.owner;
|
|
53534
53533
|
if (drag instanceof IgxColumnMovingDragDirective) {
|
|
53535
53534
|
const column = drag.column;
|
|
53536
|
-
if (!this.grid.
|
|
53535
|
+
if (!this.grid.columns.find(c => c === column)) {
|
|
53537
53536
|
return;
|
|
53538
53537
|
}
|
|
53539
53538
|
const isGrouped = this.expressions.findIndex((item) => item.fieldName === column.field) !== -1;
|
|
@@ -54035,7 +54034,7 @@ class IgxAdvancedFilteringDialogComponent {
|
|
|
54035
54034
|
* @hidden @internal
|
|
54036
54035
|
*/
|
|
54037
54036
|
get filterableColumns() {
|
|
54038
|
-
return this.grid.
|
|
54037
|
+
return this.grid.columns.filter((col) => !col.columnGroup && col.filterable);
|
|
54039
54038
|
}
|
|
54040
54039
|
/**
|
|
54041
54040
|
* @hidden @internal
|
|
@@ -55874,7 +55873,7 @@ class IgxFilteringService {
|
|
|
55874
55873
|
grid.paginator.page = 0;
|
|
55875
55874
|
}
|
|
55876
55875
|
filteringTree.filteringOperands = [];
|
|
55877
|
-
for (const column of grid.
|
|
55876
|
+
for (const column of grid.columns) {
|
|
55878
55877
|
this.prepare_filtering_expression(filteringTree, column.field, term, condition, ignoreCase || column.filteringIgnoreCase);
|
|
55879
55878
|
}
|
|
55880
55879
|
grid.filteringExpressionsTree = filteringTree;
|
|
@@ -55908,7 +55907,7 @@ class IgxFilteringService {
|
|
|
55908
55907
|
expressions.length = 0;
|
|
55909
55908
|
}
|
|
55910
55909
|
else {
|
|
55911
|
-
this.grid.
|
|
55910
|
+
this.grid.columns.forEach(c => {
|
|
55912
55911
|
const expressions = this.getExpressions(c.field);
|
|
55913
55912
|
expressions.length = 0;
|
|
55914
55913
|
});
|
|
@@ -55938,7 +55937,7 @@ class IgxFilteringService {
|
|
|
55938
55937
|
const grid = this.grid;
|
|
55939
55938
|
const filteringTree = grid.filteringExpressionsTree;
|
|
55940
55939
|
const newFilteringTree = new FilteringExpressionsTree(filteringTree.operator, filteringTree.fieldName);
|
|
55941
|
-
for (const column of grid.
|
|
55940
|
+
for (const column of grid.columns) {
|
|
55942
55941
|
this.prepare_filtering_expression(newFilteringTree, column.field, value, condition, ignoreCase || column.filteringIgnoreCase);
|
|
55943
55942
|
}
|
|
55944
55943
|
const eventArgs = { owner: grid, filteringExpressions: newFilteringTree, cancel: false };
|
|
@@ -55968,7 +55967,7 @@ class IgxFilteringService {
|
|
|
55968
55967
|
*/
|
|
55969
55968
|
getExpressions(columnId) {
|
|
55970
55969
|
if (!this.columnToExpressionsMap.has(columnId)) {
|
|
55971
|
-
const column = this.grid.
|
|
55970
|
+
const column = this.grid.columns.find((col) => col.field === columnId);
|
|
55972
55971
|
const expressionUIs = new Array();
|
|
55973
55972
|
if (column) {
|
|
55974
55973
|
this.generateExpressionsList(column.filteringExpressionsTree, this.grid.filteringExpressionsTree.operator, expressionUIs);
|
|
@@ -55985,7 +55984,7 @@ class IgxFilteringService {
|
|
|
55985
55984
|
if (!this.isFiltering) {
|
|
55986
55985
|
this.columnsWithComplexFilter.clear();
|
|
55987
55986
|
this.columnToExpressionsMap.forEach((value, key) => {
|
|
55988
|
-
const column = this.grid.
|
|
55987
|
+
const column = this.grid.columns.find((col) => col.field === key);
|
|
55989
55988
|
if (column) {
|
|
55990
55989
|
value.length = 0;
|
|
55991
55990
|
this.generateExpressionsList(column.filteringExpressionsTree, this.grid.filteringExpressionsTree.operator, value);
|
|
@@ -56058,7 +56057,7 @@ class IgxFilteringService {
|
|
|
56058
56057
|
if (this.columnsWithComplexFilter.has(columnId)) {
|
|
56059
56058
|
return true;
|
|
56060
56059
|
}
|
|
56061
|
-
const column = this.grid.
|
|
56060
|
+
const column = this.grid.columns.find((col) => col.field === columnId);
|
|
56062
56061
|
const isComplex = column && this.isFilteringTreeComplex(column.filteringExpressionsTree);
|
|
56063
56062
|
if (isComplex) {
|
|
56064
56063
|
this.columnsWithComplexFilter.add(columnId);
|
|
@@ -58973,7 +58972,7 @@ class IgxGridSummaryService {
|
|
|
58973
58972
|
this.removeSummaries(rowID);
|
|
58974
58973
|
}
|
|
58975
58974
|
if (args.rowID !== undefined && args.rowID !== null) {
|
|
58976
|
-
let columnName = args.cellID ? this.grid.
|
|
58975
|
+
let columnName = args.cellID ? this.grid.columns.find(col => col.index === args.cellID.columnID).field : undefined;
|
|
58977
58976
|
if (columnName && this.grid.rowEditable) {
|
|
58978
58977
|
return;
|
|
58979
58978
|
}
|
|
@@ -59030,7 +59029,7 @@ class IgxGridSummaryService {
|
|
|
59030
59029
|
return this.summaryHeight = 0;
|
|
59031
59030
|
}
|
|
59032
59031
|
let maxSummaryLength = 0;
|
|
59033
|
-
this.grid.
|
|
59032
|
+
this.grid.columns.filter((col) => col.hasSummary && !col.hidden).forEach((column) => {
|
|
59034
59033
|
const getCurrentSummaryColumn = column.summaries.operate([], [], column.field).length;
|
|
59035
59034
|
if (getCurrentSummaryColumn) {
|
|
59036
59035
|
if (maxSummaryLength < getCurrentSummaryColumn) {
|
|
@@ -59051,7 +59050,7 @@ class IgxGridSummaryService {
|
|
|
59051
59050
|
if (!this.hasSummarizedColumns || !data) {
|
|
59052
59051
|
return rowSummaries;
|
|
59053
59052
|
}
|
|
59054
|
-
this.grid.
|
|
59053
|
+
this.grid.columns.filter(col => col.hasSummary).forEach((column) => {
|
|
59055
59054
|
if (!rowSummaries.get(column.field)) {
|
|
59056
59055
|
const summaryResult = column.summaries.operate(data.map(r => resolveNestedPath(r, column.field)), data, column.field, this.grid.locale, column.pipeArgs);
|
|
59057
59056
|
rowSummaries.set(column.field, summaryResult);
|
|
@@ -59084,7 +59083,7 @@ class IgxGridSummaryService {
|
|
|
59084
59083
|
this.groupingExpressions = groupingArgs.expressions.map(record => record.fieldName);
|
|
59085
59084
|
}
|
|
59086
59085
|
get hasSummarizedColumns() {
|
|
59087
|
-
const summarizedColumns = this.grid.
|
|
59086
|
+
const summarizedColumns = this.grid.columns.filter(col => col.hasSummary && !col.hidden);
|
|
59088
59087
|
return summarizedColumns.length > 0;
|
|
59089
59088
|
}
|
|
59090
59089
|
deleteSummaryCache(id, columnName) {
|
|
@@ -60122,6 +60121,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
60122
60121
|
this._rendered = false;
|
|
60123
60122
|
this.DRAG_SCROLL_DELTA = 10;
|
|
60124
60123
|
this._dataCloneStrategy = new DefaultDataCloneStrategy();
|
|
60124
|
+
this._autoSize = false;
|
|
60125
60125
|
/**
|
|
60126
60126
|
* @hidden @internal
|
|
60127
60127
|
*/
|
|
@@ -61026,8 +61026,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61026
61026
|
get maxLevelHeaderDepth() {
|
|
61027
61027
|
if (this._maxLevelHeaderDepth === null) {
|
|
61028
61028
|
this._maxLevelHeaderDepth = this.hasColumnLayouts ?
|
|
61029
|
-
this.
|
|
61030
|
-
this.
|
|
61029
|
+
this._columns.reduce((acc, col) => Math.max(acc, col.rowStart), 0) :
|
|
61030
|
+
this._columns.reduce((acc, col) => Math.max(acc, col.level), 0);
|
|
61031
61031
|
}
|
|
61032
61032
|
return this._maxLevelHeaderDepth;
|
|
61033
61033
|
}
|
|
@@ -61040,7 +61040,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61040
61040
|
* ``
|
|
61041
61041
|
*/
|
|
61042
61042
|
get hiddenColumnsCount() {
|
|
61043
|
-
return this.
|
|
61043
|
+
return this._columns.filter((col) => col.columnGroup === false && col.hidden === true).length;
|
|
61044
61044
|
}
|
|
61045
61045
|
/**
|
|
61046
61046
|
* Gets the number of pinned columns.
|
|
@@ -61171,6 +61171,12 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61171
61171
|
get scrollSize() {
|
|
61172
61172
|
return this.verticalScrollContainer.getScrollNativeSize();
|
|
61173
61173
|
}
|
|
61174
|
+
/**
|
|
61175
|
+
* @hidden @internal
|
|
61176
|
+
*/
|
|
61177
|
+
get minColumnWidth() {
|
|
61178
|
+
return MINIMUM_COLUMN_WIDTH$2;
|
|
61179
|
+
}
|
|
61174
61180
|
/**
|
|
61175
61181
|
* Returns an array containing the filtered sorted data.
|
|
61176
61182
|
*
|
|
@@ -61530,10 +61536,11 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61530
61536
|
this.notifyChanges(true);
|
|
61531
61537
|
this.cdr.detectChanges();
|
|
61532
61538
|
});
|
|
61533
|
-
this.verticalScrollContainer.contentSizeChange.pipe(filter(() => !this._init), destructor).subscribe(() => {
|
|
61534
|
-
this.notifyChanges();
|
|
61539
|
+
this.verticalScrollContainer.contentSizeChange.pipe(filter(() => !this._init), throttleTime(30), destructor).subscribe(() => {
|
|
61540
|
+
this.notifyChanges(true);
|
|
61535
61541
|
});
|
|
61536
61542
|
this.onDensityChanged.pipe(destructor).subscribe(() => {
|
|
61543
|
+
this._autoSize = this.isPercentHeight && this.calcHeight !== this.getDataBasedBodyHeight();
|
|
61537
61544
|
this.crudService.endEdit(false);
|
|
61538
61545
|
if (this._summaryRowHeight === 0) {
|
|
61539
61546
|
this.summaryService.summaryHeight = 0;
|
|
@@ -61559,13 +61566,13 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61559
61566
|
* @internal
|
|
61560
61567
|
*/
|
|
61561
61568
|
resetColumnsCaches() {
|
|
61562
|
-
this.
|
|
61569
|
+
this._columns.forEach(column => column.resetCaches());
|
|
61563
61570
|
}
|
|
61564
61571
|
/**
|
|
61565
61572
|
* @hidden @internal
|
|
61566
61573
|
*/
|
|
61567
61574
|
generateRowID() {
|
|
61568
|
-
const primaryColumn = this.
|
|
61575
|
+
const primaryColumn = this._columns.find(col => col.field === this.primaryKey);
|
|
61569
61576
|
const idType = this.data.length ?
|
|
61570
61577
|
this.resolveDataTypes(this.data[0][this.primaryKey]) : primaryColumn ? primaryColumn.dataType : 'string';
|
|
61571
61578
|
return idType === 'string' ? v4() : FAKE_ROW_ID--;
|
|
@@ -61632,7 +61639,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61632
61639
|
this.resetColumnCollections();
|
|
61633
61640
|
this.resetCachedWidths();
|
|
61634
61641
|
this.hasVisibleColumns = undefined;
|
|
61635
|
-
this._columnGroups = this.
|
|
61642
|
+
this._columnGroups = this._columns.some(col => col.columnGroup);
|
|
61636
61643
|
}
|
|
61637
61644
|
/**
|
|
61638
61645
|
* @hidden
|
|
@@ -61898,7 +61905,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
61898
61905
|
* ```
|
|
61899
61906
|
*/
|
|
61900
61907
|
toggleColumnVisibility(args) {
|
|
61901
|
-
const col = args.column ? this.
|
|
61908
|
+
const col = args.column ? this._columns.find((c) => c === args.column) : undefined;
|
|
61902
61909
|
if (!col) {
|
|
61903
61910
|
return;
|
|
61904
61911
|
}
|
|
@@ -62159,7 +62166,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62159
62166
|
* ```
|
|
62160
62167
|
*/
|
|
62161
62168
|
get columns() {
|
|
62162
|
-
return this.
|
|
62169
|
+
return this._columns || [];
|
|
62163
62170
|
}
|
|
62164
62171
|
/**
|
|
62165
62172
|
* Gets an array of the pinned `IgxColumnComponent`s.
|
|
@@ -62220,7 +62227,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62220
62227
|
* @param name
|
|
62221
62228
|
*/
|
|
62222
62229
|
getColumnByName(name) {
|
|
62223
|
-
return this.
|
|
62230
|
+
return this._columns.find((col) => col.field === name);
|
|
62224
62231
|
}
|
|
62225
62232
|
getColumnByVisibleIndex(index) {
|
|
62226
62233
|
return this.visibleColumns.find((col) => !col.columnGroup && !col.columnLayout &&
|
|
@@ -62238,7 +62245,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62238
62245
|
if (this._visibleColumns.length) {
|
|
62239
62246
|
return this._visibleColumns;
|
|
62240
62247
|
}
|
|
62241
|
-
this._visibleColumns = this.
|
|
62248
|
+
this._visibleColumns = this._columns.filter(c => !c.hidden);
|
|
62242
62249
|
return this._visibleColumns;
|
|
62243
62250
|
}
|
|
62244
62251
|
/**
|
|
@@ -62371,14 +62378,14 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62371
62378
|
* @internal
|
|
62372
62379
|
*/
|
|
62373
62380
|
get showAddButton() {
|
|
62374
|
-
return this.rowEditable && this.dataView.length === 0 && this.
|
|
62381
|
+
return this.rowEditable && this.dataView.length === 0 && this._columns.length > 0;
|
|
62375
62382
|
}
|
|
62376
62383
|
/**
|
|
62377
62384
|
* @hidden
|
|
62378
62385
|
* @internal
|
|
62379
62386
|
*/
|
|
62380
62387
|
get showDragIcons() {
|
|
62381
|
-
return this.rowDraggable && this.
|
|
62388
|
+
return this.rowDraggable && this._columns.length > this.hiddenColumnsCount;
|
|
62382
62389
|
}
|
|
62383
62390
|
/**
|
|
62384
62391
|
* @hidden
|
|
@@ -62440,12 +62447,12 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62440
62447
|
const index = pos === DropPosition.AfterDropTarget ? unpinnedIndex + 1 : unpinnedIndex;
|
|
62441
62448
|
columnPinStateChanged = column.unpin(index);
|
|
62442
62449
|
}
|
|
62443
|
-
if (target.pinned && column.pinned && !columnPinStateChanged) {
|
|
62444
|
-
|
|
62445
|
-
}
|
|
62446
|
-
if (!target.pinned && !column.pinned && !columnPinStateChanged) {
|
|
62447
|
-
|
|
62448
|
-
}
|
|
62450
|
+
// if (target.pinned && column.pinned && !columnPinStateChanged) {
|
|
62451
|
+
// this._reorderColumns(column, target, pos, this._pinnedColumns);
|
|
62452
|
+
// }
|
|
62453
|
+
// if (!target.pinned && !column.pinned && !columnPinStateChanged) {
|
|
62454
|
+
// this._reorderColumns(column, target, pos, this._unpinnedColumns);
|
|
62455
|
+
// }
|
|
62449
62456
|
this._moveColumns(column, target, pos);
|
|
62450
62457
|
this._columnsReordered(column);
|
|
62451
62458
|
}
|
|
@@ -62509,7 +62516,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62509
62516
|
// commit pending states prior to adding a row
|
|
62510
62517
|
this.crudService.endEdit(true);
|
|
62511
62518
|
this.gridAPI.addRowToData(data);
|
|
62512
|
-
this.rowAddedNotifier.next({ data });
|
|
62519
|
+
this.rowAddedNotifier.next({ data: data, owner: this });
|
|
62513
62520
|
this.pipeTrigger++;
|
|
62514
62521
|
this.notifyChanges();
|
|
62515
62522
|
}
|
|
@@ -62536,7 +62543,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62536
62543
|
rowID: rowId,
|
|
62537
62544
|
cancel: false,
|
|
62538
62545
|
rowData: this.getRowData(rowId),
|
|
62539
|
-
oldValue: null
|
|
62546
|
+
oldValue: null,
|
|
62547
|
+
owner: this
|
|
62540
62548
|
};
|
|
62541
62549
|
this.rowDelete.emit(args);
|
|
62542
62550
|
if (args.cancel) {
|
|
@@ -62544,8 +62552,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62544
62552
|
}
|
|
62545
62553
|
const record = this.gridAPI.deleteRowById(rowId);
|
|
62546
62554
|
if (record !== null && record !== undefined) {
|
|
62547
|
-
|
|
62548
|
-
this.rowDeleted.emit({ data: record });
|
|
62555
|
+
this.rowDeleted.emit({ data: record, owner: this });
|
|
62549
62556
|
}
|
|
62550
62557
|
return record;
|
|
62551
62558
|
}
|
|
@@ -62564,7 +62571,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62564
62571
|
*/
|
|
62565
62572
|
updateCell(value, rowSelector, column) {
|
|
62566
62573
|
if (this.isDefined(this.primaryKey)) {
|
|
62567
|
-
const col = this.
|
|
62574
|
+
const col = this._columns.find(c => c.field === column);
|
|
62568
62575
|
if (col) {
|
|
62569
62576
|
// Simplify
|
|
62570
62577
|
const rowData = this.gridAPI.getRowData(rowSelector);
|
|
@@ -62655,7 +62662,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
62655
62662
|
}
|
|
62656
62663
|
else {
|
|
62657
62664
|
if (this._sortingOptions.mode === 'single') {
|
|
62658
|
-
this.
|
|
62665
|
+
this._columns.forEach((col) => {
|
|
62659
62666
|
if (!(col.field === expression.fieldName)) {
|
|
62660
62667
|
this.clearSort(col.field);
|
|
62661
62668
|
}
|
|
@@ -63017,7 +63024,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63017
63024
|
* ```
|
|
63018
63025
|
*/
|
|
63019
63026
|
get hasSortableColumns() {
|
|
63020
|
-
return this.
|
|
63027
|
+
return this._columns.some((col) => col.sortable);
|
|
63021
63028
|
}
|
|
63022
63029
|
/**
|
|
63023
63030
|
* Returns if the `IgxGridComponent` has editable columns.
|
|
@@ -63028,7 +63035,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63028
63035
|
* ```
|
|
63029
63036
|
*/
|
|
63030
63037
|
get hasEditableColumns() {
|
|
63031
|
-
return this.
|
|
63038
|
+
return this._columns.some((col) => col.editable);
|
|
63032
63039
|
}
|
|
63033
63040
|
/**
|
|
63034
63041
|
* Returns if the `IgxGridComponent` has filterable columns.
|
|
@@ -63039,7 +63046,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63039
63046
|
* ```
|
|
63040
63047
|
*/
|
|
63041
63048
|
get hasFilterableColumns() {
|
|
63042
|
-
return this.
|
|
63049
|
+
return this._columns.some((col) => col.filterable);
|
|
63043
63050
|
}
|
|
63044
63051
|
/**
|
|
63045
63052
|
* Returns if the `IgxGridComponent` has summarized columns.
|
|
@@ -63050,7 +63057,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63050
63057
|
* ```
|
|
63051
63058
|
*/
|
|
63052
63059
|
get hasSummarizedColumns() {
|
|
63053
|
-
const summarizedColumns = this.
|
|
63060
|
+
const summarizedColumns = this._columns.filter(col => col.hasSummary && !col.hidden);
|
|
63054
63061
|
return summarizedColumns.length > 0;
|
|
63055
63062
|
}
|
|
63056
63063
|
/**
|
|
@@ -63064,7 +63071,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63064
63071
|
*/
|
|
63065
63072
|
get hasVisibleColumns() {
|
|
63066
63073
|
if (this._hasVisibleColumns === undefined) {
|
|
63067
|
-
return this.
|
|
63074
|
+
return this._columns ? this._columns.some(c => !c.hidden) : false;
|
|
63068
63075
|
}
|
|
63069
63076
|
return this._hasVisibleColumns;
|
|
63070
63077
|
}
|
|
@@ -63105,7 +63112,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63105
63112
|
* ```
|
|
63106
63113
|
*/
|
|
63107
63114
|
get hasColumnLayouts() {
|
|
63108
|
-
return !!this.
|
|
63115
|
+
return !!this._columns.some(col => col.columnLayout);
|
|
63109
63116
|
}
|
|
63110
63117
|
/**
|
|
63111
63118
|
* @hidden @internal
|
|
@@ -63203,8 +63210,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63203
63210
|
return '0px';
|
|
63204
63211
|
}
|
|
63205
63212
|
const columnWidth = Math.floor(!Number.isFinite(sumExistingWidths) ?
|
|
63206
|
-
Math.max(computedWidth / columnsToSize,
|
|
63207
|
-
Math.max((computedWidth - sumExistingWidths) / columnsToSize,
|
|
63213
|
+
Math.max(computedWidth / columnsToSize, this.minColumnWidth) :
|
|
63214
|
+
Math.max((computedWidth - sumExistingWidths) / columnsToSize, this.minColumnWidth));
|
|
63208
63215
|
return columnWidth + 'px';
|
|
63209
63216
|
}
|
|
63210
63217
|
/**
|
|
@@ -63561,7 +63568,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63561
63568
|
* ```
|
|
63562
63569
|
*/
|
|
63563
63570
|
selectAllColumns() {
|
|
63564
|
-
this.selectColumns(this.
|
|
63571
|
+
this.selectColumns(this._columns.filter(c => !c.columnGroup));
|
|
63565
63572
|
}
|
|
63566
63573
|
/**
|
|
63567
63574
|
*
|
|
@@ -63671,7 +63678,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63671
63678
|
var _a;
|
|
63672
63679
|
const totalItems = (_a = this.totalItemCount) !== null && _a !== void 0 ? _a : this.dataView.length - 1;
|
|
63673
63680
|
if (rowIndex < 0 || rowIndex > totalItems || (visibleColIndex !== -1
|
|
63674
|
-
&& this.
|
|
63681
|
+
&& this._columns.map(col => col.visibleIndex).indexOf(visibleColIndex) === -1)) {
|
|
63675
63682
|
return;
|
|
63676
63683
|
}
|
|
63677
63684
|
if (this.dataView.slice(rowIndex, rowIndex + 1).find(rec => rec.expression || rec.childGridsData)) {
|
|
@@ -63717,7 +63724,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63717
63724
|
* ```
|
|
63718
63725
|
*/
|
|
63719
63726
|
getNextCell(currRowIndex, curVisibleColIndex, callback = null) {
|
|
63720
|
-
const columns = this.
|
|
63727
|
+
const columns = this._columns.filter(col => !col.columnGroup && col.visibleIndex >= 0);
|
|
63721
63728
|
const dataViewIndex = this._getDataViewIndex(currRowIndex);
|
|
63722
63729
|
if (!this.isValidPosition(dataViewIndex, curVisibleColIndex)) {
|
|
63723
63730
|
return { rowIndex: currRowIndex, visibleColumnIndex: curVisibleColIndex };
|
|
@@ -63752,7 +63759,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
63752
63759
|
* ```
|
|
63753
63760
|
*/
|
|
63754
63761
|
getPreviousCell(currRowIndex, curVisibleColIndex, callback = null) {
|
|
63755
|
-
const columns = this.
|
|
63762
|
+
const columns = this._columns.filter(col => !col.columnGroup && col.visibleIndex >= 0);
|
|
63756
63763
|
const dataViewIndex = this._getDataViewIndex(currRowIndex);
|
|
63757
63764
|
if (!this.isValidPosition(dataViewIndex, curVisibleColIndex)) {
|
|
63758
63765
|
return { rowIndex: currRowIndex, visibleColumnIndex: curVisibleColIndex };
|
|
@@ -64172,9 +64179,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64172
64179
|
*/
|
|
64173
64180
|
_derivePossibleWidth() {
|
|
64174
64181
|
if (!this.columnWidthSetByUser) {
|
|
64175
|
-
this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() :
|
|
64182
|
+
this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() : this.minColumnWidth + 'px';
|
|
64176
64183
|
}
|
|
64177
|
-
this.
|
|
64184
|
+
this._columns.forEach((column) => {
|
|
64178
64185
|
if (this.hasColumnLayouts && parseInt(this._columnWidth, 10)) {
|
|
64179
64186
|
const columnWidthCombined = parseInt(this._columnWidth, 10) * (column.colEnd ? column.colEnd - column.colStart : 1);
|
|
64180
64187
|
column.defaultWidth = columnWidthCombined + 'px';
|
|
@@ -64227,7 +64234,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64227
64234
|
* @hidden
|
|
64228
64235
|
*/
|
|
64229
64236
|
_moveColumns(from, to, pos) {
|
|
64230
|
-
const
|
|
64237
|
+
const orderedList = this._pinnedColumns.concat(this._unpinnedColumns);
|
|
64238
|
+
const list = orderedList;
|
|
64231
64239
|
this._reorderColumns(from, to, pos, list);
|
|
64232
64240
|
const newList = this._resetColumnList(list);
|
|
64233
64241
|
this.updateColumns(newList);
|
|
@@ -64239,18 +64247,17 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64239
64247
|
updateColumns(newColumns) {
|
|
64240
64248
|
// update internal collections to retain order.
|
|
64241
64249
|
this._pinnedColumns = newColumns
|
|
64242
|
-
.filter((c) => c.pinned)
|
|
64250
|
+
.filter((c) => c.pinned);
|
|
64243
64251
|
this._unpinnedColumns = newColumns.filter((c) => !c.pinned);
|
|
64244
|
-
this.
|
|
64245
|
-
this.
|
|
64246
|
-
this._columns = this.columnList.toArray();
|
|
64252
|
+
this._columns = newColumns;
|
|
64253
|
+
this.resetCaches();
|
|
64247
64254
|
}
|
|
64248
64255
|
/**
|
|
64249
64256
|
* @hidden
|
|
64250
64257
|
*/
|
|
64251
64258
|
_resetColumnList(list) {
|
|
64252
64259
|
if (!list) {
|
|
64253
|
-
list = this.
|
|
64260
|
+
list = this._columns;
|
|
64254
64261
|
}
|
|
64255
64262
|
let newList = [];
|
|
64256
64263
|
list.filter(c => c.level === 0).forEach(p => {
|
|
@@ -64298,7 +64305,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64298
64305
|
if (this.autoGenerate) {
|
|
64299
64306
|
this.autogenerateColumns();
|
|
64300
64307
|
}
|
|
64301
|
-
|
|
64308
|
+
else {
|
|
64309
|
+
this._columns = this.getColumnList();
|
|
64310
|
+
}
|
|
64311
|
+
this.initColumns(this._columns, (col) => this.columnInit.emit(col));
|
|
64302
64312
|
this.columnListDiffer.diff(this.columnList);
|
|
64303
64313
|
this.columnList.changes
|
|
64304
64314
|
.pipe(takeUntil(this.destroy$))
|
|
@@ -64306,6 +64316,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64306
64316
|
this.onColumnsChanged(change);
|
|
64307
64317
|
});
|
|
64308
64318
|
}
|
|
64319
|
+
getColumnList() {
|
|
64320
|
+
return this.columnList.toArray();
|
|
64321
|
+
}
|
|
64309
64322
|
/**
|
|
64310
64323
|
* @hidden
|
|
64311
64324
|
*/
|
|
@@ -64347,10 +64360,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64347
64360
|
*/
|
|
64348
64361
|
onColumnsChanged(change) {
|
|
64349
64362
|
const diff = this.columnListDiffer.diff(change);
|
|
64350
|
-
if (this.autoGenerate && this.
|
|
64363
|
+
if (this.autoGenerate && this._columns.length === 0 && this._autoGeneratedCols.length > 0) {
|
|
64351
64364
|
// In Ivy if there are nested conditional templates the content children are re-evaluated
|
|
64352
64365
|
// hence autogenerated columns are cleared and need to be reset.
|
|
64353
|
-
this.
|
|
64366
|
+
this.updateColumns(this._autoGeneratedCols);
|
|
64354
64367
|
return;
|
|
64355
64368
|
}
|
|
64356
64369
|
if (diff) {
|
|
@@ -64365,7 +64378,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64365
64378
|
this._unpinnedColumns.push(record.item);
|
|
64366
64379
|
}
|
|
64367
64380
|
});
|
|
64368
|
-
this.initColumns(this.columnList, (col) => this.columnInit.emit(col));
|
|
64381
|
+
this.initColumns(this.columnList.toArray(), (col) => this.columnInit.emit(col));
|
|
64369
64382
|
diff.forEachRemovedItem((record) => {
|
|
64370
64383
|
const isColumnGroup = record.item instanceof IgxColumnGroupComponent;
|
|
64371
64384
|
if (!isColumnGroup) {
|
|
@@ -64574,10 +64587,13 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64574
64587
|
this.tbody.nativeElement.style.display = 'none';
|
|
64575
64588
|
let res = !this.nativeElement.parentElement ||
|
|
64576
64589
|
this.nativeElement.parentElement.clientHeight === 0 ||
|
|
64577
|
-
this.nativeElement.parentElement.clientHeight === renderedHeight
|
|
64590
|
+
this.nativeElement.parentElement.clientHeight === renderedHeight;
|
|
64591
|
+
if ((!this.platform.isChromium && !this.platform.isFirefox) || this._autoSize) {
|
|
64578
64592
|
// If grid causes the parent container to extend (for example when container is flex)
|
|
64579
64593
|
// we should always auto-size since the actual size of the container will continuously change as the grid renders elements.
|
|
64580
|
-
this.
|
|
64594
|
+
this._autoSize = false;
|
|
64595
|
+
res = this.checkContainerSizeChange();
|
|
64596
|
+
}
|
|
64581
64597
|
this.tbody.nativeElement.style.display = '';
|
|
64582
64598
|
return res;
|
|
64583
64599
|
}
|
|
@@ -64661,7 +64677,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64661
64677
|
columns.push(ref.instance);
|
|
64662
64678
|
});
|
|
64663
64679
|
this._autoGeneratedCols = columns;
|
|
64664
|
-
this.
|
|
64680
|
+
this.updateColumns(columns);
|
|
64665
64681
|
if (data && data.length > 0) {
|
|
64666
64682
|
this.shouldGenerate = false;
|
|
64667
64683
|
}
|
|
@@ -64673,10 +64689,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64673
64689
|
* @hidden
|
|
64674
64690
|
*/
|
|
64675
64691
|
initColumns(collection, cb = null) {
|
|
64676
|
-
this._columnGroups =
|
|
64692
|
+
this._columnGroups = collection.some(col => col.columnGroup);
|
|
64677
64693
|
if (this.hasColumnLayouts) {
|
|
64678
64694
|
// Set overall row layout size
|
|
64679
|
-
|
|
64695
|
+
collection.forEach((col) => {
|
|
64680
64696
|
if (col.columnLayout) {
|
|
64681
64697
|
const layoutSize = col.children ?
|
|
64682
64698
|
col.children.reduce((acc, val) => Math.max(val.rowStart + val.gridRowSpan - 1, acc), 1) :
|
|
@@ -64688,18 +64704,17 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64688
64704
|
if (this.hasColumnLayouts && this.hasColumnGroups) {
|
|
64689
64705
|
// invalid configuration - multi-row and column groups
|
|
64690
64706
|
// remove column groups
|
|
64691
|
-
const columnLayoutColumns =
|
|
64692
|
-
|
|
64707
|
+
const columnLayoutColumns = collection.filter((col) => col.columnLayout || col.columnLayoutChild);
|
|
64708
|
+
collection = columnLayoutColumns;
|
|
64693
64709
|
}
|
|
64694
64710
|
this._maxLevelHeaderDepth = null;
|
|
64695
|
-
this._columns = this.columnList.toArray();
|
|
64696
64711
|
collection.forEach((column) => {
|
|
64697
64712
|
column.defaultWidth = this.columnWidthSetByUser ? this._columnWidth : column.defaultWidth ? column.defaultWidth : '';
|
|
64698
64713
|
if (cb) {
|
|
64699
64714
|
cb(column);
|
|
64700
64715
|
}
|
|
64701
64716
|
});
|
|
64702
|
-
this.
|
|
64717
|
+
this.updateColumns(collection);
|
|
64703
64718
|
if (this.hasColumnLayouts) {
|
|
64704
64719
|
collection.forEach((column) => {
|
|
64705
64720
|
column.populateVisibleIndexes();
|
|
@@ -64710,11 +64725,11 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64710
64725
|
* @hidden
|
|
64711
64726
|
*/
|
|
64712
64727
|
reinitPinStates() {
|
|
64713
|
-
this._pinnedColumns = this.
|
|
64728
|
+
this._pinnedColumns = this._columns
|
|
64714
64729
|
.filter((c) => c.pinned).sort((a, b) => this._pinnedColumns.indexOf(a) - this._pinnedColumns.indexOf(b));
|
|
64715
|
-
this._unpinnedColumns = this.hasColumnGroups ? this.
|
|
64716
|
-
this.
|
|
64717
|
-
.sort((a, b) => this._unpinnedColumns.
|
|
64730
|
+
this._unpinnedColumns = this.hasColumnGroups ? this._columns.filter((c) => !c.pinned) :
|
|
64731
|
+
this._columns.filter((c) => !c.pinned)
|
|
64732
|
+
.sort((a, b) => this._unpinnedColumns.indexOf(a) - this._unpinnedColumns.indexOf(b));
|
|
64718
64733
|
}
|
|
64719
64734
|
extractDataFromSelection(source, formatters = false, headers = false, columnData) {
|
|
64720
64735
|
var _a;
|
|
@@ -64894,7 +64909,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64894
64909
|
// Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
|
|
64895
64910
|
// We take into account top level columns (top level groups and non groups).
|
|
64896
64911
|
// If top level is unpinned the pinning handles all children to be unpinned as well.
|
|
64897
|
-
for (const column of this.
|
|
64912
|
+
for (const column of this._columns) {
|
|
64898
64913
|
if (column.pinned && !column.parent) {
|
|
64899
64914
|
pinnedColumns.push(column);
|
|
64900
64915
|
}
|
|
@@ -64970,7 +64985,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64970
64985
|
const cols = this.hasColumnLayouts ?
|
|
64971
64986
|
this.visibleColumns.filter(x => x.columnLayout) : this.visibleColumns.filter(x => !x.columnGroup);
|
|
64972
64987
|
cols.forEach((item) => {
|
|
64973
|
-
colSum += parseInt((item.calcWidth || item.defaultWidth), 10) ||
|
|
64988
|
+
colSum += parseInt((item.calcWidth || item.defaultWidth), 10) || this.minColumnWidth;
|
|
64974
64989
|
});
|
|
64975
64990
|
if (!colSum) {
|
|
64976
64991
|
return null;
|
|
@@ -64987,7 +65002,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
64987
65002
|
_columnsReordered(column) {
|
|
64988
65003
|
this.notifyChanges();
|
|
64989
65004
|
if (this.hasColumnLayouts) {
|
|
64990
|
-
this.
|
|
65005
|
+
this._columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
64991
65006
|
}
|
|
64992
65007
|
// after reordering is done reset cached column collections.
|
|
64993
65008
|
this.resetColumnCollections();
|
|
@@ -65150,7 +65165,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
65150
65165
|
}
|
|
65151
65166
|
isValidPosition(rowIndex, colIndex) {
|
|
65152
65167
|
const rows = this.summariesRowList.filter(s => s.index !== 0).concat(this.rowList.toArray()).length;
|
|
65153
|
-
const cols = this.
|
|
65168
|
+
const cols = this._columns.filter(col => !col.columnGroup && col.visibleIndex >= 0 && !col.hidden).length;
|
|
65154
65169
|
if (rows < 1 || cols < 1) {
|
|
65155
65170
|
return false;
|
|
65156
65171
|
}
|
|
@@ -66235,7 +66250,7 @@ class IgxGridMRLNavigationService extends IgxGridNavigationService {
|
|
|
66235
66250
|
col.visibleIndex > this.activeNode.column && col.colStart > this.activeNode.layout.colStart);
|
|
66236
66251
|
if (!column || (previous && this.activeNode.layout.colStart === 1)) {
|
|
66237
66252
|
const index = previous ? parent.visibleIndex - 1 : parent.visibleIndex + 1;
|
|
66238
|
-
const children = this.grid.
|
|
66253
|
+
const children = this.grid.columns.find(cols => cols.columnLayout && cols.visibleIndex === index).children;
|
|
66239
66254
|
column = previous ? children.toArray().reverse().find(child => child.rowStart <= this.activeNode.layout.rowStart) :
|
|
66240
66255
|
children.find(child => this.rowEnd(child) > this.activeNode.layout.rowStart && child.colStart === 1);
|
|
66241
66256
|
}
|
|
@@ -68131,7 +68146,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68131
68146
|
this._applyGrouping();
|
|
68132
68147
|
this.notifyChanges();
|
|
68133
68148
|
}
|
|
68134
|
-
if (!this._init && JSON.stringify(oldExpressions) !== JSON.stringify(newExpressions) && this.
|
|
68149
|
+
if (!this._init && JSON.stringify(oldExpressions) !== JSON.stringify(newExpressions) && this._columns) {
|
|
68135
68150
|
const groupedCols = [];
|
|
68136
68151
|
const ungroupedCols = [];
|
|
68137
68152
|
const groupedColsArr = newExpressions.filter((obj) => !oldExpressions.some((obj2) => obj.fieldName === obj2.fieldName));
|
|
@@ -68195,7 +68210,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68195
68210
|
else {
|
|
68196
68211
|
this.groupingDiffer = null;
|
|
68197
68212
|
}
|
|
68198
|
-
if (this.
|
|
68213
|
+
if (this._columns && this.groupingExpressions) {
|
|
68199
68214
|
this._setGroupColsVisibility(value);
|
|
68200
68215
|
}
|
|
68201
68216
|
this._hideGroupedColumns = value;
|
|
@@ -68250,7 +68265,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68250
68265
|
getCellByColumnVisibleIndex(rowIndex, index) {
|
|
68251
68266
|
var _a;
|
|
68252
68267
|
const row = this.getRowByIndex(rowIndex);
|
|
68253
|
-
const column = this.
|
|
68268
|
+
const column = this._columns.find((col) => col.visibleIndex === index);
|
|
68254
68269
|
if (row && row instanceof IgxGridRow && !((_a = row.data) === null || _a === void 0 ? void 0 : _a.detailsData) && column) {
|
|
68255
68270
|
return new IgxGridCell(this, rowIndex, column.field);
|
|
68256
68271
|
}
|
|
@@ -68514,7 +68529,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68514
68529
|
* ```
|
|
68515
68530
|
*/
|
|
68516
68531
|
get hasGroupableColumns() {
|
|
68517
|
-
return this.
|
|
68532
|
+
return this._columns.some((col) => col.groupable && !col.columnGroup);
|
|
68518
68533
|
}
|
|
68519
68534
|
/**
|
|
68520
68535
|
* Returns whether the `IgxGridComponent` has group area.
|
|
@@ -68639,7 +68654,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68639
68654
|
this._groupRowTemplate = this.groupTemplate.template;
|
|
68640
68655
|
}
|
|
68641
68656
|
this.detailTemplate.changes.subscribe(() => this.trackChanges = (_, rec) => ((rec === null || rec === void 0 ? void 0 : rec.detailsData) !== undefined ? rec.detailsData : rec));
|
|
68642
|
-
if (this.hideGroupedColumns && this.
|
|
68657
|
+
if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
|
|
68643
68658
|
this._setGroupColsVisibility(this.hideGroupedColumns);
|
|
68644
68659
|
}
|
|
68645
68660
|
this._setupNavigationService();
|
|
@@ -68687,9 +68702,9 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68687
68702
|
* @hidden @internal
|
|
68688
68703
|
*/
|
|
68689
68704
|
ngDoCheck() {
|
|
68690
|
-
if (this.groupingDiffer && this.
|
|
68705
|
+
if (this.groupingDiffer && this._columns && !this.hasColumnLayouts) {
|
|
68691
68706
|
const changes = this.groupingDiffer.diff(this.groupingExpressions);
|
|
68692
|
-
if (changes && this.
|
|
68707
|
+
if (changes && this._columns.length > 0) {
|
|
68693
68708
|
changes.forEachAddedItem((rec) => {
|
|
68694
68709
|
const col = this.getColumnByName(rec.item.fieldName);
|
|
68695
68710
|
if (col) {
|
|
@@ -68820,7 +68835,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68820
68835
|
getCellByColumn(rowIndex, columnField) {
|
|
68821
68836
|
var _a;
|
|
68822
68837
|
const row = this.getRowByIndex(rowIndex);
|
|
68823
|
-
const column = this.
|
|
68838
|
+
const column = this._columns.find((col) => col.field === columnField);
|
|
68824
68839
|
if (row && row instanceof IgxGridRow && !((_a = row.data) === null || _a === void 0 ? void 0 : _a.detailsData) && column) {
|
|
68825
68840
|
if (this.pagingMode === 1 && this.gridAPI.grid.page !== 0) {
|
|
68826
68841
|
row.index = rowIndex + this.paginator.perPage * this.paginator.page;
|
|
@@ -68842,7 +68857,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68842
68857
|
*/
|
|
68843
68858
|
getCellByKey(rowSelector, columnField) {
|
|
68844
68859
|
const row = this.getRowByKey(rowSelector);
|
|
68845
|
-
const column = this.
|
|
68860
|
+
const column = this._columns.find((col) => col.field === columnField);
|
|
68846
68861
|
if (row && column) {
|
|
68847
68862
|
return new IgxGridCell(this, row.index, columnField);
|
|
68848
68863
|
}
|
|
@@ -68944,7 +68959,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68944
68959
|
return !expression.fieldName;
|
|
68945
68960
|
}
|
|
68946
68961
|
_setGroupColsVisibility(value) {
|
|
68947
|
-
if (this.
|
|
68962
|
+
if (this._columns.length > 0 && !this.hasColumnLayouts) {
|
|
68948
68963
|
this.groupingExpressions.forEach((expr) => {
|
|
68949
68964
|
const col = this.getColumnByName(expr.fieldName);
|
|
68950
68965
|
col.hidden = value;
|
|
@@ -69119,7 +69134,7 @@ class IgxGridStateDirective {
|
|
|
69119
69134
|
},
|
|
69120
69135
|
columns: {
|
|
69121
69136
|
getFeatureState: (context) => {
|
|
69122
|
-
const gridColumns = context.currGrid.
|
|
69137
|
+
const gridColumns = context.currGrid.columns.map((c) => ({
|
|
69123
69138
|
pinned: c.pinned,
|
|
69124
69139
|
sortable: c.sortable,
|
|
69125
69140
|
filterable: c.filterable,
|
|
@@ -69179,6 +69194,9 @@ class IgxGridStateDirective {
|
|
|
69179
69194
|
}
|
|
69180
69195
|
});
|
|
69181
69196
|
context.grid.updateColumns(newColumns);
|
|
69197
|
+
newColumns.forEach(col => {
|
|
69198
|
+
context.grid.columnInit.emit(col);
|
|
69199
|
+
});
|
|
69182
69200
|
}
|
|
69183
69201
|
},
|
|
69184
69202
|
groupBy: {
|
|
@@ -69428,13 +69446,11 @@ class IgxGridStateDirective {
|
|
|
69428
69446
|
// TODO Notify the grid that columnList.changes is triggered by the state directive
|
|
69429
69447
|
// instead of piping it like below
|
|
69430
69448
|
const columns = 'columns';
|
|
69431
|
-
this.grid.columnList.changes.pipe(delay(0), take(1)).subscribe(() => {
|
|
69432
|
-
this.featureKeys = this.featureKeys.filter(f => f !== columns);
|
|
69433
|
-
this.restoreFeatures(state);
|
|
69434
|
-
});
|
|
69435
69449
|
this.applyFeatures(features);
|
|
69436
69450
|
if (this.featureKeys.includes(columns) && this.options[columns] && state[columns]) {
|
|
69437
69451
|
this.getFeature(columns).restoreFeatureState(this, state[columns]);
|
|
69452
|
+
this.featureKeys = this.featureKeys.filter(f => f !== columns);
|
|
69453
|
+
this.restoreFeatures(state);
|
|
69438
69454
|
}
|
|
69439
69455
|
else {
|
|
69440
69456
|
this.restoreFeatures(state);
|
|
@@ -69485,8 +69501,8 @@ class IgxGridStateDirective {
|
|
|
69485
69501
|
else {
|
|
69486
69502
|
const expr = item;
|
|
69487
69503
|
let dataType;
|
|
69488
|
-
if (this.currGrid.
|
|
69489
|
-
dataType = this.currGrid.
|
|
69504
|
+
if (this.currGrid.columns.length > 0) {
|
|
69505
|
+
dataType = this.currGrid.columns.find(c => c.field === expr.fieldName).dataType;
|
|
69490
69506
|
}
|
|
69491
69507
|
else if (this.state.columns) {
|
|
69492
69508
|
dataType = this.state.columns.find(c => c.field === expr.fieldName).dataType;
|
|
@@ -69823,14 +69839,14 @@ class IgxColumnLayoutComponent extends IgxColumnGroupComponent {
|
|
|
69823
69839
|
set hidden(value) {
|
|
69824
69840
|
this._hidden = value;
|
|
69825
69841
|
this.children.forEach(child => child.hidden = value);
|
|
69826
|
-
if (this.grid && this.grid.
|
|
69842
|
+
if (this.grid && this.grid.columns && this.grid.columns.length > 0) {
|
|
69827
69843
|
// reset indexes in case columns are hidden/shown runtime
|
|
69828
69844
|
const columns = this.grid && this.grid.pinnedColumns && this.grid.unpinnedColumns ?
|
|
69829
69845
|
this.grid.pinnedColumns.concat(this.grid.unpinnedColumns) : [];
|
|
69830
69846
|
if (!this._hidden && !columns.find(c => c.field === this.field)) {
|
|
69831
69847
|
this.grid.resetColumnCollections();
|
|
69832
69848
|
}
|
|
69833
|
-
this.grid.
|
|
69849
|
+
this.grid.columns.filter(x => x.columnLayout).forEach(x => x.populateVisibleIndexes());
|
|
69834
69850
|
}
|
|
69835
69851
|
}
|
|
69836
69852
|
/**
|
|
@@ -71779,13 +71795,13 @@ class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
71779
71795
|
return this._hideGroupedColumns;
|
|
71780
71796
|
}
|
|
71781
71797
|
set hideGroupedColumns(value) {
|
|
71782
|
-
if (this.grid.
|
|
71798
|
+
if (this.grid.columns && this.expressions) {
|
|
71783
71799
|
this.setColumnsVisibility(value);
|
|
71784
71800
|
}
|
|
71785
71801
|
this._hideGroupedColumns = value;
|
|
71786
71802
|
}
|
|
71787
71803
|
ngAfterContentInit() {
|
|
71788
|
-
if (this.grid.
|
|
71804
|
+
if (this.grid.columns && this.expressions) {
|
|
71789
71805
|
this.groupingDiffer = this.differs.find(this.expressions).create();
|
|
71790
71806
|
this.updateColumnsVisibility();
|
|
71791
71807
|
}
|
|
@@ -71836,9 +71852,9 @@ class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
71836
71852
|
this.updateColumnsVisibility();
|
|
71837
71853
|
}
|
|
71838
71854
|
updateColumnsVisibility() {
|
|
71839
|
-
if (this.groupingDiffer && this.grid.
|
|
71855
|
+
if (this.groupingDiffer && this.grid.columns && !this.grid.hasColumnLayouts) {
|
|
71840
71856
|
const changes = this.groupingDiffer.diff(this.expressions);
|
|
71841
|
-
if (changes && this.grid.
|
|
71857
|
+
if (changes && this.grid.columns.length > 0) {
|
|
71842
71858
|
changes.forEachAddedItem((rec) => {
|
|
71843
71859
|
const col = this.grid.getColumnByName(rec.item.fieldName);
|
|
71844
71860
|
col.hidden = this.hideGroupedColumns;
|
|
@@ -71851,7 +71867,7 @@ class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
71851
71867
|
}
|
|
71852
71868
|
}
|
|
71853
71869
|
setColumnsVisibility(value) {
|
|
71854
|
-
if (this.grid.
|
|
71870
|
+
if (this.grid.columns.length > 0 && !this.grid.hasColumnLayouts) {
|
|
71855
71871
|
this.expressions.forEach((expr) => {
|
|
71856
71872
|
const col = this.grid.getColumnByName(expr.fieldName);
|
|
71857
71873
|
col.hidden = value;
|
|
@@ -73351,7 +73367,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73351
73367
|
*/
|
|
73352
73368
|
getCellByColumnVisibleIndex(rowIndex, index) {
|
|
73353
73369
|
const row = this.getRowByIndex(rowIndex);
|
|
73354
|
-
const column = this.
|
|
73370
|
+
const column = this.columns.find((col) => col.visibleIndex === index);
|
|
73355
73371
|
if (row && row instanceof IgxTreeGridRow && column) {
|
|
73356
73372
|
return new IgxGridCell(this, rowIndex, column.field);
|
|
73357
73373
|
}
|
|
@@ -73506,7 +73522,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73506
73522
|
addRow(data, parentRowID) {
|
|
73507
73523
|
this.crudService.endEdit(true);
|
|
73508
73524
|
this.gridAPI.addRowToData(data, parentRowID);
|
|
73509
|
-
this.rowAddedNotifier.next({ data });
|
|
73525
|
+
this.rowAddedNotifier.next({ data: data, owner: this });
|
|
73510
73526
|
this.pipeTrigger++;
|
|
73511
73527
|
this.notifyChanges();
|
|
73512
73528
|
}
|
|
@@ -73613,7 +73629,22 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73613
73629
|
// if this is flat self-referencing data, and CascadeOnDelete is set to true
|
|
73614
73630
|
// and if we have transactions we should start pending transaction. This allows
|
|
73615
73631
|
// us in case of delete action to delete all child rows as single undo action
|
|
73616
|
-
|
|
73632
|
+
const args = {
|
|
73633
|
+
rowID: rowId,
|
|
73634
|
+
cancel: false,
|
|
73635
|
+
rowData: this.getRowData(rowId),
|
|
73636
|
+
oldValue: null,
|
|
73637
|
+
owner: this
|
|
73638
|
+
};
|
|
73639
|
+
this.rowDelete.emit(args);
|
|
73640
|
+
if (args.cancel) {
|
|
73641
|
+
return;
|
|
73642
|
+
}
|
|
73643
|
+
const record = this.gridAPI.deleteRowById(rowId);
|
|
73644
|
+
if (record !== null && record !== undefined) {
|
|
73645
|
+
this.rowDeleted.emit({ data: record, owner: this });
|
|
73646
|
+
}
|
|
73647
|
+
return record;
|
|
73617
73648
|
}
|
|
73618
73649
|
/**
|
|
73619
73650
|
* Returns the `IgxTreeGridRow` by index.
|
|
@@ -73688,7 +73719,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73688
73719
|
*/
|
|
73689
73720
|
getCellByColumn(rowIndex, columnField) {
|
|
73690
73721
|
const row = this.getRowByIndex(rowIndex);
|
|
73691
|
-
const column = this.
|
|
73722
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
73692
73723
|
if (row && row instanceof IgxTreeGridRow && column) {
|
|
73693
73724
|
return new IgxGridCell(this, rowIndex, columnField);
|
|
73694
73725
|
}
|
|
@@ -73707,7 +73738,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73707
73738
|
*/
|
|
73708
73739
|
getCellByKey(rowSelector, columnField) {
|
|
73709
73740
|
const row = this.getRowByKey(rowSelector);
|
|
73710
|
-
const column = this.
|
|
73741
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
73711
73742
|
if (row && column) {
|
|
73712
73743
|
return new IgxGridCell(this, row.index, columnField);
|
|
73713
73744
|
}
|
|
@@ -73765,7 +73796,7 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73765
73796
|
* ```
|
|
73766
73797
|
*/
|
|
73767
73798
|
get hasGroupableColumns() {
|
|
73768
|
-
return this.
|
|
73799
|
+
return this.columns.some((col) => col.groupable && !col.columnGroup);
|
|
73769
73800
|
}
|
|
73770
73801
|
generateDataFields(data) {
|
|
73771
73802
|
return super.generateDataFields(data).filter(field => field !== this.childDataKey);
|
|
@@ -73848,8 +73879,8 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
73848
73879
|
if (this.hasColumnLayouts) {
|
|
73849
73880
|
// invalid configuration - tree grid should not allow column layouts
|
|
73850
73881
|
// remove column layouts
|
|
73851
|
-
const nonColumnLayoutColumns = this.
|
|
73852
|
-
this.
|
|
73882
|
+
const nonColumnLayoutColumns = this.columns.filter((col) => !col.columnLayout && !col.columnLayoutChild);
|
|
73883
|
+
this.updateColumns(nonColumnLayoutColumns);
|
|
73853
73884
|
}
|
|
73854
73885
|
super.initColumns(collection, cb);
|
|
73855
73886
|
}
|
|
@@ -73951,6 +73982,7 @@ IgxTreeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
73951
73982
|
IgxGridCRUDService,
|
|
73952
73983
|
IgxGridSummaryService,
|
|
73953
73984
|
IgxGridNavigationService,
|
|
73985
|
+
IgxColumnResizingService,
|
|
73954
73986
|
{ provide: IgxGridSelectionService, useClass: IgxTreeGridSelectionService },
|
|
73955
73987
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxTreeGridAPIService },
|
|
73956
73988
|
{ provide: IGX_GRID_BASE, useExisting: IgxTreeGridComponent },
|
|
@@ -73964,6 +73996,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
73964
73996
|
IgxGridCRUDService,
|
|
73965
73997
|
IgxGridSummaryService,
|
|
73966
73998
|
IgxGridNavigationService,
|
|
73999
|
+
IgxColumnResizingService,
|
|
73967
74000
|
{ provide: IgxGridSelectionService, useClass: IgxTreeGridSelectionService },
|
|
73968
74001
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxTreeGridAPIService },
|
|
73969
74002
|
{ provide: IGX_GRID_BASE, useExisting: IgxTreeGridComponent },
|
|
@@ -74760,7 +74793,7 @@ class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirective {
|
|
|
74760
74793
|
*/
|
|
74761
74794
|
get maxLevelHeaderDepth() {
|
|
74762
74795
|
if (this._maxLevelHeaderDepth === null) {
|
|
74763
|
-
this._maxLevelHeaderDepth = this.
|
|
74796
|
+
this._maxLevelHeaderDepth = this.columns.reduce((acc, col) => Math.max(acc, col.level), 0);
|
|
74764
74797
|
}
|
|
74765
74798
|
return this._maxLevelHeaderDepth;
|
|
74766
74799
|
}
|
|
@@ -74803,13 +74836,12 @@ class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirective {
|
|
|
74803
74836
|
columns.push(ref.instance);
|
|
74804
74837
|
});
|
|
74805
74838
|
const result = flatten(columns);
|
|
74806
|
-
this.
|
|
74807
|
-
this.columnList.notifyOnChanges();
|
|
74839
|
+
this.updateColumns(result);
|
|
74808
74840
|
this.initPinning();
|
|
74809
74841
|
const factoryColumn = this.resolver.resolveComponentFactory(IgxColumnComponent);
|
|
74810
74842
|
const outputs = factoryColumn.outputs.filter(o => o.propName !== 'columnChange');
|
|
74811
74843
|
outputs.forEach(output => {
|
|
74812
|
-
this.
|
|
74844
|
+
this.columns.forEach(column => {
|
|
74813
74845
|
if (column[output.propName]) {
|
|
74814
74846
|
column[output.propName].pipe(takeUntil(column.destroy$)).subscribe((args) => {
|
|
74815
74847
|
const rowIslandColumn = this.parentIsland.childColumns.find(col => col.field === column.field);
|
|
@@ -75052,6 +75084,7 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75052
75084
|
this.rootGrid = null;
|
|
75053
75085
|
this.layout_id = `igx-row-island-`;
|
|
75054
75086
|
this.isInit = false;
|
|
75087
|
+
this._childColumns = [];
|
|
75055
75088
|
}
|
|
75056
75089
|
/**
|
|
75057
75090
|
* Sets if all immediate children of the grids for this `IgxRowIslandComponent` should be expanded/collapsed.
|
|
@@ -75141,7 +75174,8 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75141
75174
|
const nestedColumns = this.children.map((layout) => layout.columnList.toArray());
|
|
75142
75175
|
const colsArray = [].concat.apply([], nestedColumns);
|
|
75143
75176
|
const topCols = this.columnList.filter((item) => colsArray.indexOf(item) === -1);
|
|
75144
|
-
this.
|
|
75177
|
+
this._childColumns = topCols;
|
|
75178
|
+
this.updateColumns(this._childColumns);
|
|
75145
75179
|
this.columnList.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
75146
75180
|
Promise.resolve().then(() => {
|
|
75147
75181
|
this.updateColumnList();
|
|
@@ -75149,7 +75183,7 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75149
75183
|
});
|
|
75150
75184
|
// handle column changes so that they are passed to child grid instances when columnChange is emitted.
|
|
75151
75185
|
this.ri_columnListDiffer.diff(this.childColumns);
|
|
75152
|
-
this.
|
|
75186
|
+
this._childColumns.forEach(x => x.columnChange.pipe(takeUntil(x.destroy$)).subscribe(() => this.updateColumnList()));
|
|
75153
75187
|
this.childColumns.changes.pipe(takeUntil(this.destroy$)).subscribe((change) => {
|
|
75154
75188
|
const diff = this.ri_columnListDiffer.diff(change);
|
|
75155
75189
|
if (diff) {
|
|
@@ -75236,15 +75270,9 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75236
75270
|
}
|
|
75237
75271
|
return false;
|
|
75238
75272
|
});
|
|
75239
|
-
this.
|
|
75240
|
-
if (this.parentIsland) {
|
|
75241
|
-
this.parentIsland.columnList.notifyOnChanges();
|
|
75242
|
-
}
|
|
75243
|
-
else {
|
|
75244
|
-
this.rootGrid.columnList.notifyOnChanges();
|
|
75245
|
-
}
|
|
75273
|
+
this._childColumns = topCols;
|
|
75246
75274
|
this.rowIslandAPI.getChildGrids().forEach((grid) => {
|
|
75247
|
-
grid.createColumnsList(this.
|
|
75275
|
+
grid.createColumnsList(this._childColumns);
|
|
75248
75276
|
if (!document.body.contains(grid.nativeElement)) {
|
|
75249
75277
|
grid.updateOnRender = true;
|
|
75250
75278
|
}
|
|
@@ -75945,7 +75973,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
75945
75973
|
*/
|
|
75946
75974
|
getCellByColumnVisibleIndex(rowIndex, index) {
|
|
75947
75975
|
const row = this.getRowByIndex(rowIndex);
|
|
75948
|
-
const column = this.
|
|
75976
|
+
const column = this.columns.find((col) => col.visibleIndex === index);
|
|
75949
75977
|
if (row && row instanceof IgxHierarchicalGridRow && column) {
|
|
75950
75978
|
return new IgxGridCell(this, rowIndex, column.field);
|
|
75951
75979
|
}
|
|
@@ -76169,7 +76197,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76169
76197
|
*/
|
|
76170
76198
|
getCellByColumn(rowIndex, columnField) {
|
|
76171
76199
|
const row = this.getRowByIndex(rowIndex);
|
|
76172
|
-
const column = this.
|
|
76200
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
76173
76201
|
if (row && row instanceof IgxHierarchicalGridRow && column) {
|
|
76174
76202
|
return new IgxGridCell(this, rowIndex, columnField);
|
|
76175
76203
|
}
|
|
@@ -76188,7 +76216,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76188
76216
|
*/
|
|
76189
76217
|
getCellByKey(rowSelector, columnField) {
|
|
76190
76218
|
const row = this.getRowByKey(rowSelector);
|
|
76191
|
-
const column = this.
|
|
76219
|
+
const column = this.columns.find((col) => col.field === columnField);
|
|
76192
76220
|
if (row && column) {
|
|
76193
76221
|
return new IgxGridCell(this, row.index, columnField);
|
|
76194
76222
|
}
|
|
@@ -76464,8 +76492,8 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76464
76492
|
if (this.hasColumnLayouts) {
|
|
76465
76493
|
// invalid configuration - hierarchical grid should not allow column layouts
|
|
76466
76494
|
// remove column layouts
|
|
76467
|
-
const nonColumnLayoutColumns = this.
|
|
76468
|
-
this.
|
|
76495
|
+
const nonColumnLayoutColumns = this.columns.filter((col) => !col.columnLayout && !col.columnLayoutChild);
|
|
76496
|
+
this.updateColumns(nonColumnLayoutColumns);
|
|
76469
76497
|
}
|
|
76470
76498
|
super.initColumns(collection, cb);
|
|
76471
76499
|
}
|
|
@@ -76473,16 +76501,25 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76473
76501
|
if (this.parentIsland && this.parentIsland.childColumns.length > 0 && !this.autoGenerate) {
|
|
76474
76502
|
this.createColumnsList(this.parentIsland.childColumns.toArray());
|
|
76475
76503
|
}
|
|
76476
|
-
|
|
76504
|
+
else {
|
|
76505
|
+
super.setupColumns();
|
|
76506
|
+
}
|
|
76507
|
+
}
|
|
76508
|
+
getColumnList() {
|
|
76509
|
+
const childLayouts = this.parent ? this.childLayoutList : this.allLayoutList;
|
|
76510
|
+
const nestedColumns = childLayouts.map((layout) => layout.columnList.toArray());
|
|
76511
|
+
const colsArray = [].concat.apply([], nestedColumns);
|
|
76512
|
+
if (colsArray.length > 0) {
|
|
76513
|
+
const topCols = this.columnList.filter((item) => colsArray.indexOf(item) === -1);
|
|
76514
|
+
return topCols;
|
|
76515
|
+
}
|
|
76516
|
+
else {
|
|
76517
|
+
return this.columnList.toArray();
|
|
76518
|
+
}
|
|
76477
76519
|
}
|
|
76478
76520
|
onColumnsChanged(change) {
|
|
76479
76521
|
Promise.resolve().then(() => {
|
|
76480
76522
|
this.updateColumnList();
|
|
76481
|
-
const cols = change.filter(c => c.grid === this);
|
|
76482
|
-
if (cols.length > 0 || this.autoGenerate) {
|
|
76483
|
-
this.columnList.reset(cols);
|
|
76484
|
-
super.onColumnsChanged(this.columnList);
|
|
76485
|
-
}
|
|
76486
76523
|
});
|
|
76487
76524
|
}
|
|
76488
76525
|
_shouldAutoSize(renderedHeight) {
|
|
@@ -76498,8 +76535,8 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
76498
76535
|
const colLength = this.columnList.length;
|
|
76499
76536
|
if (colsArray.length > 0) {
|
|
76500
76537
|
const topCols = this.columnList.filter((item) => colsArray.indexOf(item) === -1);
|
|
76501
|
-
this.
|
|
76502
|
-
if (recalcColSizes && this.
|
|
76538
|
+
this.updateColumns(topCols);
|
|
76539
|
+
if (recalcColSizes && this.columns.length !== colLength) {
|
|
76503
76540
|
this.calculateGridSizes(false);
|
|
76504
76541
|
}
|
|
76505
76542
|
}
|
|
@@ -76527,6 +76564,7 @@ IgxHierarchicalGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
76527
76564
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxHierarchicalGridAPIService },
|
|
76528
76565
|
{ provide: IGX_GRID_BASE, useExisting: IgxHierarchicalGridComponent },
|
|
76529
76566
|
IgxGridSummaryService,
|
|
76567
|
+
IgxColumnResizingService,
|
|
76530
76568
|
IgxFilteringService,
|
|
76531
76569
|
IgxHierarchicalGridNavigationService,
|
|
76532
76570
|
IgxForOfSyncService,
|
|
@@ -76541,6 +76579,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
76541
76579
|
{ provide: IGX_GRID_SERVICE_BASE, useClass: IgxHierarchicalGridAPIService },
|
|
76542
76580
|
{ provide: IGX_GRID_BASE, useExisting: IgxHierarchicalGridComponent },
|
|
76543
76581
|
IgxGridSummaryService,
|
|
76582
|
+
IgxColumnResizingService,
|
|
76544
76583
|
IgxFilteringService,
|
|
76545
76584
|
IgxHierarchicalGridNavigationService,
|
|
76546
76585
|
IgxForOfSyncService,
|
|
@@ -81327,17 +81366,67 @@ class IgxSplitterPaneComponent {
|
|
|
81327
81366
|
this.overflow = 'auto';
|
|
81328
81367
|
/**
|
|
81329
81368
|
* @hidden @internal
|
|
81330
|
-
*
|
|
81369
|
+
* Get/Sets the `minWidth` properties of the current pane.
|
|
81331
81370
|
*/
|
|
81332
|
-
this.
|
|
81371
|
+
this.minWidth = '0';
|
|
81333
81372
|
/**
|
|
81334
81373
|
* @hidden @internal
|
|
81335
|
-
*
|
|
81374
|
+
* Get/Sets the `maxWidth` properties of the current pane.
|
|
81375
|
+
*/
|
|
81376
|
+
this.maxWidth = '100%';
|
|
81377
|
+
/**
|
|
81378
|
+
* @hidden @internal
|
|
81379
|
+
* Gets/Sets the `minHeight` properties of the current pane.
|
|
81380
|
+
*/
|
|
81381
|
+
this.minHeight = '0';
|
|
81382
|
+
/**
|
|
81383
|
+
* @hidden @internal
|
|
81384
|
+
* Gets/Sets the `maxHeight` properties of the current `IgxSplitterPaneComponent`.
|
|
81336
81385
|
*/
|
|
81337
81386
|
this.maxHeight = '100%';
|
|
81338
81387
|
this._size = 'auto';
|
|
81339
81388
|
this._collapsed = false;
|
|
81340
81389
|
}
|
|
81390
|
+
/**
|
|
81391
|
+
* Gets/Sets the minimum allowed size of the current pane.
|
|
81392
|
+
*
|
|
81393
|
+
* @example
|
|
81394
|
+
* ```html
|
|
81395
|
+
* <igx-splitter>
|
|
81396
|
+
* <igx-splitter-pane [minSize]='minSize'>...</igx-splitter-pane>
|
|
81397
|
+
* </igx-splitter>
|
|
81398
|
+
* ```
|
|
81399
|
+
*/
|
|
81400
|
+
get minSize() {
|
|
81401
|
+
return this._minSize;
|
|
81402
|
+
}
|
|
81403
|
+
;
|
|
81404
|
+
set minSize(value) {
|
|
81405
|
+
this._minSize = value;
|
|
81406
|
+
if (this.owner) {
|
|
81407
|
+
this.owner.panes.notifyOnChanges();
|
|
81408
|
+
}
|
|
81409
|
+
}
|
|
81410
|
+
/**
|
|
81411
|
+
* Gets/Set the maximum allowed size of the current pane.
|
|
81412
|
+
*
|
|
81413
|
+
* @example
|
|
81414
|
+
* ```html
|
|
81415
|
+
* <igx-splitter>
|
|
81416
|
+
* <igx-splitter-pane [maxSize]='maxSize'>...</igx-splitter-pane>
|
|
81417
|
+
* </igx-splitter>
|
|
81418
|
+
* ```
|
|
81419
|
+
*/
|
|
81420
|
+
get maxSize() {
|
|
81421
|
+
return this._maxSize;
|
|
81422
|
+
}
|
|
81423
|
+
;
|
|
81424
|
+
set maxSize(value) {
|
|
81425
|
+
this._maxSize = value;
|
|
81426
|
+
if (this.owner) {
|
|
81427
|
+
this.owner.panes.notifyOnChanges();
|
|
81428
|
+
}
|
|
81429
|
+
}
|
|
81341
81430
|
/**
|
|
81342
81431
|
* Gets/Sets the size of the current pane.
|
|
81343
81432
|
* * @example
|
|
@@ -81433,7 +81522,7 @@ class IgxSplitterPaneComponent {
|
|
|
81433
81522
|
}
|
|
81434
81523
|
}
|
|
81435
81524
|
IgxSplitterPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxSplitterPaneComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
81436
|
-
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-
|
|
81525
|
+
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>" });
|
|
81437
81526
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxSplitterPaneComponent, decorators: [{
|
|
81438
81527
|
type: Component,
|
|
81439
81528
|
args: [{ selector: 'igx-splitter-pane', template: "<ng-content></ng-content>" }]
|
|
@@ -81454,18 +81543,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
81454
81543
|
}], overflow: [{
|
|
81455
81544
|
type: HostBinding,
|
|
81456
81545
|
args: ['style.overflow']
|
|
81546
|
+
}], minWidth: [{
|
|
81547
|
+
type: HostBinding,
|
|
81548
|
+
args: ['style.min-width']
|
|
81549
|
+
}], maxWidth: [{
|
|
81550
|
+
type: HostBinding,
|
|
81551
|
+
args: ['style.max-width']
|
|
81457
81552
|
}], minHeight: [{
|
|
81458
81553
|
type: HostBinding,
|
|
81459
81554
|
args: ['style.min-height']
|
|
81460
|
-
}, {
|
|
81461
|
-
type: HostBinding,
|
|
81462
|
-
args: ['style.min-width']
|
|
81463
81555
|
}], maxHeight: [{
|
|
81464
81556
|
type: HostBinding,
|
|
81465
81557
|
args: ['style.max-height']
|
|
81466
|
-
}, {
|
|
81467
|
-
type: HostBinding,
|
|
81468
|
-
args: ['style.max-width']
|
|
81469
81558
|
}], size: [{
|
|
81470
81559
|
type: Input
|
|
81471
81560
|
}], flex: [{
|
|
@@ -81582,8 +81671,10 @@ class IgxSplitterComponent {
|
|
|
81582
81671
|
return this._type;
|
|
81583
81672
|
}
|
|
81584
81673
|
set type(value) {
|
|
81674
|
+
var _a;
|
|
81585
81675
|
this._type = value;
|
|
81586
81676
|
this.resetPaneSizes();
|
|
81677
|
+
(_a = this.panes) === null || _a === void 0 ? void 0 : _a.notifyOnChanges();
|
|
81587
81678
|
}
|
|
81588
81679
|
/**
|
|
81589
81680
|
* @hidden @internal
|
|
@@ -81688,7 +81779,18 @@ class IgxSplitterComponent {
|
|
|
81688
81779
|
* This method inits panes with properties.
|
|
81689
81780
|
*/
|
|
81690
81781
|
initPanes() {
|
|
81691
|
-
this.panes.forEach(pane =>
|
|
81782
|
+
this.panes.forEach(pane => {
|
|
81783
|
+
var _a, _b, _c, _d;
|
|
81784
|
+
pane.owner = this;
|
|
81785
|
+
if (this.type === SplitterType.Horizontal) {
|
|
81786
|
+
pane.minWidth = (_a = pane.minSize) !== null && _a !== void 0 ? _a : '0';
|
|
81787
|
+
pane.maxWidth = (_b = pane.maxSize) !== null && _b !== void 0 ? _b : '100%';
|
|
81788
|
+
}
|
|
81789
|
+
else {
|
|
81790
|
+
pane.minHeight = (_c = pane.minSize) !== null && _c !== void 0 ? _c : '0';
|
|
81791
|
+
pane.maxHeight = (_d = pane.maxSize) !== null && _d !== void 0 ? _d : '100%';
|
|
81792
|
+
}
|
|
81793
|
+
});
|
|
81692
81794
|
this.assignFlexOrder();
|
|
81693
81795
|
if (this.panes.filter(x => x.collapsed).length > 0) {
|
|
81694
81796
|
// if any panes are collapsed, reset sizes.
|
|
@@ -81702,7 +81804,13 @@ class IgxSplitterComponent {
|
|
|
81702
81804
|
resetPaneSizes() {
|
|
81703
81805
|
if (this.panes) {
|
|
81704
81806
|
// if type is changed runtime, should reset sizes.
|
|
81705
|
-
this.panes.forEach(x =>
|
|
81807
|
+
this.panes.forEach(x => {
|
|
81808
|
+
x.size = 'auto';
|
|
81809
|
+
x.minWidth = '0';
|
|
81810
|
+
x.maxWidth = '100%';
|
|
81811
|
+
x.minHeight = '0';
|
|
81812
|
+
x.maxHeight = '100%';
|
|
81813
|
+
});
|
|
81706
81814
|
}
|
|
81707
81815
|
}
|
|
81708
81816
|
/**
|
|
@@ -86163,6 +86271,17 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
86163
86271
|
this.onDensityChanged.emit(densityChangedArgs);
|
|
86164
86272
|
}
|
|
86165
86273
|
}
|
|
86274
|
+
/**
|
|
86275
|
+
* @hidden @internal
|
|
86276
|
+
*/
|
|
86277
|
+
get minColumnWidth() {
|
|
86278
|
+
if (this.superCompactMode) {
|
|
86279
|
+
return MINIMUM_COLUMN_WIDTH_SUPER_COMPACT;
|
|
86280
|
+
}
|
|
86281
|
+
else {
|
|
86282
|
+
return MINIMUM_COLUMN_WIDTH;
|
|
86283
|
+
}
|
|
86284
|
+
}
|
|
86166
86285
|
get pivotKeys() {
|
|
86167
86286
|
return this.pivotConfiguration.pivotKeys || DEFAULT_PIVOT_KEYS;
|
|
86168
86287
|
}
|
|
@@ -86442,7 +86561,7 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
86442
86561
|
*/
|
|
86443
86562
|
ngAfterContentInit() {
|
|
86444
86563
|
// ignore any user defined columns and auto-generate based on pivot config.
|
|
86445
|
-
this.
|
|
86564
|
+
this.updateColumns([]);
|
|
86446
86565
|
Promise.resolve().then(() => {
|
|
86447
86566
|
this.setupColumns();
|
|
86448
86567
|
});
|
|
@@ -87320,8 +87439,8 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87320
87439
|
}
|
|
87321
87440
|
}
|
|
87322
87441
|
});
|
|
87442
|
+
this.updateColumns(columns);
|
|
87323
87443
|
this.reflow();
|
|
87324
|
-
this.columnList.reset(columns);
|
|
87325
87444
|
if (data && data.length > 0) {
|
|
87326
87445
|
this.shouldGenerate = false;
|
|
87327
87446
|
}
|
|
@@ -87373,7 +87492,6 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87373
87492
|
ref.instance.header = value.displayName;
|
|
87374
87493
|
ref.instance.field = value.member;
|
|
87375
87494
|
ref.instance.parent = parent;
|
|
87376
|
-
ref.instance.width = MINIMUM_COLUMN_WIDTH + 'px';
|
|
87377
87495
|
ref.instance.sortable = true;
|
|
87378
87496
|
ref.instance.dataType = value.dataType || this.resolveDataTypes(data[0][value.member]);
|
|
87379
87497
|
ref.instance.formatter = value.formatter;
|
|
@@ -87453,7 +87571,9 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87453
87571
|
ref.instance.header = parent != null ? key.split(parent.header + this.pivotKeys.columnDimensionSeparator)[1] : key;
|
|
87454
87572
|
ref.instance.field = key;
|
|
87455
87573
|
ref.instance.parent = parent;
|
|
87456
|
-
|
|
87574
|
+
if (value.dimension.width) {
|
|
87575
|
+
ref.instance.width = value.dimension.width;
|
|
87576
|
+
}
|
|
87457
87577
|
const valueDefinition = this.values[0];
|
|
87458
87578
|
ref.instance.dataType = (valueDefinition === null || valueDefinition === void 0 ? void 0 : valueDefinition.dataType) || this.resolveDataTypes(data[0][valueDefinition === null || valueDefinition === void 0 ? void 0 : valueDefinition.member]);
|
|
87459
87579
|
ref.instance.formatter = valueDefinition === null || valueDefinition === void 0 ? void 0 : valueDefinition.formatter;
|
|
@@ -87465,20 +87585,21 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
87465
87585
|
if (dim.width) {
|
|
87466
87586
|
return dim.width;
|
|
87467
87587
|
}
|
|
87468
|
-
return this.
|
|
87588
|
+
return this.minColumnWidth + 'px';
|
|
87469
87589
|
}
|
|
87470
87590
|
getMeasureChildren(colFactory, data, parent, hidden, parentWidth) {
|
|
87471
87591
|
const cols = [];
|
|
87472
87592
|
const count = this.values.length;
|
|
87473
|
-
const
|
|
87474
|
-
this.superCompactMode ? MINIMUM_COLUMN_WIDTH_SUPER_COMPACT : MINIMUM_COLUMN_WIDTH;
|
|
87593
|
+
const childWidth = parseInt(parentWidth, 10) / count;
|
|
87475
87594
|
const isPercent = parentWidth && parentWidth.indexOf('%') !== -1;
|
|
87476
87595
|
this.values.forEach(val => {
|
|
87477
87596
|
const ref = colFactory.create(this.viewRef.injector);
|
|
87478
87597
|
ref.instance.header = val.displayName || val.member;
|
|
87479
87598
|
ref.instance.field = parent.field + this.pivotKeys.columnDimensionSeparator + val.member;
|
|
87480
87599
|
ref.instance.parent = parent;
|
|
87481
|
-
|
|
87600
|
+
if (parentWidth) {
|
|
87601
|
+
ref.instance.width = isPercent ? childWidth + '%' : childWidth + 'px';
|
|
87602
|
+
}
|
|
87482
87603
|
ref.instance.hidden = hidden;
|
|
87483
87604
|
ref.instance.sortable = true;
|
|
87484
87605
|
ref.instance.dataType = val.dataType || this.resolveDataTypes(data[0][val.member]);
|