summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/projects/compare
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/projects/compare')
-rw-r--r--app/assets/javascripts/projects/compare/components/app.vue2
-rw-r--r--app/assets/javascripts/projects/compare/components/app_legacy.vue112
-rw-r--r--app/assets/javascripts/projects/compare/index.js43
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),
},
});
},