From b0194e10a87e16797a568d8a30d53ebecd27d8a4 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 18 Oct 2025 15:04:51 +0000
Subject: [PATCH] =DataStore.js and UploaderManager.js overhaul

---
 assets/js/concise/View.js |   35 ++++++++++++++++++++++-------------
 1 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/assets/js/concise/View.js b/assets/js/concise/View.js
index b31b782..70c8e2f 100644
--- a/assets/js/concise/View.js
+++ b/assets/js/concise/View.js
@@ -3,7 +3,6 @@
  */
 class ViewController {
 	constructor(container, store) {
-		console.log(container);
 		this.a11y = window.jvbA11y;
 		this.error = window.jvbError;
 
@@ -40,20 +39,25 @@
 		}
 
 		this.ui = window.uiFromSelectors(this.selectors, this.container);
-		console.log(this.ui);
 	}
 
 	init() {
 		// Subscribe to store updates
 		this.store.subscribe((event, data) => {
 			switch(event) {
-				case 'data-fetched':
-				case 'data-cached':
+				case 'data-loaded':
+				case 'items-saved':
 					this.handleDataUpdate(data);
 					break;
 				case 'items-updated':
 					this.handleItemsUpdate(data.items);
 					break;
+				case 'item-saved':
+					// this.updateItem(data.item);
+					break;
+				case 'item-deleted':
+					// this.deleteItem(data.item);
+					break;
 			}
 		});
 
@@ -128,10 +132,10 @@
 
 	toggleColumns(column, show) {
 		let theColumn = this.ui.table.columns.filter(col => col.className === column);
-		console.log(theColumn);
-		console.log('Toggle Columns');
-		console.log(column, show);
-		console.log(this.ui.table.columns);
+		// console.log(theColumn);
+		// console.log('Toggle Columns');
+		// console.log(column, show);
+		// console.log(this.ui.table.columns);
 	}
 
 	setupViewSwitcher() {
@@ -201,11 +205,16 @@
 
 		items.forEach(item => {
 			let card;
-			if (this.items.grid.has(item.id)) {
-				card = this.items.grid.get(item.id);
-			} else {
+			if (this.store.renderOrRetrieve) {
 				card = this.store.renderOrRetrieve(item, 'grid', this.renderGridItem.bind(this));
-				this.items.grid.set(item.id, card);
+			} else {
+				// Fallback to local cache
+				if (this.items.grid.has(item.id)) {
+					card = this.items.grid.get(item.id);
+				} else {
+					card = this.renderGridItem(item);
+					this.items.grid.set(item.id, card);
+				}
 			}
 
 			fragment.appendChild(card);
@@ -368,7 +377,7 @@
 					if (!isEmpty) {
 						field.querySelector('input').checked = parseInt(value) === 1;
 					}
-					field.querySelector('.toggle-label').hidden = true;
+					field.querySelector('.toggle-label')?.remove();
 					break;
 				case 'select':
 					label.remove();

--
Gitblit v1.10.0