Jake Vanderwerf
2025-11-23 d7dbe7fee362d587dfc334135d9581b6216a4295
inc/meta/MetaForm.php
@@ -426,7 +426,7 @@
                  class="decrease"
                  title="<?= array_key_exists('remove', $field) ? $field['remove'] : 'Decrease amount' ?>"
                  aria-label="Decrease <?= esc_attr($field['label']) ?>">
               <?= jvbIcon('minus') ?>
               <?= jvbIcon('minus-square') ?>
            </button>
            <input type="number"
@@ -445,7 +445,7 @@
                  class="increase"
                  title="<?= array_key_exists('add', $field) ? $field['add'] : 'Increase amount' ?>"
                  aria-label="Increase <?= esc_attr($field['label']) ?>">
               <?= jvbIcon('add') ?>
               <?= jvbIcon('plus-square') ?>
            </button>
         </div>
@@ -624,7 +624,6 @@
   private function renderRepeaterField(string $name, mixed $value, array $field):void
   {
      error_log('Rendering Repeater Field!');
      $values = is_array($value) ? $value : array();
      $conditional = $this->handleConditionalField($field);
@@ -678,11 +677,11 @@
      <div class="repeater-row" data-index="<?= esc_attr($index); ?>">
         <details <?= (is_string($index)) ? 'open' : ''; ?>>
            <summary class="repeater-row-header row btw">
               <span class="drag-handle"><?= jvbIcon('grab'); ?></span>
               <span class="drag-handle"><?= jvbIcon('dots-six-vertical'); ?></span>
               <span class="row-number">#<?= esc_html($display_number); ?></span>
               <span class="row-title"><?= esc_html($this->getRowTitle($fields, $values, $rowTitle)); ?></span>
               <button type="button" class="remove-row" title="Remove">
                  <?= jvbIcon('delete', ['title'=>'Remove']); ?>
                  <?= jvbIcon('trash', ['title'=>'Remove']); ?>
               </button>
            </summary>
            <div class="repeater-row-content">
@@ -722,9 +721,11 @@
   protected function renderGroupField(string $name, mixed $value, array $field): void
   {
      if (!array_key_exists('fields', $field) || empty($field['fields'])) {
         error_log('No fields to render');
         return;
      }
      $values = is_array($value) ? $value : [];
      $original = $name;
@@ -744,14 +745,15 @@
      $conditional = $this->handleConditionalField($field);
      $validationAttrs = $this->buildValidationAttributes($field);
      $describedBy = (!empty($field['description'])) ? ' aria-describedby="' . $name . '-help"' : '';
      $fieldset = (array_key_exists('wrap', $field) && $field['wrap'] === 'details') ? 'details' : 'fieldset';
      $legend = (array_key_exists('wrap', $field) && $field['wrap'] === 'details') ? 'summary' : 'legend';
      ?>
      <fieldset class="field group <?= esc_attr($name) ?>"
      <<?= $fieldset?> class="field group <?= esc_attr($name) ?>"
         <?= $conditional ?>
              data-field="<?= esc_attr($name) ?>"
         <?= $validationAttrs ?>
         <?= $describedBy ?>>
         <legend><?= esc_html($field['label']) ?></legend>
         <<?=$legend?>><?= esc_html($field['label']) ?></<?=$legend?>>
         <?php $this->renderHintAndDescription($field, $name); ?>
@@ -760,7 +762,7 @@
         </div>
         <span class="validation-message" hidden role="alert"></span>
      </fieldset>
      </<?= $fieldset?>>
      <?php
   }
@@ -931,18 +933,18 @@
                     <div class="selection-actions row btw" hidden>
                        <button type="button" data-action="add-to-group">
                           <?= jvbIcon('add') ?>
                           <?= jvbIcon('plus-square') ?>
                           Group
                        </button>
                        <button type="button" data-action="delete-upload">
                           <?= jvbIcon('delete') ?>
                           <?= jvbIcon('trash') ?>
                           Delete
                        </button>
                     </div>
                  </div>
                  <button type="button" data-action="upload" class="submit-uploads">
                     <?= jvbIcon('upload') ?> Upload <?= esc_html($plural ?? 'Content'); ?>
                     <?= jvbIcon('cloud-arrow-up') ?> Upload <?= esc_html($plural ?? 'Content'); ?>
                  </button>
               </div>
               <?php endif; ?>
@@ -959,7 +961,7 @@
               </div>
               <?php if ($destination === 'post_group') : ?>
               <p class="hint"><?= jvbIcon('elbow-left-up') ?>  These will become individual <?= $plural ?>  <?= jvbIcon('elbow-right-up')?></p>
               <p class="hint"><?= jvbIcon('arrow-elbow-left-up') ?>  These will become individual <?= $plural ?>  <?= jvbIcon('arrow-elbow-right-up')?></p>
            </div>
            <div class="sidebar flex col">
               <div class="header">
@@ -971,7 +973,7 @@
                     <p>Drag here to create a new <?= $singular ?>!</p>
                  </div>
               </div>
               <p class="hint"><?= jvbIcon('elbow-left-up') ?>  Each group will become its own <?= $singular ?>  <?= jvbIcon('elbow-right-up')?></p>
               <p class="hint"><?= jvbIcon('arrow-elbow-left-up') ?>  Each group will become its own <?= $singular ?>  <?= jvbIcon('arrow-elbow-right-up')?></p>
            </div>
         </div>
      <?php endif; ?>
@@ -1072,7 +1074,7 @@
               <?php jvbRenderProgressBar('',true) ?>
               <input type="checkbox" class="upload-select" name="select-item" id="select-item<?=$addID?>">
               <label for="select-item<?=$addID?>" aria-label="Select image">
                  <?= ($attachment) ? $attachment : '<img>
                  <?= ($attachment) ?: '<img>
                  <video></video>
                  <span></span>' ?>
               </label>
@@ -1087,12 +1089,12 @@
                  </div>
                  <button type="button" data-action="delete-upload" title="Remove from Group">
                     <?=jvbIcon('delete')?>
                     <?=jvbIcon('trash')?>
                  </button>
               </div>
            </div>
            <details>';
               <summary class="row btw"><?=jvbIcon('edit')?><span>Edit Info</span></summary>
            <details>
               <summary class="row btw"><?=jvbIcon('pencil-simple')?><span>Edit Info</span></summary>
      <?php
@@ -1127,7 +1129,10 @@
         ]
      ], $fields);
      $this->render('upload_data', null, $fields);
      $meta = new MetaManager($id);
      foreach ($fields as $field => $config) {
         $meta->render('form', $field, $config);
      }
      ?>
            </details>
      </div>
@@ -1162,12 +1167,12 @@
                  </div>
                  <button type="button" data-action="delete-upload" title="Remove from Group">
                     <?=jvbIcon('delete')?>
                     <?=jvbIcon('trash')?>
                  </button>
               </div>
            </div>
            <details>';
               <summary class="row btw"><?=jvbIcon('edit')?><span>Edit Info</span></summary>
               <summary class="row btw"><?=jvbIcon('pencil-simple')?><span>Edit Info</span></summary>
      <?php
      $fields = array_key_exists('fields', $config) ? $config['fields'] : [];
@@ -1235,12 +1240,12 @@
                  </div>
                  <button type="button" data-action="delete-upload" title="Remove from Group">
                     <?=jvbIcon('delete')?>
                     <?=jvbIcon('trash')?>
                  </button>
               </div>
            </div>
            <details>';
               <summary class="row btw"><?=jvbIcon('edit')?><span>Edit Info</span></summary>
               <summary class="row btw"><?=jvbIcon('pencil-simple')?><span>Edit Info</span></summary>
      <?php
      $fields = array_key_exists('fields', $config) ? $config['fields'] : [];