src/utils/SPGetStaticFromDisplay.js
define([
'jquery',
//---------------------------
// We don't need local variables for these dependencies
// because they are added to the jQuery namespace.
'../core/SPServices.core'
], function (
$
) {
"use strict";
// This function returns the StaticName for a column based on the DisplayName.
$.fn.SPServices.SPGetStaticFromDisplay = function (options) {
var opt = $.extend({}, {
webURL: "", // URL of the target Web. If not specified, the current Web is used.
listName: "", // The name or GUID of the list
columnDisplayName: "", // DisplayName of the column
columnDisplayNames: {} // DisplayNames of the columns - added in v0.7.2 to allow multiple columns
}, options);
var staticName = "";
var staticNames = {};
var nameCount = opt.columnDisplayNames.length > 0 ? opt.columnDisplayNames.length : 1;
$().SPServices({
operation: "GetList",
async: false,
cacheXML: true,
webURL: opt.webURL,
listName: opt.listName,
completefunc: function (xData) {
if (nameCount > 1) {
for (var i = 0; i < nameCount; i++) {
staticNames[opt.columnDisplayNames[i]] = $(xData.responseXML).find("Field[DisplayName='" + opt.columnDisplayNames[i] + "']").attr("StaticName");
}
} else {
staticName = $(xData.responseXML).find("Field[DisplayName='" + opt.columnDisplayName + "']").attr("StaticName");
}
}
});
return (nameCount > 1) ? staticNames : staticName;
}; // End $.fn.SPServices.SPGetStaticFromDisplay
return $;
});