Jake Vanderwerf
2025-12-21 3aada9949d51024a92a8b5c6cb70d12f9c3cac16
assets/js/concise/UploadManager.js
@@ -500,7 +500,6 @@
         .map(upload => upload.dataset.uploadId)
         .filter(id => id);
      console.log('Reordered items:', items);
      // Update hidden input (for form submission)
      let hiddenInput = fieldWrapper.querySelector('input[type="hidden"]');
@@ -508,7 +507,7 @@
         hiddenInput.value = items.join(',');
      }
      // ✅ Update fieldState with new order
      // Update fieldState with new order
      const fieldId = this.getFieldIdFromElement(grid);
      if (fieldId) {
         const fieldData = this.getFieldData(fieldId);
@@ -524,7 +523,7 @@
         // If reordering in preview, the order is implicit by DOM position
         // (we don't store preview order separately)
         this.schedulePersistance(fieldId); // ✅ Persist changes
         this.schedulePersistance(fieldId);
      }
      this.a11y.announce('Item reordered');
@@ -1192,7 +1191,7 @@
         popup: `Creating ${posts.length} post${posts.length > 1 ? 's' : ''}...`,
         canMerge: false,
         headers: {
            'action_nonce': jvbSettings.dash
            'action_nonce': window.auth.getNonce('dash')
         },
         append: '_upload',
      };
@@ -1243,7 +1242,7 @@
         title: `Uploading ${uploads.length} file${uploads.length > 1 ? 's' : ''} to server...`,
         popup: `Uploading ${uploads.length} file${uploads.length > 1 ? 's' : ''}...`,
         canMerge: false,
         headers: { 'action_nonce': jvbSettings.dash },
         headers: { 'action_nonce': window.auth.getNonce('dash') },
         append: '_upload'
      };
@@ -1324,7 +1323,7 @@
         data: queueData,
         title: 'Updating meta',
         canMerge: true,
         headers: { 'action_nonce': jvbSettings.dash }
         headers: { 'action_nonce': window.auth.getNonce('dash') }
      };
      try {
@@ -1671,7 +1670,7 @@
               storedGroup.changes = { ...groupData.changes };
            }
            // ✅ Preserve upload order
            // Preserve upload order
            if (groupData.uploads) {
               storedGroup.uploads = [...groupData.uploads];
            }
@@ -2530,11 +2529,6 @@
    * Save field data to store, converting Sets to Arrays
    */
   async saveFieldData(fieldData) {
      console.log('💾 Saving:', fieldData.id, {
         uploads: fieldData.uploads?.size,
         groups: fieldData.groups?.length
      });
      await this.fieldStore.save({
         ...fieldData,
         timestamp: Date.now()
@@ -2844,12 +2838,6 @@
   async checkForStoredUploads() {
      const allFieldStates = this.fieldStore.getAll();
      console.log('Checking for stored uploads...', {
         fieldStates: allFieldStates.length,
         uploadStoreSize: this.uploadStore.data.size
      });
      console.log(this.uploadStore.getAll());
      console.log(this.fieldStore.getAll());
      const pendingFields = allFieldStates.filter(field => {
         if (!field.uploads) return false;
@@ -2866,7 +2854,6 @@
               ['completed', 'processed', 'local_processing', 'processed-original'].includes(upload.status);
         });
      });
      console.log('Found pending fields:', pendingFields.length);
      if (pendingFields.length === 0) return;
      this.showRecoveryNotification(pendingFields);
@@ -3154,6 +3141,10 @@
}
// Initialize when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
   window.jvbUploads = new UploadManager();
document.addEventListener('DOMContentLoaded', async function () {
   window.auth.subscribe((event) => {
      if (event === 'auth-loaded') {
         window.jvbUploads = new UploadManager();
      }
   });
});