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:
Diffstat (limited to 'app/assets/javascripts/related_issues')
-rw-r--r--app/assets/javascripts/related_issues/components/add_issuable_form.vue4
-rw-r--r--app/assets/javascripts/related_issues/components/related_issuable_input.vue4
-rw-r--r--app/assets/javascripts/related_issues/components/related_issues_list.vue3
-rw-r--r--app/assets/javascripts/related_issues/components/related_issues_root.vue7
-rw-r--r--app/assets/javascripts/related_issues/constants.js55
-rw-r--r--app/assets/javascripts/related_issues/index.js5
6 files changed, 41 insertions, 37 deletions
diff --git a/app/assets/javascripts/related_issues/components/add_issuable_form.vue b/app/assets/javascripts/related_issues/components/add_issuable_form.vue
index 102f1228355..adae92a92e9 100644
--- a/app/assets/javascripts/related_issues/components/add_issuable_form.vue
+++ b/app/assets/javascripts/related_issues/components/add_issuable_form.vue
@@ -1,10 +1,10 @@
<script>
import { GlFormGroup, GlFormRadioGroup, GlButton } from '@gitlab/ui';
+import { TYPE_ISSUE } from '~/issues/constants';
import { mergeUrlParams } from '~/lib/utils/url_utility';
import { __ } from '~/locale';
import {
- issuableTypesMap,
itemAddFailureTypesMap,
linkedIssueTypesMap,
addRelatedIssueErrorMap,
@@ -54,7 +54,7 @@ export default {
issuableType: {
type: String,
required: false,
- default: issuableTypesMap.ISSUE,
+ default: TYPE_ISSUE,
},
hasError: {
type: Boolean,
diff --git a/app/assets/javascripts/related_issues/components/related_issuable_input.vue b/app/assets/javascripts/related_issues/components/related_issuable_input.vue
index 09ecad2d90e..8d6a3110f35 100644
--- a/app/assets/javascripts/related_issues/components/related_issuable_input.vue
+++ b/app/assets/javascripts/related_issues/components/related_issuable_input.vue
@@ -1,11 +1,11 @@
<script>
import $ from 'jquery';
import GfmAutoComplete from 'ee_else_ce/gfm_auto_complete';
+import { TYPE_ISSUE } from '~/issues/constants';
import {
autoCompleteTextMap,
inputPlaceholderConfidentialTextMap,
inputPlaceholderTextMap,
- issuableTypesMap,
} from '../constants';
import IssueToken from './issue_token.vue';
@@ -54,7 +54,7 @@ export default {
issuableType: {
type: String,
required: false,
- default: issuableTypesMap.ISSUE,
+ default: TYPE_ISSUE,
},
confidential: {
type: Boolean,
diff --git a/app/assets/javascripts/related_issues/components/related_issues_list.vue b/app/assets/javascripts/related_issues/components/related_issues_list.vue
index 11de734f5d4..7387b9ab87c 100644
--- a/app/assets/javascripts/related_issues/components/related_issues_list.vue
+++ b/app/assets/javascripts/related_issues/components/related_issues_list.vue
@@ -2,6 +2,7 @@
import { GlLoadingIcon } from '@gitlab/ui';
import Sortable from 'sortablejs';
import RelatedIssuableItem from '~/issuable/components/related_issuable_item.vue';
+import { TYPE_ISSUE } from '~/issues/constants';
import { defaultSortableOptions } from '~/sortable/constants';
export default {
@@ -88,7 +89,7 @@ export default {
document.body.classList.remove('is-dragging');
},
issuableOrderingId({ epicIssueId, id }) {
- return this.issuableType === 'issue' ? epicIssueId : id;
+ return this.issuableType === TYPE_ISSUE ? epicIssueId : id;
},
},
};
diff --git a/app/assets/javascripts/related_issues/components/related_issues_root.vue b/app/assets/javascripts/related_issues/components/related_issues_root.vue
index 795eb3b0083..ed70e1ce8a8 100644
--- a/app/assets/javascripts/related_issues/components/related_issues_root.vue
+++ b/app/assets/javascripts/related_issues/components/related_issues_root.vue
@@ -25,12 +25,13 @@ Your caret can stop touching a `rawReference` can happen in a variety of ways:
*/
import { createAlert } from '~/flash';
import { getIdFromGraphQLId, isGid } from '~/graphql_shared/utils';
+import { TYPE_ISSUE } from '~/issues/constants';
+import { HTTP_STATUS_NOT_FOUND } from '~/lib/utils/http_status';
import { __ } from '~/locale';
import {
relatedIssuesRemoveErrorMap,
pathIndeterminateErrorMap,
addRelatedIssueErrorMap,
- issuableTypesMap,
PathIdSeparator,
} from '../constants';
import RelatedIssuesService from '../services/related_issues_service';
@@ -65,7 +66,7 @@ export default {
issuableType: {
type: String,
required: false,
- default: issuableTypesMap.ISSUE,
+ default: TYPE_ISSUE,
},
allowAutoComplete: {
type: Boolean,
@@ -142,7 +143,7 @@ export default {
this.store.setRelatedIssues(data.issuables);
})
.catch((res) => {
- if (res && res.status !== 404) {
+ if (res && res.status !== HTTP_STATUS_NOT_FOUND) {
createAlert({ message: relatedIssuesRemoveErrorMap[this.issuableType] });
}
});
diff --git a/app/assets/javascripts/related_issues/constants.js b/app/assets/javascripts/related_issues/constants.js
index d1b2d41d7ae..2a4ce70511b 100644
--- a/app/assets/javascripts/related_issues/constants.js
+++ b/app/assets/javascripts/related_issues/constants.js
@@ -1,4 +1,5 @@
import { __, sprintf } from '~/locale';
+import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants';
export const issuableTypesMap = {
ISSUE: 'issue',
@@ -21,7 +22,7 @@ export const linkedIssueTypesTextMap = {
export const autoCompleteTextMap = {
true: {
- [issuableTypesMap.ISSUE]: sprintf(
+ [TYPE_ISSUE]: sprintf(
__(' or %{emphasisStart}#issue id%{emphasisEnd}'),
{ emphasisStart: '<', emphasisEnd: '>' },
false,
@@ -31,7 +32,7 @@ export const autoCompleteTextMap = {
{ emphasisStart: '<', emphasisEnd: '>' },
false,
),
- [issuableTypesMap.EPIC]: sprintf(
+ [TYPE_EPIC]: sprintf(
__(' or %{emphasisStart}&epic id%{emphasisEnd}'),
{ emphasisStart: '<', emphasisEnd: '>' },
false,
@@ -43,33 +44,33 @@ export const autoCompleteTextMap = {
),
},
false: {
- [issuableTypesMap.ISSUE]: '',
- [issuableTypesMap.EPIC]: '',
- [issuableTypesMap.MERGE_REQUEST]: __(' or references (e.g. path/to/project!merge_request_id)'),
+ [TYPE_ISSUE]: '',
+ [TYPE_EPIC]: '',
+ [issuableTypesMap.MERGE_REQUEST]: __(' or references'),
},
};
export const inputPlaceholderTextMap = {
- [issuableTypesMap.ISSUE]: __('Paste issue link'),
+ [TYPE_ISSUE]: __('Paste issue link'),
[issuableTypesMap.INCIDENT]: __('Paste link'),
- [issuableTypesMap.EPIC]: __('Paste epic link'),
+ [TYPE_EPIC]: __('Paste epic link'),
[issuableTypesMap.MERGE_REQUEST]: __('Enter merge request URLs'),
};
export const inputPlaceholderConfidentialTextMap = {
- [issuableTypesMap.ISSUE]: __('Paste confidential issue link'),
- [issuableTypesMap.EPIC]: __('Paste confidential epic link'),
+ [TYPE_ISSUE]: __('Paste confidential issue link'),
+ [TYPE_EPIC]: __('Paste confidential epic link'),
[issuableTypesMap.MERGE_REQUEST]: __('Enter merge request URLs'),
};
export const relatedIssuesRemoveErrorMap = {
- [issuableTypesMap.ISSUE]: __('An error occurred while removing issues.'),
- [issuableTypesMap.EPIC]: __('An error occurred while removing epics.'),
+ [TYPE_ISSUE]: __('An error occurred while removing issues.'),
+ [TYPE_EPIC]: __('An error occurred while removing epics.'),
};
export const pathIndeterminateErrorMap = {
- [issuableTypesMap.ISSUE]: __('We could not determine the path to remove the issue'),
- [issuableTypesMap.EPIC]: __('We could not determine the path to remove the epic'),
+ [TYPE_ISSUE]: __('We could not determine the path to remove the issue'),
+ [TYPE_EPIC]: __('We could not determine the path to remove the epic'),
};
export const itemAddFailureTypesMap = {
@@ -78,8 +79,8 @@ export const itemAddFailureTypesMap = {
};
export const addRelatedIssueErrorMap = {
- [issuableTypesMap.ISSUE]: __('Issue cannot be found.'),
- [issuableTypesMap.EPIC]: __('Epic cannot be found.'),
+ [TYPE_ISSUE]: __('Issue cannot be found.'),
+ [TYPE_EPIC]: __('Epic cannot be found.'),
};
export const addRelatedItemErrorMap = {
@@ -94,9 +95,9 @@ export const addRelatedItemErrorMap = {
* them inside i18n functions.
*/
export const issuableIconMap = {
- [issuableTypesMap.ISSUE]: 'issues',
+ [TYPE_ISSUE]: 'issues',
[issuableTypesMap.INCIDENT]: 'issues',
- [issuableTypesMap.EPIC]: 'epic',
+ [TYPE_EPIC]: 'epic',
};
export const PathIdSeparator = {
@@ -105,30 +106,30 @@ export const PathIdSeparator = {
};
export const issuablesBlockHeaderTextMap = {
- [issuableTypesMap.ISSUE]: __('Linked items'),
+ [TYPE_ISSUE]: __('Linked items'),
[issuableTypesMap.INCIDENT]: __('Linked incidents or issues'),
- [issuableTypesMap.EPIC]: __('Linked epics'),
+ [TYPE_EPIC]: __('Linked epics'),
};
export const issuablesBlockHelpTextMap = {
- [issuableTypesMap.ISSUE]: __('Learn more about linking issues'),
+ [TYPE_ISSUE]: __('Learn more about linking issues'),
[issuableTypesMap.INCIDENT]: __('Learn more about linking issues and incidents'),
- [issuableTypesMap.EPIC]: __('Learn more about linking epics'),
+ [TYPE_EPIC]: __('Learn more about linking epics'),
};
export const issuablesBlockAddButtonTextMap = {
- [issuableTypesMap.ISSUE]: __('Add a related issue'),
- [issuableTypesMap.EPIC]: __('Add a related epic'),
+ [TYPE_ISSUE]: __('Add a related issue'),
+ [TYPE_EPIC]: __('Add a related epic'),
};
export const issuablesFormCategoryHeaderTextMap = {
- [issuableTypesMap.ISSUE]: __('The current issue'),
+ [TYPE_ISSUE]: __('The current issue'),
[issuableTypesMap.INCIDENT]: __('The current incident'),
- [issuableTypesMap.EPIC]: __('The current epic'),
+ [TYPE_EPIC]: __('The current epic'),
};
export const issuablesFormInputTextMap = {
- [issuableTypesMap.ISSUE]: __('the following issues'),
+ [TYPE_ISSUE]: __('the following issues'),
[issuableTypesMap.INCIDENT]: __('the following incidents or issues'),
- [issuableTypesMap.EPIC]: __('the following epics'),
+ [TYPE_EPIC]: __('the following epics'),
};
diff --git a/app/assets/javascripts/related_issues/index.js b/app/assets/javascripts/related_issues/index.js
index c77a67c4287..cc00ef10dda 100644
--- a/app/assets/javascripts/related_issues/index.js
+++ b/app/assets/javascripts/related_issues/index.js
@@ -1,9 +1,10 @@
import Vue from 'vue';
-import apolloProvider from '~/issues/show/graphql';
+import { TYPE_ISSUE } from '~/issues/constants';
+import { apolloProvider } from '~/graphql_shared/issuable_client';
import { parseBoolean } from '~/lib/utils/common_utils';
import RelatedIssuesRoot from './components/related_issues_root.vue';
-export function initRelatedIssues(issueType = 'issue') {
+export function initRelatedIssues(issueType = TYPE_ISSUE) {
const el = document.querySelector('.js-related-issues-root');
if (!el) {