mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-24 04:48:03 +00:00
change wiki UI (#8078)
This commit is contained in:
@@ -67,7 +67,7 @@ class RenameWikiDialog extends React.Component {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<Modal isOpen={true} toggle={this.toggle}>
|
<Modal isOpen={true} toggle={this.toggle} autoFocus={false}>
|
||||||
<SeahubModalHeader toggle={this.toggle}>{gettext('Rename Wiki')}</SeahubModalHeader>
|
<SeahubModalHeader toggle={this.toggle}>{gettext('Rename Wiki')}</SeahubModalHeader>
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
<p>{gettext('New Wiki name')}</p>
|
<p>{gettext('New Wiki name')}</p>
|
||||||
@@ -79,6 +79,7 @@ class RenameWikiDialog extends React.Component {
|
|||||||
id="new-wiki-name"
|
id="new-wiki-name"
|
||||||
value={this.state.newName}
|
value={this.state.newName}
|
||||||
onChange={this.handleChange}
|
onChange={this.handleChange}
|
||||||
|
autoFocus={true}
|
||||||
/>
|
/>
|
||||||
{this.state.errMessage && <Alert color="danger" className="mt-2">{this.state.errMessage}</Alert>}
|
{this.state.errMessage && <Alert color="danger" className="mt-2">{this.state.errMessage}</Alert>}
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
|
@@ -114,6 +114,15 @@ export default class PageDropdownMenu extends Component {
|
|||||||
window.open(wikiLink);
|
window.open(wikiLink);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
renderItem = (onClick, icon, text) => {
|
||||||
|
return (
|
||||||
|
<DropdownItem onClick={onClick}>
|
||||||
|
<i className={`sf3-font sf3-font-${icon}`} aria-hidden="true" />
|
||||||
|
<span className="item-text">{text}</span>
|
||||||
|
</DropdownItem>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { canDeletePage = true } = this.props;
|
const { canDeletePage = true } = this.props;
|
||||||
return (
|
return (
|
||||||
@@ -125,44 +134,23 @@ export default class PageDropdownMenu extends Component {
|
|||||||
<DropdownToggle className="page-operation-dropdown-toggle" tag="span" data-toggle="dropdown"></DropdownToggle>
|
<DropdownToggle className="page-operation-dropdown-toggle" tag="span" data-toggle="dropdown"></DropdownToggle>
|
||||||
<DropdownMenu
|
<DropdownMenu
|
||||||
className="page-operation-dropdown-menu dtable-dropdown-menu large position-fixed"
|
className="page-operation-dropdown-menu dtable-dropdown-menu large position-fixed"
|
||||||
flip={false}
|
flip={true}
|
||||||
modifiers={[{ name: 'preventOverflow', options: { boundary: document.body } }]}
|
direction="down"
|
||||||
|
style={{ maxHeight: '80vh', overflowY: 'auto' }}
|
||||||
|
modifiers={[
|
||||||
|
{ name: 'preventOverflow', options: { boundary: 'window', padding: 8 } },
|
||||||
|
{ name: 'flip', enabled: true, options: { fallbackPlacements: ['top'] } }
|
||||||
|
]}
|
||||||
>
|
>
|
||||||
<DropdownItem onClick={this.handleCopyLink}>
|
{this.renderItem(this.handleCopyLink, 'link', gettext('Copy link'))}
|
||||||
<i className="sf3-font sf3-font-link" aria-hidden="true" />
|
{this.renderItem(this.onRename, 'rename', gettext('Modify name'))}
|
||||||
<span className="item-text">{gettext('Copy link')}</span>
|
{this.renderItem(this.addPageAbove, 'enlarge', gettext('Add page above'))}
|
||||||
</DropdownItem>
|
{this.renderItem(this.addPageBelow, 'enlarge', gettext('Add page below'))}
|
||||||
<DropdownItem onClick={this.onRename}>
|
{this.renderItem(this.duplicatePage, 'copy1', gettext('Duplicate page'))}
|
||||||
<i className="sf3-font sf3-font-rename" aria-hidden="true" />
|
{canDeletePage && this.renderItem(this.onDeletePage, 'delete1', gettext('Delete page'))}
|
||||||
<span className="item-text">{gettext('Modify name')}</span>
|
{this.renderItem(this.importPage, 'import-sdoc', gettext('Import page'))}
|
||||||
</DropdownItem>
|
|
||||||
<DropdownItem onClick={this.addPageAbove}>
|
|
||||||
<i className="sf3-font sf3-font-enlarge" aria-hidden="true" />
|
|
||||||
<span className="item-text">{gettext('Add page above')}</span>
|
|
||||||
</DropdownItem>
|
|
||||||
<DropdownItem onClick={this.addPageBelow}>
|
|
||||||
<i className="sf3-font sf3-font-enlarge" aria-hidden="true" />
|
|
||||||
<span className="item-text">{gettext('Add page below')}</span>
|
|
||||||
</DropdownItem>
|
|
||||||
<DropdownItem onClick={this.duplicatePage}>
|
|
||||||
<i className="sf3-font sf3-font-copy1" aria-hidden="true" />
|
|
||||||
<span className="item-text">{gettext('Duplicate page')}</span>
|
|
||||||
</DropdownItem>
|
|
||||||
{canDeletePage && (
|
|
||||||
<DropdownItem onClick={this.onDeletePage}>
|
|
||||||
<i className="sf3-font sf3-font-delete1" aria-hidden="true" />
|
|
||||||
<span className="item-text">{gettext('Delete page')}</span>
|
|
||||||
</DropdownItem>
|
|
||||||
)}
|
|
||||||
<DropdownItem onClick={this.importPage}>
|
|
||||||
<i className="sf3-font sf3-font-import-sdoc" aria-hidden="true" />
|
|
||||||
<span className="item-text">{gettext('Import page')}</span>
|
|
||||||
</DropdownItem>
|
|
||||||
<hr className='divider' />
|
<hr className='divider' />
|
||||||
<DropdownItem onClick={this.handleOpenInNewTab}>
|
{this.renderItem(this.handleOpenInNewTab, 'open-in-new-tab', gettext('Open in new tab'))}
|
||||||
<i className='sf3-font sf3-font-open-in-new-tab' aria-hidden="true" />
|
|
||||||
<span className="item-text">{gettext('Open in new tab')}</span>
|
|
||||||
</DropdownItem>
|
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user