Jake Vanderwerf
2026-01-04 d38d825e3484d822ea3c1f0fb1df37ecf386b18a
assets/js/concise/CRUD.js
@@ -91,7 +91,7 @@
      });
      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') {
@@ -207,7 +207,6 @@
   }
   async handleQueueSuccess(event, data) {
      this.store.clearCache();
      this.store.clearHttpHeaders();
      this.store.fetch();
   }
   handleQueueFailure(event, data) {
@@ -234,6 +233,20 @@
         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() {
@@ -316,7 +329,7 @@
                  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;
@@ -646,17 +659,15 @@
      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);
      }
   }