To add an image to your RAMP command handler, put this example generic code into your SHARED object:
var SHARED = { /* ------------------------------------------------- */ /* Handle clicking on a prompt image */ /* ------------------------------------------------- */ oFloatingImage : null, InsertImage : function(sBesideField,sSource,iHeight,iWidth,iHOffset,iVOffset) { var oE = HTMLAPI.getElementbyName(sBesideField);
if (oE == null) return; var oC = HTMLAPI.getcontainerDIV(oE);
if (oC == null) return;
if (this.oFloatingImage == null) { this.oFloatingImage = oC.ownerDocument.createElement("<IMG style='position:absolute; visibility:hidden; display:none;' >"); oC.ownerDocument.body.insertAdjacentElement("beforeEnd",this.oFloatingImage); }
this.oFloatingImage.src = sSource; this.oFloatingImage.style.pixelTop = oC.style.pixelTop + iVOffset; this.oFloatingImage.style.pixelLeft = oC.style.pixelLeft + oC.style.pixelWidth + iHOffset; this.oFloatingImage.style.pixelHeight = iHeight; this.oFloatingImage.style.pixelWidth = iWidth; this.oFloatingImage.style.visibility = "visible"; this.oFloatingImage.style.display = "inline";
return; },
And add a new line to your standard layout function to make sure the image dispappears as new screens arrive:
ApplyStandardLayout : function(aPromptFields){ /* Drop any floating images left around from before */ if (this.oFloatingImage != null) { this.oFloatingImage.style.visibility = "hidden"; this.oFloatingImage.style.display = "none"; }
You have now added you own completey generic InsertImage capability to any RAMP-TS 5250 screen.Try it out by adding this line to the arrival script of a screen:
SHARED.InsertImage("SURNAME","/ts/skins/images/TestImage1.gif",123,100,90,0);
And you get this:
The SHARED.InsertImage() can now be reused anywhere in your application. Do not forget to set authority correctly on an new files in aXes folder.
Remember that adding a new command handler tab for the image would be a quicker and easier solution.
