github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/frontend/bv/src/pages/espace_perso/components/paiements/ConfirmeSupprimeAide.vue (about) 1 <template> 2 <b-modal 3 :visible="show" 4 @change="v => $emit('change', v)" 5 cancel-title="Retour" 6 hide-header-close 7 title="Confirmer la suppression" 8 @ok="deleteAide" 9 ok-variant="danger" 10 > 11 Confirmez-vous la 12 <b>suppression</b> de cette aide ? 13 <div v-if="hasDocument"> 14 <i> 15 La 16 <b>pièce justificative</b> associée sera aussi supprimée. 17 </i> 18 </div> 19 <template v-slot:modal-ok> 20 <b-spinner type="grow" small v-show="spinningDelete"></b-spinner>Confirmer 21 la suppression 22 </template> 23 </b-modal> 24 </template> 25 26 <script lang="ts"> 27 import Vue from "vue"; 28 import Component from "vue-class-component"; 29 import { Aide } from "@/shared/logic/types"; 30 import { BvModalEvent } from "bootstrap-vue"; 31 import { C } from "../../logic/controller"; 32 import { FieldsAideEditable } from "../../logic/types"; 33 34 const ConfirmeSupprimeAideProps = Vue.extend({ 35 props: { 36 aide: Object as () => FieldsAideEditable | null, 37 show: Boolean 38 }, 39 model: { 40 prop: "show", 41 event: "change" 42 } 43 }); 44 45 @Component({}) 46 export default class ConfirmeSupprimeAide extends ConfirmeSupprimeAideProps { 47 spinningDelete = false; 48 49 get hasDocument() { 50 return !!(this.aide && this.aide.document && this.aide.document.id_crypted); 51 } 52 53 async deleteAide(event: BvModalEvent) { 54 event.preventDefault(); // garde le dialog visible 55 if (C.data.finances == null || this.aide == null) return; 56 this.spinningDelete = true; 57 await C.data.deleteAide(this.aide); 58 this.spinningDelete = false; 59 this.$emit("change", false); // demande la fermeture du dialog 60 } 61 } 62 </script> 63 64 <style scoped></style>