1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-16 16:21:48 +00:00
seahub/frontend/src/view-file-sdoc.js

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