/****************************************************************************************************************************
Licensed Materials - Property of IBM
BI and PM: QFW
© Copyright IBM Corp. 2005, 2010
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*****************************************************************************************************************************/
G_QanDBQuery = {};
G_QanDBQuery.F_Init = function( divContainer )
{
this.m_doc = document;
this.m_divContainer = divContainer;
}
G_QanDBQuery.F_Show = function()
{
var v_divHeader = this.m_doc.createElement( "div" );
this.m_divContainer.innerHTML = "";
v_divHeader.className = "planDetailHeader";
this.m_divContainer.appendChild( v_divHeader );
var v_tblPropTitles = this.m_doc.createElement("table");
v_tblPropTitles.className = "planPropTable";
v_tblPropTitles.cellPadding = 0;
v_tblPropTitles.cellSpacing = 0;
//v_tblPropTitles.width = "100%";
v_divHeader.appendChild( v_tblPropTitles );
this.m_trPropTitles = v_tblPropTitles.insertRow();
var v_tdLang = this.m_trPropTitles.insertCell();
v_tdLang.innerHTML = ' Query type: ';
v_tdLang.noWrap = "true";
var v_tdSpacer = this.m_trPropTitles.insertCell();
v_tdSpacer.innerText = " ";
v_tdSpacer.width = "3px";
var v_tdSQL = this.m_trPropTitles.insertCell();
v_tdSQL.innerText = "SQL";
v_tdSQL.noWrap = "true";
v_tdSQL.onclick = this.f_title_onclick.F_CreateMethodCallback( this );
v_tdSpacer = this.m_trPropTitles.insertCell();
v_tdSpacer.innerText = " ";
v_tdSpacer.width = "3px";
var v_tdMDX = this.m_trPropTitles.insertCell();
v_tdMDX.innerText = "MDX";
v_tdMDX.noWrap = "true";
v_tdMDX.onclick = this.f_title_onclick.F_CreateMethodCallback( this );
var v_tdRemainder = this.m_trPropTitles.insertCell();
v_tdRemainder.width = "100%";
v_tdRemainder.innerText = " ";
G_QanDBQuery.f_showPropertyValue( v_tdSQL );
this.m_divMenu = this.m_doc.createElement( "div" );
this.m_divMenu.className = "menu";
this.m_divContainer.appendChild( this.m_divMenu );
this.m_divMenu.innerHTML = ''
var v_divMenu = this.m_doc.createElement( "div" );
this.m_divContainer.appendChild( v_divMenu );
v_divMenu.innerText = " ";
this.m_divMenu.onclick = this.f_menu_onclick.F_CreateMethodCallback( this );
this.m_divValueContainer = this.m_doc.createElement( "textArea" );
this.m_divValueContainer.className = "planPropValue";
this.m_divContainer.appendChild( this.m_divValueContainer );
this.m_divValueContainer.style.width = "100%";
this.m_divValueContainer.style.height = document.body.offsetHeight -
(this.m_divMenu.offsetTop + this.m_divMenu.offsetHeight + 5);
this.m_divValueContainer.style.border = "none";
this.m_divValueContainer.style.marginRight = "3px";
this.m_divValueContainer.style.border = "solid 1px #DDDDDD";
this.m_divValueContainer.style.backgroundColor = "white";
this.m_divValueContainer.style.fontFamily = "arial";
this.m_divValueContainer.style.fontSize = "1em";
this.m_divFormatted = this.m_doc.createElement( "div" );
this.m_divContainer.appendChild( this.m_divFormatted );
this.m_divFormatted.className = "formatted";
this.m_divFormatted.style.display = "none";
this.m_divFormatted.style.border = "solid 1px #DDDDDD";
this.m_divFormatted.style.overflow = "auto";
this.m_divFormatted.style.height = document.body.offsetHeight -
(this.m_divMenu.offsetTop + this.m_divMenu.offsetHeight + 5);
this.m_divFormatted.onclick =
function() { G_QanPrettyPrint.F_OnClick(event.srcElement); };
document.body.onresize = this.f_content_onresize.F_CreateMethodCallback( this );
this.m_oSQLParser = new C_QanParser();
// this.m_divValueContainer.contentEditable = "true";
// this.m_divValueContainer.canHaveHTML = "false";
}
G_QanDBQuery.f_showPropertyValue = function( tdProp )
{
this.m_sActiveLang = tdProp.innerText;
tdProp.className = "planActiveProperty";
for( var i = 2; i < this.m_trPropTitles.children.length - 1; i += 2 )
if( this.m_trPropTitles.children[i] != tdProp )
this.m_trPropTitles.children[i].className = "planProperty";
}
G_QanDBQuery.f_content_onresize = function()
{
this.m_divValueContainer.style.height = document.body.offsetHeight -
(this.m_divMenu.offsetTop + this.m_divMenu.offsetHeight + 5);
this.m_divFormatted.style.height = document.body.offsetHeight -
(this.m_divMenu.offsetTop + this.m_divMenu.offsetHeight + 5);
}
G_QanDBQuery.f_title_onclick = function()
{
this.f_showPropertyValue( event.srcElement );
}
G_QanDBQuery.f_menu_onclick = function()
{
if( event.srcElement.innerText == "Text" )
{
this.m_divValueContainer.style.display = "";
this.m_divFormatted.style.display = "none";
}
else
if( event.srcElement.innerText == "Formatted" )
{
this.m_divValueContainer.style.display = "none";
this.m_divFormatted.style.display = "block";
var v_xmlResult = this.m_oSQLParser.F_TransformToXML( this.m_divValueContainer.innerText );
if( v_xmlResult )
this.m_divFormatted.innerHTML = this.m_oSQLParser.F_TransformBlockToHTML( v_xmlResult );
}
}