How to prevent an item to be sorted (fix positon) in Kendo Sortable / Integration - ListView?
up vote
0
down vote
favorite
var dataSource = new kendo.data.DataSource(
data: anArray
)
var listView = $("#listView").kendoListView(
name: "listView",
tagname: "div",
dataSource: dataSource,
template: kendo.template($("#listview-template").html()),
);
listView.kendoSortable(
filter: ">div.myclass",
cursor: "move",
placeholder: function (element)
return element.clone().addClass("placeholder").text("position here")
,
hint: function (element)
return element.clone().removeClass("k-state-selected");
,
change or move or end?: function(e)
if(e.newIndex==35)
--e.newIndex;
console.log(e.newIndex); //output is 34, but the element is moved to 35
);
I want to prevent that the dragged item can be inserted after an itemA (instead, it could be inserted to the previous index) and also that itemA cannot be dragged.
So itemA has to stay fixed on its position.
javascript events kendo-listview kendo-sortable
add a comment |
up vote
0
down vote
favorite
var dataSource = new kendo.data.DataSource(
data: anArray
)
var listView = $("#listView").kendoListView(
name: "listView",
tagname: "div",
dataSource: dataSource,
template: kendo.template($("#listview-template").html()),
);
listView.kendoSortable(
filter: ">div.myclass",
cursor: "move",
placeholder: function (element)
return element.clone().addClass("placeholder").text("position here")
,
hint: function (element)
return element.clone().removeClass("k-state-selected");
,
change or move or end?: function(e)
if(e.newIndex==35)
--e.newIndex;
console.log(e.newIndex); //output is 34, but the element is moved to 35
);
I want to prevent that the dragged item can be inserted after an itemA (instead, it could be inserted to the previous index) and also that itemA cannot be dragged.
So itemA has to stay fixed on its position.
javascript events kendo-listview kendo-sortable
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
var dataSource = new kendo.data.DataSource(
data: anArray
)
var listView = $("#listView").kendoListView(
name: "listView",
tagname: "div",
dataSource: dataSource,
template: kendo.template($("#listview-template").html()),
);
listView.kendoSortable(
filter: ">div.myclass",
cursor: "move",
placeholder: function (element)
return element.clone().addClass("placeholder").text("position here")
,
hint: function (element)
return element.clone().removeClass("k-state-selected");
,
change or move or end?: function(e)
if(e.newIndex==35)
--e.newIndex;
console.log(e.newIndex); //output is 34, but the element is moved to 35
);
I want to prevent that the dragged item can be inserted after an itemA (instead, it could be inserted to the previous index) and also that itemA cannot be dragged.
So itemA has to stay fixed on its position.
javascript events kendo-listview kendo-sortable
var dataSource = new kendo.data.DataSource(
data: anArray
)
var listView = $("#listView").kendoListView(
name: "listView",
tagname: "div",
dataSource: dataSource,
template: kendo.template($("#listview-template").html()),
);
listView.kendoSortable(
filter: ">div.myclass",
cursor: "move",
placeholder: function (element)
return element.clone().addClass("placeholder").text("position here")
,
hint: function (element)
return element.clone().removeClass("k-state-selected");
,
change or move or end?: function(e)
if(e.newIndex==35)
--e.newIndex;
console.log(e.newIndex); //output is 34, but the element is moved to 35
);
I want to prevent that the dragged item can be inserted after an itemA (instead, it could be inserted to the previous index) and also that itemA cannot be dragged.
So itemA has to stay fixed on its position.
javascript events kendo-listview kendo-sortable
javascript events kendo-listview kendo-sortable
edited Nov 9 at 11:12
asked Nov 8 at 16:13
thestruggleisreal
619
619
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
I found the answer and here is a demo: https://demos.telerik.com/kendo-ui/sortable/filter-disable
.
For my specific case:
There is no need to modify e.newIndex.
With filter: "div.myclass.sortable"
, I allow that only divs with the class "sortable" are sortable.
I give all div.myclass elements the class sortable (in my Kendo-listview-template).
For preventing a div to be sorted, I search it and remove the class sortable:
var sortableItems = $(".sortable");
var nonSortableItem = sortableItems[35];
nonSortableItem.classList.remove("sortable"); //now that one stays fix
If you just want that you cannot move an item (but it does not have to stay fix when other items move), you have to use disable instead of filter (@see also in the demo above).
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
I found the answer and here is a demo: https://demos.telerik.com/kendo-ui/sortable/filter-disable
.
For my specific case:
There is no need to modify e.newIndex.
With filter: "div.myclass.sortable"
, I allow that only divs with the class "sortable" are sortable.
I give all div.myclass elements the class sortable (in my Kendo-listview-template).
For preventing a div to be sorted, I search it and remove the class sortable:
var sortableItems = $(".sortable");
var nonSortableItem = sortableItems[35];
nonSortableItem.classList.remove("sortable"); //now that one stays fix
If you just want that you cannot move an item (but it does not have to stay fix when other items move), you have to use disable instead of filter (@see also in the demo above).
add a comment |
up vote
0
down vote
accepted
I found the answer and here is a demo: https://demos.telerik.com/kendo-ui/sortable/filter-disable
.
For my specific case:
There is no need to modify e.newIndex.
With filter: "div.myclass.sortable"
, I allow that only divs with the class "sortable" are sortable.
I give all div.myclass elements the class sortable (in my Kendo-listview-template).
For preventing a div to be sorted, I search it and remove the class sortable:
var sortableItems = $(".sortable");
var nonSortableItem = sortableItems[35];
nonSortableItem.classList.remove("sortable"); //now that one stays fix
If you just want that you cannot move an item (but it does not have to stay fix when other items move), you have to use disable instead of filter (@see also in the demo above).
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
I found the answer and here is a demo: https://demos.telerik.com/kendo-ui/sortable/filter-disable
.
For my specific case:
There is no need to modify e.newIndex.
With filter: "div.myclass.sortable"
, I allow that only divs with the class "sortable" are sortable.
I give all div.myclass elements the class sortable (in my Kendo-listview-template).
For preventing a div to be sorted, I search it and remove the class sortable:
var sortableItems = $(".sortable");
var nonSortableItem = sortableItems[35];
nonSortableItem.classList.remove("sortable"); //now that one stays fix
If you just want that you cannot move an item (but it does not have to stay fix when other items move), you have to use disable instead of filter (@see also in the demo above).
I found the answer and here is a demo: https://demos.telerik.com/kendo-ui/sortable/filter-disable
.
For my specific case:
There is no need to modify e.newIndex.
With filter: "div.myclass.sortable"
, I allow that only divs with the class "sortable" are sortable.
I give all div.myclass elements the class sortable (in my Kendo-listview-template).
For preventing a div to be sorted, I search it and remove the class sortable:
var sortableItems = $(".sortable");
var nonSortableItem = sortableItems[35];
nonSortableItem.classList.remove("sortable"); //now that one stays fix
If you just want that you cannot move an item (but it does not have to stay fix when other items move), you have to use disable instead of filter (@see also in the demo above).
edited Nov 9 at 11:12
answered Nov 9 at 10:57
thestruggleisreal
619
619
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211764%2fhow-to-prevent-an-item-to-be-sorted-fix-positon-in-kendo-sortable-integratio%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown