Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 | 1x 1x 1x 1x 1x 5x 5x 5x 5x 1x | import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; import { ProductContextFacade } from 'ish-core/facades/product-context.facade'; import { GenerateLazyComponent } from 'ish-core/utils/module-loader/generate-lazy-component.decorator'; /** * The Product Add To Quote Component displays a button which adds a product to a Quote Request. * It provides two display types, text and icon. */ @Component({ selector: 'ish-product-add-to-quote', templateUrl: './product-add-to-quote.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) @GenerateLazyComponent() export class ProductAddToQuoteComponent implements OnInit { @Input() displayType: 'icon' | 'link' = 'link'; @Input() cssClass: string; disabled$: Observable<boolean>; visible$: Observable<boolean>; constructor(private router: Router, private context: ProductContextFacade) {} ngOnInit() { this.disabled$ = this.context.select('hasQuantityError'); this.visible$ = this.context.select('displayProperties', 'addToQuote'); } addToQuote() { this.router.navigate(['/addProductToQuoteRequest'], { queryParams: { sku: this.context.get('sku'), quantity: this.context.get('quantity') }, }); } } |