<!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="branch.css" rel="stylesheet" type="text/css" />
    <script type="text/montage-serialization">
    {
        "owner": {
            "module" : "js/components/treeview/branch.reel",
            "name" : "Branch",
            "properties" : {
                "element" : {"#" : "branch"},
                "label" : { "@" : "textComponent" },
                "branchList": {"#" : "branchList"},
                "arrayController": {"@": "arrayController" },
                "repetition": {"@": "repetition"},
                "leafComponent": {"@": "leaf"},
                "branchComponent": {"@": "branch"}
            }
        },

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

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

        "leaf": {
            "module": "js/components/treeview/leaf.reel",
            "name": "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": {
            "module": "js/components/treeview/branch.reel",
            "name": "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": {
            "module": "montage/ui/repetition.reel",
            "name": "Repetition",
            "properties": {
                "element": { "#": "branchList" },
                "contentController": {"@": "arrayController" }
            }
        },

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

                }
            },
            "bindings": {
                "switchValue": {
                    "boundObject": {"@": "repetition"},
                    "boundObjectPropertyPath": "objectAtCurrentIteration.treeNodeType",
                    "oneway": true
                }
            }
        }
    }
    </script>
</head>
<body>
    <div id="branch" class="branch">
        <span id="label" class="branch-label"></span>

        <ul id="branchList">
            <li id="treeItem"></li>
        </ul>
    </div>
</body>
</html>