igniteui-angular 19.2.0-rc.0 → 19.2.1
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 +42 -5
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/components/icon-button/_icon-button-theme.scss +2 -2
- package/lib/core/styles/components/input/_input-group-theme.scss +23 -1
- package/lib/services/exporter-common/base-export-service.d.ts +2 -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
|
@@ -3476,7 +3476,7 @@ class BaseFilteringStrategy {
|
|
|
3476
3476
|
}
|
|
3477
3477
|
else if (column.dataType === GridColumnDataType.Time) {
|
|
3478
3478
|
const date = key ? new Date(key) : key;
|
|
3479
|
-
key = date ? new Date().setHours(date.getHours(), date.getMinutes(), date.getSeconds()) : key;
|
|
3479
|
+
key = date ? new Date().setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()) : key;
|
|
3480
3480
|
item.value = key ? new Date(key) : key;
|
|
3481
3481
|
}
|
|
3482
3482
|
else if (column.dataType === GridColumnDataType.Date) {
|
|
@@ -4050,11 +4050,15 @@ class IgxBaseExporter {
|
|
|
4050
4050
|
if (!isSpecialData) {
|
|
4051
4051
|
const owner = record.owner === undefined ? DEFAULT_OWNER : record.owner;
|
|
4052
4052
|
const ownerCols = this._ownersMap.get(owner).columns;
|
|
4053
|
+
const hasRowHeaders = ownerCols.some(c => c.headerType === ExportHeaderType.RowHeader);
|
|
4053
4054
|
if (record.type !== ExportRecordType.HeaderRecord) {
|
|
4054
4055
|
const columns = ownerCols
|
|
4055
4056
|
.filter(c => c.headerType === ExportHeaderType.ColumnHeader && !c.skip)
|
|
4056
4057
|
.sort((a, b) => a.startIndex - b.startIndex)
|
|
4057
4058
|
.sort((a, b) => a.pinnedIndex - b.pinnedIndex);
|
|
4059
|
+
if (hasRowHeaders) {
|
|
4060
|
+
record.rawData = record.data;
|
|
4061
|
+
}
|
|
4058
4062
|
record.data = columns.reduce((a, e) => {
|
|
4059
4063
|
if (!e.skip) {
|
|
4060
4064
|
let rawValue = resolveNestedPath(record.data, e.field);
|
|
@@ -4176,6 +4180,9 @@ class IgxBaseExporter {
|
|
|
4176
4180
|
};
|
|
4177
4181
|
this.flatRecords.push(pivotGridRecord);
|
|
4178
4182
|
}
|
|
4183
|
+
if (this.flatRecords.length) {
|
|
4184
|
+
this.flatRecords[0].dimensionKeys = Object.values(this.pivotGridRowDimensionsMap);
|
|
4185
|
+
}
|
|
4179
4186
|
}
|
|
4180
4187
|
prepareHierarchicalGridData(grid, hasFiltering, hasSorting) {
|
|
4181
4188
|
const skipOperations = (!hasFiltering || !this.options.ignoreFiltering) &&
|
|
@@ -4915,7 +4922,10 @@ class CharSeparatedValueData {
|
|
|
4915
4922
|
this._isSpecialData = ExportUtilities.isSpecialData(this._data[0]);
|
|
4916
4923
|
this._escapeCharacters.push(this._delimiter);
|
|
4917
4924
|
const headers = columns && columns.length ?
|
|
4918
|
-
|
|
4925
|
+
/* When column groups are present, always use the field as it indicates the group the column belongs to.
|
|
4926
|
+
* Otherwise, in PivotGrid scenarios we can end up with many duplicated column names without a hint what they represent.
|
|
4927
|
+
*/
|
|
4928
|
+
columns.map(c => c.columnGroupParent ? c.field : c.header ?? c.field) :
|
|
4919
4929
|
keys;
|
|
4920
4930
|
this._headerRecord = this.processHeaderRecord(headers, this._data.length);
|
|
4921
4931
|
if (keys.length === 0 || ((!this._data || this._data.length === 0) && keys.length === 0)) {
|
|
@@ -5254,9 +5264,28 @@ class IgxCsvExporterService extends IgxBaseExporter {
|
|
|
5254
5264
|
this.exportEnded = new EventEmitter();
|
|
5255
5265
|
}
|
|
5256
5266
|
exportDataImplementation(data, options, done) {
|
|
5257
|
-
|
|
5267
|
+
const dimensionKeys = data[0]?.dimensionKeys;
|
|
5268
|
+
data = dimensionKeys?.length ?
|
|
5269
|
+
data.map((item) => item.rawData) :
|
|
5270
|
+
data.map((item) => item.data);
|
|
5258
5271
|
const columnList = this._ownersMap.get(DEFAULT_OWNER);
|
|
5259
|
-
const
|
|
5272
|
+
const columns = columnList?.columns.filter(c => c.headerType === ExportHeaderType.ColumnHeader);
|
|
5273
|
+
if (dimensionKeys) {
|
|
5274
|
+
const dimensionCols = dimensionKeys.map((key) => {
|
|
5275
|
+
const columnInfo = {
|
|
5276
|
+
header: key,
|
|
5277
|
+
field: key,
|
|
5278
|
+
dataType: 'string',
|
|
5279
|
+
skip: false,
|
|
5280
|
+
headerType: ExportHeaderType.ColumnHeader,
|
|
5281
|
+
columnSpan: 1,
|
|
5282
|
+
startIndex: 0
|
|
5283
|
+
};
|
|
5284
|
+
return columnInfo;
|
|
5285
|
+
});
|
|
5286
|
+
columns.unshift(...dimensionCols);
|
|
5287
|
+
}
|
|
5288
|
+
const csvData = new CharSeparatedValueData(data, options.valueDelimiter, columns);
|
|
5260
5289
|
csvData.prepareDataAsync((r) => {
|
|
5261
5290
|
this._stringData = r;
|
|
5262
5291
|
this.saveFile(options);
|
|
@@ -92228,7 +92257,15 @@ class IgxSplitterComponent {
|
|
|
92228
92257
|
this.resizing.emit(args);
|
|
92229
92258
|
}
|
|
92230
92259
|
onMoveEnd(delta) {
|
|
92231
|
-
|
|
92260
|
+
let [paneSize, siblingSize] = this.calcNewSizes(delta);
|
|
92261
|
+
if (paneSize + siblingSize > this.getTotalSize() && delta < 0) {
|
|
92262
|
+
paneSize = this.getTotalSize();
|
|
92263
|
+
siblingSize = 0;
|
|
92264
|
+
}
|
|
92265
|
+
else if (paneSize + siblingSize > this.getTotalSize() && delta > 0) {
|
|
92266
|
+
paneSize = 0;
|
|
92267
|
+
siblingSize = this.getTotalSize();
|
|
92268
|
+
}
|
|
92232
92269
|
if (this.pane.isPercentageSize) {
|
|
92233
92270
|
// handle % resizes
|
|
92234
92271
|
const totalSize = this.getTotalSize();
|