1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-22 20:08:19 +00:00
* [sdoc file view] added file view, history/trash file view for 'sdoc'

* [sdoc file view] sdoc-editor: upgraded it to the latest version(0.1.5)

- sdoc file view: enable 'auto save'
- sdoc shared/history/trash file view: use the read-only sdoc viewer

* [sdoc file view] fixup
This commit is contained in:
llj
2023-04-17 15:32:52 +08:00
committed by GitHub
parent 101c5e85fb
commit 7ab352db18
16 changed files with 702 additions and 79 deletions

View File

@@ -0,0 +1,61 @@
import React from 'react';
import ReactDom from 'react-dom';
import { SDocViewer } from '@seafile/sdoc-editor';
import { seafileAPI } from './utils/seafile-api';
import { Utils } from './utils/utils';
import { defaultContentForSDoc } from './utils/constants';
import SharedFileView from './components/shared-file-view/shared-file-view';
import SharedFileViewTip from './components/shared-file-view/shared-file-view-tip';
import Loading from './components/loading';
import toaster from './components/toast';
import './css/sdoc-file-view.css';
const { rawPath, err } = window.shared.pageOptions;
class SharedFileViewSdoc extends React.Component {
render() {
return <SharedFileView content={<FileContent />} />;
}
}
class FileContent extends React.Component {
constructor(props) {
super(props);
this.state = {
loading: !err
};
}
componentDidMount() {
seafileAPI.getFileContent(rawPath).then((res) => {
this.setState({
content: res.data || defaultContentForSDoc,
loading: false
});
}).catch(error => {
let errMessage = Utils.getErrorMsg(error);
toaster.danger(errMessage);
});
}
render() {
const { loading, content } = this.state;
if (err) {
return <SharedFileViewTip />;
}
if (loading) {
return <Loading />;
}
return (
<div className="shared-file-view-body d-flex flex-column sdoc-file-view p-0">
{content && <SDocViewer document={content} config={{}} />}
</div>
);
}
}
ReactDom.render(<SharedFileViewSdoc />, document.getElementById('wrapper'));