diff options
Diffstat (limited to 'app/assets/javascripts/work_items/components/work_item_detail_modal.vue')
-rw-r--r-- | app/assets/javascripts/work_items/components/work_item_detail_modal.vue | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/app/assets/javascripts/work_items/components/work_item_detail_modal.vue b/app/assets/javascripts/work_items/components/work_item_detail_modal.vue new file mode 100644 index 00000000000..942677bb937 --- /dev/null +++ b/app/assets/javascripts/work_items/components/work_item_detail_modal.vue @@ -0,0 +1,62 @@ +<script> +import { GlModal } from '@gitlab/ui'; +import { s__ } from '~/locale'; +import workItemQuery from '../graphql/work_item.query.graphql'; +import ItemTitle from './item_title.vue'; + +export default { + components: { + GlModal, + ItemTitle, + }, + props: { + visible: { + type: Boolean, + required: true, + }, + workItemId: { + type: String, + required: false, + default: null, + }, + }, + data() { + return { + workItem: {}, + }; + }, + apollo: { + workItem: { + query: workItemQuery, + variables() { + return { + id: this.workItemId, + }; + }, + update(data) { + return data.workItem; + }, + skip() { + return !this.workItemId; + }, + error() { + this.$emit( + 'error', + s__('WorkItem|Something went wrong when fetching the work item. Please try again.'), + ); + }, + }, + }, + computed: { + workItemTitle() { + return this.workItem?.title; + }, + }, +}; +</script> + +<template> + <gl-modal hide-footer modal-id="work-item-detail-modal" :visible="visible" @hide="$emit('close')"> + <item-title class="gl-m-0!" :initial-title="workItemTitle" /> + </gl-modal> +</template> |