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.
@@ -2622,6 +2622,19 @@ class ExportUtilities {
2622
2622
  static isNullOrWhitespaces(value) {
2623
2623
  return value === undefined || value === null || !value.trim();
2624
2624
  }
2625
+ static sanitizeValue(value) {
2626
+ if (!this.hasValue(value)) {
2627
+ return '';
2628
+ }
2629
+ else {
2630
+ const stringValue = String(value);
2631
+ return stringValue.replace(/&/g, '&')
2632
+ .replace(/</g, '&lt;')
2633
+ .replace(/>/g, '&gt;')
2634
+ .replace(/"/g, '&quot;')
2635
+ .replace(/'/g, '&apos;');
2636
+ }
2637
+ }
2625
2638
  }
2626
2639
 
2627
2640
  var FilteringExpressionsTreeType;
@@ -3734,7 +3747,7 @@ class IgxBaseExporter {
3734
3747
  .length :
3735
3748
  1;
3736
3749
  const columnInfo = {
3737
- header: columnHeader,
3750
+ header: ExportUtilities.sanitizeValue(columnHeader),
3738
3751
  dataType: column.dataType,
3739
3752
  field: column.field,
3740
3753
  skip: !exportColumn,
@@ -4775,7 +4788,7 @@ class WorksheetFile {
4775
4788
  const rowCoordinate = isVertical
4776
4789
  ? startValue + owner.maxLevel + 2
4777
4790
  : this.rowIndex;
4778
- const columnValue = dictionary.saveValue(currentCol.header, true);
4791
+ const columnValue = dictionary.saveValue(currentCol.header, true, false);
4779
4792
  columnCoordinate = ExcelStrings.getExcelColumn(column) + rowCoordinate;
4780
4793
  rowStyle = isVertical && currentCol.rowSpan > 1 ? ' s="4"' : rowStyle;
4781
4794
  str = `<c r="${columnCoordinate}"${rowStyle} t="s"><v>${columnValue}</v></c>`;
@@ -5118,12 +5131,12 @@ class WorksheetDataDictionary {
5118
5131
  get columnWidths() {
5119
5132
  return this._columnWidths;
5120
5133
  }
5121
- saveValue(value, isHeader) {
5134
+ saveValue(value, isHeader, shouldSanitizeValue = true) {
5122
5135
  let sanitizedValue = '';
5123
5136
  const isDate = value instanceof Date;
5124
5137
  const isSavedAsString = isHeader || (typeof value !== 'number' && value !== Number(value) && !Number.isFinite(value) && !isDate);
5125
5138
  if (isSavedAsString) {
5126
- sanitizedValue = this.sanitizeValue(value);
5139
+ sanitizedValue = shouldSanitizeValue ? ExportUtilities.sanitizeValue(value) : value;
5127
5140
  if (this._dictionary[sanitizedValue] === undefined) {
5128
5141
  this._dictionary[sanitizedValue] = this._counter++;
5129
5142
  this.dirtyKeyCollections();
@@ -5139,7 +5152,7 @@ class WorksheetDataDictionary {
5139
5152
  return isSavedAsString ? this.getSanitizedValue(sanitizedValue) : -1;
5140
5153
  }
5141
5154
  getValue(value) {
5142
- return this.getSanitizedValue(this.sanitizeValue(value));
5155
+ return this.getSanitizedValue(ExportUtilities.sanitizeValue(value));
5143
5156
  }
5144
5157
  getSanitizedValue(sanitizedValue) {
5145
5158
  return this._dictionary[sanitizedValue];
@@ -5167,19 +5180,6 @@ class WorksheetDataDictionary {
5167
5180
  }
5168
5181
  return this._context;
5169
5182
  }
5170
- sanitizeValue(value) {
5171
- if (ExportUtilities.hasValue(value) === false) {
5172
- return '';
5173
- }
5174
- else {
5175
- const stringValue = String(value);
5176
- return stringValue.replace(/&/g, '&amp;')
5177
- .replace(/</g, '&lt;')
5178
- .replace(/>/g, '&gt;')
5179
- .replace(/"/g, '&quot;')
5180
- .replace(/'/g, '&apos;');
5181
- }
5182
- }
5183
5183
  dirtyKeyCollections() {
5184
5184
  this._keysAreValid = false;
5185
5185
  }
@@ -33093,20 +33093,10 @@ class IgxCardHeaderComponent {
33093
33093
  * ```
33094
33094
  */
33095
33095
  this.vertical = false;
33096
- /**
33097
- * An @Input property that sets the value of the `role` attribute of the card header.
33098
- * By default the value is set to `header`.
33099
- *
33100
- * @example
33101
- * ```html
33102
- * <igx-card-header role="header"></igx-card-header>
33103
- * ```
33104
- */
33105
- this.role = 'header';
33106
33096
  }
33107
33097
  }
33108
33098
  IgxCardHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33109
- 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" });
33099
+ 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" });
33110
33100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxCardHeaderComponent, decorators: [{
33111
33101
  type: Component,
33112
33102
  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" }]
@@ -33118,9 +33108,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
33118
33108
  args: ['class.igx-card-header--vertical']
33119
33109
  }, {
33120
33110
  type: Input
33121
- }], role: [{
33122
- type: HostBinding,
33123
- args: ['attr.role']
33124
33111
  }] } });
33125
33112
  /**
33126
33113
  * IgxCardThumbnail is container for the card thumbnail section.
@@ -66540,9 +66527,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
66540
66527
  columnsArray = this.getSelectableColumnsAt(each);
66541
66528
  columnsArray.forEach((col) => {
66542
66529
  if (col) {
66543
- const key = headers ? col.header || col.field : col.field;
66530
+ const key = !this.isPivot && headers ? col.header || col.field : col.field;
66544
66531
  const rowData = source[row].ghostRecord ? source[row].recordRef : source[row];
66545
- const value = resolveNestedPath(rowData, col.field);
66532
+ const value = this.isPivot ? rowData.aggregationValues.get(col.field)
66533
+ : resolveNestedPath(rowData, col.field);
66546
66534
  record[key] = formatters && col.formatter ? col.formatter(value, rowData) : value;
66547
66535
  if (columnData) {
66548
66536
  if (!record[key]) {