import { DataGridProvider, FetchByOffsetGridParameters, FetchByOffsetGridResults, GridItem, GridBodyItem, GridHeaderItem } from 'ojs/ojdatagridprovider'; import { EventTargetMixin } from 'ojs/ojeventtarget'; interface DataParams { dataArray?: Array, } export class SampleDataGridProvider implements DataGridProvider { addEventListener: () => void; removeEventListener: () => void; constructor(protected dataParams?: DataParams) { } public fetchByOffset( parameters: FetchByOffsetGridParameters ): Promise> { return null; } public getCapability(capabilityName: string): any { return null; } public isEmpty(): 'yes' | 'no' | 'unknown' { return (this.dataParams.dataArray.length <= 0) ? 'yes' : 'no'; // Returns 'yes' if not given any data, returns 'no' otherwise } } // This is a convenience for registering addEventListener/removeEventListener EventTargetMixin.applyMixin(SampleDataGridProvider);