sinonimo.component.ts
1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { Component, OnInit } from '@angular/core';
import { ISinonimo } from 'src/app/interfaces/ISinonimo';
import { IArticulo } from 'src/app/interfaces/IArticulo';
import { BsModalRef } from 'ngx-bootstrap/modal';
import { Subject } from 'rxjs';
import { ArticuloService } from 'src/app/services/articulo/articulo.service';
@Component({
selector: 'app-sinonimo',
templateUrl: './sinonimo.component.html',
styleUrls: ['./sinonimo.component.scss']
})
export class SinonimoComponent implements OnInit {
sinonimos: ISinonimo[] = [];
isValid: boolean;
onClose: Subject<any>;
articuloSelected: IArticulo;
constructor(
private modalRef: BsModalRef,
private articuloService: ArticuloService,
) {
this.onClose = new Subject();
}
ngOnInit() {
}
selectArticulo(articulo: IArticulo) {
for (const s of this.sinonimos) {
for (const a of s.productos) {
a.seleccionado = false;
}
}
articulo.seleccionado = true;
this.articuloSelected = articulo;
}
validate() {
this.isValid = false;
for (const s of this.sinonimos) {
for (const articulo of s.productos) {
if (articulo.seleccionado) {
this.isValid = true;
}
}
}
return !this.isValid ? 'disabled' : '';
}
continue() {
this.articuloService.getById(this.articuloSelected.id)
.subscribe((res: IArticulo) => {
this.modalRef.hide();
this.onClose.next(res);
});
}
}