From 0dfe1d8afafc59c4a5559c498342668d5a58d6ef Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 23 Jul 2026 22:41:41 +0000
Subject: [PATCH] =Still working away at the Integrations overhaul
---
assets/js/concise/UploadManager.js | 41 ++++++++++++++++++++++++++++++-----------
1 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/assets/js/concise/UploadManager.js b/assets/js/concise/UploadManager.js
index 651c070..b51a781 100644
--- a/assets/js/concise/UploadManager.js
+++ b/assets/js/concise/UploadManager.js
@@ -177,9 +177,10 @@
inputs: 'input,textarea,select'
},
setup({el, refs, manyRefs, data}) {
- if (refs.inputs) {
- refs.inputs.forEach(input => {
+ if (manyRefs.inputs) {
+ manyRefs.inputs.forEach(input => {
let wrapper = input.closest('[data-field]');
+ input.dataset.groupId = data.groupId;
window.prefixInput(input, `${data.groupId}-`, wrapper);
});
}
@@ -502,7 +503,6 @@
if (this.fields.has(upload.field)) {
let field = this.fields.get(upload.field);
- console.log('Upload Status: ', upload.status);
switch (upload.status) {
case 'local_processing':
this.notify('upload-received', {
@@ -608,7 +608,6 @@
}
let field = this.fields.get(fieldId);
-
if (field.config.destination === 'post_group') {
this.handleGroupMetaChange(e.target);
} else {
@@ -620,7 +619,7 @@
const groupId = input.dataset.groupId;
if (!groupId) return;
- // Capture values immediately (before debouncer)
+ // Capture values immediately
const inputName = input.name;
if (!inputName) return;
const inputValue = input.value;
@@ -1079,7 +1078,21 @@
*********************************************************************/
getWorker() {
if (!this.workerState.worker && typeof OffscreenCanvas !== 'undefined') {
- this.workerState.worker = new Worker('worker.js');
+ const workerCode = `
+ self.onmessage = function(e) {
+ const { id, imageBitmap, width, height, type, quality } = e.data;
+ const canvas = new OffscreenCanvas(width, height);
+ const ctx = canvas.getContext('2d');
+ ctx.drawImage(imageBitmap, 0, 0, width, height);
+ canvas.convertToBlob({ type, quality }).then(blob => {
+ self.postMessage({ id, blob });
+ });
+ };
+ `;
+ const blob = new Blob([workerCode], { type: 'application/javascript' });
+ const url = URL.createObjectURL(blob);
+ this.workerState.worker = new Worker(url);
+ URL.revokeObjectURL(url); // Safe to revoke immediately after Worker is created
this.workerState.worker.onmessage = (e) => this.handleWorkerMessage(e);
this.workerState.worker.onerror = (e) => this.handleWorkerError(e);
}
@@ -1838,14 +1851,20 @@
if (selectionHandler?.destroy) {
selectionHandler.destroy();
}
- this.selectionHandlers.get(group.field)?.removeWrapper(element.element);
+ if (this.selectionHandlers.get(group.field) && element && element.element) {
+ this.selectionHandlers.get(group.field).removeWrapper(element.element)
+ }
// Existing sortable cleanup
- const sortable = this.sortables.get(sortableKey);
- if (sortable?.destroy) {
- sortable.destroy();
+ if (this.sortables.has(sortableKey)) {
+ const sortable = this.sortables.get(sortableKey);
+ if (sortable?.destroy) {
+ sortable.destroy();
+ }
+
+ this.sortables.delete(sortableKey);
}
- this.sortables.delete(sortableKey);
+
}
if (element?.element) {
--
Gitblit v1.10.0