123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650 |
- /*
- *+------------------------------------------------------------------------+
- *| Licensed Materials - Property of IBM
- *| BI and PM: prmt
- *| (C) Copyright IBM Corp. 2002, 2017
- *|
- *| US Government Users Restricted Rights - Use, duplication or
- *| disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- *|
- *+------------------------------------------------------------------------+
- */
- /**
- This script is used to provide interactivity for the
- range versions of each of the prompt controls.
- @class
- @private
- */
- cognos.Prompt.Control.Range = cognos.Prompt.Control.f_extend({
- f_initialize: function( v_oProps, v_oPM ) {
- this.f_parent( v_oProps );
- this.m_oProps = v_oProps;
- this.m_oPM = v_oPM;
- this.m_bSkipAdornments = true;
- this.f_draw();
- },
- checkData: function() {
- // We keep a reference to the parent function
- // Calling this.m_oFrom functions seems to have a side effect on this.f_parent().
- var v_fnParent = this.f_parent;
- if (!this.isMulti()) {
- if (this.isRequired()) {
- if ((typeof this[K_PRMT_RANGE_FORCE_BOUNDRANGE] != K_PRMT_sUNDEFINED) && this[K_PRMT_RANGE_FORCE_BOUNDRANGE] === true) {
- this.m_bValid = this.m_oFrom.hasValue() && this.m_oTo.hasValue();
- }
- else {
- this.m_bValid = this.m_oFrom.hasValue() || this.m_oTo.hasValue();
- }
-
- var v_oFrom = this.m_oFrom;
- var v_oTo = this.m_oTo;
- if (v_oFrom._type_ == "cognos.Prompt.Control.Text") {
- setTimeout(function(){
- // set From: as valid if there is a valid value in To: and From: is empty
- if (v_oFrom.m_bValid || (v_oTo.m_bValid && v_oFrom.getValue() === ""))
- v_oFrom.checkPass();
- else
- v_oFrom.checkFail();
- // set To: as valid if there is a valid value in From: and To: is empty
- if (v_oTo.m_bValid || (v_oFrom.m_bValid && v_oTo.getValue() === ""))
- v_oTo.checkPass();
- else
- v_oTo.checkFail();
- }, 1);
- }
- }
- else {
- var bFromValid = (this.m_rdFrom && this.m_rdFrom.checked ? this.m_oFrom.hasValue() : true);
- var bToValid = (this.m_rdTo && this.m_rdTo.checked ? this.m_oTo.hasValue() : true);
- this.m_bValid = bFromValid && bToValid;
- }
- } else {
- this.m_bValid = this.m_oChoices.f_getValid();
- }
- this.f_parent = v_fnParent; // call parent's checkData using saved reference.
- this.f_parent(); // call parent's checkData using saved reference.
- return this.m_bValid;
- },
- clearValues: function()
- {
- this.f_parent();
- this.m_oFrom.clearValues();
- this.m_oTo.clearValues();
- },
- f_drawCompleted: function() {
- // We keep a reference to the parent function
- // Calling this.m_oFrom.f_drawCompleted seems to have a side effect on this.f_parent().
- var v_fnParent = this.f_parent;
- var v_oFrom = this.m_oFrom;
- var v_oTo = this.m_oTo;
- if ( this["n"] == "selectValue" )
- {
- // replace/clone select boxes
- var v_elPrompt = $( this.f_getId(K_PRMT_sSV_PREFIX) );
- if (v_elPrompt)
- {
- var v_sFromId = this.f_getId(K_PRMT_sRANGE_FROM_PREFIX);
- var v_sToId = this.f_getId(K_PRMT_sRANGE_TO_PREFIX);
- var v_elFrom = $( v_sFromId );
- var v_elTo = $( v_sToId );
- if ( v_elFrom )
- {
- v_elPrompt.setAttribute( "id", v_oFrom.f_getId(K_PRMT_sSV_PREFIX) );
- v_oFrom.f_moveInContainer( v_elFrom, v_elPrompt );
- }
- if ( v_elTo )
- {
- var v_elPromptClone = v_elPrompt.cloneNode(true);
- v_elPromptClone.setAttribute( "id", v_oTo.f_getId(K_PRMT_sSV_PREFIX) );
- v_oTo.f_moveInContainer( v_elTo, v_elPromptClone );
- }
- }
- }
- v_oFrom.f_drawCompleted();
- v_oTo.f_drawCompleted();
- // For DateTime controls, set the TO's time to latest value for the visible fields, for all: 23:59:59.999
- if ( v_oTo && (v_oTo.m_oTime && v_oTo.m_oTime.f_setTime) || v_oTo.f_setTime ) {
- var v_defaultSeconds = ( this["@showSeconds"]? "59" : "00" );
- var v_defaultMilliSeconds = ( this["@showMilliseconds"]? "999" : "000" );
- var v_defaultToTime = "23:59:" + v_defaultSeconds + "." + v_defaultMilliSeconds;
- if ( v_oTo && v_oTo.m_oTime && v_oTo.m_oTime.f_setTime ) {
- v_oTo.m_oTime.f_setTime( v_defaultToTime );
- } else if ( v_oTo && v_oTo.f_setTime ) {
- v_oTo.f_setTime( v_defaultToTime );
- }
- }
- if ( !this[K_PRMT_sATTR_DISABLED] )
- {
- var tmp = this.f_setRangeEvents( K_PRMT_sRANGE_FROM_PREFIX );
- this.m_rdFrom = tmp[0];
- this.m_rdFromDefault = tmp[1];
- tmp = this.f_setRangeEvents( K_PRMT_sRANGE_TO_PREFIX );
- this.m_rdTo = tmp[0];
- this.m_rdToDefault = tmp[1];
- }
- this.f_parent = v_fnParent; // call parent's f_drawCompleted using saved reference.
- this.f_parent(); // call parent's f_drawCompleted using saved reference.
- }
- });
- /**
- See {@link cognos.Prompt.Control.addValues} for more info.
- @param {cognos.Value[]}
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.addValues = function( v_aValues )
- {
- for (var v_idx = 0; v_idx < v_aValues.length; v_idx++)
- {
- var v_oValue = v_aValues[v_idx];
- if (v_oValue.start) {
- if (this.m_rdFrom) {
- this.m_rdFrom.checked = true;
- }
- this.m_oFrom.addValues( [v_oValue.start] );
- } else {
- if (this.m_rdFrom) {
- this.m_rdFrom.checked = false;
- this.m_rdFromDefault.checked = true;
- }
- this.m_oFrom.clearValues();
- }
- if (v_oValue.end) {
- if (this.m_rdTo) {
- this.m_rdTo.checked = true;
- }
- this.m_oTo.addValues( [v_oValue.end] );
- } else {
- if (this.m_rdTo) {
- this.m_rdTo.checked = false;
- this.m_rdToDefault.checked = true;
- }
- this.m_oTo.clearValues();
- }
- if ( this.m_oChoices ) {
- this.m_oChoices.F_Insert();
- var v_oFrom = this.m_oFrom;
- var v_oTo = this.m_oTo;
- setTimeout(function() {
- v_oFrom.clearValues();
- v_oTo.clearValues();
- },0);
- }
- }
- PRMTUtils.f_updateRadioButtons(this.m_rdFrom);
- PRMTUtils.f_updateRadioButtons(this.m_rdTo);
- };
- /**
- @private
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.f_checkRadioCheckData = function()
- {
- this.m_radio.checked = true;
- this.m_oPrompt.checkData();
- PRMTUtils.f_updateRadioButtons(this.m_radio);
- };
- /**
- Sets the JavaScript references used by custom scripts based on generated code from Blaring and before.
- (Custom Scripts Workaround)
- @private
- */
- cognos.Prompt.Control.Range.prototype.f_CSW_init = function()
- {
- var aRadios = document.getElementsByName( this.f_getId("pFrom_") );
- this.f_CSW_createJSObject( "fromValue", aRadios );
- aRadios = document.getElementsByName( this.f_getId("pTo_") );
- this.f_CSW_createJSObject( "toValue", aRadios );
- };
- /**
- @private
- @param {C_PromptElement} v_el Container.
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.f_drawInput = function( v_el )
- {
- var oFrom = Object.f_extend( {}, this.m_oProps );
- oFrom["@range"] = false;
- oFrom["@multiSelect"] = false;
- oFrom.m_oRangeControl = this;
- oFrom.m_bIsAComponent = true;
- var oTo = Object.f_extend( {}, oFrom );
- oFrom._id_ = this.f_getId( K_PRMT_sRANGE_FROM_PREFIX );
- oFrom.m_sCSW_rangeSuffix = "range_from";
- oTo._id_ = this.f_getId( K_PRMT_sRANGE_TO_PREFIX );
- oTo.m_sCSW_rangeSuffix = "range_to";
- var v_oFrom = this.f_getPM().f_create( oFrom );
- var v_oTo = this.f_getPM().f_create( oTo );
- v_oTo.m_bIsRangeEndControl = true;
- v_oTo.m_elRangeContainer = v_oFrom.m_elRangeContainer = $( this.f_getId(this.m_sDivPrefix) );
- var v_tdRange = v_el;
- v_tdRange["vAlign"] = "top";
- var v_tbl = $CE( "table", {
- "border": K_PRMT_DEBUG_TABLEBORDER,
- "cellPadding": 0,
- "cellSpacing": 0,
- "role":K_PRMT_ARIA_ROLE_PRESENTATION
- }, v_tdRange );
- var v_tbd = $CE( "tbody", {}, v_tbl );
- this.f_drawRangeControl( v_oFrom, v_tbd, this[K_PRMT_LABEL_RANGE_FROM], v_oFrom[K_PRMT_LABEL_RANGE_LOWEST], "pFrom_" );
- var v_trSpacer = $CE( "tr", {}, v_tbd );
- var v_tdSpacer = $CE( "td", {"height": 10}, v_trSpacer );
- $CE("img", {"src": this.m_sSkin + "/prompting/images/spacer.gif", "width": 1, "height": 1, "border": 0, "alt":""}, v_tdSpacer);
- this.f_drawRangeControl( v_oTo, v_tbd, this[K_PRMT_LABEL_RANGE_TO], v_oFrom[K_PRMT_LABEL_RANGE_HIGHEST], "pTo_" );
- this.m_oFrom = v_oFrom;
- this.m_oTo = v_oTo;
- return this;
- };
- /**
- Render input control for a range.
- @private
- @param {cognos.Prompt.Control} v_oPrompt.
- @param {C_PromptElement} v_el Container.
- @param {String} v_sLabel From/To label
- @param {String} v_sText From/To text
- @param {String} v_sPrefix Prefix for this control.
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.f_drawRangeControl = function( v_oPrompt, v_el, v_sLabel, v_sText, v_sPrefix )
- {
- var v_bUseRadioButtons = ( !this.isRequired() || this.isMulti() );
- var v_tr = $CE( "tr", {}, v_el );
- var v_inputId = this.f_getId( v_sPrefix );
- var v_labelInputId = null;
- if (!v_bUseRadioButtons && v_oPrompt && v_oPrompt.f_getRangeInputId) {
- v_labelInputId = v_oPrompt.f_getRangeInputId();
- }
- //v_oPrompt.
- // draw the label (From || To)
- var v_td = $CE( "td", {"class": "clsControlLabel pc", "noWrap": "nowrap"}, v_tr );
- var v_labelId = this.f_getId( v_sPrefix + "label" );
- var v_labelAttr = { "id": v_labelId };
- if(!v_bUseRadioButtons && v_labelInputId) {
- v_labelAttr["for"] = v_labelInputId;
- }
- var v_captionLabel = $CE( "label", v_labelAttr, v_td );
- v_captionLabel.f_appendText( v_sLabel );
- v_tr = $CE( "tr", {}, v_el );
- v_td = $CE( "td", {"vAlign": "top"}, v_tr );
- // creating a table to hold the range Control (From || To )
- var v_groupAttr = {"vAlign": "top", "border": "0","cellPadding": 0, "cellSpacing": 0};
- if(v_bUseRadioButtons) {
- v_groupAttr["role"] = "radiogroup";
- } else {
- v_groupAttr["role"] = "group";
- }
- if (!v_labelInputId) {
- v_groupAttr["aria-labelledby"] = v_labelId;
- }
- v_table = $CE( "table", v_groupAttr, v_td );
- v_tr = $CE( "tr", {"id": v_oPrompt.f_getId(K_PRMT_sRANGE_ROW_INPUT_PREFIX)}, v_table );
- var v_radioCellWidth = (PRMTUtils.f_isHighContrast() && window.ie?"25px":"15:px");
- // first column cell
- v_td = $CE( "td", {"vAlign": "middle", "width": v_radioCellWidth}, v_tr );
- var v_sName = this.f_getId( v_sPrefix );
- var radioButtonAttrib = {
- "type": "radio",
- "name": v_sName,
- "id": v_inputId,
- "class": "dijitCheckBoxInput",
- style: "margin:0",
- "onFocus": "PRMTUtils.f_RangeRadioOnFocus(this)",
- "onBlur": "PRMTUtils.f_RangeRadioOnBlur(this)"
- };
- if ( v_bUseRadioButtons )
- {
- var v_radioDiv = $CE( "div", {"class": K_PRMT_CSS_RADIOBUTTON}, v_td );
- // associating the label ( From | To ) with the first radio button
- var v_input = $CE( "input", radioButtonAttrib, v_radioDiv );
- if ( this[K_PRMT_sATTR_DISABLED] )
- {
- v_input.f_setProperty( "disabled", "true" );
- }
- v_oPrompt["@title"] = v_sLabel;
- }
- else{
- $CE("img", {"src": this.m_sSkin + "/prompting/images/spacer.gif", "width": 10, "height": 1, "border": 0, "alt":""}, v_td);
- }
- if ( this.isMulti() )
- {
- v_oPrompt["@required"] = false;
- }
- if ( v_oPrompt.n != "selectInterval" )
- {
- v_oPrompt["@hideAdornments"] = true;
- }
- // draw input
- v_td = $CE( "td", {"id": v_oPrompt._id_}, v_tr );
- if ( cssParser( this["@style"], "width" ) )
- {
- v_td.f_setProperty( "width", "100%" );
- }
- var v_oInput = v_oPrompt.f_drawInput( v_td );
- // second radio button
- v_inputId = this.f_getId( v_sPrefix + "2_" );
- if ( !this.isRequired() || this.isMulti() )
- {
- v_tr = $CE( "tr", {"id": v_oPrompt.f_getId(K_PRMT_sRANGE_ROW_DEFAULT_PREFIX)}, v_table );
- v_td = $CE( "td", {"vAlign": "middle", "width": v_radioCellWidth}, v_tr );
- radioButtonAttrib.id = v_inputId;
- radioButtonAttrib.checked = true;
- var v_radioDiv = $CE( "div", {"class": K_PRMT_CSS_RADIOBUTTON_CHECKED}, v_td );
- var v_input = $CE( "input", radioButtonAttrib, v_radioDiv );
- if ( this[K_PRMT_sATTR_DISABLED] )
- {
- v_input.f_setProperty( "disabled", "true" );
- }
- var v_oLabelTDAttrib = {
- "vAlign": "middle",
- "height": "20px",
- "class": "clsReadOnlyText pe"
- };
- if ( v_oPrompt.n == "selectInterval" ) {
- v_oLabelTDAttrib["style"] = "padding-left:12px;";
- }
- v_td = $CE( "td", v_oLabelTDAttrib, v_tr );
- v_captionLabel = $CE( "label", { "for": v_inputId }, v_td );
- v_captionLabel.f_appendText( v_sText )
- }
- return v_oInput;
- };
- /**
- @private
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.f_getPM = function()
- {
- return (this.m_oPM);
- };
- /**
- Return all values for this control.
- @private
- @param {boolean} [bSkipType] Skip setting the promptType as part of the values returned. Used by Control.getValues().
- @return {cognos.Value[]}
- */
- cognos.Prompt.Control.Range.prototype.f_getPV = function(bSkipType)
- {
- var v_oStart = null;
- var v_oEnd = null;
- var v_oPV = null;
- if ( (!this.m_rdFrom || this.m_rdFrom.checked) && this.m_oFrom.hasValue() )
- {
- var tmpSave = this.m_oFrom.m_bisGetValuesCall;
- if (this.m_bisGetValuesCall) {
- this.m_oFrom.m_bisGetValuesCall = true;
- }
- v_oStart = this.m_oFrom.f_getPV();
- this.m_oFrom.m_bisGetValuesCall = tmpSave;
- }
- if ( (!this.m_rdTo || this.m_rdTo.checked) && this.m_oTo.hasValue() )
- {
- var tmpSave = this.m_oTo.m_bisGetValuesCall;
- if (this.m_bisGetValuesCall) {
- this.m_oTo.m_bisGetValuesCall = true;
- }
- v_oEnd = this.m_oTo.f_getPV();
- this.m_oTo.m_bisGetValuesCall = tmpSave;
- }
- if ( v_oStart && v_oEnd )
- {
- var v_iCompare = this.m_oTo.f_compare(this.m_oFrom);
- if ( v_iCompare == -1 )
- {
- // switch start and end
- var v_oTemp = v_oEnd;
- v_oEnd = v_oStart;
- v_oStart = v_oTemp;
- if (this.n == "selectDate" && this["@DateTime"])
- {
- // need to fix the time values for date controls using dateTime format.
- v_oStart["use"] = v_oStart["use"].replace( K_PRMT_reTIMEPART, K_PRMT_sTIME_MIN );
- v_oEnd["use"] = v_oEnd["use"].replace( K_PRMT_reTIMEPART, K_PRMT_sTIME_MAX );
- }
- }
- else if ( v_iCompare == 0 && !(this.n == "selectDate" && this["@DateTime"]) )
- {
- // start and end are the same, just use a plain value then
- v_oPV = this.m_oFrom.getValues()[0];
- v_oStart = v_oEnd = null;
- }
- }
- if ( v_oStart || v_oEnd )
- {
- v_oPV = {};
- if ( v_oStart )
- {
- v_oPV["start"] = (v_oStart.length && v_oStart.length == 1 ? v_oStart[0] : v_oStart);
- }
- if ( v_oEnd )
- {
- v_oPV["end"] = (v_oEnd.length && v_oEnd.length == 1 ? v_oEnd[0] : v_oEnd);
- }
- }
- if (v_oPV && bSkipType !== true)
- {
- v_oPV.promptType = this.m_oFrom._type_;
- }
- return v_oPV;
- };
- /**
- @private
- @param {event} evt
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.f_keyDown = function(evt)
- {
- var evt = ( arguments && arguments.length ? arguments[arguments.length-1] : null );
- var v_oEvt = (evt ? evt : (typeof event != K_PRMT_sUNDEFINED ? event : null ));
- if ( v_oEvt )
- {
- switch( v_oEvt.which || v_oEvt.keyCode )
- {
- case 9: //tab
- case 16: // shift
- case 17: // ctrl
- case 18: // alt
- // skip
- break;
- default:
- this.m_radio.checked = true;
- PRMTUtils.f_updateRadioButtons(this.m_radio);
-
- };
- }
- this.m_oPrompt.checkData();
- };
- /**
- @private
- @param {cognos.Value} v_oPV
- @return {void}
- */
- cognos.Prompt.Control.Range.prototype.f_setPV = function ( v_oPV )
- {
- if ( v_oPV.start || v_oPV.end )
- {
- if ( v_oPV.start )
- {
- this.m_oFrom.f_setPV( v_oPV.start );
- if (this.m_rdFrom)
- {
- this.m_rdFrom.checked = true;
- }
- }
- if ( v_oPV.end )
- {
- this.m_oTo.f_setPV( v_oPV.end );
- if (this.m_rdTo)
- {
- this.m_rdTo.checked = true;
- }
- }
- }
- else
- {
- this.m_oFrom.f_setPV( v_oPV );
- if ( this.m_rdFrom && (v_oPV.use || v_oPV.display) )
- {
- this.m_rdFrom.checked = true;
- }
- this.m_oTo.f_setPV( v_oPV );
- if ( this.m_rdTo && (v_oPV.use || v_oPV.display) )
- {
- this.m_rdTo.checked = true;
- }
- }
- PRMTUtils.f_updateRadioButtons(this.m_rdFrom);
- PRMTUtils.f_updateRadioButtons(this.m_rdTo);
- };
- /**
- @private
- @param {String} v_sId
- @return {[DOMElement,DOMElement]} Array containing the two radio buttons.
- */
- cognos.Prompt.Control.Range.prototype.f_setRangeEvents = function( v_sId )
- {
- var v_result = [null, null];
- var v_rd = null;
- // Lowest/Highest radio buttons
- var v_sTrId = this.f_getId( K_PRMT_sRANGE_ROW_DEFAULT_PREFIX + v_sId );
- var v_tr = $( v_sTrId );
- if ( v_tr )
- {
- v_tr.m_oPrompt = this;
- // tr > td > div > input
- v_rd = v_tr.firstChild.firstChild.firstChild;
- if ( v_rd && (typeof v_rd.type == K_PRMT_sSTRING) && v_rd.type.match(/radio/i) )
- {
- v_tr.m_radio = v_rd;
- v_tr.m_oPrompt = this;
- PRMTUtils.f_addEvent( v_tr, "click", this.f_checkRadioCheckData.bind(v_tr) );
- }
- else
- {
- v_rd = null;
- }
- v_result[1] = v_rd;
- }
- // Radio button for input field
- v_sTrId = this.f_getId( K_PRMT_sRANGE_ROW_INPUT_PREFIX + v_sId );
- v_tr = $( v_sTrId );
- if ( v_tr )
- {
- v_tr.m_oPrompt = this;
- // tr > td > div > input
- v_rd = v_tr.firstChild.firstChild.firstChild;
- if ( v_rd && (typeof v_rd.type == K_PRMT_sSTRING) && v_rd.type.match(/radio/i) )
- {
- v_tr.m_radio = v_rd;
- v_tr.m_oPrompt = this;
- PRMTUtils.f_addEvent( v_tr, "click", this.f_checkRadioCheckData.bind(v_tr) );
- PRMTUtils.f_addEvent( v_tr, "keydown", this.f_keyDown.bind(v_tr) );
- }
- else
- {
- v_rd = null;
- }
- v_result[0] = v_rd;
- }
- return v_result;
- };
- /**
- @private
- @return {boolean}
- */
- cognos.Prompt.Control.Range.prototype.hasValue = function()
- {
- var v_bHasValue = false;
- if ( this.m_rdFrom && this.m_rdTo )
- {
- v_bHasValue = ( (this.m_rdFrom.checked && this.m_oFrom.hasValue()) || (this.m_rdTo.checked && this.m_oTo.hasValue()) ? true : false );
- }
- else
- {
- v_bHasValue = ( this.m_oFrom.hasValue() || this.m_oTo.hasValue() ? true : false );
- }
- return v_bHasValue;
- };
- /**
- * By default, returns true if the control does not return any value.
- *
- * @private
- * @return {boolean}
- */
- cognos.Prompt.Control.Range.prototype.isEmpty = function()
- {
- var v_bResult = ( this.m_oFrom.isEmpty() && this.m_oTo.isEmpty() ? true : false );
- return v_bResult;
- };
- var C_Range = cognos.Prompt.Control.Range; // Keep old reference for backward compatibility with custom scripts.
|