pull/1/head
saeid_01 5 years ago
commit 67ac56eeb5

@ -1,7 +1,7 @@
{
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=f3046ccee6deb672cb42",
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=60c658b3e0d3bf77cf19",
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=d7b53e717be729233749",
"/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=03c06477f0ef6f223599",
"/js/vue/User/app.js": "/js/vue/User/app.js?id=a0f854cd48d4c6d1e185"
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=a9b91ee3057962cbaa3b",
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=5fc35fa922f55540736b",
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=636ba5f2c7316a1d9f37",
"/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=e1f69f3ef11f9a3008b2",
"/js/vue/User/app.js": "/js/vue/User/app.js?id=425bb0a5b3b37feaf6a7"
}

@ -3,7 +3,7 @@
<div style="padding:150px;">
<h3>{{element.label}}</h3>
<template v-if="element.children">
<element-factory v-for="(elm, key) in element.children" :element="elm" :key="key"></element-factory>
<element-factory v-for="(elm, key) in element.children" :values="values['input_'+element.id]" :element="elm" :key="key"></element-factory>
</template>
</div>
</div>
@ -18,6 +18,11 @@ export default {
element: {
type: Object,
required: true
},
values: {
type: Object,
required: false,
default: {}
}
}
};

@ -9,6 +9,7 @@
:append-icon="element.append_icon"
:prepend-icon="element.prepend_icon"
:class="element.width"
v-model="values['input_'+element.id]"
></v-text-field>
</div>
</template>
@ -17,6 +18,11 @@ export default {
props:{
element:{
type: Object
},
values: {
required: false,
default: {},
type: Object,
}
},
watch:{

@ -7,6 +7,7 @@
:color="element.color"
:append-icon="element.append_icon"
:prepend-icon="element.prepend_icon"
v-model="values['input_'+element.id]"
></v-switch>
</div>
</template>
@ -15,6 +16,11 @@ export default {
props:{
element:{
type: Object
},
values: {
required: false,
type: Object,
default: {}
}
}
}

@ -8,6 +8,7 @@
:append-icon="element.append_icon"
:prepend-icon="element.prepend_icon"
:class="element.width"
v-model="values['input_' + element.id]"
></v-text-field>
</div>
</template>
@ -16,14 +17,12 @@ export default {
props:{
element:{
type: Object
},
values: {
required: false,
default: {}
}
},
watch:{
element(){
console.log(this.element);
}
}
}
</script>

@ -8,6 +8,7 @@
:append-icon="element.append_icon"
:prepend-icon="element.prepend_icon"
:class="element.width"
v-model="values['input_'+element.id]"
></v-textarea>
</div>
</template>
@ -15,7 +16,12 @@
export default {
props:{
element:{
type: Object
type: Object,
},
values: {
type: Object,
required: false,
default: {}
}
}
}

@ -1,6 +1,6 @@
<template>
<div>
<component v-bind:is="element.type" :element="element" ></component>
<component v-bind:is="element.type" :values="values" :element="element" ></component>
</div>
</template>
<script>
@ -20,6 +20,11 @@ export default {
element:{
type: Object,
required: true
},
values: {
required: false,
type: Object,
default: {}
}
},
}

@ -1,34 +1,159 @@
<template>
<div>
<element-factory v-for="(element, key) in elements" :element="element" :key="key"></element-factory>
</div>
<div>
<element-factory
v-for="(element, key) in elements"
:element="element"
:values="values"
:key="element.id"
></element-factory>
<button @click="register">click me</button>
</div>
</template>
<script>
import Factory from './FactoryPattern'
import Factory from "./FactoryPattern";
export default {
components:{
'element-factory' : Factory
components: {
"element-factory": Factory
},
data: () => ({
elements: [
{
id: 1,
type: "wm-text_input",
width: "pa-2",
label: "Hi",
placeholder: "placeholder",
hint: "Hello",
color: "red"
},
{
id: 2,
type: "wm-form",
width: "pa-2",
label: "salam",
placeholder: "placeholder",
hint: "hint",
color: "red",
children: [
{
id: 3,
type: "wm-number_input",
width: "pa-2",
label: "salam",
placeholder: "placeholder",
hint: "hint",
color: "red"
},
{
id: 4,
type: "wm-form",
width: "pa-2",
label: "Form",
placeholder: "placeholder",
hint: "hint",
color: "red",
children: [
{
id: 5,
type: "wm-switch",
width: "pa-2",
label: "switch",
placeholder: "placeholder",
hint: "hint",
color: "red"
},
{
id: 6,
type: "wm-text_input",
width: "pa-2",
label: "salam",
placeholder: "placeholder",
hint: "hint",
color: "red"
}
]
},
{
id: 7,
type: "wm-text_input",
width: "pa-2",
label: "salam",
placeholder: "placeholder",
hint: "hint",
color: "red"
}
]
},
{
id: 8,
type: "wm-textarea",
width: "pa-2",
label: "salam",
placeholder: "placeholder",
hint: "hint",
color: "red"
},
{
id: 9,
type: "wm-text_input",
width: "pa-2",
label: "salam",
placeholder: "placeholder",
hint: "hint",
color: "red"
}
],
// values: {},
values:{
'input_1': 'saeid',
'input_2': {
'input_3' : 5,
'input_4' : {
'input_5': 'true',
'input_6': 'khobi'
},
'input_7': 'na',
},
'input_8': 'shoma khobi \n man khobam',
'input_9': 'hossein',
}
}),
props: {
// elements: {
// type: Array,
// required: true
// },
// values:{
// required: false
// }
},
methods: {
setDefaultValue(elements, values = {}) {
for (const key in elements) {
if (elements.hasOwnProperty(key)) {
if (elements[key].type == "wm-form") {
values["input_" + elements[key].id] = this.setDefaultValue(elements[key].children);
} else {
values["input_" + elements[key].id] = "";
}
}
}
return values;
},
register(){
console.log(this.values);
}
},
data: () => ({
elements:[
{type:"wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red" },
{type: "wm-form", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red", children: [
{type:"wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red" },
{type:"wm-form", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red", children: [
{type: "wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red"},
{type: "wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red"},
]},
{type:"wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red" },
]},
{type:"wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red"},
{type:"wm-input", width: "pa-2", label:"salam", placeholder: "placeholder", hint:"hint", color:"red" },
]
}),
props:{
// elements: {
// type: Array,
// required: true
// }
}
}
created() {
// this.values = this.setDefaultValue(this.elements);
},
// watch: {
// values() {
// if (!this.values || this.values.length == 0) {
// this.values = this.setDefaultValue(this.elements);
// }
// }
// }
};
</script>

