Commit bf22eb61 authored by Winnie Hellmann's avatar Winnie Hellmann

Rename popup-dialog to modal

parent 0cdc840b
<script> <script>
import { s__ } from '../../locale'; import { s__ } from '../../locale';
import tooltip from '../../vue_shared/directives/tooltip'; import tooltip from '../../vue_shared/directives/tooltip';
import PopupDialog from '../../vue_shared/components/popup_dialog.vue'; import modal from '../../vue_shared/components/modal.vue';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import { COMMON_STR } from '../constants'; import { COMMON_STR } from '../constants';
import Icon from '../../vue_shared/components/icon.vue'; import Icon from '../../vue_shared/components/icon.vue';
...@@ -9,7 +9,7 @@ import Icon from '../../vue_shared/components/icon.vue'; ...@@ -9,7 +9,7 @@ import Icon from '../../vue_shared/components/icon.vue';
export default { export default {
components: { components: {
Icon, Icon,
PopupDialog, modal,
}, },
directives: { directives: {
tooltip, tooltip,
...@@ -27,7 +27,7 @@ export default { ...@@ -27,7 +27,7 @@ export default {
}, },
data() { data() {
return { return {
dialogStatus: false, modalStatus: false,
}; };
}, },
computed: { computed: {
...@@ -43,10 +43,10 @@ export default { ...@@ -43,10 +43,10 @@ export default {
}, },
methods: { methods: {
onLeaveGroup() { onLeaveGroup() {
this.dialogStatus = true; this.modalStatus = true;
}, },
leaveGroup(leaveConfirmed) { leaveGroup(leaveConfirmed) {
this.dialogStatus = false; this.modalStatus = false;
if (leaveConfirmed) { if (leaveConfirmed) {
eventHub.$emit('leaveGroup', this.group, this.parentGroup); eventHub.$emit('leaveGroup', this.group, this.parentGroup);
} }
...@@ -82,8 +82,8 @@ export default { ...@@ -82,8 +82,8 @@ export default {
class="fa fa-sign-out" class="fa fa-sign-out"
aria-hidden="true"/> aria-hidden="true"/>
</a> </a>
<popup-dialog <modal
v-show="dialogStatus" v-show="modalStatus"
:primary-button-label="__('Leave')" :primary-button-label="__('Leave')"
kind="warning" kind="warning"
:title="__('Are you sure?')" :title="__('Are you sure?')"
......
<script> <script>
import popupDialog from '../../../vue_shared/components/popup_dialog.vue'; import modal from '../../../vue_shared/components/modal.vue';
import { __, s__, sprintf } from '../../../locale'; import { __, s__, sprintf } from '../../../locale';
import csrf from '../../../lib/utils/csrf'; import csrf from '../../../lib/utils/csrf';
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
}; };
}, },
components: { components: {
popupDialog, modal,
}, },
computed: { computed: {
csrfToken() { csrfToken() {
...@@ -89,7 +89,7 @@ Once you confirm %{deleteAccount}, it cannot be undone or recovered.`), ...@@ -89,7 +89,7 @@ Once you confirm %{deleteAccount}, it cannot be undone or recovered.`),
<template> <template>
<div> <div>
<popup-dialog <modal
v-if="isOpen" v-if="isOpen"
:title="s__('Profiles|Delete your account?')" :title="s__('Profiles|Delete your account?')"
:text="text" :text="text"
...@@ -134,7 +134,7 @@ Once you confirm %{deleteAccount}, it cannot be undone or recovered.`), ...@@ -134,7 +134,7 @@ Once you confirm %{deleteAccount}, it cannot be undone or recovered.`),
</form> </form>
</template> </template>
</popup-dialog> </modal>
<button <button
type="button" type="button"
......
<script> <script>
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import { __ } from '../../../locale'; import { __ } from '../../../locale';
import popupDialog from '../../../vue_shared/components/popup_dialog.vue'; import modal from '../../../vue_shared/components/modal.vue';
export default { export default {
props: { props: {
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
}; };
}, },
components: { components: {
popupDialog, modal,
}, },
methods: { methods: {
...mapActions([ ...mapActions([
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
</script> </script>
<template> <template>
<popup-dialog <modal
:title="modalTitle" :title="modalTitle"
:primary-button-label="buttonLabel" :primary-button-label="buttonLabel"
kind="success" kind="success"
...@@ -94,5 +94,5 @@ ...@@ -94,5 +94,5 @@
</div> </div>
</fieldset> </fieldset>
</form> </form>
</popup-dialog> </modal>
</template> </template>
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
import { mapGetters, mapState, mapActions } from 'vuex'; import { mapGetters, mapState, mapActions } from 'vuex';
import tooltip from '../../vue_shared/directives/tooltip'; import tooltip from '../../vue_shared/directives/tooltip';
import icon from '../../vue_shared/components/icon.vue'; import icon from '../../vue_shared/components/icon.vue';
import PopupDialog from '../../vue_shared/components/popup_dialog.vue'; import modal from '../../vue_shared/components/modal.vue';
import commitFilesList from './commit_sidebar/list.vue'; import commitFilesList from './commit_sidebar/list.vue';
export default { export default {
components: { components: {
PopupDialog, modal,
icon, icon,
commitFilesList, commitFilesList,
}, },
...@@ -16,7 +16,7 @@ export default { ...@@ -16,7 +16,7 @@ export default {
}, },
data() { data() {
return { return {
showNewBranchDialog: false, showNewBranchModal: false,
submitCommitsLoading: false, submitCommitsLoading: false,
startNewMR: false, startNewMR: false,
commitMessage: '', commitMessage: '',
...@@ -58,7 +58,7 @@ export default { ...@@ -58,7 +58,7 @@ export default {
start_branch: createNewBranch ? this.currentBranch : undefined, start_branch: createNewBranch ? this.currentBranch : undefined,
}; };
this.showNewBranchDialog = false; this.showNewBranchModal = false;
this.submitCommitsLoading = true; this.submitCommitsLoading = true;
this.commitChanges({ payload, newMr: this.startNewMR }) this.commitChanges({ payload, newMr: this.startNewMR })
...@@ -76,7 +76,7 @@ export default { ...@@ -76,7 +76,7 @@ export default {
this.checkCommitStatus() this.checkCommitStatus()
.then((branchChanged) => { .then((branchChanged) => {
if (branchChanged) { if (branchChanged) {
this.showNewBranchDialog = true; this.showNewBranchModal = true;
} else { } else {
this.makeCommit(); this.makeCommit();
} }
...@@ -99,13 +99,13 @@ export default { ...@@ -99,13 +99,13 @@ export default {
'is-collapsed': collapsed, 'is-collapsed': collapsed,
}" }"
> >
<popup-dialog <modal
v-if="showNewBranchDialog" v-if="showNewBranchModal"
:primary-button-label="__('Create new branch')" :primary-button-label="__('Create new branch')"
kind="primary" kind="primary"
:title="__('Branch has changed')" :title="__('Branch has changed')"
:text="__('This branch has changed since you started editing. Would you like to create a new branch?')" :text="__('This branch has changed since you started editing. Would you like to create a new branch?')"
@toggle="showNewBranchDialog = false" @toggle="showNewBranchModal = false"
@submit="makeCommit(true)" @submit="makeCommit(true)"
/> />
<button <button
......
<script> <script>
import { mapGetters, mapActions, mapState } from 'vuex'; import { mapGetters, mapActions, mapState } from 'vuex';
import popupDialog from '../../vue_shared/components/popup_dialog.vue'; import modal from '../../vue_shared/components/modal.vue';
export default { export default {
components: { components: {
popupDialog, modal,
}, },
computed: { computed: {
...mapState([ ...mapState([
...@@ -43,7 +43,7 @@ export default { ...@@ -43,7 +43,7 @@ export default {
{{buttonLabel}} {{buttonLabel}}
</span> </span>
</button> </button>
<popup-dialog <modal
v-if="discardPopupOpen" v-if="discardPopupOpen"
class="text-left" class="text-left"
:primary-button-label="__('Discard changes')" :primary-button-label="__('Discard changes')"
......
<script> <script>
export default { export default {
name: 'popup-dialog', name: 'modal',
props: { props: {
title: { title: {
...@@ -75,7 +75,7 @@ export default { ...@@ -75,7 +75,7 @@ export default {
<template> <template>
<div class="modal-open"> <div class="modal-open">
<div <div
class="modal popup-dialog" class="modal show"
role="dialog" role="dialog"
tabindex="-1" tabindex="-1"
> >
......
<script> <script>
import PopupDialog from './popup_dialog.vue'; import modal from './modal.vue';
export default { export default {
name: 'recaptcha-dialog', name: 'recaptcha-dialog',
...@@ -20,7 +20,7 @@ export default { ...@@ -20,7 +20,7 @@ export default {
}, },
components: { components: {
PopupDialog, modal,
}, },
methods: { methods: {
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
</script> </script>
<template> <template>
<popup-dialog <modal
kind="warning" kind="warning"
class="recaptcha-dialog js-recaptcha-dialog" class="recaptcha-dialog js-recaptcha-dialog"
:hide-footer="true" :hide-footer="true"
...@@ -81,5 +81,5 @@ export default { ...@@ -81,5 +81,5 @@ export default {
v-html="html" v-html="html"
></div> ></div>
</div> </div>
</popup-dialog> </modal>
</template> </template>
...@@ -44,8 +44,15 @@ body.modal-open { ...@@ -44,8 +44,15 @@ body.modal-open {
} }
} }
.modal.popup-dialog { .modal {
display: block; background-color: $black-transparent;
z-index: 2100;
@media (min-width: $screen-md-min) {
.modal-dialog {
margin: 30px auto;
}
}
} }
.recaptcha-dialog .recaptcha-form { .recaptcha-dialog .recaptcha-form {
......
.modal.popup-dialog {
display: block;
background-color: $black-transparent;
z-index: 2100;
@media (min-width: $screen-md-min) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
}
}
.project-refs-form, .project-refs-form,
.project-refs-target-form { .project-refs-target-form {
display: inline-block; display: inline-block;
......
...@@ -25,7 +25,7 @@ describe 'Profile account page', :js do ...@@ -25,7 +25,7 @@ describe 'Profile account page', :js do
fill_in 'password', with: '12345678' fill_in 'password', with: '12345678'
page.within '.popup-dialog' do page.within '.modal' do
click_button 'Delete account' click_button 'Delete account'
end end
...@@ -38,7 +38,7 @@ describe 'Profile account page', :js do ...@@ -38,7 +38,7 @@ describe 'Profile account page', :js do
fill_in 'password', with: 'testing123' fill_in 'password', with: 'testing123'
page.within '.popup-dialog' do page.within '.modal' do
click_button 'Delete account' click_button 'Delete account'
end end
......
...@@ -20,7 +20,7 @@ feature 'Multi-file editor new directory', :js do ...@@ -20,7 +20,7 @@ feature 'Multi-file editor new directory', :js do
click_link('New directory') click_link('New directory')
page.within('.popup-dialog') do page.within('.modal') do
find('.form-control').set('foldername') find('.form-control').set('foldername')
click_button('Create directory') click_button('Create directory')
......
...@@ -20,7 +20,7 @@ feature 'Multi-file editor new file', :js do ...@@ -20,7 +20,7 @@ feature 'Multi-file editor new file', :js do
click_link('New file') click_link('New file')
page.within('.popup-dialog') do page.within('.modal') do
find('.form-control').set('filename') find('.form-control').set('filename')
click_button('Create file') click_button('Create file')
......
...@@ -36,27 +36,27 @@ describe('ItemActionsComponent', () => { ...@@ -36,27 +36,27 @@ describe('ItemActionsComponent', () => {
describe('methods', () => { describe('methods', () => {
describe('onLeaveGroup', () => { describe('onLeaveGroup', () => {
it('should change `dialogStatus` prop to `true` which shows confirmation dialog', () => { it('should change `modalStatus` prop to `true` which shows confirmation dialog', () => {
expect(vm.dialogStatus).toBeFalsy(); expect(vm.modalStatus).toBeFalsy();
vm.onLeaveGroup(); vm.onLeaveGroup();
expect(vm.dialogStatus).toBeTruthy(); expect(vm.modalStatus).toBeTruthy();
}); });
}); });
describe('leaveGroup', () => { describe('leaveGroup', () => {
it('should change `dialogStatus` prop to `false` and emit `leaveGroup` event with required params when called with `leaveConfirmed` as `true`', () => { it('should change `modalStatus` prop to `false` and emit `leaveGroup` event with required params when called with `leaveConfirmed` as `true`', () => {
spyOn(eventHub, '$emit'); spyOn(eventHub, '$emit');
vm.dialogStatus = true; vm.modalStatus = true;
vm.leaveGroup(true); vm.leaveGroup(true);
expect(vm.dialogStatus).toBeFalsy(); expect(vm.modalStatus).toBeFalsy();
expect(eventHub.$emit).toHaveBeenCalledWith('leaveGroup', vm.group, vm.parentGroup); expect(eventHub.$emit).toHaveBeenCalledWith('leaveGroup', vm.group, vm.parentGroup);
}); });
it('should change `dialogStatus` prop to `false` and should NOT emit `leaveGroup` event when called with `leaveConfirmed` as `false`', () => { it('should change `modalStatus` prop to `false` and should NOT emit `leaveGroup` event when called with `leaveConfirmed` as `false`', () => {
spyOn(eventHub, '$emit'); spyOn(eventHub, '$emit');
vm.dialogStatus = true; vm.modalStatus = true;
vm.leaveGroup(false); vm.leaveGroup(false);
expect(vm.dialogStatus).toBeFalsy(); expect(vm.modalStatus).toBeFalsy();
expect(eventHub.$emit).not.toHaveBeenCalled(); expect(eventHub.$emit).not.toHaveBeenCalled();
}); });
}); });
...@@ -99,9 +99,9 @@ describe('ItemActionsComponent', () => { ...@@ -99,9 +99,9 @@ describe('ItemActionsComponent', () => {
newVm.$destroy(); newVm.$destroy();
}); });
it('should show modal dialog when `dialogStatus` is set to `true`', () => { it('should show modal dialog when `modalStatus` is set to `true`', () => {
vm.dialogStatus = true; vm.modalStatus = true;
const modalDialogEl = vm.$el.querySelector('.modal.popup-dialog'); const modalDialogEl = vm.$el.querySelector('.modal');
expect(modalDialogEl).toBeDefined(); expect(modalDialogEl).toBeDefined();
expect(modalDialogEl.querySelector('.modal-title').innerText.trim()).toBe('Are you sure?'); expect(modalDialogEl.querySelector('.modal-title').innerText.trim()).toBe('Are you sure?');
expect(modalDialogEl.querySelector('.btn.btn-warning').innerText.trim()).toBe('Leave'); expect(modalDialogEl.querySelector('.btn.btn-warning').innerText.trim()).toBe('Leave');
......
import Vue from 'vue'; import Vue from 'vue';
import PopupDialog from '~/vue_shared/components/popup_dialog.vue'; import modal from '~/vue_shared/components/modal.vue';
import mountComponent from '../../helpers/vue_mount_component_helper'; import mountComponent from '../../helpers/vue_mount_component_helper';
describe('PopupDialog', () => { describe('Modal', () => {
it('does not render a primary button if no primaryButtonLabel', () => { it('does not render a primary button if no primaryButtonLabel', () => {
const popupDialog = Vue.extend(PopupDialog); const modalComponent = Vue.extend(modal);
const vm = mountComponent(popupDialog); const vm = mountComponent(modalComponent);
expect(vm.$el.querySelector('.js-primary-button')).toBeNull(); expect(vm.$el.querySelector('.js-primary-button')).toBeNull();
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment