Kendo ComboBox with template bug

Selection by keyboard navigation work but selection by mouse click does not close the cell and when you click off it erases the selection. Pressing ESC after mouse selection maintains the data.

by siliconsoul

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.debug.js"></script>
<link rel="stylesheet" href="http://rniemeyer.github.com/knockout-kendo/css/kendo.common.min.css">
<link rel="stylesheet" href="http://rniemeyer.github.com/knockout-kendo/css/kendo.default.min.css">
<script src="https://rawgithub.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.debug.js"></script>
<script src="http://rniemeyer.github.io/knockout-kendo/js/knockout-kendo.min.js"></script>
<script src="http://cdn.kendostatic.com/2013.1.319/js/kendo.all.min.js"></script>
<div id="majorCodeGrid" data-bind="kendoGrid:{
  data: $data.Estimates,
  dataSource: {
      batch: true,
      schema: {
        model: {
          id: 'Id',
          fields: {
            Id: { editable: false, nullable: false },
            MajorCode: {editable: true }
          }
        }
      }
   },
    height: 250,
  editable: 'incell',
  navigatable: true,
  columns: [{
    field: 'MajorCode.Code',
    title: 'Major Code',
    attributes: { style: 'max-width: 150px'},
  template: function(detail) { return detail.MajorCodeTemplate(); },
  editor: function(container, options) { 
    return options.model.MajorCodeEditor(container, options);
  }                         
  }]
  }">/</div>

JavaScript

var PageViewModel = function (data, lookups) {
    var estimates = this;
    var mapping = {
        'Estimates': {
            key: function (model) {
                return ko.utils.unwrapObservable(model.Id);
            },
            create: function (options) {
                return new EstimateViewModel(options.data, true);
            }
        }
    };
    ko.mapping.fromJS(data, mapping, estimates);

  return this;
};

var EstimateViewModel = function(data, mapThis) {
    var estimate = this;
    if (mapThis) {
        ko.mapping.fromJS(data, {}, estimate);
    } 
};

EstimateViewModel.prototype = {
    MajorCodeEditor: function (container, options) {
        $('<input id="majorCodeDD" data-bind="value: MajorCode" style="width: 100%"/>')
            .appendTo(container)
            .kendoComboBox({
                placeHolder: 'Select Major Code..',
                dataTextField: 'Code',
                dataValueField: 'Id',
                dataSource: majorCodes,
                autoBind: true,
                suggest: true,
                filter: "startswith"
            });
    },
    MajorCodeTemplate: function () {
        var code = this.HasMajorCode() ? this.MajorCode.Code : 'Select Major Code..';
        return '<span>' + code + '</span>';
    },
    HasMajorCode: function () {
        return this.MajorCode !== null && (this.MajorCode.Id != NullMajorCode.Id);
    }  
};

var majorCodes = [{"Id":"ecdb3506-dea0-4965-9f7b-ec9f6f75b113","Code":"13111","Description":"FCP - Prospect"},{"Id":"879fbc83-de0c-467f-b66d-3cc3ceaf10d8","Code":"13112","Description":"FCP - Leasehold"},{"Id":"7ea641a1-f380-43ce-b8f2-6a2cb0b9f5bf","Code":"13121","Description":"FCP - Geo"},{"Id":"4bd6ed20-40df-4c77-9e59-4bae47d35fa7","Code":"13131","Description":"FCP - Drill"}];

var NullMajorCode = {
    Id: '00000000-0000-0000-0000-000000000000',
    Code: '',
    Description: ''
};

var pageViewData = {"Estimates" :[{"Id":"4bd6ed20-40df-4c77-9e59-4bae47d35fa7", "MajorCode":...