igniteui-angular 19.2.4 → 19.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/igniteui-angular.mjs +57 -40
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/components/stepper/_stepper-theme.scss +8 -1
- package/lib/core/styles/components/tabs/_tabs-theme.scss +18 -15
- package/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.d.ts +1 -1
- package/lib/grids/toolbar/grid-toolbar-exporter.component.d.ts +1 -1
- package/lib/grids/toolbar/grid-toolbar-hiding.component.d.ts +1 -1
- package/lib/grids/toolbar/grid-toolbar-pinning.component.d.ts +1 -1
- package/lib/services/exporter-common/base-export-service.d.ts +3 -0
- package/package.json +2 -2
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -4783,31 +4783,49 @@ class IgxBaseExporter {
|
|
|
4783
4783
|
if (keys.length === 0) {
|
|
4784
4784
|
return;
|
|
4785
4785
|
}
|
|
4786
|
-
let startIndex = 0;
|
|
4787
|
-
const key = keys[0];
|
|
4788
4786
|
const records = this.flatRecords.map(r => r.data);
|
|
4789
|
-
const groupedRecords =
|
|
4790
|
-
|
|
4791
|
-
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
const
|
|
4799
|
-
const
|
|
4800
|
-
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4787
|
+
const groupedRecords = this.groupByKeys(records, keys);
|
|
4788
|
+
this.createRowDimension(groupedRecords, keys, columnGroupParent);
|
|
4789
|
+
}
|
|
4790
|
+
groupByKeys(items, keys) {
|
|
4791
|
+
const group = (data, groupKeys) => {
|
|
4792
|
+
if (groupKeys.length === 0)
|
|
4793
|
+
return data;
|
|
4794
|
+
const newKeys = [...groupKeys];
|
|
4795
|
+
const key = newKeys.shift().name;
|
|
4796
|
+
const map = new Map();
|
|
4797
|
+
for (const item of data) {
|
|
4798
|
+
const keyValue = item[key];
|
|
4799
|
+
if (!map.has(keyValue)) {
|
|
4800
|
+
map.set(keyValue, []);
|
|
4801
|
+
}
|
|
4802
|
+
map.get(keyValue).push(item);
|
|
4803
|
+
}
|
|
4804
|
+
for (const [keyValue, value] of map) {
|
|
4805
|
+
map.set(keyValue, group(value, newKeys));
|
|
4806
|
+
}
|
|
4807
|
+
return map;
|
|
4808
|
+
};
|
|
4809
|
+
return group(items, keys);
|
|
4810
|
+
}
|
|
4811
|
+
calculateRowSpan(value) {
|
|
4812
|
+
if (value instanceof Map) {
|
|
4813
|
+
return Array.from(value.values()).reduce((total, current) => total + this.calculateRowSpan(current), 0);
|
|
4814
|
+
}
|
|
4815
|
+
else if (Array.isArray(value)) {
|
|
4816
|
+
return value.length;
|
|
4807
4817
|
}
|
|
4808
|
-
|
|
4818
|
+
return 0;
|
|
4819
|
+
}
|
|
4820
|
+
createRowDimension(node, keys, columnGroupParent) {
|
|
4821
|
+
if (!(node instanceof Map))
|
|
4822
|
+
return;
|
|
4823
|
+
const key = keys[0];
|
|
4824
|
+
const newKeys = keys.filter(k => k.level > key.level);
|
|
4825
|
+
let startIndex = 0;
|
|
4826
|
+
for (const k of node.keys()) {
|
|
4809
4827
|
let groupKey = k;
|
|
4810
|
-
const rowSpan =
|
|
4828
|
+
const rowSpan = this.calculateRowSpan(node.get(k));
|
|
4811
4829
|
const rowDimensionColumn = {
|
|
4812
4830
|
columnSpan: 1,
|
|
4813
4831
|
rowSpan,
|
|
@@ -4818,30 +4836,26 @@ class IgxBaseExporter {
|
|
|
4818
4836
|
pinnedIndex: 0,
|
|
4819
4837
|
level: key.level,
|
|
4820
4838
|
dataType: 'string',
|
|
4821
|
-
headerType:
|
|
4839
|
+
headerType: rowSpan > 1 ? ExportHeaderType.MultiRowHeader : ExportHeaderType.RowHeader,
|
|
4822
4840
|
};
|
|
4823
|
-
if (groupKey
|
|
4824
|
-
this.pivotGridColumns
|
|
4841
|
+
if (!groupKey) {
|
|
4842
|
+
// if (this.pivotGridColumns?.length)
|
|
4843
|
+
// this.pivotGridColumns[this.pivotGridColumns.length - 1].columnSpan += 1;
|
|
4825
4844
|
rowDimensionColumn.headerType = ExportHeaderType.PivotMergedHeader;
|
|
4826
4845
|
groupKey = columnGroupParent;
|
|
4827
4846
|
}
|
|
4828
|
-
if (
|
|
4847
|
+
if (key.level > 0) {
|
|
4829
4848
|
rowDimensionColumn.columnGroupParent = columnGroupParent;
|
|
4830
4849
|
}
|
|
4831
4850
|
else {
|
|
4832
4851
|
rowDimensionColumn.columnGroup = groupKey;
|
|
4833
4852
|
}
|
|
4834
4853
|
this.pivotGridColumns.push(rowDimensionColumn);
|
|
4835
|
-
if (keys.length > 1) {
|
|
4836
|
-
if (groupKey !== columnGroupParent) {
|
|
4837
|
-
this.pivotGridKeyValueMap.set(key.name, groupKey);
|
|
4838
|
-
}
|
|
4839
|
-
const newKeys = keys.filter(kdd => kdd !== key);
|
|
4840
|
-
this.preparePivotGridColumns(newKeys, groupKey);
|
|
4841
|
-
this.pivotGridKeyValueMap.delete(key.name);
|
|
4842
|
-
}
|
|
4843
4854
|
startIndex += rowSpan;
|
|
4844
4855
|
}
|
|
4856
|
+
for (const k of node.keys()) {
|
|
4857
|
+
this.createRowDimension(node.get(k), newKeys, columnGroupParent);
|
|
4858
|
+
}
|
|
4845
4859
|
}
|
|
4846
4860
|
addLevelColumns() {
|
|
4847
4861
|
if (this.options.exportSummaries && this.summaries.size > 0) {
|
|
@@ -5947,7 +5961,7 @@ class WorksheetFile {
|
|
|
5947
5961
|
: owner.maxLevel;
|
|
5948
5962
|
for (const currentCol of headersForLevel) {
|
|
5949
5963
|
const spanLength = isVertical ? currentCol.rowSpan : currentCol.columnSpan;
|
|
5950
|
-
if (currentCol.level === i
|
|
5964
|
+
if (currentCol.level === i) {
|
|
5951
5965
|
let columnCoordinate;
|
|
5952
5966
|
const column = isVertical
|
|
5953
5967
|
? this.rowIndex
|
|
@@ -5958,7 +5972,9 @@ class WorksheetFile {
|
|
|
5958
5972
|
if (currentCol.headerType === ExportHeaderType.PivotRowHeader) {
|
|
5959
5973
|
rowCoordinate = startValue + 1;
|
|
5960
5974
|
}
|
|
5961
|
-
const columnValue =
|
|
5975
|
+
const columnValue = currentCol.headerType === ExportHeaderType.PivotMergedHeader ?
|
|
5976
|
+
dictionary.saveValue(currentCol.field, true, true) :
|
|
5977
|
+
dictionary.saveValue(currentCol.header, true, false);
|
|
5962
5978
|
columnCoordinate = (currentCol.field === GRID_LEVEL_COL
|
|
5963
5979
|
? ExcelStrings.getExcelColumn(worksheetData.columnCount + 1)
|
|
5964
5980
|
: ExcelStrings.getExcelColumn(column)) + rowCoordinate;
|
|
@@ -21224,6 +21240,7 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
|
|
|
21224
21240
|
* @hidden
|
|
21225
21241
|
*/
|
|
21226
21242
|
ngOnDestroy() {
|
|
21243
|
+
this.hideTooltip();
|
|
21227
21244
|
this.destroy$.next();
|
|
21228
21245
|
this.destroy$.complete();
|
|
21229
21246
|
}
|
|
@@ -80614,7 +80631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
80614
80631
|
*
|
|
80615
80632
|
*
|
|
80616
80633
|
* @igxModule IgxGridToolbarModule
|
|
80617
|
-
* @igxParent IgxGridToolbarComponent
|
|
80634
|
+
* @igxParent IgxGridToolbarComponent, IgxGridToolbarActionsComponent
|
|
80618
80635
|
*
|
|
80619
80636
|
* @example
|
|
80620
80637
|
* ```html
|
|
@@ -80949,7 +80966,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
80949
80966
|
* in order to export something.
|
|
80950
80967
|
*
|
|
80951
80968
|
* @igxModule IgxGridToolbarModule
|
|
80952
|
-
* @igxParent IgxGridToolbarComponent
|
|
80969
|
+
* @igxParent IgxGridToolbarComponent, IgxGridToolbarActionsComponent
|
|
80953
80970
|
*
|
|
80954
80971
|
*/
|
|
80955
80972
|
class IgxGridToolbarExporterComponent extends BaseToolbarDirective {
|
|
@@ -81052,7 +81069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
81052
81069
|
*
|
|
81053
81070
|
*
|
|
81054
81071
|
* @igxModule IgxGridToolbarModule
|
|
81055
|
-
* @igxParent IgxGridToolbarComponent
|
|
81072
|
+
* @igxParent IgxGridToolbarComponent, IgxGridToolbarActionsComponent
|
|
81056
81073
|
*
|
|
81057
81074
|
* @example
|
|
81058
81075
|
* ```html
|
|
@@ -81084,7 +81101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
81084
81101
|
*
|
|
81085
81102
|
*
|
|
81086
81103
|
* @igxModule IgxGridToolbarModule
|
|
81087
|
-
* @igxParent IgxGridToolbarComponent
|
|
81104
|
+
* @igxParent IgxGridToolbarComponent, IgxGridToolbarActionsComponent
|
|
81088
81105
|
*
|
|
81089
81106
|
* @example
|
|
81090
81107
|
* ```html
|