<!DOCTYPE html>
<!-- <copyright>
This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
(c) Copyright 2011 Motorola Mobility, Inc.  All Rights Reserved.
</copyright> -->
<html lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link href="ninja-branch.css" rel="stylesheet" type="text/css" />
    <script type="text/montage-serialization">
    {
        "owner": {
            "prototype" : "js/components/treeview/ninja-branch.reel[Branch]",
            "properties" : {
                "element" : {"#" : "branch"},
                "label" : { "@" : "textComponent" },
                "branchList": {"#" : "branchList"},
                "arrayController": {"@": "arrayController" },
                "repetition": {"@": "repetition"},
                "leafComponent": {"@": "leaf"},
                "branchComponent": {"@": "branch"},
                "collapser": {"#": "branchCollapser" }
            }
        },

        "textComponent" : {
            "prototype" : "montage/ui/dynamic-text.reel",
            "properties" : {
                "element" : { "#" : "label" }
            },
            "bindings" : {
                "value" : {
                    "boundObject" : {"@": "owner"},
                    "boundObjectPropertyPath": "_labelText",
                    "oneway": true
                }
            }
        },

        "arrayController": {
            "prototype": "montage/ui/controller/array-controller",
            "bindings": {
                "content": {
                    "boundObject": {"@": "owner"},
                    "boundObjectPropertyPath": "childNodes"
                }
            }
        },

        "leaf": {
            "prototype": "js/components/treeview/ninja-leaf.reel[Leaf]",
            "bindings": {
                "sourceObject": {
                    "boundObject": {"@": "repetition" },
                    "boundObjectPropertyPath": "objectAtCurrentIteration",
                    "oneway": true
                },
                "labelKey" : {
                    "boundObject": {"@": "owner" },
                    "boundObjectPropertyPath": "labelKey",
                    "oneway": true
                },
                "branchKey" : {
                    "boundObject": {"@": "owner" },
                    "boundObjectPropertyPath": "branchKey",
                    "oneway": true
                },
                "treeView" : {
                    "boundObject": {"@": "owner" },
                    "boundObjectPropertyPath": "treeView",
                    "oneway": true
                }
            }
        },

        "branch": {
            "prototype": "js/components/treeview/ninja-branch.reel[Branch]",
            "bindings": {
                "sourceObject": {
                    "boundObject": {"@": "repetition" },
                    "boundObjectPropertyPath": "objectAtCurrentIteration",
                    "oneway": true
                },
                "labelKey" : {
                    "boundObject": {"@": "owner" },
                    "boundObjectPropertyPath": "labelKey",
                    "oneway": true
                },
                "branchKey" : {
                    "boundObject": {"@": "owner" },
                    "boundObjectPropertyPath": "branchKey",
                    "oneway": true
                },
                "treeView" : {
                    "boundObject": {"@": "owner" },
                    "boundObjectPropertyPath": "treeView",
                    "oneway": true
                }
            }
        },

        "repetition": {
            "prototype": "montage/ui/repetition.reel",
            "properties": {
                "element": { "#": "branchList" },
                "contentController": {"@": "arrayController" },
                "selectionEnabled": true
            }
        },

        "substitution": {
            "prototype": "montage/ui/substitution.reel",
            "properties": {
                "element": {"#": "treeItem"},
                "switchComponents": {
                    "leaf": {"@": "leaf"},
                    "branch": {"@": "branch"}

                }
            },
            "bindings": {
                "switchValue": {
                    "boundObject": {"@": "repetition"},
                    "boundObjectPropertyPath": "objectAtCurrentIteration.treeNodeType",
                    "oneway": true
                }
            }
        }
    }
    </script>
</head>
<body>
    <div data-montage-id="branch" class="branch">
        <div data-montage-id="label" class="branch-label"></div>
        <div data-montage-id="branchCollapser" class="branchCollapser">
            <ul data-montage-id="branchList">
                <li data-montage-id="treeItem"></li>
            </ul>    
        </div>
        
    </div>
</body>
</html>