commit
82feb956bc
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=295f9194c1ec8a9de826",
|
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=295f9194c1ec8a9de826",
|
||||||
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=c9b0d210bf4c0ba5d345",
|
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=ca58f5234afcb44a91df",
|
||||||
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=898213713bc8eb90e650",
|
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=9daf687c13e5f12bdf92",
|
||||||
"/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=88d2ab40b5aafc95b456",
|
"/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=e9b7196a68e87bf0bf93",
|
||||||
"/js/vue/User/app.js": "/js/vue/User/app.js?id=de8324f41dfee037faf2"
|
"/js/vue/User/app.js": "/js/vue/User/app.js?id=de8324f41dfee037faf2"
|
||||||
}
|
}
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<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"
|
|
||||||
@input="changeValue"
|
|
||||||
></v-checkbox>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
default: () => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,26 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-radio-group>
|
|
||||||
<v-radio
|
|
||||||
:label="element.label"
|
|
||||||
:hibt="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon"
|
|
||||||
></v-radio>
|
|
||||||
</v-radio-group>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props:{
|
|
||||||
element:{
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
default: () => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,38 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-slider
|
|
||||||
:label="element.label"
|
|
||||||
:hint="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon"
|
|
||||||
:min="element.min"
|
|
||||||
:max="element.max"
|
|
||||||
:data-vv-name="element.slug"
|
|
||||||
:data-vv-as="element.label"
|
|
||||||
v-validate="element.validations"
|
|
||||||
:error-messages="errors.collect(element.slug)"
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
@input="changeValue"
|
|
||||||
></v-slider>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props:{
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
default: () => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,40 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="FormBlock" :class="element.width" style="position:relative">
|
|
||||||
<h3 class="text-lg-right">{{element.label}}</h3>
|
|
||||||
<div v-if="element.children" class="row">
|
|
||||||
<element-factory @input="changeValue" :values="values[element.slug]" v-for="(elm, key) in element.children" :element="elm" :key="key"></element-factory>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import Factory from '../FactoryPattern'
|
|
||||||
export default {
|
|
||||||
components:{
|
|
||||||
'element-factory' : Factory
|
|
||||||
},
|
|
||||||
props:{
|
|
||||||
element: {
|
|
||||||
type: Object,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
type: Object,
|
|
||||||
required: false,
|
|
||||||
default: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.FormBlock {
|
|
||||||
padding: 10px 20px;
|
|
||||||
border: 1px solid #eeeeee;
|
|
||||||
border-right: 2px solid #000;
|
|
||||||
margin: 0px 15px;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,37 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-text-field
|
|
||||||
type="number"
|
|
||||||
:label="element.label"
|
|
||||||
:placeholder="element.placeholder"
|
|
||||||
:hint="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon || 'fas fa-sort-numeric-up' "
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
@input="changeValue"
|
|
||||||
:data-vv-name="element.slug"
|
|
||||||
:data-vv-as="element.label"
|
|
||||||
v-validate="element.validations"
|
|
||||||
:error-messages="errors.collect(element.slug)"
|
|
||||||
></v-text-field>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
default: () => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,40 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-autocomplete
|
|
||||||
:label="element.label"
|
|
||||||
:placeholder="element.placeholder"
|
|
||||||
:hint="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon"
|
|
||||||
:items="element.options"
|
|
||||||
:multiple="element.multiple"
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
@input="changeValue"
|
|
||||||
item-text="value"
|
|
||||||
item-value="id"
|
|
||||||
:data-vv-name="element.slug"
|
|
||||||
:data-vv-as="element.label"
|
|
||||||
v-validate="element.validations"
|
|
||||||
:error-messages="errors.collect(element.slug)"
|
|
||||||
></v-autocomplete>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
default: () => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,35 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-switch
|
|
||||||
:label="element.label"
|
|
||||||
:hibt="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon"
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
@input="changeValue"
|
|
||||||
:data-vv-name="element.slug"
|
|
||||||
:data-vv-as="element.label"
|
|
||||||
v-validate="element.validations"
|
|
||||||
:error-messages="errors.collect(element.slug)"
|
|
||||||
></v-switch>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,26 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-textarea
|
|
||||||
:label="element.label"
|
|
||||||
:placeholder="element.placeholder"
|
|
||||||
:hint="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon || 'fas fa-align-right' "
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
></v-textarea>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,36 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<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 || 'fas fa-align-right' "
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
@input="changeValue"
|
|
||||||
:data-vv-name="element.slug"
|
|
||||||
:data-vv-as="element.label"
|
|
||||||
v-validate="element.validations"
|
|
||||||
:error-messages="errors.collect(element.slug)"
|
|
||||||
></v-text-field>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
default: () => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,36 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-card-text>
|
|
||||||
<v-textarea
|
|
||||||
:label="element.label"
|
|
||||||
:placeholder="element.placeholder"
|
|
||||||
:hint="element.hint"
|
|
||||||
:color="element.color"
|
|
||||||
:append-icon="element.append_icon"
|
|
||||||
:prepend-icon="element.prepend_icon || 'fas fa-align-right' "
|
|
||||||
v-model="values[element.slug]"
|
|
||||||
@input="changeValue"
|
|
||||||
:data-vv-name="element.slug"
|
|
||||||
:data-vv-as="element.label"
|
|
||||||
v-validate="element.validations"
|
|
||||||
:error-messages="errors.collect(element.slug)"
|
|
||||||
></v-textarea>
|
|
||||||
</v-card-text>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
element: {
|
|
||||||
type: Object
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,35 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-flex :class="element.width">
|
|
||||||
<component v-bind:is="element.type" :values="values" :element="element" @input="changeValue" ></component>
|
|
||||||
</v-flex>
|
|
||||||
</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
|
|
||||||
},
|
|
||||||
values: {
|
|
||||||
required: false,
|
|
||||||
type: Object,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods:{
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.values)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,77 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="row">
|
|
||||||
<element-factory
|
|
||||||
v-for="element in elements"
|
|
||||||
:element="element"
|
|
||||||
:values="formValues"
|
|
||||||
:key="element.id"
|
|
||||||
@input="changeValue"
|
|
||||||
></element-factory>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import Factory from "./FactoryPattern";
|
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
"element-factory": Factory
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
elements: {
|
|
||||||
required: true,
|
|
||||||
default: {},
|
|
||||||
},
|
|
||||||
value:{
|
|
||||||
required: false,
|
|
||||||
default:() => ({}),
|
|
||||||
type: Object
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
setDefaultValue(elements, values = {}) {
|
|
||||||
for (const key in elements) {
|
|
||||||
if (elements.hasOwnProperty(key)) {
|
|
||||||
if (elements[key].type == "we-form") {
|
|
||||||
values[
|
|
||||||
elements[key].slug
|
|
||||||
] = this.setDefaultValue(elements[key].children);
|
|
||||||
} else {
|
|
||||||
values[elements[key].slug] = "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return values;
|
|
||||||
},
|
|
||||||
changeValue() {
|
|
||||||
this.$emit('input', this.formValues);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
formValues:{
|
|
||||||
get() {
|
|
||||||
if (!this.value || Object.keys(this.value).length == 0) {
|
|
||||||
return this.setDefaultValue(this.elements);
|
|
||||||
}
|
|
||||||
return this.value;
|
|
||||||
},
|
|
||||||
set(value) {
|
|
||||||
this.$emit('input', value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// created() {
|
|
||||||
// var vm = this;
|
|
||||||
// setInterval(function() {
|
|
||||||
// console.log('setInterval-values', vm.values);
|
|
||||||
// console.log('setInterval-formValues', vm.formValues);
|
|
||||||
// },3000);
|
|
||||||
// },
|
|
||||||
// watch: {
|
|
||||||
// values(v) {
|
|
||||||
// console.log('v',v);
|
|
||||||
// },
|
|
||||||
// formValues(v) {
|
|
||||||
// console.log('fv',v);
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
};
|
|
||||||
</script>
|
|
Loading…
Reference in new issue