Files
vuefilemanager/resources/js/main.js
2022-08-09 09:45:54 +02:00

75 lines
1.6 KiB
JavaScript
Vendored

require('./bootstrap')
import Vue from 'vue'
import i18n from './i18n'
import VueRouter from 'vue-router'
import router from './router'
import VueAnalytics from 'vue-analytics'
import App from './App.vue'
import store from './store'
import { events } from './bus'
import SubscriptionHelpers from './helpers/SubscriptionHelpers'
import ValidatorHelpers from './helpers/ValidatorHelpers'
import functionHelpers from './helpers/functionHelpers'
import AlertHelpers from './helpers/AlertHelpers'
import itemHelpers from './helpers/itemHelpers'
import { VueReCaptcha } from 'vue-recaptcha-v3'
Vue.use(VueRouter)
Vue.use(SubscriptionHelpers)
Vue.use(ValidatorHelpers)
Vue.use(functionHelpers)
Vue.use(AlertHelpers)
Vue.use(itemHelpers)
// Google Analytics implementation
if (config.googleAnalytics) {
Vue.use(VueAnalytics, {
id: config.googleAnalytics,
router
})
}
// ReCaptcha configuration
if (config.allowedRecaptcha) {
Vue.use(VueReCaptcha, {
siteKey: config.recaptcha_client_id,
loaderOptions: {
autoHideBadge: true,
},
})
}
Vue.config.productionTip = false
// Handle position of Drag & Drop Ghost
document.addEventListener(
'drag',
(event) => {
let multiSelect = document.getElementById('drag-ui')
multiSelect.style.top = event.clientY + 20 + 'px'
multiSelect.style.left = event.clientX + 'px'
},
false
)
// Handle for drop
document.addEventListener(
'dragend',
() => {
events.$emit('drop')
},
false
)
let vueFileManager = new Vue({
i18n,
store,
router,
data: {
config,
},
render: (h) => h(App),
}).$mount('#app')