Files
mixtape/zero.Backoffice.UI/app/ui/overlays/confirm.vue
T
2021-12-18 01:51:38 +01:00

67 lines
1.4 KiB
Vue

<template>
<div class="app-confirm">
<h2 class="ui-headline" v-localize="model.title"></h2>
<p v-localize:html="model.text"></p>
<ui-error ref="error" style="margin-top: 25px;" />
<ui-message v-if="model.warning" type="error" :text="model.warning" style="margin-top: 25px;" />
<div class="app-confirm-buttons">
<ui-button :type="model.confirmType" :state="state" :label="model.confirmLabel" @click="confirm"></ui-button>
<ui-button type="light" :label="model.closeLabel" :disabled="state == 'loading'" @click="config.close(true)"></ui-button>
</div>
</div>
</template>
<script>
export default {
props: {
model: Object,
config: Object
},
data: () => ({
state: 'default'
}),
mounted()
{
},
methods: {
confirm()
{
var instance = this;
this.config.confirm({
close()
{
instance.config.close(true);
},
state(state)
{
instance.state = state;
},
errors(errors)
{
instance.state = 'error';
if (!errors)
{
instance.$refs.error.clearErrors();
}
else
{
instance.$refs.error.setErrors(errors);
}
setTimeout(() => instance.state = 'default', 1500);
},
success: true
});
}
}
}
</script>