diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-09-29 15:08:49 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-09-29 15:08:49 +0300 |
commit | 9bf40d9fdc79fb09f67ac2b571467908758777ad (patch) | |
tree | d4f9eb07b6d4e37d79de2f8e4036fdf0bbe3d7a9 /app/assets/javascripts/projects | |
parent | 946b1e2fe93357d596f37d3978cf682b8b837925 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/projects')
-rw-r--r-- | app/assets/javascripts/projects/compare/components/app.vue | 46 | ||||
-rw-r--r-- | app/assets/javascripts/projects/compare/index.js | 3 |
2 files changed, 46 insertions, 3 deletions
diff --git a/app/assets/javascripts/projects/compare/components/app.vue b/app/assets/javascripts/projects/compare/components/app.vue index 4ba7156b026..271694863e8 100644 --- a/app/assets/javascripts/projects/compare/components/app.vue +++ b/app/assets/javascripts/projects/compare/components/app.vue @@ -1,5 +1,5 @@ <script> -import { GlButton } from '@gitlab/ui'; +import { GlDropdown, GlDropdownItem, GlButton } from '@gitlab/ui'; import csrf from '~/lib/utils/csrf'; import { joinPaths } from '~/lib/utils/url_utility'; import RevisionCard from './revision_card.vue'; @@ -9,6 +9,8 @@ export default { components: { RevisionCard, GlButton, + GlDropdown, + GlDropdownItem, }, props: { projectCompareIndexPath: { @@ -53,6 +55,10 @@ export default { type: Array, required: true, }, + straight: { + type: Boolean, + required: true, + }, }, data() { return { @@ -67,8 +73,27 @@ export default { revision: this.paramsTo, refsProjectPath: this.sourceProjectRefsPath, }, + isStraight: this.straight, }; }, + computed: { + straightModeDropdownItems() { + return [ + { + modeType: 'off', + isEnabled: false, + content: '..', + testId: 'disableStraightModeButton', + }, + { + modeType: 'on', + isEnabled: true, + content: '...', + testId: 'enableStraightModeButton', + }, + ]; + }, + }, methods: { onSubmit() { this.$refs.form.submit(); @@ -85,6 +110,9 @@ export default { onSwapRevision() { [this.from, this.to] = [this.to, this.from]; // swaps 'from' and 'to' }, + setStraightMode(isStraight) { + this.isStraight = isStraight; + }, }, }; </script> @@ -112,10 +140,22 @@ export default { @selectRevision="onSelectRevision" /> <div - class="compare-ellipsis gl-display-flex gl-justify-content-center gl-align-items-center gl-align-self-end gl-my-4 gl-md-my-0" + class="gl-display-flex gl-justify-content-center gl-align-items-center gl-align-self-end gl-my-3 gl-md-my-0 gl-pl-3 gl-pr-3" data-testid="ellipsis" > - ... + <input :value="isStraight ? 'true' : 'false'" type="hidden" name="straight" /> + <gl-dropdown data-testid="modeDropdown" :text="isStraight ? '...' : '..'" size="small"> + <gl-dropdown-item + v-for="mode in straightModeDropdownItems" + :key="mode.modeType" + :is-check-item="true" + :is-checked="isStraight == mode.isEnabled" + :data-testid="mode.testId" + @click="setStraightMode(mode.isEnabled)" + > + <span class="dropdown-menu-inner-content"> {{ mode.content }} </span> + </gl-dropdown-item> + </gl-dropdown> </div> <revision-card data-testid="targetRevisionCard" diff --git a/app/assets/javascripts/projects/compare/index.js b/app/assets/javascripts/projects/compare/index.js index 074b8565c3c..284cee6d7f1 100644 --- a/app/assets/javascripts/projects/compare/index.js +++ b/app/assets/javascripts/projects/compare/index.js @@ -1,4 +1,5 @@ import Vue from 'vue'; +import { parseBoolean } from '~/lib/utils/common_utils'; import CompareApp from './components/app.vue'; export default function init() { @@ -9,6 +10,7 @@ export default function init() { targetProjectRefsPath, paramsFrom, paramsTo, + straight, projectCompareIndexPath, projectMergeRequestPath, createMrPath, @@ -29,6 +31,7 @@ export default function init() { targetProjectRefsPath, paramsFrom, paramsTo, + straight: parseBoolean(straight), projectCompareIndexPath, projectMergeRequestPath, createMrPath, |