Jake Vanderwerf
2025-10-18 b0194e10a87e16797a568d8a30d53ebecd27d8a4
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();