UNPKG

@openui5/sap.ui.core

Version:

OpenUI5 Core Library sap.ui.core

76 lines (63 loc) 1.68 kB
/*! * OpenUI5 * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ /* * IMPORTANT: This is a private module, its API must not be used and is subject to change. * Code other than the Core tests must not yet introduce dependencies to this module. */ /*global document, sap */ (function() { "use strict"; //extract base URL from script tag var oScriptTag, mMatch, sBaseUrl; oScriptTag = document.getElementById("sap-ui-bootstrap"); if (oScriptTag) { mMatch = /^(?:.*\/)?resources\//.exec(oScriptTag.getAttribute("src")); if (mMatch) { sBaseUrl = mMatch[0]; } } if (sBaseUrl == null) { throw new Error("sap-ui-boot.js: could not identify script tag!"); } function loadScripts(urls, callback) { var pending = urls.length, errors = 0; if (pending === 0) { callback(); return; } function listener(e) { pending--; if ( e.type === 'error' ) { errors++; } e.target.removeEventListener("load", listener); e.target.removeEventListener("error", listener); if ( pending === 0 && errors === 0 && callback ) { callback(); } } for ( var i = 0; i < urls.length; i++ ) { var script = document.createElement("script"); script.addEventListener("load", listener); script.addEventListener("error", listener); script.src = sBaseUrl + urls[i]; document.head.appendChild(script); } } // cascade 1: the loader loadScripts([ "ui5loader.js" ], function() { // cascade 2: the loader configuration script sap.ui.loader.config({ async:true }); loadScripts([ "ui5loader-autoconfig.js" ]); }); }());