Есть таблица, из которой можно записи сохранить в профиль, либо если сохранены, то можно удалить.
Есть ли запись или нет и какую кнопку отобразить решается при загрузке таблицы.
А как сделать, чтобы с этим же при клике на клиенте кнопка поменялась на противоположную?
Директивы *ngIf и (click) заняты,не могу придумать.
Столбец таблицы ngx-datatable с кнопкой:
<ngx-datatable-column
[width]="50"
[resizeable]="false"
[sortable]="false"
[draggable]="false"
[canAutoResize]="false"
>
<ng-template let-row="row" let-rowIndex="rowIndex" let-show="show" ngx-datatable-cell-template>
<div class="go-to-link">
<a class="btn " href="{{row.link}}" target="_blank" title="Перейти к источнику"><i class="fas fa-external-link-alt fa"></i></a>
<button *ngIf="isAddedToProfile(row)==false" class="btn btn-add" (click)="addToProfile(rowIndex)"><i class="far fa-plus-square"></i></button>
<button *ngIf="isAddedToProfile(row)==true" class="btn btn-add" (click)="deleteFromProfile(rowIndex)"><i class="fas fa-minus-square"></i></button>
</div>
</ng-template>
</ngx-datatable-column>
Проверка, сохранена ли запись ранее, чтобы отобразить верную кнопку при старте:
isAddedToProfile(row) {
return this.addedPersons.some(person => person.id === row.id);
}
Ссылка на
stackblitz