Telerik Forums
Kendo UI for jQuery Forum
1 answer
229 views
I can move rows from the nested grid up to the master grid, but I can't get it to work the other way. Any help would be appreciated.
Nikolay
Telerik team
 answered on 31 May 2021
1 answer
178 views

Hello all,

I'm working on accessibility features for one of our kendo grids, and our version of kendo ui is v2012.2.710. This one has both sortable and scrollable set to true. One problem is that if scrollable is set to true the headers and body are broken up into two separate tables, and so the headings to not get read when using screen reader navigation (which is using ctrl and the arrow keys to navigate within the table). The screen reader also correctly reads there are two tables and thus you can't navigate easily from the headings to the body using screen reader controls. The other problem being that setting sortable to true makes it so the headings are read off as links.

For the scrollable problem, I've simply set scrollable to false for now, but is there a way to keep this functionality and have the table not be broken up? Or to add some sort of setting to trick the screen reader into thinking it's all one table? I've read about adding scope="col" as an attribute to the headings but that doesn't seem to address the problem.

For sorting, I'm having a lot more difficulty. I've tried using aria-labels but I can't seem to get a consistent fix working for it. When trying to relabel the headings it seems to break the heading association that setting scrollable to false fixes, I'll get a generic "Column 1" read back to me instead of the heading name. I'm also getting mixed results when dealing with the two different screen readers (NVDA and Narrator) that we test against.

Thus far I've had the best luck setting both scrollable and sortable to false and making sure every column has fields and titles set for it. Just wondering if there's an official answer on this or if someone's been through this. I know we've got a pretty old version of kendo to work with and if you know of an update that addresses this, that's helpful as well.

Thanks!

Georgi
Telerik team
 answered on 04 May 2021
4 answers
216 views
Hello,
is it possible to drag more than one item from one list to another? or is this feature in planing?

For selecting more than 1 here is an angularjs example:

Angular Multiple Selection

combined with

Kendo linkedlist

Regards,
Sven
Alex Hajigeorgieva
Telerik team
 answered on 09 Oct 2020
17 answers
432 views
Hi,

It seems that changed values in fields are not retained if the grid has inline editing enabled and a sortable widget created on it. Here's a quick demo:

http://trykendoui.telerik.com/eYUJ

The only way to save values is to tab out of the field, rather than clicking somewhere else. If the sortable widget is not created it's fine, though.

I've been able to reproduce this with both the official Q1 release and the latest internal build (2014.1.409). Is this a known issue?

Thanks,
Nick
Eyup
Telerik team
 answered on 18 Sep 2020
10 answers
374 views

The following does not work:

<div class="col-lg-8" id="toolbarContainer" data-ng-show="!showToolbarButtons" style="overflow:hidden;">
<div class="col-lg-1" style="padding-top: 5px;">
<kendo-button id="leftScrollButton" data-ng-click="scrollingLeft()" style="float: right;">
<span class="k-icon k-i-arrow-w"></span></kendo-button>
</div>
<div class="k-button-group" id="toolbarButtonGroup" kendo-sortable k-change="onChangeButtons" k-container="toolbarContainer"
k-auto-scroll="true" style="padding-top: 5px; overflow:hidden">
<span ng-repeat="availableWindow in availableWindows">
<kendo-button
style="font-size: 8pt"
data-ng-style="getButtonStyle(availableWindow.id)"
data-ng-click="toolbarButton(availableWindow.id)">
{{availableWindow.shortName ? availableWindow.shortName : availableWindow.window.title()}}
</kendo-button>
</span>
</div>
<div class="col-lg-1" style="padding-top: 5px">
<kendo-button id="rightScrollButton" data-ng-click="scrollingRight()">
<span class="k-icon k-i-arrow-e"></span></kendo-button>
</div>
</div>

Anton Mironov
Telerik team
 answered on 14 Sep 2020
1 answer
138 views

I am using kendo UI sortable without grid in my application. But it seems IE browser is not compatible for it. Our application is using AngularJS with select and ng-repeat. I was able to get it work for Chrome and Firefox but not with IE. Below is the code snippet for HTML

<select class="form-control" kendo-sortable k-on-end="endHandler(kendoEvent)" 
            k-placeholder="placeholder" k-hint="hint" id="favorite_reports" selectedClass= "selected"
            multiple ng-model="favoriteReports.chosenReports">
        <option ng-repeat="link in config.links">
            {{link.NAME}}
        </option>
</select>

JS:

$scope.endHandler = function (e) {
        var sortable = e.sender;
        // prevent the sortable from modifying the DOM
        e.sender.draggable.dropped = true;
        e.preventDefault();
        // update the model and let Angular update the DOM
        $timeout(function () {
            $scope.$apply(function () {
                $scope.config.links.splice(
                  e.newIndex, 0, $scope.config.links.splice(e.oldIndex, 1)[0]
                );
            });
        });
    };
    $scope.placeholder = function (element) {
        return element.clone().addClass("placeholder").text("drop here");
    };
    $scope.hint = function (element) {
        return element.clone().addClass("hint");
    };

 

And when I use ul and li instead of select, sortable function is not working as expected in chrome, IE and other browsers as well. When I try to drag one element, next element from the queue has the index change and couple of other issues. 

Could you please give me a working example for kendo with sortable functionality (not grid) which uses select and ng-repeat and works for ALL THE BROWSERS as well as AND we can disable the sortable functionality onClick on list for other functionality.

 

