diff --git a/packages/asc-web-components/input-block/index.js b/packages/asc-web-components/input-block/index.js
index 1e72d951c1..59652b59d2 100644
--- a/packages/asc-web-components/input-block/index.js
+++ b/packages/asc-web-components/input-block/index.js
@@ -10,7 +10,7 @@ import {
StyledIconBlock,
} from "./styled-input-block";
-// const iconNames = Object.keys(Icons);
+//const iconNames = Object.keys(Icons);
class InputBlock extends React.Component {
constructor(props) {
@@ -116,8 +116,7 @@ class InputBlock extends React.Component {
mask={mask}
keepCharPositions={keepCharPositions}
/>
- {/* {iconNames.includes(iconName) && ( */}
- {iconName && (
+ {//iconNames.includes(iconName) && (
- )}
+ }
);
}
diff --git a/products/ASC.Files/Client/src/App.js b/products/ASC.Files/Client/src/App.js
index b7bc554c24..78e700976c 100644
--- a/products/ASC.Files/Client/src/App.js
+++ b/products/ASC.Files/Client/src/App.js
@@ -1,5 +1,5 @@
import React from "react";
-//import Shell from "studio/shell";
+import Shell from "studio/shell";
const App = () => {
return ;
diff --git a/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js b/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js
index 39372a143a..62ac2aa4eb 100644
--- a/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js
+++ b/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js
@@ -106,7 +106,7 @@ const PureThirdPartyListContainer = ({
const thirdPartyUrl = "/products/files/settings/thirdParty";
if (history.location.pathname !== thirdPartyUrl) {
setSelectedNode(["thirdParty"]);
- setSelectedFolder({});
+ setSelectedFolder(null);
return history.push(thirdPartyUrl);
}
};
diff --git a/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js b/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js
index c0ea5d40a3..7d980f559c 100644
--- a/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js
+++ b/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js
@@ -108,7 +108,7 @@ const PureTreeSettings = ({
const path = section[0];
//if (selectedFolder) setSelectedFolder({});
- setSelectedFolder({}); //getSelectedTreeNode
+ setSelectedFolder(null); //getSelectedTreeNode
if (path === "settings") {
setSelectedNode(["common"]);
diff --git a/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js b/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js
index 81e96a6bf7..8c1117180d 100644
--- a/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js
+++ b/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js
@@ -863,7 +863,7 @@ export default inject(
isThirdPartySelection,
isWebEditSelected,
isTabletView: auth.settingsStore.isTabletView,
- confirmDelete: settingsStore.settingsTree.confirmDelete,
+ confirmDelete: settingsStore.confirmDelete,
treeFolders: treeFoldersStore.treeFolders,
setSelected,
setAction,
diff --git a/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js b/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js
index f9302ecd54..7828674091 100644
--- a/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js
+++ b/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js
@@ -42,7 +42,7 @@ const SectionBodyContent = ({
setForceSave,
isAdmin,
isErrorSettings,
- settingsTree,
+ isLoadedSettingsTree,
t,
}) => {
@@ -55,7 +55,7 @@ const SectionBodyContent = ({
};
const renderAdminSettings = () => {
- return Object.keys(settingsTree).length === 0 || isLoading ? null : (
+ return !isLoadedSettingsTree || isLoading ? null : (
{
- return Object.keys(settingsTree).length === 0 || isLoading ? null : (
+ return !isLoadedSettingsTree || isLoading ? null : (
{
const [title, setTitle] = useState("");
@@ -75,8 +75,7 @@ const PureSettings = ({
- {(Object.keys(settingsTree).length === 0 && isLoading) ||
- isLoading ? (
+ {(!isLoadedSettingsTree && isLoading) || isLoading ? (
) : (
@@ -84,8 +83,7 @@ const PureSettings = ({
- {(Object.keys(settingsTree).length === 0 && isLoading) ||
- isLoading ? (
+ {(!isLoadedSettingsTree && isLoading) || isLoading ? (
setting === "thirdParty" ? (
) : (
@@ -107,13 +105,11 @@ export default inject(
const { isLoading } = initFilesStore;
const { setFirstLoad } = filesStore;
const { setSelectedNode } = treeFoldersStore;
- const { getFilesSettings, settingsTree: settings } = settingsStore;
-
- const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
+ const { getFilesSettings, isLoadedSettingsTree } = settingsStore;
return {
isLoading,
- settingsTree,
+ isLoadedSettingsTree,
setFirstLoad,
setSelectedNode,
diff --git a/products/ASC.Files/Client/src/store/SelectedFolderStore.js b/products/ASC.Files/Client/src/store/SelectedFolderStore.js
index ee01d96d5e..85eb7e95ca 100644
--- a/products/ASC.Files/Client/src/store/SelectedFolderStore.js
+++ b/products/ASC.Files/Client/src/store/SelectedFolderStore.js
@@ -17,7 +17,7 @@ class SelectedFolderStore {
updated = null;
updatedBy = null;
rootFolderType = null;
- pathParts = [];
+ pathParts = null;
providerItem = null;
constructor() {
@@ -53,10 +53,22 @@ class SelectedFolderStore {
}
setSelectedFolder = (selectedFolder) => {
- const selectedFolderItems = Object.keys(selectedFolder);
- for (let key of selectedFolderItems) {
- if (key in this) {
- this[key] = selectedFolder[key];
+ if (!selectedFolder) {
+ const newStore = new SelectedFolderStore();
+
+ const selectedFolderItems = Object.keys(newStore);
+ for (let key of selectedFolderItems) {
+ if (key in this) {
+ this[key] = newStore[key];
+ }
+ }
+ } else {
+ const selectedFolderItems = Object.keys(selectedFolder);
+
+ for (let key of selectedFolderItems) {
+ if (key in this) {
+ this[key] = selectedFolder[key];
+ }
}
}
};
diff --git a/products/ASC.Files/Client/src/store/SettingsStore.js b/products/ASC.Files/Client/src/store/SettingsStore.js
index a2c4ace0f4..f759e3f52c 100644
--- a/products/ASC.Files/Client/src/store/SettingsStore.js
+++ b/products/ASC.Files/Client/src/store/SettingsStore.js
@@ -1,41 +1,55 @@
-import { makeObservable, action, observable } from "mobx";
+import { makeAutoObservable } from "mobx";
import api from "@appserver/common/api";
import axios from "axios";
import ThirdPartyStore from "./ThirdPartyStore";
class SettingsStore {
thirdPartyStore = null;
- settingsTree = {};
+
+ isErrorSettings = null;
+ expandedSetting = null;
+
+ confirmDelete = null;
+ enableThirdParty = null;
+ forcesave = null;
+ storeForcesave = null;
+ storeOriginalFiles = null;
+ updateIfExist = null;
constructor() {
- makeObservable(this, {
- thirdPartyStore: observable,
- settingsTree: observable,
-
- getFilesSettings: action,
- setExpandSettingsTree: action,
- });
+ makeAutoObservable(this);
this.thirdPartyStore = new ThirdPartyStore();
}
+ get isLoadedSettingsTree() {
+ return (
+ this.confirmDelete !== null &&
+ this.enableThirdParty !== null &&
+ this.forcesave !== null &&
+ this.storeForcesave !== null &&
+ this.storeOriginalFiles !== null &&
+ this.updateIfExist !== null
+ );
+ }
+
setFilesSettings = (settings) => {
const settingsItems = Object.keys(settings);
for (let key of settingsItems) {
- this.settingsTree[key] = settings[key];
+ this[key] = settings[key];
}
};
setIsErrorSettings = (isError) => {
- this.settingsTree.isErrorSettings = isError;
+ this.isErrorSettings = isError;
};
setExpandSettingsTree = (expandedSetting) => {
- this.settingsTree.expandedSetting = expandedSetting;
+ this.expandedSetting = expandedSetting;
};
getFilesSettings = () => {
- if (Object.keys(this.settingsTree).length === 0) {
+ if (!this.isLoadedSettingsTree) {
return api.files
.getSettingsFiles()
.then((settings) => {
@@ -50,19 +64,19 @@ class SettingsStore {
for (let item of capabilities) {
item.splice(1, 1);
}
- //this.thirdPartyStore.setThirdPartyCapabilities(capabilities); //TODO: Out of bounds read: 1
+ this.thirdPartyStore.setThirdPartyCapabilities(capabilities); //TODO: Out of bounds read: 1
this.thirdPartyStore.setThirdPartyProviders(providers);
});
}
})
.catch(() => this.setIsErrorSettings(true));
} else {
- return Promise.resolve(this.settingsTree);
+ return Promise.resolve();
}
};
setFilesSetting = (setting, val) => {
- this.settingsTree[setting] = val;
+ this[setting] = val;
};
setUpdateIfExist = (data, setting) =>
diff --git a/products/ASC.Files/Client/src/store/TreeFoldersStore.js b/products/ASC.Files/Client/src/store/TreeFoldersStore.js
index e51c4954c1..fe6b11002b 100644
--- a/products/ASC.Files/Client/src/store/TreeFoldersStore.js
+++ b/products/ASC.Files/Client/src/store/TreeFoldersStore.js
@@ -39,6 +39,7 @@ class TreeFoldersStore {
fetchTreeFolders: action,
setTreeFolders: action,
setExpandedKeys: action,
+ setSelectedNode: action,
});
}
diff --git a/products/ASC.People/Client/src/App.js b/products/ASC.People/Client/src/App.js
index 41948f51c6..427cf27a73 100644
--- a/products/ASC.People/Client/src/App.js
+++ b/products/ASC.People/Client/src/App.js
@@ -1,8 +1,7 @@
+import React from "react";
import Shell from "studio/shell";
-const App = () => (
-
-);
+const App = () => ;
export default App;
diff --git a/public/images/search.react.svg b/public/images/search.react.svg
new file mode 100644
index 0000000000..49cc89c87c
--- /dev/null
+++ b/public/images/search.react.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/web/ASC.Web.Client/public/index.html b/web/ASC.Web.Client/public/index.html
index ecdf08e348..bff3148efe 100644
--- a/web/ASC.Web.Client/public/index.html
+++ b/web/ASC.Web.Client/public/index.html
@@ -224,6 +224,7 @@
To create a production bundle, use `npm run build` or `yarn build`.
-->