ngx-dragula: создать начальную одиннадцать из playerList - PullRequest
0 голосов
/ 02 сентября 2018

Я хотел бы добавить начальные одиннадцать и список замещения из списка игроков, который назначен команде. Я хочу перетащить игроков в разные позиции на поле и на скамейке команды. мой html упрощен - только для playerList и подстановок:

  <div fxLayout="row wrap">
    <div *ngFor="let number of numbers"
         fxFlex="50"
         [dragula]="playerList"
         [ngClass]="'substitute ' + number">       
      <match-player [ngClass]="'substitute ' + number"></match-player>
    </div>
  </div>

  <div fxLayout="row wrap" 
       [dragula]="playerList">
    <match-player *ngFor="let member of assignedTeamPlayers"
                  [member]="member">
    </match-player>
  </div>

И мои compent.ts:

public playerList: string = 'playerList';

ngOnInit() {
  this.subscription.add(this.dragulaService.drop(this.playerList)
    .subscribe(({ el, target }) => {       
      if (target.className.indexOf('substitute') > -1) {
        this.removeClass(target, 'ex-over');
      }
    })
  );

  this.subscription.add(this.dragulaService.over(this.playerList)
    .subscribe(({ el, container }) => {
      if (container.className.indexOf('substitute') > -1) {
        this.addClass(container, 'ex-over'); 
        container.innerHTML = '';       
      }   
    })
  );

  this.subscription.add(this.dragulaService.out(this.playerList)
    .subscribe(({ el, container }) => {
      this.removeClass(container, 'ex-over');
    })
  );
}

Я могу перетащить игрока и перенести его на скамью. Когда позиция на скамье подскакивает, класс добавляется (граница: 2px #cecece dashed). Когда я опускаю игрока в это положение, игрок правильно настроен на него.

Что не работает: когда я не уронил игрока в эту позицию на скамейке, позиция больше не видна (из-за container.innerHTML = '';) ... но как я могу сбросить это по умолчанию?

...