import React, { Fragment } from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';
import { fileName, historyRepoID } from './utils/constants';
import { Utils } from './utils/utils';
import CommonToolbar from './components/toolbar/common-toolbar';
import SidePanel from './pages/file-history/side-panel';
import MainPanel from './pages/file-history/main-panel';
import { seafileAPI } from './utils/seafile-api';
import './assets/css/fa-solid.css';
import './assets/css/fa-regular.css';
import './assets/css/fontawesome.css';
import './css/layout.css';
import './css/file-history.css';
import './css/toolbar.css';
import './css/search.css';
class FileHistory extends React.Component {
constructor(props) {
super(props);
this.state = {
renderingContent: true,
newMarkdownContent: '',
oldMarkdownContent: ''
};
}
onSearchedClick = (searchedItem) => {
Utils.handleSearchedItemClick(searchedItem);
}
setDiffContent = (newMarkdownContent, oldMarkdownContent)=> {
this.setState({
renderingContent: false,
newMarkdownContent: newMarkdownContent,
oldMarkdownContent: oldMarkdownContent,
});
}
onHistoryItemClick = (item, preItem)=> {
this.setState({renderingContent: true});
if (preItem) {
axios.all([
seafileAPI.getFileRevision(historyRepoID, item.commit_id, item.path),
seafileAPI.getFileRevision(historyRepoID, preItem.commit_id, preItem.path)
]).then(axios.spread((res, res1) => {
axios.all([
seafileAPI.getFileContent(res.data),
seafileAPI.getFileContent(res1.data)
]).then(axios.spread((content1, content2) => {
this.setDiffContent(content1.data, content2.data);
}));
}));
} else {
seafileAPI.getFileRevision(historyRepoID, item.commit_id, item.path).then((res) => {
axios.all([
seafileAPI.getFileContent(res.data),
]).then(axios.spread((content1) => {
this.setDiffContent(content1.data, '');
}));
});
}
}
render() {
return(
);
}
}
ReactDOM.render (
,
document.getElementById('wrapper')
);