@sysdoc/sharepoint-utils
Version:
Sysdoc's core Sharepoint utilities
93 lines (92 loc) • 3.46 kB
JavaScript
;
/*!
* Copyright Sysdoc @ 2019
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.currentUserIdentity = exports.jsonToTermSet = exports.jsonToTerm = exports.termToJson = exports.termSetToJson = exports.setWebProperties = exports.getWebProperties = void 0;
function getWebProperties(webUrl) {
return new Promise(function (resolve, reject) {
var ctx = new SP.ClientContext(_spPageContextInfo.siteAbsoluteUrl);
var web = ctx.get_web();
var props = web.get_allProperties();
ctx.load(props);
ctx.executeQueryAsync(function () {
resolve(props.get_fieldValues());
}, reject);
});
}
exports.getWebProperties = getWebProperties;
function setWebProperties(webUrl, dict) {
return new Promise(function (resolve, reject) {
var ctx = new SP.ClientContext(_spPageContextInfo.siteAbsoluteUrl);
var web = ctx.get_web();
var props = web.get_allProperties();
for (var key in dict) {
if (Object.hasOwnProperty.call(dict, key)) {
props.set_item(key, dict[key]);
}
}
web.update();
ctx.executeQueryAsync(function () {
resolve();
}, reject);
});
}
exports.setWebProperties = setWebProperties;
function termSetToJson(tset) {
return {
Id: tset.get_id().toString(),
Name: tset.get_name(),
LastModifiedDate: tset.get_lastModifiedDate(),
CreatedDate: tset.get_createdDate(),
Contact: tset.get_contact(),
Description: tset.get_description(),
IsOpenForTermCreation: tset.get_isOpenForTermCreation(),
Stakeholders: tset.get_stakeholders(),
CustomSortOrder: tset.get_customSortOrder(),
CustomProperties: tset.get_customProperties(),
IsAvailableForTagging: tset.get_isAvailableForTagging(),
Owner: tset.get_owner()
};
}
exports.termSetToJson = termSetToJson;
function termToJson(term) {
return {
Id: term.get_id().toString(),
Name: term.get_name(),
Description: term.get_description(),
IsDeprecated: term.get_isDeprecated(),
IsKeyword: term.get_isKeyword(),
IsPinned: term.get_isPinned(),
IsReused: term.get_isReused(),
IsRoot: term.get_isRoot(),
PathOfTerm: term.get_pathOfTerm(),
TermsCount: term.get_termsCount(),
IsSourceTerm: term.get_isSourceTerm(),
IsAvailableForTagging: term.get_isAvailableForTagging(),
LocalCustomProperties: term.get_localCustomProperties(),
CustomProperties: term.get_customProperties(),
CustomSortOrder: term.get_customSortOrder()
};
}
exports.termToJson = termToJson;
function jsonToTerm(obj) {
var term = new SP.Taxonomy.Term(SP.ClientContext.get_current(), null);
term.initPropertiesFromJson(obj);
return term;
}
exports.jsonToTerm = jsonToTerm;
function jsonToTermSet(obj) {
var termSet = new SP.Taxonomy.TermSet(SP.ClientContext.get_current(), null);
termSet.initPropertiesFromJson(obj);
return termSet;
}
exports.jsonToTermSet = jsonToTermSet;
function currentUserIdentity() {
return {
email: _spPageContextInfo.userEmail,
id: _spPageContextInfo.userId,
label: _spPageContextInfo.userDisplayName
};
}
exports.currentUserIdentity = currentUserIdentity;