src/pages/quote-builder/quote-builder.ts
Generated class for the QuoteBuilderPage page.
See https://ionicframework.com/docs/components/#navigation for more info on Ionic pages and navigation.
selector | page-quote-builder |
templateUrl | quote-builder.html |
Properties |
Methods |
constructor(toastCtrl: ToastController, quotation: QuotationProvider, navCtrl: NavController, fb: FormBuilder, viewCtrl: ViewController, navParams: NavParams)
|
|||||||||||||||||||||
Defined in src/pages/quote-builder/quote-builder.ts:27
|
|||||||||||||||||||||
Parameters :
|
addQuoteItem |
addQuoteItem()
|
Defined in src/pages/quote-builder/quote-builder.ts:50
|
Returns :
void
|
Public closeModal |
closeModal()
|
Defined in src/pages/quote-builder/quote-builder.ts:62
|
Returns :
void
|
ionViewDidLoad |
ionViewDidLoad()
|
Defined in src/pages/quote-builder/quote-builder.ts:36
|
Returns :
void
|
presentToast |
presentToast()
|
Defined in src/pages/quote-builder/quote-builder.ts:66
|
Returns :
void
|
amount |
amount:
|
Type : number
|
Defined in src/pages/quote-builder/quote-builder.ts:23
|
DataArray |
DataArray:
|
Type : Array<string>
|
Default value : []
|
Defined in src/pages/quote-builder/quote-builder.ts:22
|
myGroup |
myGroup:
|
Default value : new FormGroup({
amount: new FormControl()
})
|
Defined in src/pages/quote-builder/quote-builder.ts:25
|
name |
name:
|
Type : string
|
Defined in src/pages/quote-builder/quote-builder.ts:24
|
Public navParams |
navParams:
|
Type : NavParams
|
Defined in src/pages/quote-builder/quote-builder.ts:28
|
Public quotation |
quotation:
|
Type : QuotationProvider
|
Defined in src/pages/quote-builder/quote-builder.ts:28
|
Public viewCtrl |
viewCtrl:
|
Type : ViewController
|
Defined in src/pages/quote-builder/quote-builder.ts:28
|
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { FormControl, Validators, FormGroup, FormBuilder } from '@angular/forms';
import { ViewController } from 'ionic-angular';
import { ContactPage } from '../contact/contact';
import {QuotationProvider} from './../../providers/quotation/quotation';
import { ToastController } from 'ionic-angular';
/**
* Generated class for the QuoteBuilderPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-quote-builder',
templateUrl: 'quote-builder.html',
})
export class QuoteBuilderPage {
DataArray: Array<string> = [];
amount : number;
name : string;
myGroup = new FormGroup({
amount: new FormControl()
});
constructor(private toastCtrl: ToastController ,public quotation: QuotationProvider, navCtrl: NavController, private fb: FormBuilder,public viewCtrl: ViewController, public navParams: NavParams) {
this.name= navParams.get('data');
this.myGroup = this.fb.group({
'amount': ['', Validators.compose([Validators.required, Validators.minLength(1)])]
});
}
ionViewDidLoad() {
console.log('ionViewDidLoad QuoteBuilderPage');
}
/* requestQuote(amount) {
amount = amount || 'No Amount Entered';
this.DataArray.push(amount);
this.DataArray.push(name);
alert(this.DataArray);
this.navCtrl.push(ContactPage, {
data: amount,
resName: this.elName
});
} */
addQuoteItem() {
//this.quotation.attempt();
this.amount = this.myGroup.controls['amount'].value;
this.quotation.addQuote(this.name, this.amount);
const message = 'Added ' + this.amount + ' items of type "' + this.amount + '" to your quote. '
+ '\nGo to the Contact Us page to request the quote';
//this.openSnackBar(message);
this.presentToast();
this.closeModal();
}
public closeModal(){
this.viewCtrl.dismiss();
}
presentToast() {
let toast = this.toastCtrl.create({
message: 'Quotation added! Go to the Contact Us page to request the quote',
duration: 30000,
position: 'bottom',
showCloseButton: true
});
toast.onDidDismiss(() => {
console.log('Dismissed toast');
});
toast.present();
}
}
<!--
Generated template for the QuoteBuilderPage page.
See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header>
<ion-navbar>
</ion-navbar>
</ion-header>
<ion-content padding class = "main-view">
<!-- <label> Adding "{{elName}}" to quote</label>
<ion-item>
<ion-label color="secondary"stacked>Amount of items</ion-label>
<ion-input type="number" style="color: black" placeholder="Number items"></ion-input>
</ion-item>
<label> Add "{{elName}}" to quote? </label> -->
<div class="overlay" (click)="closeModal()"></div>
<div class="modal_content">
<form [formGroup]="myGroup" *ngIf="!submitted" >
<ion-label class = 'qBuilHeading' stacked>Adding "{{name}}" to quote</ion-label>
<ion-item class="inputs">
<ion-label class = 'qBuil' stacked>Enter the quantity of {{name}}:</ion-label>
<ion-input id="amount" type="number" placeholder= "Enter amount" required formControlName="amount" #amount></ion-input>
</ion-item>
<br>
<br>
<button ion-button full round color= "tertiary" [disabled]="!myGroup.valid" (click)="addQuoteItem()">Request Quote</button>
<ion-buttons>
<button *ngIf="addQuoteDisplay | async" ion-button full round color= "tertiary" (click)="closeModal()">Close</button>
</ion-buttons>
</form>
</div>
</ion-content>