<app-modal>
|
|
<div class="modal">
|
|
<div class="modal__inner">
|
|
<div class="modal__title center">
|
|
<slot name="title" />
|
|
</div>
|
|
<div class="modal__body">
|
|
{ state.body }
|
|
</div>
|
|
<div class="modal__footer">
|
|
<button class="button button--outline button--danger" onclick={ (event) => { handleConfirm(event) } }>
|
|
Confirm
|
|
</button>
|
|
<button class="button button--outline float-right" onclick={ (event) => { handleClose(event) } } >
|
|
Reject
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
/**
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
|
|
export default {
|
|
|
|
state: {
|
|
confirm: {}
|
|
},
|
|
|
|
onMounted() {
|
|
this.root.addEventListener('open', this.__open)
|
|
this.root.addEventListener('close', this.__close)
|
|
},
|
|
|
|
__open(event) {
|
|
|
|
// adding confirm function to state
|
|
this.state.confirm = event.detail.confirm
|
|
this.state.body = event.detail.body
|
|
|
|
this.$('.modal').classList.add('modal--open')
|
|
this.update()
|
|
},
|
|
|
|
__close(event) {
|
|
this.$('.modal').classList.remove('modal--open')
|
|
this.update()
|
|
},
|
|
|
|
/**
|
|
*
|
|
* @param {[type]} event
|
|
* @return {[type]}
|
|
*
|
|
*/
|
|
handleConfirm(event) {
|
|
event.preventDefault()
|
|
|
|
// calling confirm function
|
|
this.state.confirm()
|
|
|
|
this.__close()
|
|
},
|
|
|
|
/**
|
|
*
|
|
*
|
|
* @param {object} event
|
|
*
|
|
*/
|
|
handleClose(event) {
|
|
event.preventDefault()
|
|
this.__close()
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</app-modal>
|