You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
5.9 KiB
207 lines
5.9 KiB
<html>
|
|
<head>
|
|
<script language="javascript" src="../dom.js"></script>
|
|
<script language="javascript" src="../bolist.js"></script>
|
|
<script language="javascript">
|
|
var skin=parent._skin?parent._skin:"skin_standard";
|
|
var lang=parent._lang?parent._lang:"en";
|
|
|
|
initDom("../images/"+skin+"/",lang)
|
|
styleSheet()
|
|
</script>
|
|
|
|
<script language="javascript">
|
|
|
|
// ---------------------------------------------
|
|
// Functions here
|
|
// ---------------------------------------------
|
|
|
|
function changeCB() { status="ChangeCB "+this.id }
|
|
function dblClickCB() { status="dblClickCB "+this.id }
|
|
function moveCB() { status="moveCB "+this.id }
|
|
function deleteCB()
|
|
{
|
|
var sel=this.getSelection()
|
|
if (sel)
|
|
this.getElement(sel.index).remove()
|
|
}
|
|
|
|
function loadCB()
|
|
{
|
|
for (var i in bolist)
|
|
{
|
|
bolistContainer[i].init()
|
|
bolistContainer[i].resize(500)
|
|
|
|
bolist[i].add("First item",0,"value1","tooltip",-1)
|
|
bolist[i].add("Second item",1,"value2","tooltip",-1)
|
|
bolist[i].add("Third item",2,"value3","tooltip",-1)
|
|
}
|
|
|
|
bolist[1].select(2)
|
|
bolist[2].selectByVal("value3")
|
|
|
|
|
|
addCombo.init()
|
|
addLabel.init()
|
|
addButton.init()
|
|
addEndButton.init()
|
|
|
|
addCombo.add("Dimension","0",true)
|
|
addCombo.add("Measure","1")
|
|
addCombo.add("Detail","2")
|
|
addCombo.add("Filter","3")
|
|
}
|
|
|
|
// ---------------------------------------------
|
|
// Buttons and related functions here
|
|
// ---------------------------------------------
|
|
|
|
addCombo = newComboWidget("addCombo")
|
|
addButton = newButtonWidget("addButton","Add (Beginning)","addElem(true)",100)
|
|
addEndButton = newButtonWidget("addEndButton","Add (End)","addElem()",100)
|
|
addLabel = newTextFieldWidget("addLabel",null,null,null,addElem,false,null,100)
|
|
remButton = newButtonWidget("remButton","Remove Selection","removeSelection()",100)
|
|
|
|
valueIdx=0
|
|
|
|
function addElem(begin)
|
|
{
|
|
var idx = addCombo.getSelection().index+1
|
|
for (var i in bolist)
|
|
{
|
|
var val="manualAdded"+(valueIdx++)
|
|
bolist[i].add(addLabel.getValue(),idx,val,addLabel.getValue(),begin?0:-1)
|
|
bolist[i].selectByVal(val)
|
|
}
|
|
}
|
|
|
|
function removeSelection()
|
|
{
|
|
for (var i in bolist)
|
|
{
|
|
var sel=bolist[i].getSelection()
|
|
if (sel)
|
|
bolist[i].getElement(sel.index).remove()
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------
|
|
// Drag and Drop
|
|
// ---------------------------------------------
|
|
|
|
function dragCB(source)
|
|
{
|
|
//status="dragCB()"
|
|
}
|
|
|
|
function acceptDropCB(source, target, ctrl, shift)
|
|
{
|
|
//status="acceptDropCB()"
|
|
return true
|
|
}
|
|
|
|
function dropCB(source, target, ctrl, shift)
|
|
{
|
|
// ctrl means Drag Drop COPY
|
|
// shift means Drag Drop SWAP
|
|
// no modifiers means Drag Drop MOVE
|
|
|
|
var sourceItem = source.selection
|
|
var targetItem = target.dropWidget
|
|
var index = target.dropIndex
|
|
|
|
if (shift)
|
|
{
|
|
targetItem = targetItem.items[index]
|
|
var n1=source.add(targetItem.text,targetItem.imgIndex,targetItem.value,targetItem.tooltip,sourceItem.getIndexInParent())
|
|
var n2=target.add(sourceItem.text,sourceItem.imgIndex,sourceItem.value,sourceItem.tooltip,targetItem.getIndexInParent())
|
|
|
|
sourceItem.remove()
|
|
targetItem.remove()
|
|
|
|
n1.select(true)
|
|
n2.select(true)
|
|
}
|
|
else
|
|
{
|
|
var n = target.add(sourceItem.text,sourceItem.imgIndex,sourceItem.value,sourceItem.tooltip,index)
|
|
|
|
if (!ctrl)
|
|
sourceItem.remove()
|
|
|
|
n.select(true)
|
|
}
|
|
}
|
|
|
|
|
|
// ---------------------------------------------
|
|
// Create the BOLists here
|
|
// ---------------------------------------------
|
|
|
|
bolist = new Array
|
|
bolistContainer = new Array
|
|
|
|
|
|
bolistContainer[0] = newBOListContainerWidget("bolist0",550,100,"treeicons.gif",_wrapBOList,changeCB,dblClickCB,moveCB,deleteCB,true)
|
|
bolistContainer[1] = newBOListContainerWidget("bolist1",550,150,"treeicons.gif",_vertBOList,changeCB,dblClickCB,moveCB,deleteCB,true)
|
|
bolistContainer[2] = newBOListContainerWidget("bolist2",550,70,"treeicons.gif",_horiBOList,changeCB,dblClickCB,moveCB,deleteCB,true)
|
|
|
|
for (var i=0; i<bolistContainer.length; i++)
|
|
{
|
|
bolist[i] = bolistContainer[i].getList()
|
|
bolist[i].setDragDrop(dragCB,acceptDropCB,dropCB)
|
|
|
|
|
|
bolist[i].add("Inserted before Init",3,"valueBef1","tooltip",-1)
|
|
bolist[i].add("Inserted before Init",4,"valueBef2","tooltip",-1)
|
|
}
|
|
|
|
bolist[0].select(0)
|
|
|
|
</script>
|
|
</head>
|
|
<body onload="loadCB()">
|
|
|
|
<table width="100%"><tr><td align="center" valign="middle">
|
|
<div class="insetBorder"><div class="dialogzone" style="padding:15px">
|
|
|
|
<table class="dialogzone" border="0" cellspacing="5">
|
|
<tr>
|
|
<td align="left">Add an item</td>
|
|
<td align="left"><script language="javascript">addButton.write();addEndButton.write();</script></td>
|
|
<td></td>
|
|
<td><script language="javascript">addCombo.write();addLabel.write()</script></td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<script language="javascript">remButton.write()</script>
|
|
<br>
|
|
|
|
|
|
|
|
<u><b>Wrapped BO List</b></u><br><br>
|
|
|
|
<br>To delete an item, select it and press DEL, to move an item, drag and drop it (also between lists); to copy an item, use CTRL with drag and drop<br>
|
|
<table border="0"><tr valign="top"><td class="dialogzone">
|
|
<script language="javascript">bolistContainer[0].write()</script>
|
|
</td></tr></table>
|
|
|
|
<br>
|
|
<u><b>Vertical BO List</b></u><br><br>
|
|
<table border="0"><tr valign="top"><td class="dialogzone">
|
|
<script language="javascript">bolistContainer[1].write()</script>
|
|
</td></tr></table>
|
|
|
|
<br>
|
|
<u><b>Horizontal BO List</b></u><br><br>
|
|
<table border="0"><tr valign="top"><td class="dialogzone">
|
|
<script language="javascript">bolistContainer[2].write()</script>
|
|
</td></tr></table>
|
|
|
|
</div></div>
|
|
</td></tr></table>
|
|
|
|
</body>
|
|
|
|
</html> |