chore: update version to 2.0.1 and enhance Classic functionality with dynamic field discovery

This commit is contained in:
Torsten Brendgen
2026-07-18 20:02:49 +02:00
parent 0d6768e24c
commit 0d6da3451d
11 changed files with 71 additions and 20 deletions

View File

@@ -15,6 +15,27 @@
return '';
}
function discoverExpiryField() {
var id = listId(null);
if (!id) { return ''; }
try {
var xhr = new XMLHttpRequest();
xhr.open('GET', listUrl(id) +
'/fields?$select=InternalName,ClientSideComponentId', false);
xhr.setRequestHeader('Accept', 'application/json;odata=verbose');
xhr.setRequestHeader('OData-Version', '3.0');
xhr.send(null);
if (xhr.status < 200 || xhr.status >= 300) { return ''; }
var data = JSON.parse(xhr.responseText || '{}');
var fields = data.d ? data.d.results : (data.value || []);
for (var index = 0; index < fields.length; index++) {
var componentId = String(fields[index].ClientSideComponentId || '').replace(/[{}]/g, '').toLowerCase();
if (componentId === FIELD_CUSTOMIZER_ID) { return fields[index].InternalName; }
}
} catch (ignore) { }
return '';
}
function pageContext() {
return window._spPageContextInfo || {};
}
@@ -473,7 +494,7 @@
function register() {
if (window.SPClientTemplates && SPClientTemplates.TemplateManager) {
var overrides = { OnPostRender: render };
var expiryField = configuredExpiryField();
var expiryField = configuredExpiryField() || discoverExpiryField();
if (expiryField) {
overrides.Templates = { Fields: {} };
overrides.Templates.Fields[expiryField] = {