From: Michal Klobukowski Date: Wed, 12 Dec 2018 16:46:33 +0000 (+0100) Subject: Create actions and selectors for file viewers X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/48eb2deb49b06521ab6cf899ac25a544fcd6702e Create actions and selectors for file viewers Feature #13540 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- diff --git a/src/store/file-viewers/file-viewers-actions.ts b/src/store/file-viewers/file-viewers-actions.ts new file mode 100644 index 0000000000..d31c85e893 --- /dev/null +++ b/src/store/file-viewers/file-viewers-actions.ts @@ -0,0 +1,19 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +import { Dispatch } from 'redux'; +import { ServiceRepository } from '~/services/services'; +import { propertiesActions } from '~/store/properties/properties-actions'; +import { FILE_VIEWERS_PROPERTY_NAME } from '~/store/file-viewers/file-viewers-selectors'; + +export const loadFileViewersConfig = async (dispatch: Dispatch, _: {}, { fileViewersConfig }: ServiceRepository) => { + + const config = await fileViewersConfig.get(); + + dispatch(propertiesActions.SET_PROPERTY({ + key: FILE_VIEWERS_PROPERTY_NAME, + value: config, + })); + +}; diff --git a/src/store/file-viewers/file-viewers-selectors.ts b/src/store/file-viewers/file-viewers-selectors.ts new file mode 100644 index 0000000000..009e1f348b --- /dev/null +++ b/src/store/file-viewers/file-viewers-selectors.ts @@ -0,0 +1,14 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +import { PropertiesState, getProperty } from '~/store/properties/properties'; +import { FileViewerList } from '~/models/file-viewers-config'; + +export const FILE_VIEWERS_PROPERTY_NAME = 'fileViewers'; + +export const DEFAULT_FILE_VIEWERS: FileViewerList = [ + { name: 'Test viewer', url: 'http://viewer.com', filePathParam: 'filePath' }, +]; +export const getFileViewers = (state: PropertiesState) => + getProperty(FILE_VIEWERS_PROPERTY_NAME)(state) || DEFAULT_FILE_VIEWERS;