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 | 75 +++++++++++++++++++++++++++++++++----
1 files changed, 66 insertions(+), 9 deletions(-)
diff --git a/assets/js/concise/PopulateForm.js b/assets/js/concise/PopulateForm.js
index 4a56a10..a15d1fa 100644
--- a/assets/js/concise/PopulateForm.js
+++ b/assets/js/concise/PopulateForm.js
@@ -3,10 +3,6 @@
**********************************************/
class PopulateForm {
constructor(form, fieldData = {}, imageData = {}, options = {}) {
- console.log('Populating field... ', form);
- console.log('fieldData: ', fieldData);
- console.log('imageData: ', imageData);
- console.log('options: ', options);
for (let [fieldName, fieldValue] of Object.entries(fieldData)) {
let wrapper = form.querySelector(`[data-field="${fieldName}"]`);
if (wrapper) {
@@ -480,17 +476,78 @@
* 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);
+ });
+ }
}
/**
* Populate repeater fields
*/
populateRepeaterField(fieldWrapper, fieldName, fieldValue, options = {}) {
- console.log('fieldWrapper', fieldWrapper);
- console.log('fieldName', fieldName);
- console.log('fieldValue', fieldValue);
- console.log('options', options);
if (!fieldValue || !Array.isArray(fieldValue)) {
return;
}
--
Gitblit v1.10.0