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 0232d9cc8a..1630ff1998 100644 --- a/frontend/src/components/dirent-grid-view/dirent-grid-item.js +++ b/frontend/src/components/dirent-grid-view/dirent-grid-item.js @@ -210,6 +210,8 @@ class DirentGridItem extends React.Component { let lockedInfo = gettext('locked by {name}'); lockedInfo = lockedInfo.replace('{name}', dirent.lock_owner_name); + const lockedImageUrl = `${mediaUrl}img/file-${dirent.is_freezed ? 'freezed' : 'locked'}-32.png`; + const lockedMessage = dirent.is_freezed ? gettext('freezed') : gettext('locked'); return (
  • @@ -227,7 +229,7 @@ class DirentGridItem extends React.Component { : } - {dirent.is_locked && {gettext('locked')}} + {dirent.is_locked && {lockedMessage}}
    {(dirent.type !== 'dir' && dirent.file_tags && dirent.file_tags.length > 0) && ( 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 2ceba7ac99..16c67b2037 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-item.js +++ b/frontend/src/components/dirent-list-view/dirent-list-item.js @@ -714,6 +714,8 @@ class DirentListItem extends React.Component { let lockedInfo = gettext('locked by {name}').replace('{name}', dirent.lock_owner_name); const isDesktop = Utils.isDesktop(); const { canDrag } = this.state; + const lockedImageUrl = `${mediaUrl}img/file-${dirent.is_freezed ? 'freezed' : 'locked'}-32.png`; + const lockedMessage = dirent.is_freezed ? gettext('freezed') : gettext('locked'); const desktopItem = ( : } - {dirent.is_locked && {gettext('locked')}} + {dirent.is_locked && {lockedMessage}}
    @@ -792,7 +794,7 @@ class DirentListItem extends React.Component { : } - {dirent.is_locked && {gettext('locked')}} + {dirent.is_locked && {lockedMessage}} diff --git a/frontend/src/models/dirent.js b/frontend/src/models/dirent.js index ad140ea96a..0168468d23 100644 --- a/frontend/src/models/dirent.js +++ b/frontend/src/models/dirent.js @@ -23,6 +23,7 @@ class Dirent { this.size_original = json.size; this.size = Utils.bytesToSize(json.size); this.is_locked = json.is_locked || false; + this.is_freezed = json.is_freezed || false; this.lock_time = json.lock_time || ''; this.lock_owner= json.lock_owner || null; this.lock_owner_name= json.lock_owner_name || null; diff --git a/frontend/src/view-file-sdoc.js b/frontend/src/view-file-sdoc.js index d39c61af6d..78693726c4 100644 --- a/frontend/src/view-file-sdoc.js +++ b/frontend/src/view-file-sdoc.js @@ -12,7 +12,7 @@ const { repoID, repoName, parentDir, filePerm, docPath, docName, docUuid, seadocAccessToken, seadocServerUrl, assetsUrl, isSdocRevision, isPublished, originFilename, revisionCreatedAt, originFileVersion, - originFilePath, originDocUuid, revisionId, + originFilePath, originDocUuid, revisionId, isFreezed } = window.app.pageOptions; window.seafile = { @@ -44,6 +44,7 @@ window.seafile = { lang, revisionId, mediaUrl, + isFreezed, }; ReactDom.render( diff --git a/media/img/file-freezed-32.png b/media/img/file-freezed-32.png new file mode 100644 index 0000000000..49fc5b65d5 Binary files /dev/null and b/media/img/file-freezed-32.png differ