Skip to content

Commit 4e4c73d

Browse files
authored
Merge branch '19.2.x' into didimmova/vhelper-scrollbar-size
2 parents deabc7d + 68e4ea4 commit 4e4c73d

File tree

5 files changed

+64
-31
lines changed

5 files changed

+64
-31
lines changed

projects/igniteui-angular/src/lib/core/styles/components/combo/_combo-theme.scss

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -165,18 +165,15 @@
165165
%igx-combo__case-icon,
166166
%igx-combo__case-icon--active {
167167
line-height: 0;
168-
169-
igx-icon {
170-
--size: rem(18px);
171-
}
172168
}
173169

174170
// The wrapping element here is needed
175171
// in order to override the !important rule of .igx-icon--inactive.
176172
%igx-combo__case-icon {
177173
igx-icon {
178-
// Important is needed since the .igx-icon--inactive has !important
179-
color: color($color: 'gray', $variant: 600) !important;
174+
--igx-icon-disabled-color: var(--ig-gray-600);
175+
176+
opacity: 1;
180177
}
181178
}
182179

@@ -244,6 +241,13 @@
244241
}
245242
}
246243

244+
@if $variant == 'fluent' or $variant == 'bootstrap' {
245+
%igx-combo__search {
246+
--igx-input-group-input-suffix-background: transparent;
247+
--igx-input-group-input-suffix-background--focused: transparent;
248+
}
249+
}
250+
247251
.igx-input-group {
248252
%igx-combo__toggle-button {
249253
background: var-get($theme, 'toggle-button-background');

projects/igniteui-angular/src/lib/grids/columns/column.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2309,7 +2309,7 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
23092309
// estimate the exact index at which column will be inserted
23102310
// takes into account initial unpinned index of the column
23112311
if (!hasIndex) {
2312-
const indices = grid.unpinnedColumns.map(col => col.index);
2312+
const indices = grid._unpinnedColumns.map(col => col.index);
23132313
indices.push(this.index);
23142314
indices.sort((a, b) => a - b);
23152315
index = indices.indexOf(this.index);

projects/igniteui-angular/src/lib/grids/grid/column-pinning.spec.ts

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -108,27 +108,6 @@ describe('Column Pinning UI #grid', () => {
108108
verifyColumnIsPinned(column, false, 0);
109109
});
110110

111-
it('Checks order of columns after unpinning', () => {
112-
for (const column of grid.columnList) {
113-
column.pin();
114-
}
115-
fix.detectChanges();
116-
grid.getColumnByName('ID').unpin();
117-
grid.getColumnByName('ReleaseDate').unpin();
118-
grid.getColumnByName('Downloads').unpin();
119-
grid.getColumnByName('ProductName').unpin();
120-
grid.getColumnByName('Released').unpin();
121-
fix.detectChanges();
122-
grid.unpinnedColumns.forEach((column, index) => {
123-
if (index === grid.unpinnedColumns.length - 1) {
124-
return;
125-
}
126-
expect(
127-
column.index < grid.unpinnedColumns[index + 1].index
128-
).toBe(true);
129-
});
130-
});
131-
132111
it('reflects properly grid column pinned value changes.', () => {
133112
const name = 'ReleaseDate';
134113
verifyCheckbox(name, false, false, columnChooserElement);
@@ -307,6 +286,36 @@ describe('Column Pinning UI #grid', () => {
307286
).toBe(true);
308287
});
309288
});
289+
290+
it('Checks order of columns after unpinning if there are hidden columns', () => {
291+
// Columns are ordered like this: ID, ProductName, Downloads, Released, ReleaseDate
292+
expect(grid.getColumnByName('Downloads').index).toBe(2);
293+
expect(grid.getColumnByName('Released').index).toBe(3);
294+
295+
grid.getColumnByName('ID').hidden = true;
296+
grid.getColumnByName('Downloads').pin();
297+
grid.getColumnByName('Released').pin();
298+
fix.detectChanges();
299+
300+
// unpinnedColumns contains only visible cols
301+
expect(grid.unpinnedColumns.length).toBe(2);
302+
// _unpinnedColumns contains all unpinned cols (including hidden)
303+
expect((grid as any)._unpinnedColumns.length).toBe(3);
304+
305+
grid.getColumnByName('Released').unpin();
306+
fix.detectChanges();
307+
308+
expect(grid.unpinnedColumns.length).toBe(3);
309+
expect((grid as any)._unpinnedColumns.length).toBe(4);
310+
// Downloads is still pinned; ID is not part of unpinnedColumns
311+
expect(grid.getColumnByName('Released').field).toEqual((grid as any).unpinnedColumns[1].field);
312+
expect(grid.getColumnByName('Released').field).toEqual((grid as any)._unpinnedColumns[2].field);
313+
314+
grid.getColumnByName('Downloads').unpin();
315+
fix.detectChanges();
316+
expect(grid.getColumnByName('Downloads').field).toEqual((grid as any).unpinnedColumns[1].field);
317+
expect(grid.getColumnByName('Downloads').field).toEqual((grid as any)._unpinnedColumns[2].field);
318+
});
310319
});
311320

