Cześć. Mam listę i listę mogę zaznaczać. Oraz mam dwa przyciski góra dół. Kiedy je klikam zmienia się pozycja zaznaczonego elementu. I czasami mam tak tak że zmienia się pozacyja i zaznaczenie przechodzi na inny element a chciałbym aby to aznaczenie było cały czas na elemencie listy a pozycja elementu się zmieniała. Kod wygląda tak można to jakoś poprawić

function moveSelectedArtist(productId, productType, discIndex, trackIndex, dstIdx) {
    var listView = $("#ArtistsListView").data("kendoListView");
    var dataSource = listView.dataSource;
    var oldListData = dataSource.data().map(function(item) {
        return item;
    });

    var srcUid = listView.select().data("uid");
    var srcItem = dataSource.getByUid(srcUid);
    
    var newListData = dataSource.data().filter(function(item) {
        return item != srcItem;
    });
    
    newListData.splice(dstIdx, 0, srcItem);    
    
    var isArtistOrderCorrect = checkIsArtistOrderCorrect(oldListData, newListData);

    if(isArtistOrderCorrect) {
        dataSource.remove(srcItem);
        dataSource.insert(dstIdx, srcItem);
        $('#ArtistsListView').closest('.listViewContent').data("selected-artist-index", dstIdx);
        $("#ArtistsListView").data("kendoListView").select($("#ArtistsListView").data("kendoListView").element.children()[dstIdx]);
    }

    var listData = {
        productId: productId,
        productType: productType,
        discIndex: discIndex,
        trackIndex: trackIndex,
        productArtists: JSON.stringify(dataSource.data())
    };

    saveArtistsInOrder(listData);
}

function moveSelectedArtistUp(productId, productType, discIndex, trackIndex) {
    var dstIdx = $("#ArtistsListView").data("kendoListView").select().index() - 1;

    if (dstIdx >= 0) {
        moveSelectedArtist(productId, productType, discIndex, trackIndex, dstIdx);
    }
}

function moveSelectedArtistDown(productId, productType, discIndex, trackIndex ) {
    var listView = $("#ArtistsListView").data("kendoListView");
    var dataSource = listView.dataSource;    
    var dstIdx = listView.select().index() + 1;

    if (dstIdx < dataSource.total()) {
        moveSelectedArtist(productId, productType, discIndex, trackIndex, dstIdx);
    }           
}