From 9f86429a1252b45c95b7c62fbaa1b82de3723997 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 05 Jan 2026 18:16:07 +0000
Subject: [PATCH] =Complete TaxonomySelector.js and TaxonomyCreator.js refactor
---
inc/helpers/renderFields.php | 54 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 38 insertions(+), 16 deletions(-)
diff --git a/inc/helpers/renderFields.php b/inc/helpers/renderFields.php
index 4817908..7384fc7 100644
--- a/inc/helpers/renderFields.php
+++ b/inc/helpers/renderFields.php
@@ -4,6 +4,7 @@
exit;
}
+use JVBase\forms\TaxonomySelector;
use JVBase\managers\CacheManager;
use JVBase\meta\MetaForm;
use JVBase\meta\MetaManager;
@@ -316,17 +317,34 @@
$out = ($label === '') ? '' : '<h2 class="inline">'.$label.'</h2>';
$out .= '<ul class="term-list '.jvbNoBase($terms[array_key_first($terms)]->taxonomy).'">';
foreach ($terms as $term) {
- $out .= '<li>
- <a href="'.get_term_link($term->term_id, $term->taxonomy).'" title="'.$term->name.'">'.
- $term->name.
- '</a>
- </li>';
+ $out .= '<li>'.jvbGetTermLink($term).'</li>';
}
$out .= '</ul>';
return $out;
}
+function jvbGetTermLink(int|WP_Term $term, string $taxonomy = ''):string
+{
+ if (is_int($term)){
+ $term = get_term($term, jvbCheckBase($taxonomy));
+ if (is_wp_error($term)) {
+ return '';
+ }
+ }
+ $cache = CacheManager::for($term->taxonomy);
+ $key = $term->term_id.'-link';
+ return $cache->remember(
+ $key,
+ function() use ($term) {
+ return '<a href="'.get_term_link($term->term_id, $term->taxonomy).'" title="'.$term->name.'">'.
+ $term->name.
+ '</a>';
+ }
+ );
+}
+
+
add_action('wp_footer', 'jvbOutputImageTemplates');
function jvbOutputImageTemplates() {
@@ -344,7 +362,7 @@
</div>
<div class="summary">
<div class="result">
- <h4></h4>
+ <h3></h3>
<p></p>
</div>
</div>
@@ -367,15 +385,15 @@
<div class="group-header">
<div class="selected">
<div class="field">
- <input type="checkbox" id="select-all-group" name="select-all-group">
- <label for="select-all-group">
+ <input type="checkbox" id="select-all" name="select-all" data-selects="item-grid" data-select-all>
+ <label for="select-all">
Select All In Group
</label>
</div>
<div class="info" hidden>
</div>
</div>
- <div class="group-actions">
+ <div class="selection-actions">
<button type="button" data-action="add-to-group" title="Add selected uploads to this group">
<?= jvbIcon('plus-square') ?>
Add Here
@@ -393,8 +411,8 @@
<div class="fields"></div>
</details>
<div class="group-content col">
+ <p class="hint count"></p>
<div class="item-grid group"></div>
- <p class="hint group-count"></p>
</div>
</div>
@@ -460,10 +478,10 @@
<div class="wrap">
<div class="restore-message">
<h4>Looks like we left things hanging</h4>
- <p class="restore-details"></p>
+ <p class="details"></p>
<p class="hint">If you'd rather start over, you can clear this information.</p>
</div>
- <div class="restore-actions">
+ <div class="selection-actions">
<div class="selected">
<div class="field">
<input type="checkbox" id="select-all-restore" name="select-all-restore">
@@ -475,6 +493,10 @@
</div>
</div>
<div class="m-actions row nowrap">
+ <button type="button" data-action="restore-all">
+ <?= jvbIcon('infinity') ?>
+ Restore All
+ </button>
<button type="button" data-action="restore">
<?= jvbIcon('arrow-counter-clockwise') ?>
Restore Selected
@@ -489,10 +511,10 @@
</dialog>
</template>
<template class="restoreField">
- <div class="restore-field">
- <h3></h3>
+ <details class="restore-field">
+ <summary><h3><a></a></h3></summary>
<div class="item-grid restore"></div>
- </div>
+ </details>
</template>
<template class="startOverConfirmation">
@@ -526,7 +548,7 @@
<?php
}
if (wp_script_is('jvb-selector')) {
- \JVBase\forms\TaxonomySelector::class::outputSelectorModal();
+ TaxonomySelector::class::outputSelectorModal();
}
}
--
Gitblit v1.10.0