From e9967fa22781d922ba4eb8fb44fe72d200ac4b14 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 10 Nov 2025 21:04:10 +0000
Subject: [PATCH] =IconsManager.php update
---
assets/js/concise/PopulateForm.js | 69 +++++++++++++++++++++++++++++++++-
1 files changed, 67 insertions(+), 2 deletions(-)
diff --git a/assets/js/concise/PopulateForm.js b/assets/js/concise/PopulateForm.js
index ec60ffc..a15d1fa 100644
--- a/assets/js/concise/PopulateForm.js
+++ b/assets/js/concise/PopulateForm.js
@@ -435,7 +435,7 @@
// Update image display
const grid = fieldWrapper.querySelector('.item-grid');
const uploadContainer = fieldWrapper.querySelector('.file-upload-container');
-
+ fieldWrapper.querySelector('.progress')?.remove();
if (grid) {
window.removeChildren(grid);
imageIds.forEach(imageId => {
@@ -476,7 +476,72 @@
* Populate gallery fields
*/
populateGalleryField(fieldWrapper, fieldName, fieldValue, imagesData = {}) {
- this.populateImageField(fieldWrapper, fieldName, fieldValue, imagesData);
+ if (fieldName === 'timeline') {
+ this.populateTimelineGallery(fieldWrapper, fieldName, fieldValue, imagesData);
+ } else {
+ this.populateImageField(fieldWrapper, fieldName, fieldValue, imagesData);
+ }
+ }
+
+ populateTimelineGallery(fieldWrapper, fieldName, fieldValue, imagesData)
+ {
+ if (!fieldValue) {
+ return;
+ }
+
+ const imageIds = Object.keys(fieldValue);
+ if (imageIds.length === 0) {
+ return;
+ }
+
+ // Update image display
+ const grid = fieldWrapper.querySelector('.item-grid');
+ const uploadContainer = fieldWrapper.querySelector('.file-upload-container');
+ fieldWrapper.querySelector('.progress')?.remove();
+ if (grid) {
+ window.removeChildren(grid);
+ imageIds.forEach(imageId => {
+ let image = window.getTemplate('timelineItem');
+ let img = image.querySelector('img');
+
+ image.querySelector('video')?.remove();
+ image.querySelector('.select-item span')?.remove();
+ let data = fieldValue[imageId];
+
+ let imgData = imagesData[imageId];
+
+ img.src = imgData.medium;
+
+ data = { ... data, ... imgData};
+
+ let fields = image.querySelectorAll('.field');
+ fields.forEach(field => {
+ if (field.classList.contains('group')){
+ return;
+ }
+ let input = field.querySelector('input, textarea');
+
+ let label = field.querySelector('label');
+ let name = input.name.replace('upload_data::','');
+
+ let value = data[name];
+ this.populateField(field, name, value, imagesData);
+
+ let id = data.id;
+ let newName = `[${id}]${name}`;
+ [
+ input.name,
+ input.id,
+ label.htmlFor
+ ] = [
+ newName,
+ newName,
+ newName,
+ ]
+ });
+ grid.append(image);
+ });
+ }
}
/**
--
Gitblit v1.10.0