diff --git a/frontend/src/components/wiki-list-view/wiki-list-item.js b/frontend/src/components/wiki-list-view/wiki-list-item.js index de00fd20f9..dffa8bf8c4 100644 --- a/frontend/src/components/wiki-list-view/wiki-list-item.js +++ b/frontend/src/components/wiki-list-view/wiki-list-item.js @@ -1,7 +1,8 @@ import React, { Component, Fragment } from 'react'; +import { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap'; import PropTypes from 'prop-types'; import moment from 'moment'; -import { siteRoot } from '../../utils/constants'; +import { siteRoot, gettext } from '../../utils/constants'; // import { seafileAPI } from '../../utils/seafile-api'; // import Toast from '../toast'; import ModalPortal from '../modal-portal'; @@ -23,6 +24,7 @@ class WikiListItem extends Component { constructor(props) { super(props); this.state = { + isOpMenuOpen: false, // for mobile isShowDeleteDialog: false, // isRenameing: false, highlight: false, @@ -30,6 +32,12 @@ class WikiListItem extends Component { }; } + toggleOpMenu = () => { + this.setState({ + isOpMenuOpen: !this.state.isOpMenuOpen + }); + } + // clickMenuToggle = (e) => { // e.preventDefault(); // this.onMenuToggle(e); @@ -130,23 +138,55 @@ class WikiListItem extends Component { let fileIconUrl = Utils.getDefaultLibIconUrl(false); let deleteIcon = `action-icon sf2-icon-x3 ${this.state.highlight ? '' : 'invisible'}`; - return ( - - - - - {wiki.name} - {/*this.state.isRenameing ? + const desktopItem = ( + + + + {wiki.name} + {/*this.state.isRenameing ? : {wiki.name} */} - - {wiki.owner_nickname} - {moment(wiki.updated_at).fromNow()} - - - - + + {wiki.owner_nickname} + {moment(wiki.updated_at).fromNow()} + + + + + ); + + const mobileItem = ( + + + + {wiki.name}
+ {wiki.owner_nickname} + {moment(wiki.updated_at).fromNow()} + + + + +
+
+
+ {gettext('Unpublish')} +
+
+
+ + + ); + + return ( + + {window.innerWidth >= 768 ? desktopItem : mobileItem} {this.state.isShowDeleteDialog && {errorMsg}

; } else { + const desktopThead = ( + + + + {gettext('Name')} + {gettext('Owner')} + {gettext('Last Update')} + {/* operation */} + + + ); return ( - - - - - - - - - - - - - - - - +
{gettext('Name')}{gettext('Name')}{gettext('Owner')}{gettext('Last Update')}{/* operation */}
= 768 ? '' : 'table-thead-hidden'}> + {window.innerWidth >= 768 ? desktopThead : } {wikis.map((wiki, index) => { return ( diff --git a/frontend/src/css/toolbar.css b/frontend/src/css/toolbar.css index 8d10129ee2..1f40937116 100644 --- a/frontend/src/css/toolbar.css +++ b/frontend/src/css/toolbar.css @@ -4,6 +4,7 @@ position: relative; display: flex; flex: 1; + align-items: center; } .border-left-show:before { diff --git a/frontend/src/pages/wikis/wikis.js b/frontend/src/pages/wikis/wikis.js index 5812fd6c0c..09cc2012e8 100644 --- a/frontend/src/pages/wikis/wikis.js +++ b/frontend/src/pages/wikis/wikis.js @@ -135,7 +135,7 @@ class Wikis extends Component { - + }