Hello.
we are testing the kendo ComboBox as part of our widget system , in order to integrate with angular we included kendo.directive modules.
the Original issue i wanted to solve was how to disable the angular binding on key press up and down .
Our directives are ES6 Classes and we using the kendo combo box directive , the problem here is its seems that the combo-box create another input element on the page and don't copy other attributes we added like angular ng-keydown , when i used the post compile method to find the new kendo input element then adding the missing properties and then $recompile the input the browser was unresponsive.
Using the kendo auto-complete directive was good because it's don't replace the original object.
_getElementHtml() {
var mapper = this.mapper;
var item = mapper ? 'item' : 'item.key';
var mdId = this.$attrs.mdId + (this.listIndex ? "-" + this.listIndex : "");
var html = [];
html.push("<div class='idi-combo-box'>");
html.push("<span ng-show='$this.filterText'>{{$this.filterText}}</span>");
var kendoType = this.isServerAutoComplete() ? 'auto-complete' : 'combo-box';
html.push("<input kendo-" + kendoType + " k-on-open='onOpen(kendoEvent)' k-options='comboConfig' k-data-source='comboList' k-on-select='onSelection(kendoEvent)' ");
html.push(" type='text' ng-show='!$this.filterText' id='" + mdId + "'");
html.push(" ng-model='kendoInput' ");
html.push(" tooltip-placement='bottom' ");
html.push(" tooltip='{{$this.tooltip}}' ");
html.push(" ng-keydown='$this._onKeyDown($event)'");
html.push(" ng-keypress='$this._onKeyPress($event,$this)'");
html.push(" ui-mask='{{::$this.mask}}'");
html.push((this.$attrs.readOnly ? 'readonly="readonly" ' : ''));
html.push("/>");
html.push("</div>");
return html.join('');
}
thanks in advance,
elad.