Create shared gl-modal-vuex component and module
What does this MR do?
This MR creates a gl-modal-vuex
component and corresponding vuex module which is needed by gitlab-ee!9003.
How is this used?
See this component and this actions module. Here's an example:
myapp/components/my_modal.vuex
<template>
<gl-modal-vuex
modal-id="my_very_unique_modal_id"
modal-module="myModal"
title="Hello World"
@ok.prevent="submit"
>
<p>Hello World</p>
</gl-modal-vuex>
</template>
myapp/stores/index.js
import Vuex from 'vuex';
import modalModule from '~/vuex_shared/modules/modal';
import state from './state';
import mutations from './mutations';
import * as actions from './actions';
export default () =>
new Vuex.Store({
state: state(),
mutations,
actions,
modules: {
myModal: modalModule(),
},
});
What are the relevant issue numbers?
- Part of gitlab-ee#1979
- FE gitlab-ee#8350
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
Tests added for this feature/bug -
Tested in all supported browsers -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process. -
Security reports checked/validated by reviewer
Edited by Paul Slaughter