UI Macro and Widget for service catalog: load external url using both UI macro and widget

(much neater ways of doing this with generic UI macro/widget but this was pulled together at very short notice)
UI MESSAGE:
store the url, remember to prefix with https:// !!
ritm.hardwarereq.url

UI MACRO:

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<a href='' onclick='ext_loadURL()'>Click here</a>

<script>
function ext_loadURL(){
var ext_url=getMessage('ritm.hardwarereq.url');
 
window.open(ext_url, "_blank");
//or in popup: window.open(ext_url, "s", "resizable=yes, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, copyhistory=no").blur();
      
}
</script>
</j:jelly>

SERVICE PORTAL WIDGET:

HTML:
<div>
<!-- your widget template -->
  <a href='' ng-click='load_ext_url()'>Click here</a>
  
</div>

Client Script:
function($scope, i18n, $window) {
  /* widget controller */
  var c = this;


$scope.load_ext_url = function() {
   //console.log("message", 'run the op');
  //var ext_url=i18n.getMessage('ritm.hardwarereq.url');
  // alert('URL: ' + r.data.exturl);
   
c.server.get().then(function(r){
             
            var ext_url=r.data.exturl;
alert(ext_url);
            window.open(ext_url);   
        });              
  };
}
Server Script:
(function() {
  /* populate the 'data' object */
  /* e.g., data.table = $sp.getValue('table'); */
  data.exturl=gs.getMessage('ritm.hardwarereq.url');
//gs.addInfoMessage(data.exturl)
})();

SERVICE CATALOG VARIABLE:

Comments

Popular posts from this blog

Running transform maps asynchronously

Post a command to the ECC queue for the mid server to initiate a powershell file copy

GlideRecord setValue