Hi~
I have trouble in editing treeview node when I set up dragAndDrop option true.
I changed dragAndDrop options false, it worked.
Here is my code....
I'm using angularjs.
===========================================================
html file
--------------------------------------------------------------------------------------------------------------
<div kendo-tree-view="tree" k-options="option1" id="treeView"></div>
<!-- treeview template -->
<script id="treeview-template" type="text/kendo-ui-template">
<a ng-click="edit($event)" ><span>#: item.text #</span></a>
</script>
============================================================
controller file
------------------------------------------------------------------------------------------------------------------
$scope.option1 = {
dataSource : treeData,
dragAndDrop : true,
template: kendo.template($("#treeview-template").html()),
loadOnDemand : true
};
$scope.edit = function(e) {
var treeview = $scope.tree;
var node = $(e.target).closest(".k-item");
if (confirm("edit?")) {
var id = treeview.dataItem(node).id;
var origin_html = $(node).find("a")[0].outerHTML;
var replacehtml = "<input type='text' id='newnode' value='"
+ treeview.dataItem(node).text + "'>";
//$(node).find("a").html(replacehtml);
$(node).find("a")[0].outerHTML = replacehtml;
$("#newnode").focus();
$(node).on("keypress","input",
function(event) {
if (event.keyCode == 13) {
var newVal = $("#newnode").val();
$(node).find("input#newnode")[0].outerHTML = origin_html;
$(node).find("a").text(newVal);
var dataItem = treeview.dataSource.get(id);
$(treeview.findByUid(dataItem.uid)).each(function() {
treeview.text(this,newVal);
});
}
});
};
=================================================================================
This is my code.
When I click a node name, html code change contained input tag.
<a ng-click="edit($event")><span> node name </span></a>
-> <input type="text" id="newnode" value="node name">
But I can't write down anythin in it. A cusor blur away immidiately.
Why it happened? and how to fix it?
And there is any way to change treeview's option 'dragAndDrop: true' to 'dragAndDrop:false' after called $scope.edit() function?
please help!! ㅠ.ㅠ
I have trouble in editing treeview node when I set up dragAndDrop option true.
I changed dragAndDrop options false, it worked.
Here is my code....
I'm using angularjs.
===========================================================
html file
--------------------------------------------------------------------------------------------------------------
<div kendo-tree-view="tree" k-options="option1" id="treeView"></div>
<!-- treeview template -->
<script id="treeview-template" type="text/kendo-ui-template">
<a ng-click="edit($event)" ><span>#: item.text #</span></a>
</script>
============================================================
controller file
------------------------------------------------------------------------------------------------------------------
$scope.option1 = {
dataSource : treeData,
dragAndDrop : true,
template: kendo.template($("#treeview-template").html()),
loadOnDemand : true
};
$scope.edit = function(e) {
var treeview = $scope.tree;
var node = $(e.target).closest(".k-item");
if (confirm("edit?")) {
var id = treeview.dataItem(node).id;
var origin_html = $(node).find("a")[0].outerHTML;
var replacehtml = "<input type='text' id='newnode' value='"
+ treeview.dataItem(node).text + "'>";
//$(node).find("a").html(replacehtml);
$(node).find("a")[0].outerHTML = replacehtml;
$("#newnode").focus();
$(node).on("keypress","input",
function(event) {
if (event.keyCode == 13) {
var newVal = $("#newnode").val();
$(node).find("input#newnode")[0].outerHTML = origin_html;
$(node).find("a").text(newVal);
var dataItem = treeview.dataSource.get(id);
$(treeview.findByUid(dataItem.uid)).each(function() {
treeview.text(this,newVal);
});
}
});
};
=================================================================================
This is my code.
When I click a node name, html code change contained input tag.
<a ng-click="edit($event")><span> node name </span></a>
-> <input type="text" id="newnode" value="node name">
But I can't write down anythin in it. A cusor blur away immidiately.
Why it happened? and how to fix it?
And there is any way to change treeview's option 'dragAndDrop: true' to 'dragAndDrop:false' after called $scope.edit() function?
please help!! ㅠ.ㅠ