Drag and drop tree node
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are
licensed under the terms of the GNU Lesser General Public License, version 3.
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you'd like to support SmartClient LGPL,
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection
(http://www.iconexperience.com) and may be freely used with any SmartClient components without charge,
but may not be used as part of screen designs separate from SmartClient components without a purchase
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.com/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008.
-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->
<HEAD>
<SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
<SCRIPT SRC=isomorphic/skins/standard/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR='silver'>
<SCRIPT>
isc.Tree.create({ID:"partsTree1", root:{children:[
{name:"Bin 1", children:[
{name:"Blue Cube",},
{name:"Yellow Cube", },
{name:"Green Cube", }
]},
{name:"Bin 2", children:[
{name:"Blue Piece", },
{name:"Yellow Piece", },
{name:"Green Piece", icon:"http://www.java2s.com/style/logo.png"}
]}
]}})
isc.Tree.create({ID:"partsTree2", root:{children:[
{name:"Bin 3", children:[
{name:"Blue Part",},
{name:"Green Part",},
{name:"Yellow Part",}
]}
]}})
partsTree1.openAll();
partsTree2.openAll();
isc.defineClass("PartsTreeGrid","TreeGrid").addProperties({
width:200, height:200,
showEdges:true, border:"0px", bodyStyleName:"normal",
alternateRecordStyles:true, showHeader:false, leaveScrollbarGap:false,
emptyMessage:"<br>Drag & drop parts here",
manyItemsImage:"cubes_all.png",
appImgDir:"pieces/16/"
})
isc.HStack.create({membersMargin:10, height:160, members:[
isc.PartsTreeGrid.create({
ID:"myTree1",
data: partsTree1,
canReorderRecords: true,
canAcceptDroppedRecords: true,
canDragRecordsOut: true,
dragDataAction: "move"
}),
isc.VStack.create({width:32, height:74, layoutAlign:"center", membersMargin:10, members:[
isc.Img.create({src:"icons/32/arrow_right.png", width:32, height:32,
click:"myTree2.transferSelectedData(myTree1)"
}),
isc.Img.create({src:"icons/32/arrow_left.png", width:32, height:32,
click:"myTree1.transferSelectedData(myTree2)"
})
]}),
isc.PartsTreeGrid.create({
ID:"myTree2",
left:250,
data: partsTree2,
canDragRecordsOut: true,
canAcceptDroppedRecords: true,
canReorderRecords: true
})
]})
</SCRIPT>
</BODY>
Related examples in the same category