5 import {showLoading} from "../services/dom";
10 this.container = this.$el;
11 this.pageId = this.$opts.pageId;
12 this.editContainer = this.$refs.editContainer;
13 this.listContainer = this.$refs.listContainer;
14 this.mainTabs = this.$refs.mainTabs;
15 this.list = this.$refs.list;
17 this.setupListeners();
21 const reloadListBound = this.reloadList.bind(this);
22 this.container.addEventListener('dropzone-success', reloadListBound);
23 this.container.addEventListener('ajax-form-success', reloadListBound);
25 this.container.addEventListener('sortable-list-sort', event => {
26 this.updateOrder(event.detail.ids);
29 this.container.addEventListener('event-emit-select-edit', event => {
30 this.startEdit(event.detail.id);
33 this.container.addEventListener('event-emit-select-edit-back', event => {
40 this.mainTabs.components.tabs.show('items');
41 window.$http.get(`/attachments/get/page/${this.pageId}`).then(resp => {
42 this.list.innerHTML = resp.data;
43 window.components.init(this.list);
47 updateOrder(idOrder) {
48 window.$http.put(`/attachments/sort/page/${this.pageId}`, {order: idOrder}).then(resp => {
49 window.$events.emit('success', resp.data.message);
54 this.editContainer.classList.remove('hidden');
55 this.listContainer.classList.add('hidden');
57 showLoading(this.editContainer);
58 const resp = await window.$http.get(`/attachments/edit/${id}`);
59 this.editContainer.innerHTML = resp.data;
60 window.components.init(this.editContainer);
64 this.editContainer.classList.add('hidden');
65 this.listContainer.classList.remove('hidden');
70 export default Attachments;