123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- /****************************************************************************************************************************
- 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 = ' <b> Query type: </b> ';
- 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 = '<u class="menuitem">Formatted</u><u class="menuitem">Text</u>'
- 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 );
- }
- }
|