gitlab-org--gitlab-foss/spec/javascripts/helpers/vue_mount_component_helper.js

39 lines
898 B
JavaScript
Raw Normal View History

import Vue from 'vue';
const mountComponent = (Component, props = {}, el = null) =>
new Component({
propsData: props,
}).$mount(el);
2017-10-27 17:16:28 +00:00
export const createComponentWithStore = (Component, store, propsData = {}) =>
new Component({
store,
propsData,
});
2018-04-08 10:20:05 +00:00
export const mountComponentWithStore = (Component, { el, props, store }) =>
new Component({
store,
propsData: props || {},
2018-04-08 10:20:05 +00:00
}).$mount(el);
2018-07-26 16:24:48 +00:00
export const mountComponentWithSlots = (Component, { props, slots }) => {
const component = new Component({
propsData: props || {},
});
component.$slots = slots;
return component.$mount();
};
/**
* Mount a component with the given render method.
*
* This helps with inserting slots that need to be compiled.
*/
export const mountComponentWithRender = (render, el = null) =>
mountComponent(Vue.extend({ render }), {}, el);
export default mountComponent;