Оригинальный элемент стиля ng2-dragula при копировании

Мы используем настройку copy: true с ng2-dragula:

constructor(private dragulaService: DragulaService) {
    dragulaService.setOptions('group-body-bag', {
        copy: true,
        copySortSource: true
    });
}

Теперь мы хотим затемнить исходный элемент (тот, который все еще находится в списке, пока мы его перетаскиваем) чем-то вроде opacity: 0.3. Как мы можем сделать это? С использованием

dragulaService.cloned.subscribe((value) => {
    if (value && value.length && value.length === 4 && value[3] === 'copy') {
        this.onDragCopy(value[1]);
    }
});

мы можем найти исходный элемент и применить к нему прозрачность, но это кажется ужасно неправильным: перетаскиваемые элементы (естественно) поступают из массива данных, есть ли способ найти индекс перетаскиваемого элемента, чтобы мы могли сделать что-то вроде

dragulaService.cloned.subscribe((index) => {
    this.draggedElement = index;
});

и

<li *ngFor="let article of articles; let i = index"
  [class.original-dragged-element]="draggedElement === i">

(Я знаю, это уже плохо, я должен соответствовать статье).


person Lukas    schedule 09.01.2017    source источник
comment
Это не драгула, пожалуйста, исправьте тег на драгула, спасибо ;)   -  person Luckylooke    schedule 10.01.2017
comment
@Luckylooke, я исправил теги   -  person Lukas    schedule 10.01.2017


Ответы (1)


Я решил, что способ Angula состоит в том, чтобы манипулировать данными и иметь шаблон, отображающий классы.

person Lukas    schedule 13.01.2017