@sysdoc/sharepoint-utils
Version:
Sysdoc's core Sharepoint utilities
68 lines (67 loc) • 2.93 kB
JavaScript
;
/*!
* Copyright Sysdoc @ 2019
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isCheckedOut = exports.getNextMajorVersion = exports.getPreviousMajorVersion = exports.getWebUrlFromFileRef = exports.sendEmail = exports.createVersionLink = exports.getUserPictureLink = exports.getUserDelveLink = void 0;
var sp_commonjs_1 = require("@pnp/sp-commonjs");
function getUserDelveLink(email) {
return location.protocol + "//" + location.host.replace(/(.*)?\.sharepoint\.*com$/gi, "$1") + "-my.sharepoint.com/_layouts/15/me.aspx/?p=" + email + "&v=work";
}
exports.getUserDelveLink = getUserDelveLink;
function getUserPictureLink(email) {
return "https://outlook.office365.com/owa/service.svc/s/GetPersonaPhoto?email=" + email + "&UA=0&size=HR64x64";
}
exports.getUserPictureLink = getUserPictureLink;
function createVersionLink(versionNo) {
return location.protocol + "//" + location.host + location.pathname + "?PageVersion=" + versionNo;
}
exports.createVersionLink = createVersionLink;
function sendEmail(To, Subject, Body) {
return sp_commonjs_1.sp.utility.sendEmail({
To: To,
Subject: Subject,
Body: Body
});
}
exports.sendEmail = sendEmail;
function getWebUrlFromFileRef(fileRef) {
var refs = fileRef.replace(_spPageContextInfo.siteServerRelativeUrl, "").split("/");
return _spPageContextInfo.siteAbsoluteUrl + "/" + [refs[0], refs[1]].join("/");
}
exports.getWebUrlFromFileRef = getWebUrlFromFileRef;
function getPreviousMajorVersion(v) {
var version = Math.floor(v / 512) * 512;
if (version === 0) {
version = 511;
}
return version;
}
exports.getPreviousMajorVersion = getPreviousMajorVersion;
function getNextMajorVersion(version) {
return (Math.floor(version / 512) + 1) * 512;
}
exports.getNextMajorVersion = getNextMajorVersion;
function isCheckedOut(fileRelativeUrl) {
return new Promise(function (res, rej) {
var context = SP.ClientContext.get_current();
var web = context.get_web();
var file = web.getFileByServerRelativeUrl(fileRelativeUrl);
context.load(file);
context.executeQueryAsync(function () {
if (file.get_checkOutType() == SP.CheckOutType.online) {
fetch(_spPageContextInfo.siteAbsoluteUrl + "/_api/Web/GetFileByServerRelativeUrl('" + fileRelativeUrl + "')/checkedOutByUser/LoginName").then(function (response) {
return response.text();
}).then(function (j) {
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(j, "text/xml");
res(xmlDoc.getElementsByTagName('d:LoginName')[0].innerHTML);
});
}
else {
res(false);
}
});
});
}
exports.isCheckedOut = isCheckedOut;