UNPKG

bs-datatable

Version:

A data table based on Bootstrap 5

48 lines (36 loc) 1.29 kB
import { BSDataTable } from "../components"; /** * Service used to discover data-tables by ID * This can be useful when we have many tables in the page and query them for their data * for example: to be sent back to server when the user presses the save/persist button */ class BSDataTableDiscoveryService { DataTables: BSDataTable[] = []; Add(datatable: BSDataTable) { this.DataTables.push(datatable); } GetAll() { var result: BSGridDataModel[] = []; this.DataTables.forEach((dt) => { if (dt.isReadOnly) return; var model: BSGridDataModel = { DataSourceName: dt.dataSourceName, Data: dt.dirtyRecords }; result.push(model); }) return result; } /** * * @param dsName DataSource Name */ GetByDSName(dsName: string): BSGridDataModel { var find = this.DataTables.find((dt) => dt.dataSourceName === dsName); if (find) return { DataSourceName: find.dataSourceName, Data: find.dirtyRecords } } } interface BSGridDataModel { DataSourceName: string; Data: object[] } const bsDataTableDiscoveryService = new BSDataTableDiscoveryService(); export { bsDataTableDiscoveryService }