2023-04-21 03:55:11 +00:00
|
|
|
import React, { Suspense } from 'react';
|
2023-04-17 07:32:52 +00:00
|
|
|
import ReactDom from 'react-dom';
|
2023-04-18 10:23:03 +00:00
|
|
|
import { SimpleViewer } from '@seafile/sdoc-editor';
|
2023-04-21 03:55:11 +00:00
|
|
|
import { I18nextProvider } from 'react-i18next';
|
|
|
|
import i18n from './_i18n/i18n-sdoc-editor';
|
|
|
|
import Loading from './components/loading';
|
2023-04-27 02:36:49 +00:00
|
|
|
import { Utils } from './utils/utils';
|
2023-04-17 07:32:52 +00:00
|
|
|
|
2023-05-19 13:22:41 +00:00
|
|
|
const { serviceURL, siteRoot, avatarURL } = window.app.config;
|
|
|
|
const { username } = window.app.pageOptions;
|
|
|
|
const {
|
|
|
|
repoID, filePerm,
|
2023-08-30 10:24:39 +00:00
|
|
|
canDownload, canEdit,
|
|
|
|
trafficOverLimit, zipped,
|
2023-05-19 13:22:41 +00:00
|
|
|
docPath, docName, docUuid, seadocAccessToken, seadocServerUrl, assetsUrl
|
|
|
|
} = window.shared.pageOptions;
|
2023-04-17 07:32:52 +00:00
|
|
|
|
2023-08-30 10:24:39 +00:00
|
|
|
// share permission of this sdoc
|
|
|
|
const sharePermission = {'can_edit': canEdit, 'can_download': canDownload, 'can_upload': false};
|
|
|
|
const sharePermissionStr = Utils.getShareLinkPermissionStr(sharePermission);
|
|
|
|
const sharePermissionText = Utils.getShareLinkPermissionObject(sharePermissionStr).text;
|
|
|
|
|
2023-04-18 10:23:03 +00:00
|
|
|
window.seafile = {
|
|
|
|
repoID,
|
2023-05-19 13:22:41 +00:00
|
|
|
docPath,
|
|
|
|
docName,
|
|
|
|
docUuid,
|
|
|
|
isOpenSocket: true,
|
2023-04-18 10:23:03 +00:00
|
|
|
serviceUrl: serviceURL,
|
2023-05-19 13:22:41 +00:00
|
|
|
accessToken: seadocAccessToken,
|
|
|
|
sdocServer: seadocServerUrl,
|
2023-04-21 03:55:11 +00:00
|
|
|
username,
|
2023-05-19 13:22:41 +00:00
|
|
|
avatarURL,
|
2023-04-27 02:36:49 +00:00
|
|
|
siteRoot,
|
2023-08-30 10:24:39 +00:00
|
|
|
sharePermissionText: sharePermissionText,
|
|
|
|
downloadURL: (canDownload && !trafficOverLimit) ? `?${zipped ? 'p=' + encodeURIComponent(docPath) + '&' : ''}dl=1` : '',
|
2023-04-27 02:36:49 +00:00
|
|
|
docPerm: filePerm,
|
2023-05-19 13:22:41 +00:00
|
|
|
historyURL: Utils.generateHistoryURL(siteRoot, repoID, docPath),
|
2023-05-13 07:34:41 +00:00
|
|
|
assetsUrl,
|
2023-04-18 10:23:03 +00:00
|
|
|
};
|
2023-04-17 07:32:52 +00:00
|
|
|
|
2023-11-22 03:29:01 +00:00
|
|
|
(function() {
|
|
|
|
const fileIcon = Utils.getFileIconUrl(docName, 192);
|
|
|
|
document.getElementById('favicon').href = fileIcon;
|
|
|
|
})();
|
|
|
|
|
2023-04-21 03:55:11 +00:00
|
|
|
ReactDom.render(
|
|
|
|
<I18nextProvider i18n={ i18n } >
|
|
|
|
<Suspense fallback={<Loading />}>
|
|
|
|
<SimpleViewer />
|
|
|
|
</Suspense>
|
|
|
|
</I18nextProvider>,
|
|
|
|
document.getElementById('wrapper')
|
|
|
|
);
|