Merge branch 'feature/mobx' of https://github.com/ONLYOFFICE/AppServer into feature/mobx
# Conflicts: # products/ASC.Files/Client/src/components/Article/Header/index.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesRowContent.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesTileContent.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/index.js # products/ASC.Files/Client/src/components/panels/NewFilesPanel/index.js
This commit is contained in:
commit
52c9e4daac
@ -239,19 +239,19 @@ class App extends React.Component {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => ({
|
||||
isDesktop: store.settingsStore.isDesktopClient,
|
||||
user: store.userStore.user,
|
||||
isAuthenticated: store.isAuthenticated,
|
||||
homepage: store.settingsStore.homepage || config.homepage,
|
||||
encryptionKeys: store.settingsStore.encryptionKeys,
|
||||
isEncryption: store.settingsStore.isEncryptionSupport,
|
||||
export default inject(({ auth, mainFilesStore }) => ({
|
||||
isDesktop: auth.settingsStore.isDesktopClient,
|
||||
user: auth.userStore.user,
|
||||
isAuthenticated: auth.isAuthenticated,
|
||||
homepage: auth.settingsStore.homepage || config.homepage,
|
||||
encryptionKeys: auth.settingsStore.encryptionKeys,
|
||||
isEncryption: auth.settingsStore.isEncryptionSupport,
|
||||
isLoaded: mainFilesStore.isLoaded,
|
||||
|
||||
setIsLoaded: mainFilesStore.setIsLoaded,
|
||||
setEncryptionKeys: store.settingsStore.setEncryptionKeys,
|
||||
setEncryptionKeys: auth.settingsStore.setEncryptionKeys,
|
||||
loadFilesInfo: async () => {
|
||||
await store.init();
|
||||
await auth.init();
|
||||
await mainFilesStore.initFiles();
|
||||
},
|
||||
}))(observer(App));
|
||||
|
@ -17,8 +17,8 @@ import { createI18N } from "../../../helpers/i18n";
|
||||
// getOAuthToken,
|
||||
// openConnectWindow,
|
||||
// setConnectItem,
|
||||
// setSelectedFolder,
|
||||
// setSelectedNode,
|
||||
//setSelectedFolder,
|
||||
//setSelectedNode,
|
||||
// setShowThirdPartyPanel,
|
||||
// } from "../../../store/files/actions";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -252,9 +252,9 @@ const ThirdPartyList = (props) => {
|
||||
// })(ThirdPartyList);
|
||||
|
||||
export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
const { setIsLoading, filesStore } = mainFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { setSelectedNode } = filesStore.treeFoldersStore;
|
||||
const { setIsLoading, filesStore } = mainFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { setSelectedNode } = filesStore.treeFoldersStore;
|
||||
const {
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
@ -268,7 +268,7 @@ export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
openConnectWindow,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
|
||||
return {
|
||||
return {
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
@ -276,12 +276,12 @@ export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
nextCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
|
||||
setIsLoading,
|
||||
setSelectedFolder,
|
||||
setSelectedNode,
|
||||
setIsLoading,
|
||||
setSelectedFolder,
|
||||
setSelectedNode,
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
};
|
||||
};
|
||||
})(observer(ThirdPartyList));
|
||||
|
@ -9,24 +9,24 @@ import {
|
||||
} from "asc-web-common";
|
||||
// import { connect } from "react-redux";
|
||||
// import {
|
||||
// setFilter,
|
||||
// setTreeFolders,
|
||||
// setDragItem,
|
||||
// setDragging,
|
||||
// setIsLoading,
|
||||
//setFilter,
|
||||
//setTreeFolders,
|
||||
//setDragItem,
|
||||
//setDragging,
|
||||
//setIsLoading,
|
||||
// setUpdateTree,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
// getTreeFolders,
|
||||
// getFilter,
|
||||
// getDragging,
|
||||
//getTreeFolders,
|
||||
//getFilter,
|
||||
//getDragging,
|
||||
// getUpdateTree,
|
||||
// getSelectedFolderId,
|
||||
// getMyFolderId,
|
||||
// getShareFolderId,
|
||||
// getRootFolderId,
|
||||
//getSelectedFolderId,
|
||||
//getMyFolderId,
|
||||
//getShareFolderId,
|
||||
//getRootFolderId,
|
||||
// getDraggableItems,
|
||||
// getIsPrivacyFolder,
|
||||
//getIsPrivacyFolder,
|
||||
// } from "../../../store/files/selectors";
|
||||
import { onConvertFiles } from "../../../helpers/files-converter";
|
||||
import { observer, inject } from "mobx-react";
|
||||
@ -503,76 +503,76 @@ TreeFolders.defaultProps = {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// filter: getFilter(state),
|
||||
// myId: getMyFolderId(state),
|
||||
// commonId: getShareFolderId(state),
|
||||
// currentId: getSelectedFolderId(state),
|
||||
// isAdmin: isAdmin(state),
|
||||
// dragging: getDragging(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//myId: getMyFolderId(state),
|
||||
//commonId: getShareFolderId(state),
|
||||
//currentId: getSelectedFolderId(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//dragging: getDragging(state),
|
||||
// updateTree: getUpdateTree(state),
|
||||
// rootFolderId: getRootFolderId(state),
|
||||
//rootFolderId: getRootFolderId(state),
|
||||
// draggableItems: getDraggableItems(state),
|
||||
// isDesktop: isDesktopClient(state),
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
// const mapDispatchToProps = (dispatch) => {
|
||||
// return {
|
||||
// setFilter: (filter) => dispatch(setFilter(filter)),
|
||||
// setTreeFolders: (treeFolders) => dispatch(setTreeFolders(treeFolders)),
|
||||
// setDragItem: (dragItem) => dispatch(setDragItem(dragItem)),
|
||||
// setDragging: (dragging) => dispatch(setDragging(dragging)),
|
||||
// setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
|
||||
//setFilter: (filter) => dispatch(setFilter(filter)),
|
||||
//setTreeFolders: (treeFolders) => dispatch(setTreeFolders(treeFolders)),
|
||||
//setDragItem: (dragItem) => dispatch(setDragItem(dragItem)),
|
||||
//setDragging: (dragging) => dispatch(setDragging(dragging)),
|
||||
//setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
|
||||
// setUpdateTree: (updateTree) => dispatch(setUpdateTree(updateTree)),
|
||||
// };
|
||||
// };
|
||||
|
||||
//export default connect(mapStateToProps, mapDispatchToProps)(TreeFolders);
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const {
|
||||
filesStore,
|
||||
setIsLoading,
|
||||
dragging,
|
||||
setDragging,
|
||||
setDragItem,
|
||||
} = mainFilesStore;
|
||||
const {
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
filter,
|
||||
setFilter,
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const {
|
||||
filesStore,
|
||||
setIsLoading,
|
||||
dragging,
|
||||
setDragging,
|
||||
setDragItem,
|
||||
} = mainFilesStore;
|
||||
const {
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
filter,
|
||||
setFilter,
|
||||
selection,
|
||||
} = filesStore;
|
||||
} = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
isPrivacyFolder,
|
||||
} = treeFoldersStore;
|
||||
const { pathParts, id } = selectedFolderStore;
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
isPrivacyFolder,
|
||||
} = treeFoldersStore;
|
||||
const { pathParts, id } = selectedFolderStore;
|
||||
|
||||
return {
|
||||
isAdmin: store.isAdmin,
|
||||
isDesktop: store.settingsStore.isDesktopClient,
|
||||
dragging,
|
||||
rootFolderId: pathParts,
|
||||
currentId: id,
|
||||
treeFolders,
|
||||
myId: myFolderId,
|
||||
commonId: commonFolderId,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
isDesktop: auth.settingsStore.isDesktopClient,
|
||||
dragging,
|
||||
rootFolderId: pathParts,
|
||||
currentId: id,
|
||||
treeFolders,
|
||||
myId: myFolderId,
|
||||
commonId: commonFolderId,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
draggableItems: dragging ? selection : false,
|
||||
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
setTreeFolders,
|
||||
setFilter,
|
||||
setDragItem,
|
||||
};
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
setTreeFolders,
|
||||
setFilter,
|
||||
setDragItem,
|
||||
};
|
||||
})(observer(TreeFolders));
|
||||
|
@ -8,17 +8,17 @@ import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
|
||||
// import {
|
||||
// setSelectedNode,
|
||||
//setSelectedNode,
|
||||
// setExpandSettingsTree,
|
||||
// getFilesSettings,
|
||||
// setSelectedFolder,
|
||||
// setIsLoading,
|
||||
//setSelectedFolder,
|
||||
//setIsLoading,
|
||||
// } from "../../../store/files/actions";
|
||||
import //getIsLoading,
|
||||
//getSettingsSelectedTreeNode,
|
||||
//getSettingsSelectedTreeNode,
|
||||
//getExpandedSetting,
|
||||
//getEnableThirdParty,
|
||||
//getSelectedTreeNode,
|
||||
//getSelectedTreeNode,
|
||||
"../../../store/files/selectors";
|
||||
import { inject, observer } from "mobx-react";
|
||||
//const { isAdmin } = initStore.auth.selectors;
|
||||
@ -206,12 +206,12 @@ const TreeSettings = (props) => {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
// selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
//selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
// expandedSetting: getExpandedSetting(state),
|
||||
// enableThirdParty: getEnableThirdParty(state),
|
||||
// isAdmin: isAdmin(state),
|
||||
// isLoading: getIsLoading(state),
|
||||
// selectedFolder: getSelectedTreeNode(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//selectedFolder: getSelectedTreeNode(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
@ -223,10 +223,10 @@ const TreeSettings = (props) => {
|
||||
// setIsLoading,
|
||||
// })(withRouter(TreeSettings));
|
||||
|
||||
export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
const { setIsLoading, filesStore, isLoading } = mainFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { selectedTreeNode, setSelectedNode } = filesStore.treeFoldersStore;
|
||||
export default inject(({ auth, mainFilesStore, settingsStore }) => {
|
||||
const { setIsLoading, filesStore, isLoading } = mainFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { selectedTreeNode, setSelectedNode } = filesStore.treeFoldersStore;
|
||||
const {
|
||||
getFilesSettings,
|
||||
enableThirdParty,
|
||||
@ -234,17 +234,17 @@ export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
setExpandSettingsTree,
|
||||
} = settingsStore;
|
||||
|
||||
return {
|
||||
isAdmin: store.isAdmin,
|
||||
isLoading,
|
||||
selectedTreeNode,
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
isLoading,
|
||||
selectedTreeNode,
|
||||
enableThirdParty,
|
||||
expandedSetting,
|
||||
|
||||
setIsLoading,
|
||||
setSelectedFolder,
|
||||
setSelectedNode,
|
||||
setIsLoading,
|
||||
setSelectedFolder,
|
||||
setSelectedNode,
|
||||
getFilesSettings,
|
||||
setExpandSettingsTree,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(TreeSettings)));
|
||||
|
@ -157,7 +157,7 @@ class ArticleBodyContent extends React.Component {
|
||||
// };
|
||||
|
||||
//export default connect(mapStateToProps, mapDispatchToProps)(ArticleBodyContent);
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { setIsLoading, filesStore } = mainFilesStore;
|
||||
const {
|
||||
fetchFiles,
|
||||
|
@ -22,6 +22,6 @@ const ArticleHeaderContent = ({ currentModuleName }) => {
|
||||
|
||||
// export default connect(mapStateToProps)(ArticleHeaderContent);
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
currentModuleName: (store.product && store.product.title) || "",
|
||||
export default inject(({ auth }) => ({
|
||||
currentModuleName: (auth.product && auth.product.title) || "",
|
||||
}))(observer(ArticleHeaderContent));
|
||||
|
@ -8,10 +8,10 @@ import { isMobile } from "react-device-detect";
|
||||
//import { setAction, startUpload } from "../../../store/files/actions";
|
||||
// import {
|
||||
// canCreate,
|
||||
// getFilter,
|
||||
// getSelectedFolder,
|
||||
// getFirstLoad,
|
||||
// getIsPrivacyFolder,
|
||||
//getFilter,
|
||||
//getSelectedFolder,
|
||||
//getFirstLoad,
|
||||
//getIsPrivacyFolder,
|
||||
// } from "../../../store/files/selectors";
|
||||
import {
|
||||
utils as commonUtils,
|
||||
@ -185,16 +185,16 @@ ArticleMainButtonContent.propTypes = {
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// canCreate: canCreate(state),
|
||||
// firstLoad: getFirstLoad(state),
|
||||
// settings: getSettings(state),
|
||||
// filter: getFilter(state),
|
||||
// selectedFolder: getSelectedFolder(state),
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//settings: getSettings(state),
|
||||
//filter: getFilter(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const {
|
||||
firstLoad,
|
||||
fileActionStore,
|
||||
@ -203,19 +203,19 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
canCreate,
|
||||
uploadDataStore,
|
||||
} = filesStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { id } = filesStore.selectedFolderStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { id } = filesStore.selectedFolderStore;
|
||||
const { startUpload } = uploadDataStore;
|
||||
|
||||
return {
|
||||
homepage: store.settingsStore.homepage,
|
||||
firstLoad,
|
||||
selectedFolderId: id,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
return {
|
||||
homepage: auth.settingsStore.homepage,
|
||||
firstLoad,
|
||||
selectedFolderId: id,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
canCreate,
|
||||
|
||||
setAction: fileActionStore.setAction,
|
||||
startUpload,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(ArticleMainButtonContent)));
|
||||
|
@ -15,9 +15,9 @@ import { utils as commonUtils } from "asc-web-common";
|
||||
// getOAuthToken,
|
||||
// openConnectWindow,
|
||||
// saveThirdParty,
|
||||
// setTreeFolders,
|
||||
//setTreeFolders,
|
||||
// setUpdateTree,
|
||||
// fetchFiles,
|
||||
//fetchFiles,
|
||||
// } from "../../../store/files/actions";
|
||||
import {
|
||||
//getTreeFolders,
|
||||
@ -357,11 +357,11 @@ const ConnectDialog = (props) => {
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// myFolderId: getMyFolderId(state),
|
||||
// commonFolderId: getCommonFolderId(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//myFolderId: getMyFolderId(state),
|
||||
//commonFolderId: getCommonFolderId(state),
|
||||
// providers: getThirdPartyProviders(state),
|
||||
// selectedFolder: getSelectedFolder(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -380,33 +380,33 @@ export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
fetchThirdPartyProviders,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles, treeFoldersStore } = filesStore;
|
||||
const { fetchFiles, treeFoldersStore } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
fetchTreeFolders,
|
||||
} = treeFoldersStore;
|
||||
const { id, folders } = filesStore.selectedFolderStore;
|
||||
} = treeFoldersStore;
|
||||
const { id, folders } = filesStore.selectedFolderStore;
|
||||
|
||||
return {
|
||||
selectedFolderId: id,
|
||||
selectedFolderFolders: folders,
|
||||
treeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
return {
|
||||
selectedFolderId: id,
|
||||
selectedFolderFolders: folders,
|
||||
treeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
providers,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
fetchTreeFolders,
|
||||
};
|
||||
};
|
||||
})(observer(ConnectDialog));
|
||||
|
@ -6,7 +6,7 @@ import { ModalDialog, Button, Text, Checkbox } from "asc-web-components";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { utils } from "asc-web-common";
|
||||
// import {
|
||||
// setTreeFolders,
|
||||
//setTreeFolders,
|
||||
// setDialogVisible,
|
||||
// convertUploadedFiles,
|
||||
// } from "../../../store/files/actions";
|
||||
@ -126,13 +126,13 @@ const ConvertDialog = (props) => (
|
||||
// })(withRouter(ConvertDialog));
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { setTreeFolders } = filesStore.treeFoldersStore;
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { setTreeFolders } = filesStore.treeFoldersStore;
|
||||
const { setDialogVisible, convertUploadedFiles } = filesStore.uploadDataStore;
|
||||
|
||||
return {
|
||||
setTreeFolders,
|
||||
return {
|
||||
setTreeFolders,
|
||||
setDialogVisible,
|
||||
convertUploadedFiles,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(ConvertDialog)));
|
||||
|
@ -12,9 +12,9 @@ import {
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { api, utils, toastr } from "asc-web-common";
|
||||
import //fetchFiles,
|
||||
//setTreeFolders,
|
||||
//setSecondaryProgressBarData,
|
||||
//clearSecondaryProgressData,
|
||||
//setTreeFolders,
|
||||
//setSecondaryProgressBarData,
|
||||
//clearSecondaryProgressData,
|
||||
//setUpdateTree,
|
||||
"../../../store/files/actions";
|
||||
import { TIMEOUT } from "../../../helpers/constants";
|
||||
@ -304,13 +304,13 @@ const DeleteDialog = (props) => (
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// currentFolderId: getSelectedFolderId(state),
|
||||
// filter: getFilter(state),
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// isLoading: getIsLoading(state),
|
||||
// isRecycleBinFolder: getIsRecycleBinFolder(state),
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
// selection: getSelection(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//filter: getFilter(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//isRecycleBinFolder: getIsRecycleBinFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//selection: getSelection(state),
|
||||
// isRootFolder: isRootFolder(state),
|
||||
// };
|
||||
// };
|
||||
@ -323,42 +323,42 @@ const DeleteDialog = (props) => (
|
||||
// fetchFiles,
|
||||
// })(withRouter(DeleteDialog));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const {
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
} = filesStore;
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const {
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
} = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
isRecycleBinFolder,
|
||||
isPrivacyFolder,
|
||||
} = treeFoldersStore;
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
isRecycleBinFolder,
|
||||
isPrivacyFolder,
|
||||
} = treeFoldersStore;
|
||||
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
|
||||
return {
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
selection,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
return {
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
selection,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
isRootFolder: selectedFolderStore.isRootFolder,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withRouter(observer(DeleteDialog)));
|
||||
|
@ -7,9 +7,9 @@ import { utils, toastr, api } from "asc-web-common";
|
||||
// import {
|
||||
// deleteThirdParty,
|
||||
// setThirdPartyProviders,
|
||||
// fetchFiles,
|
||||
//fetchFiles,
|
||||
// setUpdateTree,
|
||||
// setTreeFolders,
|
||||
//setTreeFolders,
|
||||
// } from "../../../store/files/actions";
|
||||
import {
|
||||
//getThirdPartyProviders,
|
||||
@ -122,10 +122,10 @@ const DeleteThirdPartyDialog = (props) => (
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// providers: getThirdPartyProviders(state),
|
||||
// currentFolderId: getSelectedFolderId(state),
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// commonId: getCommonFolderId(state),
|
||||
// myId: getMyFolderId(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//commonId: getCommonFolderId(state),
|
||||
//myId: getMyFolderId(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -136,7 +136,7 @@ const DeleteThirdPartyDialog = (props) => (
|
||||
// setTreeFolders,
|
||||
// })(withRouter(DeleteThirdPartyDialog));
|
||||
|
||||
export default inject(({ store, mainFilesStore, thirdParty }) => {
|
||||
export default inject(({ auth, mainFilesStore, thirdParty }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { providers, setThirdPartyProviders, deleteThirdParty } = thirdParty;
|
||||
const { fetchFiles, treeFoldersStore } = filesStore;
|
||||
|
@ -615,18 +615,18 @@ const DownloadDialog = (props) => (
|
||||
// clearSecondaryProgressData,
|
||||
// })(withRouter(DownloadDialog));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { sortedFiles, secondaryProgressDataStore } = filesStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
|
||||
return {
|
||||
return {
|
||||
sortedFiles,
|
||||
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withRouter(observer(DownloadDialog)));
|
||||
|
@ -187,7 +187,7 @@ const EmptyTrashDialog = (props) => (
|
||||
// fetchFiles,
|
||||
// })(withRouter(EmptyTrashDialog));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const { fetchFiles, filter, secondaryProgressDataStore } = filesStore;
|
||||
const {
|
||||
|
@ -760,20 +760,20 @@ class FilesRowContent extends React.PureComponent {
|
||||
|
||||
// function mapStateToProps(state, props) {
|
||||
// return {
|
||||
// filter: getFilter(state),
|
||||
// fileAction: getFileAction(state),
|
||||
// parentFolder: getSelectedFolderParentId(state),
|
||||
// isTrashFolder: getIsRecycleBinFolder(state),
|
||||
// settings: getSettings(state),
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// selectedFolderPathParts: getPathParts(state),
|
||||
// newItems: getSelectedFolderNew(state),
|
||||
// selectedFolder: getSelectedFolder(state),
|
||||
// folders: getFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//fileAction: getFileAction(state),
|
||||
//parentFolder: getSelectedFolderParentId(state),
|
||||
//isTrashFolder: getIsRecycleBinFolder(state),
|
||||
//settings: getSettings(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//selectedFolderPathParts: getPathParts(state),
|
||||
//newItems: getSelectedFolderNew(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//folders: getFolders(state),
|
||||
// newRowItems: getNewRowItems(state),
|
||||
// isLoading: getIsLoading(state),
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
// isDesktop: isDesktopClient(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
// canWebEdit: canWebEdit(props.item.fileExst)(state),
|
||||
// canConvert: canConvert(props.item.fileExst)(state),
|
||||
// isImage: isImage(props.item.fileExst)(state),
|
||||
@ -797,9 +797,9 @@ class FilesRowContent extends React.PureComponent {
|
||||
// replaceFileStream,
|
||||
// })(withRouter(withTranslation()(FilesRowContent)));
|
||||
|
||||
export default inject(({ store, mainFilesStore, formatsStore }, { item }) => {
|
||||
const { replaceFileStream, getEncryptionAccess, setEncryptionAccess } = store;
|
||||
const { homepage, culture, isDesktopClient } = store.settingsStore;
|
||||
export default inject(({ auth, mainFilesStore, formatsStore }, { item }) => {
|
||||
const { replaceFileStream, getEncryptionAccess, setEncryptionAccess } = auth;
|
||||
const { homepage, culture, isDesktopClient } = auth.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const {
|
||||
iconFormatsStore,
|
||||
|
@ -445,18 +445,18 @@ class FilesTileContent extends React.PureComponent {
|
||||
|
||||
// function mapStateToProps(state, props) {
|
||||
// return {
|
||||
// filter: getFilter(state),
|
||||
// fileAction: getFileAction(state),
|
||||
// parentFolder: getSelectedFolderParentId(state),
|
||||
// isTrashFolder: getIsRecycleBinFolder(state),
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// rootFolderId: getRootFolderId(state),
|
||||
// newItems: getSelectedFolderNew(state),
|
||||
// selectedFolder: getSelectedFolder(state),
|
||||
// folders: getFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//fileAction: getFileAction(state),
|
||||
//parentFolder: getSelectedFolderParentId(state),
|
||||
//isTrashFolder: getIsRecycleBinFolder(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//rootFolderId: getRootFolderId(state),
|
||||
//newItems: getSelectedFolderNew(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//folders: getFolders(state),
|
||||
// newRowItems: getNewRowItems(state),
|
||||
// dragging: getDragging(state),
|
||||
// isLoading: getIsLoading(state),
|
||||
//dragging: getDragging(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
// canWebEdit: canWebEdit(props.item.fileExst)(state),
|
||||
// };
|
||||
// }
|
||||
@ -470,8 +470,8 @@ class FilesTileContent extends React.PureComponent {
|
||||
// fetchFiles,
|
||||
// })(withRouter(withTranslation()(FilesTileContent)));
|
||||
|
||||
export default inject(({ store, mainFilesStore, formatsStore }, { item }) => {
|
||||
const { homepage, culture } = store.settingsStore;
|
||||
export default inject(({ auth, mainFilesStore, formatsStore }, { item }) => {
|
||||
const { homepage, culture } = auth.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading, dragging } = mainFilesStore;
|
||||
const {
|
||||
iconFormatsStore,
|
||||
@ -484,48 +484,48 @@ export default inject(({ store, mainFilesStore, formatsStore }, { item }) => {
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
newRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
} = filesStore;
|
||||
|
||||
const { treeFolders, setTreeFolders, isRecycleBinFolder } = treeFoldersStore;
|
||||
|
||||
const { type, extension, id } = filesStore.fileActionStore;
|
||||
const { type, extension, id } = filesStore.fileActionStore;
|
||||
|
||||
const fileAction = { type, extension, id };
|
||||
const fileAction = { type, extension, id };
|
||||
|
||||
const canWebEdit = docserviceStore.canWebEdit(item.fileExst);
|
||||
const isVideo = mediaViewersFormatsStore.isVideo(item.fileExst);
|
||||
const isImage = iconFormatsStore.isImage(item.fileExst);
|
||||
const isSound = iconFormatsStore.isSound(item.fileExst);
|
||||
|
||||
return {
|
||||
culture,
|
||||
homepage,
|
||||
fileAction,
|
||||
folders,
|
||||
rootFolderId: filesStore.selectedFolderStore.pathParts,
|
||||
selectedFolderId: filesStore.selectedFolderStore.id,
|
||||
selectedFolderPathParts: filesStore.selectedFolderStore.pathParts,
|
||||
newItems: filesStore.selectedFolderStore.new,
|
||||
parentFolder: filesStore.selectedFolderStore.parentId,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isTrashFolder: isRecycleBinFolder,
|
||||
filter,
|
||||
dragging,
|
||||
return {
|
||||
culture,
|
||||
homepage,
|
||||
fileAction,
|
||||
folders,
|
||||
rootFolderId: filesStore.selectedFolderStore.pathParts,
|
||||
selectedFolderId: filesStore.selectedFolderStore.id,
|
||||
selectedFolderPathParts: filesStore.selectedFolderStore.pathParts,
|
||||
newItems: filesStore.selectedFolderStore.new,
|
||||
parentFolder: filesStore.selectedFolderStore.parentId,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isTrashFolder: isRecycleBinFolder,
|
||||
filter,
|
||||
dragging,
|
||||
canWebEdit,
|
||||
isVideo,
|
||||
isImage,
|
||||
isSound,
|
||||
newRowItems,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
};
|
||||
};
|
||||
})(withRouter(withTranslation()(observer(FilesTileContent))));
|
||||
|
@ -31,31 +31,31 @@ import {
|
||||
//store,
|
||||
} from "asc-web-common";
|
||||
// import {
|
||||
// clearSecondaryProgressData,
|
||||
//clearSecondaryProgressData,
|
||||
// loopFilesOperations,
|
||||
// markItemAsFavorite,
|
||||
// removeItemFromFavorite,
|
||||
// fetchFavoritesFolder,
|
||||
// deselectFile,
|
||||
//deselectFile,
|
||||
// updateFile,
|
||||
// fetchFiles,
|
||||
// selectFile,
|
||||
// setAction,
|
||||
// setDragging,
|
||||
// setDragItem,
|
||||
// setIsLoading,
|
||||
// setMediaViewerData,
|
||||
//fetchFiles,
|
||||
//selectFile,
|
||||
//setAction,
|
||||
//setDragging,
|
||||
//setDragItem,
|
||||
//setIsLoading,
|
||||
//setMediaViewerData,
|
||||
// setUpdateTree,
|
||||
// setSecondaryProgressBarData,
|
||||
// setSelected,
|
||||
// setSelection,
|
||||
// setTreeFolders,
|
||||
//setSecondaryProgressBarData,
|
||||
//setSelected,
|
||||
//setSelection,
|
||||
//setTreeFolders,
|
||||
// getFileInfo,
|
||||
// addFileToRecentlyViewed,
|
||||
// setIsVerHistoryPanel,
|
||||
// setVerHistoryFileId,
|
||||
// setSharingPanelVisible,
|
||||
// setChangeOwnerPanelVisible,
|
||||
//setIsVerHistoryPanel,
|
||||
//setVerHistoryFileId,
|
||||
//setSharingPanelVisible,
|
||||
//setChangeOwnerPanelVisible,
|
||||
// } from "../../../../../store/files/actions";
|
||||
import { TIMEOUT } from "../../../../../helpers/constants";
|
||||
import {
|
||||
@ -2127,49 +2127,49 @@ SectionBodyContent.defaultProps = {
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// currentFolderCount: getCurrentFilesCount(state),
|
||||
// currentMediaFileId: getMediaViewerId(state),
|
||||
// dragging: getDragging(state),
|
||||
// dragItem: getDragItem(state),
|
||||
// fileAction: getFileAction(state),
|
||||
// files: getFiles(state),
|
||||
// filesList: getFilesList(state)(state),
|
||||
// filter: getFilter(state),
|
||||
// firstLoad: getFirstLoad(state),
|
||||
// folderId: getSelectedFolderId(state),
|
||||
// folders: getFolders(state),
|
||||
// isAdmin: isAdmin(state),
|
||||
// isCommon: getIsCommonFolder(state),
|
||||
// isDesktop: isDesktopClient(state),
|
||||
// isEncryptionSupport: isEncryptionSupport(state),
|
||||
// isFavorites: getIsFavoritesFolder(state),
|
||||
// isMy: getIsMyFolder(state),
|
||||
// isRecycleBin: getIsRecycleBinFolder(state),
|
||||
// isRecent: getIsRecentFolder(state),
|
||||
// isShare: getIsShareFolder(state),
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
//currentMediaFileId: getMediaViewerId(state),
|
||||
//dragging: getDragging(state),
|
||||
//dragItem: getDragItem(state),
|
||||
//fileAction: getFileAction(state),
|
||||
//files: getFiles(state),
|
||||
//filesList: getFilesList(state)(state),
|
||||
//filter: getFilter(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//folderId: getSelectedFolderId(state),
|
||||
//folders: getFolders(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isCommon: getIsCommonFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//isEncryptionSupport: isEncryptionSupport(state),
|
||||
//isFavorites: getIsFavoritesFolder(state),
|
||||
//isMy: getIsMyFolder(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
//isRecent: getIsRecentFolder(state),
|
||||
//isShare: getIsShareFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
// mediaViewerImageFormats: getMediaViewerImageFormats(state),
|
||||
// mediaViewerMediaFormats: getMediaViewerMediaFormats(state),
|
||||
// mediaViewerVisible: getMediaViewerVisibility(state),
|
||||
// myDocumentsId: getMyFolderId(state),
|
||||
// organizationName: getOrganizationName(state),
|
||||
// parentId: getSelectedFolderParentId(state),
|
||||
// privacyInstructions: getPrivacyInstructionsLink(state),
|
||||
// selected: getSelected(state),
|
||||
// selectedFolderId: getSelectedFolderId(state),
|
||||
// selection: getSelection(state),
|
||||
// settings: getSettings(state),
|
||||
// title: getSelectedFolderTitle(state),
|
||||
// treeFolders: getTreeFolders(state),
|
||||
// viewAs: getViewAs(state),
|
||||
// viewer: getCurrentUser(state),
|
||||
//mediaViewerVisible: getMediaViewerVisibility(state),
|
||||
//myDocumentsId: getMyFolderId(state),
|
||||
//organizationName: getOrganizationName(state),
|
||||
//parentId: getSelectedFolderParentId(state),
|
||||
//privacyInstructions: getPrivacyInstructionsLink(state),
|
||||
//selected: getSelected(state),
|
||||
//selectedFolderId: getSelectedFolderId(state),
|
||||
//selection: getSelection(state),
|
||||
//settings: getSettings(state),
|
||||
//title: getSelectedFolderTitle(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//viewAs: getViewAs(state),
|
||||
//viewer: getCurrentUser(state),
|
||||
// tooltipValue: getTooltipLabel(state),
|
||||
// iconOfDraggedFile: getIconOfDraggedFile(state)(state),
|
||||
// sharingPanelVisible: getSharePanelVisible(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
// isRootFolder: isRootFolder(state),
|
||||
// providers: getThirdPartyProviders(state),
|
||||
// capabilities: getThirdPartyCapabilities(state),
|
||||
// isVersionHistoryPanel: getIsVerHistoryPanel(state),
|
||||
// isTabletView: getIsTabletView(state),
|
||||
//isVersionHistoryPanel: getIsVerHistoryPanel(state),
|
||||
//isTabletView: getIsTabletView(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -2203,7 +2203,7 @@ SectionBodyContent.defaultProps = {
|
||||
|
||||
export default inject(
|
||||
({
|
||||
store,
|
||||
auth,
|
||||
mainFilesStore,
|
||||
settingsStore,
|
||||
mediaViewerDataStore,
|
||||
@ -2218,7 +2218,7 @@ export default inject(
|
||||
isTabletView,
|
||||
organizationName,
|
||||
isDesktopClient,
|
||||
} = store.settingsStore;
|
||||
} = auth.settingsStore;
|
||||
const {
|
||||
dragging,
|
||||
setDragging,
|
||||
@ -2301,12 +2301,12 @@ export default inject(
|
||||
} = mediaViewerDataStore;
|
||||
|
||||
return {
|
||||
isAdmin: store.isAdmin,
|
||||
isAdmin: auth.isAdmin,
|
||||
homepage,
|
||||
culture,
|
||||
isEncryptionSupport,
|
||||
isTabletView,
|
||||
viewer: store.userStore.user,
|
||||
viewer: auth.userStore.user,
|
||||
organizationName,
|
||||
isDesktop: isDesktopClient,
|
||||
dragging,
|
||||
|
@ -6,11 +6,11 @@ import React from "react";
|
||||
// setIsLoading,
|
||||
// } from "../../../../../store/files/actions";
|
||||
// import {
|
||||
// getFilter,
|
||||
// getSelectedFolderId,
|
||||
// getViewAs,
|
||||
//getFilter,
|
||||
//getSelectedFolderId,
|
||||
//getViewAs,
|
||||
// getFilterSelectedItem,
|
||||
// getFirstLoad,
|
||||
//getFirstLoad,
|
||||
// } from "../../../../../store/files/selectors";
|
||||
import find from "lodash/find";
|
||||
import result from "lodash/result";
|
||||
@ -333,14 +333,14 @@ class SectionFilterContent extends React.Component {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
// user: getCurrentUser(state),
|
||||
// customNames: getSettingsCustomNames(state),
|
||||
// language: getLanguage(state),
|
||||
// firstLoad: getFirstLoad(state),
|
||||
// filter: getFilter(state),
|
||||
// selectedFolderId: getSelectedFolderId(state),
|
||||
//user: getCurrentUser(state),
|
||||
//customNames: getSettingsCustomNames(state),
|
||||
//language: getLanguage(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//filter: getFilter(state),
|
||||
//selectedFolderId: getSelectedFolderId(state),
|
||||
// selectedItem: getFilterSelectedItem(state),
|
||||
// viewAs: getViewAs(state),
|
||||
//viewAs: getViewAs(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
@ -350,28 +350,28 @@ class SectionFilterContent extends React.Component {
|
||||
// setIsLoading,
|
||||
// })(withRouter(withLayoutSize(withTranslation()(SectionFilterContent))));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, setViewAs, viewAs } = mainFilesStore;
|
||||
const { firstLoad, fetchFiles, filter, selectedFolderStore } = filesStore;
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, setViewAs, viewAs } = mainFilesStore;
|
||||
const { firstLoad, fetchFiles, filter, selectedFolderStore } = filesStore;
|
||||
|
||||
const { user } = store.userStore;
|
||||
const { customNames, culture } = store.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
const { user } = auth.userStore;
|
||||
const { customNames, culture } = auth.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
|
||||
return {
|
||||
customNames,
|
||||
user,
|
||||
language,
|
||||
firstLoad,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
return {
|
||||
customNames,
|
||||
user,
|
||||
language,
|
||||
firstLoad,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedItem: filter.selectedItem,
|
||||
filter,
|
||||
viewAs,
|
||||
filter,
|
||||
viewAs,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setViewAs,
|
||||
};
|
||||
})(
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setViewAs,
|
||||
};
|
||||
})(
|
||||
withRouter(withLayoutSize(withTranslation()(observer(SectionFilterContent))))
|
||||
);
|
||||
|
@ -38,22 +38,22 @@ import { OperationsPanel } from "../../../../panels";
|
||||
// import {
|
||||
// getUserAccess,
|
||||
// getWebEditSelected,
|
||||
// getIsRecycleBinFolder,
|
||||
//getIsRecycleBinFolder,
|
||||
// canCreate,
|
||||
// getSelectedFolderTitle,
|
||||
// getFilter,
|
||||
// getSelectedFolderId,
|
||||
// getSelection,
|
||||
// getSelectedFolderParentId,
|
||||
// getIsRootFolder,
|
||||
//getSelectedFolderTitle,
|
||||
//getFilter,
|
||||
//getSelectedFolderId,
|
||||
//getSelection,
|
||||
//getSelectedFolderParentId,
|
||||
//getIsRootFolder,
|
||||
// getHeaderVisible,
|
||||
// getHeaderIndeterminate,
|
||||
// getHeaderChecked,
|
||||
// getAccessedSelected,
|
||||
// getSelectionLength,
|
||||
// getSharePanelVisible,
|
||||
//getSharePanelVisible,
|
||||
// getIsThirdPartySelection,
|
||||
// getIsPrivacyFolder,
|
||||
//getIsPrivacyFolder,
|
||||
// getOnlyFoldersSelected,
|
||||
// } from "../../../../../store/files/selectors";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -695,17 +695,17 @@ class SectionHeaderContent extends React.Component {
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// isRootFolder: getIsRootFolder(state),
|
||||
// isAdmin: isAdmin(state),
|
||||
// isRecycleBin: getIsRecycleBinFolder(state),
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
// isDesktop: isDesktopClient(state),
|
||||
// parentId: getSelectedFolderParentId(state),
|
||||
// selection: getSelection(state),
|
||||
// title: getSelectedFolderTitle(state),
|
||||
// filter: getFilter(state),
|
||||
//isRootFolder: getIsRootFolder(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//parentId: getSelectedFolderParentId(state),
|
||||
//selection: getSelection(state),
|
||||
//title: getSelectedFolderTitle(state),
|
||||
//filter: getFilter(state),
|
||||
// deleteDialogVisible: getUserAccess(state),
|
||||
// currentFolderId: getSelectedFolderId(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
// canCreate: canCreate(state),
|
||||
// isWebEditSelected: getWebEditSelected(state),
|
||||
// isHeaderVisible: getHeaderVisible(state),
|
||||
@ -713,7 +713,7 @@ class SectionHeaderContent extends React.Component {
|
||||
// isHeaderChecked: getHeaderChecked(state),
|
||||
// isAccessedSelected: getAccessedSelected(state),
|
||||
// isItemsSelected: getSelectionLength(state),
|
||||
// sharingPanelVisible: getSharePanelVisible(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
// isThirdPartySelection: getIsThirdPartySelection(state),
|
||||
// isOnlyFoldersSelected: getOnlyFoldersSelected(state),
|
||||
// };
|
||||
@ -729,18 +729,18 @@ class SectionHeaderContent extends React.Component {
|
||||
// setSharingPanelVisible,
|
||||
// })(withTranslation()(withRouter(SectionHeaderContent)));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading } = mainFilesStore;
|
||||
const {
|
||||
setSelected,
|
||||
fileActionStore,
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
dialogsStore,
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading } = mainFilesStore;
|
||||
const {
|
||||
setSelected,
|
||||
fileActionStore,
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
dialogsStore,
|
||||
canCreate,
|
||||
isHeaderVisible,
|
||||
isHeaderIndeterminate,
|
||||
@ -750,27 +750,27 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
isOnlyFoldersSelected,
|
||||
isThirdPartySelection,
|
||||
isWebEditSelected,
|
||||
} = filesStore;
|
||||
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
||||
const { setAction } = fileActionStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
const { sharingPanelVisible, setSharingPanelVisible } = dialogsStore;
|
||||
} = filesStore;
|
||||
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
||||
const { setAction } = fileActionStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
const { sharingPanelVisible, setSharingPanelVisible } = dialogsStore;
|
||||
|
||||
return {
|
||||
isAdmin: store.isAdmin,
|
||||
isDesktop: store.settingsStore.isDesktopClient,
|
||||
isRootFolder: selectedFolderStore.parentId === 0,
|
||||
title: selectedFolderStore.title,
|
||||
parentId: selectedFolderStore.parentId,
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
selection,
|
||||
isRecycleBin: isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
sharingPanelVisible,
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
isDesktop: auth.settingsStore.isDesktopClient,
|
||||
isRootFolder: selectedFolderStore.parentId === 0,
|
||||
title: selectedFolderStore.title,
|
||||
parentId: selectedFolderStore.parentId,
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
selection,
|
||||
isRecycleBin: isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
sharingPanelVisible,
|
||||
canCreate,
|
||||
isItemsSelected: selection.length,
|
||||
isHeaderVisible,
|
||||
@ -782,12 +782,12 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
isThirdPartySelection,
|
||||
isWebEditSelected,
|
||||
|
||||
setSelected,
|
||||
setAction,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setSecondaryProgressBarData,
|
||||
setSharingPanelVisible,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
setSelected,
|
||||
setAction,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setSecondaryProgressBarData,
|
||||
setSharingPanelVisible,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withTranslation()(withRouter(observer(SectionHeaderContent))));
|
||||
|
@ -185,7 +185,7 @@ const SectionPagingContent = ({
|
||||
// SectionPagingContent
|
||||
// );
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading } = mainFilesStore;
|
||||
const {
|
||||
files,
|
||||
|
@ -362,7 +362,7 @@ Home.propTypes = {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const {
|
||||
dragging,
|
||||
setDragging,
|
||||
@ -409,7 +409,7 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
const { setUploadPanelVisible, startUpload } = uploadDataStore;
|
||||
|
||||
return {
|
||||
homepage: store.settingsStore.homepage,
|
||||
homepage: auth.settingsStore.homepage,
|
||||
firstLoad,
|
||||
dragging,
|
||||
fileActionId: id,
|
||||
|
@ -21,8 +21,8 @@ import { Trans } from "react-i18next";
|
||||
// openConnectWindow,
|
||||
// setConnectItem,
|
||||
// setShowThirdPartyPanel,
|
||||
// fetchFiles,
|
||||
// setSelectedNode,
|
||||
//fetchFiles,
|
||||
//setSelectedNode,
|
||||
// } from "../../../../../store/files/actions";
|
||||
import //getThirdPartyCapabilities,
|
||||
//getGoogleConnect,
|
||||
@ -40,7 +40,7 @@ import //getThirdPartyCapabilities,
|
||||
//getThirdPartyProviders,
|
||||
//getMyDirectoryFolders,
|
||||
//getCommonDirectoryFolders,
|
||||
//getFilter,
|
||||
//getFilter,
|
||||
"../../../../../store/files/selectors";
|
||||
import { DeleteThirdPartyDialog, ConnectDialog } from "../../../../dialogs";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -166,7 +166,7 @@ class ConnectClouds extends React.Component {
|
||||
this.props
|
||||
.getOAuthToken(modal)
|
||||
.then((token) => this.showOAuthModal(token, selectedServiceData))
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
this.setState({
|
||||
@ -546,7 +546,7 @@ class ConnectClouds extends React.Component {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
// isAdmin: isAdmin(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
// capabilities: getThirdPartyCapabilities(state),
|
||||
// googleConnectItem: getGoogleConnect(state),
|
||||
// boxConnectItem: getBoxConnect(state),
|
||||
@ -563,7 +563,7 @@ class ConnectClouds extends React.Component {
|
||||
// providers: getThirdPartyProviders(state),
|
||||
// myDirectoryFolders: getMyDirectoryFolders(state),
|
||||
// commonDirectoryFolders: getCommonDirectoryFolders(state),
|
||||
// filter: getFilter(state),
|
||||
//filter: getFilter(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
@ -574,15 +574,15 @@ class ConnectClouds extends React.Component {
|
||||
// setSelectedNode,
|
||||
// })(withTranslation()(ConnectClouds));
|
||||
|
||||
export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
export default inject(({ auth, mainFilesStore, settingsStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const {
|
||||
providers,
|
||||
connectItem,
|
||||
capabilities,
|
||||
setConnectItem,
|
||||
setConnectItem,
|
||||
showThirdPartyPanel,
|
||||
setShowThirdPartyPanel,
|
||||
setShowThirdPartyPanel,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
@ -595,12 +595,12 @@ export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles, treeFoldersStore, filter } = filesStore;
|
||||
const { fetchFiles, treeFoldersStore, filter } = filesStore;
|
||||
const { setSelectedNode, myFolder, commonFolder } = treeFoldersStore;
|
||||
|
||||
return {
|
||||
isAdmin: store.isAdmin,
|
||||
filter,
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
filter,
|
||||
providers,
|
||||
showThirdPartyPanel,
|
||||
connectItem,
|
||||
@ -617,11 +617,11 @@ export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
myDirectoryFolders: myFolder && myFolder.folders,
|
||||
commonDirectoryFolders: commonFolder && commonFolder.folders,
|
||||
|
||||
fetchFiles,
|
||||
setSelectedNode,
|
||||
fetchFiles,
|
||||
setSelectedNode,
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
};
|
||||
};
|
||||
})(withTranslation()(observer(ConnectClouds)));
|
||||
|
@ -12,8 +12,8 @@ import { Error403, Error520 /* store */ } from "asc-web-common";
|
||||
// setForceSave,
|
||||
// } from "../../../../../store/files/actions";
|
||||
// import {
|
||||
// getIsLoading,
|
||||
// getSettingsSelectedTreeNode,
|
||||
//getIsLoading,
|
||||
//getSettingsSelectedTreeNode,
|
||||
// getSettingsTreeStoreOriginalFiles,
|
||||
// getSettingsTreeConfirmDelete,
|
||||
// getSettingsTreeUpdateIfExist,
|
||||
@ -182,15 +182,15 @@ const SectionBodyContent = ({
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
// isAdmin: isAdmin(state),
|
||||
// selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
// storeOriginalFiles: getSettingsTreeStoreOriginalFiles(state),
|
||||
// confirmDelete: getSettingsTreeConfirmDelete(state),
|
||||
// updateIfExist: getSettingsTreeUpdateIfExist(state),
|
||||
// forceSave: getSettingsTreeForceSave(state),
|
||||
// storeForceSave: getSettingsTreeStoreForceSave(state),
|
||||
// enableThirdParty: getSettingsTreeEnableThirdParty(state),
|
||||
// isLoading: getIsLoading(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
// settingsTree: getSettingsTree(state),
|
||||
// };
|
||||
// }
|
||||
@ -204,7 +204,7 @@ const SectionBodyContent = ({
|
||||
// setForceSave,
|
||||
// })(SectionBodyContent);
|
||||
|
||||
export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
export default inject(({ auth, mainFilesStore, settingsStore }) => {
|
||||
const { isLoading, filesStore } = mainFilesStore;
|
||||
const { treeFoldersStore } = filesStore;
|
||||
const { selectedTreeNode } = treeFoldersStore;
|
||||
@ -216,20 +216,20 @@ export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
forcesave,
|
||||
storeForcesave,
|
||||
enableThirdParty,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setEnableThirdParty,
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setEnableThirdParty,
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
} = settingsStore;
|
||||
|
||||
const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
|
||||
|
||||
return {
|
||||
isAdmin: store.isAdmin,
|
||||
isLoading,
|
||||
selectedTreeNode,
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
isLoading,
|
||||
selectedTreeNode,
|
||||
settingsTree,
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
@ -244,5 +244,5 @@ export default inject(({ store, mainFilesStore, settingsStore }) => {
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
};
|
||||
};
|
||||
})(observer(SectionBodyContent));
|
||||
|
@ -12,8 +12,8 @@ import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
// import {
|
||||
// getFilesSettings,
|
||||
// setFirstLoad,
|
||||
// setSelectedNode,
|
||||
//setFirstLoad,
|
||||
//setSelectedNode,
|
||||
// } from "../../../store/files/actions";
|
||||
//import { getSettingsTree, getIsLoading } from "../../../store/files/selectors";
|
||||
|
||||
@ -129,7 +129,7 @@ const Settings = (props) => {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
// isLoading: getIsLoading(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
// settingsTree: getSettingsTree(state),
|
||||
// };
|
||||
// }
|
||||
@ -137,8 +137,8 @@ const Settings = (props) => {
|
||||
// const mapDispatchToProps = (dispatch) => {
|
||||
// return {
|
||||
// getFilesSettings: () => dispatch(getFilesSettings()),
|
||||
// setFirstLoad: (firstLoad) => dispatch(setFirstLoad(firstLoad)),
|
||||
// setSelectedNode: (node) => dispatch(setSelectedNode(node)),
|
||||
//setFirstLoad: (firstLoad) => dispatch(setFirstLoad(firstLoad)),
|
||||
//setSelectedNode: (node) => dispatch(setSelectedNode(node)),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -148,19 +148,19 @@ const Settings = (props) => {
|
||||
// )(withRouter(Settings));
|
||||
|
||||
export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const { setFirstLoad, treeFoldersStore } = filesStore;
|
||||
const { setSelectedNode } = treeFoldersStore;
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const { setFirstLoad, treeFoldersStore } = filesStore;
|
||||
const { setSelectedNode } = treeFoldersStore;
|
||||
const { getFilesSettings, settingsTree: settings } = settingsStore;
|
||||
|
||||
const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
|
||||
|
||||
return {
|
||||
isLoading,
|
||||
return {
|
||||
isLoading,
|
||||
settingsTree,
|
||||
|
||||
setFirstLoad,
|
||||
setSelectedNode,
|
||||
setFirstLoad,
|
||||
setSelectedNode,
|
||||
getFilesSettings,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(Settings)));
|
||||
|
@ -255,10 +255,10 @@ const VersionRow = (props) => {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(withTranslation()(VersionRow)));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { user } = store.userStore;
|
||||
const { culture } = store.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { user } = auth.userStore;
|
||||
const { culture } = auth.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
|
||||
const {
|
||||
markAsVersion,
|
||||
@ -266,11 +266,11 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
updateCommentVersion,
|
||||
} = mainFilesStore.filesStore.versionHistoryStore;
|
||||
|
||||
return {
|
||||
culture: language,
|
||||
return {
|
||||
culture: language,
|
||||
|
||||
markAsVersion,
|
||||
restoreVersion,
|
||||
updateCommentVersion,
|
||||
};
|
||||
};
|
||||
})(withRouter(withTranslation()(observer(VersionRow))));
|
||||
|
@ -87,13 +87,13 @@ class SectionBodyContent extends React.Component {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(SectionBodyContent));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const { setFirstLoad, versionHistoryStore } = filesStore;
|
||||
const { versions, fetchFileVersions } = versionHistoryStore;
|
||||
|
||||
return {
|
||||
culture: store.settingsStore.culture,
|
||||
culture: auth.settingsStore.culture,
|
||||
isLoading,
|
||||
versions,
|
||||
|
||||
|
@ -137,7 +137,7 @@ VersionHistory.propTypes = {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(VersionHistory));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { isLoading, filesStore } = mainFilesStore;
|
||||
const { filter, setFilesFilter, versionHistoryStore } = filesStore;
|
||||
|
||||
@ -150,7 +150,7 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
console.log("versions", versions);
|
||||
|
||||
return {
|
||||
isTabletView: store.settingsStore.isTabletView,
|
||||
isTabletView: auth.settingsStore.isTabletView,
|
||||
isLoading,
|
||||
filter,
|
||||
versions,
|
||||
|
@ -12,11 +12,11 @@ import {
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { utils, /* store, */ toastr } from "asc-web-common";
|
||||
// import {
|
||||
// setIsLoading,
|
||||
//setIsLoading,
|
||||
// setFilesOwner,
|
||||
// setFiles,
|
||||
// setFolders,
|
||||
// setChangeOwnerPanelVisible,
|
||||
//setChangeOwnerPanelVisible,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
// getSelection,
|
||||
@ -220,21 +220,21 @@ const ChangeOwnerPanel = (props) => (
|
||||
// setChangeOwnerPanelVisible,
|
||||
// })(withRouter(ChangeOwnerPanel));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
selection,
|
||||
dialogsStore,
|
||||
setFiles,
|
||||
setFolders,
|
||||
setFiles,
|
||||
setFolders,
|
||||
setFilesOwner,
|
||||
} = filesStore;
|
||||
const { ownerPanelVisible, setChangeOwnerPanelVisible } = dialogsStore;
|
||||
|
||||
return {
|
||||
groupsCaption: store.settingsStore.customNames.groupsCaption,
|
||||
groupsCaption: auth.settingsStore.customNames.groupsCaption,
|
||||
files,
|
||||
folders,
|
||||
selection,
|
||||
|
@ -33,12 +33,12 @@ import {
|
||||
//getIsPrivacyFolder,
|
||||
} from "../../../store/files/selectors";
|
||||
// import {
|
||||
// fetchFiles,
|
||||
// setMediaViewerData,
|
||||
// setTreeFolders,
|
||||
//fetchFiles,
|
||||
//setMediaViewerData,
|
||||
//setTreeFolders,
|
||||
// setUpdateTree,
|
||||
// setNewRowItems,
|
||||
// setIsLoading,
|
||||
//setIsLoading,
|
||||
// addFileToRecentlyViewed,
|
||||
// } from "../../../store/files/actions";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
|
@ -8,15 +8,15 @@ import { utils as commonUtils, toastr } from "asc-web-common";
|
||||
import { StyledAsidePanel } from "../StyledPanels";
|
||||
import TreeFolders from "../../Article/Body/TreeFolders";
|
||||
// import {
|
||||
// setSecondaryProgressBarData,
|
||||
//setSecondaryProgressBarData,
|
||||
// itemOperationToFolder,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
// getFilter,
|
||||
// getSelection,
|
||||
// getPathParts,
|
||||
// getSelectedFolderId,
|
||||
// getIsRecycleBinFolder,
|
||||
//getFilter,
|
||||
//getSelection,
|
||||
//getPathParts,
|
||||
//getSelectedFolderId,
|
||||
//getIsRecycleBinFolder,
|
||||
// getOperationsFolders,
|
||||
// } from "../../../store/files/selectors";
|
||||
import { ThirdPartyMoveDialog } from "../../dialogs";
|
||||
@ -208,11 +208,11 @@ const OperationsPanel = (props) => (
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// filter: getFilter(state),
|
||||
// selection: getSelection(state),
|
||||
// expandedKeys: getPathParts(state),
|
||||
// currentFolderId: getSelectedFolderId(state),
|
||||
// isRecycleBin: getIsRecycleBinFolder(state),
|
||||
//filter: getFilter(state),
|
||||
//selection: getSelection(state),
|
||||
//expandedKeys: getPathParts(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
// operationsFolders: getOperationsFolders(state),
|
||||
// };
|
||||
// };
|
||||
@ -222,28 +222,28 @@ const OperationsPanel = (props) => (
|
||||
// itemOperationToFolder,
|
||||
// })(withRouter(OperationsPanel));
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const {
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const {
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
itemOperationToFolder,
|
||||
} = filesStore;
|
||||
} = filesStore;
|
||||
const { isRecycleBinFolder, operationsFolders } = treeFoldersStore;
|
||||
const { setSecondaryProgressBarData } = secondaryProgressDataStore;
|
||||
const { setSecondaryProgressBarData } = secondaryProgressDataStore;
|
||||
|
||||
return {
|
||||
expandedKeys: selectedFolderStore.pathParts,
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
selection,
|
||||
isRecycleBin: isRecycleBinFolder,
|
||||
filter,
|
||||
return {
|
||||
expandedKeys: selectedFolderStore.pathParts,
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
selection,
|
||||
isRecycleBin: isRecycleBinFolder,
|
||||
filter,
|
||||
operationsFolders,
|
||||
|
||||
setSecondaryProgressBarData,
|
||||
setSecondaryProgressBarData,
|
||||
itemOperationToFolder,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(OperationsPanel)));
|
||||
|
@ -21,24 +21,24 @@ import {
|
||||
// import {
|
||||
// getShareUsers,
|
||||
// setShareFiles,
|
||||
// setSharingPanelVisible,
|
||||
// setIsLoading,
|
||||
//setSharingPanelVisible,
|
||||
//setIsLoading,
|
||||
// setFiles,
|
||||
// setFolders,
|
||||
// selectUploadedFile,
|
||||
//selectUploadedFile,
|
||||
// updateUploadedItem,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
// getAccessOption,
|
||||
// getExternalAccessOption,
|
||||
// getSelection,
|
||||
// getSharePanelVisible,
|
||||
//getSelection,
|
||||
//getSharePanelVisible,
|
||||
// getCanShareOwnerChange,
|
||||
// getIsLoading,
|
||||
// getFiles,
|
||||
// getFolders,
|
||||
// getIsPrivacyFolder,
|
||||
// getUploadSelection,
|
||||
//getIsLoading,
|
||||
//getFiles,
|
||||
//getFolders,
|
||||
//getIsPrivacyFolder,
|
||||
//getUploadSelection,
|
||||
// } from "../../../store/files/selectors";
|
||||
import {
|
||||
StyledAsidePanel,
|
||||
@ -628,28 +628,28 @@ const SharingPanel = (props) => (
|
||||
);
|
||||
|
||||
// const mapStateToProps = (state, ownProps) => {
|
||||
// const selection = getSelection(state);
|
||||
// const uploadSelection = getUploadSelection(state);
|
||||
// const selectedFile = ownProps.uploadPanelVisible
|
||||
// ? uploadSelection
|
||||
// : selection; // TODO: take out this implementation from this component
|
||||
//const selection = getSelection(state);
|
||||
//const uploadSelection = getUploadSelection(state);
|
||||
// const selectedFile = ownProps.uploadPanelVisible
|
||||
// ? uploadSelection
|
||||
// : selection; // TODO: take out this implementation from this component
|
||||
|
||||
// return {
|
||||
// getAccessOption: (selection) => getAccessOption(state, selection),
|
||||
// getExternalAccessOption: (selection) =>
|
||||
// getExternalAccessOption(state, selection),
|
||||
// isMyId: getCurrentUserId(state),
|
||||
// selection: selectedFile,
|
||||
// isPrivacy: getIsPrivacyFolder(state),
|
||||
// isDesktop: isDesktopClient(state),
|
||||
// groupsCaption: getSettingsCustomNamesGroupsCaption(state),
|
||||
// sharingPanelVisible: getSharePanelVisible(state),
|
||||
//isMyId: getCurrentUserId(state),
|
||||
//selection: selectedFile,
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//groupsCaption: getSettingsCustomNamesGroupsCaption(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
// canShareOwnerChange: getCanShareOwnerChange(state),
|
||||
// isLoading: getIsLoading(state),
|
||||
// files: getFiles(state),
|
||||
// folders: getFolders(state),
|
||||
// settings: getSettings(state),
|
||||
// uploadSelection,
|
||||
//isLoading: getIsLoading(state),
|
||||
//files: getFiles(state),
|
||||
//folders: getFolders(state),
|
||||
//settings: getSettings(state),
|
||||
//uploadSelection,
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -663,17 +663,17 @@ const SharingPanel = (props) => (
|
||||
// updateUploadedItem,
|
||||
// })(withRouter(SharingPanel));
|
||||
|
||||
export default inject(({ store, mainFilesStore }, { uploadPanelVisible }) => {
|
||||
const { replaceFileStream, setEncryptionAccess } = store;
|
||||
const { customNames, isDesktopClient, homepage } = store.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
selection,
|
||||
treeFoldersStore,
|
||||
dialogsStore,
|
||||
uploadDataStore,
|
||||
export default inject(({ auth, mainFilesStore }, { uploadPanelVisible }) => {
|
||||
const { replaceFileStream, setEncryptionAccess } = auth;
|
||||
const { customNames, isDesktopClient, homepage } = auth.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
selection,
|
||||
treeFoldersStore,
|
||||
dialogsStore,
|
||||
uploadDataStore,
|
||||
canShareOwnerChange,
|
||||
getAccessOption,
|
||||
getExternalAccessOption,
|
||||
@ -681,32 +681,32 @@ export default inject(({ store, mainFilesStore }, { uploadPanelVisible }) => {
|
||||
setFolders,
|
||||
getShareUsers,
|
||||
setShareFiles,
|
||||
} = filesStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { sharingPanelVisible, setSharingPanelVisible } = dialogsStore;
|
||||
} = filesStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { sharingPanelVisible, setSharingPanelVisible } = dialogsStore;
|
||||
const {
|
||||
uploadSelection,
|
||||
selectUploadedFile,
|
||||
updateUploadedItem,
|
||||
} = uploadDataStore;
|
||||
|
||||
return {
|
||||
isMyId: store.userStore.user.id,
|
||||
groupsCaption: customNames.groupsCaption,
|
||||
isDesktop: isDesktopClient,
|
||||
homepage,
|
||||
files,
|
||||
folders,
|
||||
selection: uploadPanelVisible ? uploadSelection : selection,
|
||||
isLoading,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
sharingPanelVisible,
|
||||
uploadSelection,
|
||||
return {
|
||||
isMyId: auth.userStore.user.id,
|
||||
groupsCaption: customNames.groupsCaption,
|
||||
isDesktop: isDesktopClient,
|
||||
homepage,
|
||||
files,
|
||||
folders,
|
||||
selection: uploadPanelVisible ? uploadSelection : selection,
|
||||
isLoading,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
sharingPanelVisible,
|
||||
uploadSelection,
|
||||
canShareOwnerChange,
|
||||
|
||||
setIsLoading,
|
||||
setSharingPanelVisible,
|
||||
selectUploadedFile,
|
||||
setIsLoading,
|
||||
setSharingPanelVisible,
|
||||
selectUploadedFile,
|
||||
updateUploadedItem,
|
||||
replaceFileStream,
|
||||
setEncryptionAccess,
|
||||
@ -716,5 +716,5 @@ export default inject(({ store, mainFilesStore }, { uploadPanelVisible }) => {
|
||||
setFolders,
|
||||
getShareUsers,
|
||||
setShareFiles,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(SharingPanel)));
|
||||
|
@ -141,7 +141,7 @@ VersionHistoryPanelContainer.propTypes = {
|
||||
// mapDispatchToProps
|
||||
// )(VersionHistoryPanel);
|
||||
|
||||
export default inject(({ store, mainFilesStore }) => {
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { isLoading, filesStore } = mainFilesStore;
|
||||
const { versionHistoryStore } = filesStore;
|
||||
const {
|
||||
@ -152,8 +152,8 @@ export default inject(({ store, mainFilesStore }) => {
|
||||
} = versionHistoryStore;
|
||||
|
||||
return {
|
||||
isTabletView: store.settingsStore.isTabletView,
|
||||
homepage: store.settingsStore.homepage,
|
||||
isTabletView: auth.settingsStore.isTabletView,
|
||||
homepage: auth.settingsStore.homepage,
|
||||
isLoading,
|
||||
fileId,
|
||||
versions,
|
||||
|
@ -20,15 +20,15 @@ const { authStore } = commonStore;
|
||||
|
||||
ReactDOM.render(
|
||||
<MobxProvider
|
||||
store={authStore}
|
||||
auth={authStore}
|
||||
mainFilesStore={mainFilesStore}
|
||||
settingsStore={settingsStore}
|
||||
mediaViewerDataStore={mediaViewerDataStore}
|
||||
formatsStore={formatsStore}
|
||||
>
|
||||
<ErrorBoundary>
|
||||
<App />
|
||||
</ErrorBoundary>
|
||||
<ErrorBoundary>
|
||||
<App />
|
||||
</ErrorBoundary>
|
||||
</MobxProvider>,
|
||||
document.getElementById("root")
|
||||
);
|
||||
|
@ -271,15 +271,15 @@ const App = (props) => {
|
||||
// };
|
||||
// };
|
||||
*/
|
||||
export default inject(({ store, peopleStore }) => ({
|
||||
homepage: store.settingsStore.homepage || config.homepage,
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
homepage: auth.settingsStore.homepage || config.homepage,
|
||||
loadBaseInfo: () => {
|
||||
store.init();
|
||||
store.settingsStore.setModuleInfo(
|
||||
auth.init();
|
||||
auth.settingsStore.setModuleInfo(
|
||||
config.homepage,
|
||||
"f4d98afd-d336-4332-8778-3c6945c81ea0"
|
||||
);
|
||||
peopleStore.init();
|
||||
},
|
||||
isLoaded: store.isLoaded,
|
||||
isLoaded: auth.isLoaded,
|
||||
}))(observer(App));
|
||||
|
@ -229,16 +229,16 @@ const BodyContent = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ store, peopleStore }) => {
|
||||
export default inject(({ auth, peopleStore }) => {
|
||||
const groups = peopleStore.groupsStore.groups;
|
||||
const { groupsCaption } = store.settingsStore.customNames;
|
||||
const { groupsCaption } = auth.settingsStore.customNames;
|
||||
const data = getTreeGroups(groups, groupsCaption);
|
||||
const selectedKeys = peopleStore.selectedGroupStore.selectedGroup
|
||||
? [peopleStore.selectedGroupStore.selectedGroup]
|
||||
: ["root"];
|
||||
return {
|
||||
isLoaded: store.isLoaded,
|
||||
isAdmin: store.isAdmin,
|
||||
isLoaded: auth.isLoaded,
|
||||
isAdmin: auth.isAdmin,
|
||||
groups,
|
||||
data,
|
||||
selectedKeys,
|
||||
|
@ -10,6 +10,6 @@ const ArticleHeaderContent = ({ currentModuleName }) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
currentModuleName: store.product.title,
|
||||
export default inject(({ auth }) => ({
|
||||
currentModuleName: auth.product.title,
|
||||
}))(observer(ArticleHeaderContent));
|
||||
|
@ -129,8 +129,8 @@ ArticleMainButtonContent.propTypes = {
|
||||
language: PropTypes.string,
|
||||
};
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
settings: store.settingsStore,
|
||||
isLoaded: store.isLoaded,
|
||||
language: store.language,
|
||||
export default inject(({ auth }) => ({
|
||||
settings: auth.settingsStore,
|
||||
isLoaded: auth.isLoaded,
|
||||
language: auth.language,
|
||||
}))(observer(withRouter(ArticleMainButtonContent)));
|
||||
|
@ -197,7 +197,7 @@ ChangeUserStatusDialog.propTypes = {
|
||||
};
|
||||
|
||||
const mapStateToProps = (state, ownProps) => {
|
||||
const { selection } = state.people;
|
||||
// const { selection } = state.people;
|
||||
const { userStatus } = ownProps;
|
||||
|
||||
return {
|
||||
|
@ -191,7 +191,7 @@ ChangeUserTypeDialog.propTypes = {
|
||||
};
|
||||
|
||||
const mapStateToProps = (state, ownProps) => {
|
||||
const { selection } = state.people;
|
||||
// const { selection } = state.people;
|
||||
const { userType } = ownProps;
|
||||
|
||||
return {
|
||||
|
@ -114,7 +114,7 @@ DeleteProfileEverDialog.propTypes = {
|
||||
history: PropTypes.object.isRequired,
|
||||
};
|
||||
|
||||
export default inject(({ store, peopleStore }) => ({
|
||||
userCaption: store.settingsStore.customNames.userCaption,
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
userCaption: auth.settingsStore.customNames.userCaption,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
}))(observer(withRouter(DeleteProfileEverDialog)));
|
||||
|
@ -196,7 +196,7 @@ const mapStateToProps = (state) => {
|
||||
return {
|
||||
//filter,
|
||||
userIds: usersToRemoveIds,
|
||||
selectedUsers: selection,
|
||||
//selectedUsers: selection,
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -252,9 +252,9 @@ export default connect(
|
||||
mapStateToProps
|
||||
//mapDispatchToProps
|
||||
)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
guestsCaption: store.settingsStore.customNames.guestsCaption,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
guestsCaption: auth.settingsStore.customNames.guestsCaption,
|
||||
getPortalInviteLinks: peopleStore.inviteLinksStore.getPortalInviteLinks,
|
||||
userInvitationLink: peopleStore.inviteLinksStore.inviteLinks.userLink,
|
||||
guestInvitationLink: peopleStore.inviteLinksStore.inviteLinks.guestLink,
|
||||
|
@ -524,16 +524,16 @@ export default connect(mapStateToProps, {
|
||||
// selectGroup,
|
||||
// setFilter,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => {
|
||||
inject(({ auth, peopleStore }) => {
|
||||
const groups = convertGroups(peopleStore.groupsStore.groups);
|
||||
return {
|
||||
settings: store.settingsStore,
|
||||
groupCaption: store.settingsStore.customNames.groupCaption,
|
||||
groupsCaption: store.settingsStore.customNames.groupsCaption,
|
||||
groupHeadCaption: store.settingsStore.customNames.groupHeadCaption,
|
||||
isLoaded: store.isLoaded,
|
||||
currentModuleName: store.product.title,
|
||||
me: store.userStore.user,
|
||||
settings: auth.settingsStore,
|
||||
groupCaption: auth.settingsStore.customNames.groupCaption,
|
||||
groupsCaption: auth.settingsStore.customNames.groupsCaption,
|
||||
groupHeadCaption: auth.settingsStore.customNames.groupHeadCaption,
|
||||
isLoaded: auth.isLoaded,
|
||||
currentModuleName: auth.product.title,
|
||||
me: auth.userStore.user,
|
||||
groups,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
setFilter: peopleStore.filterStore.setFilterParams,
|
||||
|
@ -95,8 +95,8 @@ function mapStateToProps(state) {
|
||||
// });
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
groupCaption: store.settingsStore.customNames.groupCaption,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
groupCaption: auth.settingsStore.customNames.groupCaption,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
setFilter: peopleStore.filterStore.setFilterParams,
|
||||
group: peopleStore.selectedGroupStore.targetedGroup,
|
||||
|
@ -1,7 +1,6 @@
|
||||
import React, { useEffect } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { Loader } from "asc-web-components";
|
||||
import { PageLayout, utils, store } from "asc-web-common";
|
||||
import { PageLayout, utils } from "asc-web-common";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
ArticleMainButtonContent,
|
||||
@ -9,7 +8,6 @@ import {
|
||||
} from "../../Article";
|
||||
import { SectionHeaderContent, SectionBodyContent } from "./Section";
|
||||
import { I18nextProvider, withTranslation } from "react-i18next";
|
||||
import { fetchGroup, resetGroup } from "../../../store/group/actions";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
import { setDocumentTitle } from "../../../helpers/utils";
|
||||
import { withRouter } from "react-router";
|
||||
@ -19,7 +17,6 @@ const i18n = createI18N({
|
||||
localesPath: "pages/GroupAction",
|
||||
});
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class GroupAction extends React.Component {
|
||||
componentDidMount() {
|
||||
@ -122,14 +119,9 @@ function mapStateToProps(state) {
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
//fetchGroup,
|
||||
//resetGroup,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
isAdmin: store.isAdmin,
|
||||
fetchGroup: peopleStore.selectedGroupStore.setTargetedGroup,
|
||||
group: peopleStore.selectedGroupStore.targetedGroup,
|
||||
resetGroup: peopleStore.selectedGroupStore.resetGroup,
|
||||
}))(observer(GroupActionContainer))
|
||||
);
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
isAdmin: auth.isAdmin,
|
||||
fetchGroup: peopleStore.selectedGroupStore.setTargetedGroup,
|
||||
group: peopleStore.selectedGroupStore.targetedGroup,
|
||||
resetGroup: peopleStore.selectedGroupStore.resetGroup,
|
||||
}))(observer(GroupActionContainer));
|
||||
|
@ -14,17 +14,6 @@ import {
|
||||
Grid,
|
||||
} from "asc-web-components";
|
||||
import UserContent from "./userContent";
|
||||
import {
|
||||
selectUser,
|
||||
deselectUser,
|
||||
setSelection,
|
||||
updateUserStatus,
|
||||
resetFilter,
|
||||
fetchPeople,
|
||||
selectGroup,
|
||||
} from "../../../../../store/people/actions";
|
||||
import { getPeopleList } from "../../../../../store/people/selectors";
|
||||
|
||||
import equal from "fast-deep-equal/react";
|
||||
import { store, api, constants, toastr, Loaders } from "asc-web-common";
|
||||
import {
|
||||
@ -43,16 +32,10 @@ const i18n = createI18N({
|
||||
});
|
||||
const { Consumer } = utils.context;
|
||||
const { isArrayEqual } = utils.array;
|
||||
const {
|
||||
//getSettings,
|
||||
getIsLoadedSection,
|
||||
isAdmin,
|
||||
getCurrentUserId,
|
||||
} = store.auth.selectors;
|
||||
const { getIsLoadedSection } = store.auth.selectors;
|
||||
const { setIsLoadedSection } = store.auth.actions;
|
||||
const { resendUserInvites } = api.people;
|
||||
const { EmployeeStatus } = constants;
|
||||
const { settingsStore } = store;
|
||||
|
||||
const isRefetchPeople = true;
|
||||
|
||||
@ -541,35 +524,17 @@ class SectionBodyContent extends React.PureComponent {
|
||||
}
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { isLoaded } = state.auth;
|
||||
const { filter, isLoading } = state.people;
|
||||
return {
|
||||
// isLoaded,
|
||||
isLoadedSection: getIsLoadedSection(state),
|
||||
//filter,
|
||||
isLoading,
|
||||
//peopleList: getPeopleList(state),
|
||||
//settings: getSettings(state),
|
||||
// isAdmin: isAdmin(state),
|
||||
// currentUserId: getCurrentUserId(state),
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
// selectUser,
|
||||
// deselectUser,
|
||||
// setSelection,
|
||||
// updateUserStatus,
|
||||
// resetFilter,
|
||||
//fetchPeople,
|
||||
// selectGroup,
|
||||
setIsLoadedSection,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
isLoaded: store.isLoaded,
|
||||
isAdmin: store.isAdmin,
|
||||
currentUserId: store.userStore.user.id,
|
||||
export default connect(mapStateToProps, { setIsLoadedSection })(
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
isLoaded: auth.isLoaded,
|
||||
isAdmin: auth.isAdmin,
|
||||
currentUserId: auth.userStore.user.id,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
peopleList: peopleStore.usersStore.composePeopleList(),
|
||||
filter: peopleStore.filterStore.filter,
|
||||
@ -578,5 +543,6 @@ export default connect(mapStateToProps, {
|
||||
deselectUser: peopleStore.selectionStore.deselectUser,
|
||||
selectGroup: peopleStore.selectedGroupStore.selectGroup,
|
||||
updateUserStatus: peopleStore.usersStore.updateUserStatus,
|
||||
isLoading: peopleStore.isLoading,
|
||||
}))(observer(withRouter(withTranslation()(SectionBodyContent))))
|
||||
);
|
||||
|
@ -8,12 +8,8 @@ import {
|
||||
Text,
|
||||
Box,
|
||||
} from "asc-web-components";
|
||||
//import { connect } from "react-redux";
|
||||
//import { store } from "asc-web-common";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
//const { settingsStore } = store;
|
||||
|
||||
const getFormattedGroups = (user, selectGroup) => {
|
||||
let temp = [];
|
||||
const groups = user.groups;
|
||||
@ -170,6 +166,6 @@ const UserContent = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
settings: store.settingsStore,
|
||||
export default inject(({ auth }) => ({
|
||||
settings: auth.settingsStore,
|
||||
}))(observer(withRouter(UserContent)));
|
||||
|
@ -1,25 +1,12 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { fetchPeople } from "../../../../../store/people/actions";
|
||||
import find from "lodash/find";
|
||||
import result from "lodash/result";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { withRouter } from "react-router";
|
||||
//import { getFilterByLocation } from "../../../../../helpers/converters";
|
||||
import { store, FilterInput, Loaders, utils } from "asc-web-common";
|
||||
import { FilterInput, Loaders, utils } from "asc-web-common";
|
||||
import { isMobileOnly } from "react-device-detect";
|
||||
import { getFilter, getGroups } from "../../../../../store/people/selectors";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const {
|
||||
isAdmin,
|
||||
getCurrentUser,
|
||||
getLanguage,
|
||||
//getSettings,
|
||||
getIsLoaded,
|
||||
} = store.auth.selectors;
|
||||
|
||||
const { settingsStore } = store;
|
||||
const { withLayoutSize } = utils;
|
||||
|
||||
const getEmployeeStatus = (filterValues) => {
|
||||
@ -264,13 +251,13 @@ class SectionFilterContent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
export default inject(({ store, peopleStore }) => {
|
||||
export default inject(({ auth, peopleStore }) => {
|
||||
return {
|
||||
settings: store.settingsStore,
|
||||
isLoaded: store.isLoaded,
|
||||
isAdmin: store.isAdmin,
|
||||
language: store.language,
|
||||
user: store.userStore.user,
|
||||
settings: auth.settingsStore,
|
||||
isLoaded: auth.isLoaded,
|
||||
isAdmin: auth.isAdmin,
|
||||
language: auth.language,
|
||||
user: auth.userStore.user,
|
||||
groups: peopleStore.groupsStore.groups,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
|
@ -7,10 +7,9 @@ import {
|
||||
ContextMenuButton,
|
||||
utils,
|
||||
} from "asc-web-components";
|
||||
import { Headline, toastr, Loaders, store, constants } from "asc-web-common";
|
||||
import { Headline, toastr, Loaders, constants } from "asc-web-common";
|
||||
import { connect } from "react-redux";
|
||||
import {
|
||||
getSelectedGroup,
|
||||
hasAnybodySelected,
|
||||
hasUsersToMakeEmployees,
|
||||
hasUsersToMakeGuests,
|
||||
@ -20,13 +19,6 @@ import {
|
||||
hasUsersToRemove,
|
||||
} from "../../../../../store/people/selectors";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import {
|
||||
updateUserStatus,
|
||||
fetchPeople,
|
||||
removeUser,
|
||||
//setSelected,
|
||||
} from "../../../../../store/people/actions";
|
||||
import { deleteGroup } from "../../../../../store/group/actions";
|
||||
import {
|
||||
InviteDialog,
|
||||
DeleteUsersDialog,
|
||||
@ -39,8 +31,6 @@ import { inject, observer } from "mobx-react";
|
||||
const { tablet, desktop } = utils.device;
|
||||
const { Consumer } = utils.context;
|
||||
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
const { settingsStore } = store;
|
||||
const { EmployeeType, EmployeeStatus } = constants;
|
||||
|
||||
const StyledContainer = styled.div`
|
||||
@ -111,9 +101,9 @@ const SectionHeaderContent = (props) => {
|
||||
isHeaderVisible,
|
||||
isHeaderIndeterminate,
|
||||
isHeaderChecked,
|
||||
onCheck,
|
||||
onSelect,
|
||||
onClose,
|
||||
//onCheck,
|
||||
//onSelect,
|
||||
clearSelection,
|
||||
group,
|
||||
isAdmin,
|
||||
t,
|
||||
@ -130,6 +120,8 @@ const SectionHeaderContent = (props) => {
|
||||
hasUsersToInvite,
|
||||
hasUsersToRemove,
|
||||
isLoaded,
|
||||
selectAll,
|
||||
selectByStatus,
|
||||
} = props;
|
||||
|
||||
const {
|
||||
@ -140,7 +132,13 @@ const SectionHeaderContent = (props) => {
|
||||
} = customNames;
|
||||
|
||||
//console.log("SectionHeaderContent render");
|
||||
console.log(isHeaderVisible, isHeaderIndeterminate, isHeaderChecked);
|
||||
|
||||
const onCheck = () => {
|
||||
return isHeaderChecked ? clearSelection() : selectAll();
|
||||
};
|
||||
const onSelect = useCallback((status) => selectByStatus(status), [
|
||||
selectByStatus,
|
||||
]);
|
||||
|
||||
const toggleEmployeeDialog = useCallback(
|
||||
() => setEmployeeDialogVisible(!employeeDialogVisible),
|
||||
@ -183,7 +181,7 @@ const SectionHeaderContent = (props) => {
|
||||
const onSelectorSelect = useCallback(
|
||||
(item) => {
|
||||
console.log("onSelectorSelect", item);
|
||||
onSelect && onSelect(item.key);
|
||||
onSelect && onSelect(item.props.statusId);
|
||||
},
|
||||
[onSelect]
|
||||
);
|
||||
@ -197,13 +195,24 @@ const SectionHeaderContent = (props) => {
|
||||
isSelect: true,
|
||||
fontWeight: "bold",
|
||||
children: [
|
||||
<DropDownItem key="active" label={t("LblActive")} data-index={0} />,
|
||||
<DropDownItem
|
||||
key="active"
|
||||
label={t("LblActive")}
|
||||
data-index={0}
|
||||
statusId={1}
|
||||
/>,
|
||||
<DropDownItem
|
||||
key="disabled"
|
||||
label={t("LblTerminated")}
|
||||
data-index={1}
|
||||
statusId={2}
|
||||
/>,
|
||||
<DropDownItem
|
||||
key="invited"
|
||||
label={t("LblInvited")}
|
||||
data-index={2}
|
||||
statusId={0}
|
||||
/>,
|
||||
<DropDownItem key="invited" label={t("LblInvited")} data-index={2} />,
|
||||
],
|
||||
onSelect: onSelectorSelect,
|
||||
},
|
||||
@ -414,7 +423,7 @@ const SectionHeaderContent = (props) => {
|
||||
visible={isHeaderVisible}
|
||||
moreLabel={t("More")}
|
||||
closeTitle={t("CloseButton")}
|
||||
onClose={onClose}
|
||||
onClose={clearSelection}
|
||||
selected={menuItems[0].label}
|
||||
sectionWidth={context.sectionWidth}
|
||||
/>
|
||||
@ -486,39 +495,38 @@ const SectionHeaderContent = (props) => {
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
// const { isLoaded /* settings */ } = state.auth;
|
||||
// const { groups, selection, selectedGroup } = state.people;
|
||||
//const { homepage, customNames } = settings;
|
||||
|
||||
return {
|
||||
//group: getSelectedGroup(groups, selectedGroup),
|
||||
// isAdmin: isAdmin(state),
|
||||
//homepage,
|
||||
//customNames,
|
||||
//selection,
|
||||
// isLoaded,
|
||||
hasAnybodySelected: hasAnybodySelected(state),
|
||||
hasUsersToMakeEmployees: hasUsersToMakeEmployees(state),
|
||||
hasUsersToMakeGuests: hasUsersToMakeGuests(state),
|
||||
hasUsersToActivate: hasUsersToActivate(state),
|
||||
hasUsersToDisable: hasUsersToDisable(state),
|
||||
hasUsersToInvite: hasUsersToInvite(state),
|
||||
hasUsersToRemove: hasUsersToRemove(state),
|
||||
// hasAnybodySelected: hasAnybodySelected(state),
|
||||
// hasUsersToMakeEmployees: hasUsersToMakeEmployees(state),
|
||||
// hasUsersToMakeGuests: hasUsersToMakeGuests(state),
|
||||
// hasUsersToActivate: hasUsersToActivate(state),
|
||||
// hasUsersToDisable: hasUsersToDisable(state),
|
||||
// hasUsersToInvite: hasUsersToInvite(state),
|
||||
// hasUsersToRemove: hasUsersToRemove(state),
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
customNames: store.settingsStore.customNames,
|
||||
homepage: store.settingsStore.homepage,
|
||||
isLoaded: store.isLoaded,
|
||||
isAdmin: store.isAdmin,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
customNames: auth.settingsStore.customNames,
|
||||
homepage: auth.settingsStore.homepage,
|
||||
isLoaded: auth.isLoaded,
|
||||
isAdmin: auth.isAdmin,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
selection: peopleStore.selectionStore.selection,
|
||||
selectByStatus: peopleStore.selectionStore.selectByStatus,
|
||||
isHeaderVisible: peopleStore.headerMenuStore.isHeaderVisible,
|
||||
isHeaderIndeterminate: peopleStore.headerMenuStore.isHeaderIndeterminate,
|
||||
isHeaderChecked: peopleStore.headerMenuStore.isHeaderChecked,
|
||||
onClose: peopleStore.selectionStore.clearSelection,
|
||||
clearSelection: peopleStore.selectionStore.clearSelection,
|
||||
selectAll: peopleStore.selectionStore.selectAll,
|
||||
hasAnybodySelected: peopleStore.selectionStore.hasAnybodySelected,
|
||||
hasUsersToMakeEmployees: peopleStore.selectionStore.hasUsersToMakeEmployees,
|
||||
hasUsersToMakeGuests: peopleStore.selectionStore.hasUsersToMakeGuests,
|
||||
hasUsersToActivate: peopleStore.selectionStore.hasUsersToActivate,
|
||||
hasUsersToDisable: peopleStore.selectionStore.hasUsersToDisable,
|
||||
hasUsersToInvite: peopleStore.selectionStore.hasUsersToInvite,
|
||||
hasUsersToRemove: peopleStore.selectionStore.hasUsersToRemove,
|
||||
deleteGroup: peopleStore.groupsStore.deleteGroup,
|
||||
removeUser: peopleStore.usersStore.removeUser,
|
||||
updateUserStatus: peopleStore.usersStore.updateUserStatus,
|
||||
|
@ -1,13 +1,9 @@
|
||||
import React, { useCallback, useMemo } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { isMobile } from "react-device-detect";
|
||||
import { fetchPeople } from "../../../../../store/people/actions";
|
||||
import { Paging } from "asc-web-components";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { getFilter } from "../../../../../store/people/selectors";
|
||||
import { store, Loaders } from "asc-web-common";
|
||||
import { Loaders } from "asc-web-common";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const { getIsLoaded } = store.auth.selectors;
|
||||
|
||||
const SectionPagingContent = ({
|
||||
fetchPeople,
|
||||
@ -159,10 +155,8 @@ function mapStateToProps(state) {
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
isLoaded: store.isLoaded,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
}))(observer(SectionPagingContent))
|
||||
);
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
isLoaded: auth.isLoaded,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
}))(observer(SectionPagingContent));
|
||||
|
@ -1,9 +1,8 @@
|
||||
import React, { useEffect } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { withRouter } from "react-router";
|
||||
//import { RequestLoader } from "asc-web-components";
|
||||
import { PageLayout, utils, store } from "asc-web-common";
|
||||
import { PageLayout, utils } from "asc-web-common";
|
||||
import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
@ -16,17 +15,14 @@ import {
|
||||
SectionFilterContent,
|
||||
SectionPagingContent,
|
||||
} from "./Section";
|
||||
import { setSelected, setIsLoading } from "../../../store/people/actions";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
import { isMobile } from "react-device-detect";
|
||||
import { getIsLoading } from "../../../store/people/selectors";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const i18n = createI18N({
|
||||
page: "Home",
|
||||
localesPath: "pages/Home",
|
||||
});
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin, getIsLoaded, getOrganizationName } = store.auth.selectors;
|
||||
|
||||
class PureHome extends React.Component {
|
||||
// constructor(props) {
|
||||
@ -76,15 +72,15 @@ class PureHome extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
onSectionHeaderContentCheck = (checked) => {
|
||||
console.log("onSectionHeaderContentCheck");
|
||||
this.props.setSelected(checked ? "all" : "none");
|
||||
};
|
||||
// onSectionHeaderContentCheck = (checked) => {
|
||||
// console.log("onSectionHeaderContentCheck");
|
||||
// this.props.setSelected(checked ? "all" : "none");
|
||||
// };
|
||||
|
||||
onSectionHeaderContentSelect = (selected) => {
|
||||
console.log("onSectionHeaderContentSelect");
|
||||
this.props.setSelected(selected);
|
||||
};
|
||||
// onSectionHeaderContentSelect = (selected) => {
|
||||
// console.log("onSectionHeaderContentSelect");
|
||||
// this.props.setSelected(selected);
|
||||
// };
|
||||
|
||||
// onClose = () => {
|
||||
// const { clearSelection } = this.props;
|
||||
@ -131,8 +127,8 @@ class PureHome extends React.Component {
|
||||
// isHeaderVisible={isHeaderVisible}
|
||||
// isHeaderIndeterminate={isHeaderIndeterminate}
|
||||
// isHeaderChecked={isHeaderChecked}
|
||||
onCheck={this.onSectionHeaderContentCheck}
|
||||
onSelect={this.onSectionHeaderContentSelect}
|
||||
// onCheck={this.onSectionHeaderContentCheck}
|
||||
// onSelect={this.onSectionHeaderContentSelect}
|
||||
// onClose={this.onClose}
|
||||
onLoading={this.onLoading}
|
||||
/>
|
||||
@ -195,19 +191,17 @@ function mapStateToProps(state) {
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
isLoaded: store.isLoaded,
|
||||
isAdmin: store.isAdmin,
|
||||
organizationName: store.settingsStore.organizationName,
|
||||
users: peopleStore.usersStore.users,
|
||||
groups: peopleStore.groupsStore.groups,
|
||||
selectedGroup: peopleStore.selectedGroupStore.selectedGroup,
|
||||
clearSelection: peopleStore.selectionStore.clearSelection,
|
||||
isLoading: peopleStore.isLoading,
|
||||
setIsLoading: peopleStore.setIsLoading,
|
||||
selection: peopleStore.selectionStore.selection,
|
||||
setSelected: peopleStore.selectionStore.setSelected,
|
||||
selected: peopleStore.selectionStore.selected,
|
||||
}))(observer(withRouter(Home)))
|
||||
);
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
isLoaded: auth.isLoaded,
|
||||
isAdmin: auth.isAdmin,
|
||||
organizationName: auth.settingsStore.organizationName,
|
||||
users: peopleStore.usersStore.users,
|
||||
groups: peopleStore.groupsStore.groups,
|
||||
selectedGroup: peopleStore.selectedGroupStore.selectedGroup,
|
||||
clearSelection: peopleStore.selectionStore.clearSelection,
|
||||
isLoading: peopleStore.isLoading,
|
||||
setIsLoading: peopleStore.setIsLoading,
|
||||
selection: peopleStore.selectionStore.selection,
|
||||
setSelected: peopleStore.selectionStore.setSelected,
|
||||
selected: peopleStore.selectionStore.selected,
|
||||
}))(observer(withRouter(Home)));
|
||||
|
@ -9,17 +9,9 @@ import {
|
||||
} from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import { api, toastr, Loaders, store } from "asc-web-common";
|
||||
import { connect } from "react-redux";
|
||||
import { updateProfileCulture } from "../../../../../../store/profile/actions";
|
||||
import { getFilter } from "../../../../../../store/people/selectors";
|
||||
import {
|
||||
fetchPeople,
|
||||
setIsLoading,
|
||||
} from "../../../../../../store/people/actions";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { resendUserInvites } = api.people;
|
||||
const { settingsStore } = store;
|
||||
|
||||
const InfoContainer = styled.div`
|
||||
margin-bottom: 24px;
|
||||
@ -344,22 +336,17 @@ const mapDispatchToProps = (dispatch) => {
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(
|
||||
null,
|
||||
mapDispatchToProps
|
||||
)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
groupCaption: store.settingsStore.customNames.groupCaption,
|
||||
regDateCaption: store.settingsStore.customNames.regDateCaption,
|
||||
userPostCaption: store.settingsStore.customNames.userPostCaption,
|
||||
userCaption: store.settingsStore.customNames.userCaption,
|
||||
guestCaption: store.settingsStore.customNames.guestCaption,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
setIsLoading: peopleStore.setIsLoading,
|
||||
updateProfileCulture: peopleStore.targetUserStore.updateProfileCulture,
|
||||
}))(observer(ProfileInfo))
|
||||
);
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
groupCaption: auth.settingsStore.customNames.groupCaption,
|
||||
regDateCaption: auth.settingsStore.customNames.regDateCaption,
|
||||
userPostCaption: auth.settingsStore.customNames.userPostCaption,
|
||||
userCaption: auth.settingsStore.customNames.userCaption,
|
||||
guestCaption: auth.settingsStore.customNames.guestCaption,
|
||||
fetchPeople: peopleStore.usersStore.getUsersList,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
setIsLoading: peopleStore.setIsLoading,
|
||||
updateProfileCulture: peopleStore.targetUserStore.updateProfileCulture,
|
||||
}))(observer(ProfileInfo));
|
||||
|
||||
//export default connect(mapStateToProps, mapDispatchToProps)(ProfileInfoWrapper);
|
||||
|
@ -13,7 +13,6 @@ import {
|
||||
|
||||
import ProfileInfo from "./ProfileInfo/ProfileInfo";
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { store } from "asc-web-common";
|
||||
import styled from "styled-components";
|
||||
|
||||
@ -21,8 +20,7 @@ import { withRouter } from "react-router";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { isAdmin, isMe } = store.auth.selectors;
|
||||
const { settingsStore } = store;
|
||||
const { isMe } = store.auth.selectors;
|
||||
|
||||
const ProfileWrapper = styled.div`
|
||||
display: flex;
|
||||
@ -196,14 +194,12 @@ const mapStateToProps = (state) => {
|
||||
// return <SectionBodyContent settings={settingsStore.settings} {...props} />;
|
||||
// });
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
isAdmin: store.isAdmin,
|
||||
profile: peopleStore.targetUserStore.targetUser,
|
||||
viewer: store.userStore.user,
|
||||
}))(observer(withRouter(withTranslation()(SectionBodyContent))))
|
||||
);
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
isAdmin: auth.isAdmin,
|
||||
profile: peopleStore.targetUserStore.targetUser,
|
||||
viewer: auth.userStore.user,
|
||||
}))(observer(withRouter(withTranslation()(SectionBodyContent))));
|
||||
|
||||
// export default connect(mapStateToProps)(
|
||||
// withRouter(withTranslation()(SectionBodyContentWrapper))
|
||||
|
@ -1,5 +1,4 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import {
|
||||
IconButton,
|
||||
ContextMenuButton,
|
||||
@ -12,15 +11,6 @@ import {
|
||||
toEmployeeWrapper,
|
||||
} from "../../../../../store/people/selectors";
|
||||
import { withTranslation, Trans } from "react-i18next";
|
||||
import {
|
||||
updateUserStatus,
|
||||
// setFilter,
|
||||
} from "../../../../../store/people/actions";
|
||||
import { updateProfile } from "../../../../../store/profile/actions";
|
||||
import {
|
||||
fetchProfile,
|
||||
// getUserPhoto,
|
||||
} from "../../../../../store/profile/actions";
|
||||
import styled from "styled-components";
|
||||
import { store, api, constants } from "asc-web-common";
|
||||
import {
|
||||
@ -37,7 +27,6 @@ const i18n = createI18N({
|
||||
localesPath: "pages/Profile",
|
||||
});
|
||||
const { isAdmin, isMe } = store.auth.selectors;
|
||||
const { settingsStore } = store;
|
||||
const {
|
||||
resendUserInvites,
|
||||
createThumbnailsAvatar,
|
||||
@ -520,26 +509,19 @@ const mapStateToProps = (state) => {
|
||||
// return <SectionHeaderContent settings={settingsStore.settings} {...props} />;
|
||||
// });
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
// updateUserStatus,
|
||||
// fetchProfile,
|
||||
// updateProfile,
|
||||
//setFilter,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
isAdmin: store.isAdmin,
|
||||
viewer: store.userStore.user,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
setFilter: peopleStore.filterStore.setFilterParams,
|
||||
updateUserStatus: peopleStore.usersStore.updateUserStatus,
|
||||
resetProfile: peopleStore.targetUserStore.resetTargetUser,
|
||||
fetchProfile: peopleStore.targetUserStore.getTargetUser,
|
||||
profile: peopleStore.targetUserStore.targetUser,
|
||||
updateProfile: peopleStore.targetUserStore.updateProfile,
|
||||
getUserPhoto: peopleStore.targetUserStore.getUserPhoto,
|
||||
}))(observer(withRouter(withTranslation()(SectionHeaderContent))))
|
||||
);
|
||||
export default inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
isAdmin: auth.isAdmin,
|
||||
viewer: auth.userStore.user,
|
||||
filter: peopleStore.filterStore.filter,
|
||||
setFilter: peopleStore.filterStore.setFilterParams,
|
||||
updateUserStatus: peopleStore.usersStore.updateUserStatus,
|
||||
resetProfile: peopleStore.targetUserStore.resetTargetUser,
|
||||
fetchProfile: peopleStore.targetUserStore.getTargetUser,
|
||||
profile: peopleStore.targetUserStore.targetUser,
|
||||
updateProfile: peopleStore.targetUserStore.updateProfile,
|
||||
getUserPhoto: peopleStore.targetUserStore.getUserPhoto,
|
||||
}))(observer(withRouter(withTranslation()(SectionHeaderContent))));
|
||||
|
||||
// export default connect(mapStateToProps, {
|
||||
// updateUserStatus,
|
||||
|
@ -118,25 +118,17 @@ Profile.propTypes = {
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
const { isLoaded } = state.auth;
|
||||
//const { targetUser } = state.profile;
|
||||
return {
|
||||
// profile: targetUser,
|
||||
// isLoaded,
|
||||
isVisitor: isVisitor(state),
|
||||
// isAdmin: isAdmin(state),
|
||||
//language: getLanguage(state),
|
||||
//isVisitor: isVisitor(state),
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
// fetchProfile,
|
||||
// resetProfile,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
isLoaded: store.isLoaded,
|
||||
isAdmin: store.isAdmin,
|
||||
language: store.language,
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
isVisitor: auth.userStore.user.isVisitor,
|
||||
isLoaded: auth.isLoaded,
|
||||
isAdmin: auth.isAdmin,
|
||||
language: auth.language,
|
||||
resetProfile: peopleStore.targetUserStore.resetTargetUser,
|
||||
fetchProfile: peopleStore.targetUserStore.getTargetUser,
|
||||
profile: peopleStore.targetUserStore.targetUser,
|
||||
|
@ -5,14 +5,8 @@ import styled from "styled-components";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { AvatarEditor, utils, Loader } from "asc-web-components";
|
||||
import { api, toastr } from "asc-web-common";
|
||||
import {
|
||||
fetchProfile,
|
||||
updateProfile,
|
||||
// getUserPhoto,
|
||||
setAvatarMax,
|
||||
} from "../../../../../store/profile/actions";
|
||||
|
||||
import { toEmployeeWrapper } from "../../../../../store/people/selectors";
|
||||
import { toggleAvatarEditor } from "../../../../../store/people/actions";
|
||||
import { setDocumentTitle } from "../../../../../helpers/utils";
|
||||
import { isMobile } from "react-device-detect";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -317,29 +311,17 @@ class AvatarEditorPage extends React.PureComponent {
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
profile: state.profile.targetUser,
|
||||
avatarMax: state.profile.avatarMax,
|
||||
//settings: state.auth.settings,
|
||||
// profile: state.profile.targetUser,
|
||||
// avatarMax: state.profile.avatarMax,
|
||||
};
|
||||
}
|
||||
|
||||
// export default connect(mapStateToProps, {
|
||||
// fetchProfile,
|
||||
// updateProfile,
|
||||
// toggleAvatarEditor,
|
||||
// setAvatarMax,
|
||||
// })(withTranslation()(withRouter(AvatarEditorPage)));
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
// fetchProfile,
|
||||
// updateProfile,
|
||||
//toggleAvatarEditor,
|
||||
// setAvatarMax,
|
||||
})(
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ peopleStore }) => ({
|
||||
toggleAvatarEditor: peopleStore.avatarEditorStore.toggleAvatarEditor,
|
||||
fetchProfile: peopleStore.targetUserStore.getTargetUser,
|
||||
profile: peopleStore.targetUserStore.targetUser,
|
||||
avatarMax: peopleStore.avatarEditorStore.avatarMax,
|
||||
setAvatarMax: peopleStore.avatarEditorStore.setAvatarMax,
|
||||
updateProfile: peopleStore.targetUserStore.updateProfile,
|
||||
getUserPhoto: peopleStore.targetUserStore.getUserPhoto,
|
||||
|
@ -293,9 +293,9 @@ class CreateAvatarEditorPage extends React.PureComponent {
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
// profile: state.profile.targetUser,
|
||||
avatarMax: state.profile.avatarMax,
|
||||
createdAvatar: state.profile.createdAvatar,
|
||||
croppedAvatar: state.profile.croppedAvatar,
|
||||
// avatarMax: state.profile.avatarMax,
|
||||
// createdAvatar: state.profile.createdAvatar,
|
||||
// croppedAvatar: state.profile.croppedAvatar,
|
||||
//settings: state.auth.settings,
|
||||
//editingForm: state.people.editingForm,
|
||||
};
|
||||
@ -325,6 +325,9 @@ export default connect(mapStateToProps, {
|
||||
updateProfile: peopleStore.targetUserStore.updateProfile,
|
||||
updateCreatedAvatar: peopleStore.targetUserStore.updateCreatedAvatar,
|
||||
getUserPhoto: peopleStore.targetUserStore.getUserPhoto,
|
||||
createdAvatar: peopleStore.avatarEditorStore.createdAvatar,
|
||||
avatarMax: peopleStore.avatarEditorStore.avatarMax,
|
||||
croppedAvatar: peopleStore.avatarEditorStore.croppedAvatar,
|
||||
}))(observer(withRouter(withTranslation()(CreateAvatarEditorPage))))
|
||||
);
|
||||
|
||||
|
@ -657,14 +657,14 @@ class CreateUserForm extends React.Component {
|
||||
const mapStateToProps = (state) => {
|
||||
//const { settings } = state.auth;
|
||||
// const { groups, filter, editingForm } = state.people;
|
||||
const { createdAvatar, croppedAvatar } = state.profile;
|
||||
// const { createdAvatar, croppedAvatar } = state.profile;
|
||||
return {
|
||||
//settings,
|
||||
//groups,
|
||||
//filter,
|
||||
//editingForm,
|
||||
createdAvatar,
|
||||
croppedAvatar,
|
||||
// createdAvatar,
|
||||
// croppedAvatar,
|
||||
};
|
||||
};
|
||||
|
||||
@ -684,8 +684,8 @@ export default connect(mapStateToProps, {
|
||||
// setCroppedAvatar,
|
||||
// resetProfile,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
editingForm: peopleStore.editingFormStore,
|
||||
groups: peopleStore.groupsStore.groups,
|
||||
setIsVisibleDataLossDialog:
|
||||
@ -696,7 +696,9 @@ export default connect(mapStateToProps, {
|
||||
toggleAvatarEditor: peopleStore.avatarEditorStore.toggleAvatarEditor,
|
||||
resetProfile: peopleStore.targetUserStore.resetTargetUser,
|
||||
createProfile: peopleStore.usersStore.createUser,
|
||||
createdAvatar: peopleStore.avatarEditorStore.createdAvatar,
|
||||
setCreatedAvatar: peopleStore.avatarEditorStore.setCreatedAvatar,
|
||||
croppedAvatar: peopleStore.avatarEditorStore.croppedAvatar,
|
||||
setCroppedAvatar: peopleStore.avatarEditorStore.setCroppedAvatar,
|
||||
updateProfileInUsers: peopleStore.usersStore.updateProfileInUsers,
|
||||
updateCreatedAvatar: peopleStore.targetUserStore.updateCreatedAvatar,
|
||||
|
@ -927,9 +927,9 @@ const mapStateToProps = (state) => {
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
isAdmin: store.isAdmin,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
isAdmin: auth.isAdmin,
|
||||
groups: peopleStore.groupsStore.groups,
|
||||
editingForm: peopleStore.editingFormStore,
|
||||
setIsVisibleDataLossDialog:
|
||||
|
@ -129,8 +129,8 @@ export default connect(mapStateToProps, {
|
||||
// toggleAvatarEditor,
|
||||
// resetProfile,
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
settings: store.settingsStore,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
settings: auth.settingsStore,
|
||||
editingForm: peopleStore.editingFormStore,
|
||||
setIsVisibleDataLossDialog:
|
||||
peopleStore.editingFormStore.setIsVisibleDataLossDialog,
|
||||
|
@ -142,7 +142,7 @@ const ProfileActionContainer = (props) => {
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isVisitor: state.auth.user.isVisitor,
|
||||
// isVisitor: state.auth.user.isVisitor,
|
||||
// profile: state.profile.targetUser,
|
||||
// isAdmin: isAdmin(state),
|
||||
//isEdit: state.people.editingForm.isEdit,
|
||||
@ -154,8 +154,9 @@ export default connect(mapStateToProps, {
|
||||
/*fetchProfile*/
|
||||
/*setIsEditingForm*/
|
||||
})(
|
||||
inject(({ store, peopleStore }) => ({
|
||||
isAdmin: store.isAdmin,
|
||||
inject(({ auth, peopleStore }) => ({
|
||||
isAdmin: auth.isAdmin,
|
||||
isVisitor: auth.userStore.user.isVisitor,
|
||||
isEdit: peopleStore.editingFormStore.isEdit,
|
||||
setIsEditingForm: peopleStore.editingFormStore.setIsEditingForm,
|
||||
fetchProfile: peopleStore.targetUserStore.getTargetUser,
|
||||
|
@ -69,8 +69,8 @@ function mapStateToProps(state) {
|
||||
// });
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store }) => ({
|
||||
settings: store.settingsStore,
|
||||
inject(({ auth }) => ({
|
||||
settings: auth.settingsStore,
|
||||
}))(observer(withRouter(SectionHeaderContent)))
|
||||
);
|
||||
|
||||
|
@ -96,6 +96,6 @@ Reassign.propTypes = {
|
||||
|
||||
// export default connect(mapStateToProps, {})(Reassign);
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
isAdmin: store.isAdmin,
|
||||
export default inject(({ auth }) => ({
|
||||
isAdmin: auth.isAdmin,
|
||||
}))(observer(Reassign));
|
||||
|
@ -13,7 +13,7 @@ const { authStore } = commonStore;
|
||||
|
||||
ReactDOM.render(
|
||||
<Provider store={store}>
|
||||
<MobxProvider store={authStore} peopleStore={peopleStore}>
|
||||
<MobxProvider auth={authStore} peopleStore={peopleStore}>
|
||||
<ErrorBoundary>
|
||||
<App />
|
||||
</ErrorBoundary>
|
||||
|
@ -1,4 +1,6 @@
|
||||
import { action, makeObservable, observable } from "mobx";
|
||||
import { action, computed, makeObservable, observable } from "mobx";
|
||||
import { store } from "asc-web-common";
|
||||
|
||||
import GroupsStore from "./GroupsStore";
|
||||
import UsersStore from "./UsersStore";
|
||||
import { getFilterByLocation } from "../helpers/converters";
|
||||
@ -12,6 +14,8 @@ import HeaderMenuStore from "./HeaderMenuStore";
|
||||
import AvatarEditorStore from "./AvatarEditorStore";
|
||||
import InviteLinksStore from "./InviteLinksStore";
|
||||
|
||||
const { authStore } = store;
|
||||
|
||||
class PeopleStore {
|
||||
groupsStore = null;
|
||||
usersStore = null;
|
||||
@ -51,9 +55,17 @@ class PeopleStore {
|
||||
setAvatarEditorStore: action,
|
||||
setInviteLinksStore: action,
|
||||
init: action,
|
||||
isPeoplesAdmin: computed,
|
||||
});
|
||||
}
|
||||
|
||||
get isPeoplesAdmin() {
|
||||
return (
|
||||
authStore.userStore.user &&
|
||||
authStore.userStore.user.listAdminModules.includes("people")
|
||||
);
|
||||
}
|
||||
|
||||
init = async () => {
|
||||
const re = new RegExp(`${config.homepage}((/?)$|/filter)`, "gm");
|
||||
const match = window.location.pathname.match(re);
|
||||
|
@ -1,7 +1,12 @@
|
||||
import { action, makeObservable, observable } from "mobx";
|
||||
import { constants, store } from "asc-web-common";
|
||||
|
||||
const { EmployeeStatus, EmployeeActivationStatus } = constants;
|
||||
const { authStore } = store;
|
||||
|
||||
class SelectionStore {
|
||||
selection = [];
|
||||
selected = "none";
|
||||
|
||||
constructor(peopleStore) {
|
||||
this.peopleStore = peopleStore;
|
||||
@ -15,19 +20,100 @@ class SelectionStore {
|
||||
|
||||
selectUser = (user) => {
|
||||
const u = user;
|
||||
this.selection.push(u);
|
||||
console.log(this.selection);
|
||||
return this.selection.push(u);
|
||||
};
|
||||
|
||||
deselectUser = (user) => {
|
||||
const newData = this.selection.filter((el) => el.id !== user.id);
|
||||
this.selection = newData;
|
||||
console.log(this.selection);
|
||||
return (this.selection = newData);
|
||||
};
|
||||
|
||||
selectAll = () => {
|
||||
const list = this.peopleStore.usersStore.composePeopleList();
|
||||
this.selection = list;
|
||||
};
|
||||
|
||||
clearSelection = () => {
|
||||
this.selection = [];
|
||||
return (this.selection = []);
|
||||
};
|
||||
|
||||
selectByStatus = (status) => {
|
||||
const list = this.peopleStore.usersStore
|
||||
.composePeopleList()
|
||||
.filter((u) => u.status === status);
|
||||
|
||||
return (this.selection = list);
|
||||
};
|
||||
|
||||
setSelected = (selected) => {
|
||||
return (this.selected = selected);
|
||||
};
|
||||
|
||||
get hasAnybodySelected() {
|
||||
return this.selection.length > 0;
|
||||
}
|
||||
|
||||
get hasUsersToMakeEmployees() {
|
||||
const users = this.selection.filter((x) => {
|
||||
return (
|
||||
!x.isAdmin &&
|
||||
!x.isOwner &&
|
||||
x.isVisitor &&
|
||||
x.status !== EmployeeStatus.Disabled &&
|
||||
x.id !== authStore.userStore.user.id
|
||||
);
|
||||
});
|
||||
return !!users.length;
|
||||
}
|
||||
|
||||
get hasUsersToMakeGuests() {
|
||||
const users = this.selection.filter((x) => {
|
||||
return (
|
||||
!x.isAdmin &&
|
||||
!x.isOwner &&
|
||||
!x.isVisitor &&
|
||||
x.status !== EmployeeStatus.Disabled &&
|
||||
x.id !== authStore.userStore.user.id
|
||||
);
|
||||
});
|
||||
return !!users.length;
|
||||
}
|
||||
|
||||
get hasUsersToActivate() {
|
||||
const users = this.selection.filter(
|
||||
(x) =>
|
||||
!x.isOwner &&
|
||||
x.status !== EmployeeStatus.Active &&
|
||||
x.id !== authStore.userStore.user.id
|
||||
);
|
||||
return !!users.length;
|
||||
}
|
||||
|
||||
get hasUsersToDisable() {
|
||||
const users = this.selection.filter(
|
||||
(x) =>
|
||||
!x.isOwner &&
|
||||
x.status !== EmployeeStatus.Disabled &&
|
||||
x.id !== authStore.userStore.user.id
|
||||
);
|
||||
return !!users.length;
|
||||
}
|
||||
|
||||
get hasUsersToInvite() {
|
||||
const users = this.selection.filter(
|
||||
(x) =>
|
||||
x.activationStatus === EmployeeActivationStatus.Pending &&
|
||||
x.status === EmployeeStatus.Active
|
||||
);
|
||||
return !!users.length;
|
||||
}
|
||||
|
||||
get hasUsersToRemove() {
|
||||
const users = this.selection.filter(
|
||||
(x) => x.status === EmployeeStatus.Disabled
|
||||
);
|
||||
return !!users.length;
|
||||
}
|
||||
}
|
||||
|
||||
export default SelectionStore;
|
||||
|
@ -1,19 +1,32 @@
|
||||
import { api, store } from "asc-web-common";
|
||||
import { action, makeObservable, observable } from "mobx";
|
||||
import { action, computed, makeObservable, observable } from "mobx";
|
||||
|
||||
const { authStore } = store;
|
||||
|
||||
class TargetUserStore {
|
||||
targetUser = null;
|
||||
|
||||
constructor() {
|
||||
constructor(peopleStore) {
|
||||
this.peopleStore = peopleStore;
|
||||
makeObservable(this, {
|
||||
targetUser: observable,
|
||||
getTargetUser: action,
|
||||
resetTargetUser: action,
|
||||
getDisableProfileType: computed,
|
||||
});
|
||||
}
|
||||
|
||||
get getDisableProfileType() {
|
||||
const res =
|
||||
authStore.userStore.user.id === this.targetUser.id ||
|
||||
!authStore.isAdmin ||
|
||||
this.peopleStore.isPeoplesAdmin
|
||||
? false
|
||||
: true;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
getTargetUser = async (userName) => {
|
||||
if (authStore.userStore.user.userName === userName) {
|
||||
return (this.targetUser = authStore.userStore.user);
|
||||
@ -23,9 +36,46 @@ class TargetUserStore {
|
||||
}
|
||||
};
|
||||
|
||||
setTargetUser = (user) => {
|
||||
return (this.targetUser = user);
|
||||
};
|
||||
|
||||
resetTargetUser = () => {
|
||||
this.targetUser = null;
|
||||
};
|
||||
|
||||
updateProfile = async (profile) => {
|
||||
const member = this.peopleStore.usersStore.employeeWrapperToMemberModel(
|
||||
profile
|
||||
);
|
||||
let result;
|
||||
const res = await api.people.updateUser(member);
|
||||
result = res;
|
||||
|
||||
this.setTargetUser(res);
|
||||
return Promise.resolve(result);
|
||||
};
|
||||
|
||||
updateCreatedAvatar = (avatar) => {
|
||||
const { big, max, medium, small } = avatar;
|
||||
this.targetUser.avatarMax = max;
|
||||
this.targetUser.avatarMedium = medium;
|
||||
this.targetUser.avatar = big;
|
||||
this.targetUser.avatarSmall = small;
|
||||
};
|
||||
|
||||
updateProfileCulture = async (id, culture) => {
|
||||
const res = await api.people.updateUserCulture(id, culture);
|
||||
authStore.userStore.setUser(res);
|
||||
this.setTargetUser(res);
|
||||
caches.delete("api-cache");
|
||||
await authStore.settingsStore.init();
|
||||
};
|
||||
|
||||
getUserPhoto = async (id) => {
|
||||
const res = await api.people.getUserPhoto(id);
|
||||
return res;
|
||||
};
|
||||
}
|
||||
|
||||
export default TargetUserStore;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { api, /*history,*/ constants } from "asc-web-common";
|
||||
// import { api, /*history,*/ constants } from "asc-web-common";
|
||||
// import config from "../../../package.json";
|
||||
// import {
|
||||
// EMPLOYEE_STATUS,
|
||||
@ -11,26 +11,26 @@ import { api, /*history,*/ constants } from "asc-web-common";
|
||||
// PAGE,
|
||||
// PAGE_COUNT,
|
||||
// } from "../../helpers/constants";
|
||||
import { getUserByUserName } from "../people/selectors";
|
||||
// import { getUserByUserName } from "../people/selectors";
|
||||
|
||||
const { EmployeeStatus } = constants;
|
||||
const { Filter } = api;
|
||||
// const { EmployeeStatus } = constants;
|
||||
// const { Filter } = api;
|
||||
|
||||
export const SET_GROUPS = "SET_GROUPS";
|
||||
export const SET_USERS = "SET_USERS";
|
||||
export const SET_USER = "SET_USER";
|
||||
export const SET_SELECTION = "SET_SELECTION";
|
||||
export const SELECT_USER = "SELECT_USER";
|
||||
export const DESELECT_USER = "DESELECT_USER";
|
||||
export const SET_SELECTED = "SET_SELECTED";
|
||||
export const SET_FILTER = "SET_FILTER";
|
||||
export const SELECT_GROUP = "SELECT_GROUP";
|
||||
export const SET_SELECTOR_USERS = "SET_SELECTOR_USERS";
|
||||
export const SET_IS_VISIBLE_DATA_LOSS_DIALOG =
|
||||
"SET_IS_VISIBLE_DATA_LOSS_DIALOG";
|
||||
export const SET_IS_EDITING_FORM = "SET_IS_EDITING_FORM";
|
||||
export const SET_IS_LOADING = "SET_IS_LOADING";
|
||||
export const TOGGLE_AVATAR_EDITOR = "TOGGLE_AVATAR_EDITOR";
|
||||
// export const SET_GROUPS = "SET_GROUPS";
|
||||
// export const SET_USERS = "SET_USERS";
|
||||
// export const SET_USER = "SET_USER";
|
||||
// export const SET_SELECTION = "SET_SELECTION";
|
||||
// export const SELECT_USER = "SELECT_USER";
|
||||
// export const DESELECT_USER = "DESELECT_USER";
|
||||
// export const SET_SELECTED = "SET_SELECTED";
|
||||
// export const SET_FILTER = "SET_FILTER";
|
||||
// export const SELECT_GROUP = "SELECT_GROUP";
|
||||
// export const SET_SELECTOR_USERS = "SET_SELECTOR_USERS";
|
||||
// export const SET_IS_VISIBLE_DATA_LOSS_DIALOG =
|
||||
// "SET_IS_VISIBLE_DATA_LOSS_DIALOG";
|
||||
// export const SET_IS_EDITING_FORM = "SET_IS_EDITING_FORM";
|
||||
// export const SET_IS_LOADING = "SET_IS_LOADING";
|
||||
// export const TOGGLE_AVATAR_EDITOR = "TOGGLE_AVATAR_EDITOR";
|
||||
|
||||
// export function setIsLoading(isLoading) {
|
||||
// return {
|
||||
@ -67,12 +67,12 @@ export const TOGGLE_AVATAR_EDITOR = "TOGGLE_AVATAR_EDITOR";
|
||||
// };
|
||||
// }
|
||||
|
||||
export function setSelected(selected) {
|
||||
return {
|
||||
type: SET_SELECTED,
|
||||
selected,
|
||||
};
|
||||
}
|
||||
// export function setSelected(selected) {
|
||||
// return {
|
||||
// type: SET_SELECTED,
|
||||
// selected,
|
||||
// };
|
||||
// }
|
||||
|
||||
// export function selectGroup(groupId) {
|
||||
// return (dispatch, getState) => {
|
||||
|
@ -1,20 +1,20 @@
|
||||
import {
|
||||
SET_GROUPS,
|
||||
SET_USERS,
|
||||
SET_SELECTION,
|
||||
SELECT_USER,
|
||||
DESELECT_USER,
|
||||
SET_SELECTED,
|
||||
SET_FILTER,
|
||||
SELECT_GROUP,
|
||||
SET_USER,
|
||||
SET_SELECTOR_USERS,
|
||||
SET_IS_VISIBLE_DATA_LOSS_DIALOG,
|
||||
SET_IS_EDITING_FORM,
|
||||
SET_IS_LOADING,
|
||||
TOGGLE_AVATAR_EDITOR,
|
||||
} from "./actions";
|
||||
import { isUserSelected, skipUser, getUsersBySelected } from "./selectors";
|
||||
// import {
|
||||
// SET_GROUPS,
|
||||
// SET_USERS,
|
||||
// SET_SELECTION,
|
||||
// SELECT_USER,
|
||||
// DESELECT_USER,
|
||||
// SET_SELECTED,
|
||||
// SET_FILTER,
|
||||
// SELECT_GROUP,
|
||||
// SET_USER,
|
||||
// SET_SELECTOR_USERS,
|
||||
// SET_IS_VISIBLE_DATA_LOSS_DIALOG,
|
||||
// SET_IS_EDITING_FORM,
|
||||
// SET_IS_LOADING,
|
||||
// TOGGLE_AVATAR_EDITOR,
|
||||
// } from "./actions";
|
||||
// import { isUserSelected, skipUser, getUsersBySelected } from "./selectors";
|
||||
import { api } from "asc-web-common";
|
||||
const { Filter } = api;
|
||||
|
||||
@ -37,78 +37,78 @@ const initialState = {
|
||||
};
|
||||
const peopleReducer = (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
case SET_GROUPS:
|
||||
return Object.assign({}, state, {
|
||||
groups: action.groups,
|
||||
});
|
||||
case SET_USERS:
|
||||
return Object.assign({}, state, {
|
||||
users: action.users,
|
||||
});
|
||||
case SET_USER:
|
||||
return Object.assign({}, state, {
|
||||
users: state.users.map((user) =>
|
||||
user.id === action.user.id ? action.user : user
|
||||
),
|
||||
});
|
||||
case SET_SELECTION:
|
||||
return Object.assign({}, state, {
|
||||
selection: action.selection,
|
||||
});
|
||||
case SELECT_USER:
|
||||
if (!isUserSelected(state.selection, action.user.id)) {
|
||||
return Object.assign({}, state, {
|
||||
selection: [...state.selection, action.user],
|
||||
});
|
||||
} else return state;
|
||||
case DESELECT_USER:
|
||||
if (isUserSelected(state.selection, action.user.id)) {
|
||||
return Object.assign({}, state, {
|
||||
selection: skipUser(state.selection, action.user.id),
|
||||
});
|
||||
} else return state;
|
||||
case SET_SELECTED:
|
||||
return Object.assign({}, state, {
|
||||
selected: action.selected,
|
||||
selection: getUsersBySelected(state.users, action.selected),
|
||||
});
|
||||
case SET_FILTER:
|
||||
return Object.assign({}, state, {
|
||||
filter: action.filter,
|
||||
});
|
||||
case SELECT_GROUP:
|
||||
return Object.assign({}, state, {
|
||||
selectedGroup: action.groupId,
|
||||
});
|
||||
case SET_SELECTOR_USERS:
|
||||
return Object.assign({}, state, {
|
||||
selector: Object.assign({}, state.selector, {
|
||||
users: action.users,
|
||||
}),
|
||||
});
|
||||
case SET_IS_VISIBLE_DATA_LOSS_DIALOG:
|
||||
return Object.assign({}, state, {
|
||||
editingForm: {
|
||||
...state.editingForm,
|
||||
isVisibleDataLossDialog: action.isVisible,
|
||||
callback: action.callback,
|
||||
},
|
||||
});
|
||||
case SET_IS_EDITING_FORM:
|
||||
return Object.assign({}, state, {
|
||||
editingForm: {
|
||||
...state.editingForm,
|
||||
isEdit: action.isEdit,
|
||||
},
|
||||
});
|
||||
case TOGGLE_AVATAR_EDITOR:
|
||||
return Object.assign({}, state, {
|
||||
avatarEditorIsOpen: action.avatarEditorIsOpen,
|
||||
});
|
||||
case SET_IS_LOADING:
|
||||
return Object.assign({}, state, {
|
||||
isLoading: action.isLoading,
|
||||
});
|
||||
// case SET_GROUPS:
|
||||
// return Object.assign({}, state, {
|
||||
// groups: action.groups,
|
||||
// });
|
||||
// case SET_USERS:
|
||||
// return Object.assign({}, state, {
|
||||
// users: action.users,
|
||||
// });
|
||||
// case SET_USER:
|
||||
// return Object.assign({}, state, {
|
||||
// users: state.users.map((user) =>
|
||||
// user.id === action.user.id ? action.user : user
|
||||
// ),
|
||||
// });
|
||||
// case SET_SELECTION:
|
||||
// return Object.assign({}, state, {
|
||||
// selection: action.selection,
|
||||
// });
|
||||
// case SELECT_USER:
|
||||
// if (!isUserSelected(state.selection, action.user.id)) {
|
||||
// return Object.assign({}, state, {
|
||||
// selection: [...state.selection, action.user],
|
||||
// });
|
||||
// } else return state;
|
||||
// case DESELECT_USER:
|
||||
// if (isUserSelected(state.selection, action.user.id)) {
|
||||
// return Object.assign({}, state, {
|
||||
// selection: skipUser(state.selection, action.user.id),
|
||||
// });
|
||||
// } else return state;
|
||||
// case SET_SELECTED:
|
||||
// return Object.assign({}, state, {
|
||||
// selected: action.selected,
|
||||
// selection: getUsersBySelected(state.users, action.selected),
|
||||
// });
|
||||
// case SET_FILTER:
|
||||
// return Object.assign({}, state, {
|
||||
// filter: action.filter,
|
||||
// });
|
||||
// case SELECT_GROUP:
|
||||
// return Object.assign({}, state, {
|
||||
// selectedGroup: action.groupId,
|
||||
// });
|
||||
// case SET_SELECTOR_USERS:
|
||||
// return Object.assign({}, state, {
|
||||
// selector: Object.assign({}, state.selector, {
|
||||
// users: action.users,
|
||||
// }),
|
||||
// });
|
||||
// case SET_IS_VISIBLE_DATA_LOSS_DIALOG:
|
||||
// return Object.assign({}, state, {
|
||||
// editingForm: {
|
||||
// ...state.editingForm,
|
||||
// isVisibleDataLossDialog: action.isVisible,
|
||||
// callback: action.callback,
|
||||
// },
|
||||
// });
|
||||
// case SET_IS_EDITING_FORM:
|
||||
// return Object.assign({}, state, {
|
||||
// editingForm: {
|
||||
// ...state.editingForm,
|
||||
// isEdit: action.isEdit,
|
||||
// },
|
||||
// });
|
||||
// case TOGGLE_AVATAR_EDITOR:
|
||||
// return Object.assign({}, state, {
|
||||
// avatarEditorIsOpen: action.avatarEditorIsOpen,
|
||||
// });
|
||||
// case SET_IS_LOADING:
|
||||
// return Object.assign({}, state, {
|
||||
// isLoading: action.isLoading,
|
||||
// });
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
// import { updateUserList } from "../people/actions";
|
||||
import { store, api } from "asc-web-common";
|
||||
const { setCurrentUser } = store.auth.actions;
|
||||
// import { store, api } from "asc-web-common";
|
||||
// const { setCurrentUser } = store.auth.actions;
|
||||
// const { isMe } = store.auth.selectors;
|
||||
|
||||
export const SET_PROFILE = "SET_PROFILE";
|
||||
export const CLEAN_PROFILE = "CLEAN_PROFILE";
|
||||
export const SET_AVATAR_MAX = "SET_AVATAR_MAX";
|
||||
export const SET_CREATED_AVATAR = "SET_CREATED_AVATAR";
|
||||
export const SET_CROPPED_AVATAR = "SET_CROPPED_AVATAR";
|
||||
// export const SET_PROFILE = "SET_PROFILE";
|
||||
// export const CLEAN_PROFILE = "CLEAN_PROFILE";
|
||||
// export const SET_AVATAR_MAX = "SET_AVATAR_MAX";
|
||||
// export const SET_CREATED_AVATAR = "SET_CREATED_AVATAR";
|
||||
// export const SET_CROPPED_AVATAR = "SET_CROPPED_AVATAR";
|
||||
|
||||
export function setProfile(targetUser) {
|
||||
return {
|
||||
type: SET_PROFILE,
|
||||
targetUser,
|
||||
};
|
||||
}
|
||||
// export function setProfile(targetUser) {
|
||||
// return {
|
||||
// type: SET_PROFILE,
|
||||
// targetUser,
|
||||
// };
|
||||
// }
|
||||
|
||||
// export function resetProfile() {
|
||||
// return {
|
||||
@ -22,15 +22,15 @@ export function setProfile(targetUser) {
|
||||
// };
|
||||
// }
|
||||
|
||||
export function employeeWrapperToMemberModel(profile) {
|
||||
const comment = profile.notes;
|
||||
const department = profile.groups
|
||||
? profile.groups.map((group) => group.id)
|
||||
: [];
|
||||
const worksFrom = profile.workFrom;
|
||||
// export function employeeWrapperToMemberModel(profile) {
|
||||
// const comment = profile.notes;
|
||||
// const department = profile.groups
|
||||
// ? profile.groups.map((group) => group.id)
|
||||
// : [];
|
||||
// const worksFrom = profile.workFrom;
|
||||
|
||||
return { ...profile, comment, department, worksFrom };
|
||||
}
|
||||
// return { ...profile, comment, department, worksFrom };
|
||||
// }
|
||||
|
||||
// export function fetchProfile(userName) {
|
||||
// return (dispatch, getState) => {
|
||||
@ -68,66 +68,67 @@ export function employeeWrapperToMemberModel(profile) {
|
||||
// };
|
||||
// }
|
||||
|
||||
export function updateProfile(profile) {
|
||||
return (dispatch) => {
|
||||
const member = employeeWrapperToMemberModel(profile);
|
||||
let result;
|
||||
// export function updateProfile(profile) {
|
||||
// debugger;
|
||||
// return (dispatch) => {
|
||||
// const member = employeeWrapperToMemberModel(profile);
|
||||
// let result;
|
||||
|
||||
return api.people
|
||||
.updateUser(member)
|
||||
.then((user) => {
|
||||
result = user;
|
||||
return Promise.resolve(dispatch(setProfile(user)));
|
||||
})
|
||||
.then(() => {
|
||||
return Promise.resolve(result);
|
||||
});
|
||||
};
|
||||
}
|
||||
export function updateProfileCulture(id, culture) {
|
||||
return (dispatch, getState) => {
|
||||
return api.people
|
||||
.updateUserCulture(id, culture)
|
||||
.then((user) => {
|
||||
dispatch(setCurrentUser(user));
|
||||
return dispatch(setProfile(user));
|
||||
})
|
||||
.then(() => caches.delete("api-cache"))
|
||||
.then(() => {
|
||||
const { getCurrentCustomSchema, getModules } = store.auth.actions;
|
||||
const state = getState();
|
||||
const { nameSchemaId } = state.auth.settings;
|
||||
// return api.people
|
||||
// .updateUser(member)
|
||||
// .then((user) => {
|
||||
// result = user;
|
||||
// return Promise.resolve(dispatch(setProfile(user)));
|
||||
// })
|
||||
// .then(() => {
|
||||
// return Promise.resolve(result);
|
||||
// });
|
||||
// };
|
||||
// }
|
||||
// export function updateProfileCulture(id, culture) {
|
||||
// return (dispatch, getState) => {
|
||||
// return api.people
|
||||
// .updateUserCulture(id, culture)
|
||||
// .then((user) => {
|
||||
// dispatch(setCurrentUser(user));
|
||||
// return dispatch(setProfile(user));
|
||||
// })
|
||||
// .then(() => caches.delete("api-cache"))
|
||||
// .then(() => {
|
||||
// const { getCurrentCustomSchema, getModules } = store.auth.actions;
|
||||
// const state = getState();
|
||||
// const { nameSchemaId } = state.auth.settings;
|
||||
|
||||
if (!nameSchemaId) return getModules();
|
||||
// if (!nameSchemaId) return getModules();
|
||||
|
||||
const requests = [
|
||||
getModules(dispatch),
|
||||
getCurrentCustomSchema(dispatch, nameSchemaId),
|
||||
];
|
||||
// const requests = [
|
||||
// getModules(dispatch),
|
||||
// getCurrentCustomSchema(dispatch, nameSchemaId),
|
||||
// ];
|
||||
|
||||
return Promise.all(requests);
|
||||
});
|
||||
};
|
||||
}
|
||||
// return Promise.all(requests);
|
||||
// });
|
||||
// };
|
||||
// }
|
||||
|
||||
export function getUserPhoto(id) {
|
||||
return api.people.getUserPhoto(id);
|
||||
}
|
||||
// export function getUserPhoto(id) {
|
||||
// return api.people.getUserPhoto(id);
|
||||
// }
|
||||
|
||||
export function updateCreatedAvatar(avatar) {
|
||||
return (dispatch, getState) => {
|
||||
const { big, max, medium, small } = avatar;
|
||||
const { profile } = getState();
|
||||
const newProfile = {
|
||||
...profile.targetUser,
|
||||
avatarMax: max,
|
||||
avatarMedium: medium,
|
||||
avatar: big,
|
||||
avatarSmall: small,
|
||||
};
|
||||
return dispatch(setProfile(newProfile));
|
||||
};
|
||||
}
|
||||
// export function updateCreatedAvatar(avatar) {
|
||||
// return (dispatch, getState) => {
|
||||
// const { big, max, medium, small } = avatar;
|
||||
// const { profile } = getState();
|
||||
// const newProfile = {
|
||||
// ...profile.targetUser,
|
||||
// avatarMax: max,
|
||||
// avatarMedium: medium,
|
||||
// avatar: big,
|
||||
// avatarSmall: small,
|
||||
// };
|
||||
// return dispatch(setProfile(newProfile));
|
||||
// };
|
||||
// }
|
||||
|
||||
// export function setAvatarMax(avatarMax) {
|
||||
// return {
|
||||
|
@ -1,50 +1,50 @@
|
||||
import {
|
||||
SET_PROFILE,
|
||||
CLEAN_PROFILE,
|
||||
SET_AVATAR_MAX,
|
||||
SET_CREATED_AVATAR,
|
||||
SET_CROPPED_AVATAR,
|
||||
} from "./actions";
|
||||
// import {
|
||||
// SET_PROFILE,
|
||||
// CLEAN_PROFILE,
|
||||
// SET_AVATAR_MAX,
|
||||
// SET_CREATED_AVATAR,
|
||||
// SET_CROPPED_AVATAR,
|
||||
// } from "./actions";
|
||||
|
||||
const initialState = {
|
||||
targetUser: null,
|
||||
avatarMax: null,
|
||||
createdAvatar: {
|
||||
tmpFile: "",
|
||||
image: null,
|
||||
defaultWidth: 0,
|
||||
defaultHeight: 0,
|
||||
x: 0,
|
||||
y: 0,
|
||||
width: 0,
|
||||
height: 0,
|
||||
},
|
||||
croppedAvatar: null,
|
||||
};
|
||||
// const initialState = {
|
||||
// targetUser: null,
|
||||
// avatarMax: null,
|
||||
// createdAvatar: {
|
||||
// tmpFile: "",
|
||||
// image: null,
|
||||
// defaultWidth: 0,
|
||||
// defaultHeight: 0,
|
||||
// x: 0,
|
||||
// y: 0,
|
||||
// width: 0,
|
||||
// height: 0,
|
||||
// },
|
||||
// croppedAvatar: null,
|
||||
// };
|
||||
|
||||
const profileReducer = (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
case SET_PROFILE:
|
||||
return Object.assign({}, state, {
|
||||
targetUser: action.targetUser,
|
||||
});
|
||||
case CLEAN_PROFILE:
|
||||
return initialState;
|
||||
case SET_AVATAR_MAX:
|
||||
return Object.assign({}, state, {
|
||||
avatarMax: action.avatarMax,
|
||||
});
|
||||
case SET_CREATED_AVATAR:
|
||||
return Object.assign({}, state, {
|
||||
createdAvatar: action.avatar,
|
||||
});
|
||||
case SET_CROPPED_AVATAR:
|
||||
return Object.assign({}, state, {
|
||||
croppedAvatar: action.croppedAvatar,
|
||||
});
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
// const profileReducer = (state = initialState, action) => {
|
||||
// switch (action.type) {
|
||||
// case SET_PROFILE:
|
||||
// return Object.assign({}, state, {
|
||||
// targetUser: action.targetUser,
|
||||
// });
|
||||
// case CLEAN_PROFILE:
|
||||
// return initialState;
|
||||
// case SET_AVATAR_MAX:
|
||||
// return Object.assign({}, state, {
|
||||
// avatarMax: action.avatarMax,
|
||||
// });
|
||||
// case SET_CREATED_AVATAR:
|
||||
// return Object.assign({}, state, {
|
||||
// createdAvatar: action.avatar,
|
||||
// });
|
||||
// case SET_CROPPED_AVATAR:
|
||||
// return Object.assign({}, state, {
|
||||
// croppedAvatar: action.croppedAvatar,
|
||||
// });
|
||||
// default:
|
||||
// return state;
|
||||
// }
|
||||
// };
|
||||
|
||||
export default profileReducer;
|
||||
// export default profileReducer;
|
||||
|
@ -5,15 +5,15 @@ const { isAdmin, getCurrentUserId } = store.auth.selectors;
|
||||
const getProfileId = (state) =>
|
||||
state.profile.targetUser && state.profile.targetUser.id;
|
||||
|
||||
const getIsAdminProfile = (state) =>
|
||||
state.profile.targetUser.listAdminModules &&
|
||||
state.profile.targetUser.listAdminModules.includes("people");
|
||||
const getIsAdminProfile = (state) => true;
|
||||
// state.profile.targetUser.listAdminModules &&
|
||||
//state.profile.targetUser.listAdminModules.includes("people");
|
||||
|
||||
export const getDisableProfileType = createSelector(
|
||||
[isAdmin, getCurrentUserId, getProfileId, getIsAdminProfile],
|
||||
(isAdmin, currentUserId, profileId, isAdminProfile) => {
|
||||
return currentUserId === profileId || !isAdmin || isAdminProfile
|
||||
? true
|
||||
: false;
|
||||
}
|
||||
);
|
||||
// export const getDisableProfileType = createSelector(
|
||||
// [isAdmin, getCurrentUserId, getProfileId, getIsAdminProfile],
|
||||
// (isAdmin, currentUserId, profileId, isAdminProfile) => {
|
||||
// return currentUserId === profileId || !isAdmin || isAdminProfile
|
||||
// ? true
|
||||
// : false;
|
||||
// }
|
||||
// );
|
||||
|
@ -23,13 +23,9 @@
|
||||
"react": "^16.14.0",
|
||||
"react-dom": "^16.14.0",
|
||||
"react-i18next": "11.3.0",
|
||||
"react-redux": "7.1.3",
|
||||
"react-router": "5.1.2",
|
||||
"react-router-dom": "5.1.2",
|
||||
"react-string-format": "^0.1.0",
|
||||
"redux": "4.0.5",
|
||||
"redux-thunk": "2.3.0",
|
||||
"reselect": "^4.0.0",
|
||||
"styled-components": "^5.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -38,7 +34,6 @@
|
||||
"prettier": "2.1.2",
|
||||
"react-app-rewired": "^2.1.8",
|
||||
"react-scripts": "4.0.1",
|
||||
"redux-devtools-extension": "^2.13.8",
|
||||
"rimraf": "3.0.2",
|
||||
"webpack-bundle-analyzer": "^3.9.0",
|
||||
"workbox-build": "^5.1.4"
|
||||
|
@ -1,8 +1,6 @@
|
||||
import React, { Suspense, lazy /*useEffect*/, useEffect } from "react";
|
||||
import React, { Suspense, lazy, useEffect } from "react";
|
||||
import { Router, Route, Switch } from "react-router-dom";
|
||||
//import { connect } from "react-redux";
|
||||
import {
|
||||
//store as CommonStore,
|
||||
history,
|
||||
PrivateRoute,
|
||||
PublicRoute,
|
||||
@ -24,14 +22,6 @@ const Settings = lazy(() => import("./components/pages/Settings"));
|
||||
const Wizard = lazy(() => import("./components/pages/Wizard"));
|
||||
const Payments = lazy(() => import("./components/pages/Payments"));
|
||||
const ThirdPartyResponse = lazy(() => import("./components/pages/ThirdParty"));
|
||||
// const {
|
||||
// setIsLoaded,
|
||||
// //getUser,
|
||||
// //getPortalSettings,
|
||||
// //getModules,
|
||||
// getIsAuthenticated,
|
||||
// } = CommonStore.auth.actions;
|
||||
//const { userStore, settingsStore } = CommonStore;
|
||||
|
||||
const App = (props) => {
|
||||
//constructor(props) {
|
||||
@ -133,8 +123,8 @@ const App = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ store }) => {
|
||||
const { init, isLoaded } = store;
|
||||
export default inject(({ auth }) => {
|
||||
const { init, isLoaded } = auth;
|
||||
|
||||
const pathname = window.location.pathname.toLowerCase();
|
||||
const isThirdPartyResponse = pathname.indexOf("thirdparty") !== -1;
|
||||
|
@ -2,11 +2,9 @@ import React, { Suspense, lazy, useEffect } from "react";
|
||||
import { Route, Switch } from "react-router-dom";
|
||||
import ConfirmRoute from "../../../helpers/confirmRoute";
|
||||
import { I18nextProvider } from "react-i18next";
|
||||
import { Error404, utils, store, PageLayout, Loaders } from "asc-web-common";
|
||||
import { Error404, utils, PageLayout, Loaders } from "asc-web-common";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
import { connect } from "react-redux";
|
||||
|
||||
const { getIsLoaded } = store.auth.selectors;
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const i18n = createI18N({
|
||||
page: "Confirm",
|
||||
@ -89,10 +87,9 @@ const Confirm = ({ match, isLoaded }) => {
|
||||
);
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
export default inject(({ auth }) => {
|
||||
const { isLoaded } = auth;
|
||||
return {
|
||||
isLoaded: getIsLoaded(state),
|
||||
isLoaded,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps)(Confirm);
|
||||
})(observer(Confirm));
|
||||
|
@ -3,11 +3,9 @@ import { withRouter } from "react-router";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { Loader } from "asc-web-components";
|
||||
import { PageLayout } from "asc-web-common";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { store, utils as commonUtils } from "asc-web-common";
|
||||
import { changeEmail } from "../../../../store/confirm/actions";
|
||||
const { logout } = store.auth.actions;
|
||||
import { utils as commonUtils } from "asc-web-common";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const { tryRedirectTo } = commonUtils;
|
||||
|
||||
class ActivateEmail extends React.PureComponent {
|
||||
@ -47,7 +45,10 @@ const ActivateEmailForm = (props) => (
|
||||
</PageLayout>
|
||||
);
|
||||
|
||||
export default connect(null, {
|
||||
logout,
|
||||
changeEmail,
|
||||
})(withRouter(withTranslation()(ActivateEmailForm)));
|
||||
export default inject(({ auth }) => {
|
||||
const { logout, userStore } = auth;
|
||||
return {
|
||||
logout,
|
||||
changeEmail: userStore.changeEmail,
|
||||
};
|
||||
})(withRouter(withTranslation()(observer(ActivateEmailForm))));
|
||||
|
@ -11,14 +11,9 @@ import {
|
||||
} from "asc-web-components";
|
||||
import { PageLayout } from "asc-web-common";
|
||||
import styled from "styled-components";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { constants, utils as commonUtils } from "asc-web-common";
|
||||
import {
|
||||
getConfirmationInfo,
|
||||
activateConfirmUser,
|
||||
} from "../../../../store/confirm/actions";
|
||||
import { inject } from "mobx-react";
|
||||
import { constants, utils as commonUtils, api } from "asc-web-common";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { EmployeeActivationStatus } = constants;
|
||||
const { createPasswordHash, tryRedirectTo } = commonUtils;
|
||||
@ -67,6 +62,7 @@ class Confirm extends React.PureComponent {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
isConfirmLoaded: false,
|
||||
email: props.linkData.email,
|
||||
firstName: props.linkData.firstname,
|
||||
firstNameValid: true,
|
||||
@ -85,7 +81,7 @@ class Confirm extends React.PureComponent {
|
||||
|
||||
onSubmit = (e) => {
|
||||
this.setState({ isLoading: true }, function () {
|
||||
const { activateConfirmUser, hashSettings, defaultPage } = this.props;
|
||||
const { hashSettings, defaultPage } = this.props;
|
||||
|
||||
this.setState({ errorText: "" });
|
||||
|
||||
@ -127,7 +123,8 @@ class Confirm extends React.PureComponent {
|
||||
firstname: this.state.firstName,
|
||||
lastname: this.state.lastName,
|
||||
};
|
||||
activateConfirmUser(
|
||||
|
||||
this.activateConfirmUser(
|
||||
personalData,
|
||||
loginData,
|
||||
this.state.key,
|
||||
@ -145,6 +142,56 @@ class Confirm extends React.PureComponent {
|
||||
});
|
||||
};
|
||||
|
||||
activateConfirmUser = async (
|
||||
personalData,
|
||||
loginData,
|
||||
key,
|
||||
userId,
|
||||
activationStatus
|
||||
) => {
|
||||
const changedData = {
|
||||
id: userId,
|
||||
FirstName: personalData.firstname,
|
||||
LastName: personalData.lastname,
|
||||
};
|
||||
|
||||
const res1 = await api.people.changePassword(
|
||||
userId,
|
||||
loginData.passwordHash,
|
||||
key
|
||||
);
|
||||
|
||||
const res2 = await api.people.updateActivationStatus(
|
||||
activationStatus,
|
||||
userId,
|
||||
key
|
||||
);
|
||||
|
||||
//TODO: Fix working process
|
||||
// .then((data) => {
|
||||
// const promise = new Promise((resolve, reject) => {
|
||||
// setTimeout(() => {
|
||||
// login(
|
||||
// loginData.userName,
|
||||
// loginData.passwordHash
|
||||
// )(dispatch)
|
||||
// .then(() => {
|
||||
// resolve(loadInitInfo(dispatch));
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// reject(e);
|
||||
// });
|
||||
// }, 1000);
|
||||
// });
|
||||
|
||||
// return promise;
|
||||
// })
|
||||
// .then((data) => {
|
||||
// return api.people.updateUser(changedData);
|
||||
// })
|
||||
// .then((user) => dispatch(setCurrentUser(user)));
|
||||
};
|
||||
|
||||
onKeyPress = (event) => {
|
||||
if (event.key === "Enter") {
|
||||
this.onSubmit();
|
||||
@ -156,10 +203,12 @@ class Confirm extends React.PureComponent {
|
||||
validatePassword = (value) => this.setState({ passwordValid: value });
|
||||
|
||||
componentDidMount() {
|
||||
const { getConfirmationInfo, history } = this.props;
|
||||
const { getSettings, getPortalPasswordSettings, history } = this.props;
|
||||
const requests = [getSettings(), getPortalPasswordSettings(this.state.key)];
|
||||
|
||||
getConfirmationInfo(this.state.key)
|
||||
.then(function () {
|
||||
Promise.all(requests)
|
||||
.then(() => {
|
||||
this.setState({ isConfirmLoaded: true });
|
||||
console.log("get settings success");
|
||||
})
|
||||
.catch((e) => {
|
||||
@ -341,33 +390,22 @@ const ActivateUserForm = (props) => (
|
||||
</PageLayout>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
export default inject(({ auth }) => {
|
||||
const {
|
||||
greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
passwordSettings,
|
||||
getSettings,
|
||||
getPortalPasswordSettings,
|
||||
} = auth.settingsStore;
|
||||
|
||||
return {
|
||||
isConfirmLoaded: state.confirm.isConfirmLoaded,
|
||||
//settings: state.auth.settings.passwordSettings,
|
||||
//greetingTitle: state.auth.settings.greetingSettings,
|
||||
//hashSettings: state.auth.settings.hashSettings,
|
||||
//defaultPage: state.auth.settings.defaultPage,
|
||||
settings: passwordSettings,
|
||||
greetingTitle: greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
getSettings,
|
||||
getPortalPasswordSettings,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
getConfirmationInfo,
|
||||
activateConfirmUser,
|
||||
})(
|
||||
inject(({ store }) => {
|
||||
const {
|
||||
greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
passwordSettings,
|
||||
} = store.settingsStore;
|
||||
|
||||
return {
|
||||
settings: passwordSettings,
|
||||
greetingTitle: greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
};
|
||||
})(withRouter(withTranslation()(ActivateUserForm)))
|
||||
);
|
||||
})(withRouter(withTranslation()(observer(ActivateUserForm))));
|
||||
|
@ -3,10 +3,8 @@ import { withRouter } from "react-router";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { Loader } from "asc-web-components";
|
||||
import { PageLayout, utils as commonUtils } from "asc-web-common";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { changeEmail } from "../../../../store/confirm/actions";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const { tryRedirectTo } = commonUtils;
|
||||
|
||||
class ChangeEmail extends React.PureComponent {
|
||||
@ -65,16 +63,13 @@ const ChangeEmailForm = (props) => (
|
||||
</PageLayout>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
export default inject(({ auth }) => {
|
||||
const { logout, userStore, settingsStore, isLoaded } = auth;
|
||||
return {
|
||||
isLoaded: state.auth.isLoaded,
|
||||
userId: state.auth.user.id,
|
||||
//defaultPage: state.auth.settings.defaultPage,
|
||||
isLoaded,
|
||||
userId: userStore.user.id,
|
||||
logout,
|
||||
changeEmail: userStore.changeEmail,
|
||||
defaultPage: settingsStore.defaultPage,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, { changeEmail })(
|
||||
inject(({ store }) => ({
|
||||
defaultPage: store.settingsStore.defaultPage,
|
||||
}))(withRouter(withTranslation()(ChangeEmailForm)))
|
||||
);
|
||||
})(observer(withRouter(withTranslation()(ChangeEmailForm))));
|
||||
|
@ -4,7 +4,7 @@ import { withTranslation } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
import { Button, Text, toastr } from "asc-web-components";
|
||||
import { PageLayout, utils as commonUtils } from "asc-web-common";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const { tryRedirectTo } = commonUtils;
|
||||
|
||||
const BodyStyle = styled.div`
|
||||
@ -133,7 +133,7 @@ const ChangeOwnerForm = (props) => (
|
||||
// };
|
||||
// }
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
greetingTitle: store.settingsStore.greetingSettings,
|
||||
defaultPage: store.settingsStore.defaultPage,
|
||||
}))(withRouter(withTranslation()(ChangeOwnerForm)));
|
||||
export default inject(({ auth }) => ({
|
||||
greetingTitle: auth.settingsStore.greetingSettings,
|
||||
defaultPage: auth.settingsStore.defaultPage,
|
||||
}))(withRouter(withTranslation()(observer(ChangeOwnerForm))));
|
||||
|
@ -1,7 +1,6 @@
|
||||
import React from "react";
|
||||
import { withRouter } from "react-router";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import styled from "styled-components";
|
||||
import {
|
||||
@ -13,15 +12,11 @@ import {
|
||||
Heading,
|
||||
} from "asc-web-components";
|
||||
import { PageLayout } from "asc-web-common";
|
||||
import { store, utils as commonUtils } from "asc-web-common";
|
||||
import {
|
||||
getConfirmationInfo,
|
||||
changePassword,
|
||||
} from "../../../../store/confirm/actions";
|
||||
import { inject } from "mobx-react";
|
||||
import { utils as commonUtils, api } from "asc-web-common";
|
||||
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { createPasswordHash, tryRedirectTo } = commonUtils;
|
||||
const { logout /* , getPortalSettings */ } = store.auth.actions;
|
||||
|
||||
const BodyStyle = styled.form`
|
||||
margin: 70px auto 0 auto;
|
||||
@ -50,9 +45,10 @@ class Form extends React.PureComponent {
|
||||
const { linkData } = props;
|
||||
|
||||
this.state = {
|
||||
isConfirmLoaded: false,
|
||||
password: "",
|
||||
passwordValid: true,
|
||||
isValidConfirmLink: false,
|
||||
// isValidConfirmLink: false,
|
||||
isLoading: false,
|
||||
passwordEmpty: false,
|
||||
key: linkData.confirmHeader,
|
||||
@ -76,7 +72,7 @@ class Form extends React.PureComponent {
|
||||
onSubmit = (e) => {
|
||||
this.setState({ isLoading: true }, function () {
|
||||
const { userId, password, key } = this.state;
|
||||
const { changePassword, hashSettings, defaultPage } = this.props;
|
||||
const { hashSettings, defaultPage } = this.props;
|
||||
let hasError = false;
|
||||
|
||||
if (!this.state.passwordValid) {
|
||||
@ -92,7 +88,8 @@ class Form extends React.PureComponent {
|
||||
}
|
||||
const hash = createPasswordHash(password, hashSettings);
|
||||
|
||||
changePassword(userId, hash, key)
|
||||
api.people
|
||||
.changePassword(userId, hash, key)
|
||||
.then(() => this.props.logout())
|
||||
.then(() => {
|
||||
toastr.success(this.props.t("ChangePasswordSuccess"));
|
||||
@ -106,11 +103,19 @@ class Form extends React.PureComponent {
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
const { getConfirmationInfo, defaultPage } = this.props;
|
||||
getConfirmationInfo(this.state.key).catch((error) => {
|
||||
toastr.error(this.props.t(`${error}`));
|
||||
tryRedirectTo(defaultPage);
|
||||
});
|
||||
const { defaultPage, getSettings, getPortalPasswordSettings } = this.props;
|
||||
|
||||
const requests = [getSettings(), getPortalPasswordSettings(this.state.key)];
|
||||
|
||||
Promise.all(requests)
|
||||
.then(() => {
|
||||
this.setState({ isConfirmLoaded: true });
|
||||
console.log("get settings success");
|
||||
})
|
||||
.catch((error) => {
|
||||
toastr.error(this.props.t(`${error}`));
|
||||
tryRedirectTo(defaultPage);
|
||||
});
|
||||
|
||||
window.addEventListener("keydown", this.onKeyPress);
|
||||
window.addEventListener("keyup", this.onKeyPress);
|
||||
@ -209,35 +214,24 @@ const ChangePasswordForm = (props) => (
|
||||
</PageLayout>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isValidConfirmLink: state.auth.isValidConfirmLink,
|
||||
isConfirmLoaded: state.confirm.isConfirmLoaded,
|
||||
isAuthenticated: state.auth.isAuthenticated,
|
||||
//settings: state.auth.settings.passwordSettings,
|
||||
//greetingTitle: state.auth.settings.greetingSettings,
|
||||
//hashSettings: state.auth.settings.hashSettings,
|
||||
//defaultPage: state.auth.settings.defaultPage,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
changePassword,
|
||||
getConfirmationInfo,
|
||||
logout,
|
||||
});
|
||||
|
||||
inject(({ store }) => {
|
||||
export default inject(({ auth }) => {
|
||||
const { settingsStore, logout, isAuthenticated } = auth;
|
||||
const {
|
||||
greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
passwordSettings,
|
||||
} = store.settingsStore;
|
||||
getSettings,
|
||||
getPortalPasswordSettings,
|
||||
} = settingsStore;
|
||||
return {
|
||||
settings: passwordSettings,
|
||||
hashSettings,
|
||||
greetingTitle: greetingSettings,
|
||||
defaultPage,
|
||||
logout,
|
||||
isAuthenticated,
|
||||
getSettings,
|
||||
getPortalPasswordSettings,
|
||||
};
|
||||
})(withRouter(withTranslation()(ChangePasswordForm)));
|
||||
})(withRouter(withTranslation()(observer(ChangePasswordForm))));
|
||||
|
@ -1,11 +1,10 @@
|
||||
import React, { useState } from "react";
|
||||
import { withRouter } from "react-router";
|
||||
import { connect } from "react-redux";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
import { Button, TextInput, Text } from "asc-web-components";
|
||||
import { PageLayout } from "asc-web-common";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const BodyStyle = styled.div`
|
||||
margin: 70px auto 0 auto;
|
||||
@ -120,16 +119,8 @@ const ChangePhoneForm = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isLoaded: state.auth.isLoaded,
|
||||
currentPhone: state.auth.user.mobilePhone,
|
||||
//greetingTitle: state.auth.settings.greetingSettings,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps)(
|
||||
inject(({ store }) => ({
|
||||
greetingTitle: store.settingsStore.greetingSettings,
|
||||
}))(withRouter(withTranslation()(ChangePhoneForm)))
|
||||
);
|
||||
export default inject(({ auth }) => ({
|
||||
isLoaded: auth.isLoaded,
|
||||
currentPhone: auth.userStore.mobilePhone,
|
||||
greetingTitle: auth.settingsStore.greetingSettings,
|
||||
}))(withRouter(withTranslation()(observer(ChangePhoneForm))));
|
||||
|
@ -11,16 +11,11 @@ import {
|
||||
EmailInput,
|
||||
} from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { store, PageLayout, utils as commonUtils } from "asc-web-common";
|
||||
import {
|
||||
getConfirmationInfo,
|
||||
createConfirmUser,
|
||||
} from "../../../../store/confirm/actions";
|
||||
import { inject } from "mobx-react";
|
||||
import { api, PageLayout, utils as commonUtils } from "asc-web-common";
|
||||
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { logout, login } = store.auth.actions;
|
||||
const { createPasswordHash, tryRedirectTo } = commonUtils;
|
||||
const inputWidth = "400px";
|
||||
|
||||
@ -66,6 +61,7 @@ class Confirm extends React.PureComponent {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
isConfirmLoaded: false,
|
||||
email: "",
|
||||
emailValid: true,
|
||||
firstName: "",
|
||||
@ -91,12 +87,7 @@ class Confirm extends React.PureComponent {
|
||||
|
||||
onSubmit = () => {
|
||||
this.setState({ isLoading: true }, () => {
|
||||
const {
|
||||
defaultPage,
|
||||
createConfirmUser,
|
||||
linkData,
|
||||
hashSettings,
|
||||
} = this.props;
|
||||
const { defaultPage, linkData, hashSettings } = this.props;
|
||||
const isVisitor = parseInt(linkData.emplType) === 2;
|
||||
|
||||
this.setState({ errorText: "" });
|
||||
@ -146,7 +137,7 @@ class Confirm extends React.PureComponent {
|
||||
isVisitor: isVisitor,
|
||||
});
|
||||
|
||||
createConfirmUser(registerData, loginData, this.state.key)
|
||||
this.createConfirmUser(registerData, loginData, this.state.key)
|
||||
.then(() => {
|
||||
toastr.success("User has been created successfully");
|
||||
tryRedirectTo(defaultPage);
|
||||
@ -161,6 +152,41 @@ class Confirm extends React.PureComponent {
|
||||
});
|
||||
};
|
||||
|
||||
createConfirmUser = async (registerData, loginData, key) => {
|
||||
const data = Object.assign(
|
||||
{ fromInviteLink: true },
|
||||
registerData,
|
||||
loginData
|
||||
);
|
||||
|
||||
const user = await api.people.createUser(data, key);
|
||||
|
||||
return user;
|
||||
|
||||
//TODO: Fix working process
|
||||
// dispatch(setCurrentUser(user));
|
||||
// })
|
||||
// .then(() => {
|
||||
// const promise = new Promise((resolve, reject) => {
|
||||
// setTimeout(() => {
|
||||
// login(
|
||||
// loginData.userName,
|
||||
// loginData.passwordHash
|
||||
// )(dispatch)
|
||||
// .then(() => {
|
||||
// resolve(loadInitInfo(dispatch));
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// reject(e);
|
||||
// });
|
||||
// }, 1000);
|
||||
// });
|
||||
|
||||
// return promise;
|
||||
// });
|
||||
// };
|
||||
};
|
||||
|
||||
onKeyPress = (event) => {
|
||||
if (event.key === "Enter") {
|
||||
this.onSubmit();
|
||||
@ -172,12 +198,19 @@ class Confirm extends React.PureComponent {
|
||||
validatePassword = (value) => this.setState({ passwordValid: value });
|
||||
|
||||
componentDidMount() {
|
||||
const { getConfirmationInfo, history } = this.props;
|
||||
const { history, getSettings, getPortalPasswordSettings } = this.props;
|
||||
|
||||
getConfirmationInfo(this.state.key).catch((e) => {
|
||||
console.error("get settings error", e);
|
||||
history.push(`/login/error=${e}`);
|
||||
});
|
||||
const requests = [getSettings(), getPortalPasswordSettings(this.state.key)];
|
||||
|
||||
Promise.all(requests)
|
||||
.then(() => {
|
||||
this.setState({ isConfirmLoaded: true });
|
||||
console.log("get settings success");
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error("get settings error", e);
|
||||
history.push(`/login/error=${e}`);
|
||||
});
|
||||
|
||||
window.addEventListener("keydown", this.onKeyPress);
|
||||
window.addEventListener("keyup", this.onKeyPress);
|
||||
@ -355,8 +388,6 @@ class Confirm extends React.PureComponent {
|
||||
}
|
||||
|
||||
Confirm.propTypes = {
|
||||
getConfirmationInfo: PropTypes.func.isRequired,
|
||||
createConfirmUser: PropTypes.func.isRequired,
|
||||
location: PropTypes.object.isRequired,
|
||||
history: PropTypes.object.isRequired,
|
||||
};
|
||||
@ -368,35 +399,26 @@ const CreateUserForm = (props) => (
|
||||
</PageLayout>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isConfirmLoaded: state.confirm.isConfirmLoaded,
|
||||
isAuthenticated: state.auth.isAuthenticated,
|
||||
//settings: state.auth.settings.passwordSettings,
|
||||
//greetingTitle: state.auth.settings.greetingSettings,
|
||||
//hashSettings: state.auth.settings.hashSettings,
|
||||
//defaultPage: state.auth.settings.defaultPage,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
getConfirmationInfo,
|
||||
createConfirmUser,
|
||||
login,
|
||||
logout,
|
||||
});
|
||||
inject(({ store }) => {
|
||||
export default inject(({ auth }) => {
|
||||
const { login, logout, isAuthenticated, settingsStore } = auth;
|
||||
const {
|
||||
passwordSettings,
|
||||
greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
} = store.settingsStore.settings;
|
||||
getSettings,
|
||||
getPortalPasswordSettings,
|
||||
} = settingsStore;
|
||||
|
||||
return {
|
||||
settings: passwordSettings,
|
||||
greetingTitle: greetingSettings,
|
||||
hashSettings,
|
||||
defaultPage,
|
||||
isAuthenticated,
|
||||
login,
|
||||
logout,
|
||||
getSettings,
|
||||
getPortalPasswordSettings,
|
||||
};
|
||||
})(withRouter(withTranslation()(CreateUserForm)));
|
||||
})(withRouter(withTranslation()(observer(CreateUserForm))));
|
||||
|
@ -1,15 +1,13 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
import { Button, Text } from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import PropTypes from "prop-types";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { store, api, PageLayout } from "asc-web-common";
|
||||
import { inject } from "mobx-react";
|
||||
import { api, PageLayout } from "asc-web-common";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { logout } = store.auth.actions;
|
||||
const { deleteSelf } = api.people;
|
||||
const { deleteSelf } = api.people; //TODO: Move inside UserStore
|
||||
|
||||
const ProfileRemoveContainer = styled.div`
|
||||
display: flex;
|
||||
@ -119,14 +117,7 @@ const ProfileRemoveForm = (props) => (
|
||||
</PageLayout>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
greetingTitle: state.auth.settings.greetingSettings,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, { logout })(
|
||||
inject(({ store }) => ({
|
||||
greetingTitle: store.settingsStore.greetingSettings,
|
||||
}))(withRouter(withTranslation()(ProfileRemoveForm)))
|
||||
);
|
||||
export default inject(({ auth }) => ({
|
||||
greetingTitle: auth.settingsStore.greetingSettings,
|
||||
logout: auth.logout,
|
||||
}))(withRouter(withTranslation()(observer(ProfileRemoveForm))));
|
||||
|
@ -123,8 +123,8 @@ Home.propTypes = {
|
||||
defaultPage: PropTypes.string,
|
||||
};
|
||||
|
||||
export default inject(({ store }) => {
|
||||
const { isLoaded, settingsStore, moduleStore } = store;
|
||||
export default inject(({ auth }) => {
|
||||
const { isLoaded, settingsStore, moduleStore } = auth;
|
||||
const { defaultPage } = settingsStore;
|
||||
const { modules } = moduleStore;
|
||||
return {
|
||||
|
@ -1,9 +1,9 @@
|
||||
import React from "react";
|
||||
|
||||
import { withRouter } from "react-router";
|
||||
import { connect } from "react-redux";
|
||||
import PaymentsEnterprise from "../PaymentsEnterprise";
|
||||
import PaymentsSaaS from "../PaymentsSaaS";
|
||||
import { inject, observer } from "mobx-react";
|
||||
class Payments extends React.Component {
|
||||
render() {
|
||||
const { standaloneMode } = this.props;
|
||||
@ -11,10 +11,6 @@ class Payments extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
standaloneMode: state.payments.standaloneMode,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps)(withRouter(Payments));
|
||||
export default inject(({ payments }) => ({
|
||||
standaloneMode: payments.standaloneMode,
|
||||
}))(withRouter(observer(Payments)));
|
||||
|
@ -3,21 +3,20 @@ import { PageLayout, utils, store } from "asc-web-common";
|
||||
import { Loader, utils as Utils } from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import { withRouter } from "react-router";
|
||||
import { connect } from "react-redux";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import PropTypes from "prop-types";
|
||||
import HeaderContainer from "./sub-components/headerContainer";
|
||||
import AdvantagesContainer from "./sub-components/advantagesContainer";
|
||||
import ButtonContainer from "./sub-components/buttonContainer";
|
||||
import ContactContainer from "./sub-components/contactContainer";
|
||||
import { getSettingsPayment } from "../../../store/payments/actions";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
import { setDocumentTitle } from "../../../helpers/utils";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const i18n = createI18N({
|
||||
page: "PaymentsEnterprise",
|
||||
localesPath: "pages/PaymentsEnterprise",
|
||||
});
|
||||
const { setCurrentProductId } = store.auth.actions;
|
||||
|
||||
const { changeLanguage } = utils;
|
||||
const { tablet, size } = Utils.device;
|
||||
|
||||
@ -91,13 +90,13 @@ PaymentsEnterprise.propTypes = {
|
||||
isLoaded: PropTypes.bool,
|
||||
};
|
||||
|
||||
function mapStateToProps({ auth }) {
|
||||
const { isLoaded } = auth;
|
||||
export default inject(({ auth, payments }) => {
|
||||
const { isLoaded, settingsStore } = auth;
|
||||
const { getSettingsPayment } = payments;
|
||||
const { setCurrentProductId } = settingsStore;
|
||||
return {
|
||||
isLoaded,
|
||||
setCurrentProductId,
|
||||
getSettingsPayment,
|
||||
};
|
||||
}
|
||||
export default connect(mapStateToProps, {
|
||||
setCurrentProductId,
|
||||
getSettingsPayment,
|
||||
})(withRouter(PaymentsEnterprise));
|
||||
})(withRouter(observer(PaymentsEnterprise)));
|
||||
|
@ -128,6 +128,6 @@ const AdvantagesContainer = ({ organizationName }) => {
|
||||
// };
|
||||
// }
|
||||
|
||||
export default inject(({ store }) => ({
|
||||
organizationName: store.settingsStore.organizationName,
|
||||
export default inject(({ auth }) => ({
|
||||
organizationName: auth.settingsStore.organizationName,
|
||||
}))(AdvantagesContainer);
|
||||
|
@ -1,13 +1,12 @@
|
||||
import React, { useEffect, createRef } from "react";
|
||||
import styled from "styled-components";
|
||||
import PropTypes from "prop-types";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
import { Button, utils as Utils, toastr } from "asc-web-components";
|
||||
import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import { createI18N } from "../../../../helpers/i18n";
|
||||
import { utils } from "asc-web-common";
|
||||
import { setPaymentsLicense } from "../../../../store/payments/actions";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const { changeLanguage } = utils;
|
||||
const { tablet } = Utils.device;
|
||||
const i18n = createI18N({
|
||||
@ -114,12 +113,11 @@ const ButtonContainer = (props) => {
|
||||
ButtonContainer.propTypes = {
|
||||
buyUrl: PropTypes.string,
|
||||
};
|
||||
function mapStateToProps(state) {
|
||||
const { buyUrl } = state.payments;
|
||||
|
||||
export default inject(({ payments }) => {
|
||||
const { buyUrl, setPaymentsLicense } = payments;
|
||||
return {
|
||||
buyUrl,
|
||||
setPaymentsLicense,
|
||||
};
|
||||
}
|
||||
export default connect(mapStateToProps, { setPaymentsLicense })(
|
||||
ButtonContainer
|
||||
);
|
||||
})(withRouter(observer(ButtonContainer)));
|
||||
|
@ -1,12 +1,12 @@
|
||||
import React, { useEffect } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import styled from "styled-components";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
import { Text, Link } from "asc-web-components";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { createI18N } from "../../../../helpers/i18n";
|
||||
import { utils } from "asc-web-common";
|
||||
import { inject, observer } from "mobx-react";
|
||||
const { changeLanguage } = utils;
|
||||
|
||||
const i18n = createI18N({
|
||||
@ -51,10 +51,10 @@ ContactContainer.propTypes = {
|
||||
helpUrl: PropTypes.string,
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
export default inject(({ payments }) => {
|
||||
const { salesEmail, helpUrl } = payments;
|
||||
return {
|
||||
salesEmail: state.payments.salesEmail,
|
||||
helpUrl: state.payments.helpUrl,
|
||||
salesEmail,
|
||||
helpUrl,
|
||||
};
|
||||
}
|
||||
export default connect(mapStateToProps)(withRouter(ContactContainer));
|
||||
})(withRouter(observer(ContactContainer)));
|
||||
|
@ -1,7 +1,6 @@
|
||||
import React, { useEffect } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import styled from "styled-components";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
import { Text } from "asc-web-components";
|
||||
import { utils } from "asc-web-common";
|
||||
@ -9,7 +8,7 @@ import { utils } from "asc-web-common";
|
||||
import { useTranslation, Trans } from "react-i18next";
|
||||
import { createI18N } from "../../../../helpers/i18n";
|
||||
import moment from "moment";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { changeLanguage } = utils;
|
||||
|
||||
@ -106,22 +105,14 @@ HeaderContainer.propTypes = {
|
||||
expiresDate: PropTypes.object,
|
||||
trialMode: PropTypes.bool,
|
||||
};
|
||||
function mapStateToProps({ auth, payments }) {
|
||||
//const { culture, organizationName } = auth.settings;
|
||||
const { expiresDate, trialMode } = payments.currentLicense;
|
||||
return {
|
||||
//culture,
|
||||
expiresDate,
|
||||
trialMode,
|
||||
//organizationName,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps);
|
||||
inject(({ store }) => {
|
||||
const { organizationName, culture } = store.settingsStore;
|
||||
export default inject(({ auth, payments }) => {
|
||||
const { organizationName, culture } = auth.settingsStore;
|
||||
const { expiresDate, trialMode } = payments;
|
||||
return {
|
||||
organizationName,
|
||||
culture,
|
||||
expiresDate,
|
||||
trialMode,
|
||||
};
|
||||
})(withRouter(HeaderContainer));
|
||||
})(withRouter(observer(HeaderContainer)));
|
||||
|
@ -1,21 +1,20 @@
|
||||
import React, { useEffect } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { PageLayout } from "asc-web-common";
|
||||
import { I18nextProvider } from "react-i18next";
|
||||
import { ArticleHeaderContent, ArticleBodyContent } from "./Article";
|
||||
import { SectionHeaderContent } from "./Section";
|
||||
import { store, utils } from "asc-web-common";
|
||||
import { utils } from "asc-web-common";
|
||||
|
||||
import { createI18N } from "../../../../helpers/i18n";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const i18n = createI18N({
|
||||
page: "Settings",
|
||||
localesPath: "pages/Settings",
|
||||
});
|
||||
|
||||
const { setCurrentProductId } = store.auth.actions;
|
||||
const { changeLanguage } = utils;
|
||||
const { getLanguage } = store.auth.selectors;
|
||||
|
||||
const Layout = ({
|
||||
currentProductId,
|
||||
setCurrentProductId,
|
||||
@ -48,10 +47,10 @@ const Layout = ({
|
||||
);
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
export default inject(({ auth }) => {
|
||||
const { language, settingsStore } = auth;
|
||||
return {
|
||||
language: getLanguage(state),
|
||||
language,
|
||||
setCurrentProductId: settingsStore.setCurrentProductId,
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, { setCurrentProductId })(Layout);
|
||||
})(observer(Layout));
|
||||
|
@ -1,5 +1,4 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import {
|
||||
FieldContainer,
|
||||
@ -10,13 +9,9 @@ import {
|
||||
SaveCancelButtons,
|
||||
} from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import {
|
||||
setGreetingTitle,
|
||||
restoreGreetingTitle,
|
||||
} from "../../../../../store/settings/actions";
|
||||
import { saveToSessionStorage, getFromSessionStorage } from "../../utils";
|
||||
import { setDocumentTitle } from "../../../../../helpers/utils";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const StyledComponent = styled.div`
|
||||
.margin-top {
|
||||
@ -249,34 +244,13 @@ class CustomTitles extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// const { greetingSettings, organizationName } = state.auth.settings;
|
||||
// return {
|
||||
// greetingSettings,
|
||||
// organizationName,
|
||||
// };
|
||||
// }
|
||||
|
||||
// const CustomTitlesWrapper = observer((props) => {
|
||||
// const { greetingSettings, organizationName } = settingsStore;
|
||||
// return (
|
||||
// <CustomTitles
|
||||
// greetingSettings={greetingSettings}
|
||||
// organizationName={organizationName}
|
||||
// {...props}
|
||||
// />
|
||||
// );
|
||||
// });
|
||||
|
||||
export default connect(null /* mapStateToProps */, {
|
||||
setGreetingTitle,
|
||||
restoreGreetingTitle,
|
||||
});
|
||||
|
||||
inject(({ store }) => {
|
||||
const { greetingSettings, organizationName } = store.settingsStore;
|
||||
export default inject(({ auth, setup }) => {
|
||||
const { greetingSettings, organizationName } = auth.settingsStore;
|
||||
const { setGreetingTitle, restoreGreetingTitle } = setup;
|
||||
return {
|
||||
greetingSettings,
|
||||
organizationName,
|
||||
setGreetingTitle,
|
||||
restoreGreetingTitle,
|
||||
};
|
||||
})(withTranslation()(CustomTitles));
|
||||
})(withTranslation()(observer(CustomTitles)));
|
||||
|
@ -1,23 +1,12 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { Text, Loader, toastr, Link, Icons } from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import { store, utils } from "asc-web-common";
|
||||
import {
|
||||
setLanguageAndTime,
|
||||
getPortalTimezones,
|
||||
} from "../../../../../store/settings/actions";
|
||||
import { default as clientStore } from "../../../../../store/store";
|
||||
import { utils } from "asc-web-common";
|
||||
import { setDocumentTitle } from "../../../../../helpers/utils";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const { changeLanguage } = utils;
|
||||
const {
|
||||
getPortalCultures,
|
||||
//getModules,
|
||||
getCurrentCustomSchema,
|
||||
} = store.auth.actions;
|
||||
|
||||
const mapCulturesToArray = (cultures, t) => {
|
||||
return cultures.map((culture) => {
|
||||
@ -158,7 +147,7 @@ class Customization extends React.Component {
|
||||
|
||||
componentDidUpdate(prevProps, prevState) {
|
||||
const { timezones, languages } = this.state;
|
||||
const { i18n, language, nameSchemaId } = this.props;
|
||||
const { i18n, language, nameSchemaId, getCurrentCustomSchema } = this.props;
|
||||
|
||||
if (timezones.length && languages.length && !prevState.isLoadedData) {
|
||||
this.setState({ isLoadedData: true });
|
||||
@ -182,7 +171,7 @@ class Customization extends React.Component {
|
||||
});
|
||||
})
|
||||
//.then(() => getModules(clientStore.dispatch))
|
||||
.then(() => getCurrentCustomSchema(clientStore.dispatch, nameSchemaId));
|
||||
.then(() => getCurrentCustomSchema(nameSchemaId));
|
||||
}
|
||||
}
|
||||
|
||||
@ -270,33 +259,7 @@ class Customization extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// const {
|
||||
// culture,
|
||||
// timezone,
|
||||
// timezones,
|
||||
// cultures,
|
||||
// nameSchemaId,
|
||||
// organizationName,
|
||||
// } = state.auth.settings;
|
||||
// return {
|
||||
// portalLanguage: culture,
|
||||
// portalTimeZoneId: timezone,
|
||||
// language: getLanguage(state),
|
||||
// rawTimezones: timezones,
|
||||
// rawCultures: cultures,
|
||||
// nameSchemaId: nameSchemaId,
|
||||
// organizationName,
|
||||
// };
|
||||
// }
|
||||
|
||||
export default connect(null, {
|
||||
getPortalCultures,
|
||||
setLanguageAndTime,
|
||||
getPortalTimezones,
|
||||
});
|
||||
|
||||
inject(({ store }) => {
|
||||
export default inject(({ auth, setup }) => {
|
||||
const {
|
||||
culture,
|
||||
timezone,
|
||||
@ -304,14 +267,24 @@ inject(({ store }) => {
|
||||
cultures,
|
||||
nameSchemaId,
|
||||
organizationName,
|
||||
} = store.settingsStore;
|
||||
getPortalCultures,
|
||||
getCurrentCustomSchema,
|
||||
getPortalTimezones,
|
||||
} = auth.settingsStore;
|
||||
|
||||
const { setLanguageAndTime } = setup;
|
||||
|
||||
return {
|
||||
portalLanguage: culture,
|
||||
language: culture || "en-US",
|
||||
language: culture,
|
||||
portalTimeZoneId: timezone,
|
||||
rawTimezones: timezones,
|
||||
rawCultures: cultures,
|
||||
nameSchemaId,
|
||||
organizationName,
|
||||
getPortalCultures,
|
||||
setLanguageAndTime,
|
||||
getPortalTimezones,
|
||||
getCurrentCustomSchema,
|
||||
};
|
||||
})(withTranslation()(Customization));
|
||||
})(withTranslation()(observer(Customization)));
|
||||
|
@ -1,5 +1,4 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import {
|
||||
FieldContainer,
|
||||
@ -12,23 +11,11 @@ import {
|
||||
} from "asc-web-components";
|
||||
import styled from "styled-components";
|
||||
import { Trans } from "react-i18next";
|
||||
import { store, utils } from "asc-web-common";
|
||||
import {
|
||||
setLanguageAndTime,
|
||||
getPortalTimezones,
|
||||
} from "../../../../../store/settings/actions";
|
||||
import { saveToSessionStorage, getFromSessionStorage } from "../../utils";
|
||||
import { default as clientStore } from "../../../../../store/store";
|
||||
import { setDocumentTitle } from "../../../../../helpers/utils";
|
||||
import { inject } from "mobx-react";
|
||||
|
||||
const { getLanguage } = store.auth.selectors;
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { utils } from "asc-web-common";
|
||||
const { changeLanguage } = utils;
|
||||
const {
|
||||
getPortalCultures,
|
||||
//getModules,
|
||||
getCurrentCustomSchema,
|
||||
} = store.auth.actions;
|
||||
|
||||
const mapCulturesToArray = (cultures, t) => {
|
||||
return cultures.map((culture) => {
|
||||
@ -193,7 +180,7 @@ class LanguageAndTimeZone extends React.Component {
|
||||
timezoneDefault,
|
||||
languageDefault,
|
||||
} = this.state;
|
||||
const { i18n, language, nameSchemaId } = this.props;
|
||||
const { i18n, language, nameSchemaId, getCurrentCustomSchema } = this.props;
|
||||
if (timezones.length && languages.length && !prevState.isLoadedData) {
|
||||
this.setState({ isLoadedData: true });
|
||||
}
|
||||
@ -215,7 +202,7 @@ class LanguageAndTimeZone extends React.Component {
|
||||
});
|
||||
})
|
||||
//.then(() => getModules(clientStore.dispatch))
|
||||
.then(() => getCurrentCustomSchema(clientStore.dispatch, nameSchemaId));
|
||||
.then(() => getCurrentCustomSchema(nameSchemaId));
|
||||
}
|
||||
if (timezoneDefault && languageDefault) {
|
||||
this.checkChanges();
|
||||
@ -403,35 +390,7 @@ class LanguageAndTimeZone extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// const {
|
||||
// culture,
|
||||
// timezone,
|
||||
// timezones,
|
||||
// cultures,
|
||||
// greetingSettings,
|
||||
// nameSchemaId,
|
||||
// organizationName,
|
||||
// } = state.auth.settings;
|
||||
// return {
|
||||
// portalLanguage: culture,
|
||||
// portalTimeZoneId: timezone,
|
||||
// language: getLanguage(state),
|
||||
// rawTimezones: timezones,
|
||||
// rawCultures: cultures,
|
||||
// greetingSettings,
|
||||
// nameSchemaId,
|
||||
// organizationName,
|
||||
// };
|
||||
// }
|
||||
|
||||
export default connect(null, {
|
||||
getPortalCultures,
|
||||
setLanguageAndTime,
|
||||
getPortalTimezones,
|
||||
});
|
||||
|
||||
inject(({ store }) => {
|
||||
export default inject(({ auth, setup }) => {
|
||||
const {
|
||||
culture,
|
||||
timezone,
|
||||
@ -440,15 +399,25 @@ inject(({ store }) => {
|
||||
nameSchemaId,
|
||||
organizationName,
|
||||
greetingSettings,
|
||||
} = store.settingsStore;
|
||||
getPortalCultures,
|
||||
getPortalTimezones,
|
||||
getCurrentCustomSchema,
|
||||
} = auth.settingsStore;
|
||||
|
||||
const { setLanguageAndTime } = setup;
|
||||
|
||||
return {
|
||||
portalLanguage: culture,
|
||||
portalTimeZoneId: timezone,
|
||||
language: culture || "en-US",
|
||||
language: culture,
|
||||
rawTimezones: timezones,
|
||||
rawCultures: cultures,
|
||||
greetingSettings,
|
||||
nameSchemaId,
|
||||
organizationName,
|
||||
getPortalCultures,
|
||||
setLanguageAndTime,
|
||||
getCurrentCustomSchema,
|
||||
getPortalTimezones,
|
||||
};
|
||||
})(withTranslation()(LanguageAndTimeZone));
|
||||
})(withTranslation()(observer(LanguageAndTimeZone)));
|
||||
|
@ -1,5 +1,5 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
|
||||
import { withTranslation, Trans } from "react-i18next";
|
||||
import {
|
||||
FieldContainer,
|
||||
@ -10,12 +10,8 @@ import {
|
||||
Link,
|
||||
TextInput,
|
||||
} from "asc-web-components";
|
||||
import {
|
||||
getWhiteLabelLogoText,
|
||||
getWhiteLabelLogoSizes,
|
||||
getWhiteLabelLogoUrls,
|
||||
} from "../../../../../store/settings/actions";
|
||||
import styled from "styled-components";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const StyledComponent = styled.div`
|
||||
.margin-top {
|
||||
@ -469,16 +465,22 @@ class WhiteLabel extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
logoText: state.settings.common.whiteLabel.logoText,
|
||||
rawSizes: state.settings.common.whiteLabel.logoSizes,
|
||||
logoUrls: state.settings.common.whiteLabel.logoUrls,
|
||||
};
|
||||
}
|
||||
export default inject(({ setup }) => {
|
||||
const {
|
||||
common,
|
||||
getWhiteLabelLogoText,
|
||||
getWhiteLabelLogoSizes,
|
||||
getWhiteLabelLogoUrls,
|
||||
} = setup;
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
getWhiteLabelLogoText,
|
||||
getWhiteLabelLogoSizes,
|
||||
getWhiteLabelLogoUrls,
|
||||
})(withTranslation()(WhiteLabel));
|
||||
const { logoText, logoSizes: rawSizes, logoUrls } = common.whiteLabel;
|
||||
|
||||
return {
|
||||
logoText,
|
||||
rawSizes,
|
||||
logoUrls,
|
||||
getWhiteLabelLogoText,
|
||||
getWhiteLabelLogoSizes,
|
||||
getWhiteLabelLogoUrls,
|
||||
};
|
||||
})(withTranslation()(observer(WhiteLabel)));
|
||||
|
@ -11,14 +11,8 @@ import {
|
||||
} from "asc-web-components";
|
||||
import ModalDialogContainer from "./modalDialogContainer";
|
||||
import { Trans } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
import {
|
||||
getSelectedConsumer,
|
||||
getConsumerInstruction,
|
||||
} from "../../../../../../store/settings/selectors";
|
||||
import { store as commonStore } from "asc-web-common";
|
||||
|
||||
const { getUrlSupport, getUrlAuthKeys } = commonStore.auth.selectors;
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { format } from "react-string-format";
|
||||
|
||||
class ConsumerModalDialog extends React.Component {
|
||||
constructor(props) {
|
||||
@ -88,8 +82,12 @@ class ConsumerModalDialog extends React.Component {
|
||||
this.mapTokenNameToState();
|
||||
}
|
||||
|
||||
consumerInstruction =
|
||||
this.props.selectedConsumer.instruction &&
|
||||
format(this.props.selectedConsumer.instruction, <Box marginProp="4px 0" />);
|
||||
|
||||
bodyDescription = (
|
||||
<Box marginProp={`${this.props.consumerInstruction ? "44px" : 0} 0 16px 0`}>
|
||||
<Box marginProp={`${this.consumerInstruction ? "44px" : 0} 0 16px 0`}>
|
||||
<Box marginProp="0 0 16px 0">
|
||||
<Text as="div" isBold fontSize="15px">
|
||||
{this.props.t("ThirdPartyHowItWorks")}
|
||||
@ -131,7 +129,6 @@ class ConsumerModalDialog extends React.Component {
|
||||
render() {
|
||||
const {
|
||||
selectedConsumer,
|
||||
consumerInstruction,
|
||||
onModalClose,
|
||||
dialogVisible,
|
||||
isLoading,
|
||||
@ -141,6 +138,7 @@ class ConsumerModalDialog extends React.Component {
|
||||
state,
|
||||
onChangeHandler,
|
||||
updateConsumerValues,
|
||||
consumerInstruction,
|
||||
bodyDescription,
|
||||
bottomDescription,
|
||||
} = this;
|
||||
@ -215,13 +213,15 @@ ConsumerModalDialog.propTypes = {
|
||||
urlSupport: PropTypes.string,
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
return {
|
||||
selectedConsumer: getSelectedConsumer(state),
|
||||
consumerInstruction: getConsumerInstruction(state),
|
||||
urlSupport: getUrlSupport(state),
|
||||
urlAuthKeys: getUrlAuthKeys(state),
|
||||
};
|
||||
};
|
||||
export default inject(({ setup, auth }) => {
|
||||
const { settingsStore } = auth;
|
||||
const { urlAuthKeys, urlSupport } = settingsStore;
|
||||
const { integration } = setup;
|
||||
const { selectedConsumer } = integration;
|
||||
|
||||
export default connect(mapStateToProps, null)(ConsumerModalDialog);
|
||||
return {
|
||||
selectedConsumer,
|
||||
urlSupport,
|
||||
urlAuthKeys,
|
||||
};
|
||||
})(observer(ConsumerModalDialog));
|
||||
|
@ -1,22 +1,13 @@
|
||||
import React from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { connect } from "react-redux";
|
||||
import {
|
||||
getConsumers,
|
||||
setSelectedConsumer,
|
||||
updateConsumerProps,
|
||||
} from "../../../../../store/settings/actions";
|
||||
import { getConsumersList } from "../../../../../store/settings/selectors";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
|
||||
import { Box, Text, Link, toastr } from "asc-web-components";
|
||||
import { utils } from "asc-web-components";
|
||||
import { store as commonStore } from "asc-web-common";
|
||||
import ConsumerItem from "./sub-components/consumerItem";
|
||||
import ConsumerModalDialog from "./sub-components/consumerModalDialog";
|
||||
|
||||
const { getUrlAuthKeys } = commonStore.auth.selectors;
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const tablet = utils.device.tablet;
|
||||
const mobile = utils.device.mobile;
|
||||
@ -209,15 +200,22 @@ ThirdPartyServices.propTypes = {
|
||||
setSelectedConsumer: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
return {
|
||||
consumers: getConsumersList(state),
|
||||
urlAuthKeys: getUrlAuthKeys(state),
|
||||
};
|
||||
};
|
||||
export default inject(({ setup, auth }) => {
|
||||
const { settingsStore } = auth;
|
||||
const { urlAuthKeys } = settingsStore;
|
||||
const {
|
||||
getConsumers,
|
||||
integration,
|
||||
updateConsumerProps,
|
||||
setSelectedConsumer,
|
||||
} = setup;
|
||||
const { consumers } = integration;
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
getConsumers,
|
||||
updateConsumerProps,
|
||||
setSelectedConsumer,
|
||||
})(withTranslation()(ThirdPartyServices));
|
||||
return {
|
||||
consumers,
|
||||
urlAuthKeys,
|
||||
getConsumers,
|
||||
updateConsumerProps,
|
||||
setSelectedConsumer,
|
||||
};
|
||||
})(withTranslation()(observer(ThirdPartyServices)));
|
||||
|
@ -128,8 +128,8 @@ class PureAccessRights extends Component {
|
||||
// };
|
||||
// }
|
||||
|
||||
const AccessRightsContainer = inject(({ store }) => ({
|
||||
organizationName: store.settingsStore.organizationName,
|
||||
const AccessRightsContainer = inject(({ auth }) => ({
|
||||
organizationName: auth.settingsStore.organizationName,
|
||||
}))(withTranslation()(PureAccessRights));
|
||||
|
||||
const AccessRights = (props) => {
|
||||
|
@ -1,15 +1,9 @@
|
||||
import React, { Component } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
//import i18n from "../../../i18n";
|
||||
import { I18nextProvider, withTranslation } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
import {
|
||||
changeAdmins,
|
||||
getUpdateListAdmin,
|
||||
fetchPeople,
|
||||
} from "../../../../../../store/settings/actions";
|
||||
import {
|
||||
Text,
|
||||
Avatar,
|
||||
@ -24,14 +18,12 @@ import {
|
||||
RequestLoader,
|
||||
Loader,
|
||||
EmptyScreenContainer,
|
||||
Icons,
|
||||
} from "asc-web-components";
|
||||
import { FilterInput, PeopleSelector } from "asc-web-common";
|
||||
import { getUserRole } from "../../../../../../store/settings/selectors";
|
||||
import isEmpty from "lodash/isEmpty";
|
||||
|
||||
import { createI18N } from "../../../../../../helpers/i18n";
|
||||
import { inject } from "mobx-react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
||||
const i18n = createI18N({
|
||||
page: "Settings",
|
||||
@ -351,6 +343,18 @@ class PureAdminsSettings extends Component {
|
||||
];
|
||||
};
|
||||
|
||||
getUserRole = (user) => {
|
||||
if (user.isOwner) return "owner";
|
||||
else if (user.isAdmin) return "admin";
|
||||
else if (
|
||||
user.listAdminModules !== undefined &&
|
||||
user.listAdminModules.includes("people")
|
||||
)
|
||||
return "admin";
|
||||
else if (user.isVisitor) return "guest";
|
||||
else return "user";
|
||||
};
|
||||
|
||||
render() {
|
||||
const { t, admins, filter, me, groupsCaption } = this.props;
|
||||
const {
|
||||
@ -442,7 +446,7 @@ class PureAdminsSettings extends Component {
|
||||
const element = (
|
||||
<Avatar
|
||||
size="min"
|
||||
role={getUserRole(user)}
|
||||
role={this.getUserRole(user)}
|
||||
userName={user.displayName}
|
||||
source={user.avatar}
|
||||
/>
|
||||
@ -564,21 +568,6 @@ const AdminsSettings = (props) => (
|
||||
</I18nextProvider>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
const { admins, owner, filter } = state.settings.security.accessRight;
|
||||
const { user: me } = state.auth;
|
||||
//const groupsCaption = state.auth.settings.customNames.groupsCaption;
|
||||
|
||||
return {
|
||||
admins,
|
||||
productId: state.auth.modules[0].id,
|
||||
owner,
|
||||
filter,
|
||||
me,
|
||||
//groupsCaption,
|
||||
};
|
||||
}
|
||||
|
||||
AdminsSettings.defaultProps = {
|
||||
admins: [],
|
||||
productId: "",
|
||||
@ -591,12 +580,19 @@ AdminsSettings.propTypes = {
|
||||
owner: PropTypes.object,
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
changeAdmins,
|
||||
fetchPeople,
|
||||
getUpdateListAdmin,
|
||||
});
|
||||
export default inject(({ auth, setup }) => {
|
||||
const { admins, owner, filter } = setup.security.accessRight;
|
||||
const { user: me } = auth.userStore;
|
||||
|
||||
inject(({ store }) => ({
|
||||
groupsCaption: store.settingsStore.customNames.groupsCaption,
|
||||
}))(withRouter(AdminsSettings));
|
||||
return {
|
||||
groupsCaption: auth.settingsStore.customNames.groupsCaption,
|
||||
changeAdmins: setup.changeAdmins,
|
||||
fetchPeople: setup.fetchPeople,
|
||||
getUpdateListAdmin: setup.getUpdateListAdmin,
|
||||
admins,
|
||||
productId: auth.moduleStore.modules[0].id,
|
||||
owner,
|
||||
filter,
|
||||
me,
|
||||
};
|
||||
})(withRouter(observer(AdminsSettings)));
|
||||
|
@ -1,5 +1,4 @@
|
||||
import React, { Component } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
//import i18n from "../../../i18n";
|
||||
import { I18nextProvider, withTranslation } from "react-i18next";
|
||||
@ -135,4 +134,4 @@ const ModulesSettings = (props) => (
|
||||
</I18nextProvider>
|
||||
);
|
||||
|
||||
export default connect(null, {})(withRouter(ModulesSettings));
|
||||
export default withRouter(ModulesSettings);
|
||||
|
@ -1,11 +1,9 @@
|
||||
import React, { Component } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
//import i18n from "../../../i18n";
|
||||
import { I18nextProvider, withTranslation } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
import { getPortalOwner } from "../../../../../../store/settings/actions";
|
||||
import {
|
||||
Text,
|
||||
Avatar,
|
||||
@ -94,10 +92,10 @@ class PureOwnerSettings extends Component {
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
const { owner, getPortalOwner, ownerId } = this.props;
|
||||
const { owner, getPortalOwner } = this.props;
|
||||
|
||||
if (isEmpty(owner, true)) {
|
||||
getPortalOwner(ownerId)
|
||||
getPortalOwner()
|
||||
.catch((error) => {
|
||||
toastr.error(error);
|
||||
})
|
||||
@ -243,19 +241,6 @@ const OwnerSettings = (props) => (
|
||||
</I18nextProvider>
|
||||
);
|
||||
|
||||
function mapStateToProps(state) {
|
||||
const { owner } = state.settings.security.accessRight;
|
||||
const { user: me } = state.auth;
|
||||
//const groupsCaption = state.auth.settings.customNames.groupsCaption;
|
||||
|
||||
return {
|
||||
//ownerId: state.auth.settings.ownerId,
|
||||
owner,
|
||||
me,
|
||||
//groupsCaption,
|
||||
};
|
||||
}
|
||||
|
||||
OwnerSettings.defaultProps = {
|
||||
owner: {},
|
||||
};
|
||||
@ -264,11 +249,12 @@ OwnerSettings.propTypes = {
|
||||
owner: PropTypes.object,
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps, { getPortalOwner })(
|
||||
inject(({ store }) => {
|
||||
return {
|
||||
groupsCaption: store.settingsStore.customNames.groupsCaption,
|
||||
ownerId: store.settingsStore.ownerId,
|
||||
};
|
||||
})(withRouter(OwnerSettings))
|
||||
);
|
||||
export default inject(({ auth }) => {
|
||||
const { customNames, getPortalOwner, owner } = auth.settingsStore;
|
||||
return {
|
||||
groupsCaption: customNames.groupsCaption,
|
||||
getPortalOwner,
|
||||
owner,
|
||||
me: auth.userStore.user,
|
||||
};
|
||||
})(withRouter(OwnerSettings));
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user