diff options
author | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 13:34:23 -0600 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 13:34:23 -0600 |
commit | 6438df3a1e0fb944485cebf07976160184697d72 (patch) | |
tree | 00b09bfd170e77ae9391b1a2f5a93ef6839f2597 /app/assets/javascripts/design_management | |
parent | 42bcd54d971da7ef2854b896a7b34f4ef8601067 (diff) | |
download | gitlab-ce-6438df3a1e0fb944485cebf07976160184697d72.tar.gz |
Add latest changes from gitlab-org/gitlab@13-8-stable-eev13.8.0-rc42
Diffstat (limited to 'app/assets/javascripts/design_management')
18 files changed, 121 insertions, 148 deletions
diff --git a/app/assets/javascripts/design_management/components/design_destroyer.vue b/app/assets/javascripts/design_management/components/design_destroyer.vue index 5d32bfd4a73..01f9cac456d 100644 --- a/app/assets/javascripts/design_management/components/design_destroyer.vue +++ b/app/assets/javascripts/design_management/components/design_destroyer.vue @@ -8,12 +8,6 @@ export default { components: { ApolloMutation, }, - props: { - filenames: { - type: Array, - required: true, - }, - }, inject: { projectPath: { default: '', @@ -23,6 +17,12 @@ export default { defaut: '', }, }, + props: { + filenames: { + type: Array, + required: true, + }, + }, computed: { projectQueryBody() { return { @@ -32,12 +32,7 @@ export default { }, }, methods: { - updateStoreAfterDelete( - store, - { - data: { designManagementDelete }, - }, - ) { + updateStoreAfterDelete(store, { data: { designManagementDelete } }) { updateStoreAfterDesignsDelete( store, designManagementDelete, diff --git a/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue b/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue index 6aab4bf423e..ea4d5d7b570 100644 --- a/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue +++ b/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue @@ -171,7 +171,7 @@ export default { this.$emit('resolve-discussion-error', data.errors[0]); } }) - .catch(err => { + .catch((err) => { this.$emit('resolve-discussion-error', err); }) .finally(() => { diff --git a/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue b/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue index 7aaac58a1ce..0cc89440754 100644 --- a/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue +++ b/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue @@ -2,6 +2,7 @@ import { GlButton, GlModal } from '@gitlab/ui'; import MarkdownField from '~/vue_shared/components/markdown/field.vue'; import { s__ } from '~/locale'; +import { helpPagePath } from '~/helpers/help_page_helper'; export default { name: 'DesignReplyForm', @@ -60,6 +61,9 @@ export default { ? s__('DesignManagement|Comment') : s__('DesignManagement|Save comment'); }, + markdownDocsPath() { + return helpPagePath('user/markdown'); + }, }, mounted() { this.focusInput(); @@ -89,7 +93,7 @@ export default { :can-attach-file="false" :enable-autocomplete="true" :textarea-value="value" - markdown-docs-path="/help/user/markdown" + :markdown-docs-path="markdownDocsPath" class="bordered-box" > <template #textarea> diff --git a/app/assets/javascripts/design_management/components/design_presentation.vue b/app/assets/javascripts/design_management/components/design_presentation.vue index c4d904e0d91..a760adf8b14 100644 --- a/app/assets/javascripts/design_management/components/design_presentation.vue +++ b/app/assets/javascripts/design_management/components/design_presentation.vue @@ -58,7 +58,7 @@ export default { }, computed: { discussionStartingNotes() { - return this.discussions.map(discussion => ({ + return this.discussions.map((discussion) => ({ ...discussion.notes[0], index: discussion.index, })); diff --git a/app/assets/javascripts/design_management/components/design_sidebar.vue b/app/assets/javascripts/design_management/components/design_sidebar.vue index 41dcec38abe..50b12fd739b 100644 --- a/app/assets/javascripts/design_management/components/design_sidebar.vue +++ b/app/assets/javascripts/design_management/components/design_sidebar.vue @@ -21,6 +21,14 @@ export default { DesignTodoButton, }, mixins: [glFeatureFlagsMixin()], + inject: { + projectPath: { + default: '', + }, + issueIid: { + default: '', + }, + }, props: { design: { type: Object, @@ -41,14 +49,6 @@ export default { discussionWithOpenForm: '', }; }, - inject: { - projectPath: { - default: '', - }, - issueIid: { - default: '', - }, - }, computed: { discussions() { return extractDiscussions(this.design.discussions); @@ -63,10 +63,10 @@ export default { return extractParticipants(this.issue.participants.nodes); }, resolvedDiscussions() { - return this.discussions.filter(discussion => discussion.resolved); + return this.discussions.filter((discussion) => discussion.resolved); }, unresolvedDiscussions() { - return this.discussions.filter(discussion => !discussion.resolved); + return this.discussions.filter((discussion) => !discussion.resolved); }, resolvedCommentsToggleIcon() { return this.resolvedDiscussionsExpanded ? 'chevron-down' : 'chevron-right'; diff --git a/app/assets/javascripts/design_management/components/design_todo_button.vue b/app/assets/javascripts/design_management/components/design_todo_button.vue index aff4f348d15..db14db79989 100644 --- a/app/assets/javascripts/design_management/components/design_todo_button.vue +++ b/app/assets/javascripts/design_management/components/design_todo_button.vue @@ -13,12 +13,6 @@ export default { TodoButton, }, mixins: [allVersionsMixin], - props: { - design: { - type: Object, - required: true, - }, - }, inject: { projectPath: { default: '', @@ -27,6 +21,12 @@ export default { default: '', }, }, + props: { + design: { + type: Object, + required: true, + }, + }, data() { return { todoLoading: false, @@ -95,7 +95,7 @@ export default { .then(() => { this.incrementGlobalTodoCount(); }) - .catch(err => { + .catch((err) => { this.$emit('error', Error(CREATE_DESIGN_TODO_ERROR)); throw err; }) @@ -116,12 +116,7 @@ export default { variables: { id, }, - update( - store, - { - data: { todoMarkDone }, - }, - ) { + update(store, { data: { todoMarkDone } }) { const todoMarkDoneFirstError = (todoMarkDone.errors || [])[0]; if (todoMarkDoneFirstError) { this.$emit('error', Error(todoMarkDoneFirstError)); @@ -138,7 +133,7 @@ export default { .then(() => { this.decrementGlobalTodoCount(); }) - .catch(err => { + .catch((err) => { this.$emit('error', Error(DELETE_DESIGN_TODO_ERROR)); throw err; }) diff --git a/app/assets/javascripts/design_management/components/toolbar/design_navigation.vue b/app/assets/javascripts/design_management/components/toolbar/design_navigation.vue index 4edc2e410c7..6091a3183ac 100644 --- a/app/assets/javascripts/design_management/components/toolbar/design_navigation.vue +++ b/app/assets/javascripts/design_management/components/toolbar/design_navigation.vue @@ -26,7 +26,7 @@ export default { return this.designs.length; }, currentIndex() { - return this.designs.findIndex(design => design.filename === this.id); + return this.designs.findIndex((design) => design.filename === this.id); }, paginationText() { return sprintf(s__('DesignManagement|%{current_design} of %{designs_count}'), { diff --git a/app/assets/javascripts/design_management/components/toolbar/index.vue b/app/assets/javascripts/design_management/components/toolbar/index.vue index 4caee863df8..3509a701984 100644 --- a/app/assets/javascripts/design_management/components/toolbar/index.vue +++ b/app/assets/javascripts/design_management/components/toolbar/index.vue @@ -18,6 +18,14 @@ export default { GlTooltip: GlTooltipDirective, }, mixins: [timeagoMixin], + inject: { + projectPath: { + default: '', + }, + issueIid: { + default: '', + }, + }, props: { id: { type: String, @@ -58,14 +66,6 @@ export default { }, }; }, - inject: { - projectPath: { - default: '', - }, - issueIid: { - default: '', - }, - }, apollo: { permissions: { query: permissionsQuery, @@ -75,7 +75,7 @@ export default { iid: this.issueIid, }; }, - update: data => data.project.issue.userPermissions, + update: (data) => data.project.issue.userPermissions, }, }, computed: { diff --git a/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue b/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue index 4a1be7b720a..750f16bbe57 100644 --- a/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue +++ b/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue @@ -19,7 +19,7 @@ export default { if (!this.queryVersion) return 0; const idx = this.allVersions.findIndex( - version => this.findVersionId(version.id) === this.queryVersion, + (version) => this.findVersionId(version.id) === this.queryVersion, ); // if the currentVersionId isn't a valid version (i.e. not in allVersions) diff --git a/app/assets/javascripts/design_management/graphql.js b/app/assets/javascripts/design_management/graphql.js index d1fe977b969..b7aba315168 100644 --- a/app/assets/javascripts/design_management/graphql.js +++ b/app/assets/javascripts/design_management/graphql.js @@ -19,7 +19,7 @@ const resolvers = { updateActiveDiscussion: (_, { id = null, source }, { cache }) => { const sourceData = cache.readQuery({ query: activeDiscussionQuery }); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { // eslint-disable-next-line no-param-reassign draftData.activeDiscussion = { __typename: 'ActiveDiscussion', @@ -74,7 +74,7 @@ const defaultClient = createDefaultClient( // Should be removed as soon as https://gitlab.com/gitlab-org/gitlab/issues/13495 is resolved { cacheConfig: { - dataIdFromObject: object => { + dataIdFromObject: (object) => { // eslint-disable-next-line no-underscore-dangle, @gitlab/require-i18n-strings if (object.__typename === 'Design') { return object.id && object.image ? `${object.id}-${object.image}` : uniqueId(); diff --git a/app/assets/javascripts/design_management/mixins/all_designs.js b/app/assets/javascripts/design_management/mixins/all_designs.js index 466f61e21fa..4783382d563 100644 --- a/app/assets/javascripts/design_management/mixins/all_designs.js +++ b/app/assets/javascripts/design_management/mixins/all_designs.js @@ -17,7 +17,7 @@ export default { atVersion: this.designsVersion, }; }, - update: data => { + update: (data) => { const designNodes = propertyOf(data)([ 'project', 'issue', diff --git a/app/assets/javascripts/design_management/mixins/all_versions.js b/app/assets/javascripts/design_management/mixins/all_versions.js index 07cd0fc92bd..42cef35a08e 100644 --- a/app/assets/javascripts/design_management/mixins/all_versions.js +++ b/app/assets/javascripts/design_management/mixins/all_versions.js @@ -12,7 +12,7 @@ export default { atVersion: null, }; }, - update: data => data.project.issue.designCollection.versions.nodes, + update: (data) => data.project.issue.designCollection.versions.nodes, }, }, inject: { @@ -28,7 +28,7 @@ export default { return ( this.$route.query.version && this.allVersions && - this.allVersions.some(version => version.id.endsWith(this.$route.query.version)) + this.allVersions.some((version) => version.id.endsWith(this.$route.query.version)) ); }, designsVersion() { diff --git a/app/assets/javascripts/design_management/pages/design/index.vue b/app/assets/javascripts/design_management/pages/design/index.vue index fb86568c304..492ed2e8719 100644 --- a/app/assets/javascripts/design_management/pages/design/index.vue +++ b/app/assets/javascripts/design_management/pages/design/index.vue @@ -57,6 +57,27 @@ export default { DesignSidebar, }, mixins: [allVersionsMixin, glFeatureFlagsMixin()], + beforeRouteUpdate(to, from, next) { + // reset scale when the active design changes + this.scale = DEFAULT_SCALE; + next(); + }, + beforeRouteEnter(to, from, next) { + const pageEl = getPageLayoutElement(); + if (pageEl) { + pageEl.classList.add(...DESIGN_DETAIL_LAYOUT_CLASSLIST); + } + + next(); + }, + beforeRouteLeave(to, from, next) { + const pageEl = getPageLayoutElement(); + if (pageEl) { + pageEl.classList.remove(...DESIGN_DETAIL_LAYOUT_CLASSLIST); + } + + next(); + }, props: { id: { type: String, @@ -81,7 +102,7 @@ export default { variables() { return this.designVariables; }, - update: data => extractDesign(data), + update: (data) => extractDesign(data), result(res) { this.onDesignQueryResult(res); }, @@ -139,7 +160,7 @@ export default { return Boolean(this.annotationCoordinates); }, resolvedDiscussions() { - return this.discussions.filter(discussion => discussion.resolved); + return this.discussions.filter((discussion) => discussion.resolved); }, }, watch: { @@ -161,18 +182,8 @@ export default { beforeDestroy() { Mousetrap.unbind('esc', this.closeDesign); }, - beforeRouteUpdate(to, from, next) { - // reset scale when the active design changes - this.scale = DEFAULT_SCALE; - next(); - }, methods: { - addImageDiffNoteToStore( - store, - { - data: { createImageDiffNote }, - }, - ) { + addImageDiffNoteToStore(store, { data: { createImageDiffNote } }) { updateStoreAfterAddImageDiffNote( store, createImageDiffNote, @@ -180,12 +191,7 @@ export default { this.designVariables, ); }, - updateImageDiffNoteInStore( - store, - { - data: { repositionImageDiffNote }, - }, - ) { + updateImageDiffNoteInStore(store, { data: { repositionImageDiffNote } }) { return updateStoreAfterRepositionImageDiffNote( store, repositionImageDiffNote, @@ -213,7 +219,7 @@ export default { update: this.updateImageDiffNoteInStore, }; - return this.$apollo.mutate(mutationPayload).catch(e => this.onUpdateImageDiffNoteError(e)); + return this.$apollo.mutate(mutationPayload).catch((e) => this.onUpdateImageDiffNoteError(e)); }, onDesignQueryResult({ data, loading }) { // On the initial load with cache-and-network policy data is undefined while loading is true @@ -306,22 +312,6 @@ export default { this.resolvedDiscussionsExpanded = !this.resolvedDiscussionsExpanded; }, }, - beforeRouteEnter(to, from, next) { - const pageEl = getPageLayoutElement(); - if (pageEl) { - pageEl.classList.add(...DESIGN_DETAIL_LAYOUT_CLASSLIST); - } - - next(); - }, - beforeRouteLeave(to, from, next) { - const pageEl = getPageLayoutElement(); - if (pageEl) { - pageEl.classList.remove(...DESIGN_DETAIL_LAYOUT_CLASSLIST); - } - - next(); - }, createImageDiffNoteMutation, DESIGNS_ROUTE_NAME, }; diff --git a/app/assets/javascripts/design_management/pages/index.vue b/app/assets/javascripts/design_management/pages/index.vue index ea404692840..5c82a7331b6 100644 --- a/app/assets/javascripts/design_management/pages/index.vue +++ b/app/assets/javascripts/design_management/pages/index.vue @@ -69,9 +69,13 @@ export default { iid: this.issueIid, }; }, - update: data => data.project.issue.userPermissions, + update: (data) => data.project.issue.userPermissions, }, }, + beforeRouteUpdate(to, from, next) { + this.selectedDesigns = []; + next(); + }, data() { return { permissions: { @@ -184,15 +188,10 @@ export default { return this.$apollo .mutate(mutationPayload) - .then(res => this.onUploadDesignDone(res)) + .then((res) => this.onUploadDesignDone(res)) .catch(() => this.onUploadDesignError()); }, - afterUploadDesign( - store, - { - data: { designManagementUpload }, - }, - ) { + afterUploadDesign(store, { data: { designManagementUpload } }) { updateStoreAfterUploadDesign(store, designManagementUpload, this.projectQueryBody); }, onUploadDesignDone(res) { @@ -213,7 +212,7 @@ export default { this.trackUploadDesign(res); }, trackUploadDesign(res) { - (res?.data?.designManagementUpload?.designs || []).forEach(design => { + (res?.data?.designManagementUpload?.designs || []).forEach((design) => { if (design.event === 'CREATION') { trackDesignCreate(); } else if (design.event === 'MODIFICATION') { @@ -227,7 +226,7 @@ export default { }, changeSelectedDesigns(filename) { if (this.isDesignSelected(filename)) { - this.selectedDesigns = this.selectedDesigns.filter(design => design !== filename); + this.selectedDesigns = this.selectedDesigns.filter((design) => design !== filename); } else { this.selectedDesigns.push(filename); } @@ -236,14 +235,14 @@ export default { if (this.hasSelectedDesigns) { this.selectedDesigns = []; } else { - this.selectedDesigns = this.designs.map(design => design.filename); + this.selectedDesigns = this.designs.map((design) => design.filename); } }, isDesignSelected(filename) { return this.selectedDesigns.includes(filename); }, isDesignToBeSaved(filename) { - return this.filesToBeSaved.some(file => file.name === filename); + return this.filesToBeSaved.some((file) => file.name === filename); }, canSelectDesign(filename) { return this.isLatestVersion && this.canCreateDesign && !this.isDesignToBeSaved(filename); @@ -329,10 +328,6 @@ export default { this.reorderedDesigns = designs; }, }, - beforeRouteUpdate(to, from, next) { - this.selectedDesigns = []; - next(); - }, dragOptions: { animation: 200, ghostClass: 'gl-visibility-hidden', diff --git a/app/assets/javascripts/design_management/router/routes.js b/app/assets/javascripts/design_management/router/routes.js index d888b856611..1b07d8aeb76 100644 --- a/app/assets/javascripts/design_management/router/routes.js +++ b/app/assets/javascripts/design_management/router/routes.js @@ -13,13 +13,7 @@ export default [ name: DESIGN_ROUTE_NAME, path: '/designs/:id', component: DesignDetail, - beforeEnter( - { - params: { id }, - }, - _, - next, - ) { + beforeEnter({ params: { id } }, _, next) { if (typeof id === 'string') { next(); } diff --git a/app/assets/javascripts/design_management/utils/cache_update.js b/app/assets/javascripts/design_management/utils/cache_update.js index 5bd0288d037..0c4ee0bf012 100644 --- a/app/assets/javascripts/design_management/utils/cache_update.js +++ b/app/assets/javascripts/design_management/utils/cache_update.js @@ -11,14 +11,14 @@ import { designDeletionError, } from './error_messages'; -const designsOf = data => data.project.issue.designCollection.designs; +const designsOf = (data) => data.project.issue.designCollection.designs; const deleteDesignsFromStore = (store, query, selectedDesigns) => { const sourceData = store.readQuery(query); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { const changedDesigns = designsOf(sourceData).nodes.filter( - design => !selectedDesigns.includes(design.filename), + (design) => !selectedDesigns.includes(design.filename), ); designsOf(draftData).nodes = [...changedDesigns]; }); @@ -40,7 +40,7 @@ const addNewVersionToStore = (store, query, version) => { if (!version) return; const sourceData = store.readQuery(query); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { // eslint-disable-next-line no-param-reassign draftData.project.issue.designCollection.versions.nodes = [ version, @@ -74,14 +74,14 @@ const addImageDiffNoteToStore = (store, createImageDiffNote, query, variables) = }, }; - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { const design = extractDesign(draftData); design.notesCount += 1; design.discussions.nodes = [...design.discussions.nodes, newDiscussion]; if ( !design.issue.participants.nodes.some( - participant => participant.username === createImageDiffNote.note.author.username, + (participant) => participant.username === createImageDiffNote.note.author.username, ) ) { design.issue.participants.nodes = [ @@ -107,7 +107,7 @@ const updateImageDiffNoteInStore = (store, repositionImageDiffNote, query, varia variables, }); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { const design = extractDesign(draftData); const discussion = extractCurrentDiscussion( design.discussions, @@ -130,18 +130,18 @@ const updateImageDiffNoteInStore = (store, repositionImageDiffNote, query, varia const addNewDesignToStore = (store, designManagementUpload, query) => { const sourceData = store.readQuery(query); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { const currentDesigns = extractDesigns(draftData); const difference = differenceBy(designManagementUpload.designs, currentDesigns, 'filename'); const newDesigns = currentDesigns - .map(design => { - return designManagementUpload.designs.find(d => d.filename === design.filename) || design; + .map((design) => { + return designManagementUpload.designs.find((d) => d.filename === design.filename) || design; }) .concat(difference); let newVersionNode; - const findNewVersions = designManagementUpload.designs.find(design => design.versions); + const findNewVersions = designManagementUpload.designs.find((design) => design.versions); if (findNewVersions) { const findNewVersionsNodes = findNewVersions.versions.nodes; @@ -181,7 +181,7 @@ const addNewDesignToStore = (store, designManagementUpload, query) => { const moveDesignInStore = (store, designManagementMove, query) => { const sourceData = store.readQuery(query); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { // eslint-disable-next-line no-param-reassign draftData.project.issue.designCollection.designs = designManagementMove.designCollection.designs; @@ -199,7 +199,7 @@ export const addPendingTodoToStore = (store, pendingTodo, query, queryVariables) variables: queryVariables, }); - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { const design = extractDesign(draftData); const existingTodos = design.currentUserTodos?.nodes || []; const newTodoNodes = [...existingTodos, { ...pendingTodo, __typename: 'Todo' }]; @@ -226,7 +226,7 @@ export const deletePendingTodoFromStore = (store, todoMarkDone, query, queryVari const { todo: { id: todoId }, } = todoMarkDone; - const data = produce(sourceData, draftData => { + const data = produce(sourceData, (draftData) => { const design = extractDesign(draftData); const existingTodos = design.currentUserTodos?.nodes || []; diff --git a/app/assets/javascripts/design_management/utils/design_management_utils.js b/app/assets/javascripts/design_management/utils/design_management_utils.js index a905230811c..05b220801f2 100644 --- a/app/assets/javascripts/design_management/utils/design_management_utils.js +++ b/app/assets/javascripts/design_management/utils/design_management_utils.js @@ -10,7 +10,7 @@ export const isValidDesignFile = ({ type }) => * @param {Array} discussions */ -export const extractDiscussions = discussions => +export const extractDiscussions = (discussions) => discussions.nodes.map((discussion, index) => ({ ...discussion, index: index + 1, @@ -24,27 +24,27 @@ export const extractDiscussions = discussions => */ export const extractCurrentDiscussion = (discussions, id) => - discussions.nodes.find(discussion => discussion.id === id); + discussions.nodes.find((discussion) => discussion.id === id); -export const findVersionId = id => (id.match('::Version/(.+$)') || [])[1]; +export const findVersionId = (id) => (id.match('::Version/(.+$)') || [])[1]; -export const findNoteId = id => (id.match('DiffNote/(.+$)') || [])[1]; +export const findNoteId = (id) => (id.match('DiffNote/(.+$)') || [])[1]; -export const findIssueId = id => (id.match('Issue/(.+$)') || [])[1]; +export const findIssueId = (id) => (id.match('Issue/(.+$)') || [])[1]; -export const findDesignId = id => (id.match('Design/(.+$)') || [])[1]; +export const findDesignId = (id) => (id.match('Design/(.+$)') || [])[1]; -export const extractDesigns = data => data.project.issue.designCollection.designs.nodes; +export const extractDesigns = (data) => data.project.issue.designCollection.designs.nodes; -export const extractDesign = data => (extractDesigns(data) || [])[0]; +export const extractDesign = (data) => (extractDesigns(data) || [])[0]; -export const toDiffNoteGid = noteId => `gid://gitlab/DiffNote/${noteId}`; +export const toDiffNoteGid = (noteId) => `gid://gitlab/DiffNote/${noteId}`; /** * Return the note ID from a URL hash parameter * @param {String} urlHash URL hash, including `#` prefix */ -export const extractDesignNoteId = urlHash => { +export const extractDesignNoteId = (urlHash) => { const [, noteId] = urlHash.match('#note_([0-9]+$)') || []; return noteId || null; }; @@ -53,8 +53,8 @@ export const extractDesignNoteId = urlHash => { * Generates optimistic response for a design upload mutation * @param {Array<File>} files */ -export const designUploadOptimisticResponse = files => { - const designs = files.map(file => ({ +export const designUploadOptimisticResponse = (files) => { + const designs = files.map((file) => ({ // False positive i18n lint: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26 // eslint-disable-next-line @gitlab/require-i18n-strings __typename: 'Design', @@ -128,7 +128,7 @@ export const repositionImageDiffNoteOptimisticResponse = (note, { position }) => * Generates optimistic response for a design upload mutation * @param {Array} designs */ -export const moveDesignOptimisticResponse = designs => ({ +export const moveDesignOptimisticResponse = (designs) => ({ // False positive i18n lint: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26 // eslint-disable-next-line @gitlab/require-i18n-strings __typename: 'Mutation', @@ -145,13 +145,13 @@ export const moveDesignOptimisticResponse = designs => ({ }, }); -const normalizeAuthor = author => ({ +const normalizeAuthor = (author) => ({ ...author, web_url: author.webUrl, avatar_url: author.avatarUrl, }); -export const extractParticipants = users => users.map(node => normalizeAuthor(node)); +export const extractParticipants = (users) => users.map((node) => normalizeAuthor(node)); export const getPageLayoutElement = () => document.querySelector('.layout-page'); @@ -160,14 +160,14 @@ export const getPageLayoutElement = () => document.querySelector('.layout-page') * Example of todoDeletePath: /delete/1234 * @param {String} todoDeletePath delete_path from REST API response */ -export const extractTodoIdFromDeletePath = todoDeletePath => +export const extractTodoIdFromDeletePath = (todoDeletePath) => (todoDeletePath.match('todos/([0-9]+$)') || [])[1]; -const createTodoGid = todoId => { +const createTodoGid = (todoId) => { return `gid://gitlab/Todo/${todoId}`; }; -export const createPendingTodo = todoId => { +export const createPendingTodo = (todoId) => { return { __typename: 'Todo', // eslint-disable-line @gitlab/require-i18n-strings id: createTodoGid(todoId), diff --git a/app/assets/javascripts/design_management/utils/error_messages.js b/app/assets/javascripts/design_management/utils/error_messages.js index bd21d711462..cb4bb6e26a8 100644 --- a/app/assets/javascripts/design_management/utils/error_messages.js +++ b/app/assets/javascripts/design_management/utils/error_messages.js @@ -54,7 +54,7 @@ export const TOGGLE_TODO_ERROR = __('Failed to toggle To-Do for the design.'); const MAX_SKIPPED_FILES_LISTINGS = 5; -const oneDesignSkippedMessage = filename => +const oneDesignSkippedMessage = (filename) => `${DESIGN_UPLOAD_SKIPPED_MESSAGE} ${sprintf(s__('DesignManagement|%{filename} did not change.'), { filename, })}`; @@ -64,7 +64,7 @@ const oneDesignSkippedMessage = filename => * files were skipped. * @param {Array<{ filename }>} skippedFiles */ -const someDesignsSkippedMessage = skippedFiles => { +const someDesignsSkippedMessage = (skippedFiles) => { const designsSkippedMessage = `${DESIGN_UPLOAD_SKIPPED_MESSAGE} ${s__( 'Some of the designs you tried uploading did not change:', )}`; |