parent
ca0a7f70aa
commit
5679e9d2d2
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=c9ebdffec50d82145867",
|
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js",
|
||||||
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=e2cd567ef427a1285194",
|
"/js/vue/Home/app.js": "/js/vue/Home/app.js",
|
||||||
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=21ca2c0fd50704c54125",
|
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js",
|
||||||
"/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=ecddb140ee87bb6dfc7c",
|
"/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js",
|
||||||
"/js/vue/User/app.js": "/js/vue/User/app.js?id=ba20da8154c5c04c0dd6"
|
"/js/vue/User/app.js": "/js/vue/User/app.js"
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-checkbox
|
||||||
|
:class="element.width"
|
||||||
|
:label="element.label"
|
||||||
|
:hibt="element.hint"
|
||||||
|
:color="element.color"
|
||||||
|
:append-icon="element.append_icon"
|
||||||
|
:prepend-icon="element.prepend_icon"
|
||||||
|
multiple="true"
|
||||||
|
></v-checkbox>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,9 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import Factory from '../FactoryPattern'
|
||||||
|
export default {};
|
||||||
|
</script>
|
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-text-field
|
||||||
|
:label="element.label"
|
||||||
|
:placeholder="element.placeholder"
|
||||||
|
:hint="element.hint"
|
||||||
|
:color="element.color"
|
||||||
|
:append-icon="element.append_icon"
|
||||||
|
:prepend-icon="element.prepend_icon"
|
||||||
|
:class="element.width"
|
||||||
|
></v-text-field>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,23 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-radio-group>
|
||||||
|
<v-radio
|
||||||
|
:class="element.width"
|
||||||
|
:label="element.label"
|
||||||
|
:hibt="element.hint"
|
||||||
|
:color="element.color"
|
||||||
|
:append-icon="element.append_icon"
|
||||||
|
:prepend-icon="element.prepend_icon"
|
||||||
|
></v-radio>
|
||||||
|
</v-radio-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,23 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-autocomplete
|
||||||
|
:label="element.label"
|
||||||
|
:placeholder="element.placeholder"
|
||||||
|
:hint="element.hint"
|
||||||
|
:color="element.color"
|
||||||
|
:append-icon="element.append_icon"
|
||||||
|
:prepend-icon="element.prepend_icon"
|
||||||
|
:class="element.width"
|
||||||
|
:multiple="element.multiple"
|
||||||
|
></v-autocomplete>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,21 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-switch
|
||||||
|
:class="element.width"
|
||||||
|
:label="element.label"
|
||||||
|
:hibt="element.hint"
|
||||||
|
:color="element.color"
|
||||||
|
:append-icon="element.append_icon"
|
||||||
|
:prepend-icon="element.prepend_icon"
|
||||||
|
></v-switch>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-textarea
|
||||||
|
:label="element.label"
|
||||||
|
:placeholder="element.placeholder"
|
||||||
|
:hint="element.hint"
|
||||||
|
:color="element.color"
|
||||||
|
:append-icon="element.append_icon"
|
||||||
|
:prepend-icon="element.prepend_icon"
|
||||||
|
:class="element.width"
|
||||||
|
></v-textarea>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,26 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<component v-bind:is="element.type" :options="element" ></component>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import Vue from 'vue'
|
||||||
|
|
||||||
|
const requireElement = require.context('./Elements', true, /\.vue$/);
|
||||||
|
requireElement.keys().forEach(fileName => {
|
||||||
|
// Replace ./ and .vue
|
||||||
|
const elementName = fileName.replace(/(\.\/|\.vue)/g, '')
|
||||||
|
Vue.component(elementName,
|
||||||
|
() => import(`./Elements/${elementName}.vue`)
|
||||||
|
)
|
||||||
|
});
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
element:{
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,34 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<element-factory v-for="(element, key) in elements" :element="element" :key="key"></element-factory>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import Factory from './FactoryPattern'
|
||||||
|
export default {
|
||||||
|
components:{
|
||||||
|
'element-factory' : Factory
|
||||||
|
},
|
||||||
|
data: () => ({
|
||||||
|
elements:[
|
||||||
|
{type:"wm-input", },
|
||||||
|
{type: "wm-form", children: [
|
||||||
|
{type:"wm-select", },
|
||||||
|
{type:"wm-form", children: [
|
||||||
|
{type: "wm-input"},
|
||||||
|
{type: "wm-checkbox"},
|
||||||
|
]},
|
||||||
|
{type:"wm-input", },
|
||||||
|
]},
|
||||||
|
{type:"wm-select", },
|
||||||
|
{type:"wm-checkbox", },
|
||||||
|
]
|
||||||
|
}),
|
||||||
|
props:{
|
||||||
|
// elements: {
|
||||||
|
// type: Array,
|
||||||
|
// required: true
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in new issue