Web: Files: removed FormatsStore, added getting file formats from SettingsStore

This commit is contained in:
Nikita Gopienko 2022-02-15 15:58:31 +03:00
parent 264b3a8764
commit ccc0838269
22 changed files with 349 additions and 775 deletions

View File

@ -132,17 +132,16 @@ export default function withBadges(WrappedComponent) {
( (
{ {
auth, auth,
formatsStore,
treeFoldersStore, treeFoldersStore,
filesActionsStore, filesActionsStore,
versionHistoryStore, versionHistoryStore,
selectedFolderStore, selectedFolderStore,
dialogsStore, dialogsStore,
filesStore, filesStore,
settingsStore,
}, },
{ item } { item }
) => { ) => {
const { docserviceStore } = formatsStore;
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore; const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
const { const {
lockFileAction, lockFileAction,
@ -158,8 +157,8 @@ export default function withBadges(WrappedComponent) {
} = dialogsStore; } = dialogsStore;
const { setIsLoading } = filesStore; const { setIsLoading } = filesStore;
const canWebEdit = docserviceStore.canWebEdit(item.fileExst); const canWebEdit = settingsStore.canWebEdit(item.fileExst);
const canConvert = docserviceStore.canConvert(item.fileExst); const canConvert = settingsStore.canConvert(item.fileExst);
return { return {
isAdmin: auth.isAdmin, isAdmin: auth.isAdmin,

View File

@ -25,7 +25,7 @@ export default function withContextOptions(WrappedComponent) {
const { const {
copyAsAction, copyAsAction,
item, item,
formfillingDocs, extsWebRestrictedEditing,
setConvertPasswordDialogVisible, setConvertPasswordDialogVisible,
setFormCreationInfo, setFormCreationInfo,
t, t,
@ -33,7 +33,8 @@ export default function withContextOptions(WrappedComponent) {
const { title, id, folderId, fileExst } = item; const { title, id, folderId, fileExst } = item;
const newTitle = const newTitle =
title.substring(0, title.length - fileExst.length) + formfillingDocs[0]; title.substring(0, title.length - fileExst.length) +
extsWebRestrictedEditing[0];
copyAsAction(id, newTitle, folderId).catch((err) => { copyAsAction(id, newTitle, folderId).catch((err) => {
console.log("err", err); console.log("err", err);
@ -44,7 +45,7 @@ export default function withContextOptions(WrappedComponent) {
setFormCreationInfo({ setFormCreationInfo({
newTitle, newTitle,
fromExst: fileExst, fromExst: fileExst,
toExst: formfillingDocs[0], toExst: extsWebRestrictedEditing[0],
fileInfo: item, fileInfo: item,
}); });
setConvertPasswordDialogVisible(true); setConvertPasswordDialogVisible(true);
@ -641,10 +642,11 @@ export default function withContextOptions(WrappedComponent) {
treeFoldersStore, treeFoldersStore,
uploadDataStore, uploadDataStore,
versionHistoryStore, versionHistoryStore,
settingsStore,
}, },
{ item } { item }
) => { ) => {
const { openDocEditor, fileActionStore, formatsStore } = filesStore; const { openDocEditor, fileActionStore } = filesStore;
const { const {
deleteItemAction, deleteItemAction,
downloadAction, downloadAction,
@ -676,7 +678,7 @@ export default function withContextOptions(WrappedComponent) {
const { setAction, type, extension, id } = fileActionStore; const { setAction, type, extension, id } = fileActionStore;
const { setMediaViewerData } = mediaViewerDataStore; const { setMediaViewerData } = mediaViewerDataStore;
const { copyAsAction } = uploadDataStore; const { copyAsAction } = uploadDataStore;
const { formfillingDocs } = formatsStore.docserviceStore; const { extsWebRestrictedEditing } = settingsStore;
const { isRecycleBinFolder, isShare } = treeFoldersStore; const { isRecycleBinFolder, isShare } = treeFoldersStore;
const isShareFolder = isShare(item.rootFolderType); const isShareFolder = isShare(item.rootFolderType);
@ -717,7 +719,7 @@ export default function withContextOptions(WrappedComponent) {
setUnsubscribe, setUnsubscribe,
isDesktop: isDesktopClient, isDesktop: isDesktopClient,
copyAsAction, copyAsAction,
formfillingDocs, extsWebRestrictedEditing,
setFormCreationInfo, setFormCreationInfo,
}; };
} }

View File

@ -303,8 +303,8 @@ export default function withFileActions(WrappedFileItem) {
//selectedFolderStore, //selectedFolderStore,
filesStore, filesStore,
uploadDataStore, uploadDataStore,
formatsStore,
mediaViewerDataStore, mediaViewerDataStore,
settingsStore,
}, },
{ item, t, history } { item, t, history }
) => { ) => {
@ -346,7 +346,6 @@ export default function withFileActions(WrappedFileItem) {
} = filesStore; } = filesStore;
const { startUpload } = uploadDataStore; const { startUpload } = uploadDataStore;
const { type, extension, id } = fileActionStore; const { type, extension, id } = fileActionStore;
const { mediaViewersFormatsStore, docserviceStore } = formatsStore;
const { setMediaViewerData } = mediaViewerDataStore; const { setMediaViewerData } = mediaViewerDataStore;
const selectedItem = selection.find( const selectedItem = selection.find(
@ -358,13 +357,10 @@ export default function withFileActions(WrappedFileItem) {
const isFolder = selectedItem ? false : !item.isFolder ? false : true; const isFolder = selectedItem ? false : !item.isFolder ? false : true;
const isMediaOrImage = mediaViewersFormatsStore.isMediaOrImage( const isMediaOrImage = settingsStore.isMediaOrImage(item.fileExst);
item.fileExst const canWebEdit = settingsStore.canWebEdit(item.fileExst);
); const canConvert = settingsStore.canConvert(item.fileExst);
const canViewedDocs = settingsStore.canViewedDocs(item.fileExst);
const canWebEdit = docserviceStore.canWebEdit(item.fileExst);
const canConvert = docserviceStore.canConvert(item.fileExst);
const canViewedDocs = docserviceStore.canViewedDocs(item.fileExst);
const inProgress = const inProgress =
activeFiles.findIndex((x) => x === item.id) !== -1 || activeFiles.findIndex((x) => x === item.id) !== -1 ||

View File

@ -25,7 +25,7 @@ const DownloadContent = (props) => {
getItemIcon, getItemIcon,
titleFormat, titleFormat,
type, type,
filesConverts, extsConvertible,
title, title,
} = props; } = props;
@ -37,9 +37,7 @@ const DownloadContent = (props) => {
for (let item of items) { for (let item of items) {
const exst = item.fileExst; const exst = item.fileExst;
const exstItem = filesConverts.find((f) => f[exst]); arr = [...arr, ...extsConvertible[exst]];
const arrayExst = exstItem ? exstItem[exst] : [];
arr = [...arr, ...arrayExst];
} }
arr = arr.filter((x, pos) => arr.indexOf(x) !== pos); arr = arr.filter((x, pos) => arr.indexOf(x) !== pos);
@ -92,9 +90,7 @@ const DownloadContent = (props) => {
}; };
const getFormats = (item) => { const getFormats = (item) => {
const arrayFormats = item && filesConverts.find((f) => f[item.fileExst]); const arrayFormats = item ? extsConvertible[item.fileExst] : [];
const conversionFormats = arrayFormats ? arrayFormats[item.fileExst] : [];
const formats = [ const formats = [
{ {
key: "original", key: "original",
@ -105,7 +101,7 @@ const DownloadContent = (props) => {
"data-file-id": item.id, "data-file-id": item.id,
}, },
]; ];
for (let f of conversionFormats) { for (let f of arrayFormats) {
formats.push({ formats.push({
key: f, key: f,
label: f, label: f,

View File

@ -316,7 +316,7 @@ class DownloadDialogComponent extends React.Component {
}; };
render() { render() {
const { visible, t, tReady, filesConverts } = this.props; const { visible, t, tReady, extsConvertible } = this.props;
const { const {
documentsTitleFormat, documentsTitleFormat,
spreadsheetsTitleFormat, spreadsheetsTitleFormat,
@ -358,7 +358,7 @@ class DownloadDialogComponent extends React.Component {
{documents.length > 0 && ( {documents.length > 0 && (
<DownloadContent <DownloadContent
t={t} t={t}
filesConverts={filesConverts} extsConvertible={extsConvertible}
checkedTitle={checkedDocTitle} checkedTitle={checkedDocTitle}
indeterminateTitle={indeterminateDocTitle} indeterminateTitle={indeterminateDocTitle}
items={documents} items={documents}
@ -374,7 +374,7 @@ class DownloadDialogComponent extends React.Component {
{spreadsheets.length > 0 && ( {spreadsheets.length > 0 && (
<DownloadContent <DownloadContent
t={t} t={t}
filesConverts={filesConverts} extsConvertible={extsConvertible}
checkedTitle={checkedSpreadsheetTitle} checkedTitle={checkedSpreadsheetTitle}
indeterminateTitle={indeterminateSpreadsheetTitle} indeterminateTitle={indeterminateSpreadsheetTitle}
items={spreadsheets} items={spreadsheets}
@ -390,7 +390,7 @@ class DownloadDialogComponent extends React.Component {
{presentations.length > 0 && ( {presentations.length > 0 && (
<DownloadContent <DownloadContent
t={t} t={t}
filesConverts={filesConverts} extsConvertible={extsConvertible}
checkedTitle={checkedPresentationTitle} checkedTitle={checkedPresentationTitle}
indeterminateTitle={indeterminatePresentationTitle} indeterminateTitle={indeterminatePresentationTitle}
items={presentations} items={presentations}
@ -503,10 +503,9 @@ const DownloadDialog = withTranslation([
])(DownloadDialogComponent); ])(DownloadDialogComponent);
export default inject( export default inject(
({ filesStore, formatsStore, dialogsStore, filesActionsStore }) => { ({ filesStore, dialogsStore, filesActionsStore, settingsStore }) => {
const { sortedFiles } = filesStore; const { sortedFiles } = filesStore;
const { getIcon, getFolderIcon } = formatsStore.iconFormatsStore; const { extsConvertible, getIcon, getFolderIcon } = settingsStore;
const { filesConverts } = formatsStore.docserviceStore;
const { const {
downloadDialogVisible: visible, downloadDialogVisible: visible,
@ -518,7 +517,7 @@ export default inject(
return { return {
sortedFiles, sortedFiles,
visible, visible,
filesConverts, extsConvertible,
getIcon, getIcon,
getFolderIcon, getFolderIcon,

View File

@ -242,10 +242,10 @@ export default inject(
filesStore, filesStore,
mediaViewerDataStore, mediaViewerDataStore,
treeFoldersStore, treeFoldersStore,
formatsStore,
filesActionsStore, filesActionsStore,
selectedFolderStore, selectedFolderStore,
dialogsStore, dialogsStore,
settingsStore,
}) => { }) => {
const { const {
fetchFiles, fetchFiles,
@ -259,7 +259,7 @@ export default inject(
} = filesStore; } = filesStore;
const { updateRootBadge } = treeFoldersStore; const { updateRootBadge } = treeFoldersStore;
const { setMediaViewerData } = mediaViewerDataStore; const { setMediaViewerData } = mediaViewerDataStore;
const { getIcon, getFolderIcon } = formatsStore.iconFormatsStore; const { getIcon, getFolderIcon } = settingsStore;
const { markAsRead } = filesActionsStore; const { markAsRead } = filesActionsStore;
const { pathParts } = selectedFolderStore; const { pathParts } = selectedFolderStore;

View File

@ -66,9 +66,8 @@ FilesListRow.defaultProps = {
isMultiSelect: false, isMultiSelect: false,
}; };
export default inject(({ formatsStore }, { fileExst }) => { export default inject(({ settingsStore }, { fileExst }) => {
const { iconFormatsStore } = formatsStore; const iconSrc = settingsStore.getIconSrc(fileExst, 24);
const iconSrc = iconFormatsStore.getIconSrc(fileExst, 24);
return { return {
iconSrc, iconSrc,
}; };

View File

@ -353,7 +353,10 @@ class FileRow extends Component {
} }
} }
export default inject( export default inject(
({ auth, formatsStore, uploadDataStore, mediaViewerDataStore }, { item }) => { (
{ auth, uploadDataStore, mediaViewerDataStore, settingsStore },
{ item }
) => {
let ext; let ext;
let name; let name;
let splitted; let splitted;
@ -368,11 +371,11 @@ export default inject(
} }
const { personal } = auth.settingsStore; const { personal } = auth.settingsStore;
const { const {
iconFormatsStore, canViewedDocs,
mediaViewersFormatsStore, isMediaOrImage,
docserviceStore, getIconSrc,
} = formatsStore; isArchive,
const { canViewedDocs } = docserviceStore; } = settingsStore;
const { const {
uploaded, uploaded,
primaryProgressDataStore, primaryProgressDataStore,
@ -385,11 +388,11 @@ export default inject(
} = uploadDataStore; } = uploadDataStore;
const { playlist, setMediaViewerData } = mediaViewerDataStore; const { playlist, setMediaViewerData } = mediaViewerDataStore;
const { loadingFile: file } = primaryProgressDataStore; const { loadingFile: file } = primaryProgressDataStore;
const isMedia = mediaViewersFormatsStore.isMediaOrImage(ext); const isMedia = isMediaOrImage(ext);
const isMediaActive = const isMediaActive =
playlist.findIndex((el) => el.fileId === item.fileId) !== -1; playlist.findIndex((el) => el.fileId === item.fileId) !== -1;
const fileIcon = iconFormatsStore.getIconSrc(ext, 24); const fileIcon = getIconSrc(ext, 24);
const loadingFile = !file || !file.uniqueId ? null : file; const loadingFile = !file || !file.uniqueId ? null : file;
@ -398,8 +401,6 @@ export default inject(
? loadingFile.percent ? loadingFile.percent
: null; : null;
const { isArchive } = iconFormatsStore;
const downloadInCurrentTab = isArchive(ext) || !canViewedDocs(ext); const downloadInCurrentTab = isArchive(ext) || !canViewedDocs(ext);
return { return {

View File

@ -1,11 +1,9 @@
import rootFilesStore from "../store/"; import settingsStore from "../store/";
import store from "studio/store"; import store from "studio/store";
import { desktopConstants } from "@appserver/common/desktop"; import { desktopConstants } from "@appserver/common/desktop";
const { docserviceStore } = rootFilesStore.formatsStore;
export function encryptionUploadDialog(callback) { export function encryptionUploadDialog(callback) {
const filter = docserviceStore.encryptedDocs.map((f) => "*" + f).join(" "); const filter = settingsStore.extsWebEncrypt.map((f) => "*" + f).join(" ");
const data = { const data = {
cryptoEngineId: desktopConstants.cryptoEngineId, cryptoEngineId: desktopConstants.cryptoEngineId,

View File

@ -6,7 +6,7 @@ import { addFileToRecentlyViewed } from "@appserver/common/api/files";
import i18n from "./i18n"; import i18n from "./i18n";
import { request } from "@appserver/common/api/client"; import { request } from "@appserver/common/api/client";
import docserviceStore from "../store/DocserviceStore"; import settingsStore from "../store/";
export const setDocumentTitle = (subTitle = null) => { export const setDocumentTitle = (subTitle = null) => {
const { isAuthenticated, settingsStore, product: currentModule } = authStore; const { isAuthenticated, settingsStore, product: currentModule } = authStore;
@ -118,7 +118,7 @@ export const SaveAs = (title, url, folderId, openNewTab) => {
}; };
export const canConvert = (fileExst) => { export const canConvert = (fileExst) => {
const { canConvert } = docserviceStore; const { canConvert } = settingsStore;
return canConvert(fileExst); return canConvert(fileExst);
}; };

View File

@ -164,7 +164,7 @@ export default inject(
filesStore, filesStore,
mediaViewerDataStore, mediaViewerDataStore,
filesActionsStore, filesActionsStore,
formatsStore, settingsStore,
dialogsStore, dialogsStore,
treeFoldersStore, treeFoldersStore,
}) => { }) => {
@ -184,7 +184,7 @@ export default inject(
setToPreviewFile, setToPreviewFile,
} = mediaViewerDataStore; } = mediaViewerDataStore;
const { deleteItemAction } = filesActionsStore; const { deleteItemAction } = filesActionsStore;
const { media, images } = formatsStore.mediaViewersFormatsStore; const { extsVideo, extsImage } = settingsStore;
const { expandedKeys, setExpandedKeys } = treeFoldersStore; const { expandedKeys, setExpandedKeys } = treeFoldersStore;
return { return {
@ -195,8 +195,8 @@ export default inject(
currentMediaFileId, currentMediaFileId,
deleteItemAction, deleteItemAction,
setMediaViewerData, setMediaViewerData,
mediaViewerImageFormats: images, mediaViewerImageFormats: extsImage,
mediaViewerMediaFormats: media, mediaViewerMediaFormats: extsVideo,
setRemoveMediaItem: dialogsStore.setRemoveMediaItem, setRemoveMediaItem: dialogsStore.setRemoveMediaItem,
deleteDialogVisible: dialogsStore.deleteDialogVisible, deleteDialogVisible: dialogsStore.deleteDialogVisible,
fetchFiles, fetchFiles,

View File

@ -108,8 +108,8 @@ const FilesTile = (props) => {
); );
}; };
export default inject(({ formatsStore }) => { export default inject(({ settingsStore }) => {
const { getIcon } = formatsStore.iconFormatsStore; const { getIcon } = settingsStore;
return { getIcon }; return { getIcon };
})( })(
withTranslation("Home")( withTranslation("Home")(

View File

@ -39,7 +39,7 @@ class PureHome extends React.Component {
setExpandedKeys, setExpandedKeys,
setToPreviewFile, setToPreviewFile,
playlist, playlist,
mediaViewersFormatsStore, isMediaOrImage,
getFileInfo, getFileInfo,
setIsPrevSettingsModule, setIsPrevSettingsModule,
isPrevSettingsModule, isPrevSettingsModule,
@ -62,9 +62,7 @@ class PureHome extends React.Component {
getFileInfo(fileId) getFileInfo(fileId)
.then((data) => { .then((data) => {
const canOpenPlayer = mediaViewersFormatsStore.isMediaOrImage( const canOpenPlayer = isMediaOrImage(data.fileExst);
data.fileExst
);
const file = { ...data, canOpenPlayer }; const file = { ...data, canOpenPlayer };
setToPreviewFile(file, true); setToPreviewFile(file, true);
}) })
@ -353,7 +351,7 @@ export default inject(
uploadDataStore, uploadDataStore,
treeFoldersStore, treeFoldersStore,
mediaViewerDataStore, mediaViewerDataStore,
formatsStore, settingsStore,
}) => { }) => {
const { const {
secondaryProgressDataStore, secondaryProgressDataStore,
@ -376,8 +374,6 @@ export default inject(
isPrevSettingsModule, isPrevSettingsModule,
} = filesStore; } = filesStore;
const { mediaViewersFormatsStore } = formatsStore;
const { id } = fileActionStore; const { id } = fileActionStore;
const { const {
isRecycleBinFolder, isRecycleBinFolder,
@ -463,7 +459,7 @@ export default inject(
setHeaderVisible: auth.settingsStore.setHeaderVisible, setHeaderVisible: auth.settingsStore.setHeaderVisible,
setToPreviewFile, setToPreviewFile,
playlist, playlist,
mediaViewersFormatsStore, isMediaOrImage: settingsStore.isMediaOrImage,
getFileInfo, getFileInfo,
setIsPrevSettingsModule, setIsPrevSettingsModule,

View File

@ -1,216 +0,0 @@
import { makeObservable } from "mobx";
import { presentInArray } from "../helpers/files-helpers";
class DocserviceStore {
coauthorDocs = [
".csv",
".docx",
".docxf",
".oform",
".ppsx",
".pptx",
".txt",
".xlsx",
];
commentedDocs = [".docx", ".docxf", ".xlsx", ".pptx"];
convertDocs = [
".doc",
".docm",
".dot",
".dotm",
".dotx",
".fodp",
".fods",
".fodt",
".odp",
".ods",
".odt",
".otp",
".ots",
".ott",
".pot",
".potm",
".potx",
".pps",
".ppsm",
".ppt",
".pptm",
".rtf",
".xls",
".xlsm",
".xlt",
".xltm",
".xltx",
];
editedDocs = [
".csv",
".doc",
".docm",
".docx",
".docxf",
".dot",
".dotm",
".dotx",
".fodp",
".fods",
".fodt",
".htm",
".html",
".mht",
".odp",
".ods",
".odt",
".oform",
".otp",
".ots",
".ott",
".pot",
".potm",
".potx",
".pps",
".ppsm",
".ppsx",
".ppt",
".pptm",
".pptx",
".rtf",
".txt",
".xls",
".xlsm",
".xlsx",
".xlt",
".xltm",
".xltx",
];
encryptedDocs = [".docx", ".xlsx", ".pptx", ".docxf", ".oform"];
formfillingDocs = [".oform"];
customfilterDocs = [".xlsx"];
reviewedDocs = [".docx", ".docxf"];
viewedDocs = [
".csv",
".djvu",
".doc",
".docm",
".docx",
".docxf",
".dot",
".dotm",
".dotx",
".epub",
".fodp",
".fods",
".fodt",
".gdoc",
".gsheet",
".gslides",
".htm",
".html",
".mht",
".odp",
".ods",
".odt",
".oform",
".otp",
".ots",
".ott",
".pdf",
".pot",
".potm",
".potx",
".pps",
".ppsm",
".ppsx",
".ppt",
".pptm",
".pptx",
".rtf",
".txt",
".xls",
".xlsm",
".xlsx",
".xlt",
".xltm",
".xltx",
".xps",
];
filesConverts = [
{ ".csv": [".ods", ".pdf", ".xlsx"] },
{ ".doc": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".docm": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".doct": [".docx"] },
{ ".docx": [".docxf", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".dot": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".dotm": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".dotx": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".epub": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".fb2": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".fodp": [".odp", ".pdf", ".pptx"] },
{ ".fods": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".fodt": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".html": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".mht": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".odp": [".pdf", ".pptx"] },
{ ".otp": [".odp", ".pdf", ".pptx"] },
{ ".ods": [".csv", ".pdf", ".xlsx"] },
{ ".ots": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".odt": [".docx", ".pdf", ".rtf", ".txt"] },
{ ".ott": [".docx", ".odt", ".pdf", ".rtf", ".txt"] },
{ ".pot": [".odp", ".pdf", ".pptx"] },
{ ".potm": [".odp", ".pdf", ".pptx"] },
{ ".potx": [".odp", ".pdf", ".pptx"] },
{ ".pps": [".odp", ".pdf", ".pptx"] },
{ ".ppsm": [".odp", ".pdf", ".pptx"] },
{ ".ppsx": [".odp", ".pdf", ".pptx"] },
{ ".ppt": [".odp", ".pdf", ".pptx"] },
{ ".pptm": [".odp", ".pdf", ".pptx"] },
{ ".pptt": [".pptx"] },
{ ".pptx": [".odp", ".pdf"] },
{ ".rtf": [".docx", ".odt", ".pdf", ".txt"] },
{ ".txt": [".docx", ".odt", ".pdf", ".rtf"] },
{ ".xls": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".xlsm": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".xlst": [".xlsx"] },
{ ".xlsx": [".csv", ".ods", ".pdf"] },
{ ".xlt": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".xltm": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".xltx": [".csv", ".ods", ".pdf", ".xlsx"] },
{ ".xps": [".pdf"] },
{
".docxf": [
".docx",
".dotx",
".epub",
".fb2",
".html",
".odt",
".oform",
".ott",
".pdf",
".rtf",
".txt",
],
},
];
constructor() {
makeObservable(this, {});
}
canWebEdit = (extension) => presentInArray(this.editedDocs, extension);
canViewedDocs = (extension) => presentInArray(this.viewedDocs, extension);
canConvert = (extension) => presentInArray(this.convertDocs, extension);
canWebComment = (extension) => presentInArray(this.commentedDocs, extension);
canWebReview = (extension) => presentInArray(this.reviewedDocs, extension);
canFormFillingDocs = (extension) =>
presentInArray(this.formfillingDocs, extension);
canWebFilterEditing = (extension) =>
presentInArray(this.customfilterDocs, extension);
}
export default new DocserviceStore();

View File

@ -28,7 +28,6 @@ class FilesStore {
fileActionStore; fileActionStore;
selectedFolderStore; selectedFolderStore;
treeFoldersStore; treeFoldersStore;
formatsStore;
filesSettingsStore; filesSettingsStore;
isLoaded = false; isLoaded = false;
@ -67,7 +66,6 @@ class FilesStore {
fileActionStore, fileActionStore,
selectedFolderStore, selectedFolderStore,
treeFoldersStore, treeFoldersStore,
formatsStore,
filesSettingsStore filesSettingsStore
) { ) {
const pathname = window.location.pathname.toLowerCase(); const pathname = window.location.pathname.toLowerCase();
@ -80,7 +78,6 @@ class FilesStore {
this.fileActionStore = fileActionStore; this.fileActionStore = fileActionStore;
this.selectedFolderStore = selectedFolderStore; this.selectedFolderStore = selectedFolderStore;
this.treeFoldersStore = treeFoldersStore; this.treeFoldersStore = treeFoldersStore;
this.formatsStore = formatsStore;
this.filesSettingsStore = filesSettingsStore; this.filesSettingsStore = filesSettingsStore;
const { socketHelper } = authStore.settingsStore; const { socketHelper } = authStore.settingsStore;
@ -651,7 +648,7 @@ class FilesStore {
canWebEdit, canWebEdit,
canViewedDocs, canViewedDocs,
canFormFillingDocs, canFormFillingDocs,
} = this.formatsStore.docserviceStore; } = this.filesSettingsStore;
const isThirdPartyFolder = const isThirdPartyFolder =
item.providerKey && item.id === item.rootFolderId; item.providerKey && item.id === item.rootFolderId;
@ -1254,7 +1251,7 @@ class FilesStore {
} }
get iconOfDraggedFile() { get iconOfDraggedFile() {
const { getIcon } = this.formatsStore.iconFormatsStore; const { getIcon } = this.filesSettingsStore;
if (this.selection.length === 1) { if (this.selection.length === 1) {
return getIcon( return getIcon(
@ -1318,7 +1315,7 @@ class FilesStore {
} }
onCreateAddTempItem = (items) => { onCreateAddTempItem = (items) => {
const { getFileIcon, getFolderIcon } = this.formatsStore.iconFormatsStore; const { getFileIcon, getFolderIcon } = this.filesSettingsStore;
const { extension, title } = this.fileActionStore; const { extension, title } = this.fileActionStore;
if (items.length && items[0].id === -1) return; //TODO: if change media collection from state remove this; if (items.length && items[0].id === -1) return; //TODO: if change media collection from state remove this;
@ -1346,8 +1343,7 @@ class FilesStore {
} }
get filesList() { get filesList() {
const { mediaViewersFormatsStore, iconFormatsStore } = this.formatsStore; const { getIcon } = this.filesSettingsStore;
const { getIcon } = iconFormatsStore;
//return [...this.folders, ...this.files]; //return [...this.folders, ...this.files];
const items = [...this.folders, ...this.files]; const items = [...this.folders, ...this.files];
@ -1386,11 +1382,9 @@ class FilesStore {
canEdit, canEdit,
} = item; } = item;
const { canConvert } = this.formatsStore.docserviceStore; const { canConvert, isMediaOrImage } = this.filesSettingsStore;
const canOpenPlayer = mediaViewersFormatsStore.isMediaOrImage( const canOpenPlayer = isMediaOrImage(item.fileExst);
item.fileExst
);
const previewUrl = canOpenPlayer const previewUrl = canOpenPlayer
? combineUrl( ? combineUrl(
@ -1494,14 +1488,14 @@ class FilesStore {
} }
get cbMenuItems() { get cbMenuItems() {
const { mediaViewersFormatsStore, iconFormatsStore } = this.formatsStore;
const { const {
isImage,
isVideo,
isDocument, isDocument,
isPresentation, isPresentation,
isSpreadsheet, isSpreadsheet,
isArchive, isArchive,
} = iconFormatsStore; } = this.filesSettingsStore;
const { isImage, isVideo } = mediaViewersFormatsStore;
let cbMenu = ["all"]; let cbMenu = ["all"];
const filesItems = [...this.files, ...this.folders]; const filesItems = [...this.files, ...this.folders];
@ -1557,11 +1551,11 @@ class FilesStore {
get sortedFiles() { get sortedFiles() {
const { const {
extsConvertible,
isSpreadsheet, isSpreadsheet,
isPresentation, isPresentation,
isDocument, isDocument,
} = this.formatsStore.iconFormatsStore; } = this.filesSettingsStore;
const { filesConverts } = this.formatsStore.docserviceStore;
let sortedFiles = { let sortedFiles = {
documents: [], documents: [],
@ -1580,7 +1574,7 @@ class FilesStore {
item.checked = true; item.checked = true;
item.format = null; item.format = null;
const canConvert = filesConverts.find((f) => f[item.fileExst]); const canConvert = extsConvertible[item.fileExst];
if (item.fileExst && canConvert) { if (item.fileExst && canConvert) {
if (isSpreadsheet(item.fileExst)) { if (isSpreadsheet(item.fileExst)) {
@ -1638,7 +1632,7 @@ class FilesStore {
} }
get canConvertSelected() { get canConvertSelected() {
const { filesConverts } = this.formatsStore.docserviceStore; const { extsConvertible } = this.filesSettingsStore;
const selection = this.selection.length const selection = this.selection.length
? this.selection ? this.selection
@ -1648,13 +1642,13 @@ class FilesStore {
return selection.some((selected) => { return selection.some((selected) => {
if (selected.isFolder === true || !selected.fileExst) return false; if (selected.isFolder === true || !selected.fileExst) return false;
const index = filesConverts.findIndex((f) => f[selected.fileExst]); const array = extsConvertible[selected.fileExst];
return index !== -1; return array;
}); });
} }
get isViewedSelected() { get isViewedSelected() {
const { canViewedDocs } = this.formatsStore.docserviceStore; const { canViewedDocs } = this.filesSettingsStore;
return this.selection.some((selected) => { return this.selection.some((selected) => {
if (selected.isFolder === true || !selected.fileExst) return false; if (selected.isFolder === true || !selected.fileExst) return false;
@ -1663,7 +1657,7 @@ class FilesStore {
} }
get isMediaSelected() { get isMediaSelected() {
const { isMediaOrImage } = this.formatsStore.mediaViewersFormatsStore; const { isMediaOrImage } = this.filesSettingsStore;
return this.selection.some((selected) => { return this.selection.some((selected) => {
if (selected.isFolder === true || !selected.fileExst) return false; if (selected.isFolder === true || !selected.fileExst) return false;
@ -1708,7 +1702,7 @@ class FilesStore {
canFormFillingDocs, canFormFillingDocs,
canWebFilterEditing, canWebFilterEditing,
canConvert, canConvert,
} = this.formatsStore.docserviceStore; } = this.filesSettingsStore;
if (selection[0].encrypted) { if (selection[0].encrypted) {
return ["FullAccess", "DenyAccess"]; return ["FullAccess", "DenyAccess"];

View File

@ -1,16 +0,0 @@
import { makeAutoObservable } from "mobx";
class FormatsStore {
iconFormatsStore;
mediaViewersFormatsStore;
docserviceStore;
constructor(iconFormatsStore, mediaViewersFormatsStore, docserviceStore) {
makeAutoObservable(this);
this.iconFormatsStore = iconFormatsStore;
this.mediaViewersFormatsStore = mediaViewersFormatsStore;
this.docserviceStore = docserviceStore;
}
}
export default FormatsStore;

View File

@ -1,368 +0,0 @@
import { makeAutoObservable } from "mobx";
import { presentInArray } from "../helpers/files-helpers";
class IconFormatsStore {
archive = [
".ace",
".arc",
".arj",
".bh",
".cab",
".enc",
".gz",
".gz",
".ha",
".jar",
".lha",
".lzh",
".pak",
".pk3",
".rar",
".tar",
".tgz",
".uu",
".uue",
".xxe",
".z",
".zip",
".zoo",
];
image = [
".ai",
".bmp",
".cmx",
".cod",
".gif",
".ico",
".ief",
".jpe",
".jpeg",
".jpg",
".pbm",
".png",
".pnm",
".ppm",
".psd",
".rgb",
".tif",
".tiff",
".webp",
".xbm",
".xpm",
".xwd",
];
sound = [
".aac",
".ac3",
".aiff",
".amr",
".ape",
".cda",
".flac",
".m4a",
".mid",
".mka",
".mp3",
".mpc",
".oga",
".ogg",
".pcm",
".ra",
".raw",
".wav",
".wma",
];
video = [
".3gp",
".asf",
".avi",
".f4v",
".fla",
".flv",
".m2ts",
".m4v",
".mkv",
".mov",
".mp4",
".mpeg",
".mpg",
".mts",
".ogv",
".svi",
".vob",
".webm",
".wmv",
];
html = [".htm", ".mht", ".html"];
ebook = [".fb2", ".ibk", ".prc", ".epub"];
document = [
".doc",
".docx",
".docm",
".dot",
".dotx",
".dotm",
".odt",
".fodt",
".ott",
".rtf",
".txt",
".html",
".htm",
".mht",
".pdf",
".djvu",
".fb2",
".epub",
".xps",
".doct",
".docy",
".gdoc",
".docxf",
".oform",
];
presentation = [
".pps",
".ppsx",
".ppsm",
".ppt",
".pptx",
".pptm",
".pot",
".potx",
".potm",
".odp",
".fodp",
".otp",
".pptt",
".ppty",
".gslides",
];
spreadsheet = [
".xls",
".xlsx",
".xlsm",
".xlt",
".xltx",
".xltm",
".ods",
".fods",
".ots",
".csv",
".xlst",
".xlsy",
".xlsb",
".gsheet",
];
constructor() {
makeAutoObservable(this);
//makeObservable(this, {});
}
isArchive = (extension) => presentInArray(this.archive, extension);
isImage = (extension) => presentInArray(this.image, extension);
isSound = (extension) => presentInArray(this.sound, extension);
isHtml = (extension) => presentInArray(this.html, extension);
isEbook = (extension) => presentInArray(this.ebook, extension);
isDocument = (extension) => presentInArray(this.document, extension);
isPresentation = (extension) => presentInArray(this.presentation, extension);
isSpreadsheet = (extension) => presentInArray(this.spreadsheet, extension);
getIcon = (
size = 24,
fileExst = null,
providerKey = null,
contentLength = null
) => {
if (fileExst || contentLength) {
const isArchiveItem = this.isArchive(fileExst);
const isImageItem = this.isImage(fileExst);
const isSoundItem = this.isSound(fileExst);
const isHtmlItem = this.isHtml(fileExst);
const icon = this.getFileIcon(
fileExst,
size,
isArchiveItem,
isImageItem,
isSoundItem,
isHtmlItem
);
return icon;
} else {
return this.getFolderIcon(providerKey, size);
}
};
getFolderIcon = (providerKey, size = 32) => {
const folderPath = `images/icons/${size}`;
switch (providerKey) {
case "Box":
case "BoxNet":
return `${folderPath}/folder/box.svg`;
case "DropBox":
case "DropboxV2":
return `${folderPath}/folder/dropbox.svg`;
case "Google":
case "GoogleDrive":
return `${folderPath}/folder/google.svg`;
case "OneDrive":
return `${folderPath}/folder/onedrive.svg`;
case "SharePoint":
return `${folderPath}/folder/sharepoint.svg`;
case "Yandex":
return `${folderPath}/folder/yandex.svg`;
case "kDrive":
return `${folderPath}/folder/kdrive.svg`;
case "WebDav":
return `${folderPath}/folder/webdav.svg`;
default:
return `${folderPath}/folder.svg`;
}
};
getIconUrl = (extension, folderPath) => {
switch (extension) {
case ".avi":
return `${folderPath}/avi.svg`;
case ".csv":
return `${folderPath}/csv.svg`;
case ".djvu":
return `${folderPath}/djvu.svg`;
case ".doc":
return `${folderPath}/doc.svg`;
case ".docm":
return `${folderPath}/docm.svg`;
case ".docx":
return `${folderPath}/docx.svg`;
case ".dotx":
return `${folderPath}/dotx.svg`;
case ".dvd":
return `${folderPath}/dvd.svg`;
case ".epub":
return `${folderPath}/epub.svg`;
case ".pb2":
case ".fb2":
return `${folderPath}/fb2.svg`;
case ".flv":
return `${folderPath}/flv.svg`;
case ".fodt":
return `${folderPath}/fodt.svg`;
case ".iaf":
return `${folderPath}/iaf.svg`;
case ".ics":
return `${folderPath}/ics.svg`;
case ".m2ts":
return `${folderPath}/m2ts.svg`;
case ".mht":
return `${folderPath}/mht.svg`;
case ".mkv":
return `${folderPath}/mkv.svg`;
case ".mov":
return `${folderPath}/mov.svg`;
case ".mp4":
return `${folderPath}/mp4.svg`;
case ".mpg":
return `${folderPath}/mpg.svg`;
case ".odp":
return `${folderPath}/odp.svg`;
case ".ods":
return `${folderPath}/ods.svg`;
case ".odt":
return `${folderPath}/odt.svg`;
case ".otp":
return `${folderPath}/otp.svg`;
case ".ots":
return `${folderPath}/ots.svg`;
case ".ott":
return `${folderPath}/ott.svg`;
case ".pdf":
return `${folderPath}/pdf.svg`;
case ".pot":
return `${folderPath}/pot.svg`;
case ".pps":
return `${folderPath}/pps.svg`;
case ".ppsx":
return `${folderPath}/ppsx.svg`;
case ".ppt":
return `${folderPath}/ppt.svg`;
case ".pptm":
return `${folderPath}/pptm.svg`;
case ".pptx":
return `${folderPath}/pptx.svg`;
case ".rtf":
return `${folderPath}/rtf.svg`;
case ".svg":
return `${folderPath}/svg.svg`;
case ".txt":
return `${folderPath}/txt.svg`;
case ".webm":
return `${folderPath}/webm.svg`;
case ".xls":
return `${folderPath}/xls.svg`;
case ".xlsm":
return `${folderPath}/xlsm.svg`;
case ".xlsx":
return `${folderPath}/xlsx.svg`;
case ".xps":
return `${folderPath}/xps.svg`;
case ".xml":
return `${folderPath}/xml.svg`;
case ".oform":
return `${folderPath}/oform.svg`;
case ".docxf":
return `${folderPath}/docxf.svg`;
default:
return `${folderPath}/file.svg`;
}
};
getFileIcon = (
extension,
size = 32,
archive = false,
image = false,
sound = false,
html = false
) => {
const folderPath = `/static/images/icons/${size}`;
if (archive) return `${folderPath}/file_archive.svg`;
if (image) return `${folderPath}/image.svg`;
if (sound) return `${folderPath}/sound.svg`;
if (html) return `${folderPath}/html.svg`;
return this.getIconUrl(extension, folderPath);
};
getIconSrc = (ext, size = 24) => {
const folderPath = `/static/images/icons/${size}`;
if (presentInArray(this.archive, ext, true))
return `${folderPath}/file_archive.svg`;
if (presentInArray(this.image, ext, true)) return `${folderPath}/image.svg`;
if (presentInArray(this.sound, ext, true)) return `${folderPath}/sound.svg`;
if (presentInArray(this.html, ext, true)) return `${folderPath}/html.svg`;
const extension = ext.toLowerCase();
return this.getIconUrl(extension, folderPath);
};
}
export default new IconFormatsStore();

View File

@ -2,16 +2,16 @@ import { makeAutoObservable } from "mobx";
class MediaViewerDataStore { class MediaViewerDataStore {
filesStore; filesStore;
formatsStore; settingsStore;
id = null; id = null;
visible = false; visible = false;
previewFile = null; previewFile = null;
constructor(filesStore, formatsStore) { constructor(filesStore, settingsStore) {
makeAutoObservable(this); makeAutoObservable(this);
this.filesStore = filesStore; this.filesStore = filesStore;
this.formatsStore = formatsStore; this.settingsStore = settingsStore;
} }
setMediaViewerData = (mediaData) => { setMediaViewerData = (mediaData) => {
@ -35,7 +35,7 @@ class MediaViewerDataStore {
}; };
get playlist() { get playlist() {
const { isMediaOrImage } = this.formatsStore.mediaViewersFormatsStore; const { isMediaOrImage } = this.settingsStore;
const { files } = this.filesStore; const { files } = this.filesStore;
const filesList = [...files]; const filesList = [...files];

View File

@ -1,59 +0,0 @@
import { makeObservable, observable } from "mobx";
import { presentInArray } from "../helpers/files-helpers";
class MediaViewersFormatsStore {
images = [
".bmp",
".gif",
".ico",
".jpeg",
".jpg",
".png",
".svg",
".tif",
".tiff",
".webp",
];
media = [
".aac",
".avi",
".f4v",
".flac",
".m4v",
".mov",
".mp3",
".mp4",
".mpeg",
".mpg",
".oga",
".ogg",
".ogv",
".wav",
".webm",
".wmv",
];
constructor() {
makeObservable(this, {
images: observable,
media: observable,
});
}
isVideo = (extension) => {
return presentInArray(this.media, extension);
};
isImage = (extension) => {
return presentInArray(this.images, extension);
};
isMediaOrImage = (fileExst) => {
if (this.media.includes(fileExst) || this.images.includes(fileExst)) {
return true;
}
return false;
};
}
export default new MediaViewersFormatsStore();

View File

@ -6,6 +6,7 @@ import {
setRecentSetting, setRecentSetting,
} from "@appserver/common/api/files"; } from "@appserver/common/api/files";
import { FolderType } from "@appserver/common/constants"; import { FolderType } from "@appserver/common/constants";
import { presentInArray } from "../helpers/files-helpers";
class SettingsStore { class SettingsStore {
thirdPartyStore; thirdPartyStore;
@ -27,6 +28,33 @@ class SettingsStore {
settingsIsLoaded = false; settingsIsLoaded = false;
extsImagePreviewed = [];
extsMediaPreviewed = [];
extsWebPreviewed = [];
extsWebEdited = [];
extsWebEncrypt = [];
extsWebReviewed = [];
extsWebCustomFilterEditing = [];
extsWebRestrictedEditing = [];
extsWebCommented = [];
extsWebTemplate = [];
extsCoAuthoring = [];
extsMustConvert = [];
extsConvertible = [];
extsUploadable = [];
extsArchive = [];
extsVideo = [];
extsAudio = [];
extsImage = [];
extsSpreadsheet = [];
extsPresentation = [];
extsDocument = [];
internalFormats = {};
masterFormExtension = "";
html = [".htm", ".mht", ".html"]; //TODO:
ebook = [".fb2", ".ibk", ".prc", ".epub"]; //TODO:
constructor(thirdPartyStore, treeFoldersStore) { constructor(thirdPartyStore, treeFoldersStore) {
makeAutoObservable(this); makeAutoObservable(this);
@ -183,6 +211,244 @@ class SettingsStore {
const hideConfirmConvertSave = await api.files.hideConfirmConvert(save); const hideConfirmConvertSave = await api.files.hideConfirmConvert(save);
this.hideConfirmConvertSave = hideConfirmConvertSave; this.hideConfirmConvertSave = hideConfirmConvertSave;
}; };
canWebEdit = (extension) => presentInArray(this.extsWebEdited, extension);
canViewedDocs = (extension) =>
presentInArray(this.extsWebPreviewed, extension);
canConvert = (extension) => presentInArray(this.extsMustConvert, extension);
canWebComment = (extension) =>
presentInArray(this.extsWebCommented, extension);
canWebReview = (extension) => presentInArray(this.extsWebReviewed, extension);
canFormFillingDocs = (extension) =>
presentInArray(this.extsWebRestrictedEditing, extension);
canWebFilterEditing = (extension) =>
presentInArray(this.extsWebCustomFilterEditing, extension);
isMediaOrImage = (fileExst) => {
if (
this.extsVideo.includes(fileExst) ||
this.extsImage.includes(fileExst)
) {
return true;
}
return false;
};
isArchive = (extension) => presentInArray(this.extsArchive, extension);
isImage = (extension) => presentInArray(this.extsImage, extension);
isVideo = (extension) => presentInArray(this.extsVideo, extension);
isSound = (extension) => presentInArray(this.extsAudio, extension);
isHtml = (extension) => presentInArray(this.html, extension);
isEbook = (extension) => presentInArray(this.ebook, extension);
isDocument = (extension) => presentInArray(this.extsDocument, extension);
isPresentation = (extension) =>
presentInArray(this.extsPresentation, extension);
isSpreadsheet = (extension) =>
presentInArray(this.extsSpreadsheet, extension);
getIcon = (
size = 24,
fileExst = null,
providerKey = null,
contentLength = null
) => {
if (fileExst || contentLength) {
const isArchiveItem = this.isArchive(fileExst);
const isImageItem = this.isImage(fileExst);
const isSoundItem = this.isSound(fileExst);
const isHtmlItem = this.isHtml(fileExst);
const icon = this.getFileIcon(
fileExst,
size,
isArchiveItem,
isImageItem,
isSoundItem,
isHtmlItem
);
return icon;
} else {
return this.getFolderIcon(providerKey, size);
}
};
getFolderIcon = (providerKey, size = 32) => {
const folderPath = `images/icons/${size}`;
switch (providerKey) {
case "Box":
case "BoxNet":
return `${folderPath}/folder/box.svg`;
case "DropBox":
case "DropboxV2":
return `${folderPath}/folder/dropbox.svg`;
case "Google":
case "GoogleDrive":
return `${folderPath}/folder/google.svg`;
case "OneDrive":
return `${folderPath}/folder/onedrive.svg`;
case "SharePoint":
return `${folderPath}/folder/sharepoint.svg`;
case "Yandex":
return `${folderPath}/folder/yandex.svg`;
case "kDrive":
return `${folderPath}/folder/kdrive.svg`;
case "WebDav":
return `${folderPath}/folder/webdav.svg`;
default:
return `${folderPath}/folder.svg`;
}
};
getIconUrl = (extension, folderPath) => {
switch (extension) {
case ".avi":
return `${folderPath}/avi.svg`;
case ".csv":
return `${folderPath}/csv.svg`;
case ".djvu":
return `${folderPath}/djvu.svg`;
case ".doc":
return `${folderPath}/doc.svg`;
case ".docm":
return `${folderPath}/docm.svg`;
case ".docx":
return `${folderPath}/docx.svg`;
case ".dotx":
return `${folderPath}/dotx.svg`;
case ".dvd":
return `${folderPath}/dvd.svg`;
case ".epub":
return `${folderPath}/epub.svg`;
case ".pb2":
case ".fb2":
return `${folderPath}/fb2.svg`;
case ".flv":
return `${folderPath}/flv.svg`;
case ".fodt":
return `${folderPath}/fodt.svg`;
case ".iaf":
return `${folderPath}/iaf.svg`;
case ".ics":
return `${folderPath}/ics.svg`;
case ".m2ts":
return `${folderPath}/m2ts.svg`;
case ".mht":
return `${folderPath}/mht.svg`;
case ".mkv":
return `${folderPath}/mkv.svg`;
case ".mov":
return `${folderPath}/mov.svg`;
case ".mp4":
return `${folderPath}/mp4.svg`;
case ".mpg":
return `${folderPath}/mpg.svg`;
case ".odp":
return `${folderPath}/odp.svg`;
case ".ods":
return `${folderPath}/ods.svg`;
case ".odt":
return `${folderPath}/odt.svg`;
case ".otp":
return `${folderPath}/otp.svg`;
case ".ots":
return `${folderPath}/ots.svg`;
case ".ott":
return `${folderPath}/ott.svg`;
case ".pdf":
return `${folderPath}/pdf.svg`;
case ".pot":
return `${folderPath}/pot.svg`;
case ".pps":
return `${folderPath}/pps.svg`;
case ".ppsx":
return `${folderPath}/ppsx.svg`;
case ".ppt":
return `${folderPath}/ppt.svg`;
case ".pptm":
return `${folderPath}/pptm.svg`;
case ".pptx":
return `${folderPath}/pptx.svg`;
case ".rtf":
return `${folderPath}/rtf.svg`;
case ".svg":
return `${folderPath}/svg.svg`;
case ".txt":
return `${folderPath}/txt.svg`;
case ".webm":
return `${folderPath}/webm.svg`;
case ".xls":
return `${folderPath}/xls.svg`;
case ".xlsm":
return `${folderPath}/xlsm.svg`;
case ".xlsx":
return `${folderPath}/xlsx.svg`;
case ".xps":
return `${folderPath}/xps.svg`;
case ".xml":
return `${folderPath}/xml.svg`;
case ".oform":
return `${folderPath}/oform.svg`;
case ".docxf":
return `${folderPath}/docxf.svg`;
default:
return `${folderPath}/file.svg`;
}
};
getFileIcon = (
extension,
size = 32,
archive = false,
image = false,
sound = false,
html = false
) => {
const folderPath = `/static/images/icons/${size}`;
if (archive) return `${folderPath}/file_archive.svg`;
if (image) return `${folderPath}/image.svg`;
if (sound) return `${folderPath}/sound.svg`;
if (html) return `${folderPath}/html.svg`;
return this.getIconUrl(extension, folderPath);
};
getIconSrc = (ext, size = 24) => {
const folderPath = `/static/images/icons/${size}`;
if (presentInArray(this.extsArchive, ext, true))
return `${folderPath}/file_archive.svg`;
if (presentInArray(this.extsImage, ext, true))
return `${folderPath}/image.svg`;
if (presentInArray(this.extsAudio, ext, true))
return `${folderPath}/sound.svg`;
if (presentInArray(this.html, ext, true)) return `${folderPath}/html.svg`;
const extension = ext.toLowerCase();
return this.getIconUrl(extension, folderPath);
};
} }
export default SettingsStore; export default SettingsStore;

View File

@ -19,7 +19,6 @@ import {
} from "@appserver/common/api/files"; } from "@appserver/common/api/files";
import toastr from "studio/toastr"; import toastr from "studio/toastr";
class UploadDataStore { class UploadDataStore {
formatsStore;
treeFoldersStore; treeFoldersStore;
selectedFolderStore; selectedFolderStore;
filesStore; filesStore;
@ -46,7 +45,6 @@ class UploadDataStore {
isUploadingAndConversion = false; isUploadingAndConversion = false;
constructor( constructor(
formatsStore,
treeFoldersStore, treeFoldersStore,
selectedFolderStore, selectedFolderStore,
filesStore, filesStore,
@ -56,7 +54,6 @@ class UploadDataStore {
settingsStore settingsStore
) { ) {
makeAutoObservable(this); makeAutoObservable(this);
this.formatsStore = formatsStore;
this.treeFoldersStore = treeFoldersStore; this.treeFoldersStore = treeFoldersStore;
this.selectedFolderStore = selectedFolderStore; this.selectedFolderStore = selectedFolderStore;
this.filesStore = filesStore; this.filesStore = filesStore;
@ -440,7 +437,7 @@ class UploadDataStore {
}; };
startUpload = (uploadFiles, folderId, t) => { startUpload = (uploadFiles, folderId, t) => {
const { canConvert } = this.formatsStore.docserviceStore; const { canConvert } = this.settingsStore;
const toFolderId = folderId ? folderId : this.selectedFolderStore.id; const toFolderId = folderId ? folderId : this.selectedFolderStore.id;

View File

@ -5,10 +5,6 @@ import TreeFoldersStore from "./TreeFoldersStore";
import thirdPartyStore from "./ThirdPartyStore"; import thirdPartyStore from "./ThirdPartyStore";
import SettingsStore from "./SettingsStore"; import SettingsStore from "./SettingsStore";
import FilesActionsStore from "./FilesActionsStore"; import FilesActionsStore from "./FilesActionsStore";
import FormatsStore from "./FormatsStore";
import iconFormatsStore from "./IconFormatsStore";
import mediaViewersFormatsStore from "./MediaViewersFormatsStore";
import docserviceStore from "./DocserviceStore";
import MediaViewerDataStore from "./MediaViewerDataStore"; import MediaViewerDataStore from "./MediaViewerDataStore";
import UploadDataStore from "./UploadDataStore"; import UploadDataStore from "./UploadDataStore";
import SecondaryProgressDataStore from "./SecondaryProgressDataStore"; import SecondaryProgressDataStore from "./SecondaryProgressDataStore";
@ -19,12 +15,6 @@ import DialogsStore from "./DialogsStore";
import selectedFilesStore from "./SelectedFilesStore"; import selectedFilesStore from "./SelectedFilesStore";
import store from "studio/store"; import store from "studio/store";
const formatsStore = new FormatsStore(
iconFormatsStore,
mediaViewersFormatsStore,
docserviceStore
);
const selectedFolderStore = new SelectedFolderStore(store.auth.settingsStore); const selectedFolderStore = new SelectedFolderStore(store.auth.settingsStore);
const treeFoldersStore = new TreeFoldersStore(selectedFolderStore); const treeFoldersStore = new TreeFoldersStore(selectedFolderStore);
@ -38,11 +28,13 @@ const filesStore = new FilesStore(
fileActionStore, fileActionStore,
selectedFolderStore, selectedFolderStore,
treeFoldersStore, treeFoldersStore,
formatsStore,
settingsStore, settingsStore,
selectedFilesStore selectedFilesStore
); );
const mediaViewerDataStore = new MediaViewerDataStore(filesStore, formatsStore); const mediaViewerDataStore = new MediaViewerDataStore(
filesStore,
settingsStore
);
const secondaryProgressDataStore = new SecondaryProgressDataStore(); const secondaryProgressDataStore = new SecondaryProgressDataStore();
const primaryProgressDataStore = new PrimaryProgressDataStore(); const primaryProgressDataStore = new PrimaryProgressDataStore();
@ -54,7 +46,6 @@ const dialogsStore = new DialogsStore(
selectedFolderStore selectedFolderStore
); );
const uploadDataStore = new UploadDataStore( const uploadDataStore = new UploadDataStore(
formatsStore,
treeFoldersStore, treeFoldersStore,
selectedFolderStore, selectedFolderStore,
filesStore, filesStore,
@ -82,7 +73,6 @@ const stores = {
filesStore, filesStore,
settingsStore, settingsStore,
mediaViewerDataStore, mediaViewerDataStore,
formatsStore,
versionHistoryStore, versionHistoryStore,
uploadDataStore, uploadDataStore,
dialogsStore, dialogsStore,