Application Delivery Management
Application Modernization & Connectivity
CyberRes
IT Operations Management
The request form size in User Application on IDM 3.7 is limited by a statically sized frame in the center of the UserApp screen.
Example:
While the frame size of approximately 900px by 800px may be sufficient for many request forms, it may be too small for more complex forms.
Since the frame size is statically declared in IDM.WAR, you cannot change it's height/width.
Modifying the calling pages in the WAR file would not be a proper option, since this would void your support through Novell Technical Services.
You may, however, use the dynamic HTML features to get a handle to the request frame and modify its size dynamically without changing the WAR file.
Such dynamic access to the frame would involve two main steps:
The advantage of this dynamic approach is, that you can resize the request frame dependent on the complexity of your form or dependent on user actions.
Attached to this Cool Solution, you will find an IDM Designer export (iframeResize.zip) for a form that allows you to interactively move and resize the request frame.
To test this sample, import the sample file into your IDM Designer, and deploy it to your test environment.
You will find all necessary scripts in an inline form script, and in the onload/onchange events of the relevant fields.
To implement the resize/move functionality without deploying the sample form, you'd need to add some ECMAScript helper functions to your project:
/** get a handle to the iframe node
*
**/
function getIframe()
{
try
{
// locate the last iframe
var iframes = top.window.document.getElementsByTagName( "iframe" );
if ( iframes.length > 0 ) return( iframes[ iframes.length-1 ]);
}
catch (e)
{
alert ( e );
}
return( undefined );
}
/** get a handle to the iframe's parent node
*
**/
function getIframeParent( )
{
try
{
var iframe = getIframe();
return( iframe.parentNode.parentNode );
}
catch (e)
{
alert ( e );
}
return( undefined );
}
/** resize iframe with given parameters
*
**/
function setFrameSize( width, height )
{
try
{
if (( width == undefined ) && ( height == undefined )) return;
var iframe = getIframe();
var iframeParent = getIframeParent( );
if ( iframe == undefined ) return;
if ( iframeParent == undefined ) return;
if ( iframeParent.style == undefined ) return;
if ( width != undefined )
{
iframeParent.style["width"] = width;
iframe.style["width"] = "100%";
}
if ( height != undefined )
{
iframeParent.style["height"] = height;
iframe.style["height"] = "100%";
}
}
catch (e)
{
alert ( e );
}
}
/** move iframe to selected window position
*
**/
function setFramePos( left, top )
{
try
{
if (( left == undefined ) && ( top == undefined )) return;
var iframeParent = getIframeParent();
if ( iframeParent == undefined ) return;
if ( left != undefined ) iframeParent.style["left"] = left;
if ( top != undefined ) iframeParent.style["top"] = top;
iframeParent.style["align"] = "none";
// alert( "setFrameSize: left=" left " / top=" top );
}
catch (e)
{
alert ( e );
}
}
/** maximize the iframe - you may want to fine-tune the percentage values
*
**/
function frameMaximize()
{
setFrameSize( "95%", "95%" );
var iframeParent = getIframeParent( );
iframeParent.style["align"] = "center";
}
The attached sample shows you how to interactively resize and move the request form.
Example: Reduced Width
Example: Moved Position (a)
Example: Moved Position (b)
Example: Maximized
Chris Seamons
Micro Focus Community Management
If you find this post useful, give it a 'Like' or use 'Verify Answer'.