1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 07:27:04 +00:00

feat: fix compatitablily to wiki shortcut

This commit is contained in:
liuhongbo
2024-06-13 10:20:59 +08:00
parent 983b42b1d8
commit e84b29d71c
7 changed files with 169 additions and 13 deletions

View File

@@ -29,6 +29,7 @@ const propTypes = {
setCurrentPage: PropTypes.func.isRequired,
currentPageId: PropTypes.string,
onUpdatePage: PropTypes.func.isRequired,
addNewPageRef: PropTypes.object.isRequired,
};
class SidePanel extends Component {
@@ -39,6 +40,7 @@ class SidePanel extends Component {
isShowNewFolderDialog: false,
isShowAddNewPageDialog: false,
};
this.props.addNewPageRef.current = this.handleAddNewPage;
}
confirmDeletePage = (pageId) => {
@@ -65,12 +67,12 @@ class SidePanel extends Component {
this.addPage(newPage, parentPageId, successCallback, errorCallback);
};
onAddNewPage = async ({ name, icon, path, docUuid, successCallback, errorCallback }) => {
onAddNewPage = async ({ name, icon, path, docUuid, successCallback, errorCallback, jumpToNewPage = true }) => {
const { config } = this.props;
const navigation = config.navigation;
const pageId = generateUniqueId(navigation);
const newPage = new Page({ id: pageId, name, icon, path, docUuid });
this.addPage(newPage, this.current_folder_id, successCallback, errorCallback);
this.addPage(newPage, this.current_folder_id, successCallback, errorCallback, jumpToNewPage);
};
duplicatePage = async (fromPageConfig, successCallback, errorCallback) => {
@@ -88,7 +90,7 @@ class SidePanel extends Component {
this.addPage(newPage, this.current_folder_id, successCallback, errorCallback);
};
addPage = (page, parentId, successCallback, errorCallback) => {
addPage = (page, parentId, successCallback, errorCallback, jumpToNewPage = true) => {
const { config } = this.props;
const navigation = config.navigation;
const pageId = page.id;
@@ -96,7 +98,7 @@ class SidePanel extends Component {
PageUtils.addPage(navigation, pageId, parentId);
config.navigation = navigation;
const onSuccess = () => {
this.props.setCurrentPage(pageId, successCallback);
jumpToNewPage && this.props.setCurrentPage(pageId, successCallback);
successCallback();
};
this.props.saveWikiConfig(config, onSuccess, errorCallback);
@@ -342,11 +344,11 @@ class SidePanel extends Component {
);
};
handleAddNewPage = () => {
const pageName = 'Untitled'; // default page name
// default page name
handleAddNewPage = (jumpToNewPage = true, pageName = 'Untitled') => {
const voidFn = () => void 0;
wikiAPI.createWiki2Page(wikiId, pageName).then(res => {
const { obj_name, parent_dir, doc_uuid,page_name } = res.data;
const { obj_name, parent_dir, doc_uuid, page_name } = res.data;
this.onAddNewPage({
name: page_name,
icon: '',
@@ -354,6 +356,7 @@ class SidePanel extends Component {
docUuid: doc_uuid,
successCallback: voidFn,
errorCallback: voidFn,
jumpToNewPage,
});
}).catch((error) => {
let errMessage = Utils.getErrorMsg(error);
@@ -368,7 +371,7 @@ class SidePanel extends Component {
<div className={`wiki2-side-panel${this.props.closeSideBar ? '' : ' left-zero'}`}>
<div className="wiki2-side-panel-top">
<h4 className="text-truncate ml-0 mb-0" title={repoName}>{repoName}</h4>
<div id='wiki-add-new-page' className='add-new-page' onClick={this.handleAddNewPage}>
<div id='wiki-add-new-page' className='add-new-page' onClick={this.handleAddNewPage.bind(true)}>
<i className='sf3-font sf3-font-new-page'></i>
</div>
<UncontrolledTooltip target="wiki-add-new-page">