You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/resources/js/Global/components/Modals/Helper.vue

73 lines
2.5 KiB

<template>
<v-dialog v-model="modal" :width="properties.properties && properties.properties.width ? properties.properties.width : '60%'" transition="slide-x-transition">
<v-card class="RTL">
<v-card-title :class="[properties.properties && properties.properties.color ? properties.properties.color : 'blue', 'lighten-5']" primary-title>
<WM-PartTitle
class="WM-Margin-T-20"
:TitleFa="properties.name || 'بیشتر بدانید'"
:TitleEn="properties.name_en || 'Know More'"
:color="properties.properties && properties.properties.color ? properties.properties.color : 'blue'"
></WM-PartTitle>
</v-card-title>
<v-card-text>
<div class="WM-Align-R WM-Margin-T-10" v-html="properties.description || 'پیام'">
</div>
</v-card-text>
<v-divider></v-divider>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn
:color="properties.properties && properties.properties.color ? properties.properties.color : 'blue'"
depressed
dark
@click="$_closeModalStack()"
>
<v-icon dark right>WMi-ok</v-icon>
متوجه شدم
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</template>
<script>
import { mapActions, mapGetters } from "vuex";
import axios from 'axios';
import { url } from '@Common/mixins/urls';
export default {
name: "modal_modal_helper",
data: () => ({
properties: {}
}),
computed: {
...mapGetters("modal", ["isModalStack", "getModal"]),
modal: {
get() {
return this.isModalStack(this.$options.name);
},
set(value) {
if (!value) {
this.$_closeModalStack();
}
}
},
},
methods: {
async getDate() {
if (this.modal) {
let response = await axios.get(url('help', {help: this.getModal(this.$options.name).slug}));
if (response && response.status == 200) {
this.properties = response.data.data;
5 years ago
this.properties.properties = (response.data.data.properties) ? JSON.parse(response.data.data.properties) : null;
}
}
}
},
created() {
this.getDate();
},
};
</script>