From e0be81e7c1f8d2ca87a354eba2378c6cd7f68daf Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Fri, 14 Aug 2020 11:41:40 +0300 Subject: [PATCH 01/13] feat(grid): added export progress visualization in toolbar #7738 --- .../grid-toolbar/_grid-toolbar-component.scss | 4 ++++ .../grid-toolbar/_grid-toolbar-theme.scss | 5 +++++ .../grids/toolbar/grid-toolbar.component.html | 7 ++++++- .../grids/toolbar/grid-toolbar.component.ts | 20 +++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss index d2f87afc3cc..a6c19956671 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss @@ -23,6 +23,10 @@ @extend %igx-grid-toolbar__actions !optional; } + @include e(export-progress){ + @extend %igx-grid-toolbar__export-progress !optional; + } + @include e(adv-filter, $m: 'filtered') { @extend %igx-grid-toolbar__adv-filter--filtered !optional; } diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss index 57efb77b016..debb9ca7929 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss @@ -134,6 +134,7 @@ %igx-grid-toolbar { display: flex; + flex-wrap: wrap; align-items: center; justify-content: flex-end; grid-row: 1; @@ -253,6 +254,10 @@ } } + %igx-grid-toolbar__export-progress { + flex-basis: 100%; + } + %igx-grid-toolbar__adv-filter--filtered { border-color: igx-color(map-get($theme, 'palette'), 'secondary') !important; diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html index 68dc6b258f0..554394c4a0b 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html @@ -41,6 +41,7 @@ +
+ +
+ +
diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index 393a1867048..f2693be2fa9 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -74,6 +74,7 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After } private _filterColumnsPrompt = this.grid.resourceStrings.igx_grid_toolbar_actions_filter_prompt; + private _isExporting = false; /** * @hidden @@ -186,6 +187,13 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After return (this.grid != null && (this.grid.exportExcel || this.grid.exportCsv)); } + /** + * @hidden @internal + */ + public get isExporting(): boolean { + return this._isExporting; + } + /** * Returns whether the `IgxGridComponent` renders an Excel export button. * ```typescript @@ -315,6 +323,11 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After * ``` */ public exportToExcelClicked() { + this._isExporting = true; + this.excelExporter.onExportEnded.subscribe((args: any) => { + this._isExporting = false; + this.cdr.detectChanges(); + }); this.performExport(this.excelExporter, 'excel'); } @@ -325,10 +338,17 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After * ``` */ public exportToCsvClicked() { + this._isExporting = true; + this.csvExporter.onExportEnded.subscribe((args: any) => { + this._isExporting = false; + this.cdr.detectChanges(); + }); this.performExport(this.csvExporter, 'csv'); } private performExport(exp: IgxBaseExporter, exportType: string) { + this.t1 = performance.now(); + this.exportClicked(); const fileName = 'ExportedData'; From ab071ab2c557edc078770fd717d7e5b60180d26f Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Fri, 14 Aug 2020 13:21:25 +0300 Subject: [PATCH 02/13] chore(*): deleted leftover code --- .../src/lib/grids/toolbar/grid-toolbar.component.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index f2693be2fa9..9fe918e4f4c 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -347,8 +347,6 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After } private performExport(exp: IgxBaseExporter, exportType: string) { - this.t1 = performance.now(); - this.exportClicked(); const fileName = 'ExportedData'; From 39c5eb5eac04410a7c5d1f5b4ae2600fecad3a9c Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Mon, 17 Aug 2020 16:56:59 +0300 Subject: [PATCH 03/13] fix(exporters): added timeout before export and changed chunk size #7738 --- .../grids/toolbar/grid-toolbar.component.ts | 27 ++++++++++++++----- .../exporter-common/base-export-service.ts | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index 9fe918e4f4c..cd9f9790764 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -323,11 +323,16 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After * ``` */ public exportToExcelClicked() { - this._isExporting = true; + let exportEnded = false; this.excelExporter.onExportEnded.subscribe((args: any) => { - this._isExporting = false; - this.cdr.detectChanges(); + exportEnded = true; + this.setIsExporting(false); }); + setTimeout(() => { + if (!exportEnded) { + this.setIsExporting(true); + } + }, 500); this.performExport(this.excelExporter, 'excel'); } @@ -338,14 +343,24 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After * ``` */ public exportToCsvClicked() { - this._isExporting = true; + let exportEnded = false; this.csvExporter.onExportEnded.subscribe((args: any) => { - this._isExporting = false; - this.cdr.detectChanges(); + exportEnded = true; + this.setIsExporting(false); }); + setTimeout(() => { + if (!exportEnded) { + this.setIsExporting(true); + } + }, 500); this.performExport(this.csvExporter, 'csv'); } + private setIsExporting(isExporting: boolean) { + this._isExporting = isExporting; + this.cdr.detectChanges(); + } + private performExport(exp: IgxBaseExporter, exportType: string) { this.exportClicked(); diff --git a/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts b/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts index ec750d09dc5..82da0aef554 100644 --- a/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts +++ b/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts @@ -213,7 +213,7 @@ export abstract class IgxBaseExporter { const dataToExport = new Array(); const isSpecialData = ExportUtilities.isSpecialData(data); - yieldingLoop(data.length, 1000, (i) => { + yieldingLoop(data.length, 100, (i) => { const row = data[i]; this.exportRow(dataToExport, row, i, isSpecialData); }, () => { From cd3ad21ee7e1c2e33f660cf660895e9c0265cc00 Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Wed, 19 Aug 2020 11:40:42 +0300 Subject: [PATCH 04/13] chore(*): added unsubscribe and small refactoring --- .../grids/toolbar/grid-toolbar.component.ts | 59 +++++++++++-------- .../exporter-common/base-export-service.ts | 2 + 2 files changed, 36 insertions(+), 25 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index cd9f9790764..a31c706d54a 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -7,7 +7,8 @@ import { ViewChild, Inject, TemplateRef, - AfterViewInit + AfterViewInit, + OnDestroy } from '@angular/core'; import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase } from '../../core/displayDensity'; @@ -24,8 +25,6 @@ import { GridBaseAPIService } from '../api.service'; import { IgxButtonDirective } from '../../directives/button/button.directive'; import { IgxGridBaseDirective } from '../grid-base.directive'; import { IgxDropDownComponent } from '../../drop-down/drop-down.component'; -import { IgxColumnHidingComponent } from '../hiding/column-hiding.component'; -import { IgxColumnPinningComponent } from '../pinning/column-pinning.component'; import { OverlaySettings, PositionSettings, HorizontalAlignment, VerticalAlignment } from '../../services/overlay/utilities'; import { ConnectedPositioningStrategy } from '../../services/overlay/position'; import { GridType } from '../common/grid.interface'; @@ -35,6 +34,7 @@ import { GridIconsFeature } from '../common/enums'; import { IgxColumnActionsComponent } from '../column-actions/column-actions.component'; import { IgxColumnHidingDirective } from '../column-actions/column-hiding.directive'; import { IgxColumnPinningDirective } from '../column-actions/column-pinning.directive'; +import { Subscription } from 'rxjs'; /** * This class encapsulates the Toolbar's logic and is internally used by @@ -44,7 +44,13 @@ import { IgxColumnPinningDirective } from '../column-actions/column-pinning.dire selector: 'igx-grid-toolbar', templateUrl: './grid-toolbar.component.html' }) -export class IgxGridToolbarComponent extends DisplayDensityBase implements AfterViewInit { +export class IgxGridToolbarComponent extends DisplayDensityBase implements AfterViewInit, OnDestroy { + /** + * @hidden + * @internal + */ + private _onExportEnded$: Subscription; + /** * @hidden */ @@ -323,16 +329,6 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After * ``` */ public exportToExcelClicked() { - let exportEnded = false; - this.excelExporter.onExportEnded.subscribe((args: any) => { - exportEnded = true; - this.setIsExporting(false); - }); - setTimeout(() => { - if (!exportEnded) { - this.setIsExporting(true); - } - }, 500); this.performExport(this.excelExporter, 'excel'); } @@ -343,16 +339,6 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After * ``` */ public exportToCsvClicked() { - let exportEnded = false; - this.csvExporter.onExportEnded.subscribe((args: any) => { - exportEnded = true; - this.setIsExporting(false); - }); - setTimeout(() => { - if (!exportEnded) { - this.setIsExporting(true); - } - }, 500); this.performExport(this.csvExporter, 'csv'); } @@ -362,17 +348,30 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After } private performExport(exp: IgxBaseExporter, exportType: string) { + let exportEnded = false; + setTimeout(() => { + if (!exportEnded) { + this.setIsExporting(true); + } + }, 500); + + this._onExportEnded$ = exp.onExportEnded.subscribe((args: any) => { + exportEnded = true; + this.setIsExporting(false); + }); + this.exportClicked(); const fileName = 'ExportedData'; const options = exportType === 'excel' ? new IgxExcelExporterOptions(fileName) : new IgxCsvExporterOptions(fileName, CsvFileTypes.CSV); - const args = { grid: this.grid, exporter: exp, options: options, cancel: false }; this.grid.onToolbarExporting.emit(args); if (args.cancel) { + this.setIsExporting(false); + this._onExportEnded$.unsubscribe(); return; } exp.export(this.grid, options); @@ -440,4 +439,14 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After ngAfterViewInit() { this.iconService.registerSVGIcons(GridIconsFeature.RowPinning, PINNING_ICONS, PINNING_ICONS_FONT_SET); } + + /** + * @hidden + * @internal + */ + ngOnDestroy() { + if (this._onExportEnded$) { + this._onExportEnded$.unsubscribe(); + } + } } diff --git a/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts b/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts index 82da0aef554..0506c6ca29d 100644 --- a/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts +++ b/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts @@ -77,6 +77,8 @@ export abstract class IgxBaseExporter { protected _indexOfLastPinnedColumn = -1; protected _sort = null; + public onExportEnded = new EventEmitter(); + /** * This event is emitted when a row is exported. * ```typescript From 82b6f1257866829472534eccf95f6a9f4b946be7 Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Wed, 19 Aug 2020 11:46:07 +0300 Subject: [PATCH 05/13] chore(*): fixed build error --- .../src/lib/grids/toolbar/grid-toolbar.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index a31c706d54a..3f32cbd265d 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -355,7 +355,7 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After } }, 500); - this._onExportEnded$ = exp.onExportEnded.subscribe((args: any) => { + this._onExportEnded$ = exp.onExportEnded.subscribe(() => { exportEnded = true; this.setIsExporting(false); }); From ae67ee490f782240d8fb21045b026b2cc618fcbe Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Wed, 19 Aug 2020 13:21:14 +0300 Subject: [PATCH 06/13] chore(*): some code optimizations --- .../grids/toolbar/grid-toolbar.component.ts | 49 ++++++------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index 3f32cbd265d..a84a561b56a 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -7,8 +7,7 @@ import { ViewChild, Inject, TemplateRef, - AfterViewInit, - OnDestroy + AfterViewInit } from '@angular/core'; import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase } from '../../core/displayDensity'; @@ -35,6 +34,7 @@ import { IgxColumnActionsComponent } from '../column-actions/column-actions.comp import { IgxColumnHidingDirective } from '../column-actions/column-hiding.directive'; import { IgxColumnPinningDirective } from '../column-actions/column-pinning.directive'; import { Subscription } from 'rxjs'; +import { first } from 'rxjs/operators'; /** * This class encapsulates the Toolbar's logic and is internally used by @@ -44,13 +44,7 @@ import { Subscription } from 'rxjs'; selector: 'igx-grid-toolbar', templateUrl: './grid-toolbar.component.html' }) -export class IgxGridToolbarComponent extends DisplayDensityBase implements AfterViewInit, OnDestroy { - /** - * @hidden - * @internal - */ - private _onExportEnded$: Subscription; - +export class IgxGridToolbarComponent extends DisplayDensityBase implements AfterViewInit { /** * @hidden */ @@ -348,18 +342,6 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After } private performExport(exp: IgxBaseExporter, exportType: string) { - let exportEnded = false; - setTimeout(() => { - if (!exportEnded) { - this.setIsExporting(true); - } - }, 500); - - this._onExportEnded$ = exp.onExportEnded.subscribe(() => { - exportEnded = true; - this.setIsExporting(false); - }); - this.exportClicked(); const fileName = 'ExportedData'; @@ -370,10 +352,21 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After this.grid.onToolbarExporting.emit(args); if (args.cancel) { - this.setIsExporting(false); - this._onExportEnded$.unsubscribe(); return; } + + let exportEnded = false; + setTimeout(() => { + if (!exportEnded) { + this.setIsExporting(true); + } + }, 500); + + exp.onExportEnded.pipe(first()).subscribe(() => { + exportEnded = true; + this.setIsExporting(false); + }); + exp.export(this.grid, options); } @@ -439,14 +432,4 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After ngAfterViewInit() { this.iconService.registerSVGIcons(GridIconsFeature.RowPinning, PINNING_ICONS, PINNING_ICONS_FONT_SET); } - - /** - * @hidden - * @internal - */ - ngOnDestroy() { - if (this._onExportEnded$) { - this._onExportEnded$.unsubscribe(); - } - } } From 0d9a08c813162337313c09bc661652d8ce6c3c90 Mon Sep 17 00:00:00 2001 From: MPopov Date: Wed, 19 Aug 2020 16:04:42 +0300 Subject: [PATCH 07/13] feat(grid-toolbar-progress-indicator): Adding styling for progress-indicator inside the grid toolbar. --- .../components/grid-toolbar/_grid-toolbar-theme.scss | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss index debb9ca7929..75c5662feec 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss @@ -134,7 +134,6 @@ %igx-grid-toolbar { display: flex; - flex-wrap: wrap; align-items: center; justify-content: flex-end; grid-row: 1; @@ -142,6 +141,7 @@ border-bottom: 1px solid igx-color(map-get($theme, 'palette'), 'grays', 300); background: --var($theme, 'background-color'); height: map-get($grid-toolbar-height, 'comfortable'); + position: relative; @include if-ltr(){ padding: map-get($grid-toolbar-padding, 'comfortable'); @@ -255,7 +255,11 @@ } %igx-grid-toolbar__export-progress { - flex-basis: 100%; + position: absolute; + width: 100%; + left: 0; + right: 0; + bottom: 0; } %igx-grid-toolbar__adv-filter--filtered { From af8e191e25e3fc3c90ea295c8c03ea2230ee7290 Mon Sep 17 00:00:00 2001 From: MPopov Date: Thu, 20 Aug 2020 11:19:21 +0300 Subject: [PATCH 08/13] feat(grid-toolbar-progress-indicator): Adding styling for progress-indicator inside the grid toolbar. --- .../grid-toolbar/_grid-toolbar-component.scss | 4 ++-- .../components/grid-toolbar/_grid-toolbar-theme.scss | 11 +++++++++-- .../src/lib/grids/toolbar/grid-toolbar.component.html | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss index a6c19956671..7fe92626415 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss @@ -23,8 +23,8 @@ @extend %igx-grid-toolbar__actions !optional; } - @include e(export-progress){ - @extend %igx-grid-toolbar__export-progress !optional; + @include e(progress-bar){ + @extend %igx-grid-toolbar__progress-bar !optional; } @include e(adv-filter, $m: 'filtered') { diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss index 75c5662feec..6e9709d5a1d 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss @@ -254,12 +254,19 @@ } } - %igx-grid-toolbar__export-progress { + %igx-grid-toolbar__progress-bar { position: absolute; width: 100%; left: 0; right: 0; - bottom: 0; + bottom: -1px; + height: rem(2px); + overflow: hidden; + background: --var($theme, 'background-color'); + + igx-linear-bar > * { + border-radius: 0; + } } %igx-grid-toolbar__adv-filter--filtered { diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html index 554394c4a0b..be43cbbc291 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html @@ -85,6 +85,6 @@ -
+
From a99ba2fc060b3c125f938e74d0a481c4e2bd216c Mon Sep 17 00:00:00 2001 From: MPopov Date: Thu, 20 Aug 2020 11:21:40 +0300 Subject: [PATCH 09/13] feat(grid-toolbar-progress-indicator): fix missing rem --- .../styles/components/grid-toolbar/_grid-toolbar-theme.scss | 2 +- .../src/lib/grids/toolbar/grid-toolbar.component.ts | 2 +- src/styles/igniteui-theme.scss | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss index 6e9709d5a1d..562a0e0933d 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss @@ -259,7 +259,7 @@ width: 100%; left: 0; right: 0; - bottom: -1px; + bottom: rem(-1px); height: rem(2px); overflow: hidden; background: --var($theme, 'background-color'); diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index a84a561b56a..7fe400d9e0e 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -363,7 +363,7 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After }, 500); exp.onExportEnded.pipe(first()).subscribe(() => { - exportEnded = true; + // exportEnded = true; this.setIsExporting(false); }); diff --git a/src/styles/igniteui-theme.scss b/src/styles/igniteui-theme.scss index f2c82bedab3..3b4ab78da85 100644 --- a/src/styles/igniteui-theme.scss +++ b/src/styles/igniteui-theme.scss @@ -19,6 +19,7 @@ body { @include igx-core($direction: ltr); @include igx-theme($palette: $palette, $schema: $schema); +@include igx-theme($palette: $palette, $schema: $schema, $legacy-support: true); @include igx-typography( $font-family: "'Nunito Sans', sans-serif", From 87134ee8367a267d7be38d2fe17ef877741e0883 Mon Sep 17 00:00:00 2001 From: Marin Popov Date: Thu, 20 Aug 2020 14:50:42 +0300 Subject: [PATCH 10/13] Update grid-toolbar.component.ts --- .../src/lib/grids/toolbar/grid-toolbar.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts index 7fe400d9e0e..a84a561b56a 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts @@ -363,7 +363,7 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After }, 500); exp.onExportEnded.pipe(first()).subscribe(() => { - // exportEnded = true; + exportEnded = true; this.setIsExporting(false); }); From 28285e0fab57a4a940958a45d64f5a7dd7b18702 Mon Sep 17 00:00:00 2001 From: Marin Popov Date: Thu, 20 Aug 2020 14:51:20 +0300 Subject: [PATCH 11/13] Update igniteui-theme.scss --- src/styles/igniteui-theme.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/igniteui-theme.scss b/src/styles/igniteui-theme.scss index 3b4ab78da85..b745274d605 100644 --- a/src/styles/igniteui-theme.scss +++ b/src/styles/igniteui-theme.scss @@ -19,7 +19,7 @@ body { @include igx-core($direction: ltr); @include igx-theme($palette: $palette, $schema: $schema); -@include igx-theme($palette: $palette, $schema: $schema, $legacy-support: true); +@include igx-theme($palette: $palette, $schema: $schema); @include igx-typography( $font-family: "'Nunito Sans', sans-serif", From 7f96212f90d60206b26283eca03c90177077f3e3 Mon Sep 17 00:00:00 2001 From: MPopov Date: Thu, 20 Aug 2020 15:55:44 +0300 Subject: [PATCH 12/13] revert changes to igniteui-theme.scss --- src/styles/igniteui-theme.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/src/styles/igniteui-theme.scss b/src/styles/igniteui-theme.scss index b745274d605..f2c82bedab3 100644 --- a/src/styles/igniteui-theme.scss +++ b/src/styles/igniteui-theme.scss @@ -19,7 +19,6 @@ body { @include igx-core($direction: ltr); @include igx-theme($palette: $palette, $schema: $schema); -@include igx-theme($palette: $palette, $schema: $schema); @include igx-typography( $font-family: "'Nunito Sans', sans-serif", From 3476587f4c6ae2030b382cdedf861eda361db926 Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Thu, 20 Aug 2020 16:38:06 +0300 Subject: [PATCH 13/13] chore(*): updated changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cea8b6eb6d7..b0036a54635 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes for each version of this project will be documented in this file. +## 10.2.0 + +### New Features +- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid` + - When triggering an export of the grid via the toolbar and the export takes more than 500 milliseconds, the export button becomes disabled and an indeterminate progress bar is shown at the bottom of the toolbar until the export is finished. + ## 10.1.0 ### General