diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 19:00:14 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 19:00:14 +0000 |
commit | 05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch) | |
tree | 11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /app/assets/javascripts/work_items/components/work_item_comment_locked.vue | |
parent | ec73467c23693d0db63a797d10194da9e72a74af (diff) | |
download | gitlab-ce-05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2.tar.gz |
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'app/assets/javascripts/work_items/components/work_item_comment_locked.vue')
-rw-r--r-- | app/assets/javascripts/work_items/components/work_item_comment_locked.vue | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/app/assets/javascripts/work_items/components/work_item_comment_locked.vue b/app/assets/javascripts/work_items/components/work_item_comment_locked.vue new file mode 100644 index 00000000000..f837d025b7f --- /dev/null +++ b/app/assets/javascripts/work_items/components/work_item_comment_locked.vue @@ -0,0 +1,66 @@ +<script> +import { GlLink, GlIcon } from '@gitlab/ui'; +import { __, sprintf } from '~/locale'; +import { helpPagePath } from '~/helpers/help_page_helper'; +import { TASK_TYPE_NAME } from '~/work_items/constants'; + +export default { + components: { + GlIcon, + GlLink, + }, + props: { + workItemType: { + required: false, + type: String, + default: TASK_TYPE_NAME, + }, + isProjectArchived: { + required: false, + type: Boolean, + default: false, + }, + }, + constantOptions: { + archivedProjectDocsPath: helpPagePath('user/project/settings/index.md', { + anchor: 'archive-a-project', + }), + lockedIssueDocsPath: helpPagePath('user/discussions/index.md', { + anchor: 'prevent-comments-by-locking-the-discussion', + }), + projectArchivedWarning: __('This project is archived and cannot be commented on.'), + }, + computed: { + issuableDisplayName() { + return this.workItemType.replace(/_/g, ' '); + }, + lockedIssueWarning() { + return sprintf( + __('This %{issuableDisplayName} is locked. Only project members can comment.'), + { issuableDisplayName: this.issuableDisplayName }, + ); + }, + }, +}; +</script> + +<template> + <div class="disabled-comment text-center"> + <span class="issuable-note-warning gl-display-inline-block"> + <gl-icon name="lock" class="gl-mr-2" /> + <template v-if="isProjectArchived"> + {{ $options.constantOptions.projectArchivedWarning }} + <gl-link :href="$options.constantOptions.archivedProjectDocsPath" class="learn-more"> + {{ __('Learn more') }} + </gl-link> + </template> + + <template v-else> + {{ lockedIssueWarning }} + <gl-link :href="$options.constantOptions.lockedIssueDocsPath" class="learn-more"> + {{ __('Learn more') }} + </gl-link> + </template> + </span> + </div> +</template> |