@progress/kendo-angular-spreadsheet
Version:
A Spreadsheet Component for Angular
48 lines (47 loc) • 1.97 kB
JavaScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
let spreadsheetCounter = 0;
/**
* @hidden
*/
export class SpreadsheetService {
spreadsheet;
sheetsChanged = new Subject();
onSheetsBarFocus = new Subject();
activeSheetChanged = new Subject();
selectionChanged = new Subject();
dialogContainer;
constructor() {
spreadsheetCounter++;
}
set currentActiveSheet(value) {
this._currentActiveSheet = value;
}
get currentActiveSheet() {
return this._currentActiveSheet;
}
get activeSheet() {
return this.spreadsheet.activeSheet()?.name();
}
get formulaListId() {
return `k-spreadsheet-${spreadsheetCounter}-formula-list`;
}
get tablistId() {
return `k-spreadsheet-${spreadsheetCounter}-tablist`;
}
_currentActiveSheet;
notifySheetsChange(actionType, sheetInfo) {
const sheets = this.spreadsheet.sheets();
this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetService, decorators: [{
type: Injectable
}], ctorParameters: function () { return []; } });