Plugins: check device for item click action

This commit is contained in:
Timofey Boyko 2023-10-17 17:17:32 +03:00
parent 25c40df1d6
commit 39a83e2e86
2 changed files with 11 additions and 13 deletions

View File

@ -2090,7 +2090,7 @@ class FilesActionStore {
openFileAction = (item) => {
const { openDocEditor, isPrivacyFolder, setSelection } = this.filesStore;
const { currentDeviceType } = this.authStore.settingsStore;
const { fileItemsList } = this.pluginStore;
const { enablePlugins } = this.authStore.settingsStore;
@ -2197,14 +2197,13 @@ class FilesActionStore {
});
if (currPluginItem) {
currPluginItem.onClick(item);
return;
const correctDevice = currPluginItem.devices
? currPluginItem.devices.includes(currentDeviceType)
: true;
if (correctDevice) return currPluginItem.onClick(item);
}
}
return;
return window.open(viewUrl, "_self");
}
};

View File

@ -939,24 +939,23 @@ class PluginStore {
if (!items) return;
const userRole = this.getUserRole();
const device = this.getCurrentDevice();
Array.from(items).map(([key, value]) => {
const correctUserType = value.usersType
? value.usersType.includes(userRole)
: true;
const correctDevice = value.devices
? value.devices.includes(device)
: true;
if (!correctUserType || !correctDevice) return;
if (!correctUserType) return;
const fileIcon = `${plugin.iconUrl}/assets/${value.fileRowIcon}`;
const fileIconTile = `${plugin.iconUrl}/assets/${value.fileTileIcon}`;
const onClick = async (item) => {
if (!value.onClick) return;
const device = this.getCurrentDevice();
const correctDevice = value.devices
? value.devices.includes(device)
: true;
if (!value.onClick || !correctDevice) return;
const message = await value.onClick(item);