1 var ARGUMENT1 = (function(window, undefined) {
3 var ARGUMENT1 = ARGUMENT1 || {};
4 function extractHostPortApp(src) {
6 ARGUMENT1.microserviceId = MICROSERVICE_ID;
7 ARGUMENT1.pathArray = src.split( '/' );
9 ARGUMENT1.widgetName = WIDGET_ID;
10 ARGUMENT1.serviceSeperator = ARGUMENT1.pathArray[ARGUMENT1.pathArray.length - 4];
11 ARGUMENT1.commonUrl = src.substring(0, src.lastIndexOf("/" + ARGUMENT1.pathArray[ARGUMENT1.pathArray.length - 2]));
13 ARGUMENT1.recipientDivDataAttrib = 'data-' + ARGUMENT1.widgetName;
14 ARGUMENT1.controllerName = 'ARGUMENT2';
15 ARGUMENT1.readyCssFlag = 'ARGUMENT3';
16 ARGUMENT1.readyCssFlagExpectedValue = '#bada55';
17 ARGUMENT1.serviceURL = src.substring(0, src.lastIndexOf("/" + ARGUMENT1.serviceSeperator)) + '/portalApi/microservice/proxy/parameter/' + WIDGET_ID;
20 extractHostPortApp(document.getElementsByTagName('script')[0].src);
22 function loadStylesheet(url) {
23 var link = document.createElement('link');
24 link.rel = 'stylesheet';
25 link.type = 'text/css';
27 var entry = document.getElementsByTagName('script')[0];
28 entry.parentNode.insertBefore(link, entry);
31 function isCssReady(callback) {
32 var testElem = document.createElement('span');
33 testElem.id = ARGUMENT1.readyCssFlag;
34 testElem.style = 'CSS_ARG1';
35 var entry = document.getElementsByTagName('script')[0];
36 entry.parentNode.insertBefore(testElem, entry);
39 var node = document.getElementById('css-ready');
41 if (window.getComputedStyle) {
42 value = document.defaultView.getComputedStyle(testElem, null)
43 .getPropertyValue('color');
45 else if (node.currentStyle) {
46 value = node.currentStyle.color;
48 if (value && (value === 'rgb(186, 218, 85)' || value.toLowerCase() === ARGUMENT1.readyCssFlagExpectedValue)) {
51 setTimeout(poll, 500);
56 function injectCss(css) {
57 var style = document.createElement('style');
58 style.type = 'text/css';
59 css = css.replace(/\}/g, "}\n");
61 if (style.styleSheet) {
62 style.styleSheet.cssText = css;
64 style.appendChild(document.createTextNode(css));
66 var entry = document.getElementsByTagName('script')[0];
67 entry.parentNode.insertBefore(style, entry);
70 function loadScript(url, callback) {
71 var script = document.createElement('script');
74 var entry = document.getElementsByTagName('script')[0];
75 entry.parentNode.insertBefore(script, entry);
77 script.onload = script.onreadystatechange = function() {
78 var rdyState = script.readyState;
79 if (!rdyState || /complete|loaded/.test(script.readyState)) {
82 script.onreadystatechange = null;
87 function loadSupportingFiles(callback) {
91 function getWidgetParams() {
95 function getWidgetData(widgetUrl, callback) {
102 withCredentials: true
105 success: function (result) {
106 if (result.isOk == false){
120 function getMarkupContent(markupLocation, callback){
127 withCredentials: true
130 success: function (result) {
131 if (result.isOk == false){
144 function renderWidget(data, location, $controllerProvider) {
145 var div = document.createElement('div');
146 getMarkupContent(ARGUMENT1.commonUrl + "/markup/" + ARGUMENT1.widgetName, function(div){
147 location.append(div);
148 ARGUMENT1.widgetData = data;
149 app.controllerProvider.register(ARGUMENT1.controllerName, ARGUMENT1.controller);
150 var mController = angular.element(document.getElementById("widgets"));
151 mController.scope().activateThis(location);
156 function printAllArtifacts(moduleName, controllerName) {
157 var queue = angular.module(moduleName)._invokeQueue;
158 for(var i=0;i<queue.length;i++) {
160 console.log(i + '. ' + call[0] + ' - ' + call[1] + ' - ' + call[2][0]);
165 if(name=(new RegExp('[?&]'+encodeURIComponent(name)+'=([^&]*)')).exec(location.search))
166 return decodeURIComponent(name[1]);
169 loadSupportingFiles(function() {
170 loadStylesheet(ARGUMENT1.commonUrl + '/' + ARGUMENT1.widgetName + '/style.css');
171 loadScript(ARGUMENT1.commonUrl + '/' + ARGUMENT1.widgetName + '/controller.js',
173 $('['+ ARGUMENT1.recipientDivDataAttrib + ']').each(function() {
174 var location = jQuery(this);
175 location.removeAttr(ARGUMENT1.recipientDivDataAttrib);
176 var id = location.attr(ARGUMENT1.recipientDivDataAttrib);
177 getWidgetData(ARGUMENT1.serviceURL, function(data) {
178 isCssReady(function(){
179 renderWidget(data, location);