File

src/pages/quote-builder/quote-builder.ts

Description

Generated class for the QuoteBuilderPage page.

See https://ionicframework.com/docs/components/#navigation for more info on Ionic pages and navigation.

Metadata

selector page-quote-builder
templateUrl quote-builder.html

Index

Properties
Methods

Constructor

constructor(toastCtrl: ToastController, quotation: QuotationProvider, navCtrl: NavController, fb: FormBuilder, viewCtrl: ViewController, navParams: NavParams)
Parameters :
Name Type Optional
toastCtrl ToastController No
quotation QuotationProvider No
navCtrl NavController No
fb FormBuilder No
viewCtrl ViewController No
navParams NavParams No

Methods

addQuoteItem
addQuoteItem()
Returns : void
Public closeModal
closeModal()
Returns : void
ionViewDidLoad
ionViewDidLoad()
Returns : void
presentToast
presentToast()
Returns : void

Properties

amount
amount: number
Type : number
DataArray
DataArray: Array<string>
Type : Array<string>
Default value : []
myGroup
myGroup:
Default value : new FormGroup({ amount: new FormControl() })
name
name: string
Type : string
Public navParams
navParams: NavParams
Type : NavParams
Public quotation
quotation: QuotationProvider
Type : QuotationProvider
Public viewCtrl
viewCtrl: ViewController
Type : ViewController
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>
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""