]> BookStack Code Mirror - bookstack/blob - resources/js/components/ajax-delete-row.js
Updated markdown preview to update on diff-basis
[bookstack] / resources / js / components / ajax-delete-row.js
1 /**
2  * AjaxDelete
3  * @extends {Component}
4  */
5 import {onSelect} from "../services/dom";
6
7 class AjaxDeleteRow {
8     setup() {
9         this.row = this.$el;
10         this.url = this.$opts.url;
11         this.deleteButtons = this.$manyRefs.delete;
12
13         onSelect(this.deleteButtons, this.runDelete.bind(this));
14     }
15
16     runDelete() {
17         this.row.style.opacity = '0.7';
18         this.row.style.pointerEvents = 'none';
19
20         window.$http.delete(this.url).then(resp => {
21             if (typeof resp.data === 'object' && resp.data.message) {
22                 window.$events.emit('success', resp.data.message);
23             }
24             this.row.remove();
25         }).catch(err => {
26             this.row.style.opacity = null;
27             this.row.style.pointerEvents = null;
28         });
29     }
30 }
31
32 export default AjaxDeleteRow;