From d7dbe7fee362d587dfc334135d9581b6216a4295 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 23 Nov 2025 04:13:56 +0000
Subject: [PATCH] =Timeline block, and feed block updated. DataStore.js refactored to not block rendering
---
inc/helpers/renderFields.php | 89 +++++++++++++++++++++++---------------------
1 files changed, 47 insertions(+), 42 deletions(-)
diff --git a/inc/helpers/renderFields.php b/inc/helpers/renderFields.php
index 8786204..4817908 100644
--- a/inc/helpers/renderFields.php
+++ b/inc/helpers/renderFields.php
@@ -25,12 +25,16 @@
string $labelAfter,
string $on,
string $off,
- bool $hidden = false
+ bool $hidden = false,
+ array $data = []
):string {
$hidden = ($hidden) ? ' hidden' : '';
+ $dataset = (!empty($data)) ? implode('', array_map(function ($key, $value) {
+ return ' data-'.$key.'="'.$value.'"';
+ }, array_keys($data), array_values($data))) : '';
return sprintf(
- '<div class="toggle-text" %s>
- <input value="all" name="%s" id="%s" type="checkbox">
+ '<div class="toggle-text"%s>
+ <input value="all" name="%s" id="%s" type="checkbox"%s>
<label for="%s" class="row">
%s
<span class="text row">
@@ -43,6 +47,7 @@
$hidden,
$name,
$name,
+ $dataset,
$name,
$labelBefore,
$off,
@@ -59,9 +64,8 @@
*/
function jvbRenderLinks(int $ID, MetaManager|null $meta = null):string
{
- $cache = CacheManager::for('bio-'.$ID, WEEK_IN_SECONDS);
- $key = 'links';
- $cached = $cache->get($key);
+ $cache = CacheManager::for('user_links', WEEK_IN_SECONDS)->connectTo('post')->connectTo('taxonomy');
+ $cached = $cache->get($ID);
if ($cached) {
return $cached;
}
@@ -124,7 +128,7 @@
}
$out .= '</ul>';
}
- $cache->set($key, $out);
+ $cache->set($ID, $out);
return $out;
}
@@ -136,9 +140,9 @@
*/
function jvbRenderContactInfo(int $ID, MetaManager|null $meta = null):string
{
- $cache = CacheManager::for('bio-'.$ID, WEEK_IN_SECONDS);
- $key = 'contact';
- $cached = $cache->get($key);
+ $cache = CacheManager::for('contact', WEEK_IN_SECONDS)->connectTo('post')->connectTo('taxonomy');
+
+ $cached = $cache->get($ID);
if($cached){
return $cached;
}
@@ -178,7 +182,7 @@
$out .= '</ul>';
}
- $cache->set($key, $out);
+ $cache->set($ID, $out);
return $out;
}
@@ -365,7 +369,7 @@
<div class="field">
<input type="checkbox" id="select-all-group" name="select-all-group">
<label for="select-all-group">
- Select All
+ Select All In Group
</label>
</div>
<div class="info" hidden>
@@ -532,38 +536,39 @@
$dataID = ($ID) ? ['image-id' => $ID] : false;
$addID = ($ID) ? '-'.$ID : '';
- $fields = array_merge([
- 'image_data' => [
- 'type' => 'group',
- 'wrap' => 'details',
- 'label' => 'Image Info',
- 'hint' => 'These will be automatically generated if left blank.',
- 'fields' => [
- 'image-title'.$addID => [
- 'type' => 'text',
- 'label' => 'Image Title',
- 'value' => $title,
- 'data' => $dataID
- ],
- 'image-alt-text'.$addID => [
- 'type' => 'text',
- 'label' => 'Alt Text',
- 'value' => $alt,
- 'hint' => 'Alt text helps the visually impaired, as well as some benefits for SEO.',
- 'data' => $dataID
- ],
- 'image-caption'.$addID => [
- 'type' => 'textarea',
- 'value' => $caption,
- 'label' => 'Image Caption',
- 'data' => $dataID
- ]
- ]
+
+ $defaultFields = [
+ 'image-title'.$addID => [
+ 'type' => 'text',
+ 'label' => 'Image Title',
+ 'value' => $title,
+ 'data' => $dataID
+ ],
+ 'image-alt-text'.$addID => [
+ 'type' => 'text',
+ 'label' => 'Alt Text',
+ 'value' => $alt,
+ 'hint' => 'Alt text helps the visually impaired, as well as some benefits for SEO.',
+ 'data' => $dataID
+ ],
+ 'image-caption'.$addID => [
+ 'type' => 'textarea',
+ 'value' => $caption,
+ 'label' => 'Image Caption',
+ 'data' => $dataID
]
- ], $fields);
+ ];
+ $fields = array_merge($defaultFields, $fields);
+ $config = [
+ 'type' => 'group',
+ 'wrap' => 'details',
+ 'label' => 'Image Info',
+ 'hint' => 'These will be automatically generated if left blank.',
+ 'fields' => $fields
+ ];
- return $form->render('image_data',null, $fields,false, true);
+ return $form->render('image_data',null, $config,false, true);
}
@@ -573,7 +578,7 @@
return '';
}
- $cache = CacheManager::for('locations');
+ $cache = CacheManager::for('locations')->connectTo('taxonomy');
$key = $cache->generateKey($location);
$cached = false;
--
Gitblit v1.10.0