| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/node_modules/vuetify/src/ |
Upload File : |
import OurVue, { VueConstructor } from 'vue'
import { VuetifyUseOptions } from 'vuetify/types'
import { consoleError } from './util/console'
export function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {
if ((install as any).installed) return
(install as any).installed = true
if (OurVue !== Vue) {
consoleError(`Multiple instances of Vue detected
See https://github.com/vuetifyjs/vuetify/issues/4068
If you're seeing "$attrs is readonly", it's caused by this`)
}
const components = args.components || {}
const directives = args.directives || {}
for (const name in directives) {
const directive = directives[name]
Vue.directive(name, directive)
}
(function registerComponents (components: any) {
if (components) {
for (const key in components) {
const component = components[key]
if (component && !registerComponents(component.$_vuetify_subcomponents)) {
Vue.component(key, component as typeof Vue)
}
}
return true
}
return false
})(components)
// Used to avoid multiple mixins being setup
// when in dev mode and hot module reload
// https://github.com/vuejs/vue/issues/5089#issuecomment-284260111
if (Vue.$_vuetify_installed) return
Vue.$_vuetify_installed = true
Vue.mixin({
beforeCreate () {
const options = this.$options as any
if (options.vuetify) {
options.vuetify.init(this, this.$ssrContext)
this.$vuetify = Vue.observable(options.vuetify.framework)
} else {
this.$vuetify = (options.parent && options.parent.$vuetify) || this
}
},
beforeMount () {
// @ts-ignore
if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {
// @ts-ignore
this.$vuetify.isHydrating = true
// @ts-ignore
this.$vuetify.breakpoint.update(true)
}
},
mounted () {
// @ts-ignore
if (this.$options.vuetify && this.$vuetify.isHydrating) {
// @ts-ignore
this.$vuetify.isHydrating = false
// @ts-ignore
this.$vuetify.breakpoint.update()
}
},
})
}