Web: Files: revert dacbf30366

This commit is contained in:
Nikita Gopienko 2020-03-18 16:01:22 +03:00
parent 339f8cfcfb
commit 2bb45f1e07

View File

@ -8,11 +8,10 @@ import "./custom.scss";
import App from "./App";
import * as serviceWorker from "./serviceWorker";
import { store as commonStore, constants, ErrorBoundary, history, api } from "asc-web-common";
import { store as commonStore, constants, ErrorBoundary, history } from "asc-web-common";
import { getFilterByLocation } from "./helpers/converters";
const { setIsLoaded, getUserInfo, setCurrentProductId, setCurrentProductHomePage, getPortalPasswordSettings, getPortalCultures } = commonStore.auth.actions;
const { AUTH_KEY } = constants;
const { FilesFilter } = api;
const token = localStorage.getItem(AUTH_KEY);
@ -20,6 +19,7 @@ if (token) {
getUserInfo(store.dispatch)
.then(() => getPortalPasswordSettings(store.dispatch))
.then(() => getPortalCultures(store.dispatch))
//.then(() => fetchGroups(store.dispatch))
.then(() => fetchMyFolder(store.dispatch))
.then(() => fetchRootFolders(store.dispatch))
.then(() => {
@ -28,67 +28,11 @@ if (token) {
if (match && match.length > 0) {
const newFilter = getFilterByLocation(window.location);
if (newFilter) {
return Promise.resolve(newFilter);
}
const folderId = window.location.hash.slice(1) || '@my';
return fetchFiles(folderId, newFilter, store.dispatch);
}
else {
return Promise.resolve(FilesFilter.getDefault());
}
})
.then(filter => {
if (filter && filter.authorType) {
const newFilter = filter;
const authorType = newFilter.authorType
const indexOfUnderscore = authorType.indexOf('_');
const type = authorType.slice(0, indexOfUnderscore);
const itemId = authorType.slice(indexOfUnderscore + 1);
if (!itemId) {
newFilter.authorType = null;
return Promise.resolve(newFilter);
}
else {
const result = {
type,
itemId,
filter: newFilter
}
return Promise.resolve(result);
}
}
else {
return Promise.resolve(filter);
}
})
.then(data => {
if (data instanceof FilesFilter) return Promise.resolve(data);
const { filter, itemId, type} = data;
const newFilter = filter ? filter.clone() : FilesFilter.getDefault();
switch (type) {
case 'group':
return Promise.all([api.groups.getGroup(itemId), newFilter]);
case 'user':
return Promise.all([api.people.getUserById(itemId), newFilter]);
default:
return Promise.resolve(newFilter);
}
})
.then(data => {
if (data instanceof FilesFilter) return Promise.resolve(data);
const result = data[0];
const filter = data[1];
const type = result.displayName ? 'user' : 'group';
const selectedItem = {
key: result.id,
label: type === 'user' ? result.displayName : result.name,
type
};
filter.selectedItem = selectedItem;
return Promise.resolve(filter);
})
.then(filter => {
const folderId = window.location.hash.slice(1) || '@my';
return fetchFiles(folderId, filter, store.dispatch);
return Promise.resolve();
})
.then(() => {
store.dispatch(setCurrentProductHomePage(config.homepage));