1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { getDataExplorer } from "./data-explorer-reducer";
6 import { MiddlewareAPI } from "redux";
7 import { DataColumns } from "../../components/data-table/data-table";
9 export abstract class DataExplorerMiddlewareService {
10 protected api: MiddlewareAPI;
11 protected readonly id: string;
13 protected constructor(id: string) {
21 abstract getColumns(): DataColumns<any>;
22 abstract requestItems(api: MiddlewareAPI): void;
24 setApi(api: MiddlewareAPI) {
28 return getDataExplorer(this.api.getState(), this.id);