/content/folder[@name='Samples']/folder[@name='Cubes']/package[@name='Sales and Marketing (cube)']/model[@name='2008-07-25T15:28:38.072Z']
<script>
/*
* Class and variables
*/
var paulScripts = {}
, oCR = cognos.Report.getReport("THIS")
, gateway = window['oCV'+'_THIS_'].getRV().getCV().sGateway;
// UTILITY FUNCTIONS
/*
* function paulScripts.getControl - Paul Mendelson
* Simply returns the prompt control.
*/
paulScripts.getControl = function(promptName) {
return oCR.prompt.getControlByName(promptName);
};
// Sexy Slider
//sexy slider by Donald Webster
// modified for use in Cognos by Paul Mendelson
var timerlen = 5
, slideAniLen = 250
, timerID = new Array()
, startTime = new Array()
, obj = new Array()
, endHeight = new Array()
, endWidth = new Array()
, moving = new Array()
, dir = new Array();
function slideright(objname){
if(moving[objname])
return;
if(objname.style.visibility != "hidden")
return; // cannot slide down something that is already visible
moving[objname] = true;
dir[objname] = "right";
startslide(objname);
}
function slidedown(objname){
if(moving[objname])
return;
if(objname.style.visibility != "hidden")
return; // cannot slide down something that is already visible
moving[objname] = true;
dir[objname] = "down";
startslide(objname);
}
function slideup(objname){
if(moving[objname])
return;
if(objname.style.visibility == "hidden")
return; // cannot slide up something that is already hidden
moving[objname] = true;
dir[objname] = "up";
startslide(objname);
}
function slideleft(objname){
if(moving[objname])
return;
if(objname.style.visibility == "hidden")
return; // cannot slide up something that is already hidden
moving[objname] = true;
dir[objname] = "left";
startslide(objname);
}
function startslide(objname){
obj[objname] = objname;
startTime[objname] = (new Date()).getTime();
//for sliding down
endHeight[objname] = parseInt(obj[objname].style.height?obj[objname].style.height:obj[objname].offsetHeight);
//for sliding right
endWidth[objname] = parseInt(obj[objname].style.width?obj[objname].style.width:obj[objname].offsetWidth);
if(dir[objname] == "down"){
obj[objname].style.height = "1px";
}
if(dir[objname] == "right"){
obj[objname].style.width = "1px";
}
obj[objname].style.visibility = "visible";
timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}
function slidetick(objname){
var multiplier;
if(dir[objname] == "up" || dir[objname] == "down") {multiplier = endHeight[objname]}
if(dir[objname] == "left" || dir[objname] == "right") {multiplier = endWidth[objname]}
var elapsed = (new Date()).getTime() - startTime[objname];
if (elapsed > slideAniLen)
endSlide(objname)
else {
var d =Math.round(elapsed / slideAniLen * multiplier);
if(dir[objname] == "up" ) {obj[objname].style.height = endHeight[objname] - (d - 1) +"px";}
if(dir[objname] == "left" ) {obj[objname].style.width = endWidth[objname] - (d - 1) +"px";}
if(dir[objname] == "down") {obj[objname].style.height = d + "px";}
if(dir[objname] == "right") {obj[objname].style.width = d + "px";}
}
return;
}
function endSlide(objname){
clearInterval(timerID[objname]);
if(dir[objname] == "up" || dir[objname] == "left") {obj[objname].style.visibility= "hidden";}
if(dir[objname] == "up" || dir[objname] == "down"){obj[objname].style.height = endHeight[objname] + "px";}
if(dir[objname] == "left" || dir[objname] == "right"){obj[objname].style.width = endWidth[objname] + "px";}
delete(moving[objname]);
delete(timerID[objname]);
delete(startTime[objname]);
delete(endWidth[objname]);
delete(endHeight[objname]);
delete(obj[objname]);
delete(dir[objname]);
return;
}
/* function paulScripts.advancedSnS - Paul Mendelson - 2013-09-16
* Will convert a standard search and select. It will add a button to expand/collapse the
* are selection area. The button will display how many matches have been found, and how
* many selected.
*
* The Option param will control the default search method.
* 1 = Starts with any of these keywords **DEFAULT**
* 2 = Starts with the first keyword and contains all of the remaining keywords
* 3 = Contains any of these keywords
* 4 = Contains all of these keywords
*
* Hide the options link by setting 1 in the hideOption param.
*/
paulScripts.advancedSnS = function(promptName,option,hideOption){
var prompt = paulScripts.getControl(promptName)
, elm = document.getElementsByName(prompt.getParameterName())[0].parentNode
, selectTable = elm.getElementsByTagName('table')[4]
, selectDiv = document.createElement('div')
, selectOptions = cognos.Report.getReport("_THIS_").prompt.getControlByName(promptName).getSelectOptions()
, selectChoices = cognos.Report.getReport("_THIS_").prompt.getControlByName(promptName).getSelectChoices()
, tr = elm.getElementsByTagName('button')[0].parentNode.parentNode.parentNode.appendChild(document.createElement('tr'))
, td= tr.insertCell(0)
, slideDiv = document.createElement('div')
, btn = document.createElement('input');
if(option) elm.getElementsByTagName('input')[option+2].checked=true;
if(hideOption) tr.parentNode.parentNode.parentNode.parentNode.nextSibling.style.display='none';
td.setAttribute('colSpan',2);
//Hacky - I'm not 100% on this yet. Do any IBMers have any comments?
if(typeof oReq ==='undefined') oReq = new ViewerDispatcherEntry(window['oCV'+'RS'].getRV().getCV());
if(!oReq.getFormFields().m_aValues[promptName]) oReq.addFormField(promptName,'hidden')
btn.type='button';
btn.value='';
if(!selectOptions&&!selectChoices) btn.value='click to open';
if(selectOptions) btn.value = selectOptions.length + ' found. ';
if(selectChoices) btn.value += selectChoices.c.length + ' selected.';
selectTable.parentNode.insertBefore(selectDiv,selectTable);
selectDiv.appendChild(selectTable);
//the right side of the table is a bit ugly, not enough padding.
selectDiv.style.paddingRight='5px';
// Sets the table of the select options to position absolute. This will prevent the page from expanding vertically
// when the table is visible;
selectDiv.style.position='absolute';
selectDiv.style.overflow='hidden';
selectDiv.style.backgroundColor='white';
btn.onclick = function() {
if(selectDiv.style.visibility=='hidden')
{slidedown(selectDiv);
oReq.addFormField(promptName,'visible');}
else {slideup(selectDiv);oReq.addFormField(promptName,'hidden');}
return true;
}
selectDiv.style.visibility=oReq.getFormFields().m_aValues[promptName];
td.appendChild(btn);
return true;
}
paulScripts.advancedSnS2 = function(promptName,option,hideOption){
var prompt = paulScripts.getControl(promptName)
, promptState = paulScripts.getControl(promptName+'State')
, elm = document.getElementsByName(prompt.getParameterName())[0].parentNode
, selectTable = elm.getElementsByTagName('table')[4]
, selectDiv = document.createElement('div')
, selectOptions = cognos.Report.getReport("_THIS_").prompt.getControlByName(promptName).getSelectOptions()
, selectChoices = cognos.Report.getReport("_THIS_").prompt.getControlByName(promptName).getSelectChoices()
, tr = elm.getElementsByTagName('button')[0].parentNode.parentNode.parentNode.appendChild(document.createElement('tr'))
, td= tr.insertCell(0)
, slideDiv = document.createElement('div')
, btn = document.createElement('input');
if(option) elm.getElementsByTagName('input')[option+2].checked=true;
if(hideOption) tr.parentNode.parentNode.parentNode.parentNode.nextSibling.style.display='none';
td.setAttribute('colSpan',2);
btn.type='button';
btn.value='';
if(!selectOptions&&!selectChoices) btn.value='click to open';
if(selectOptions) btn.value = selectOptions.length + ' found. ';
if(selectChoices) btn.value += selectChoices.c.length + ' selected.';
selectTable.parentNode.insertBefore(selectDiv,selectTable);
selectDiv.appendChild(selectTable);
//the right side of the table is a bit ugly, not enough padding.
selectDiv.style.paddingRight='5px';
// Sets the table of the select options to position absolute. This will prevent the page from expanding vertically
// when the table is visible;
selectDiv.style.position='absolute';
selectDiv.style.overflow='hidden';
selectDiv.style.backgroundColor='white';
btn.onclick = function() {
if(selectDiv.style.visibility=='hidden')
{slidedown(selectDiv);
promptState.setValues([{'use':'visible'}]);}
else {slideup(selectDiv);promptState.setValues([{'use':'hidden'}]);}
return true;
}
selectDiv.style.visibility=promptState.getValues()[0].use;
td.appendChild(btn);
return true;
}
</script>
FiltersProductshiddenRetailers
No Data Available
<script>
paulScripts.advancedSnS2 ('Products',3,1);
paulScripts.advancedSnS ('Retailers', 3,1);
</script>
[sales_and_marketing].[Products].[Products][sales_and_marketing].[Retailers].[Retailers] = ?Retailers?[sales_and_marketing].[Measures].[Revenue]#promptmany('Products','mun','[sales_and_marketing].[Products].[Products].[Products]->:[PC].[@MEMBER].[Products]','set(','',')')##prompt('Retailers','mun','[sales_and_marketing].[Retailers].[Retailers].[Retailers]->:[PC].[@MEMBER].[Retailers]','','[sales_and_marketing].[Retailers].[Retailers]')#[sales_and_marketing].[Retailers].[Retailers]Advanced SnS