Merge branch 'master' into 13887-extract-common-functionality-from-project-and-favori...
[arvados-workbench2.git] / src / store / data-explorer / data-explorer-middleware-service.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { getDataExplorer } from "./data-explorer-reducer";
6 import { MiddlewareAPI } from "../../../node_modules/redux";
7 import { DataColumns } from "../../components/data-table/data-table";
8
9 export abstract class DataExplorerMiddlewareService {
10
11     abstract get Id(): string;
12     abstract get Columns(): DataColumns<any>;
13     abstract requestItems (api: MiddlewareAPI): void;
14     
15     protected api: MiddlewareAPI;
16     set Api(value: MiddlewareAPI) {
17         this.api = value;
18     }
19     get DataExplorer () {
20         return getDataExplorer(this.api.getState(), this.Id);
21     }
22 }