import { Component, Input, OnInit, Inject } from '@angular/core'; import { Utils } from '@arrow/bom/core'; import { WPT_DIALOG_DATA } from '@arrow/warpaint/dialog'; @Component({ selector: 'bom-request-quote', templateUrl: 'request-quote.component.html', styleUrls: ['request-quote.component.scss'] }) /** * Component displays in two modes * • Full BOM Quote * • Part Quote */ export class RequestQuoteModalComponent implements OnInit { @Input() content: string; // Simply for readibility and to make it clear that the // modal is currently being used to request a part quote // (versus quoting a full BOM) isPartsQuoteMode: boolean = false; constructor(public utils: Utils, @Inject(WPT_DIALOG_DATA) public data: any) {} ngOnInit() { if (this.data.defaultEmail) { this.data.email = this.data.defaultEmail; } if (this.data.listItems && this.data.listItems.length > 0) { this.isPartsQuoteMode = true; } } /** * replaces email with default email value * @param data */ replaceWithDefault(data: any): void { data.email = data.defaultEmail; this.isValid(true, data); } /** * set validity of data for modal controls * @param valid * @param data */ isValid(valid: boolean, data: any): void { data.invalid = !valid; } }