UNPKG

@progress/kendo-angular-spreadsheet

Version:

A Spreadsheet Component for Angular

59 lines (58 loc) 3.04 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Directive } from '@angular/core'; import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar'; import { SpreadsheetService } from '../common/spreadsheet.service'; import { commandIcons, commandSVGIcons } from './shared/command-icons'; import { Subscription } from 'rxjs'; import { saveAs } from '@progress/kendo-file-saver'; import { Workbook } from '@progress/kendo-ooxml'; import { SpreadsheetLocalizationService } from '../localization/spreadsheet-localization.service'; import * as i0 from "@angular/core"; import * as i1 from "@progress/kendo-angular-toolbar"; import * as i2 from "../localization/spreadsheet-localization.service"; import * as i3 from "../common/spreadsheet.service"; /** * @hidden */ export class SpreadsheetSaveFileDirective { button; localization; spreadsheetService; subs = new Subscription(); constructor(button, localization, spreadsheetService) { this.button = button; this.localization = localization; this.spreadsheetService = spreadsheetService; } ngOnInit() { this.button.title = this.localization.get('saveFile'); this.button.icon = commandIcons['download']; this.button.svgIcon = commandSVGIcons['download']; this.button.fillMode = 'flat'; this.subs.add(this.button.click.subscribe(() => { const spreadsheet = this.spreadsheetService.spreadsheet; if (spreadsheet) { spreadsheet.saveAsExcel({ ...spreadsheet.options.excel, saveAs, Workbook }); } })); } ngOnDestroy() { this.subs.unsubscribe(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetSaveFileDirective, deps: [{ token: i1.ToolBarButtonComponent }, { token: i2.SpreadsheetLocalizationService }, { token: i3.SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SpreadsheetSaveFileDirective, isStandalone: true, selector: "[kendoSpreadsheetSaveFile]", ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetSaveFileDirective, decorators: [{ type: Directive, args: [{ selector: '[kendoSpreadsheetSaveFile]', standalone: true }] }], ctorParameters: function () { return [{ type: i1.ToolBarButtonComponent }, { type: i2.SpreadsheetLocalizationService }, { type: i3.SpreadsheetService }]; } });