| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <template lang="pug">  transition(:duration="400")    .modal(v-show='isShown', v-cloak)      transition(name='modal-background')        .modal-background(v-show='isShown')      .modal-container        transition(name='modal-content')          .modal-content(v-show='isShown')            header.is-red              span {{ $t('modal.deletepagetitle') }}              p.modal-notify(v-bind:class='{ "is-active": isLoading }'): i            section              span {{ $t('modal.deletepagewarning') }}            footer              a.button.is-grey.is-outlined(v-on:click='discard') {{ $t('modal.discard') }}              a.button.is-red(v-on:click='deletePage') {{ $t('modal.delete') }}</template><script>export default {  name: 'modal-delete-page',  props: ['currentPath'],  data () {    return {      isLoading: false    }  },  computed: {    isShown () {      return this.$store.state.modalDeletePage.shown    }  },  methods: {    discard () {      this.isLoading = false      this.$store.dispatch('modalDeletePage/close')    },    deletePage () {      let self = this      this.isLoading = true      this.$http.delete(window.location.href).then(resp => {        return resp.json()      }).then(resp => {        if (resp.ok) {          window.location.assign('/')        } else {          self.isLoading = false          self.$store.dispatch('alert', {            style: 'red',            icon: 'ui-2_square-remove-09',            msg: resp.msg          })        }      }).catch(err => {        self.isLoading = false        self.$store.dispatch('alert', {          style: 'red',          icon: 'ui-2_square-remove-09',          msg: 'Error: ' + err.body.msg        })      })    }  }}</script>
 |