ngxsmk-datatable
Version:
A powerful, feature-rich Angular datatable component with virtual scrolling, built for Angular 17+
99 lines (98 loc) • 2.27 kB
TypeScript
import { SheetsConfig, Sheet, SheetTemplate, SheetState } from '../interfaces/sheets.interface';
import * as i0 from "@angular/core";
/**
* Sheets Service
* Multiple sheet support with tabs
*/
export declare class SheetsService {
private config;
private sheetsSubject;
private activeSheetSubject;
private stateSubject;
readonly sheets$: import("rxjs").Observable<Sheet[]>;
readonly activeSheet$: import("rxjs").Observable<Sheet | null>;
readonly state$: import("rxjs").Observable<SheetState>;
constructor();
/**
* Initialize sheets
*/
initialize(config: SheetsConfig): void;
/**
* Add sheet
*/
addSheet(sheet: Partial<Sheet>): Sheet;
/**
* Delete sheet
*/
deleteSheet(sheetId: string): void;
/**
* Rename sheet
*/
renameSheet(sheetId: string, newName: string): void;
/**
* Duplicate sheet
*/
duplicateSheet(sheetId: string): Sheet;
/**
* Reorder sheets
*/
reorderSheets(sheetIds: string[]): void;
/**
* Set active sheet
*/
setActiveSheet(sheetId: string): void;
/**
* Get sheet
*/
getSheet(sheetId: string): Sheet | undefined;
/**
* Get all sheets
*/
getAllSheets(): Sheet[];
/**
* Update sheet data
*/
updateSheetData(sheetId: string, data: any[]): void;
/**
* Protect sheet
*/
protectSheet(sheetId: string): void;
/**
* Unprotect sheet
*/
unprotectSheet(sheetId: string): void;
/**
* Hide sheet
*/
hideSheet(sheetId: string): void;
/**
* Show sheet
*/
showSheet(sheetId: string): void;
/**
* Create from template
*/
createFromTemplate(template: SheetTemplate): Sheet;
/**
* Update sheet property
*/
private updateSheetProperty;
/**
* Mark sheet as modified
*/
private markModified;
/**
* Update state
*/
private updateState;
/**
* Generate unique sheet ID
*/
private generateSheetId;
/**
* Record operation
*/
private recordOperation;
static ɵfac: i0.ɵɵFactoryDeclaration<SheetsService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SheetsService>;
}