diff options
Diffstat (limited to 'app/assets/javascripts/issue_show/components')
10 files changed, 47 insertions, 25 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index d569ad573a2..e70c18040b3 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -1,20 +1,20 @@ <script> import { GlIcon, GlIntersectionObserver } from '@gitlab/ui'; import Visibility from 'visibilityjs'; -import { __, s__, sprintf } from '~/locale'; import { deprecatedCreateFlash as createFlash } from '~/flash'; -import { visitUrl } from '~/lib/utils/url_utility'; import Poll from '~/lib/utils/poll'; +import { visitUrl } from '~/lib/utils/url_utility'; +import { __, s__, sprintf } from '~/locale'; +import recaptchaModalImplementor from '~/vue_shared/mixins/recaptcha_modal_implementor'; +import { IssuableStatus, IssuableStatusText, IssuableType } from '../constants'; import eventHub from '../event_hub'; import Service from '../services/index'; import Store from '../stores'; -import titleComponent from './title.vue'; import descriptionComponent from './description.vue'; import editedComponent from './edited.vue'; import formComponent from './form.vue'; import PinnedLinks from './pinned_links.vue'; -import recaptchaModalImplementor from '~/vue_shared/mixins/recaptcha_modal_implementor'; -import { IssuableStatus, IssuableStatusText, IssuableType } from '../constants'; +import titleComponent from './title.vue'; export default { components: { @@ -132,6 +132,10 @@ export default { type: String, required: true, }, + projectId: { + type: Number, + required: true, + }, projectNamespace: { type: String, required: true, @@ -419,6 +423,7 @@ export default { :markdown-docs-path="markdownDocsPath" :markdown-preview-path="markdownPreviewPath" :project-path="projectPath" + :project-id="projectId" :project-namespace="projectNamespace" :show-delete-button="showDeleteButton" :can-attach-file="canAttachFile" diff --git a/app/assets/javascripts/issue_show/components/description.vue b/app/assets/javascripts/issue_show/components/description.vue index 2a6468c783b..5416d3bebd0 100644 --- a/app/assets/javascripts/issue_show/components/description.vue +++ b/app/assets/javascripts/issue_show/components/description.vue @@ -1,11 +1,11 @@ <script> -import $ from 'jquery'; import { GlSafeHtmlDirective as SafeHtml } from '@gitlab/ui'; -import { s__, sprintf } from '~/locale'; +import $ from 'jquery'; import { deprecatedCreateFlash as createFlash } from '~/flash'; -import animateMixin from '../mixins/animate'; +import { s__, sprintf } from '~/locale'; import TaskList from '../../task_list'; import recaptchaModalImplementor from '../../vue_shared/mixins/recaptcha_modal_implementor'; +import animateMixin from '../mixins/animate'; export default { directives: { @@ -154,6 +154,7 @@ export default { }" class="md" ></div> + <!-- eslint-disable vue/no-mutating-props --> <textarea v-if="descriptionText" ref="textarea" @@ -163,6 +164,7 @@ export default { dir="auto" > </textarea> + <!-- eslint-enable vue/no-mutating-props --> <recaptcha-modal v-show="showRecaptcha" :html="recaptchaHTML" @close="closeRecaptcha" /> </div> diff --git a/app/assets/javascripts/issue_show/components/edit_actions.vue b/app/assets/javascripts/issue_show/components/edit_actions.vue index 14ada5adcf6..dd378c40b46 100644 --- a/app/assets/javascripts/issue_show/components/edit_actions.vue +++ b/app/assets/javascripts/issue_show/components/edit_actions.vue @@ -1,8 +1,8 @@ <script> import { GlButton } from '@gitlab/ui'; import { __, sprintf } from '~/locale'; -import updateMixin from '../mixins/update'; import eventHub from '../event_hub'; +import updateMixin from '../mixins/update'; const issuableTypes = { issue: __('Issue'), diff --git a/app/assets/javascripts/issue_show/components/fields/description.vue b/app/assets/javascripts/issue_show/components/fields/description.vue index 8d417e32d62..5476a1ef897 100644 --- a/app/assets/javascripts/issue_show/components/fields/description.vue +++ b/app/assets/javascripts/issue_show/components/fields/description.vue @@ -1,7 +1,7 @@ <script> -import updateMixin from '../../mixins/update'; import markdownField from '~/vue_shared/components/markdown/field.vue'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; +import updateMixin from '../../mixins/update'; export default { components: { @@ -49,6 +49,7 @@ export default { :textarea-value="formState.description" > <template #textarea> + <!-- eslint-disable vue/no-mutating-props --> <textarea id="issue-description" ref="textarea" @@ -62,6 +63,7 @@ export default { @keydown.ctrl.enter="updateIssuable" > </textarea> + <!-- eslint-enable vue/no-mutating-props --> </template> </markdown-field> </div> diff --git a/app/assets/javascripts/issue_show/components/fields/description_template.vue b/app/assets/javascripts/issue_show/components/fields/description_template.vue index 71299381aae..dbec6f15cab 100644 --- a/app/assets/javascripts/issue_show/components/fields/description_template.vue +++ b/app/assets/javascripts/issue_show/components/fields/description_template.vue @@ -1,6 +1,6 @@ <script> -import $ from 'jquery'; import { GlIcon } from '@gitlab/ui'; +import $ from 'jquery'; import IssuableTemplateSelectors from '../../../templates/issuable_template_selectors'; export default { @@ -21,6 +21,10 @@ export default { type: String, required: true, }, + projectId: { + type: Number, + required: true, + }, projectNamespace: { type: String, required: true, @@ -35,6 +39,7 @@ export default { // Create the editor for the template const editor = document.querySelector('.detail-page-description .note-textarea') || {}; editor.setValue = (val) => { + // eslint-disable-next-line vue/no-mutating-props this.formState.description = val; }; editor.getValue = () => this.formState.description; @@ -48,11 +53,12 @@ export default { </script> <template> - <div class="dropdown js-issuable-selector-wrap" data-issuable-type="issue"> + <div class="dropdown js-issuable-selector-wrap" data-issuable-type="issues"> <button ref="toggle" :data-namespace-path="projectNamespace" :data-project-path="projectPath" + :data-project-id="projectId" :data-data="issuableTemplatesJson" class="dropdown-menu-toggle js-issuable-selector" type="button" diff --git a/app/assets/javascripts/issue_show/components/fields/title.vue b/app/assets/javascripts/issue_show/components/fields/title.vue index 34eb0451d53..d331fb47077 100644 --- a/app/assets/javascripts/issue_show/components/fields/title.vue +++ b/app/assets/javascripts/issue_show/components/fields/title.vue @@ -15,6 +15,7 @@ export default { <template> <fieldset> <label class="sr-only" for="issuable-title">{{ __('Title') }}</label> + <!-- eslint-disable vue/no-mutating-props --> <input id="issuable-title" ref="input" @@ -27,5 +28,6 @@ export default { @keydown.meta.enter="updateIssuable" @keydown.ctrl.enter="updateIssuable" /> + <!-- eslint-enable vue/no-mutating-props --> </fieldset> </template> diff --git a/app/assets/javascripts/issue_show/components/form.vue b/app/assets/javascripts/issue_show/components/form.vue index d48bf1fe7a9..b7425448052 100644 --- a/app/assets/javascripts/issue_show/components/form.vue +++ b/app/assets/javascripts/issue_show/components/form.vue @@ -1,12 +1,12 @@ <script> import $ from 'jquery'; -import lockedWarning from './locked_warning.vue'; -import titleField from './fields/title.vue'; -import descriptionField from './fields/description.vue'; -import editActions from './edit_actions.vue'; -import descriptionTemplate from './fields/description_template.vue'; import Autosave from '~/autosave'; import eventHub from '../event_hub'; +import editActions from './edit_actions.vue'; +import descriptionField from './fields/description.vue'; +import descriptionTemplate from './fields/description_template.vue'; +import titleField from './fields/title.vue'; +import lockedWarning from './locked_warning.vue'; export default { components: { @@ -46,6 +46,10 @@ export default { type: String, required: true, }, + projectId: { + type: Number, + required: true, + }, projectNamespace: { type: String, required: true, @@ -127,6 +131,7 @@ export default { :form-state="formState" :issuable-templates="issuableTemplates" :project-path="projectPath" + :project-id="projectId" :project-namespace="projectNamespace" /> </div> diff --git a/app/assets/javascripts/issue_show/components/header_actions.vue b/app/assets/javascripts/issue_show/components/header_actions.vue index 998f740be0e..9c3988d0469 100644 --- a/app/assets/javascripts/issue_show/components/header_actions.vue +++ b/app/assets/javascripts/issue_show/components/header_actions.vue @@ -193,7 +193,7 @@ export default { <template> <div class="detail-page-header-actions"> <gl-dropdown - class="gl-display-block gl-display-sm-none!" + class="gl-display-block gl-sm-display-none!" block :text="dropdownText" :loading="isToggleStateButtonLoading" @@ -222,7 +222,7 @@ export default { <gl-button v-if="showToggleIssueStateButton" - class="gl-display-none gl-display-sm-inline-flex!" + class="gl-display-none gl-sm-display-inline-flex!" category="secondary" :data-qa-selector="qaSelector" :loading="isToggleStateButtonLoading" @@ -233,7 +233,7 @@ export default { </gl-button> <gl-dropdown - class="gl-display-none gl-display-sm-inline-flex!" + class="gl-display-none gl-sm-display-inline-flex!" toggle-class="gl-border-0! gl-shadow-none!" no-caret right diff --git a/app/assets/javascripts/issue_show/components/incidents/incident_tabs.vue b/app/assets/javascripts/issue_show/components/incidents/incident_tabs.vue index f9f06c3ad5a..84107d3eaca 100644 --- a/app/assets/javascripts/issue_show/components/incidents/incident_tabs.vue +++ b/app/assets/javascripts/issue_show/components/incidents/incident_tabs.vue @@ -1,13 +1,13 @@ <script> import { GlTab, GlTabs } from '@gitlab/ui'; -import DescriptionComponent from '../description.vue'; -import HighlightBar from './highlight_bar.vue'; import createFlash from '~/flash'; +import { trackIncidentDetailsViewsOptions } from '~/incidents/constants'; import { s__ } from '~/locale'; -import AlertDetailsTable from '~/vue_shared/components/alert_details_table.vue'; import Tracking from '~/tracking'; +import AlertDetailsTable from '~/vue_shared/components/alert_details_table.vue'; +import DescriptionComponent from '../description.vue'; import getAlert from './graphql/queries/get_alert.graphql'; -import { trackIncidentDetailsViewsOptions } from '~/incidents/constants'; +import HighlightBar from './highlight_bar.vue'; export default { components: { diff --git a/app/assets/javascripts/issue_show/components/title.vue b/app/assets/javascripts/issue_show/components/title.vue index b03a91716fe..806d95ca748 100644 --- a/app/assets/javascripts/issue_show/components/title.vue +++ b/app/assets/javascripts/issue_show/components/title.vue @@ -1,7 +1,7 @@ <script> import { GlButton, GlTooltipDirective, GlSafeHtmlDirective as SafeHtml } from '@gitlab/ui'; -import animateMixin from '../mixins/animate'; import eventHub from '../event_hub'; +import animateMixin from '../mixins/animate'; export default { components: { |