chore: update version to 2.0.1 and enhance Classic functionality with dynamic field discovery
This commit is contained in:
@@ -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] = {
|
||||
|
||||
Reference in New Issue
Block a user