angular-dragdrop: Как очистить область перетаскивания после падения предмета?

СИТУАЦИЯ:

Привет ребята. В моем приложении у меня есть список элементов, отображаемых внутри таблицы.

Я использую Angular-Dragdrop, чтобы иметь возможность перетаскивать эти элементы в корзину и удалять их.

Все работает нормально: после того, как я уронил элемент в корзину, функция запускается и элемент удаляется.

Но есть одна проблема: после удаления элемента список элементов обновляется. Но происходит то, что предмет все еще находится в области выпадения. А поскольку удаленный элемент не является частью списка, его место занимает следующий элемент.

Этот элемент должен отображаться в списке, а не в области перетаскивания.

КОД:

<tr ng-repeat="item in list_items track by $index">

     <td>
        <span data-drag="true" data-jqyoui-options="{revert: 'invalid'}" jqyoui-draggable="{index: {{$index}}, onStart:'set_item_id_to_drag({mail_id: email.mail_id})'}">
        <a > {{item.name}} </a>
        </span>
    </td>

 </tr>

<span data-drop="true" data-jqyoui-options jqyoui-droppable="{onDrop:'email_dragged_delete()'}">
    BIN
</span>


$scope.email_dragged_delete = function( event, ui )
{
   var item_id = $rootScope.item_id_to_drag.item_id;
    $http({

        url: base_url + 'api/item_delete',
        data: { item_id: item_id },
        method: "POST",

     }).success(function (data) {

        delete $rootScope.email_id_to_drag;

        var result = ItemsService.list_items( $stateParams.mail_account_id );
        result.then( function( data ) {

            $rootScope.list_items = data;

        });

     });

}

$scope.set_item_id_to_drag = function( event, ui, item_id )
{
    $rootScope.item_id_to_drag = item_id;
}

ВОПРОС:

Можно ли очистить область перетаскивания после перетаскивания элемента и запуска события? Таким образом, чтобы избежать того, чтобы другой элемент в списке занял свое место?

Большое спасибо!

0 ответов

Другие вопросы по тегам