From afdc1b396e3e88146006cd707a15b9da4843e1c2 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 04 Jan 2026 18:34:21 +0000
Subject: [PATCH] Merge branch 'main' of https://github.com/jakevdwerf/jvb
---
assets/js/concise/View.js | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/assets/js/concise/View.js b/assets/js/concise/View.js
index ca6c99e..423d8a4 100644
--- a/assets/js/concise/View.js
+++ b/assets/js/concise/View.js
@@ -19,7 +19,7 @@
grid: new Map(),
table: new Map(),
}
- this.currentView = 'grid';
+ this.currentView = this.container.dataset.view ?? 'grid';
this.selectedItems = new Set();
this.subscribers = new Set();
@@ -161,15 +161,6 @@
}
/**
- * Handle data updates from store
- */
- handleDataUpdate(data) {
- console.log(data);
- const items = data.data?.items || data.items || [];
- this.render(items);
- }
-
- /**
* Handle items update
*/
handleItemsUpdate() {
@@ -185,6 +176,7 @@
// Handle empty state
if (items.length === 0) {
+ console.log('Nothing to show');
this.renderEmpty();
return;
}
@@ -293,7 +285,10 @@
}
toggleTable(on) {
- this.ui.table.selectedColumns.hidden = !on;
+ if (this.ui.table.selectedColumns) {
+ this.ui.table.selectedColumns.hidden = !on;
+ }
+
if (on && !this.ui.table.table) {
let table = window.getTemplate('contentTable');
this.container.append(table);
@@ -317,7 +312,10 @@
window.removeChildren(this.ui.table.body);
}
}
- this.ui.table.selectedColumns.hidden = !on;
+
+ if (this.ui.table.selectedColumns) {
+ this.ui.table.selectedColumns.hidden = !on;
+ }
}
toggleGrid() {
@@ -360,17 +358,32 @@
row.querySelector('.select-item').value,
row.querySelector('.select-item').checked,
row.querySelector('.select-item + label').htmlFor,
- row.querySelector(`input[name="post_status"][value="${item.status}"]`).checked
] = [
item.id,
item.id,
this.selectedItems.has(`${item.id}`),
item.id,
- item.status
];
+ let status = row.querySelector(`input[name="post_status"][value="${item.status}"]`);
+ if (status) {
+ status.checked = true;
+ }
- // Let jvbPopulate do its thing - NO prefixing needed!
- new window.jvbPopulate(row, item.fields, item.images);
+ if (Object.hasOwn(this.ui.table.table.dataset, 'edit')) {
+ new window.jvbPopulate(row, item.fields, item.images);
+ } else {
+ for (let [key, value] of Object.entries(item)) {
+ let col = row.querySelector(`[data-field="${key}"]`);
+ if (col) {
+ let p = col.querySelector('p');
+ if (col.dataset.fieldType === 'date') {
+ value = window.formatTimeAgo(value);
+ }
+ p.textContent = value;
+ }
+ }
+ }
+
// Clean up after population
this.cleanupTableRow(row);
--
Gitblit v1.10.0