stackoverflow demo: mvvm binding

by Dan Mathisen

HTML

<script src="http://cdn.kendostatic.com/2013.2.918/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.common.min.css">
<div id='bindme'></div>

JavaScript

var data = [{
    text: "item1",
    enabled: true,
    items: [{
        text: "item1-1",
        enabled: true,
        items: []
    }, {
        text: "item1-2",
        enabled: true,
        items: []
    }]
}, {
    text: "item2",
    enabled: true,
    items: []
}, {
    text: "item3",
    enabled: true,
    items: [{
        text: "item3-1",
        enabled: true,
        items: []
    }]
}, {
    text: "item4",
    enabled: true,
    items: []
}];

$("#bindme").kendoMenu({
    dataSource: data,
    hasChildren: function (item) {
        return item.items.length;
    }
});

var dataSource = new kendo.data.HierarchicalDataSource({
    data: data,
    change: function (e) {
        // enable / disable items in the menu
        var changedItem = e.items[0];
        var enabled = changedItem.enabled;
        var text = changedItem.text;
        var menuElem = $("#bindme").find(".k-link:contains(" + text + ")").parent();
        $("#bindme").data("kendoMenu").enable(menuElem, enabled);
    }
});
dataSource.read();

setTimeout(function () {
    dataSource.at(0).set("enabled", false);

}, 3000);