Override di una SharePoint column via JSLink
In vari articoli abbiamo spiegato come utilizzare JS Link per formattare in client render mode alcune colonne come ad esempio la due date di una task list. Ma se volessimo personalizzare una colonna custom? Prima di tutto dobbiamo identificare l'”internal name” della colonna, ovvero quel nome che SharePoint attribuisce alla colonna in fase di creazione della stessa e che non necessariamente corrisponde al “friendly name” della colonna ovvero il nome che viene visualizzato sulle liste.
Per identificare l'”internal name” di una colonna basta andare nelle proprietà delle stessa e vedere la fine dell’url della pagina: il testo seguente la stringa “Field=” corrisponde all'”internal name”.
Ora che abbiamo identificato la nostra colonna possiamo fare l’override del valore con uno script come quello di seguito visualizzato che imposta il valore della colonna in Skilly se il titolo dell’item è Cane e la imposta a Romeo se il titolo è Gatto:
(function () {
// Initialize the variables for overrides objects
var overrideCtx = {};
overrideCtx.Templates = {};
overrideCtx.Templates.Fields = {
'Testnome': { 'View' : CustomField }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();
function CustomField(ctx) {
var theRet
if (ctx.CurrentItem.Title == "Gatto" ) {
theRet = "Romeo";
return theRet;
}
else if (ctx.CurrentItem.Title == "Cane" ) {
theRet = "Skilly";
return theRet;
}
}