diff --git a/frontend/src/components/cur-dir-path/dir-path.js b/frontend/src/components/cur-dir-path/dir-path.js index 386ea730fa..6bc22c8c64 100644 --- a/frontend/src/components/cur-dir-path/dir-path.js +++ b/frontend/src/components/cur-dir-path/dir-path.js @@ -3,8 +3,6 @@ import PropTypes from 'prop-types'; import { Link } from '@reach/router'; import { UncontrolledTooltip } from 'reactstrap'; import { siteRoot, gettext } from '../../utils/constants'; -import { seafileAPI } from '../../utils/seafile-api'; -import FileTag from '../../models/file-tag'; import InternalLinkDialog from '../dialog/internal-link-dialog'; const propTypes = { @@ -101,7 +99,7 @@ class DirPath extends React.Component { {(this.props.isViewFile && fileTags.length !== 0) && {fileTags.map((fileTag, index) => { - return () + return (); })} {tagTitle} diff --git a/frontend/src/components/dirent-grid-view/dirent-grid-view.js b/frontend/src/components/dirent-grid-view/dirent-grid-view.js index 7d0ac33394..619988ab51 100644 --- a/frontend/src/components/dirent-grid-view/dirent-grid-view.js +++ b/frontend/src/components/dirent-grid-view/dirent-grid-view.js @@ -40,6 +40,8 @@ const propTypes = { isDirentDetailShow: PropTypes.bool.isRequired, onGridItemClick: PropTypes.func, onAddFolder: PropTypes.func.isRequired, + showDirentDetail: PropTypes.func, + onItemRename: PropTypes.func, }; class DirentGridView extends React.Component{ @@ -61,7 +63,7 @@ class DirentGridView extends React.Component{ isMutipleOperation: false, isGridItemFreezed: false, activeDirent: null, - } + }; this.isRepoOwner = props.currentRepoInfo.owner_email === username; } @@ -176,7 +178,7 @@ class DirentGridView extends React.Component{ } onDetails = (dirent) => { - this.props.onGridItemClick(dirent) + this.props.onGridItemClick(dirent); this.props.showDirentDetail(); } @@ -266,7 +268,7 @@ class DirentGridView extends React.Component{ this.setState({ isRenameDialogShow: !this.state.isRenameDialogShow, }); - this.props.onItemRename(this.state.activeDirent, newName) + this.props.onItemRename(this.state.activeDirent, newName); } @@ -310,7 +312,7 @@ class DirentGridView extends React.Component{ } closeImagePopup = () => { - this.setState({isImagePopupOpen: false}) + this.setState({isImagePopupOpen: false}); } moveToPrevImage = () => { @@ -344,7 +346,7 @@ class DirentGridView extends React.Component{ } onGridContainerMouseDown = (event) => { - this.onMouseDown(event) + this.onMouseDown(event); } onGridItemMouseDown = (event) => { @@ -358,9 +360,9 @@ class DirentGridView extends React.Component{ } onGridContainerContextMenu = (event) => { - let id = "dirent-grid-container-menu" - let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE]; - this.handleContextClick(event, id, menuList); + let id = 'dirent-grid-container-menu'; + let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE]; + this.handleContextClick(event, id, menuList); } onGridItemContextMenu = (event, dirent) => { @@ -377,10 +379,10 @@ class DirentGridView extends React.Component{ let y = event.clientY || (event.touches && event.touches[0].pageY); if (this.props.posX) { - x -= this.props.posX; + x -= this.props.posX; } if (this.props.posY) { - y -= this.props.posY; + y -= this.props.posY; } hideMenu(); @@ -414,7 +416,7 @@ class DirentGridView extends React.Component{ contextmenuList = this.props.showShareBtn ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider']; if (dirent.type === 'file') { - contextmenuList = canGenerateShareLink ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'] + contextmenuList = canGenerateShareLink ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider']; } } @@ -508,7 +510,7 @@ class DirentGridView extends React.Component{ onGridItemClick={this.onGridItemClick} activeDirent={this.state.activeDirent} /> - ) + ); }) } @@ -609,9 +611,10 @@ class DirentGridView extends React.Component{ )} - ) + ); } } DirentGridView.propTypes = propTypes; + export default DirentGridView; \ No newline at end of file diff --git a/frontend/src/components/session-expired-tip.js b/frontend/src/components/session-expired-tip.js index 4e206e25f0..752ef2719f 100644 --- a/frontend/src/components/session-expired-tip.js +++ b/frontend/src/components/session-expired-tip.js @@ -6,7 +6,7 @@ function SessionExpiredTip() { {gettext('You are log out.')}{' '} {gettext('Login again.')} - ) + ); } -export default SessionExpiredTip \ No newline at end of file +export default SessionExpiredTip; \ No newline at end of file diff --git a/frontend/src/pages/invitations/invitations-view.js b/frontend/src/pages/invitations/invitations-view.js index 65ea3882b5..f96504f4d7 100644 --- a/frontend/src/pages/invitations/invitations-view.js +++ b/frontend/src/pages/invitations/invitations-view.js @@ -2,14 +2,14 @@ import React, {Fragment} from 'react'; import PropTypes from 'prop-types'; import {gettext, siteRoot} from '../../utils/constants'; import InvitationsToolbar from '../../components/toolbar/invitations-toolbar'; -import InvitePeopleDialog from "../../components/dialog/invite-people-dialog"; -import {seafileAPI} from "../../utils/seafile-api"; +import InvitePeopleDialog from '../../components/dialog/invite-people-dialog'; +import {seafileAPI} from '../../utils/seafile-api'; import {Table} from 'reactstrap'; -import Loading from "../../components/loading"; +import Loading from '../../components/loading'; import moment from 'moment'; import toaster from '../../components/toast'; -import "../../css/invitations.css"; +import '../../css/invitations.css'; class InvitationsListItem extends React.Component { @@ -43,16 +43,14 @@ class InvitationsListItem extends React.Component { const invitationItem = this.props.invitation; const acceptIcon = ; const deleteOperation = ; + title={gettext('Delete')} + style={!this.state.isOperationShow ? {opacity: 0} : {}} + onClick={this.props.onItemDelete.bind(this, invitationItem.token, this.props.index)}>; return ( - + {invitationItem.accepter} - {moment(invitationItem.invite_time).format("YYYY-MM-DD")} - {moment(invitationItem.expire_time).format("YYYY-MM-DD")} + {moment(invitationItem.invite_time).format('YYYY-MM-DD')} + {moment(invitationItem.expire_time).format('YYYY-MM-DD')} {invitationItem.accept_time && acceptIcon} {!invitationItem.accept_time && deleteOperation} @@ -94,24 +92,24 @@ class InvitationsListView extends React.Component { onItemDelete={this.onItemDelete} invitation={invitation} index={index} - />) + />); }); return ( - - - - - - - - - - - - {invitationsListItems} - -
{gettext('Email')}{gettext('Invite Time')}{gettext('Expiration')}{gettext('Accepted')}
+ + + + + + + + + + + + {invitationsListItems} + +
{gettext('Email')}{gettext('Invite Time')}{gettext('Expiration')}{gettext('Accepted')}
); } } @@ -191,7 +189,7 @@ class InvitationsView extends React.Component {

{gettext('You have not invited any people.')}

- ) + ); } handlePermissionDenied = () => { @@ -200,7 +198,7 @@ class InvitationsView extends React.Component {
{this.state.permissionDeniedMsg}
- ) + ); } render() { @@ -240,4 +238,11 @@ class InvitationsView extends React.Component { } } +const InvitationsViewPropTypes = { + onShowSidePanel: PropTypes.func.isRequired, + onSearchedClick: PropTypes.func.isRequired, +}; + +InvitationsView.propTypes = InvitationsViewPropTypes; + export default InvitationsView; diff --git a/frontend/src/pages/sys-admin/side-panel.js b/frontend/src/pages/sys-admin/side-panel.js index 2beec7e00c..b4a8579a65 100644 --- a/frontend/src/pages/sys-admin/side-panel.js +++ b/frontend/src/pages/sys-admin/side-panel.js @@ -3,9 +3,9 @@ import PropTypes from 'prop-types'; import { Link } from '@reach/router'; import Logo from '../../components/logo'; import { gettext, siteRoot, isPro, isDefaultAdmin, canViewSystemInfo, canViewStatistic, - canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog, - canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled, - enableGuestInvitation, enableTermsAndConditions, enableFileScan } from '../../utils/constants'; + canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog, + canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled, + enableGuestInvitation, enableTermsAndConditions, enableFileScan } from '../../utils/constants'; const propTypes = { isSidePanelClosed: PropTypes.bool.isRequired, @@ -27,7 +27,7 @@ class SidePanel extends React.Component {