From a82830d0f1d01a019484ab01eb18c0d9dd5d26d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Svale=20Foss=C3=A5skaret?= Date: Mon, 27 Jan 2020 12:05:16 +0100 Subject: [PATCH] Re-factor wrapper script to expose both as plugin and SFC --- src/components/index.js | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/src/components/index.js b/src/components/index.js index 007d747..9980698 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -4,18 +4,35 @@ * Adapted by (c) 2018 Svale Fossåskaret (http://kartoteket.as/team/svale.html / @Fossesvale) * @license MIT. */ -import ImageUploader from './ImageUploader.vue' +// Import vue component +import component from './ImageUploader.vue' -const ImageUploaderPlugin = { - install(Vue) { - Vue.component('image-uploader', ImageUploader) - }, +// Declare install function executed by Vue.use() +export function install(Vue) { + if (install.installed) return + install.installed = true + Vue.component('ImageUploader', component) } -// Install by default if using the script tag -if (typeof window !== 'undefined' && window.Vue) { - window.Vue.use(ImageUploaderPlugin) +// Create module definition for Vue.use() +const plugin = { + install, } -export default ImageUploaderPlugin -export { ImageUploader } +// Auto-install when vue is found (eg. in browser via