1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
/**
* See https://gitlab.com/gitlab-org/gitlab/-/issues/331267 for more information on this vendored
* dependency
*/
import config from './config'
import RecycleScroller from './components/RecycleScroller.vue'
import DynamicScroller from './components/DynamicScroller.vue'
import DynamicScrollerItem from './components/DynamicScrollerItem.vue'
export { default as IdState } from './mixins/IdState'
export {
RecycleScroller,
DynamicScroller,
DynamicScrollerItem,
}
function registerComponents (Vue, prefix) {
Vue.component(`${prefix}recycle-scroller`, RecycleScroller)
Vue.component(`${prefix}RecycleScroller`, RecycleScroller)
Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)
Vue.component(`${prefix}DynamicScroller`, DynamicScroller)
Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)
Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)
}
const plugin = {
// eslint-disable-next-line no-undef
install (Vue, options) {
const finalOptions = Object.assign({}, {
installComponents: true,
componentsPrefix: '',
}, options)
for (const key in finalOptions) {
if (typeof finalOptions[key] !== 'undefined') {
config[key] = finalOptions[key]
}
}
if (finalOptions.installComponents) {
registerComponents(Vue, finalOptions.componentsPrefix)
}
},
}
export default plugin
// Auto-install
let GlobalVue = null
if (typeof window !== 'undefined') {
GlobalVue = window.Vue
} else if (typeof global !== 'undefined') {
GlobalVue = global.Vue
}
if (GlobalVue) {
GlobalVue.use(plugin)
}
|