312321
describe('Pinning with Column Groups', () => {

projects/igniteui-angular/src/lib/grids/grid/grid-toolbar.spec.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,18 @@ describe('IgxGrid - Grid Toolbar #grid - ', () => {
173173
expect($('#csvEntry').textContent).toMatch(instance.customCSVText);
174174
});
175175

176+
it('progress indicator should stop on canceling the export', () => {
177+
fixture.componentInstance.exportStartCancelled = true;
178+
fixture.detectChanges();
179+
$(TOOLBAR_EXPORTER_TAG).querySelector('button').click();
180+
fixture.detectChanges();
181+
$('#excelEntry').click();
182+
fixture.detectChanges();
183+
184+
expect(instance.exporterAction.isExporting).toBeFalse();
185+
expect(instance.exporterAction.toolbar.showProgress).toBeFalse();
186+
});
187+
176188
it('Setting overlaySettings for each toolbar columns action', () => {
177189
const defaultSettings = instance.pinningAction.overlaySettings;
178190
const defaultFiltSettings = instance.advancedFiltAction.overlaySettings;
@@ -297,7 +309,7 @@ export class DefaultToolbarComponent {
297309
<igx-grid-toolbar-advanced-filtering #advancedFiltAction>
298310
{{ advancedFilteringTitle }}
299311
</igx-grid-toolbar-advanced-filtering>
300-
<igx-grid-toolbar-exporter #exporterAction [exportCSV]="exportCSV" [exportExcel]="exportExcel" [filename]="exportFilename">
312+
<igx-grid-toolbar-exporter #exporterAction [exportCSV]="exportCSV" [exportExcel]="exportExcel" [filename]="exportFilename" (exportStarted)="exportStarted($event)">
301313
{{ exporterText }}
302314
<span id="excelEntry" excelText>{{ customExcelText }}</span>
303315
<span id="csvEntry" csvText>{{ customCSVText }}</span>
@@ -346,8 +358,15 @@ export class ToolbarActionsComponent {
346358
modal: true,
347359
closeOnEscape: false
348360
};
361+
public exportStartCancelled = false;
349362

350363
constructor() {
351364
this.data = [...DATA];
352365
}
366+
367+
public exportStarted(args) {
368+
if (this.exportStartCancelled) {
369+
args.cancel = true;
370+
}
371+
}
353372
}

projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,14 @@ export class IgxGridToolbarExporterComponent extends BaseToolbarDirective {
126126

127127
this.exportStarted.emit(args);
128128
this.grid.toolbarExporting.emit(args);
129-
this.isExporting = true;
130-
this.toolbar.showProgress = true;
131129

132130
if (args.cancel) {
133131
return;
134132
}
135133

134+
this.isExporting = true;
135+
this.toolbar.showProgress = true;
136+
136137
exporter.exportEnded.pipe(first()).subscribe(() => {
137138
this.exportEnded.emit();
138139
this.isExporting = false;

0 commit comments

Comments
 (0)