Web:Client:Plugin: fix context menu items for Images, Video, Files for file list and viewer
This commit is contained in:
parent
fbe6fc28a4
commit
84a6a8db9d
@ -253,17 +253,17 @@ export default inject(
|
|||||||
setIsSectionFilterLoading(param);
|
setIsSectionFilterLoading(param);
|
||||||
};
|
};
|
||||||
|
|
||||||
const { contextMenuItemsList } = pluginStore;
|
const { contextMenuItemsList, getContextMenuKeysByType } = pluginStore;
|
||||||
|
|
||||||
|
const pluginContextMenuKeys = [
|
||||||
|
...(getContextMenuKeysByType() || []),
|
||||||
|
...(getContextMenuKeysByType(PluginFileType.Image) || []),
|
||||||
|
...(getContextMenuKeysByType(PluginFileType.Video) || []),
|
||||||
|
];
|
||||||
|
|
||||||
const pluginContextMenuItems =
|
const pluginContextMenuItems =
|
||||||
contextMenuItemsList?.filter((i) => {
|
contextMenuItemsList?.filter((i) => {
|
||||||
const { value } = i;
|
if (pluginContextMenuKeys.includes(i.key)) {
|
||||||
|
|
||||||
if (
|
|
||||||
value?.fileType?.includes(PluginFileType.Image) ||
|
|
||||||
value?.fileType.includes(PluginFileType.Video) ||
|
|
||||||
!value?.fileType
|
|
||||||
) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1949,40 +1949,55 @@ class FilesStore {
|
|||||||
// ]);
|
// ]);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (!isRecycleBinFolder)
|
if (!isRecycleBinFolder) {
|
||||||
fileOptions = this.removeOptions(fileOptions, ["restore"]);
|
fileOptions = this.removeOptions(fileOptions, ["restore"]);
|
||||||
|
|
||||||
if (enablePlugins && !isRecycleBinFolder) {
|
if (enablePlugins) {
|
||||||
const pluginFilesKeys = this.pluginStore.getContextMenuKeysByType(
|
if (
|
||||||
PluginFileType.Files,
|
!item.viewAccessability.MediaView &&
|
||||||
item.fileExst
|
!item.viewAccessability.ImageView
|
||||||
);
|
) {
|
||||||
|
const pluginFilesKeys = this.pluginStore.getContextMenuKeysByType(
|
||||||
|
PluginFileType.Files,
|
||||||
|
item.fileExst
|
||||||
|
);
|
||||||
|
|
||||||
pluginAllKeys && pluginAllKeys.forEach((key) => fileOptions.push(key));
|
pluginAllKeys &&
|
||||||
pluginFilesKeys &&
|
pluginAllKeys.forEach((key) => fileOptions.push(key));
|
||||||
pluginFilesKeys.forEach((key) => fileOptions.push(key));
|
pluginFilesKeys &&
|
||||||
}
|
pluginFilesKeys.forEach((key) => fileOptions.push(key));
|
||||||
|
}
|
||||||
|
|
||||||
if (enablePlugins && item.viewAccessability.ImageView) {
|
if (
|
||||||
const pluginFilesKeys = this.pluginStore.getContextMenuKeysByType(
|
!item.viewAccessability.MediaView &&
|
||||||
PluginFileType.Image,
|
item.viewAccessability.ImageView
|
||||||
item.fileExst
|
) {
|
||||||
);
|
const pluginFilesKeys = this.pluginStore.getContextMenuKeysByType(
|
||||||
|
PluginFileType.Image,
|
||||||
|
item.fileExst
|
||||||
|
);
|
||||||
|
|
||||||
pluginAllKeys && pluginAllKeys.forEach((key) => fileOptions.push(key));
|
pluginAllKeys &&
|
||||||
pluginFilesKeys &&
|
pluginAllKeys.forEach((key) => fileOptions.push(key));
|
||||||
pluginFilesKeys.forEach((key) => fileOptions.push(key));
|
pluginFilesKeys &&
|
||||||
}
|
pluginFilesKeys.forEach((key) => fileOptions.push(key));
|
||||||
|
}
|
||||||
|
|
||||||
if (enablePlugins && item.viewAccessability.MediaView) {
|
if (
|
||||||
const pluginFilesKeys = this.pluginStore.getContextMenuKeysByType(
|
item.viewAccessability.MediaView &&
|
||||||
PluginFileType.Video,
|
!item.viewAccessability.ImageView
|
||||||
item.fileExst
|
) {
|
||||||
);
|
const pluginFilesKeys = this.pluginStore.getContextMenuKeysByType(
|
||||||
|
PluginFileType.Video,
|
||||||
|
item.fileExst
|
||||||
|
);
|
||||||
|
|
||||||
pluginAllKeys && pluginAllKeys.forEach((key) => fileOptions.push(key));
|
pluginAllKeys &&
|
||||||
pluginFilesKeys &&
|
pluginAllKeys.forEach((key) => fileOptions.push(key));
|
||||||
pluginFilesKeys.forEach((key) => fileOptions.push(key));
|
pluginFilesKeys &&
|
||||||
|
pluginFilesKeys.forEach((key) => fileOptions.push(key));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.canShareOwnerChange(item)) {
|
if (!this.canShareOwnerChange(item)) {
|
||||||
|
@ -36,6 +36,7 @@ export interface MediaViewerProps {
|
|||||||
label: string;
|
label: string;
|
||||||
onClick: (id: number) => void;
|
onClick: (id: number) => void;
|
||||||
icon: string;
|
icon: string;
|
||||||
|
fileType?: ["video", "image"];
|
||||||
};
|
};
|
||||||
}[];
|
}[];
|
||||||
|
|
||||||
|
@ -201,6 +201,19 @@ function MediaViewer({
|
|||||||
props.onClose();
|
props.onClose();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (
|
||||||
|
item.value.fileType &&
|
||||||
|
item.value.fileType.includes("image") &&
|
||||||
|
!targetFile.viewAccessability.ImageView
|
||||||
|
)
|
||||||
|
return;
|
||||||
|
if (
|
||||||
|
item.value.fileType &&
|
||||||
|
item.value.fileType.includes("video") &&
|
||||||
|
!targetFile.viewAccessability.MediaView
|
||||||
|
)
|
||||||
|
return;
|
||||||
|
|
||||||
model.push({
|
model.push({
|
||||||
id: item.key,
|
id: item.key,
|
||||||
key: item.key,
|
key: item.key,
|
||||||
|
Loading…
Reference in New Issue
Block a user