| | |
| | | }); |
| | | |
| | | this.queue.subscribe((event, data) => { |
| | | if (!Object.hasOwn(data, 'endpoint') || data.endpoint !== 'content') return; |
| | | if (!Object.hasOwn(data, 'endpoint') || !['content', 'uploads/groups'].includes(data.endpoint)) return; |
| | | if (event === 'operation-completed') { |
| | | this.handleQueueSuccess(event, data); |
| | | } else if (event === 'operation-failed-permanent') { |
| | |
| | | } |
| | | async handleQueueSuccess(event, data) { |
| | | this.store.clearCache(); |
| | | this.store.clearHttpHeaders(); |
| | | this.store.fetch(); |
| | | } |
| | | handleQueueFailure(event, data) { |
| | |
| | | uploader: 'details.uploader' |
| | | }; |
| | | this.ui = window.uiFromSelectors(this.elements); |
| | | if (this.ui.uploader) { |
| | | window.jvbUploads.scanFields(document.querySelector(this.elements.uploader)); |
| | | |
| | | window.jvbUploads.subscribe((event, data) => { |
| | | if (event === 'sent-to-queue') { |
| | | console.log(data); |
| | | if (data === this.ui.uploader.querySelector('[data-uploader]')?.dataset.uploader) { |
| | | window.debouncer.schedule('crud-complete', ()=> { |
| | | this.store.clearHttpHeaders(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | this.isTimeline = !!document.querySelector('[data-timeline]'); |
| | | } |
| | | init() { |
| | |
| | | break; |
| | | |
| | | case 'create': |
| | | this.modals.create.dataset.itemID = 'new'; |
| | | this.modals.create.dataset.itemId = 'new'; |
| | | this.modals.create.dataset.content = this.content; |
| | | this.modals.create.handleOpen(); |
| | | break; |
| | |
| | | |
| | | let item = this.store.get(parseInt(itemID)); |
| | | if (item) { |
| | | this.ui.modals.edit.dataset.itemID = itemID; |
| | | this.ui.modals.edit.dataset.itemId = itemID; |
| | | this.ui.modals.edit.dataset.content = this.content; |
| | | |
| | | let form = this.ui.modals.edit.querySelector('form'); |
| | | [ |
| | | this.ui.modals.edit.querySelector('h2').textContent |
| | | ] = [ |
| | | `Editing ${item.fields.post_title}` |
| | | ]; |
| | | this.ui.modals.edit.querySelector('h2').textContent = `Editing ${item.fields.post_title}`; |
| | | form.dataset.formId = `edit-${itemID}`; |
| | | new window.jvbPopulate(form, item.fields, item.images); |
| | | |
| | | new window.jvbPopulate(form, item); |
| | | |
| | | this.formController.registerForm(this.ui.forms.edit); |
| | | } |
| | | } |