Skip to content
Snippets Groups Projects

Resolve "Bug unselect all outputs"

Merged Tifenn Guillas requested to merge 63-bug-unselect-all-outputs into develop
1 file
+ 16
5
Compare changes
  • Side-by-side
  • Inline
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
import { ToastrService } from 'ngx-toastr';
import { Attribute } from '../../../metamodel/model';
@Component({
@@ -11,10 +12,20 @@ import { Attribute } from '../../../metamodel/model';
export class OutputByCategoryComponent {
@Input() categoryLabel: string;
@Input() attributeList: Attribute[];
@Input() outputList: number[];
// @Input() outputList: number[];
@Input() set outputList(outputList: number[]) {
this._outputList = outputList;
if (outputList.length === 0) {
this.toastr.warning('At least 1 output is required!');
}
}
@Input() isAllSelected: boolean;
@Input() isAllUnselected: boolean;
@Output() change: EventEmitter<number[]> = new EventEmitter();
public _outputList: number[];
constructor(private toastr: ToastrService) { }
getAttributeListSortedByDisplay() {
return this.attributeList
@@ -22,11 +33,11 @@ export class OutputByCategoryComponent {
}
isSelected(id: number) {
return this.outputList.filter(i => i === id).length > 0;
return this._outputList.filter(i => i === id).length > 0;
}
toggleSelection(attributeId: number): void {
const clonedOutputList = [...this.outputList];
const clonedOutputList = [...this._outputList];
const index = clonedOutputList.indexOf(attributeId);
if (index > -1) {
clonedOutputList.splice(index, 1);
@@ -37,7 +48,7 @@ export class OutputByCategoryComponent {
}
selectAll(): void {
const clonedOutputList = [...this.outputList];
const clonedOutputList = [...this._outputList];
const attributeListId = this.attributeList.map(a => a.id);
attributeListId.filter(id => clonedOutputList.indexOf(id) === -1).forEach(id => {
clonedOutputList.push(id);
@@ -46,7 +57,7 @@ export class OutputByCategoryComponent {
}
unselectAll(): void {
const clonedOutputList = [...this.outputList];
const clonedOutputList = [...this._outputList];
const attributeListId = this.attributeList.map(a => a.id);
attributeListId.filter(id => clonedOutputList.indexOf(id) > -1).forEach(id => {
const index = clonedOutputList.indexOf(id);
Loading