56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
|
import { defineAsyncComponent } from 'vue'
|
||
|
|
||
|
import HasError from './validation/HasError.vue'
|
||
|
import AlertError from './validation/AlertError.vue'
|
||
|
import AlertSuccess from './validation/AlertSuccess.vue'
|
||
|
import VCheckbox from './components/VCheckbox.vue'
|
||
|
import TextInput from './TextInput.vue'
|
||
|
import TextAreaInput from './TextAreaInput.vue'
|
||
|
import VSelect from './components/VSelect.vue'
|
||
|
import CheckboxInput from './CheckboxInput.vue'
|
||
|
import SelectInput from './SelectInput.vue'
|
||
|
import ColorInput from './ColorInput.vue'
|
||
|
import FileInput from './FileInput.vue'
|
||
|
import ImageInput from './ImageInput.vue'
|
||
|
import RatingInput from './RatingInput.vue'
|
||
|
import FlatSelectInput from './FlatSelectInput.vue'
|
||
|
import ToggleSwitchInput from './ToggleSwitchInput.vue'
|
||
|
import ScaleInput from './ScaleInput.vue'
|
||
|
|
||
|
export function registerComponents (app) {
|
||
|
[
|
||
|
HasError,
|
||
|
AlertError,
|
||
|
AlertSuccess,
|
||
|
VCheckbox,
|
||
|
VSelect,
|
||
|
CheckboxInput,
|
||
|
ColorInput,
|
||
|
TextInput,
|
||
|
SelectInput,
|
||
|
TextAreaInput,
|
||
|
FileInput,
|
||
|
ImageInput,
|
||
|
RatingInput,
|
||
|
FlatSelectInput,
|
||
|
ToggleSwitchInput,
|
||
|
ScaleInput
|
||
|
].forEach(Component => {
|
||
|
Component.name ? app.component(Component.name, Component) : app.component(Component.name, Component)
|
||
|
})
|
||
|
|
||
|
// Register async components
|
||
|
app.component('SignatureInput', defineAsyncComponent(() =>
|
||
|
import('./SignatureInput.vue')
|
||
|
))
|
||
|
app.component('RichTextAreaInput', defineAsyncComponent(() =>
|
||
|
import('./RichTextAreaInput.vue')
|
||
|
))
|
||
|
app.component('PhoneInput', defineAsyncComponent(() =>
|
||
|
import('./PhoneInput.vue')
|
||
|
))
|
||
|
app.component('DateInput', defineAsyncComponent(() =>
|
||
|
import('./DateInput.vue')
|
||
|
))
|
||
|
}
|