Also onClick, I was trying to get the e.currentTarget.selectedOptions.length value which is having the issue with IE saying as selectedOptions is undefined and chrome is working as expected. 

Also I am trying to achieve "multiple" for onClick functionality to remove from the list and add it to other list. (FYI)

Please let me know, if there is any example links or code snippet which works for all browser.

 

Thanks in advance,

Sujatha

 

 

 

Preslav
Telerik team
 answered on 04 Mar 2020
7 answers
472 views

So this is odd...

My markup has radio buttons in each sortable item.  I can select them no problem, but once I start to drag to sort, I can see the hint and placeholder have lost the selection, and on drop it's gone as well.

WIERDER if I inspect the markup in chrome on the dropped element I still to see the "checked" attribute there... but no selection, jQuery detects no selection as well.

Checkbox lists however seems perfectly fine

Viktor Tachev
Telerik team
 answered on 22 Nov 2019
1 answer
53 views
I would like to persist the order of cards moved around by the user for the next time they open the page or window.  Is it possible to do this by somehow setting the index of these DIV tag cards inside their sortable container?
Georgi
Telerik team
 answered on 13 Nov 2019
1 answer
138 views

I use a Kendo Sortable in 3 different places in my app. It has always worked flawlessly for me however recently I upgraded to Kendo 2019.1.115 and ONE of the kendo sortables has stopped working correctly.  I know the issue isnt kendoSortable since its working fine elsewhere. 

 

Here is the behavior I have seen. Before the drag begins this is what I have

https://screencast.com/t/Ov6mXlaqKw

Now if I drag Chilly to below Fresh Lemon I end up with the following

https://screencast.com/t/8UDK6LKmANK

The item that was dragged appears twice at the end of the list. I wrote out the source in the change event and it is correct. It shows 

https://screencast.com/t/JTcjSE7aj80h

As you can see the data is correct. The problem is that the kendoSortable isnt showing what is in the data model.

Here is my code and template:

<script type="text/x-kendo-tmpl" id="tmplMenuOptionsGroupRow">
    <div class="d-flex optionRow">
        <div class="pl-2 col-1">
            <i class="fal fa-arrows fa-2x dragHandler"></i>
        </div>
        <div class="col-5 modifierDesc">
            <input name="optionDesc" class="form-control k-textbox k-input-lg"
                data-bind="value: description, disabled:legacy, events:{change: editorModel.menuOptionGroup.onMenuItemOptionsGroupChange}" />
        </div>
        <div class="col-4 optionPrice dragHide">
            <input class="k-input-lg" data-role="numerictextbox"
                data-format="c"
                data-min="0"
                data-format="c2"
                data-spinners=false
                data-bind="value:price, disabled:legacy, events:{change: editorModel.menuOptionGroup.onMenuItemOptionsGroupChange}" />
                 
        </div>
        <div class="dragHide optionDelete col-1" >
            <button type="button" class="btn btn-danger btn-sm" data-bind="click:editorModel.menuOptionGroup.deleteOption, disabled:legacy"><i class="fal fal fa-trash-alt"></i>
            </button>
        </div>
    </div>
</script>

 

$("#optionGroupItems").kendoSortable({
    cursor: "move",
    holdToDrag: false,
    autoScroll: true,
    ignore: 'input, button',
    handler: '.dragHandler',
    // move: function (e) {
    //     console.log('moving');
    // },
    placeholder: function (element) {
        console.log("placeholder");
        return element.clone().css({
            "opacity": 0.3,
            "border": "1px dashed #000000"
        });
    },
    hint: function (element) {
        return null;
 
    },
    change: function (e) {
        console.log('drop/change');
 
        var oldIndex = e.oldIndex;
        var targetIndex = e.newIndex;
 
        console.log('BEFORE Update');
        _.each(self.editorModel.menuOptionGroup.options, function(anOption){
            console.log(anOption.description);
        });
 
        self.editorModel.menuOptionGroup.options.splice(targetIndex, 0, self.editorModel.menuOptionGroup.options.splice(oldIndex, 1)[0]);
        //after the splice
        console.log("");
        console.log('AFTER Update');
        _.each(self.editorModel.menuOptionGroup.options, function(anOption){
            console.log(anOption.description);
        });
         
        // console.log(self.editorModel.menuOptionGroup.options);
    }
});

 

 

 

 

 

Alon
Top achievements
Rank 1
Veteran
 answered on 28 Mar 2019
4 answers
200 views

Is it possible to configure the sortable to make it work in the similar was as TreeView drag and drop?

I would like not to move element during dragging, but only on drop.

I would also like to prevent some drop targets dynamically based on source element.

Georgi
Telerik team
 answered on 02 Aug 2018
Narrow your results
Selected tags
Tags
+? more
Top users last month
Mark
Top achievements
Rank 1
Yurii
Top achievements
Rank 1
Leland
Top achievements
Rank 2
Iron
Iron
Iron
Hon
Top achievements
Rank 1
Iron
Deltaohm
Top achievements
Rank 3
Bronze
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Mark
Top achievements
Rank 1
Yurii
Top achievements
Rank 1
Leland
Top achievements
Rank 2
Iron
Iron
Iron
Hon
Top achievements
Rank 1
Iron
Deltaohm
Top achievements
Rank 3
Bronze
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?