1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-21 11:27:18 +00:00
Files
seahub/frontend/src/view-file-sdoc.js

76 lines
2.3 KiB
JavaScript
Raw Normal View History

import React, { Suspense } from 'react';
import ReactDom from 'react-dom';
import { I18nextProvider } from 'react-i18next';
import i18n from './_i18n/i18n-sdoc-editor';
import { Utils } from './utils/utils';
import Loading from './components/loading';
import SdocEditor from './pages/sdoc/sdoc-editor';
import { MetadataStatusProvider } from './hooks';
import { CollaboratorsProvider } from './metadata';
import { TagsProvider } from './tag/hooks';
2024-12-21 15:39:40 +08:00
import { SimpleViewer } from '@seafile/sdoc-editor';
const { serviceURL, avatarURL, siteRoot, lang, mediaUrl, isPro, fileServerRoot } = window.app.config;
2023-04-23 16:54:59 +08:00
const { username, name } = window.app.userInfo;
const {
repoID, repoName, repoEncrypted, parentDir, filePerm,
2024-12-23 16:50:01 +08:00
docPath, docName, docUuid, seadocAccessToken, seadocServerUrl, assetsUrl,
isSdocRevision, isPublished, originFilename, revisionCreatedAt, originFileVersion,
2025-01-04 14:45:10 +08:00
originFilePath, originDocUuid, revisionId, isFreezed, mobileLogin, isRepoAdmin,
enableSeafileAI
} = window.app.pageOptions;
2023-04-18 18:23:03 +08:00
window.seafile = {
repoID,
isRepoAdmin,
docPath,
docName,
docUuid,
2023-04-18 18:23:03 +08:00
isOpenSocket: true,
serviceUrl: serviceURL,
accessToken: seadocAccessToken,
sdocServer: seadocServerUrl,
2023-04-23 16:54:59 +08:00
name,
username,
2023-04-23 16:54:59 +08:00
avatarURL,
siteRoot,
docPerm: filePerm,
historyURL: Utils.generateHistoryURL(siteRoot, repoID, docPath),
parentFolderURL: `${siteRoot}library/${repoID}/${Utils.encodePath(repoName + parentDir)}`,
2023-05-13 15:34:41 +08:00
assetsUrl,
2023-05-22 18:26:56 +08:00
isShowInternalLink: true,
2023-07-06 14:56:31 +08:00
isStarIconShown: true, // for star/unstar
2023-07-06 17:47:24 +08:00
isSdocRevision,
isPublished,
2023-07-07 16:07:14 +08:00
originFilename,
originFileVersion,
originFilePath,
originDocUuid,
2023-07-07 16:07:14 +08:00
revisionCreatedAt,
lang,
revisionId,
mediaUrl,
2023-11-21 13:53:40 +08:00
isFreezed,
2023-12-14 10:33:19 +08:00
isPro: isPro === 'True' ? true : false,
2024-12-07 14:21:37 +08:00
mobileLogin,
2025-01-04 14:45:10 +08:00
enableSeafileAI,
fileServerRoot,
};
const repoInfo = { encrypted: repoEncrypted, permission: filePerm, is_admin: isRepoAdmin };
ReactDom.render(
<I18nextProvider i18n={ i18n } >
<Suspense fallback={<Loading />}>
<MetadataStatusProvider repoID={repoID} repoInfo={repoInfo}>
<CollaboratorsProvider repoID={repoID}>
<TagsProvider repoID={repoID} repoInfo={repoInfo}>
2024-12-23 16:50:01 +08:00
{filePerm === 'rw' ? <SdocEditor /> : <SimpleViewer />}
</TagsProvider>
</CollaboratorsProvider>
</MetadataStatusProvider>
</Suspense>
</I18nextProvider>,
document.getElementById('wrapper')
);