igniteui-angular 14.2.23 → 14.2.25

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.
@@ -2123,6 +2123,19 @@ class ExportUtilities {
2123
2123
  static isNullOrWhitespaces(value) {
2124
2124
  return value === undefined || value === null || !value.trim();
2125
2125
  }
2126
+ static sanitizeValue(value) {
2127
+ if (!this.hasValue(value)) {
2128
+ return '';
2129
+ }
2130
+ else {
2131
+ const stringValue = String(value);
2132
+ return stringValue.replace(/&/g, '&')
2133
+ .replace(/</g, '&lt;')
2134
+ .replace(/>/g, '&gt;')
2135
+ .replace(/"/g, '&quot;')
2136
+ .replace(/'/g, '&apos;');
2137
+ }
2138
+ }
2126
2139
  }
2127
2140
 
2128
2141
  var FilteringExpressionsTreeType;
@@ -3238,7 +3251,7 @@ class IgxBaseExporter {
3238
3251
  .length :
3239
3252
  1;
3240
3253
  const columnInfo = {
3241
- header: columnHeader,
3254
+ header: ExportUtilities.sanitizeValue(columnHeader),
3242
3255
  dataType: column.dataType,
3243
3256
  field: column.field,
3244
3257
  skip: !exportColumn,
@@ -4283,7 +4296,7 @@ class WorksheetFile {
4283
4296
  const rowCoordinate = isVertical
4284
4297
  ? startValue + owner.maxLevel + 2
4285
4298
  : this.rowIndex;
4286
- const columnValue = dictionary.saveValue(currentCol.header, true);
4299
+ const columnValue = dictionary.saveValue(currentCol.header, true, false);
4287
4300
  columnCoordinate = ExcelStrings.getExcelColumn(column) + rowCoordinate;
4288
4301
  rowStyle = isVertical && currentCol.rowSpan > 1 ? ' s="4"' : rowStyle;
4289
4302
  str = `<c r="${columnCoordinate}"${rowStyle} t="s"><v>${columnValue}</v></c>`;
@@ -4626,12 +4639,12 @@ class WorksheetDataDictionary {
4626
4639
  get columnWidths() {
4627
4640
  return this._columnWidths;
4628
4641
  }
4629
- saveValue(value, isHeader) {
4642
+ saveValue(value, isHeader, shouldSanitizeValue = true) {
4630
4643
  let sanitizedValue = '';
4631
4644
  const isDate = value instanceof Date;
4632
4645
  const isSavedAsString = isHeader || (typeof value !== 'number' && value !== Number(value) && !Number.isFinite(value) && !isDate);
4633
4646
  if (isSavedAsString) {
4634
- sanitizedValue = this.sanitizeValue(value);
4647
+ sanitizedValue = shouldSanitizeValue ? ExportUtilities.sanitizeValue(value) : value;
4635
4648
  if (this._dictionary[sanitizedValue] === undefined) {
4636
4649
  this._dictionary[sanitizedValue] = this._counter++;
4637
4650
  this.dirtyKeyCollections();
@@ -4647,7 +4660,7 @@ class WorksheetDataDictionary {
4647
4660
  return isSavedAsString ? this.getSanitizedValue(sanitizedValue) : -1;
4648
4661
  }
4649
4662
  getValue(value) {
4650
- return this.getSanitizedValue(this.sanitizeValue(value));
4663
+ return this.getSanitizedValue(ExportUtilities.sanitizeValue(value));
4651
4664
  }
4652
4665
  getSanitizedValue(sanitizedValue) {
4653
4666
  return this._dictionary[sanitizedValue];
@@ -4675,19 +4688,6 @@ class WorksheetDataDictionary {
4675
4688
  }
4676
4689
  return this._context;
4677
4690
  }
4678
- sanitizeValue(value) {
4679
- if (ExportUtilities.hasValue(value) === false) {
4680
- return '';
4681
- }
4682
- else {
4683
- const stringValue = String(value);
4684
- return stringValue.replace(/&/g, '&amp;')
4685
- .replace(/</g, '&lt;')
4686
- .replace(/>/g, '&gt;')
4687
- .replace(/"/g, '&quot;')
4688
- .replace(/'/g, '&apos;');
4689
- }
4690
- }
4691
4691
  dirtyKeyCollections() {
4692
4692
  this._keysAreValid = false;
4693
4693
  }
@@ -32684,20 +32684,10 @@ class IgxCardHeaderComponent {
32684
32684
  * ```
32685
32685
  */
32686
32686
  this.vertical = false;
32687
- /**
32688
- * An @Input property that sets the value of the `role` attribute of the card header.
32689
- * By default the value is set to `header`.
32690
- *
32691
- * @example
32692
- * ```html
32693
- * <igx-card-header role="header"></igx-card-header>
32694
- * ```
32695
- */
32696
- this.role = 'header';
32697
32687
  }
32698
32688
  }
32699
32689
  IgxCardHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32700
- IgxCardHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: IgxCardHeaderComponent, selector: "igx-card-header", inputs: { vertical: "vertical" }, host: { properties: { "class.igx-card-header": "this.cssClass", "class.igx-card-header--vertical": "this.vertical", "attr.role": "this.role" } }, ngImport: i0, template: "<div class=\"igx-card-header__thumbnail\">\n <ng-content select=\"igx-avatar, igx-card-media, [igxCardThumbnail]\"></ng-content>\n</div>\n\n<div class=\"igx-card-header__titles\">\n <ng-content select=\"\n [igxCardHeaderTitle],\n [igxCardHeaderSubtitle],\n .igx-card-header__title,\n .igx-card-header__subtitle\">\n </ng-content>\n</div>\n\n<ng-content></ng-content>\n" });
32690
+ IgxCardHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: IgxCardHeaderComponent, selector: "igx-card-header", inputs: { vertical: "vertical" }, host: { properties: { "class.igx-card-header": "this.cssClass", "class.igx-card-header--vertical": "this.vertical" } }, ngImport: i0, template: "<div class=\"igx-card-header__thumbnail\">\n <ng-content select=\"igx-avatar, igx-card-media, [igxCardThumbnail]\"></ng-content>\n</div>\n\n<div class=\"igx-card-header__titles\">\n <ng-content select=\"\n [igxCardHeaderTitle],\n [igxCardHeaderSubtitle],\n .igx-card-header__title,\n .igx-card-header__subtitle\">\n </ng-content>\n</div>\n\n<ng-content></ng-content>\n" });
32701
32691
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxCardHeaderComponent, decorators: [{
32702
32692
  type: Component,
32703
32693
  args: [{ selector: 'igx-card-header', template: "<div class=\"igx-card-header__thumbnail\">\n <ng-content select=\"igx-avatar, igx-card-media, [igxCardThumbnail]\"></ng-content>\n</div>\n\n<div class=\"igx-card-header__titles\">\n <ng-content select=\"\n [igxCardHeaderTitle],\n [igxCardHeaderSubtitle],\n .igx-card-header__title,\n .igx-card-header__subtitle\">\n </ng-content>\n</div>\n\n<ng-content></ng-content>\n" }]
@@ -32709,9 +32699,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
32709
32699
  args: ['class.igx-card-header--vertical']
32710
32700
  }, {
32711
32701
  type: Input
32712
- }], role: [{
32713
- type: HostBinding,
32714
- args: ['attr.role']
32715
32702
  }] } });
32716
32703
  /**
32717
32704
  * IgxCardThumbnail is container for the card thumbnail section.
@@ -66324,9 +66311,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
66324
66311
  columnsArray = this.getSelectableColumnsAt(each);
66325
66312
  columnsArray.forEach((col) => {
66326
66313
  if (col) {
66327
- const key = headers ? col.header || col.field : col.field;
66314
+ const key = !this.isPivot && headers ? col.header || col.field : col.field;
66328
66315
  const rowData = source[row].ghostRecord ? source[row].recordRef : source[row];
66329
- const value = resolveNestedPath(rowData, col.field);
66316
+ const value = this.isPivot ? rowData.aggregationValues.get(col.field)
66317
+ : resolveNestedPath(rowData, col.field);
66330
66318
  record[key] = formatters && col.formatter ? col.formatter(value, rowData) : value;
66331
66319
  if (columnData) {
66332
66320
  if (!record[key]) {