Drag and drop tree node : Tree « SmartClient « JavaScript DHTML






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 &amp; 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

1.Animated tree: node collapse and open
2.Add node to tree
3.Remove node from tree
4.Open all tree nodes
5.Close all tree nodes
6.Customize tree skin