diff --git a/frontend/src/components/dialog/create-department-repo-dialog.js b/frontend/src/components/dialog/create-department-repo-dialog.js index c5a31687bb..f4f52a62e9 100644 --- a/frontend/src/components/dialog/create-department-repo-dialog.js +++ b/frontend/src/components/dialog/create-department-repo-dialog.js @@ -35,6 +35,7 @@ class CreateDepartmentRepoDialog extends React.Component { handleKeyPress = (e) => { if (e.key === 'Enter') { this.handleSubmit(); + e.preventDefault(); } } @@ -50,20 +51,16 @@ class CreateDepartmentRepoDialog extends React.Component { let errMessage = ''; let repoName = this.state.repoName.trim(); if (!repoName.length) { - errMessage = 'Name is required'; + errMessage = gettext('Name is required'); this.setState({errMessage: errMessage}); return false; } if (repoName.indexOf('/') > -1) { - errMessage = 'Name should not include \'/\'.'; - this.setState({errMessage: errMessage}); - return false; - } - if (repoName.length > maxFileName) { - errMessage = 'RepoName\'s length is must little than ' + maxFileName; + errMessage = gettext('Name should not include \'/\'.'); this.setState({errMessage: errMessage}); return false; } + return true; } @@ -90,7 +87,7 @@ class CreateDepartmentRepoDialog extends React.Component { /> - + diff --git a/frontend/src/components/dialog/create-repo-dialog.js b/frontend/src/components/dialog/create-repo-dialog.js index f1ef36746e..40a535bbd5 100644 --- a/frontend/src/components/dialog/create-repo-dialog.js +++ b/frontend/src/components/dialog/create-repo-dialog.js @@ -66,12 +66,12 @@ class CreateRepoDialog extends React.Component { let errMessage = ''; let repoName = this.state.repoName.trim(); if (!repoName.length) { - errMessage = 'Name is required'; + errMessage = gettext('Name is required'); this.setState({errMessage: errMessage}); return false; } if (repoName.indexOf('/') > -1) { - errMessage = 'Name should not include \'/\'.'; + errMessage = gettext('Name should not include \'/\'.'); this.setState({errMessage: errMessage}); return false; } @@ -79,22 +79,22 @@ class CreateRepoDialog extends React.Component { let password1 = this.state.password1.trim(); let password2 = this.state.password2.trim(); if (!password1.length) { - errMessage = 'Please enter password'; + errMessage = gettext('Please enter password'); this.setState({errMessage: errMessage}); return false; } if (!password2.length) { - errMessage = 'Please enter the password again'; + errMessage = gettext('Please enter the password again'); this.setState({errMessage: errMessage}); return false; } if (password1.length < 8) { - errMessage = 'Password is too short'; + errMessage = gettext('Password is too short'); this.setState({errMessage: errMessage}); return false; } if (password1 !== password2) { - errMessage = 'Passwords don\'t match'; + errMessage = gettext('Passwords don\'t match'); this.setState({errMessage: errMessage}); return false; } @@ -201,7 +201,7 @@ class CreateRepoDialog extends React.Component { } - + diff --git a/frontend/src/components/dialog/delete-repo-dialog.js b/frontend/src/components/dialog/delete-repo-dialog.js index f480ceb0b5..c8e7b5c15d 100644 --- a/frontend/src/components/dialog/delete-repo-dialog.js +++ b/frontend/src/components/dialog/delete-repo-dialog.js @@ -1,6 +1,7 @@ import React, { Component } from 'react'; import { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap'; import { gettext } from '../../utils/constants'; +import { Utils } from '../../utils/utils'; class DeleteRepoDialog extends Component { @@ -20,7 +21,7 @@ class DeleteRepoDialog extends Component { render() { const data = this.props.data; - const repoName = data ? '' + data.repoName + '' : null; + const repoName = data ? '' + Utils.HTMLescape(data.repoName) + '' : null; let message = gettext("Are you sure you want to delete %s ?"); message = message.replace('%s', repoName); const popup = ( diff --git a/frontend/src/components/dialog/internal-link-dialog.js b/frontend/src/components/dialog/internal-link-dialog.js index 88e3cfa76f..da956a9d41 100644 --- a/frontend/src/components/dialog/internal-link-dialog.js +++ b/frontend/src/components/dialog/internal-link-dialog.js @@ -54,7 +54,6 @@ class InternalLinkDialog extends React.Component { } render() { - let internalLinkDesc = 'An internal link is a link to a file or folder that can be accessed by users with read permission to the file or folder.'; return ( @@ -62,7 +61,7 @@ class InternalLinkDialog extends React.Component { {gettext('Internal Link')}

- {gettext(internalLinkDesc)} + {gettext('An internal link is a link to a file or folder that can be accessed by users with read permission to the file or folder.')}

{this.state.smartLink} diff --git a/frontend/src/components/dialog/readme-dialog.js b/frontend/src/components/dialog/readme-dialog.js index 373d550c55..9c14f3ee84 100644 --- a/frontend/src/components/dialog/readme-dialog.js +++ b/frontend/src/components/dialog/readme-dialog.js @@ -38,7 +38,7 @@ class ReadmeDialog extends React.Component { render() { return ( - {gettext(this.props.fileName)} + {this.props.fileName} diff --git a/frontend/src/components/dialog/share-repo-dialog.js b/frontend/src/components/dialog/share-repo-dialog.js index 2641c46f25..46b3ceb04c 100644 --- a/frontend/src/components/dialog/share-repo-dialog.js +++ b/frontend/src/components/dialog/share-repo-dialog.js @@ -32,7 +32,7 @@ class ShareRepoListItem extends React.Component { {gettext('icon')} - {gettext(repo.repo_name)} + {repo.repo_name} {moment(repo.last_modified).fromNow()} diff --git a/frontend/src/components/dialog/wiki-select-dialog.js b/frontend/src/components/dialog/wiki-select-dialog.js index 5f661b1611..eec6b05335 100644 --- a/frontend/src/components/dialog/wiki-select-dialog.js +++ b/frontend/src/components/dialog/wiki-select-dialog.js @@ -72,7 +72,7 @@ class WikiSelectDialog extends React.Component { {gettext('icon')} - {gettext(repo.repo_name)} + {repo.repo_name} {moment(repo.last_modified).fromNow()} ); 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 59726a511e..17a2e4e8e5 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-item.js +++ b/frontend/src/components/dirent-list-view/dirent-list-item.js @@ -290,8 +290,6 @@ class DirentListItem extends React.Component { this.interval = setInterval(this.addDownloadAnimation, 1000); }).catch(() => { clearInterval(this.interval); - // toaster.danger(gettext('')); - //todo; }); } else { let url = URLDecorator.getUrl({type: 'download_file_url', repoID: repoID, filePath: direntPath}); diff --git a/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js b/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js index 78d3654a74..8fd3815f63 100644 --- a/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js +++ b/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js @@ -151,6 +151,30 @@ class SharedRepoListItem extends React.Component { this.setState({isShowSharedDialog: false}); } + translateMenuItem = (menuItem) => { + let translateResult = ''; + switch(menuItem) { + case 'Rename': + translateResult = gettext('Rename'); + break; + case 'Folder Permission': + translateResult = gettext('Folder Premission'); + break; + case 'Details': + translateResult = gettext('Details'); + break; + case 'Unshare': + translateResult = gettext('Unshare'); + break; + case 'Share': + translateResult = gettext('Share'); + break; + default: + break; + } + return translateResult; + } + generatorOperations = () => { let { repo, currentGroup } = this.props; //todo this have a bug; use current api is not return admins param; @@ -164,7 +188,7 @@ class SharedRepoListItem extends React.Component { if (isStaff && repo.owner_email == currentGroup.id + '@seafile_group') { //is a member of this current group, this.isDeparementOnwerGroupMember = true; if (folderPermEnabled) { - operations = ['Rename', 'Folder Permission', 'deatils']; + operations = ['Rename', 'Folder Permission', 'Details']; } else { operations = ['Rename', 'Details'] } @@ -181,7 +205,7 @@ class SharedRepoListItem extends React.Component { } } else { if (isRepoOwner) { - operations.push('share'); + operations.push('Share'); } if (isStaff || isRepoOwner) { operations.push('Unshare'); @@ -195,13 +219,13 @@ class SharedRepoListItem extends React.Component { if (this.props.libraryType && this.props.libraryType === 'public') { let isRepoOwner = this.props.repo.owner_email === username; if (isSystemStaff || isRepoOwner) { - operations.push('unshare'); + operations.push('Unshare'); } } else { operations = this.generatorOperations(); if (this.isDeparementOnwerGroupMember) { - operations.unshift('unshare'); - operations.unshift('share'); + operations.unshift('Unshare'); + operations.unshift('Share'); } } return ( @@ -219,7 +243,7 @@ class SharedRepoListItem extends React.Component {

{operations.map((item, index) => { return ( - {gettext(item)} + {this.translateMenuItem(item)} ); })}
@@ -260,7 +284,7 @@ class SharedRepoListItem extends React.Component { /> {operations.map((item, index) => { - return {gettext(item)} + return {this.translateMenuItem(item)} })} 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 d414b1affe..d7c995f949 100644 --- a/frontend/src/components/wiki-list-view/wiki-list-item.js +++ b/frontend/src/components/wiki-list-view/wiki-list-item.js @@ -164,10 +164,10 @@ class WikiListItem extends Component { {this.state.isRenameing ? : - {gettext(wiki.name)} + {wiki.name} } - {gettext(wiki.owner_nickname)} + {wiki.owner_nickname} {moment(wiki.updated_at).fromNow()}