diff --git a/frontend/src/components/dialog/add-related-file-dialog.js b/frontend/src/components/dialog/add-related-file-dialog.js index 24928644ef..3cdbcbd5af 100644 --- a/frontend/src/components/dialog/add-related-file-dialog.js +++ b/frontend/src/components/dialog/add-related-file-dialog.js @@ -1,6 +1,6 @@ import React ,{ Fragment } from 'react'; import PropTypes from 'prop-types'; -import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Alert } from 'reactstrap'; +import { Button, ModalHeader, ModalBody, ModalFooter, Alert } from 'reactstrap'; import { gettext } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import { Utils } from '../../utils/utils'; diff --git a/frontend/src/components/dialog/list-related-file-dialog.js b/frontend/src/components/dialog/list-related-file-dialog.js index 95e91d1ad9..b20b93d857 100644 --- a/frontend/src/components/dialog/list-related-file-dialog.js +++ b/frontend/src/components/dialog/list-related-file-dialog.js @@ -1,6 +1,6 @@ import React ,{ Fragment } from 'react'; import PropTypes from 'prop-types'; -import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Table } from 'reactstrap'; +import { Button, ModalHeader, ModalBody, ModalFooter, Table } from 'reactstrap'; import Dirent from '../../models/dirent'; import { gettext, siteRoot } from '../../utils/constants'; import { Utils } from '../../utils/utils'; diff --git a/frontend/src/components/dialog/share-to-user.js b/frontend/src/components/dialog/share-to-user.js index cf2ba65c10..e47c81aece 100644 --- a/frontend/src/components/dialog/share-to-user.js +++ b/frontend/src/components/dialog/share-to-user.js @@ -5,7 +5,7 @@ import { Button } from 'reactstrap'; import { seafileAPI } from '../../utils/seafile-api.js'; import UserSelect from '../user-select'; import SharePermissionEditor from '../select-editor/share-permission-editor'; -import "../../css/invitations.css"; +import '../../css/invitations.css'; class UserItem extends React.Component { diff --git a/frontend/src/components/dir-view-mode/dir-column-nav.js b/frontend/src/components/dir-view-mode/dir-column-nav.js index eddad71662..845b4df570 100644 --- a/frontend/src/components/dir-view-mode/dir-column-nav.js +++ b/frontend/src/components/dir-view-mode/dir-column-nav.js @@ -30,6 +30,8 @@ const propTypes = { navRate: PropTypes.number, inResizing: PropTypes.bool.isRequired, currentRepoInfo: PropTypes.object.isRequired, + onItemMove: PropTypes.func.isRequired, + onItemCopy: PropTypes.func.isRequired, selectedDirentList: PropTypes.array.isRequired, }; diff --git a/frontend/src/components/dir-view-mode/dir-grid-view.js b/frontend/src/components/dir-view-mode/dir-grid-view.js index 4b6834b234..2dff26c215 100644 --- a/frontend/src/components/dir-view-mode/dir-grid-view.js +++ b/frontend/src/components/dir-view-mode/dir-grid-view.js @@ -30,6 +30,7 @@ const propTypes = { showDirentDetail: PropTypes.func.isRequired, onAddFolder: PropTypes.func.isRequired, onFileTagChanged: PropTypes.func, + onItemRename: PropTypes.func.isRequired, }; class DirGridView extends React.Component { diff --git a/frontend/src/components/dirent-grid-view/dirent-grid-item.js b/frontend/src/components/dirent-grid-view/dirent-grid-item.js index 8de5de9fa4..1ad87daade 100644 --- a/frontend/src/components/dirent-grid-view/dirent-grid-item.js +++ b/frontend/src/components/dirent-grid-view/dirent-grid-item.js @@ -13,6 +13,8 @@ const propTypes = { onGridItemClick: PropTypes.func.isRequired, activeDirent: PropTypes.object, onGridItemMouseDown: PropTypes.func, + currentRepoInfo: PropTypes.object, + onItemMove: PropTypes.func.isRequired, }; class DirentGridItem extends React.Component { @@ -22,7 +24,7 @@ class DirentGridItem extends React.Component { this.state = { isGridSelected: false, isGridDropTipShow: false, - } + }; } componentWillReceiveProps(nextProps) { @@ -30,7 +32,7 @@ class DirentGridItem extends React.Component { if (nextProps.activeDirent && nextProps.activeDirent.name === nextProps.dirent.name) { this.setState({isGridSelected: true}); } - }) + }); } onItemMove = (destRepo, dirent, selectedPath, currentPath) => { @@ -51,7 +53,7 @@ class DirentGridItem extends React.Component { } } else { this.setState({isGridSelected: false}); - this.props.onGridItemClick(this.props.dirent) + this.props.onGridItemClick(this.props.dirent); } } @@ -140,9 +142,9 @@ class DirentGridItem extends React.Component { } let fileHref = siteRoot + 'lib/' + this.props.repoID + '/file' + Utils.encodePath(direntPath); - let gridClass = 'grid-file-img-link cursor-pointer' - gridClass += this.state.isGridSelected ? " grid-selected-active" : " "; - gridClass += this.state.isGridDropTipShow ? " grid-drop-show" : " "; + let gridClass = 'grid-file-img-link cursor-pointer'; + gridClass += this.state.isGridSelected ? ' grid-selected-active' : ' '; + gridClass += this.state.isGridDropTipShow ? ' grid-drop-show' : ' '; let lockedInfo = gettext('locked by {name}'); lockedInfo = lockedInfo.replace('{name}', dirent.lock_owner_name); @@ -167,11 +169,11 @@ class DirentGridItem extends React.Component { {dirent.is_locked && {gettext('locked')}}
- {dirent.name} + {dirent.name}
- ) + ); } } 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 619988ab51..504653c0f1 100644 --- a/frontend/src/components/dirent-grid-view/dirent-grid-view.js +++ b/frontend/src/components/dirent-grid-view/dirent-grid-view.js @@ -40,8 +40,8 @@ const propTypes = { isDirentDetailShow: PropTypes.bool.isRequired, onGridItemClick: PropTypes.func, onAddFolder: PropTypes.func.isRequired, - showDirentDetail: PropTypes.func, - onItemRename: PropTypes.func, + showDirentDetail: PropTypes.func.isRequired, + onItemRename: PropTypes.func.isRequired, }; class DirentGridView extends React.Component{ diff --git a/frontend/src/components/dirent-list-view/dirent-list-item.js b/frontend/src/components/dirent-list-view/dirent-list-item.js index b75d92e7ef..cc5bebec80 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-item.js +++ b/frontend/src/components/dirent-list-view/dirent-list-item.js @@ -45,6 +45,8 @@ const propTypes = { selectedDirentList: PropTypes.array.isRequired, activeDirent: PropTypes.object, getDirentItemMenuList: PropTypes.func.isRequired, + onFileTagChanged: PropTypes.func, + enableDirPrivateShare: PropTypes.bool.isRequired, }; class DirentListItem extends React.Component { @@ -480,7 +482,7 @@ class DirentListItem extends React.Component { } - ) + ); } render() { diff --git a/frontend/src/components/dirent-list-view/dirent-list-view.js b/frontend/src/components/dirent-list-view/dirent-list-view.js index 39bb93e494..2a01ab67dd 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-view.js +++ b/frontend/src/components/dirent-list-view/dirent-list-view.js @@ -45,6 +45,8 @@ const propTypes = { onItemsCopy: PropTypes.func.isRequired, onItemsDelete: PropTypes.func.isRequired, onFileTagChanged: PropTypes.func, + enableDirPrivateShare: PropTypes.bool.isRequired, + isGroupOwnedRepo: PropTypes.bool.isRequired, }; class DirentListView extends React.Component { @@ -294,10 +296,10 @@ class DirentListView 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(); @@ -326,7 +328,7 @@ class DirentListView extends React.Component { onContainerContextMenu = (event) => { if (this.props.selectedDirentList.length === 0) { - let id = "dirent-container-menu" + let id = 'dirent-container-menu'; let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE]; this.handleContextClick(event, id, menuList); } else { @@ -341,7 +343,7 @@ class DirentListView extends React.Component { event.preventDefault(); event.persist(); setTimeout(() => { - let id = "dirent-container-menu" + let id = 'dirent-container-menu'; let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE]; this.handleContextClick(event, id, menuList); }, 0); @@ -539,7 +541,7 @@ class DirentListView extends React.Component { onTableDragLeave = (e) => { if (e.target.className === 'table-container table-drop-active') { - this.setState({isListDropTipShow: false}) + this.setState({isListDropTipShow: false}); } } @@ -558,7 +560,7 @@ class DirentListView extends React.Component { if (nodeRootPath === this.props.path || nodeParentPath === this.props.path) { return; } - this.props.onItemMove(this.props.currentRepoInfo, nodeDirent, this.props.path, nodeParentPath) + this.props.onItemMove(this.props.currentRepoInfo, nodeDirent, this.props.path, nodeParentPath); } } diff --git a/frontend/src/components/toolbar/markdown-viewer-toolbar.js b/frontend/src/components/toolbar/markdown-viewer-toolbar.js index 44858c2586..7e4601b3bf 100644 --- a/frontend/src/components/toolbar/markdown-viewer-toolbar.js +++ b/frontend/src/components/toolbar/markdown-viewer-toolbar.js @@ -158,7 +158,7 @@ class MarkdownViewerToolbar extends React.Component { } {canGenerateShareLink && + onMouseDown={this.props.toggleShareLinkDialog}/> } { this.props.showFileHistory && { - e.persist() + e.persist(); if (e.target.className === 'tree-view tree ') { this.setState({ isTreeViewDropTipShow: true, - }) + }); } } @@ -61,7 +61,7 @@ class TreeView extends React.Component { if (e.target.className === 'tree-view tree tree-view-drop') { this.setState({ isTreeViewDropTipShow: false, - }) + }); } } @@ -154,10 +154,10 @@ class TreeView 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(); diff --git a/frontend/src/pages/lib-content-view/lib-content-container.js b/frontend/src/pages/lib-content-view/lib-content-container.js index dc2bb7c9a2..9dc79442ec 100644 --- a/frontend/src/pages/lib-content-view/lib-content-container.js +++ b/frontend/src/pages/lib-content-view/lib-content-container.js @@ -86,6 +86,7 @@ const propTypes = { onDeleteRepoTag: PropTypes.func.isRequired, updateDetail: PropTypes.bool.isRequired, onListContainerScroll: PropTypes.func.isRequired, + onDirentClick: PropTypes.func.isRequired, }; class LibContentContainer extends React.Component { diff --git a/frontend/src/pages/lib-content-view/lib-content-view.js b/frontend/src/pages/lib-content-view/lib-content-view.js index a26a03e8ab..bf40f4d620 100644 --- a/frontend/src/pages/lib-content-view/lib-content-view.js +++ b/frontend/src/pages/lib-content-view/lib-content-view.js @@ -196,20 +196,20 @@ class LibContentView extends React.Component { if (this.state.currentMode === 'column') { if (this.state.isViewFile) { - this.updataColumnMarkdownData(path) + this.updataColumnMarkdownData(path); } else { seafileAPI.dirMetaData(repoID, path).then((res) => { if (res.data.id !== dirID) { this.loadDirentList(path); } - }) + }); } } else { seafileAPI.dirMetaData(repoID, path).then((res) => { if (res.data.id !== dirID) { this.loadDirentList(path); } - }) + }); } } @@ -252,7 +252,7 @@ class LibContentView extends React.Component { seafileAPI.getFileDownloadLink(repoID, filePath).then((res) => { seafileAPI.getFileContent(res.data).then((res) => { if (this.state.content !== res.data) { - this.setState({isFileLoading: true}) + this.setState({isFileLoading: true}); } this.setState({ content: res.data, @@ -419,7 +419,7 @@ class LibContentView extends React.Component { toaster.danger( , {id: 'session_expired', duration: 3600} - ) + ); } this.setState({ isFileLoading: false, @@ -466,8 +466,8 @@ class LibContentView extends React.Component { toaster.danger( , {id: 'session_expired', duration: 3600} - ) - this.setState({isDirentListLoading: false}) + ); + this.setState({isDirentListLoading: false}); return; } this.setState({ @@ -1416,7 +1416,7 @@ class LibContentView extends React.Component { let direntItemsList = this.state.direntList.filter((item, index) => { return index < this.state.itemsShowLength; - }) + }); return (