1

カスタムバインディングがあるドロップ可能なアイテムのリストがあります:

ko.bindingHandlers.drag = {
    init: function (element, valueAccessor, allBindingsAccessor) {
        ko.utils.domData.set(element, "ko_drag_data", valueAccessor());
        var options = ko.utils.extend(ko.bindingHandlers.drag.options, allBindingsAccessor().dragOptions);
        $(element).draggable(options);
    },
    options: {}
};

オプションで初期化しています:

ko.bindingHandlers.drag.options = {
    connectToSortable: ".droppingZone",
    helper: "clone",
    revert: "invalid",
    stack: ".detail",
    cursor: "move",
    cancel: null
};

ドラッグ可能:

<div data-bind="drag: $data, dragOptions: { start: onDragStart, stop: onDragStop }, click: function (e) { $root.addField($data); }">

ソート可能:

<div class="well droppingZone" data-bind="sortable: { data: fieldsHelper, allowDrop: $root.isListFull, options: { update: onUpdate } }">

Knockout-sortable プラグインを使用して、この要素をソート可能にドロップしています。

リストがいっぱいになるまでユーザーがドロップできるようにしたい。allowDrop: $root.isListFullドキュメントにあるように、ソート可能なバインディングを使用しているのはそのためです。

問題は、どのような値$root.isListFullが含まれていても (true/false)、ソート可能な項目をドロップできることです。

私は何を間違っていますか?

4

0 に答える 0