Skip to content

Commit ed51673

Browse files
Merge branch '17.2.x' into aahmedov/fix-touched-invalid-color-follow-up-17.2.x
2 parents b79e1cd + 515bfda commit ed51673

File tree

7 files changed

+72
-47
lines changed

7 files changed

+72
-47
lines changed

projects/igniteui-angular/src/lib/combo/combo.common.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -176,17 +176,11 @@ export abstract class IgxComboBaseDirective extends DisplayDensityBase implement
176176
return;
177177
}
178178
const selection = this.selectionService.get(this._id);
179+
this.selectionService.clear(this._id);
179180
this._id = value;
180181
if (selection) {
181182
this.selectionService.set(this._id, selection);
182183
}
183-
if (this.dropdown?.open) {
184-
this.dropdown.close();
185-
}
186-
if (this.inputGroup?.isFocused) {
187-
this.inputGroup.element.nativeElement.blur();
188-
this.inputGroup.isFocused = false;
189-
}
190184
}
191185

192186
/**

projects/igniteui-angular/src/lib/navigation-drawer/navigation-drawer.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
[class.igx-nav-drawer--disable-animation]="disableAnimation"
1414
(click)="close()" #overlay>
1515
</div>
16-
<aside role="navigation"
16+
<nav
1717
class="igx-nav-drawer__aside"
1818
[class.igx-nav-drawer__aside--collapsed]="!miniTemplate && !isOpen"
1919
[class.igx-nav-drawer__aside--mini]="miniTemplate && !isOpen"
@@ -23,5 +23,5 @@
2323
[class.igx-nav-drawer--disable-animation]="disableAnimation">
2424

2525
<ng-container *ngTemplateOutlet="template || defaultItemsTemplate"></ng-container>
26-
</aside>
26+
</nav>
2727
<div class="igx-nav-drawer__style-dummy" #dummy></div>

projects/igniteui-angular/src/lib/navigation-drawer/navigation-drawer.component.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ describe('Navigation Drawer', () => {
203203
fixture.detectChanges();
204204

205205
expect(fixture.componentInstance.navDrawer.hasAnimateWidth).toBeTruthy();
206-
expect(fixture.debugElement.query((x) => x.nativeNode.nodeName === 'ASIDE').nativeElement.classList)
206+
expect(fixture.debugElement.query(By.css('.igx-nav-drawer__aside')).nativeElement.classList)
207207
.toContain('igx-nav-drawer__aside--mini');
208208
}).catch((reason) => Promise.reject(reason));
209209
}));
@@ -260,7 +260,7 @@ describe('Navigation Drawer', () => {
260260
fixture.detectChanges();
261261

262262
expect(fixture.componentInstance.navDrawer.pin).toBeTruthy();
263-
expect(fixture.debugElement.query((x) => x.nativeNode.nodeName === 'ASIDE').nativeElement.classList)
263+
expect(fixture.debugElement.query(By.css('.igx-nav-drawer__aside')).nativeElement.classList)
264264
.toContain('igx-nav-drawer__aside--pinned');
265265

266266
expect(fixture.componentInstance.navDrawer.enableGestures).toBe(false);
@@ -289,7 +289,7 @@ describe('Navigation Drawer', () => {
289289
fixture.detectChanges();
290290
const windowHeight = window.innerHeight;
291291
const container = fixture.debugElement.query(By.css('div')).nativeElement;
292-
const navdrawer = fixture.debugElement.query(By.css('igx-nav-drawer > aside')).nativeElement;
292+
const navdrawer = fixture.debugElement.query(By.css('igx-nav-drawer > .igx-nav-drawer__aside')).nativeElement;
293293

294294
fixture.componentInstance.pin = false;
295295
fixture.detectChanges();

projects/igniteui-angular/src/lib/services/excel/excel-exporter.spec.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,21 @@ describe('Excel Exporter', () => {
134134
await wrapper.verifyDataFilesContent(actualData.contactsDataSkippedColumnContent);
135135
});
136136

137+
it('should not fail when data contains null characters (#14944).', async () => {
138+
options.columnWidth = 50;
139+
const wrapper = await getExportedData([
140+
'Terrance\u0000Orta',
141+
'Richard Mahoney\x00LongerName',
142+
'Donna\0Price',
143+
'Lisa Landers',
144+
'Dorothy H. Spencer'
145+
], options);
146+
147+
wrapper.verifyStructure();
148+
await wrapper.verifyTemplateFilesContent();
149+
await wrapper.verifyDataFilesContent(actualData.noHeadersStringDataWithNullChars);
150+
});
151+
137152
const getExportedData = (data: any[], exportOptions: IgxExcelExporterOptions) => {
138153
const result = new Promise<ZipWrapper>((resolve) => {
139154
exporter.exportEnded.pipe(first()).subscribe((value) => {

projects/igniteui-angular/src/lib/services/excel/test-data.service.spec.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,4 +1911,22 @@ export class FileContentData {
19111911

19121912
return this.createData();
19131913
}
1914+
1915+
public get noHeadersStringDataWithNullChars() {
1916+
this._sharedStringsData = `count="6" uniqueCount="6"><si><t>Column1</t></si><si><t>TerranceOrta</t></si>` +
1917+
`<si><t>Richard MahoneyLongerName</t></si><si><t>DonnaPrice</t></si><si><t>Lisa Landers</t></si><si><t>` +
1918+
`Dorothy H. Spencer</t></si>`;
1919+
1920+
this._tableData = `ref="A1:A6" totalsRowShown="0"><autoFilter ref="A1:A6"/><tableColumns count="1">` +
1921+
`<tableColumn id="1" name="Column1"/></tableColumns>`;
1922+
1923+
this._worksheetData = `<dimension ref="A1:A6"/><sheetViews><sheetView tabSelected="1" workbookViewId="0"></sheetView>` +
1924+
`</sheetViews><sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/><cols><col min="1" max="1" ` +
1925+
`width="50" customWidth="1"/></cols><sheetData><row r="1"><c r="A1" t="s"><v>0</v></c></row><row r="2">` +
1926+
`<c r="A2" t="s"><v>1</v></c></row><row r="3"><c r="A3" t="s"><v>2</v></c></row><row r="4"><c r="A4" t="s"><v>3</v>` +
1927+
`</c></row><row r="5"><c r="A5" t="s"><v>4</v></c></row><row r="6"><c r="A6" t="s"><v>5</v></c></row></sheetData>`;
1928+
1929+
return this.createData();
1930+
}
1931+
19141932
}

projects/igniteui-angular/src/lib/services/exporter-common/export-utilities.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ export class ExportUtilities {
6868
.replace(/</g, '&lt;')
6969
.replace(/>/g, '&gt;')
7070
.replace(/"/g, '&quot;')
71-
.replace(/'/g, '&apos;');
71+
.replace(/'/g, '&apos;')
72+
// Bug #14944 - Remove the not supported null character (\u0000, \x00)
73+
.replace(/\x00/g, '');
7274
}
7375
}
7476
}

src/app/app.component.html

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,45 @@
55
[(pin)]="drawerState.pin" [position]="drawerState.position">
66

77
<ng-template igxDrawer>
8-
<nav>
9-
<div class="nav-header"></div>
8+
<div class="nav-header"></div>
109

11-
<!-- Components -->
12-
<span igxDrawerItem [isHeader]="true">Components</span>
10+
<!-- Components -->
11+
<span igxDrawerItem [isHeader]="true">Components</span>
1312

14-
<span *ngFor="let item of componentLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
15-
<igx-icon>{{item.icon}}</igx-icon>
16-
<span class="navdrawer-ellipsis">{{item.name}}</span>
17-
</span>
13+
<span *ngFor="let item of componentLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
14+
<igx-icon>{{item.icon}}</igx-icon>
15+
<span class="navdrawer-ellipsis">{{item.name}}</span>
16+
</span>
1817

19-
<!--Directives-->
20-
<span igxDrawerItem [isHeader]="true">Directives</span>
18+
<!--Directives-->
19+
<span igxDrawerItem [isHeader]="true">Directives</span>
2120

22-
<span *ngFor="let item of directiveLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
23-
<igx-icon>{{item.icon}}</igx-icon>
24-
<span class="navdrawer-ellipsis">{{item.name}}</span>
25-
</span>
21+
<span *ngFor="let item of directiveLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
22+
<igx-icon>{{item.icon}}</igx-icon>
23+
<span class="navdrawer-ellipsis">{{item.name}}</span>
24+
</span>
2625

27-
<!--Style guide-->
28-
<span igxDrawerItem [isHeader]="true">Style</span>
26+
<!--Style guide-->
27+
<span igxDrawerItem [isHeader]="true">Style</span>
2928

30-
<span *ngFor="let item of styleLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
31-
<igx-icon>{{item.icon}}</igx-icon>
32-
<span class="navdrawer-ellipsis">{{item.name}}</span>
33-
</span>
34-
</nav>
29+
<span *ngFor="let item of styleLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
30+
<igx-icon>{{item.icon}}</igx-icon>
31+
<span class="navdrawer-ellipsis">{{item.name}}</span>
32+
</span>
3533
</ng-template>
3634

3735
<ng-template *ngIf="drawerState.miniVariant" igxDrawerMini>
38-
<nav>
39-
<span *ngFor="let item of componentLinks" igxRipple igxDrawerItem routerLinkActive #rla="routerLinkActive" [active]="rla.isActive" routerLink="{{item.link}}">
40-
<igx-icon>{{item.icon}}</igx-icon>
41-
</span>
42-
43-
<span *ngFor="let item of directiveLinks" igxDrawerItem igxRipple routerLinkActive #rla="routerLinkActive" [active]="rla.isActive" routerLink="{{item.link}}">
44-
<igx-icon>{{item.icon}}</igx-icon>
45-
</span>
46-
47-
<span *ngFor="let item of styleLinks" igxDrawerItem igxRipple routerLinkActive #rla="routerLinkActive" [active]="rla.isActive" routerLink="{{item.link}}">
48-
<igx-icon>{{item.icon}}</igx-icon>
49-
</span>
50-
</nav>
36+
<span *ngFor="let item of componentLinks" igxRipple igxDrawerItem routerLinkActive #rla="routerLinkActive" [active]="rla.isActive" routerLink="{{item.link}}">
37+
<igx-icon>{{item.icon}}</igx-icon>
38+
</span>
39+
40+
<span *ngFor="let item of directiveLinks" igxDrawerItem igxRipple routerLinkActive #rla="routerLinkActive" [active]="rla.isActive" routerLink="{{item.link}}">
41+
<igx-icon>{{item.icon}}</igx-icon>
42+
</span>
43+
44+
<span *ngFor="let item of styleLinks" igxDrawerItem igxRipple routerLinkActive #rla="routerLinkActive" [active]="rla.isActive" routerLink="{{item.link}}">
45+
<igx-icon>{{item.icon}}</igx-icon>
46+
</span>
5147
</ng-template>
5248
</igx-nav-drawer>
5349

0 commit comments

Comments
 (0)