Multiprompt button - promijenjeno Sranka rješenje PDF Ispis E-mail
Ocjena: / 5
LošeOdlično 
Mustafa Bešlagić   
Srijeda, 29 Srpanj 2009

Rešenje multiprompt gumba by Sranka  učinilo mi se pretjerano kompliciranim tim prije jer se izvorni calendar.js i globalfilterprompts.js mora mijenjati (što kod upgrade-a OBIEE verzije može biti pobrisano) a iskreno nisam vidio nekog posebnog razloga za te i takve akcije. Prijedlog jednostavnijeg korištenja ovih skripti je da se u page na mjesto multigumba postavi text object te dole navedeni code s aktiviranim Contains HTML Markup-om.
NAPOMENA:Ovo rješenje postavljati samo tamo gdje ima potrebe da više različitih promtova pokrećete jedinstvenim gumbom.

Jos nesto firefox u verziji 3.0.* opcenito pravi problem sa prompt constrain-ima (ovo je bug od OBIEE-a 10.1.3.4  jer je prilagođen samo za IE)!!!

<script type="text/JavaScript">
function DoLoad()
{
   cf = document.getElementById('NQCCalDiv');
   monthPick = document.getElementById('NQCMonthPickDiv');
   yearPick = document.getElementById('NQCYearPickDiv');

   // pharry.  i and j must be vars.  Otherwise use globals, and corrupts i inside loop.  
   var i;
   for (i = 0; i < 7; i++)  // days - Sunday = 0, Sat = 6
   {
      var j;
      for (j = 0; j < 6; j++)  // Rows
      {
         t = (i + j * 7) + 1;

         var sCellId = "DOMCell" + j + "" + i;
         var tCell = document.getElementById(sCellId);
         if (null != tCell)
         {
            tCell.day = t;
            saw.addEventListener(tCell, "click", BC);
            tCell.className = "CalendarDOWCell";
         }
      }
   }
try{
var aElm=document.getElementsByTagName('span');
for(var i=0; i<aElm.length; i++) {
if (aElm[i].innerHTML.indexOf('GFPDoFilters') > -1)
{
aElm[i].style.display = "none";
}//if
}// for
}// try
catch(e)
{alert(e);}
}

function GFPDoFilters_samvi(sViewID, tTable, bGFPReloadInline)
{
if(sViewID == ksGFPStatePath) return;
var tExpr = XUICreateElement(saw.xml.kSawxNamespace, 'expr');
tExpr.setAttribute("xsi:type", "sawx:logical");
tExpr.setAttribute("op", "and");

for (var h = 0; h < tTable.length; ++h)
{
var tPromptCells_New = tTable[h].getElementsByTagName("TD");
for (var i = 0; i < tPromptCells_New.length; ++i)
{
var tElement = tPromptCells_New[i];
if (tElement.getAttribute("GFPBuilder") != null)
{
try
{
var tFilter = eval(tElement.getAttribute("GFPBuilder"));
if (tFilter)
{
tExpr.appendChild(tFilter);
}
}
catch (e)
{
alert('XXXX ' + e);
return;
}}}}
var tDelayedDash = document.getElementById("sawDashboardDelayed");

if (tExpr.childNodes.length == 0 && !document.getElementById("sawDashboardDelayed"))
return false;
else if (tExpr.childNodes.length == 0)
tExpr = null;
else if (tExpr.childNodes.length == 1)
tExpr = tExpr.childNodes[0];

if (tExpr)
{
tExpr.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
}
var tForm = GetViewForm('', -1, bGFPReloadInline);
if (sViewID == ksGFPStatePath)
{
var tRoot = XUIGetRootXML("idXUIGFPPreview");
tForm.P1.value = saw.getXmlText(saw.getFirstChildElement(tRoot));
tForm.action = saw.commandToURL("ViewPreview");
submitViewForm(tForm,null);
return;
}

GFPApplyFilters(tForm,tExpr, sViewID);
return false;
}

function customCall()
{
try{
var aElm=document.getElementsByTagName('table');
var tTableArray = new Array();
var k = 0;
for(var i=0; i<aElm.length; i++) {
if(aElm[i].className=='GFPBox') {
tTableArray[k] =  document.getElementById(aElm[i].id);
k++;
}
}
GFPDoFilters_samvi('',tTableArray,true);
}
catch(e)
{alert(' XXX ' + e);}
}

try{
var aElm=document.getElementsByTagName('span');
for(var i=0; i<aElm.length; i++) {
if (aElm[i].innerHTML.indexOf('GFPDoFilters') > -1)
{
aElm[i].style.display = "none";
}//if
}// for
}// try
catch(e)
{alert(e);}



</script>

<td class="GFPSubmit"><table cellspacing="0">
<tbody><tr>
<td class="XUIPromptEntry"><span class="minibuttonOn"><a onclick="javascript:customCall();" href="javascript:void(null)" >Custom Go New</a></span><div value="dashboard" id="d:dashboard~p:b10pia6cf02k1ngq~s:j8obsfvm99vnd77s~g:c7te6i611dqgunnkScope"/></td>
</tr>
<tr>
<td/>
</tr>
</tbody></table></td>
 
« Prethodna   Sljedeća »