mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
v5.0.0 update
This commit is contained in:
33
resources/scripts/global-components.js
Normal file
33
resources/scripts/global-components.js
Normal file
@ -0,0 +1,33 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
export const defineGlobalComponents = (app) => {
|
||||
const components = import.meta.globEager('./components/base/*.vue')
|
||||
|
||||
Object.entries(components).forEach(([path, definition]) => {
|
||||
// Get name of component, based on filename
|
||||
// "./components/Fruits.vue" will become "Fruits"
|
||||
const componentName = path
|
||||
.split('/')
|
||||
.pop()
|
||||
.replace(/\.\w+$/, '')
|
||||
|
||||
// Register component on this Vue instance
|
||||
app.component(componentName, definition.default)
|
||||
})
|
||||
|
||||
const BaseTable = defineAsyncComponent(() =>
|
||||
import('./components/base/base-table/BaseTable.vue')
|
||||
)
|
||||
|
||||
const BaseMultiselect = defineAsyncComponent(() =>
|
||||
import('./components/base-select/BaseMultiselect.vue')
|
||||
)
|
||||
|
||||
const BaseEditor = defineAsyncComponent(() =>
|
||||
import('./components/base/base-editor/BaseEditor.vue')
|
||||
)
|
||||
|
||||
app.component('BaseTable', BaseTable)
|
||||
app.component('BaseMultiselect', BaseMultiselect)
|
||||
app.component('BaseEditor', BaseEditor)
|
||||
}
|
||||
Reference in New Issue
Block a user