diff options
Diffstat (limited to 'app/assets/javascripts/projects/compare')
3 files changed, 7 insertions, 150 deletions
diff --git a/app/assets/javascripts/projects/compare/components/app.vue b/app/assets/javascripts/projects/compare/components/app.vue index f7cfc82db11..f2c1c843878 100644 --- a/app/assets/javascripts/projects/compare/components/app.vue +++ b/app/assets/javascripts/projects/compare/components/app.vue @@ -122,7 +122,7 @@ export default { /> </div> <div class="gl-mt-4"> - <gl-button category="primary" variant="success" @click="onSubmit"> + <gl-button category="primary" variant="confirm" @click="onSubmit"> {{ s__('CompareRevisions|Compare') }} </gl-button> <gl-button data-testid="swapRevisionsButton" class="btn btn-default" @click="onSwapRevision"> diff --git a/app/assets/javascripts/projects/compare/components/app_legacy.vue b/app/assets/javascripts/projects/compare/components/app_legacy.vue deleted file mode 100644 index d3f09f7d69f..00000000000 --- a/app/assets/javascripts/projects/compare/components/app_legacy.vue +++ /dev/null @@ -1,112 +0,0 @@ -<script> -import { GlButton } from '@gitlab/ui'; -import csrf from '~/lib/utils/csrf'; -import RevisionDropdown from './revision_dropdown_legacy.vue'; - -export default { - csrf, - components: { - RevisionDropdown, - GlButton, - }, - props: { - projectCompareIndexPath: { - type: String, - required: true, - }, - refsProjectPath: { - type: String, - required: true, - }, - paramsFrom: { - type: String, - required: false, - default: null, - }, - paramsTo: { - type: String, - required: false, - default: null, - }, - projectMergeRequestPath: { - type: String, - required: true, - }, - createMrPath: { - type: String, - required: true, - }, - }, - data() { - return { - from: this.paramsFrom, - to: this.paramsTo, - }; - }, - methods: { - onSubmit() { - this.$refs.form.submit(); - }, - onSwapRevision() { - [this.from, this.to] = [this.to, this.from]; // swaps 'from' and 'to' - }, - onSelectRevision({ direction, revision }) { - this[direction] = revision; // direction is either 'from' or 'to' - }, - }, -}; -</script> - -<template> - <form - ref="form" - class="form-inline js-requires-input js-signature-container" - method="POST" - :action="projectCompareIndexPath" - > - <input :value="$options.csrf.token" type="hidden" name="authenticity_token" /> - <revision-dropdown - :refs-project-path="refsProjectPath" - revision-text="Source" - params-name="to" - :params-branch="to" - data-testid="sourceRevisionDropdown" - @selectRevision="onSelectRevision" - /> - <div class="compare-ellipsis gl-display-inline" data-testid="ellipsis">...</div> - <revision-dropdown - :refs-project-path="refsProjectPath" - revision-text="Target" - params-name="from" - :params-branch="from" - data-testid="targetRevisionDropdown" - @selectRevision="onSelectRevision" - /> - <gl-button category="primary" variant="success" class="gl-ml-3" @click="onSubmit"> - {{ s__('CompareRevisions|Compare') }} - </gl-button> - <gl-button - data-testid="swapRevisionsButton" - class="btn btn-default gl-button gl-ml-3" - @click="onSwapRevision" - > - {{ s__('CompareRevisions|Swap revisions') }} - </gl-button> - <gl-button - v-if="projectMergeRequestPath" - :href="projectMergeRequestPath" - data-testid="projectMrButton" - class="btn btn-default gl-button gl-ml-3" - > - {{ s__('CompareRevisions|View open merge request') }} - </gl-button> - <gl-button - v-else-if="createMrPath" - :href="createMrPath" - data-testid="createMrButton" - class="btn btn-default gl-button gl-ml-3" - > - {{ s__('CompareRevisions|Create merge request') }} - </gl-button> - </form> -</template> diff --git a/app/assets/javascripts/projects/compare/index.js b/app/assets/javascripts/projects/compare/index.js index 322dff773b8..e485a086d39 100644 --- a/app/assets/javascripts/projects/compare/index.js +++ b/app/assets/javascripts/projects/compare/index.js @@ -1,44 +1,9 @@ import Vue from 'vue'; import CompareApp from './components/app.vue'; -import CompareAppLegacy from './components/app_legacy.vue'; export default function init() { const el = document.getElementById('js-compare-selector'); - if (gon.features?.compareRepoDropdown) { - const { - refsProjectPath, - paramsFrom, - paramsTo, - projectCompareIndexPath, - projectMergeRequestPath, - createMrPath, - projectTo, - projectsFrom, - } = el.dataset; - - return new Vue({ - el, - components: { - CompareApp, - }, - render(createElement) { - return createElement(CompareApp, { - props: { - refsProjectPath, - paramsFrom, - paramsTo, - projectCompareIndexPath, - projectMergeRequestPath, - createMrPath, - defaultProject: JSON.parse(projectTo), - projects: JSON.parse(projectsFrom), - }, - }); - }, - }); - } - const { refsProjectPath, paramsFrom, @@ -46,15 +11,17 @@ export default function init() { projectCompareIndexPath, projectMergeRequestPath, createMrPath, + projectTo, + projectsFrom, } = el.dataset; return new Vue({ el, components: { - CompareAppLegacy, + CompareApp, }, render(createElement) { - return createElement(CompareAppLegacy, { + return createElement(CompareApp, { props: { refsProjectPath, paramsFrom, @@ -62,6 +29,8 @@ export default function init() { projectCompareIndexPath, projectMergeRequestPath, createMrPath, + defaultProject: JSON.parse(projectTo), + projects: JSON.parse(projectsFrom), }, }); }, |