@ -6,7 +6,8 @@ import { UserService } from "@Global/services/storage.services";
const global = {
methods: {
$_getPath(subPath) {
return "/" + subPath;
const path = process.env.MIX_PUSHER_APP_PUBLIC_PATH ? process.env.MIX_PUSHER_APP_PUBLIC_PATH : '/';
return path + subPath;
},
//Modal

@ -1,15 +1,15 @@
import Vue from 'vue';
import VueScrollReveal from "vue-scroll-reveal";
// import VueScrollReveal from "vue-scroll-reveal";
import Vuetify from 'vuetify'
import "popper.js";
import "bootstrap-v4-rtl";
import "bootstrap-v4-rtl/scss/bootstrap-rtl.scss";
import "bootstrap-select";
import "bootstrap-select/dist/css/bootstrap-select.css";
// import "popper.js";
// import "bootstrap-v4-rtl";
// import "bootstrap-v4-rtl/scss/bootstrap-rtl.scss";
// import "bootstrap-select";
// import "bootstrap-select/dist/css/bootstrap-select.css";
import "vuetify/dist/vuetify.min.css"; // Ensure you are using css-loader
import "@Global/assets/Font-Icons/css/fontello.css";
import "@Global/scss/style.scss";
@ -22,13 +22,13 @@ import InfoBlock from "@Global/components/Misc/InfoBlock.vue";
import Breadcrumbs from "@Global/components/Misc/Breadcrumbs";
Vue.use(VueScrollReveal, {
class: 'v-scroll-reveal', // A CSS class applied to elements with the v-scroll-reveal directive; useful for animation overrides.
duration: 800,
scale: 1,
distance: '10px',
mobile: false
});
// Vue.use(VueScrollReveal, {
// class: 'v-scroll-reveal', // A CSS class applied to elements with the v-scroll-reveal directive; useful for animation overrides.
// duration: 800,
// scale: 1,
// distance: '10px',
// mobile: false
// });
Vue.use(Vuetify, {
iconfont: "fa",

@ -4,10 +4,11 @@ import commonState from '@Global/store/modules/common/state';
const ApiService = {
init(baseURL = null) {
// axios.defaults.baseURL = "https://www.willaengine.ir";
// if (baseURL) {
// axios.defaults.baseURL = baseURL;
// }
if (baseURL) {
axios.defaults.baseURL = baseURL;
} else if (process.env.MIX_PUSHER_APP_API) {
axios.defaults.baseURL = process.env.MIX_PUSHER_APP_API;
}
axios.interceptors.request.use((config) => {
config.headers = this.setModuleHeader(config.headers);

@ -23,7 +23,7 @@
<v-icon dark>fas fa-plus</v-icon>
</v-btn>
</router-link>
<!-- <wm-wrapper></wm-wrapper> -->
<wm-wrapper></wm-wrapper>
</v-container>
</template>
@ -31,13 +31,13 @@
<script>
import Tile from "@Global/components/Tiles/Tile";
// import Wrapper from "@Global/components/FormLoader/Wrapper";
import Wrapper from "@Global/components/FormLoader/Wrapper";
import { mapGetters, mapActions } from "vuex";
export default {
data: () => ({}),
components: {
"wm-tile": Tile,
// "wm-wrapper": Wrapper,
"wm-wrapper": Wrapper,
},
computed: {
...mapGetters("role_permission", ["getModules"])

Loading…
Cancel
Save