UNPKG

@sysdoc/sharepoint-utils

Version:

Sysdoc's core Sharepoint utilities

68 lines (67 loc) 2.93 kB
"use strict"; /*! * 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;