71 lines
1.3 KiB
JavaScript
71 lines
1.3 KiB
JavaScript
import './index.css'
|
|
|
|
import { createApp } from 'vue'
|
|
import router from './router'
|
|
import App from './App.vue'
|
|
import { createPinia } from 'pinia'
|
|
|
|
import {
|
|
FrappeUI,
|
|
Button,
|
|
Input,
|
|
TextInput,
|
|
FormControl,
|
|
ErrorMessage,
|
|
Dialog,
|
|
Alert,
|
|
Badge,
|
|
setConfig,
|
|
frappeRequest,
|
|
FeatherIcon,
|
|
} from 'frappe-ui'
|
|
import translationPlugin from './translation'
|
|
import { createDialog } from './utils/dialogs'
|
|
import socket from './socket'
|
|
import { getCachedListResource } from 'frappe-ui/src/resources/listResource'
|
|
import { getCachedResource } from 'frappe-ui/src/resources/resources'
|
|
|
|
let globalComponents = {
|
|
Button,
|
|
TextInput,
|
|
Input,
|
|
FormControl,
|
|
ErrorMessage,
|
|
Dialog,
|
|
Alert,
|
|
Badge,
|
|
FeatherIcon,
|
|
}
|
|
|
|
// create a pinia instance
|
|
let pinia = createPinia()
|
|
|
|
let app = createApp(App)
|
|
|
|
setConfig('resourceFetcher', frappeRequest)
|
|
app.use(FrappeUI)
|
|
app.use(pinia)
|
|
app.use(router)
|
|
app.use(translationPlugin)
|
|
for (let key in globalComponents) {
|
|
app.component(key, globalComponents[key])
|
|
}
|
|
|
|
app.config.globalProperties.$dialog = createDialog
|
|
|
|
app.mount('#app')
|
|
|
|
socket.on('refetch_resource', (data) => {
|
|
if (data.cache_key) {
|
|
let resource =
|
|
getCachedResource(data.cache_key) || getCachedListResource(data.cache_key)
|
|
if (resource) {
|
|
resource.reload()
|
|
}
|
|
}
|
|
})
|
|
|
|
if (import.meta.env.DEV) {
|
|
window.$dialog = createDialog
|
|
}
|