diff --git a/frontend/src/components/dialog/change-repo-password-dialog.js b/frontend/src/components/dialog/change-repo-password-dialog.js index bfd03fe655..1c297b158d 100644 --- a/frontend/src/components/dialog/change-repo-password-dialog.js +++ b/frontend/src/components/dialog/change-repo-password-dialog.js @@ -95,12 +95,13 @@ class ChangeRepoPasswordDialog extends React.Component { render() { const { repoName, toggleDialog } = this.props; + let title = gettext('Change Password of Library {placeholder}'); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(repoName) + ''); + return ( - - {Utils.generateDialogTitle(gettext('Change Password of Library {placeholder}'), repoName)} - +
diff --git a/frontend/src/components/dialog/commit-details.js b/frontend/src/components/dialog/commit-details.js index e58684c946..d050d4675a 100644 --- a/frontend/src/components/dialog/commit-details.js +++ b/frontend/src/components/dialog/commit-details.js @@ -91,7 +91,7 @@ class Content extends React.Component {
    { data[item.type].map((item, index) => { - return
  • ; + return
  • ; }) }
diff --git a/frontend/src/components/dialog/copy-dirent-dialog.js b/frontend/src/components/dialog/copy-dirent-dialog.js index d0a4313cc7..b56f406a5a 100644 --- a/frontend/src/components/dialog/copy-dirent-dialog.js +++ b/frontend/src/components/dialog/copy-dirent-dialog.js @@ -140,14 +140,17 @@ class CopyDirent extends React.Component { render() { let title = gettext('Copy {placeholder} to'); if (!this.props.isMutipleOperation) { - title = title.replace('{placeholder}', '' + Utils.HTMLescape(this.props.dirent.name) + ''); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(this.props.dirent.name) + ''); } else { title = gettext('Copy selected item(s) to:'); } let mode = 'current_repo_and_other_repos'; + const { isMutipleOperation } = this.props; return ( -
+ + {isMutipleOperation ? title :
} +
' + Utils.HTMLescape(repoName) + ''); return ( - {itemName}{' '} - {gettext('History Setting')} + diff --git a/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js b/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js index 8e5e714037..45a3bc5724 100644 --- a/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js +++ b/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js @@ -66,11 +66,13 @@ class LibSubFolderPermissionDialog extends React.Component { render() { const { repoName, folderName } = this.props; + let title = repoName ? gettext('{placeholder} Folder Permission') : gettext('Set permission of {placeholder}'); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(repoName || folderName) + ''); return (
- {repoName ? Utils.generateDialogTitle(gettext('{placeholder} Folder Permission'), repoName) : Utils.generateDialogTitle(gettext('Set {placeholder}\'s permission'), folderName)} + {this.renderContent()} diff --git a/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js b/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js index b47caac3d5..5f7dfa1422 100644 --- a/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js +++ b/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js @@ -90,7 +90,7 @@ const propTypes = { repoID: PropTypes.string.isRequired, isDepartmentRepo: PropTypes.bool, folderPath: PropTypes.string.isRequired, - repoName: PropTypes.string.isRequired, + repoName: PropTypes.string, }; diff --git a/frontend/src/components/dialog/move-dirent-dialog.js b/frontend/src/components/dialog/move-dirent-dialog.js index 1cdef90d5c..8daba85f34 100644 --- a/frontend/src/components/dialog/move-dirent-dialog.js +++ b/frontend/src/components/dialog/move-dirent-dialog.js @@ -154,12 +154,12 @@ class MoveDirent extends React.Component { render() { let title = gettext('Move {placeholder} to'); if (!this.props.isMutipleOperation) { - title = title.replace('{placeholder}', '' + Utils.HTMLescape(this.props.dirent.name) + ''); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(this.props.dirent.name) + ''); } else { title = gettext('Move selected item(s) to:'); } let mode = 'current_repo_and_other_repos'; - const { dirent, selectedDirentList } = this.props; + const { dirent, selectedDirentList, isMutipleOperation } = this.props; const movedDirent = dirent ? dirent : selectedDirentList[0]; const { permission } = movedDirent; const { isCustomPermission } = Utils.getUserPermission(permission); @@ -168,7 +168,9 @@ class MoveDirent extends React.Component { } return ( -
+ + {isMutipleOperation ? title :
} +
'; + const itemName = '' + Utils.HTMLescape(repo.repo_name) + ''; const title = gettext('{placeholder} API Token').replace('{placeholder}', itemName); return ( -

+
diff --git a/frontend/src/components/dialog/repo-share-admin-dialog.js b/frontend/src/components/dialog/repo-share-admin-dialog.js index cb53b4ab92..2732d4f0d2 100644 --- a/frontend/src/components/dialog/repo-share-admin-dialog.js +++ b/frontend/src/components/dialog/repo-share-admin-dialog.js @@ -2,6 +2,7 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap'; import { gettext, canGenerateShareLink, canGenerateUploadLink } from '../../utils/constants'; +import { Utils } from '../../utils/utils'; import RepoShareAdminShareLinks from './repo-share-admin/share-links'; import RepoShareAdminUploadLinks from './repo-share-admin/upload-links'; import RepoShareAdminUserShares from './repo-share-admin/user-shares'; @@ -48,12 +49,13 @@ class RepoShareAdminDialog extends React.Component { render() { const { activeTab } = this.state; const { repo_name: repoName } = this.props.repo; - + let title = gettext('{placeholder} Share Admin'); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(repoName) + ''); return (
- {repoName} {gettext('Share Admin')} + diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-lib-history-setting-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-lib-history-setting-dialog.js index 52252d4892..ef9a648a84 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-lib-history-setting-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-lib-history-setting-dialog.js @@ -106,12 +106,13 @@ class SysAdminLibHistorySettingDialog extends React.Component { }; render() { - const itemName = this.props.itemName; + const { itemName: repoName } = this.props; + let title = gettext('{placeholder} History Setting'); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(repoName) + ''); return ( - {itemName}{' '} - {gettext('History Setting')} + diff --git a/frontend/src/components/dialog/transfer-dialog.js b/frontend/src/components/dialog/transfer-dialog.js index 505d5c6b83..2b1787b1c8 100644 --- a/frontend/src/components/dialog/transfer-dialog.js +++ b/frontend/src/components/dialog/transfer-dialog.js @@ -60,15 +60,19 @@ class TransferDialog extends React.Component { }; render() { - const itemName = this.props.itemName; let canTransferToDept = true; if (this.props.canTransferToDept != undefined) { canTransferToDept = this.props.canTransferToDept; } + + const { itemName: repoName } = this.props; + let title = gettext('Transfer Library {library_name}'); + title = title.replace('{library_name}', '' + Utils.HTMLescape(repoName) + ''); + return ( - {gettext('Transfer Library {library_name}').replace('{library_name}', itemName)} + {this.state.transferToUser ? diff --git a/frontend/src/components/file-chooser/repo-list-item.js b/frontend/src/components/file-chooser/repo-list-item.js index 76cc2b79ea..50877f3ea5 100644 --- a/frontend/src/components/file-chooser/repo-list-item.js +++ b/frontend/src/components/file-chooser/repo-list-item.js @@ -82,7 +82,7 @@ class RepoListItem extends React.Component { let errMessage = Utils.getErrorMsg(error); toaster.danger(errMessage); }); - } + }; addResponseListToNode = (list, node) => { node.isLoaded = true; diff --git a/frontend/src/components/file-view/file-info.js b/frontend/src/components/file-view/file-info.js index 714040f939..edf3cb1982 100644 --- a/frontend/src/components/file-view/file-info.js +++ b/frontend/src/components/file-view/file-info.js @@ -30,9 +30,9 @@ class FileInfo extends React.PureComponent { const starredText = isStarred ? gettext('starred') : gettext('unstarred'); const lockedText = gettext('locked'); return ( -
+

- {fileName} + {fileName} - + {fileType == 'PDF' && ( - + {(canEditFile && fileType != 'SDoc' && !err) && (this.props.isSaving ? diff --git a/frontend/src/components/history-trash-file-view/download.js b/frontend/src/components/history-trash-file-view/download.js index 1f2c9b44d3..158ad31848 100644 --- a/frontend/src/components/history-trash-file-view/download.js +++ b/frontend/src/components/history-trash-file-view/download.js @@ -7,7 +7,7 @@ const { function Download() { return ( - {gettext('Download')} + {gettext('Download')} ); } diff --git a/frontend/src/components/history-trash-file-view/file-view.js b/frontend/src/components/history-trash-file-view/file-view.js index ea2e605a02..d73c7a26b7 100644 --- a/frontend/src/components/history-trash-file-view/file-view.js +++ b/frontend/src/components/history-trash-file-view/file-view.js @@ -26,10 +26,10 @@ class FileView extends React.Component { render() { return ( -
+
-
-

{fileName}

+
+

{fileName}

{fromTrash ? `${gettext('Current Path: ')}${gettext('Trash')}`: commitTime}

{canDownloadFile && } diff --git a/frontend/src/components/shared-file-view/shared-file-view.js b/frontend/src/components/shared-file-view/shared-file-view.js index 4be085cf0c..e36992f59f 100644 --- a/frontend/src/components/shared-file-view/shared-file-view.js +++ b/frontend/src/components/shared-file-view/shared-file-view.js @@ -116,14 +116,14 @@ class SharedFileView extends React.Component {
-
+

{fileName}

{zipped ?

{gettext('Current path: ')}{this.renderPath()}

:

{gettext('Shared by:')}{' '}{sharedBy}

}
-
+
{(canDownload && loginUser && (loginUser !== sharedBy)) && + }
' + Utils.HTMLescape(repoName) + ''); + return (
@@ -105,7 +108,7 @@ class RepoHistory extends React.Component {
-

{Utils.generateDialogTitle(gettext('{placeholder} Modification History'), repoName)}

+

diff --git a/frontend/src/repo-snapshot.js b/frontend/src/repo-snapshot.js index 999a5bd9b6..a61f475e50 100644 --- a/frontend/src/repo-snapshot.js +++ b/frontend/src/repo-snapshot.js @@ -91,26 +91,26 @@ class RepoSnapshot extends React.Component { const pathList = path.split('/'); if (path == '/') { - return repoName; + return {repoName}; } return ( - {repoName} - / + {repoName} + / {pathList.map((item, index) => { if (index > 0 && index != pathList.length - 1) { return ( - {pathList[index]} - / + {pathList[index]} + / ); } return null; } )} - {pathList[pathList.length - 1]} + {pathList[pathList.length - 1]} ); }; @@ -129,6 +129,8 @@ class RepoSnapshot extends React.Component { render() { const { isConfirmDialogOpen, folderPath } = this.state; + let title = gettext('{placeholder} Snapshot'); + title = title.replace('{placeholder}', '' + Utils.HTMLescape(repoName) + ''); return (
@@ -142,7 +144,7 @@ class RepoSnapshot extends React.Component {

- {Utils.generateDialogTitle(gettext('{placeholder} Snapshot'), repoName)} + ({commitTime})

@@ -150,8 +152,8 @@ class RepoSnapshot extends React.Component { {folderPath == '/' && (
-

{commitDesc}

-
+

{commitDesc}

+
{showAuthor ? ( @@ -163,9 +165,9 @@ class RepoSnapshot extends React.Component {
)}
-

{gettext('Current path: ')}{this.renderPath()}

+

{gettext('Current path: ')}{this.renderPath()}

{(folderPath == '/' && canRestoreRepo) && - + }