Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-09-06 21:09:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-09-06 21:09:15 +0300
commitf011d78ffe71ec6778c8eb9ad981a6dbadd3a4dc (patch)
treeb1a3daf03bbbdc560c1ab74d702ef671c8f13dfe /app/assets/javascripts/work_items
parent74739c4b9e2ced14233eaeee221c5472589d26cd (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/work_items')
-rw-r--r--app/assets/javascripts/work_items/constants.js1
-rw-r--r--app/assets/javascripts/work_items/graphql/group_work_item_types.query.graphql11
-rw-r--r--app/assets/javascripts/work_items/list/components/work_items_list_app.vue8
-rw-r--r--app/assets/javascripts/work_items/list/index.js10
4 files changed, 28 insertions, 2 deletions
diff --git a/app/assets/javascripts/work_items/constants.js b/app/assets/javascripts/work_items/constants.js
index c68f59abe00..2834799e4e8 100644
--- a/app/assets/javascripts/work_items/constants.js
+++ b/app/assets/javascripts/work_items/constants.js
@@ -36,6 +36,7 @@ export const WORK_ITEM_TYPE_ENUM_REQUIREMENTS = 'REQUIREMENTS';
export const WORK_ITEM_TYPE_ENUM_OBJECTIVE = 'OBJECTIVE';
export const WORK_ITEM_TYPE_ENUM_KEY_RESULT = 'KEY_RESULT';
+export const WORK_ITEM_TYPE_VALUE_EPIC = 'Epic';
export const WORK_ITEM_TYPE_VALUE_INCIDENT = 'Incident';
export const WORK_ITEM_TYPE_VALUE_ISSUE = 'Issue';
export const WORK_ITEM_TYPE_VALUE_TASK = 'Task';
diff --git a/app/assets/javascripts/work_items/graphql/group_work_item_types.query.graphql b/app/assets/javascripts/work_items/graphql/group_work_item_types.query.graphql
new file mode 100644
index 00000000000..30757f57234
--- /dev/null
+++ b/app/assets/javascripts/work_items/graphql/group_work_item_types.query.graphql
@@ -0,0 +1,11 @@
+query groupWorkItemTypes($fullPath: ID!) {
+ workspace: group(fullPath: $fullPath) {
+ id
+ workItemTypes {
+ nodes {
+ id
+ name
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/work_items/list/components/work_items_list_app.vue b/app/assets/javascripts/work_items/list/components/work_items_list_app.vue
index 0b8dbf86573..a853018a931 100644
--- a/app/assets/javascripts/work_items/list/components/work_items_list_app.vue
+++ b/app/assets/javascripts/work_items/list/components/work_items_list_app.vue
@@ -67,6 +67,10 @@ export default {
:tabs="$options.issuableListTabs"
@dismiss-alert="error = undefined"
>
+ <template #nav-actions>
+ <slot name="nav-actions"></slot>
+ </template>
+
<template #timeframe="{ issuable = {} }">
<issue-card-time-info :issue="issuable" />
</template>
@@ -78,5 +82,9 @@ export default {
<template #statistics="{ issuable = {} }">
<issue-card-statistics :issue="issuable" />
</template>
+
+ <template #list-body>
+ <slot name="list-body"></slot>
+ </template>
</issuable-list>
</template>
diff --git a/app/assets/javascripts/work_items/list/index.js b/app/assets/javascripts/work_items/list/index.js
index 113a3918e51..885cea2c1d6 100644
--- a/app/assets/javascripts/work_items/list/index.js
+++ b/app/assets/javascripts/work_items/list/index.js
@@ -2,7 +2,7 @@ import Vue from 'vue';
import VueApollo from 'vue-apollo';
import createDefaultClient from '~/lib/graphql';
import { parseBoolean } from '~/lib/utils/common_utils';
-import WorkItemsListApp from './components/work_items_list_app.vue';
+import WorkItemsListApp from 'ee_else_ce/work_items/list/components/work_items_list_app.vue';
export const mountWorkItemsListApp = () => {
const el = document.querySelector('.js-work-items-list-root');
@@ -13,7 +13,12 @@ export const mountWorkItemsListApp = () => {
Vue.use(VueApollo);
- const { fullPath, hasIssuableHealthStatusFeature, hasIssueWeightsFeature } = el.dataset;
+ const {
+ fullPath,
+ hasEpicsFeature,
+ hasIssuableHealthStatusFeature,
+ hasIssueWeightsFeature,
+ } = el.dataset;
return new Vue({
el,
@@ -23,6 +28,7 @@ export const mountWorkItemsListApp = () => {
}),
provide: {
fullPath,
+ hasEpicsFeature: parseBoolean(hasEpicsFeature),
hasIssuableHealthStatusFeature: parseBoolean(hasIssuableHealthStatusFeature),
hasIssueWeightsFeature: parseBoolean(hasIssueWeightsFeature),
},