Как удалить / удалить элемент из источника перетаскивания Dojo?

У меня есть ниже Dojo DnD, и я не могу понять, как удалить и добавить элемент (ы) из / в catalog источник. В конечном итоге я хочу разрешить пользователям:

  1. Перетащите предметы из catalog к wishlist... это работает нормально.
  2. Удалите все оставшиеся элементы в catalog которые не были перемещены в wishlist нажав кнопку Очистить список... нужна помощь здесь.
  3. Иметь возможность добавлять новые предметы в catalog нажав другую кнопку, которая не указана в приведенном ниже коде... нужна помощь здесь.

Подводя итог, мне нужно знать, как удалять элементы и добавлять элементы из / в catalogи какие-либо перемещенные предметы остаются в wishlist,

dojo.addOnLoad(function() {
    require([ "dojo/dom-class", "dojo/dnd/Source", "dijit/form/Button", "dojo/domReady!" ], function(domClass, Source){
        var catalog = new Source("catalogNode");
        catalog.insertNodes(false, [
            { data: "Bushmaster <div id='5' style='display:none;'>5</div>"},
            { data: "Colt <div id='4' style='display:none;'>4</div>"},
            { data: "DPMS <div id='6' style='display:none;'>6</div>"},
            { data: "Glock <div id='2' style='display:none;'>2</div>"},
            { data: "Kahr Arms <div id='7' style='display:none;'>7</div>"},
            { data: "Marlin <div id='3' style='display:none;'>3</div>"},
            { data: "Remington <div id='78' style='display:none;'>78</div>"},
            { data: "Rock River Arms <div id='1' style='display:none;'>1</div>"},
            { data: "Smith & Wesson <div id='105' style='display:none;'>105</div>"}
        ]);
        catalog.forInItems(function(item, id, map){
            domClass.add(id, item.type[0]);
        });

        var wishlist = new Source("wishlistNode");

        new dijit.form.Button({
            label: "Clear List",
            onClick: function() {
                alert("Clearing Items");
            }
        },
        "clearListBtn");
    });
});

1 ответ

Решение

Удалить все (оставшиеся) элементы в источнике:

// e.g., var catalog = new Source("catalogNode");
catalog.selectAll().deleteSelectedNodes();

Новые предметы могут быть добавлены в любое время, используя те же insertNodes():

catalog.insertNodes(false, additionalData);
Другие вопросы по тегам