UNPKG

uc-base-libraries

Version:
108 lines (104 loc) 4.33 kB
System.register(["./DateTime"], function (exports_1, context_1) { "use strict"; var DateTime, SiteInfo, siteInfo; var __moduleName = context_1 && context_1.id; function fixDoubleSlash(path) { path = path.replaceAll('//', '/'); path = path.replaceAll(':/', '://'); return path; } function virtualUrl() { return siteInfo.virtualUrl; } exports_1("virtualUrl", virtualUrl); function applicationUrl() { return siteInfo.applicationUrl; } exports_1("applicationUrl", applicationUrl); function isCleanHtml() { return siteInfo.isCleanHtml; } exports_1("isCleanHtml", isCleanHtml); function refreshPage() { redirect(getFullURL(window.location.pathname + window.location.search)); } exports_1("refreshPage", refreshPage); function getParameterByName(name) { return siteInfo.getParameterByName(name); } exports_1("getParameterByName", getParameterByName); function getVirtualURL(url) { return fixDoubleSlash(applicationUrl() + virtualUrl() + url); } exports_1("getVirtualURL", getVirtualURL); function getFullURL(url) { let cntPiece = 'Cnt=' + DateTime.getTimeCount(); if (url.indexOf('?') !== -1) { cntPiece = '&' + cntPiece; } else { cntPiece = '?' + cntPiece; } return fixDoubleSlash(applicationUrl() + url + cntPiece); } exports_1("getFullURL", getFullURL); function redirect(url) { window.location.href = url; } exports_1("redirect", redirect); return { setters: [ function (DateTime_1) { DateTime = DateTime_1; } ], execute: function () { SiteInfo = class SiteInfo { constructor() { this.sitepath = '/'; this.virtualUrl = ''; this.applicationUrl = ''; this.isCleanHtml = false; /* private getSitePath():string { const myAwesomeScript = document.createElement('script'); myAwesomeScript.setAttribute('src', './TestSrc.js'); document.head.appendChild(myAwesomeScript); const scripts = document.getElementsByTagName('script'); const lastScript = scripts[scripts.length - 1]; const scriptName = lastScript?.src ?? ''; const subDirs = new Queryable<string>(['/LIB/UC-BASE-LIBARIES/', '/JS/', '/BUNDLES/']); const indexs = subDirs .select((d) => { return scriptName.toUpperCase().indexOf(d); }) .where((i) => i > 0); if (indexs.any()) { const minIdx = indexs.min(); return scriptName.substring(0, minIdx) + '/'; } return '/'; } */ this.getParameterByName = (name) => { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); const regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); const results = regex.exec(location.search); return results == null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); }; if (document) { // this.sitepath = this.getSitePath(); const base = window.location.protocol + '//' + window.location.host + '/'; this.virtualUrl = this.sitepath.replace(base, ''); this.applicationUrl = base; const t = window.location.pathname + window.location.search; this.isCleanHtml = t.indexOf('Format=CleanHTML') > -1; } } }; exports_1("SiteInfo", SiteInfo); exports_1("siteInfo", siteInfo = new SiteInfo()); } }; }); //# sourceMappingURL=SiteInfo.js.map