6 if ( typeof define ===
"function" && define.amd ) {
7 define( [
'jquery',
'jquery-ui',
'JSRootCore' ], factory );
10 if (typeof jQuery ==
'undefined')
11 throw new Error(
'jQuery not defined',
'JSRoot.openui5.js');
13 if (typeof jQuery.ui ==
'undefined')
14 throw new Error(
'jQuery-ui not defined',
'JSRoot.openui5.js');
16 if (typeof JSROOT ==
'undefined')
17 throw new Error(
'JSROOT is not defined',
'JSRoot.openui5.js');
19 factory(jQuery, jQuery.ui, JSROOT);
21 } (
function($, myui, JSROOT) {
25 JSROOT.sources.push(
"openui5");
27 var load_callback = JSROOT.complete_script_load;
28 delete JSROOT.complete_script_load;
30 JSROOT.completeUI5Loading =
function() {
32 var rootui5sys = undefined;
33 if (JSROOT.source_dir.indexOf(
"jsrootsys") >= 0)
34 rootui5sys = JSROOT.source_dir.replace(/jsrootsys/g,
"rootui5sys");
36 sap.ui.loader.config({
38 jsroot: JSROOT.source_dir,
43 JSROOT.CallBack(load_callback);
47 function TryOpenOpenUI(sources) {
50 var src = sources.shift();
52 if ((src.indexOf(
"roothandler")==0) && (src.indexOf(
"://")<0)) src = src.replace(/\:\
54 var element = document.createElement(
"script");
55 element.setAttribute(
'type',
"text/javascript");
56 element.setAttribute(
'id',
"sap-ui-bootstrap");
60 element.setAttribute(
'src', src +
"resources/sap-ui-core-nojQuery.js");
62 element.setAttribute(
'data-sap-ui-libs', JSROOT.openui5libs ||
"sap.m, sap.ui.layout, sap.ui.unified, sap.ui.commons");
64 element.setAttribute(
'data-sap-ui-theme',
'sap_belize');
65 element.setAttribute(
'data-sap-ui-compatVersion',
'edge');
68 element.setAttribute(
'data-sap-ui-preload',
'async');
70 element.setAttribute(
'data-sap-ui-evt-oninit',
"JSROOT.completeUI5Loading()");
72 element.onerror =
function() {
74 element.parentNode.removeChild(element);
76 TryOpenOpenUI(sources);
79 element.onload =
function() {
80 console.log(
'Load openui5 from ' + src);
83 document.getElementsByTagName(
"head")[0].appendChild(element);
86 var openui5_sources = [],
87 openui5_dflt =
"https://openui5.hana.ondemand.com/1.70.0/",
88 openui5_root = JSROOT.source_dir.replace(/jsrootsys/g,
"rootui5sys/distribution");
90 if (openui5_root == JSROOT.source_dir) openui5_root =
"";
92 if (typeof JSROOT.openui5src ==
'string') {
93 switch (JSROOT.openui5src) {
94 case "nodefault": openui5_dflt =
"";
break;
95 case "default": openui5_sources.push(openui5_dflt); openui5_dflt =
"";
break;
96 case "nojsroot": openui5_root =
"";
break;
97 case "jsroot": openui5_sources.push(openui5_root); openui5_root =
"";
break;
98 default: openui5_sources.push(JSROOT.openui5src);
break;
102 if (openui5_root && (openui5_sources.indexOf(openui5_root)<0)) openui5_sources.push(openui5_root);
103 if (openui5_dflt && (openui5_sources.indexOf(openui5_dflt)<0)) openui5_sources.push(openui5_dflt);
105 TryOpenOpenUI(openui5_sources);