<script type="text/javascript" src="../cr1/drill.js"></script>
<script type="text/javascript" src="../rv/CDrillThroughTarget.js"></script>
<script type="text/javascript">
<script language="javascript" type="text/javascript">
//<![CDATA[
function CDrillThroughTarget(label, outputFormat, outputLocale, showInNewWindow, method, path, bookmarkRef, parameters, objectPaths, sPrompt, sendFilterContext, parameterProperties)
{
this.m_label = label;
this.m_outputFormat = outputFormat;
this.m_outputLocale = outputLocale;
this.m_showInNewWindow = showInNewWindow;
this.m_method = method;
this.m_path = path;
this.m_bookmarkRef = bookmarkRef;
this.m_parameters = parameters;
this.m_objectPaths = objectPaths;
this.m_prompt = "false";
this.m_sendFilterContext = sendFilterContext;
this.m_parameterProperties = parameterProperties;
if (typeof sPrompt != 'undefined' && sPrompt != null)
{
if (sPrompt == 'yes')
{
this.m_prompt = "true";
}
else if (sPrompt == 'target')
{
this.m_prompt = '';
}
}
}
function doSingleDrillThrough(drillThroughContext, bookmarkRef, cvId, bookmarkPage)
{
// handle a single drill
var drillTargetRefIdx = drillThroughContext[0][0];
if(typeof drillTargetRefIdx == "undefined" || drillTargetRefIdx == null)
return;
var drillTargetRef = drillTargets[drillTargetRefIdx];
if(typeof drillTargetRef == "undefined")
return;
// check for the case of a local bookmark
if(bookmarkRef != '' && drillTargetRef.m_path == '') {
docLocation( bookmarkRef, bookmarkPage );
} else {
var args = new Array;
args[args.length] = new Array("ui.object", drillTargetRef.m_path);
for(var drillParmIdx = 1; drillParmIdx < drillThroughContext.length; ++drillParmIdx) {
args[args.length] = drillThroughContext[drillParmIdx];
}
var drillForm = document.getElementById("multiDrillForm");
if(drillForm == null)
return;
drillForm["ui.action"].value = drillTargetRef.m_method;
drillForm["run.outputFormat"].value = drillTargetRef.m_outputFormat;
drillForm["run.outputLocale"].value = drillTargetRef.m_outputLocale;
drillForm["run.prompt"].value = drillTargetRef.m_prompt;
drillForm["ui.bookmark"].value = bookmarkRef;
if (drillTargetRef.m_method == "view") {
drillForm["ui.object"].value = "defaultOutput(" + args[0][1] + ",\"" + drillTargetRef.m_outputFormat + "\",\"\")";
}
else {
drillForm["ui.object"].value = args[0][1];
var formFields = new Array;
for (var i = 1; i < args.length; i++) {
formField = document.createElement("input");
formField.setAttribute("type", "hidden");
formField.setAttribute("name", args[i][0]);
formField.setAttribute("value", args[i][1]);
formFields[formFields.length] = formField;
drillForm.appendChild(formField);
}
drillForm["sourceContext"].value = drillTargetRef.m_parameters;
drillForm["objectPaths"].value = drillTargetRef.m_objectPaths;
}
if (drillTargetRef.m_showInNewWindow == "true") {
drillForm.setAttribute("target","_blank");
}
drillForm.submit();
for (var i = 0; i < formFields.length; i++) {
drillForm.removeChild(formFields[i]);
}
}
}
function doMultipleDrillThrough(drillThroughContext, cvId)
{
// handle multiple drills
var drillThroughTargetStr = '<rvDrillTargets>';
for(var drillTargetIdx = 0; drillTargetIdx < drillThroughContext.length; ++drillTargetIdx) {
var currentDrillThroughContext = drillThroughContext[drillTargetIdx];
if(currentDrillThroughContext.length < 3) {
// there must be three or more parameters (drill idx, drill label and the drill parameters)
continue;
}
var drillTargetRefIdx = currentDrillThroughContext[0];
if(typeof drillTargetRefIdx == "undefined" || drillTargetRefIdx == null)
continue;
var drillTargetLabel = currentDrillThroughContext[1];
if(typeof drillTargetLabel == "undefined" || drillTargetLabel == null)
continue;
var drillTargetRef = drillTargets[drillTargetRefIdx];
if(typeof drillTargetRef == "undefined" || drillTargetRef == null)
continue;
drillThroughTargetStr += '<drillTarget ';
drillThroughTargetStr += 'outputFormat="'; drillThroughTargetStr += drillTargetRef.m_outputFormat; drillThroughTargetStr += '" ';
drillThroughTargetStr += 'outputLocale="'; drillThroughTargetStr += drillTargetRef.m_outputLocale; drillThroughTargetStr += '" ';
drillThroughTargetStr += 'prompt="'; drillThroughTargetStr += drillTargetRef.m_prompt; drillThroughTargetStr += '" ';
drillThroughTargetStr += 'label="'; drillThroughTargetStr += drillTargetLabel; drillThroughTargetStr += '" ';
drillThroughTargetStr += 'path="'; drillThroughTargetStr += drillTargetRef.m_path; drillThroughTargetStr += '" ';
drillThroughTargetStr += 'showInNewWindow="'; drillThroughTargetStr += drillTargetRef.m_showInNewWindow; drillThroughTargetStr += '" ';
drillThroughTargetStr += 'method="'; drillThroughTargetStr += drillTargetRef.m_method; drillThroughTargetStr += '">';
for(var drillParmIdx = 2; drillParmIdx < currentDrillThroughContext.length; ++drillParmIdx) {
drillThroughTargetStr += currentDrillThroughContext[drillParmIdx];
}
drillThroughTargetStr += drillTargetRef.m_parameters;
drillThroughTargetStr += drillTargetRef.m_objectPaths;
drillThroughTargetStr += '</drillTarget>';
}
drillThroughTargetStr += '</rvDrillTargets>';
var multiDrillForm = document.getElementById("multiDrillForm");
if(multiDrillForm == null)
return;
multiDrillForm.drillTargets.value = drillThroughTargetStr;
var formField = document.createElement("input");
formField.setAttribute("type", "hidden");
formField.setAttribute("name", "invokeGotoPage");
formField.setAttribute("value", "true");
multiDrillForm.appendChild(formField);
multiDrillForm.submit();
multiDrillForm.removeChild(formField);
}
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var drillThroughTarget;
var drillTargets = new Array;
HTML
HTML
drillThroughTarget = new CDrillThroughTarget('', '', '', '', '', '', '', '', '', '', '', '');
drillTargets.push(drillThroughTarget);
//]]>
</script>
<form name="multiDrillForm" id="multiDrillForm" method="post" action="" style="margin:0px">
<input type="hidden" name="b_action" value="xts.run"/>
<input type="hidden" name="m" value="portal/drillthrough.xts"/>
<input type="hidden" name="ui.action" value=""/>
<input type="hidden" name="ui.object" value=""/>
<input type="hidden" name="run.outputFormat" value=""/>
<input type="hidden" name="run.outputLocale" value=""/>
<input type="hidden" name="ui.bookmark" value=""/>
<input type="hidden" name="run.prompt" value="false"/>
<input type="hidden" name="nh" value="1"/>
<input type="hidden" name="tb" value="0"/>
<input type="hidden" name="drillTargets" value=""/>
<input type="hidden" name="errURL" value="javascript:window.close()"/>
<input type="hidden" name="backURL" value="javascript:window.close()"/>
<input type="hidden" name="dfemail" value="1"/>
<input type="hidden" name="sourceContext" value=""/>
<input type="hidden" name="objectPaths" value=""/>
</form>
cursor:pointer;cursor:hand;
;
cursor:pointer;cursor:hand;
cursor:pointer;cursor:hand;
link
'
'
, '
'
if (event.keyCode==13) {docLocation();}
docLocation()
#
doSingleDrillThrough( new Array(
new Array("")
),'
','_THIS_'
, '
'
);
doMultipleDrillThrough( new Array(
new Array("","","")
,
),'_THIS_');
doSingleDrillThrough( new Array(
new Array("")
),'
','_THIS_'
,'
'
);
doMultipleDrillThrough( new Array(
new Array("","","")
,
),'_THIS_');
<selectChoices>
<selectOption
useValue="
"
mun="
"
propertyToPass="
"
displayValue="
"/>
</selectChoices>
, new Array("p_","")
<selectChoices>
</selectChoices>
, new Array("p_","")
<
propertyToPass=\"
\"
/>
<
>
<\/
>
=\"
\"