mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-13 13:50:07 +00:00
feat: add new page (#6160)
* feat: add new page * rename duplicated page * feat: wiki add new page --------- Co-authored-by: ‘JoinTyang’ <yangtong1009@163.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import deepCopy from 'deep-copy';
|
||||
import { UncontrolledTooltip } from 'reactstrap';
|
||||
import { gettext, isWiki2, wikiId } from '../../utils/constants';
|
||||
import toaster from '../../components/toast';
|
||||
import Loading from '../../components/loading';
|
||||
@@ -14,6 +15,7 @@ import Folder from './models/folder';
|
||||
import Page from './models/page';
|
||||
import wikiAPI from '../../utils/wiki-api';
|
||||
import { FOLDER } from './constant';
|
||||
import { Utils } from '../../utils/utils';
|
||||
|
||||
import './side-panel.css';
|
||||
|
||||
@@ -339,12 +341,38 @@ class SidePanel extends Component {
|
||||
);
|
||||
};
|
||||
|
||||
handleAddNewPage = () => {
|
||||
const pageName = 'Untitled'; // default page name
|
||||
const voidFn = () => void 0;
|
||||
wikiAPI.createWiki2Page(wikiId, pageName).then(res => {
|
||||
const { obj_name, parent_dir, doc_uuid,page_name } = res.data;
|
||||
this.onAddNewPage({
|
||||
name: page_name,
|
||||
icon: '',
|
||||
path: parent_dir === '/' ? `/${obj_name}` : `${parent_dir}/${obj_name}`,
|
||||
docUuid: doc_uuid,
|
||||
successCallback: voidFn,
|
||||
errorCallback: voidFn,
|
||||
});
|
||||
}).catch((error) => {
|
||||
let errMessage = Utils.getErrorMsg(error);
|
||||
toaster.danger(errMessage);
|
||||
this.onError();
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
const { isLoading, config } = this.props;
|
||||
return (
|
||||
<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}>
|
||||
<i className='sf3-font sf3-font-new-page'></i>
|
||||
</div>
|
||||
<UncontrolledTooltip target="wiki-add-new-page">
|
||||
{gettext('New page')}
|
||||
</UncontrolledTooltip>
|
||||
</div>
|
||||
<div className="wiki2-side-nav">
|
||||
{isLoading ? <Loading /> : (isObjectNotEmpty(config) ? this.renderFolderView() : this.renderNoFolder())}
|
||||
|
Reference in New Issue
Block a user