import { RootState } from "../../../store/store";
import { FileViewerAction } from '~/views-components/context-menu/actions/file-viewer-action';
import { getNodeValue } from "~/models/tree";
-import { CollectionFileType } from "~/models/collection-file";
import { ContextMenuKind } from '~/views-components/context-menu/context-menu';
+import { getInlineFileUrl, sanitizeToken } from "./helpers";
const mapStateToProps = (state: RootState) => {
const { resource } = state.contextMenu;
const currentCollectionUuid = state.collectionPanel.item ? state.collectionPanel.item.uuid : '';
- if (resource && resource.menuKind === ContextMenuKind.COLLECTION_FILES_ITEM) {
+ if (resource && [
+ ContextMenuKind.COLLECTION_FILE_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_FILE_ITEM,
+ ContextMenuKind.COLLECTION_DIRECTORY_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_DIRECTORY_ITEM ].indexOf(resource.menuKind as ContextMenuKind) > -1) {
const file = getNodeValue(resource.uuid)(state.collectionPanelFiles);
if (file) {
+ const fileUrl = sanitizeToken(getInlineFileUrl(
+ file.url,
+ state.auth.config.keepWebServiceUrl,
+ state.auth.config.keepWebInlineServiceUrl), true);
return {
- href: file.url,
- download: file.type === CollectionFileType.DIRECTORY ? undefined : file.name,
+ href: fileUrl,
kind: 'file',
currentCollectionUuid
};
}
- } else {
- return ;
}
- return ;
+ return {};
};
export const CollectionFileViewerAction = connect(mapStateToProps)(FileViewerAction);