Web: Files: Settings: added loader for connected-clouds

This commit is contained in:
Nikita Gopienko 2022-04-18 15:31:21 +03:00
parent 47ffc849a5
commit b0efd5bb9b
2 changed files with 41 additions and 13 deletions

View File

@ -17,6 +17,7 @@ const PureSettings = ({
isLoadedSettingsTree,
history,
setFirstLoad,
capabilities,
tReady,
}) => {
const [title, setTitle] = useState("");
@ -55,7 +56,10 @@ const PureSettings = ({
</Section.SectionHeader>
<Section.SectionBody>
{(!isLoadedSettingsTree && isLoading) || isLoading || !tReady ? (
{(!isLoadedSettingsTree && isLoading) ||
isLoading ||
!tReady ||
!capabilities ? (
setting === "thirdParty" ? (
<Loaders.Rows />
) : (
@ -79,7 +83,12 @@ const Settings = withTranslation(["Settings", "Common"])(PureSettings);
export default inject(({ filesStore, settingsStore, treeFoldersStore }) => {
const { setFirstLoad, isLoading } = filesStore;
const { setSelectedNode } = treeFoldersStore;
const { getFilesSettings, isLoadedSettingsTree } = settingsStore;
const {
getFilesSettings,
isLoadedSettingsTree,
thirdPartyStore,
} = settingsStore;
const { capabilities } = thirdPartyStore;
return {
isLoading,
@ -87,5 +96,6 @@ export default inject(({ filesStore, settingsStore, treeFoldersStore }) => {
setFirstLoad,
setSelectedNode,
getFilesSettings,
capabilities,
};
})(withRouter(observer(Settings)));

View File

@ -2,7 +2,7 @@ import { makeAutoObservable } from "mobx";
import api from "@appserver/common/api";
class ThirdPartyStore {
capabilities = [];
capabilities = null;
providers = [];
constructor() {
@ -118,43 +118,61 @@ class ThirdPartyStore {
};
get googleConnectItem() {
return this.capabilities.find((x) => x[0] === "GoogleDrive");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "GoogleDrive")
);
}
get boxConnectItem() {
return this.capabilities.find((x) => x[0] === "Box");
return this.capabilities && this.capabilities.find((x) => x[0] === "Box");
}
get dropboxConnectItem() {
return this.capabilities.find((x) => x[0] === "DropboxV2");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "DropboxV2")
);
}
get oneDriveConnectItem() {
return this.capabilities.find((x) => x[0] === "OneDrive");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "OneDrive")
);
}
get sharePointConnectItem() {
return this.capabilities.find((x) => x[0] === "SharePoint");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "SharePoint")
);
}
get kDriveConnectItem() {
return this.capabilities.find((x) => x[0] === "kDrive");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "kDrive")
);
}
get yandexConnectItem() {
return this.capabilities.find((x) => x[0] === "Yandex");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "Yandex")
);
}
get webDavConnectItem() {
return this.capabilities.find((x) => x[0] === "WebDav");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "WebDav")
);
}
// TODO: remove WebDav get NextCloud
get nextCloudConnectItem() {
return this.capabilities.find((x) => x[0] === "WebDav");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "WebDav")
);
}
// TODO:remove WebDav get OwnCloud
get ownCloudConnectItem() {
return this.capabilities.find((x) => x[0] === "WebDav");
return (
this.capabilities && this.capabilities.find((x) => x[0] === "WebDav")
);
}
}