import { injectable } from '@servicetitan/react-ioc'; import { InMemoryDataSource, TableState } from '../..'; import { products } from './products'; import { beverages } from './beverages'; import { Product } from './product'; import { TableStateModel } from '../../table-state'; @injectable() export class TableStore { productsTableState?: TableStateModel; beveragesTableState?: TableStateModel; tableState = new TableState({ dataSource: this.getProductsDataSource(), pageSize: 5, }); showProducts = () => { this.beveragesTableState = this.tableState.exportState(); this.tableState.setDataSource(this.getProductsDataSource(), { reset: true, initialState: this.productsTableState, }); }; showBeverages = () => { this.productsTableState = this.tableState.exportState(); this.tableState.setDataSource(this.getBeveragesDataSource(), { reset: true, initialState: this.beveragesTableState, }); }; private getProductsDataSource() { return new InMemoryDataSource(products); } private getBeveragesDataSource() { return new InMemoryDataSource(beverages); } }