| | |
| | | this.populateTaxonomy(field, name, value); |
| | | } |
| | | populateUpload(field, name, value) { |
| | | if (name === 'timeline' || field.dataset.subtype && field.dataset.subtype === 'timeline') { |
| | | if (field.dataset.subtype && field.dataset.subtype === 'timeline') { |
| | | this.populateTimelineGallery(field,name,value); |
| | | return; |
| | | } |
| | |
| | | } |
| | | |
| | | const grid = field.querySelector('.item-grid'); |
| | | let uploadContainer = field.querySelector('.file-upload-wrapper'); |
| | | uploadContainer.hidden = ids.length > 0; |
| | | |
| | | field.querySelector('.progress')?.remove(); |
| | | if (grid) { |
| | | window.removeChildren(grid); |
| | |
| | | if (!value || !Array.isArray(value) || value.length === 0) return; |
| | | |
| | | let grid = field.querySelector('.item-grid'); |
| | | let uploadContainer = field.querySelector('.file-upload-wrapper'); |
| | | uploadContainer.hidden = value.length > 0; |
| | | |
| | | if (grid) { |
| | | window.removeChildren(grid); |
| | | |
| | |
| | | populateSingleValue(field, name, value) { |
| | | value = String(value || ''); |
| | | |
| | | // Try select first |
| | | let select = field.querySelector(`select[name="${name}"]`); |
| | | if (select) { |
| | | select.value = value; |
| | | return; |
| | | } |
| | | let input = field.querySelector(`[name="${name}"][value="${value}"]`); |
| | | |
| | | let input = field.querySelector(`input[type="radio"][value="${value}"], input[type="checkbox"][value="${value}"]`) |
| | | || field.querySelector(`[name="${name}"][value="${value}"]`); |
| | | if (input) { |
| | | input.checked = true; |
| | | } |
| | |
| | | video: 'video', |
| | | file: '.select-item span', |
| | | img: 'img', |
| | | details: 'details[data-field]', |
| | | imgAlt: '[name="image-alt-text"]', |
| | | imgTitle: '[name="image-title"]', |
| | | imgDesc: '[name="image-caption"]', |
| | | details: '[data-field="image_data"] details', |
| | | imgAlt: '[data-field="image-alt-text"]', |
| | | imgTitle: '[data-field="image-title"]', |
| | | imgDesc: '[data-field="image-caption"]', |
| | | }, |
| | | manyRefs: { |
| | | fields: '.field', |
| | |
| | | let imgData = p.data.images[data['post_thumbnail']]??false; |
| | | if (refs.img && imgData) { |
| | | refs.img.src = imgData.medium || imgData.small || imgData.large || ''; |
| | | refs.img.title = imgData['image-title']??''; |
| | | refs.img.title = imgData.large.split("/").pop()??''; |
| | | refs.img.alt = imgData['image-alt-text']??''; |
| | | } |
| | | |
| | | |
| | | if (refs.details) { |
| | | let imgData = p.data.images[data.post_thumbnail]; |
| | | |
| | | refs.details.setAttribute('data-ignore', ''); |
| | | refs.details.dataset.attachmentId = data.post_thumbnail; |
| | | if (Object.hasOwn(imgData, 'image-alt-text') && refs.alt) { |
| | | refs.alt.value = imgData['image-alt-text']; |
| | | |
| | | let imgAlt = refs.imgAlt.querySelector('input'); |
| | | let imgTitle = refs.imgTitle.querySelector('input'); |
| | | let imgDesc = refs.imgDesc.querySelector('textarea'); |
| | | window.prefixInput(imgAlt, `[${data.post_thumbnail}]`, refs.imgAlt, false, true); |
| | | window.prefixInput(imgTitle, `[${data.post_thumbnail}]`, refs.imgTitle, false, true); |
| | | window.prefixInput(imgDesc, `[${data.post_thumbnail}]`, refs.imgDesc, false, true); |
| | | |
| | | if (Object.hasOwn(imgData, 'image-alt-text') && refs.imgAlt) { |
| | | imgAlt.value = window.decodeHTMLEntities(imgData['image-alt-text']); |
| | | } |
| | | if ((Object.hasOwn(imgData, 'image-title') || Object.hasOwn(data, 'file')) && refs.title) { |
| | | refs.title.value = imgData['image-title']||data.file.name; |
| | | if ((Object.hasOwn(imgData, 'image-title') || Object.hasOwn(data, 'file')) && refs.imgTitle) { |
| | | imgTitle.value = window.decodeHTMLEntities(imgData['image-title']||data.file.name); |
| | | } |
| | | if (Object.hasOwn(imgData, 'image-caption') && refs.description) { |
| | | refs.description.value = imgData['image-caption']; |
| | | if (Object.hasOwn(imgData, 'image-caption') && refs.imgDesc) { |
| | | imgDesc.value = window.decodeHTMLEntities(imgData['image-caption']); |
| | | } |
| | | } |
| | | |
| | | if (manyRefs.fields) { |
| | | for (let field of manyRefs.fields) { |
| | | if (field.closest('[data-ignore]')) continue; |
| | | if (field.dataset.fieldType === 'group') continue; |
| | | if (field.dataset.field === 'post_thumbnail') { |
| | | field.remove(); |
| | | continue; |
| | | } |
| | | let name = field.dataset.field; |
| | | let value = data[name]??''; |
| | | |
| | | const input = field.querySelector('input:not([type="file"]), textarea, select'); |
| | | if (input) window.prefixInput(input, `[${data.id}]`, field, false, true); |
| | | |
| | | let value = data[name] ?? ''; |
| | | if (!p.isEmptyValue(value)) { |
| | | p.populateField(field, name, value); |
| | | } |
| | | const input = field.querySelector('input:not([type="file"])'); |
| | | if (!input) continue; |
| | | window.prefixInput(input, `[${data.id}]`, field); |
| | | } |
| | | |
| | | } |