Click here to Skip to main content
15,892,927 members
Articles / Web Development / HTML

HTML5 Knockout TriState Tree Control

Rate me:
Please Sign up or sign in to vote.
4.67/5 (5 votes)
22 Oct 2012CPOL4 min read 34.3K   1.7K   9  
Used HTML5 Knockout MVVM binding to make TriState Tree Control

// No var in javascript is globale variable
sampleNode =
               {
                   displayText: 'RootNode',
                   defaultState: false,
                   Childs:
                       [
                       {
                           displayText: 'Node1',
                           defaultState: false,
                           Childs:
                               [
                                   {
                                       displayText: 'Node1-1',
                                       defaultState: false,
                                       Childs: []
                                   }
                                   ,
                                   {
                                       displayText: 'Node1-2',
                                       defaultState: false,
                                       Childs:
                                               [
                                                   {
                                                       displayText: 'Node1-2-1',
                                                       defaultState: false,
                                                       Childs: []
                                                   }
                                                   ,
                                                   {
                                                       displayText: 'Node1-2-2',
                                                       defaultState: false,
                                                       Childs:
                                                           [
                                                               {
                                                                   displayText: 'Node1-2-2-1',
                                                                   defaultState: false,
                                                                   Childs: []
                                                               }
                                                               ,
                                                               {
                                                                   displayText: 'Node1-2-2-1',
                                                                   defaultState: false,
                                                                   Childs:

                                                                           [
                                                                               {
                                                                                   displayText: 'Node1-2-2-1-1',
                                                                                   defaultState: false,
                                                                                   Childs: []
                                                                               }
                                                                               ,
                                                                               {
                                                                                   displayText: 'Node1-2-2-2',
                                                                                   defaultState: false,
                                                                                   Childs: []
                                                                               }
                                                                           ]


                                                               }
                                                           ]
                                                   }

                                               ]
                                   }
                                   ,
                                   {
                                       displayText: 'Node1-3',
                                       defaultState: false,
                                       Childs:
                                               [
                                                   {
                                                       displayText: 'Node1-3-1',
                                                       defaultState: false,
                                                       Childs: []
                                                   }
                                                   ,
                                                   {
                                                       displayText: 'Node1-3-2',
                                                       defaultState: false,
                                                       Childs:
                                                           [

                                                               {
                                                                   displayText: 'Node1-3-1',
                                                                   defaultState: false,
                                                                   Childs: []
                                                               }
                                                               ,
                                                               {
                                                                   displayText: 'Node1-3-2',
                                                                   defaultState: false,
                                                                   Childs: []
                                                               }
                                                           ]

                                                   }
                                               ]
                                   }
                               ]
                       }
                       ,
                       {
                           displayText: 'Node2',
                           defaultState: false,
                           Childs:
                               [
                                   {
                                       displayText: 'Node2-1',
                                       defaultState: false,
                                       Childs: []
                                   }
                                   ,
                                   {
                                       displayText: 'Node2-2',
                                       defaultState: false,
                                       Childs:
                                           [

                                               {
                                                   displayText: 'Node2-2-1',
                                                   defaultState: false,
                                                   Childs: []
                                               }
                                               ,
                                               {
                                                   displayText: 'Node2-2-2',
                                                   defaultState: false,
                                                   Childs:
                                                       [

                                                           {
                                                               displayText: 'Node2-2-2-1',
                                                               defaultState: false,
                                                               Childs: []
                                                           }
                                                           ,
                                                           {
                                                               displayText: 'Node2-2-2-2',
                                                               defaultState: false,
                                                               Childs: []
                                                           }
                                                       ]
                                               }
                                           ]
                                   }
                                   ,
                                   {
                                       displayText: 'Node2-3',
                                       defaultState: false,
                                       Childs:
                                           [

                                                   {
                                                       displayText: 'Node2-3-1',
                                                       defaultState: false,
                                                       Childs: []
                                                   }
                                                   ,
                                                   {
                                                       displayText: 'Node2-3-2',
                                                       defaultState: false,
                                                       Childs: []
                                                   }
                                           ]
                                   }
                               ]
                       }
                       ,
                       {
                           displayText: 'Node3',
                           defaultState: true,
                           Childs:
                               [
                                   {
                                       displayText: 'Node3-1',
                                       defaultState: true,
                                       Childs: []
                                   }
                                   ,
                                   {
                                       displayText: 'Node3-2',
                                       defaultState: true,
                                       Childs: [

                                                               {
                                                                   displayText: 'Node3-2-1',
                                                                   defaultState: true,
                                                                   Childs: []
                                                               }
                                                               ,
                                                               {
                                                                   displayText: 'Node3-2-2',
                                                                   defaultState: true,
                                                                   Childs:
                                                                       [

                                                                           {
                                                                               displayText: 'Node3-2-2-1',
                                                                               defaultState: true,
                                                                               Childs: []
                                                                           }
                                                                           ,
                                                                           {
                                                                               displayText: 'Node3-2-2-2',
                                                                               defaultState: true,
                                                                               Childs: []
                                                                           }
                                                                       ]
                                                               }
                                       ]
                                   }
                                   ,
                                   {
                                       displayText: 'Node3-3',
                                       defaultState: true,
                                       Childs: [

                                                               {
                                                                   displayText: 'Node3-3-1',
                                                                   defaultState: true,
                                                                   Childs:
                                                                       [

                                                                           {
                                                                               displayText: 'Node3-3-1-1',
                                                                               defaultState: true,
                                                                               Childs: []
                                                                           }
                                                                           ,
                                                                           {
                                                                               displayText: 'Node3-3-1-2',
                                                                               defaultState: true,
                                                                               Childs: []
                                                                           }
                                                                       ]
                                                               }
                                                               ,
                                                               {
                                                                   displayText: 'Node3-3-2',
                                                                   defaultState: true,
                                                                   Childs: [

                                                                               {
                                                                                   displayText: 'Node3-3-2-1',
                                                                                   defaultState: true,
                                                                                   Childs: []
                                                                               }
                                                                               ,
                                                                               {
                                                                                   displayText: 'Node3-3-2-2',
                                                                                   defaultState: true,
                                                                                   Childs: []
                                                                               }
                                                                   ]
                                                               }
                                       ]
                                   }
                               ]
                       }

                       ]
               };

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
India India
Myself from the dream city of Mumbai,India.
Academically, I have completed Degree and Diploma in Computer Science engineering

I started working as a freelance programmer, on fronts like embedded systems, web, windows , using Microsoft as well as Sun technologies.

Presently working in a reputed IT company.

Comments and Discussions