You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

931 lines
30 KiB

/* Copyright (c) Business Objects 2006. All rights reserved. */
if (typeof bobj.crv.PrintUI == 'undefined') {
bobj.crv.PrintUI = {};
}
if (typeof bobj.crv.ExportUI == 'undefined') {
bobj.crv.ExportUI = {};
}
if (typeof bobj.crv.ErrorDialog == 'undefined') {
bobj.crv.ErrorDialog = {};
}
if (typeof bobj.crv.ReportProcessingUI == 'undefined') {
bobj.crv.ReportProcessingUI = {};
}
/*
================================================================================
PrintUI
================================================================================
*/
bobj.crv.newPrintUI = function(kwArgs) {
if (!kwArgs.id) {
kwArgs = MochiKit.Base.update({id: bobj.uniqueId()}, kwArgs);
}
var lbl = kwArgs.submitBtnLabel;
if (!lbl) {
lbl = L_bobj_crv_submitBtnLbl;
}
var infoTitle = kwArgs.infoTitle;
if (!infoTitle) {
infoTitle = L_bobj_crv_PrintInfoTitle;
}
var dialogTitle = kwArgs.dialogTitle;
if (!dialogTitle) {
if (kwArgs.isActxPrinting) {
dialogTitle = L_bobj_crv_ActiveXPrintDialogTitle;
}
else {
dialogTitle = L_bobj_crv_PDFPrintDialogTitle;
}
}
var infoMsg = kwArgs.infoMsg;
if (!infoMsg) {
infoMsg = L_bobj_crv_PrintInfo1;
infoMsg += '\n';
infoMsg += L_bobj_crv_PrintInfo2;
}
var o = newDialogBoxWidget(kwArgs.id + '_dialog',
dialogTitle,
300,
100,
null,
bobj.crv.PrintUI._cancel,
false);
o.infoMsg = infoMsg;
o.infoTitle = infoTitle;
o.actxId = o.id + '_actx';
o.actxContainerId = o.id + '_actxdiv';
o._processingPrinting = false;
o._initOld = o.init;
o._showOld = o.show;
if (!kwArgs.isActxPrinting) {
o._fromBox = newIntFieldWidget(o.id + "_fromBox",
null,
null,
null,
null,
true,
'',
50);
o._fromBox.setDisabled = bobj.crv.PrintUI.disabledTextFieldWidget;
o._toBox = newIntFieldWidget(o.id + "_toBox",
null,
null,
null,
null,
true,
'',
50);
o._toBox.setDisabled = bobj.crv.PrintUI.disabledTextFieldWidget;
o._submitBtn = newButtonWidget(o.id + "_submitBtn",
lbl,
MochiKit.Base.bind(bobj.crv.PrintUI._submitBtnCB, o));
o._submitBtn.setDelayCallback(false);
o._allRadio = newRadioWidget(o.id + "_allRadio",
o.id + "_grp",
L_bobj_crv_PrintAllLbl,
MochiKit.Base.bind(bobj.crv.PrintUI.disabledPageRange ,o, true));
o._allRadio.layerClass= "dlgContent";
o._rangeRadio = newRadioWidget(o.id + "_rangeRadio",
o.id + "_grp",
L_bobj_crv_PrintPagesLbl,
MochiKit.Base.bind(bobj.crv.PrintUI.disabledPageRange ,o, false));
o._rangeRadio.layerClass= "dlgContent";
}
o.widgetType = 'PrintUI';
// Update instance with constructor arguments
bobj.fillIn(o, kwArgs);
// Update instance with member functions
MochiKit.Base.update(o, bobj.crv.PrintUI);
return o;
};
bobj.crv.PrintUI.disabledTextFieldWidget = function(disabled)
{
TextFieldWidget_setDisabled.call(this,disabled);
if(disabled)
{
MochiKit.DOM.addElementClass(this.layer, "textDisabled");
}
else {
MochiKit.DOM.removeElementClass(this.layer, "textDisabled");
}
}
bobj.crv.PrintUI.disabledPageRange = function(bool)
{
if(this._fromBox && this._toBox)
{
this._fromBox.setDisabled(bool);
this._toBox.setDisabled(bool);
}
}
bobj.crv.PrintUI._submitBtnCB = function() {
var start = null;
var end = null;
if (this._rangeRadio.isChecked()) {
start = parseInt(this._fromBox.getValue(), 10);
end = parseInt(this._toBox.getValue(), 10);
if (!start || !end || (start < 0) || (start > end)) {
alert(L_bobj_crv_PrintPageRangeError);
return;
}
}
if (this.widgetType == 'PrintUI') {
MochiKit.Signal.signal(this, 'printSubmitted', start, end);
}
else {
MochiKit.Signal.signal(this, 'exportSubmitted', start, end, this._comboBox.getSelection().value);
}
this.show(false);
};
bobj.crv.PrintUI._getRPSafeURL = function(url) {
if (!url) {
return;
}
if (url.indexOf('/') === 0) {
return url;
}
var winLoc = window.location.href;
var qPos = winLoc.lastIndexOf('?');
if (qPos > 0) {
winLoc = winLoc.substring(0, qPos)
}
var lPos = winLoc.lastIndexOf('/');
if (lPos < 0) {
return url;
}
winLoc = winLoc.substring(0, lPos);
return winLoc + '/' + url;
};
bobj.crv.PrintUI._getObjectTag = function(postData) {
var oa = [];
oa.push('<OBJECT width="0" height="0" ID="');
oa.push(this.actxId);
oa.push('" CLASSID="CLSID:');
oa.push(bobj.crv.ActxPrintControl_CLSID);
oa.push('" CODEBASE="');
oa.push(this._getRPSafeURL(this.codeBase));
oa.push('#Version=');
oa.push(bobj.crv.ActxPrintControl_Version);
oa.push('" VIEWASTEXT>');
oa.push('<PARAM NAME="PostBackData" VALUE="');
oa.push(postData);
oa.push('">');
oa.push('<PARAM NAME="ServerResourceVersion" VALUE="');
oa.push(bobj.crv.ActxPrintControl_Version);
oa.push('">');
if (this.lcid) {
oa.push('<PARAM NAME="LocaleID" VALUE="');
oa.push(this.lcid);
oa.push('">');
}
if (this.url) {
oa.push('<PARAM NAME="URL" VALUE="');
oa.push(this._getRPSafeURL(this.url));
oa.push('">');
}
if (this.title) {
oa.push('<PARAM NAME="Title" VALUE="');
oa.push(this.title);
oa.push('">');
}
if (this.maxPage) {
oa.push('<PARAM NAME="MaxPageNumber" VALUE="');
oa.push(this.maxPage);
oa.push('">');
}
if (this.paperOrientation) {
oa.push('<PARAM NAME="PageOrientation" VALUE="');
oa.push(this.paperOrientation);
oa.push('">');
}
if (this.paperSize) {
oa.push('<PARAM NAME="PaperSize" VALUE="');
oa.push(this.paperSize);
oa.push('">');
}
if (this.paperWidth) {
oa.push('<PARAM NAME="PaperWidth" VALUE="');
oa.push(this.paperWidth);
oa.push('">');
}
if (this.paperLength) {
oa.push('<PARAM NAME="PaperLength" VALUE="');
oa.push(this.paperLength);
oa.push('">');
}
if (this.driverName) {
oa.push('<PARAM NAME="PrinterDriverName" VALUE="');
oa.push(this.driverName);
oa.push('">');
}
if (this.useDefPrinter) {
oa.push('<PARAM NAME="UseDefaultPrinter" VALUE="');
oa.push(this.useDefPrinter);
oa.push('">');
}
if (this.useDefPrinterSettings) {
oa.push('<PARAM NAME="UseDefaultPrinterSettings" VALUE="');
oa.push(this.useDefPrinterSettings);
oa.push('">');
}
if (this.sendPostDataOnce) {
oa.push('<PARAM NAME="SendPostDataOnce" VALUE="');
oa.push(this.sendPostDataOnce);
oa.push('">');
}
oa.push('</OBJECT>');
// Add waiting UI while the control is loading
oa.push('<table id="')
oa.push(this.actxId);
oa.push('_wait" border="0" cellspacing="0" cellpadding="0" width="100%" ><tbody>');
oa.push('<tr><td align="center" valign="top">');
// Frame Zone
var o = this;
var zoneW=o.getContainerWidth()-10;
var zoneH=o.getContainerHeight()-(2*o.pad+21+10);
oa.push('<table style="');
oa.push(sty("width",zoneW));
oa.push(sty("height",zoneH));
oa.push('" id="frame_table_');
oa.push(o.id);
oa.push('" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" class="dlgFrame" style="padding:5px" id="frame_cont_');
oa.push(o.id);
oa.push('">');
oa.push('<table border="0" cellspacing="0" cellpadding="0" width="100%"><tbody>');
oa.push('<tr><td align="center" style="padding-top:5px;">');
oa.push(img(_skin+'wait01.gif',200,40));
oa.push('</td></tr>');
oa.push('<tr><td align="left" style="padding-left:2px;padding-right:2px;padding-top:5px;">');
oa.push('<div class="icontext" style="wordWrap:break_word;">');
oa.push(convStr(L_bobj_crv_PrintControlProcessingMessage,false,true));
oa.push('</div></td></tr></tbody></table>');
oa.push('</td></tr></tbody></table>');
oa.push('</td></tr></tbody></table>');
return oa.join('');
};
bobj.crv.PrintUI._cancel = function () {
if (this.isActxPrinting) {
document.getElementById(this.actxContainerId).innerHTML = '';
this._processingPrinting = false;
}
};
bobj.crv.PrintUI._processPrinting = function(){
if (!this._processingPrinting){
var o = document.getElementById(this.actxId);
var w = document.getElementById(this.actxId + '_wait');
if (o && w){
o.width = "100%";
o.height = "100%";
w.style.display="none";
}
this._processingPrinting = true;
}
};
bobj.crv.PrintUI.show = function(visible, postBackData) {
this._processingPrinting = false;
if (visible) {
if (!this.layer) {
targetApp(this.getHTML());
this.init();
}
if (this.isActxPrinting) {
document.getElementById(this.actxContainerId).innerHTML = this._getObjectTag(postBackData);
}
this._showOld(true);
}
else if (this.layer) {
this._showOld(false);
}
};
bobj.crv.PrintUI.init = function() {
this._initOld();
if (!this.isActxPrinting) {
this._fromBox.init();
this._toBox.init();
this._submitBtn.init();
this._allRadio.init();
this._rangeRadio.init();
this._allRadio.check(true);
this._toBox.setDisabled(true);
this._fromBox.setDisabled(true);
if (this.widgetType == 'ExportUI') {
this._updateExportList();
}
}
};
bobj.crv.PrintUI.getHTML = function(){
var h = bobj.html;
var o = this;
var html = o.beginHTML();
if (!this.isActxPrinting) {
html += "<table cellspacing=0 cellpadding=0 border=0>" +
"<tr>" +
"<td>" +
"<div class='dlgFrame'>" +
"<table cellspacing=0 cellpadding=0 border=0 style='height:" + (this.height * 0.9) +"px;width:" + this.width + "px;'>" +
"<tr>" +
"<td valign='top' class='naviBarFrame naviFrame'>" +
(this.isExporting ? this._getExportList() : "") +
"<fieldset style='border:0px;padding:0px'>" +
"<legend style='position:relative;"+(_ie?"margin:0px -7px":"")+"'>" +
"<table datatable='0' style='width:100%;line-height:10px;'>" +
"<tr>" +
(_ie?"<td class='dialogTitleLevel2'><label>":"<td class='dialogTitleLevel2'><label>") +
L_bobj_crv_PrintRangeLbl + "</label></td>" +
"</tr>" +
"</table>" +
"</legend>" +
"<div style='margin:10px 25px;'>" +
o._allRadio.getHTML() +
o._rangeRadio.getHTML() +
"<div style='padding-left:25px'>" +
"<table class=dlgContent datatable='0'>" +
"<tr>" +
"<td align=right>" +
"<label for='" + o._fromBox.id + "'> " + L_bobj_crv_PrintFromLbl + "</label>" +
"</td>" +
"<td align=left> " +
o._fromBox.getHTML() +
"</td>" +
"</tr>" +
"<tr>" +
"<td align=right>" +
"<label for='" + o._toBox.id + "'> " + L_bobj_crv_PrintToLbl + "</label>" +
"</td>" +
"<td align=left>" +
o._toBox.getHTML() +
"</td>" +
"</tr>" +
"</table>" +
"</div>" +
"</div>" +
"</fieldset>" +
(!this.isExporting ?
"<table style='width:100%;line-height:10px;'>" +
"<tr>" +
"<td class='dialogTitleLevel2' tabIndex=0><label>" + this.infoTitle + "</label></td>" +
"</tr>" +
"</table>" +
"<div style='margin:10px 0px 10px 25px;' class='dlgHelpText'>" +
this.infoMsg +
"</div>"
: '') +
"</td>" +
"</tr>" +
"</table>" +
"</div>" +
"</td>" +
"</tr>" +
"<tr>" +
"<td align='right' valign='top'>" +
"<table style='margin:6px 9px 0px 0px' cellspacing=0 cellpadding=0 border=0><tbody><tr>" +
"<td>" +
this._submitBtn.getHTML() +
"</td></tbody></tr>" +
"</table>" +
"</td>" +
"</tr>" +
"</table>";
}
else {
html += "<div id='" + this.actxContainerId + "'></div>" +
'<script for="' + this.actxId + '" EVENT="Finished(status, statusText)" language="javascript">' +
'getWidgetFromID("' + this.id + '").show(false);' +
'</script>' +
'<script for="' + this.actxId + '" EVENT="PrintingProgress(pageNumber)" language="javascript">' +
'getWidgetFromID("' + this.id + '")._processPrinting();' +
'</script>' ;
}
html += o.endHTML();
html += bobj.crv.getInitHTML(this.widx);
return html;
};
/*
================================================================================
ExportUI
================================================================================
*/
bobj.crv.newExportUI = function(kwArgs) {
kwArgs = MochiKit.Base.update({ submitBtnLabel:L_bobj_crv_ExportBtnLbl,
dialogTitle:L_bobj_crv_ExportDialogTitle,
infoTitle:L_bobj_crv_ExportInfoTitle,
infoMsg:L_bobj_crv_PrintInfo1,
isExporting:true}, kwArgs);
var o = bobj.crv.newPrintUI(kwArgs);
o._comboBox = newCustomCombo(
o.id + "_combo",
MochiKit.Base.bind(bobj.crv.ExportUI._onSelectFormat, o),
false,
270,
L_bobj_crv_ExportFormatLbl,
_skin + "../transp.gif", // Screen reader can't read its text without transp.gif
0,
14);
//Adjustment to combo box after adding transp.gif as icon
if(o._comboBox) {
o._comboBox.icon.border=0;
o._comboBox.icon.h=14;
o._comboBox.arrow.h=12;
o._comboBox.arrow.dy+=2
o._comboBox.arrow.disDy+=2
}
o.widgetType = 'ExportUI';
MochiKit.Base.update(o, bobj.crv.ExportUI);
return o;
};
bobj.crv.ExportUI._onSelectFormat = function() {
var format = this._comboBox.getSelection().value;
if (format == 'CrystalReports' || format == 'RPTR' || format == 'RecordToMSExcel' || format == 'RecordToMSExcel2007' || format == 'CharacterSeparatedValues' || format == 'XML') {
this._fromBox.setDisabled(true);
this._toBox.setDisabled(true);
this._rangeRadio.check(false);
this._rangeRadio.setDisabled(true);
this._allRadio.check(true);
}
else {
this._rangeRadio.setDisabled(false);
}
};
bobj.crv.ExportUI.update = function (update) {
if (!update || update.cons !== "bobj.crv.newExportUI") {
return;
}
this.availableFormats = update.args.availableFormats;
if(this._comboBox.initialized()) {
/*
* Uninitialized combobox is not required to be updated as it will
* be updated during initialization
*/
this._updateExportList();
}
};
bobj.crv.ExportUI._updateExportList = function() {
if(!this._comboBox.initialized()) {
this._comboBox.init();
}
this._updateComboItems();
var item0 = this._comboBox.getItemByIndex(0);
if(item0 != null)
this._comboBox.selectItem(item0);
this._onSelectFormat();
};
bobj.crv.ExportUI._updateComboItems = function () {
this._comboBox.removeAllMenuItems();
var itemsCount = (bobj.isArray(this.availableFormats) ? this.availableFormats.length : 0);
for (var i = 0; i < itemsCount; i++) {
var item = this.availableFormats[i];
this._comboBox.add(item.name, item.value, item.isSelected);
}
};
bobj.crv.ExportUI._getExportList = function() {
return "<table datatable='0' style='width:100%;line-height:10px;'>" +
"<tr>" +
(_ie?"<td class='dialogTitleLevel2'><label>":"<td class='dialogTitleLevel2'><label>") +
L_bobj_crv_ExportFormatLbl + "</label></td>" +
"</tr>" +
"</table>" +
"<div style='margin:10px 25px;'>" +
this._comboBox.getHTML() +
"</div>";
};
/*
================================================================================
ErrorDialog
TODO Dave: If time permits, make dialog resizable with mouse
================================================================================
*/
/**
* Static function.
* @returns [ErrorDialog] Returns a shared Error Dialog
*/
bobj.crv.ErrorDialog.getInstance = function() {
if (!bobj.crv.ErrorDialog.__instance) {
bobj.crv.ErrorDialog.__instance = bobj.crv.newErrorDialog();
}
return bobj.crv.ErrorDialog.__instance;
};
bobj.crv.newErrorDialog = function(kwArgs) {
kwArgs = MochiKit.Base.update({
id: bobj.uniqueId(),
title: L_bobj_crv_Error,
text: null,
detailText: null,
okLabel: L_bobj_crv_OK,
promptType: _promptDlgCritical
}, kwArgs);
var o = newPromptDialog(
kwArgs.id,
kwArgs.title,
kwArgs.text,
kwArgs.okLabel,
null, // cancelLabel
kwArgs.promptType,
null, // yesCB
null, // noCB,
true, // noCloseButton
true); // isAlert
o.widgetType = 'ErrorDialog';
// Update instance with constructor arguments
bobj.fillIn(o, kwArgs);
// Update instance with member functions
o._promptDlgInit = o.init;
o._promptDialogSetText = o.setText;
o._promptDialogShow = o.show;
o._promptDialogSetTitle = o.setTitle;
o._promptDialogSetPromptType = o.setPromptType;
MochiKit.Base.update(o, bobj.crv.ErrorDialog);
o.noCB = MochiKit.Base.bind(o._onClose, o);
o.yesCB = o.noCB;
o._detailBtn = newIconWidget(
o.id + "_detailBtn",
bobj.skinUri('../help.gif'),
MochiKit.Base.bind(bobj.crv.ErrorDialog._onDetailBtnClick, o),
L_bobj_crv_showDetails, // Text
L_bobj_crv_showDetails, // Tooltip
16,16,0,0,22,0,
true); // Tabbing is enabled
return o;
};
bobj.crv.ErrorDialog.init = function() {
this._promptDlgInit();
this._detailBtn.init();
this._detailRow = document.getElementById(this.id + '_detRow');
this._detailArea = document.getElementById(this.id + '_detArea');
if (!this.detailText) {
this._detailBtn.show(false);
}
};
bobj.crv.ErrorDialog.getHTML = function() {
var TABLE = bobj.html.TABLE;
var TBODY = bobj.html.TBODY;
var TR = bobj.html.TR;
var TD = bobj.html.TD;
var PRE = bobj.html.PRE;
var DIV = bobj.html.DIV;
var imgPath = PromptDialog_getimgPath(this.promptType);
var imgAlt = PromptDialog_getimgAlt(this.promptType);
var width = "320";
var detailWidth = "300px";
var detailHeight = "100px";
var contentHTML =
TABLE({'class':"dlgBody", width: width, cellpadding:"0", cellspacing:"5", border:"0"},
TBODY(null,
TR(null, TD(null,
TABLE({'class':"dlgBody", cellpadding:"5", cellspacing:"0", border:"0"},
TBODY(null,
TR(null,
TD({align:"right", width:"32"},
img(imgPath, 32, 32, null, 'id="dlg_img_' + this.id + '"', imgAlt)),
TD(),
TD({id:"dlg_txt_" + this.id, align:"left"},
DIV({tabindex:"0"}, convStr(this.text, false, true)))))))),
TR({id: this.id + '_detRow', style: {display: "none"}},
TD(null, DIV({'class': "infozone", style: {width: detailWidth, 'height': detailHeight, overflow: "auto"}},
PRE({id: this.id + '_detArea'}, this.detailText)))),
TR(null, TD(null, getSep())),
TR(null, TD(null,
TABLE({cellpadding:"5", cellspacing:"0", border:"0", width:"100%"},
TBODY(null,
TR(null,
TD({align:"left"}, this._detailBtn.getHTML()),
TD({align:"right"}, this.yes.getHTML()))))))));
return this.beginHTML() + contentHTML + this.endHTML();
};
/**
* Set the error message and detail text.
*
* @param text [String] Error message
* @param detailText [String] Detailed error message or technical info
*/
bobj.crv.ErrorDialog.setText = function (text, detailText) {
this.text = text;
this.detailText = detailText;
if (this.layer) {
this._promptDialogSetText(text || '');
if (this._detailArea) {
this._detailArea.innerHTML = detailText || '';
}
var showDetails = detailText ? true : false;
this._detailBtn.show(showDetails);
if (!showDetails) {
this.showDetails(false);
}
}
};
bobj.crv.ErrorDialog.setTitle = function (title) {
this.title = title;
if (this.layer) {
this._promptDialogSetTitle(title || '');
}
};
bobj.crv.ErrorDialog.setPromptType = function (promptType) {
this.promptType = promptType;
if (this.layer) {
this._promptDialogSetPromptType(promptType);
}
};
/**
* Show/Hide the dialog
*
* @param isShow [bool(=true)] True value displays the dialog, false hides it.
* @param closeCB [function] Callback to call after the next close event
*/
bobj.crv.ErrorDialog.show = function(isShow, closeCB) {
if (typeof isShow == 'undefined') {
isShow = true;
}
if (isShow) {
this._closeCB = closeCB;
if (!this.layer) {
targetApp(this.getHTML());
this.init();
}
this.layer.onkeyup = DialogBoxWidget_keypress;
DialogBoxWidget_keypress = MochiKit.Base.noop;
this._promptDialogShow(true);
}
else if (this.layer){
this._closeCB = null;
this._promptDialogShow(false);
}
};
/**
* Show/Hide the detailed error message
*
* @param isShow [bool(=true)] True value displays the details, false hides them.
*/
bobj.crv.ErrorDialog.showDetails = function(isShow) {
if (typeof isShow == 'undefined') {
isShow = true;
}
if (this._detailRow && this._detailBtn) {
if (isShow) {
this._detailRow.style.display = '';
this._detailBtn.changeText(L_bobj_crv_hideDetails);
}
else {
this._detailRow.style.display = 'none';
this._detailBtn.changeText(L_bobj_crv_showDetails);
}
}
};
/**
* Private. Handles detail button clicks.
*/
bobj.crv.ErrorDialog._onDetailBtnClick = function() {
if (this._detailRow) {
this.showDetails(this._detailRow.style.display == 'none');
}
};
/**
* Private. Notifies listener that dialog has closed;
*/
bobj.crv.ErrorDialog._onClose = function() {
if (this._closeCB) {
this._closeCB();
this._closeCB = null;
}
DialogBoxWidget_keypress = this.layer.onkeyup;
this.layer.onkeyup = null;
};
/*
================================================================================
Report Processing Dialog
================================================================================
kwArgs
delay - the wait time prior to showing the dialog.
message - a customized message to display in the dialog.
*/
bobj.crv.newReportProcessingUI = function(kwArgs) {
kwArgs = MochiKit.Base.update({
id: bobj.uniqueId(),
delay: 250,
message: L_bobj_crv_ReportProcessingMessage
}, kwArgs);
/* Since JSON escapes the '\' in unicode character references (\uXXXX) in Viewer
* process indicator text is converted to html numeric referece (&#ddddd) which Javascript
* don't display as expected. Little hack here to it as HTML string */
var d = document.createElement('div');
d.style.visibility = 'hidden';
d.innerHTML = kwArgs.message;
var newMsg = d.innerHTML;
d = null;
var o = newWaitDialogBoxWidget(
kwArgs.id, // id
0, // width
0, // height
'', // title
false, // show cancel
bobj.crv.ReportProcessingUI.cancelCB, // cancel callback
true, // show label
newMsg, // label text
true // no close button
);
o.widgetType = 'ReportProcessingUI';
o.delay = kwArgs.delay;
// Update instance with member functions
MochiKit.Base.update(o, bobj.crv.ReportProcessingUI);
return o;
};
bobj.crv.reportProcessingDialog = null;
bobj.crv.timerID = null;
bobj.crv.ReportProcessingUI.cancelCB = function ()
{
bobj.crv.reportProcessingDialog.cancelled = true;
if (bobj.crv.reportProcessingDialog.deferred !== null) {
bobj.crv.reportProcessingDialog.deferred.cancel ();
}
bobj.crv.reportProcessingDialog.cancelShow ();
};
bobj.crv.ReportProcessingUI.wasCancelled = function ()
{
return bobj.crv.reportProcessingDialog.cancelled;
};
bobj.crv.ReportProcessingUI._prepareToShow = function () {
// cleanup any existing dialog?
if (bobj.crv.reportProcessingDialog !== null) {
bobj.crv.reportProcessingDialog.cancelShow ();
}
if (!this.layer) {
append2(document.body, this.getHTML());
this.init();
}
this.deferred = null;
bobj.crv.reportProcessingDialog = this;
};
bobj.crv.ReportProcessingUI.Show = function () {
this._prepareToShow();
bobj.crv.reportProcessingDialog.show(true);
};
bobj.crv.ReportProcessingUI.delayedShow = function () {
this._prepareToShow();
bobj.crv.timerID = setTimeout("bobj.crv._showReportProcessingDialog ()", bobj.crv.reportProcessingDialog.delay);
};
bobj.crv.ReportProcessingUI.cancelShow = function () {
if (bobj.crv.timerID) {
clearTimeout (bobj.crv.timerID);
}
if (bobj.crv.reportProcessingDialog){
bobj.crv.reportProcessingDialog.show (false);
}
bobj.crv.reportProcessingDialog = null;
bobj.crv.timerID = null;
};
bobj.crv.ReportProcessingUI.setDeferred = function (deferred) {
bobj.crv.reportProcessingDialog.deferred = deferred;
if (bobj.crv.reportProcessingDialog.wasCancelled () === true) {
deferred.cancel ();
}
};
bobj.crv._showReportProcessingDialog = function () {
if (bobj.crv.reportProcessingDialog && bobj.crv.reportProcessingDialog.delay !== 0) {
bobj.crv.logger.info('ShowReportProcessingDialog');
bobj.crv.reportProcessingDialog.show (true);
}
};