Dragula отключить перетащить, чтобы изменить порядок - PullRequest
0 голосов
/ 23 января 2019

Я использую эту удивительную библиотеку для функции перетаскивания. Драгула очень хорош в перетаскивании.

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

например, следующие два тега div в качестве контейнеров

<div dragula="dropContainer" id="dropbag1" [(dragulaModel)]="bagOneModel">
   <div *ngFor="let model of bagOneModel" class="col-sm-2 col-md-2 col-lg-2">
     {{model}}
   </div>
</div>


<div dragula="dropContainer" id="dropbag2" [(dragulaModel)]="bag2Model">
   <div *ngFor="let model of bag2Model" class="col-sm-2 col-md-2 col-lg-2">
     {{model}}
    <!-- don't allow re ordering in this container -->
   </div>
</div>

1 Ответ

0 голосов
/ 24 января 2019

Очень легко создать что-то, что позволяет перетаскивать:

  • от А до В
  • от B до A и отключить
  • изменить порядок внутри
  • изменить порядок внутри B

В вашем name.component.ts вы должны добавить:

constructor(public dragulaService: DragulaService) {

    dragulaService.createGroup('dropContainer', {
        accepts: (el, target, source, sibling): boolean => {
            if (!target || !source || (target === source)) {
                 return false;
            }
            return true;
        }    
    });
}
...