diff --git a/.sourcemaps/main.js.map b/.sourcemaps/main.js.map deleted file mode 100755 index 66e46382..00000000 --- a/.sourcemaps/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/providers/question-category/question-category.ts","../../src/pages/pd-question-category/pd-question-category.ts","../../src/pages/otp/otp.ts","../../src/providers/common-provider/camera.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","../../src/providers/constants/constants.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/pages/login/login.ts","../../src/pages/input/input.ts","../../src/pages/pd-question/pd-question.ts","../../src/pages/pd-question/pd-question-address/pd-question-address.ts","../../src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","../../src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","../../src/pages/pd-question/pd-question-loans/pd-question-loans.ts","../../src/pages/pd-question/pd-question-banking/pd-question-banking.ts","../../src/pages/pd-question/pd-question-family/pd-question-family.ts","../../src/pages/pd-question/pd-question-assests/pd-question-assests.ts","../../src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","../../src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","../../src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","../../src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","../../src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","../../src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","../../src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","../../src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","../../src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","../../src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","../../src/pipes/pd/pd.ts","../../src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","../../src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","../../src/pages/pd-general-images/pd-general-images.ts","../../src/pages/input/bounced-reject/bounced-reject.ts","../../src/providers/database/database.ts","../../src/pages/password/password.ts","../../src/pages/auth/auth.ts","../../src/providers/common-provider/loading.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/_guard/auth.guard.ts","../../src/providers/_guard/token.interceptor.ts","../../src/pages/googleplaytab/googleplaytab.ts","../../src/pages/pd-allocation/pd-allocation.ts","../../src/pages/pd-question/pd-question-business/pd-question-business.ts","../../src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","../../src/providers/aws-service/cognito.service.ts","../../src/providers/aws-service/aws-service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/common-provider/toast.ts","../../src/providers/pdtrigger/pdtrigger.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConstantsProvider } from '../constants/constants';\n\n/*\n Generated class for the QuestionCategoryProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class QuestionCategoryProvider {\napiurl:any;\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\n console.log('Hello QuestionCategoryProvider Provider');\n this.apiurl = constant.apiurl();\n }\n \n \n getLoadTemplate(pdid)\n {\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\n }\n saveQusetion(saveData)\n {\n let records = {'records':[saveData]};\n return this.http.post(this.apiurl+'savePDQuestions',records);\n }\n\n \n getAnswerTemplate(qustDetails)\n {\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\n }\n\n /***\n * Get PD Questions dropdown api\n * sriram\n */\n getcommondrop(tableName)\n {\n let masters = {'master_name':tableName}\n return this.http.post(this.apiurl+'getListOfMaster',masters);\n }\n\n saveForm(records)\n { let record = {'records':records};\n return this.http.post(this.apiurl+'savePDFormDetails',record);\n }\n\n retiverForm(records)\n {\n return this.http.post(this.apiurl+'getPDFormDetails',records);\n }\n\n /**Assessed Form Details API */\n saveassessedForms(api,saveData)\n {\n return this.http.post(this.apiurl+api,saveData);\n }\n\n retiverassessedForm(api,records)\n {\n return this.http.post(this.apiurl+api,records);\n }\n\n updatePdApplicant(editData: any) {\n // editData.fk_updatedby = this._aws.getlocale();\n // editData.updatedon = currentdate;\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\n\n \n}\n\ngetEndUseForLoan(pdid:any,subproduct){\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid,\"sub_product_id\":subproduct}})\n}\ngetCompaniesListsForBusiness(pdid:any){\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\n}\ngetStateWiseCities(stateid:any){\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\n}\ngetAllPersonsName(pdid:any){\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\n \n}\ngetStateCityDetails(){\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\n}\ngetAssetsWithLoanFromBusiness(pdid:any){\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\n\n}\n\n\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\n}\n\n/** For Stock Details \n * To Get The Products With TypeofActivity From Business \n **/\nstockFormAccess(pdid: any,companyid: any) {\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\n}\n\n\n\n/*****Save Images */\nsavePDImages(imagesDetails)\n{ \n let record = {'records':imagesDetails};\n return this.http.post(this.apiurl+'savePDPhotos',record);\n}\ngetFamilyDetails(pdid:any){\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\n}\ngetAddressDetails(pdid:any){\n return this.http.post(this.apiurl+'getPDAddress',{'pd_id':pdid})\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdQuestionPage } from '../pd-question/pd-question';\nimport Chart from 'chart.js';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\n\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\n/**\n * Generated class for the PdQuestionCategoryPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question-category',\n templateUrl: 'pd-question-category.html',\n})\nexport class PdQuestionCategoryPage {\n searchTempForm: any;\n searchQuestion: any;\n viewchange: boolean;\n templateAccess: boolean;\n bgColortempForm: any=[];\n bgColorqustCat: any=[];\n // @ViewChild('doughnutCanvas') doughnutCanvas;\n pdinfo: any;\nquestionList:any;\nquestionCate:any;\nquestionCateAccess:boolean = null;\nquestionfinishedList:any =[];\npddetails:any;\noverallqustioncountAccess:boolean = true;\ndoughnutChart: any;\ncompletedAccess:any;\nsearchitem:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\n this.pddetails = this.navParams.get('pdDetails');\n \n \n }\n\n ionViewCanEnter()\n {\n this.getcategoryList(); \n }\n // doughuntChart()\n // {\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\n \n // type: 'doughnut',\n // data: {\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\n // datasets: [{\n // label: '# of Votes',\n // data: [12],\n // backgroundColor: [\n // // 'rgba(255, 99, 132, 0.2)',\n // 'rgba(54, 162, 235, 0.2)',\n // // 'rgba(255, 206, 86, 0.2)',\n // // 'rgba(75, 192, 192, 0.2)',\n // // 'rgba(153, 102, 255, 0.2)',\n // // 'rgba(255, 159, 64, 0.2)'\n // ],\n // hoverBackgroundColor: [\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\",\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\"\n // ]\n // }]\n // }\n\n // });\n // }\n ionViewDidLoad() {\n this.shared.refresh();\n //this.doughuntChart();\n console.log('ionViewDidLoad PdQuestionCategoryPage');\n }\n \n getcategoryList()\n {\n let j = 1;\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\n {\n this.questionCate = res;\n if(this.questionCate.dataStatus == true)\n {\n \n this.questionCate = this.questionCate.records;\n this.random_ng_past(); \n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\n {\n this.questionCateAccess = true;\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchQuestion = this.questionCate.question_answers;\n\n if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\n {\n this.overallqustioncountAccess = false;\n }else\n {\n this.overallqustioncountAccess = true;\n }\n \n \n \n \n \n }else if(this.questionCate.template_forms!='')\n {\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchTempForm = this.questionCate.template_forms\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\n // {\n // this.overallqustioncountAccess = false;\n // }else\n // {\n // this.overallqustioncountAccess = true;\n // }\n }\n else\n {\n this.questionCateAccess = false;\n this.templateAccess = false; \n this.questionCate = \"No Template Available\";\n }\n }\n })\n }\n random_ng_past()\n {\n for(let id of this.questionCate.question_answers){\n var a = Math.floor(Math.random() * 256);\n var b = Math.floor(Math.random() * 256);\n var c = Math.floor(Math.random() * 256);\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\n \n }\n for(let id of this.questionCate.template_forms){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n questionsTag(categroyId){\n \n this.pdinfo = this.pddetails; \n \n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\n // if(this.questionCate.questions.length !=\"0\"){\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\n \n // }else\n // {\n // this.getcategoryList();\n // this.toast.pdTriggerappmessage('No Question Available');\n // }\n }\n\n tempQustionTag(categroyId)\n {\n this.pdinfo = this.pddetails; \n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\n if(categroyId ==5)\n {\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\n \n }else if(categroyId==12){\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }else if(categroyId==10)\n {\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==8){\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==13)\n {\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n \n }else if(categroyId==7)\n {\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n\n }else if(categroyId==6)\n {\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==4){\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==9){\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==3){\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==11)\n {\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==14)\n {\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==2)\n {\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId ==17)\n {\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }\n else if(categroyId==16)\n {\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==15)\n {\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==18)\n {\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==19)\n {\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }\n else if(categroyId==20)\n {\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n }\n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n // this.questionCate = this.searchQuestion;\n // this.questionCate.template_forms = this.searchTempForm;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n if(this.searchQuestion !== undefined){\n if (q.trim() == '') {\n return ;\n }else{\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n // return true;\n // }\n // })\n }\n }else\n {\n if (q.trim() == '') {\n return ;\n }else{\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n// return true;\n// }\n// })\n }\n }\n}\n completed()\n {\n let users = this.aws.getlocale();\n \n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\n \n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\n {\n this.completedAccess = res;\n if(this.completedAccess.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage);\n }\n })\n }\n doRefresh(refresher) {\n this.questionCate = [];\n this.questionfinishedList = [];\n this.shared.refresh();\n this.getcategoryList();\n setTimeout(() => {\n refresher.complete();\n }, 2000);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Geolocation } from '@ionic-native/geolocation'; \nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n\n/**\n * Generated class for the OtpPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-otp',\n templateUrl: 'otp.html',\n})\nexport class OtpPage {\n\n \n timeLimit: any;\n reason_otp: any;\n users: any;\n timerOn: boolean = true;\n balance_time: string;\n otpStatus: any;\n pin:any;\n otpStatusAccess:boolean = true;\n applicatentDetails: any;\n commonImage:any;\n maxtime: any=30;\n \n reasonForm:FormGroup\n constructor(public navCtrl: NavController, public navParams: NavParams,public pddetails:PdtriggerProvider,public toast:ToastProvider,public Menu:MenuController,public commonconstant:ConstantsProvider,public aws:AwsServiceProvider,public alertCtrl:AlertController,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public geolocation:Geolocation,public androidPermissions:AndroidPermissions) {\n this.commonImage = this.commonconstant.commonimage;\n this.applicatentDetails = this.navParams.get('pdDetails');\n this.reasonForm = this.fb.group(\n {\n reason:[null,Validators.compose([Validators.required])],\n others_reason:[null],\n })\n this.getDropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad OtpPage');\n }\n ionViewDidEnter(){\n //this.Menu.enable(false);\n this.setPermission();\n this.timer(120);\n \n }\n\n setPermission()\n {\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n ionViewWillLeave(){\n //this.Menu.enable(true);\n clearTimeout(this.timeLimit);\n }\n getDropdown()\n {\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\n console.log(this.reason_otp);\n \n }\n })\n }\n checkotp(otp)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n console.log(\"Otp\",res)\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }\n\n timer(remaining) {\n // console.log(remaining);\n let m:any = Math.floor(remaining / 60);\n let s:any = remaining % 60;\n \n m = m < 10 ? '0' + m : m;\n s = s < 10 ? '0' + s : s;\n // var balance_time = m + ':' + s;\n this.balance_time = m + ':' + s;\n remaining -=1;\n // console.log(this.balance_time);\n if(remaining >= 0 && this.timerOn) {\n this.timeLimit = setTimeout(()=> {\n this.timer(remaining);\n }, 1000);\n return;\n }\n \n if(!this.timerOn) {\n // Do validate stuff here\n return;\n }\n \n // Do timeout stuff here\n this.users = this.aws.getlocale();\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'OTP Expired ',\n message: 'Do you want sure resend OTP',\n buttons: [\n {\n text: 'OTP Without Start',\n \n handler: () => {\n \n this.otpStatusAccess = false;\n }\n },\n {\n text: 'Resend OTP',\n handler: () => {\n \n this.geolocation.getCurrentPosition().then((resp) => {\n let currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'link':currentPosPDofficer};\n console.log(data);\n this.pddetails.updatepdStatus(data).subscribe(res=>\n {\n this.timer(60);\n })\n });\n // console.log('Buy clicked');\n \n } \n }\n \n ]\n \n });\n alert.present();\n }\n \n saveotpreasno()\n {\n console.log(this.reasonForm.value);\n if(this.reasonForm.valid)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason,'fk_updatedby':this.users};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Camera } from '@ionic-native/camera';\n/*\n Generated class for the CameraProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class CameraProvider {\n\n constructor(public http: HttpClient,public camera:Camera) {\n console.log('Hello CameraProvider Provider');\n }\n getpicture() \n {\n const options = {\n quality: 100,\n destinationType: this.camera.DestinationType.DATA_URL,\n targetWidth: 500,\n targetHeight: 500,\n correctOrientation: true\n };\n\n // If set to crop, restricts the image to a square of 600 by 600\n \n\n return this.camera.getPicture(options).then(imageData => {\n const base64Image = 'data:image/png;base64,' + imageData;\n // console.log(base64Image);\n return base64Image;\n }, error => {\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionSupplierInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-supplier-info',\n templateUrl: 'pd-question-supplier-info.html',\n})\n\nexport class PdQuestionSupplierInfoPage {\n users: any;\n pdDetails: any;\n formDetails: any;\n company_id: any;\n form_id: any;\n questionDetails: any;\n supplierInfoForm: FormGroup;\n\n business_manufacturingProducts: any = [];\n business_tradingProducts: any = [];\n m_titleList: any = [];\n m_paymentList: any = [];\n m_companyRelationShipList: any = [];\n\n noRecordsFound: Boolean = false;\n public submitted = false;\n errorMessage: any = '';\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider) {\n\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.formDetails = this.navParams.get('formDetails');\n this.form_id = this.formDetails.form_id;\n this.company_id = this.pdDetails.company_id;\n this.users = this.aws.getlocale();\n\n\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\n\n if (data.dataStatus) {\n\n let datas = data.records;\n this.initFormLoadDetails(datas.type_of_activity);\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\n\n let api = Object.keys(datas.type_of_activity).map(function (key) {\n return datas.type_of_activity[key];\n });\n\n if (api.length > 0) {\n api.forEach(val => {\n if (val.type_of_activity_id == 3) {\n if (val.prodcuts) {\n this.business_tradingProducts.push(val.prodcuts);\n }\n }\n\n if (val.type_of_activity_id == 4) {\n if (val.prodcuts) {\n this.business_tradingProducts.push(val.prodcuts);\n }\n }\n });\n }\n\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\n\n } else {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = data.msg;\n }\n }, err => {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = 'No Records Found , Something went Wrong!';\n })\n this.getdropList();\n }\n\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\n }\n\n\n serviceProviderForm: Boolean = false;\n initFormLoadDetails(record) {\n let params: any = {};\n params.pd_id = this.pdDetails.pd_id;\n params.pd_form_id = this.form_id;\n params.company_id = this.company_id;\n\n this.qustCat.retiverForm(params).subscribe(\n data => {\n if (data['dataStatus'] == true) {\n let dataForm = data['records'];\n if (dataForm !== undefined) {\n this.supplierInfoForm = this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: [this.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\n // return dataForm.main_raw_materials[key];\n // });\n if(dataForm.manufacturing_details[0] != null){\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\n\n this.initManufacturingProductsDetails(api_main_raw_materials);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\n }\n else{\n this.initManufacturingProductsDetails(null);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null)\n }\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\n // return dataForm.trading_products[key];\n // });\n if(dataForm.trade_details[0] != null){\n let api_trading_products = dataForm.trade_details[0].trading_products;\n this.initTradingProductsDetails(api_trading_products);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\n }\n else{\n this.initTradingProductsDetails(null);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n }\n this.noRecordsFound = true;\n } else {\n this.supplierInfoForm = this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: [this.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trading_products_total_payments_percent_on_credit || null);\n }\n this.noRecordsFound = true;\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n this.serviceProviderForm = true;\n }\n } else {\n this.supplierInfoForm = this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: [this.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n supplier_info_form_remark: []\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n this.serviceProviderForm = true;\n }\n this.noRecordsFound = true;\n }\n }, err => {\n\n }\n );\n }\n\n manufacturingForm: Boolean = false;\n manufacturingFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.manufacturingForm = true;\n return this.fb.group({\n main_raw_materials: this.fb.array([]),\n main_raw_materials_total_payments_percent_on_credit: []\n })\n // }\n } else {\n return;\n }\n }\n\n tradingForm: Boolean = false;\n tradingFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr.length > 0) {\n this.tradingForm = true;\n return this.fb.group({\n trading_products: this.fb.array([]),\n trading_products_total_payments_percent_on_credit: []\n });\n } else {\n return;\n }\n }\n\n initManufacturingProductsDetails(datas) {\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n if (datas === null) {\n control.push(this.initManufacturingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.manufacturing_payment_type, 1, inx);\n control.push(this.initManufacturingProducts(val));\n });\n }\n }\n\n initManufacturingProducts(records) {\n if (records === null) {\n return this.fb.group({\n manufacturing_raw_material_name: [''],\n manufacturing_supplier_name: [''],\n person_title_name: [''],\n person_designation: [''],\n other_person_designation: [''],\n manufacturing_contact_person_name: [''],\n manufacturing_contact_person_mobile_number: [''],\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\n manufacturing_payment_type: [''],\n manufacturing_payment_mode: [''],\n manufacturing_credit_days_from: [''],\n manufacturing_credit_days_to: [''],\n manufacturing_frequency_of_purchase: [''],\n person_stdcode: [''],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [''],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n\n })\n } else {\n return this.fb.group({\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n other_person_designation: [records.other_person_designation || null],\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\n person_stdcode: [records.person_stdcode || null],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [records.person_landline || null],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n })\n }\n }\n\n initTradingProductsDetails(datas) {\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n\n if (datas === null) {\n control.push(this.initTradingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.trade_product_payment_type, 2, inx);\n control.push(this.initTradingProducts(val));\n });\n }\n }\n\n initTradingProducts(records) {\n if (records === null) {\n return this.fb.group({\n trade_product_name: [''],\n trade_supplier_name: [''],\n person_title_name: [''],\n person_designation: [''],\n other_person_designation: [''],\n trade_product_contact_person_name: [''],\n trade_product_contact_person_mobile_number: [''],\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\n person_stdcode: [null],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [null],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n trade_product_payment_type: [''],\n trade_product_payment_mode: [''],\n trade_product_frequency_of_purchase: [''],\n trade_product_credit_days_from: [''],\n trade_product_credit_days_to: [''],\n })\n } else {\n return this.fb.group({\n trade_product_name: [records.trade_product_name],\n person_title_name: [records.person_title_name],\n person_designation: [records.person_designation],\n other_person_designation: [records.other_person_designation],\n trade_supplier_name: [records.trade_supplier_name],\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\n person_stdcode: [records.person_stdcode],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [records.person_landline],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n trade_product_payment_type: [records.trade_product_payment_type],\n trade_product_payment_mode: [records.trade_product_payment_mode],\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\n })\n }\n }\n\n addMoreRawMaterials(e): void {\n // e.stropPropagation();\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n\n control.push(this.initManufacturingProducts(null));\n }\n\n removeRawMaterials(inx): void {\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n control.removeAt(inx);\n }\n\n addMoretradeProduct(e): void {\n // e.stropPropagation();\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n\n control.push(this.initTradingProducts(null));\n }\n\n removeTradingProduct(inx): void {\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n control.removeAt(inx);\n }\n\n\n getdropList() {\n\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\n data => {\n this.m_companyRelationShipList = data['records']\n //.filter(data => data.isactive == 1); \n // because in general no need of \"other\" option but in supplier others option needed - in DB others option changed into inactive\"\n });\n\n this.qustCat.getcommondrop('TITLES').subscribe(\n data => {\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\n data => {\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\n });\n }\n\n\n saveSupplierInfo(FormValues) {\n\n var answerFormValues = FormValues;\n\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\n\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\n if (responsed['status'] == 200) {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n } else {\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\n }\n });\n\n }\n\n selectedPersonDesignation(items, e, flag) {\n if (flag == 1) {\n e == 1 ? '' : '';\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n else if (flag == 2) {\n e == 1 ? '' : '';\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n }\n\n mfgCreditCardFlag: boolean = false;\n trdCreditCardFlag: boolean = false;\n mfgCounter: any = [];\n trdCounter: any = [];\n checkCard(e, flag, index) {\n if (flag == 2 && e == 3) {\n this.trdCounter[index] = 1;\n }\n else if (flag == 2 && e != 3) {\n this.trdCounter[index] = 0;\n }\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\n this.trdCreditCardFlag = TRD > 0 ? true : false;\n\n if (flag == 1 && e == 3) {\n this.mfgCounter[index] = 1;\n }\n else if (flag == 1 && e != 3) {\n this.mfgCounter[index] = 0;\n }\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\n }\n\n selectedPaymentTerms(items, e, flag) {\n if (flag == 2) {\n if (e == 3) {\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\n }\n else {\n items.controls['trade_product_credit_days_from'].clearValidators();\n items.controls['trade_product_credit_days_from'].setValue('');\n items.controls['trade_product_credit_days_to'].clearValidators();\n items.controls['trade_product_credit_days_to'].setValue('');\n }\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\n }\n else if (flag == 1) {\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\n }\n else {\n items.controls['manufacturing_credit_days_from'].clearValidators();\n items.controls['manufacturing_credit_days_from'].setValue('');\n items.controls['manufacturing_credit_days_to'].clearValidators();\n items.controls['manufacturing_credit_days_to'].setValue('');\n }\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionStockInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-stock-info',\n templateUrl: 'pd-question-stock-info.html',\n})\nexport class PdQuestionStockInfoPage {\n\n uomData: any;\n rawmaterial: any;\n users: any;\n formDetails: any;\n pdDetails: any;\n company_id : any;\n pdid:any;\n stockForm: FormGroup;\n noRecordsFound: Boolean;\n errorMessage: any = '';\n M_rawValueInWords : any = []; \n M_goodsValueInWords : any = [];\n R_tradedGoodsValueInWords : any = [];\n T_tradedGoodsValueInWords : any = [];\n mrmCommentFlag:any=[];\n mfgCommentFlag:any=[];\n rtrdCommentFlag:any=[];\n wtrdCommentFlag:any=[];\n serviceProviderForm: Boolean = false;\n suppliers_raw_materials : any = [];\n suppliers_retail_trade_details : any = [];\n suppliers_wholesale_trade_details : any = [];\n suppliers_finished_goods : any =[];\n\n RMCommentCard: boolean = false;\n TGCommentCard: boolean = false\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.formDetails=this.navParams.get('formDetails');\n this.users = this.aws.getlocale();\n this.company_id=this.pdDetails.company_id;\n this.pdid=this.pdDetails.pd_id;\n this.qustCat.stockFormAccess(this.pdid,this.company_id).subscribe(data => {\n if(data.dataStatus == true){\n this.initstockForm(data.record);\n }\n else if(data.dataStatus == false)\n {\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \n this.noRecordsFound = false;\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\n return;\n }\n else{\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \n this.noRecordsFound = false;\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\n return;\n }\n }, err => {\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\n this.noRecordsFound = false;\n this.errorMessage = 'No Records Found , Something went Wrong!';\n })\n this.getdropdown();\n }\n\n public initstockForm(record){\n let api = Object.keys(record.from_business).map(function (key) {\n return record.from_business[key];\n });\n\n let type3 = record.from_business.filter(data => data.type_of_activity_id == 3);\n let type3length = type3[0].hasOwnProperty(\"products\") ? type3[0].products.length : 0;\n let type4 = record.from_business.filter(data => data.type_of_activity_id == 4);\n let type4length = type4[0].hasOwnProperty(\"products\") ? type4[0].products.length : 0;\n\n\n let rm_api = record.from_supplier;\n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = this.formDetails.form_id;\n params.company_id = this.company_id;\n this.qustCat.retiverForm(params).subscribe(value => {\n if (value['status'] == 200) {\n let dataForm = value['records']; \n if(dataForm !== undefined) {\n this.stockForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby:[this.users],\n stock_remarks: [dataForm.stock_remarks],\n\n // is_sufficiant_raw:[dataForm.is_sufficiant_raw],\n // rawmaterial_remarks:[dataForm.rawmaterial_remarks],\n is_sufficiant_finished_and_traded_goods:[dataForm.is_sufficiant_finished_and_traded_goods],\n finished_and_traded_goods_remarks:[dataForm.finished_and_traded_goods_remarks],\n\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\n });\n if(api.length > 0){ \n api.forEach(val => {\n if (val.type_of_activity_id == 2) {\n if(val.products){\n // if(dataForm.manufacturing_details[0].manufacturing_finished_goods ){this.finishedAndTradedGoodsCommentCard = true;}\n let manufacturing_temparr = [];\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials; \n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw),\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks);\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods; \n this.initManufacturingDetails(manufacturing_temparr);\n }\n }\n if (val.type_of_activity_id == 3) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n let retail_temparr = [];\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\n \n this.initRetailDetails(retail_temparr);\n }\n }\n if (val.type_of_activity_id == 4) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n let trading_temparr = [];\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\n console.log(\"Trade\",trading_temparr)\n this.initTradingDetails(trading_temparr);\n }\n }\n if (val.type_of_activity_id == 5) {\n if(val.products){\n this.serviceProviderForm = true;\n }\n }\n });\n this.noRecordsFound = true;\n }\n }\n else{\n this.stockForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby:[this.users],\n stock_remarks: [''],\n // is_sufficiant_raw:[''],\n // rawmaterial_remarks:[''],\n is_sufficiant_finished_and_traded_goods:[''],\n finished_and_traded_goods_remarks:[''],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\n });\n if(api.length > 0){ \n api.forEach(val => {\n if (val.type_of_activity_id == 2) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_finished_goods = val.products;\n this.initManufacturingDetails(null); \n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw.value || null),\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks || null); \n }\n }\n if (val.type_of_activity_id == 3) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_retail_trade_details = val.products;\n this.initRetailDetails(null);\n }\n }\n if (val.type_of_activity_id == 4) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_wholesale_trade_details =val.products;\n this.initTradingDetails(null);\n }\n }\n if (val.type_of_activity_id == 5) {\n if(val.products){\n // this.suppliers_service_product = val.products;\n this.serviceProviderForm = true;\n } \n }\n });\n this.noRecordsFound = true;\n }\n }\n }\n else {\n console.log(\"Record\",record)\n this.stockForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby:[this.users],\n stock_remarks: [''],\n\n // is_sufficiant_raw:[''],\n // rawmaterial_remarks:[''],\n is_sufficiant_finished_and_traded_goods:[''],\n finished_and_traded_goods_remarks:[''],\n \n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\n \n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\n });\n if(api.length > 0){ \n api.forEach(val => {\n if (val.type_of_activity_id == 2) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_finished_goods = val.products;\n this.suppliers_raw_materials = rm_api;\n this.initManufacturingDetails(null); \n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(null);\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(null);\n }\n }\n if (val.type_of_activity_id == 3) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_retail_trade_details= val.products;\n this.initRetailDetails(null);\n }\n }\n if (val.type_of_activity_id == 4) {\n if(val.products){\n // this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_wholesale_trade_details = val.products;\n this.initTradingDetails(null);\n }\n }\n if (val.type_of_activity_id == 5) {\n if(val.products){\n // this.suppliers_service_product = val.products;\n this.serviceProviderForm = true;\n } \n } \n });\n this.noRecordsFound = true;\n }\n }\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\n }\n\n\n getdropdown()\n {\n this.qustCat.getcommondrop('UOM').subscribe(data => {\n if(data['dataStatus']==true){\n this.uomData = data['records'].filter(uom=>uom.isactive==1 && uom.is_land_uom == 0 || uom.is_land_uom == 2);\n }\n });\n }\n\n manufacturingForm: Boolean = false;\n manufacturingFormCreation(record) {\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\n let rm_arr = record.from_supplier;\n //console.log(\"Manufacturing \",arr);\n if (arr.length > 0) {\n this.manufacturingForm = true;\n return this.fb.group({\n is_sufficiant_raw: [],\n rawmaterial_remarks:[],\n manufacturing_raw_materials: this.fb.array([]),\n manufacturing_finished_goods: this.fb.array([]),\n })\n } else {\n return;\n }\n }\n\n retailForm: Boolean = false;\n retailFormCreation(val) {\n //let arr = val.filter(data => data.type_of_activity_id == 3);\n let arr=val\n console.log(\"retail Form \",arr);\n if (arr > 0) {\n // if(arr.products != undefined){\n this.retailForm = true;\n return this.fb.group({\n retail_traded_goods: this.fb.array([])\n }); \n // }else{\n // this.retailForm = false;\n // return;\n // } \n } else {\n return this.fb.group({\n retail_traded_goods: this.fb.array([])\n }); \n // return;\n }\n }\n\n tradingForm: Boolean = false;\n tradingFormCreation(val) {\n let arr=val\n //let arr = val.filter(data => data.type_of_activity_id == 4);\n \n if (arr > 0) {\n \n // if(arr.products === undefined){\n \n // this.tradingForm = false;\n // return;\n // }\n this.tradingForm = true;\n return this.fb.group({\n trading_traded_goods: this.fb.array([])\n }); \n } else {\n return this.fb.group({\n trading_traded_goods: this.fb.array([])\n }); \n // return;\n }\n }\n\n initManufacturingDetails(datas) {\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; \n if(datas === null){\n if(this.suppliers_raw_materials.length > 0){\n this.suppliers_raw_materials.forEach(val => {\n let Ref_RawMaterials : any = {'raw_name': val,\n 'stock_observed':'',\n 'raw_quantity': '',\n 'raw_uom': '',\n 'other_uom': '',\n 'raw_value': '',\n 'is_sufficiant_raw': '',\n 'rawmaterial_remarks':''};\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials)); \n });\n }\n else{ \n rawMaterial.push(this.createRawmaterial(null)); \n } \n if(this.suppliers_finished_goods.length > 0){\n this.suppliers_finished_goods.forEach(val => {\n let Ref_Finished_Goods : any = {'goods_name': val,\n 'goods_observed': '',\n 'goods_quantity': '',\n 'goods_uom': '',\n 'goods_other_uom': '',\n 'goods_value': '',\n 'is_sufficiant_goods': '',\n 'finishedgoods_remarks':''};\n finishedGoods.push(this.createGoods(Ref_Finished_Goods)); \n });\n }\n else{ \n finishedGoods.push(this.createGoods(null)); \n }\n } else {\n if(datas.manufacturing_raw_materials != undefined){\n datas.manufacturing_raw_materials.forEach((val,index) => {\n if(val.raw_value){\n this.inWords(val.raw_value,1,index);\n }\n // this.checkComments(val.is_sufficiant_raw,1,index);\n this.checkComments(val.stock_observed, 1, index);\n rawMaterial.push(this.createRawmaterial(val)); \n });\n }\n else{\n rawMaterial.push(this.createRawmaterial(null)); \n }\n if(datas.manufacturing_finished_goods != undefined){ \n datas.manufacturing_finished_goods.forEach((val,index) => {\n if(val.goods_value){\n this.inWords(val.goods_value,2,index);\n }\n // this.checkComments(val.is_sufficiant_goods,2,index);\n this.checkComments(val.goods_observed, 2, index);\n finishedGoods.push(this.createGoods(val)); \n \n });\n }\n else{\n finishedGoods.push(this.createGoods(null)); \n }\n }\n }\n\n createRawmaterial(records) {\n if(records === null) {\n return this.fb.group({\n raw_name: [''],\n stock_observed:[''],\n raw_quantity: [''],\n raw_uom: [''],\n other_uom : [''],\n raw_value: [''],\n is_sufficiant_raw: [''],\n rawmaterial_remarks:['']\n })\n } else { \n return this.fb.group({\n raw_name: [records.raw_name],\n stock_observed:[records.stock_observed],\n raw_quantity: [records.raw_quantity],\n raw_uom: [records.raw_uom],\n other_uom : [records.other_uom],\n raw_value: [records.raw_value],\n is_sufficiant_raw: [records.is_sufficiant_raw],\n rawmaterial_remarks:[records.rawmaterial_remarks]\n })\n }\n }\n \n initRetailDetails(datas) {\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\n if(datas === null){\n if(this.suppliers_retail_trade_details.length > 0){\n // this.rawMaterialAccess = true;\n this.suppliers_retail_trade_details.forEach(val => {\n let Ref_Trade_Goods : any = {\n 'traded_goods_name': val,\n 'traded_goods_observed': '',\n 'traded_goods_quantity': '',\n 'traded_goods_uom': '',\n 'traded_goods_other_uom': '',\n 'estimated_traded_goods_value': '',\n 'is_sufficiant_traded_goods': '',\n 'traded_goods_remarks':''};\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \n });\n }\n else{ \n tradedGoods.push(this.createTradedGoods(null)); \n }\n } else {\n if(datas.retail_traded_goods !== undefined){\n datas.retail_traded_goods.forEach((val,index) => {\n if(val.estimated_traded_goods_value){\n this.inWords(val.estimated_traded_goods_value,3,index);\n }\n // this.checkComments(val.is_sufficiant_traded_goods,3,index);\n this.checkComments(val.traded_goods_observed, 3, index);\n tradedGoods.push(this.createTradedGoods(val)); \n });\n }\n else{\n tradedGoods.push(this.createTradedGoods(null)); \n }\n }\n }\n\n\n createGoods(records) {\n if(records === null) {\n return this.fb.group({\n goods_name: [''],\n goods_observed: [''],\n goods_quantity: [''],\n goods_uom: [''],\n goods_other_uom: [''],\n goods_value: [''],\n is_sufficiant_goods: [''],\n finishedgoods_remarks:['']\n });\n }\n else {\n return this.fb.group({\n goods_name: [records.goods_name],\n goods_observed: [records.goods_observed],\n goods_quantity: [records.goods_quantity],\n goods_uom: [records.goods_uom],\n goods_other_uom: [records.goods_other_uom],\n goods_value: [records.goods_value],\n is_sufficiant_goods: [records.is_sufficiant_goods],\n finishedgoods_remarks:[records.finishedgoods_remarks]\n })\n }\n }\n\n initTradingDetails(datas) {\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; \n if(datas === null){\n if(this.suppliers_wholesale_trade_details.length > 0){\n this.suppliers_wholesale_trade_details.forEach(val => {\n let Ref_Trade_Goods : any = {\n 'traded_goods_name': val,\n 'traded_goods_observed': '',\n 'traded_goods_quantity': '',\n 'traded_goods_uom': '',\n 'traded_goods_other_uom': '',\n 'estimated_traded_goods_value': '',\n 'is_sufficiant_traded_goods': '',\n 'traded_goods_remarks':''};\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \n });\n }\n else{ \n tradedGoods.push(this.createTradedGoods(null)); \n }\n\n } else {\n if(datas.trading_traded_goods !==undefined)\n {\n datas.trading_traded_goods.forEach((val,index) => { \n if(val.estimated_traded_goods_value){\n this.inWords(val.estimated_traded_goods_value,4,index);\n }\n // this.checkComments(val.is_sufficiant_traded_goods,4,index);\n this.checkComments(val.traded_goods_observed, 4, index);\n tradedGoods.push(this.createTradedGoods(val)); \n });\n }\n else{\n tradedGoods.push(this.createTradedGoods(null)); \n }\n }\n }\n\n createTradedGoods(records) {\n if(records === null) {\n return this.fb.group({\n traded_goods_name: [''],\n traded_goods_observed: [''],\n traded_goods_quantity: [''],\n traded_goods_uom: [''],\n traded_goods_other_uom: [''],\n estimated_traded_goods_value: [''],\n is_sufficiant_traded_goods: [''],\n traded_goods_remarks:['']\n });\n }\n else {\n return this.fb.group({\n traded_goods_name: [records.traded_goods_name],\n traded_goods_observed: [records.traded_goods_observed],\n traded_goods_quantity: [records.traded_goods_quantity],\n traded_goods_uom: [records.traded_goods_uom],\n traded_goods_other_uom: [records.traded_goods_other_uom],\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\n traded_goods_remarks:[records.traded_goods_remarks]\n })\n }\n }\n \n /** Manufacturing -> To Add More Raw Material Details */\n addRawMaterials(flag) {\n if(flag==1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\n control.push(this.createRawmaterial(null));\n }\n }\n\n /** Manufacturing -> To Remove Raw Material Details */\n deleteRawMaterials(index,flag) {\n if(flag==1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\n control.removeAt(index);\n }\n }\n\n /** Manufacturing -> To Add More Finished Goods */\n addGoods(flag) {\n if(flag == 1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\n control.push(this.createGoods(null));\n }\n }\n\n /** Manufacturing -> To Remove Finished Goods */\n deleteGoods(index,flag) {\n if(flag == 1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\n control.removeAt(index);\n }\n }\n\n /**\n * Case 1 Retail Traded -> To Add More trade Goods\n * Case 2 wholesale Traded -> To Add More trade Goods\n */\n addTradedGoods(flag) {\n switch(flag){\n case 1: {\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\n control.push(this.createTradedGoods(null));\n break;\n }\n case 2: {\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\n control.push(this.createTradedGoods(null));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /**\n * Case 1 Retail Traded -> To remove trade Goods\n * Case 2 wholesale Traded -> To remove trade Goods\n */\n deleteTradedGoods(index,flag) {\n switch(flag){\n case 1: {\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\n control.removeAt(index);\n break;\n }\n case 2: {\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\n control.removeAt(index);\n break;\n }\n default: {\n break;\n }\n }\n \n //const control = this.stockForm.controls['traded_goods'];\n\n }\n\n ManufacturingCounterArray: any = [];\n FinishedCounterArray: any = [];\n RetailCounterArray: any = [];\n WholeSaleCounterArray: any = [];\n\n checkComments(value, flag, index) {\n\n if (flag == 1) {\n this.ManufacturingCounterArray[index] = value == \"yes\" ? 1 : 0\n let RMOverallCount = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\n this.RMCommentCard = RMOverallCount > 0 ? true : false;\n }\n if (flag == 2) {\n this.FinishedCounterArray[index] = value == \"yes\" ? 1 : 0\n }\n if (flag == 3) {\n this.RetailCounterArray[index] = value == \"yes\" ? 1 : 0\n }\n if (flag == 4) {\n this.WholeSaleCounterArray[index] = value == \"yes\" ? 1 : 0\n }\n let FGOverallCount = this.FinishedCounterArray.reduce((sum, val) => sum + +val, 0);\n let RTGOverallCount = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\n let WTGOverallCount = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\n let TGOverallCount = FGOverallCount + RTGOverallCount + WTGOverallCount;\n this.TGCommentCard = TGOverallCount > 0 ? true : false;\n }\n\n /** To Save/Edited Popup Data */\n saveStockInfo(answerFormValues) {\n //To Remove The \"Null\" With Key also\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\n if(responsed['status'] == 200) { \n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }else{\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); \n }\n });\n }\n\n inWords(e,flag:number,i){\n switch(flag){\n case 1 :\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n case 2 : \n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n case 3 : \n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n case 4 : \n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n default:\n break;\n }\n}\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","import { Component,ViewEncapsulation } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionFinancialInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-financial-info',\n templateUrl: 'pd-question-financial-info.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PdQuestionFinancialInfoPage {\n \n public financialForm: FormGroup;\n\n pdDetails:any;\n FormId:any;\n users:any;\n company_id:any;\n isDisplay:boolean;\n customerCommentsFlag:boolean;\n FY_annualSalesInwords: any =[]\n FY_netProfitAmtInwords: any=[]\n FY_netLossAmtInwords: any=[]\n AV_annualSalesInwords: any=[]\n AV_netProfitAmtInwords: any=[]\n AV_netLossAmtInwords: any=[]\n AV_netProfitAmtFrmInwords: any=[]\n AV_netProfitAmtToInwords: any=[]\n AV_netLossAmtFrmInwords: any=[]\n AV_netLossAmtToInwords: any=[]\n AV_SalesFrmInwords: any=[]\n AV_SalesToInwords: any=[]\n AV_SalesInwords: any=[];\n AV_marginProfitAmtInwords: any=[];\n AV_marginLossAmtInwords: any=[];\n formDetails: any;\n\n av : any =[{id:6, name:'Letter of Credit'},\n {id:2, name:'Bank Guarantee'},\n {id:3, name:'Cash Credit Limit'},\n {id:7, name:'OD Limit'},\n {id:4, name:'Factoring'},\n {id:5, name:'Forfaiting'},\n {id:1, name:'Others'}]\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.formDetails=this.navParams.get('formDetails');\n this.FormId = this.formDetails.form_id;\n // this.FormId=this.navParams.get('FormId');\n this.company_id=this.pdDetails.company_id\n this.users=this.aws.getlocale();\n \n this.initFinancialForm()\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\n this.getDetails()\n }\n\n selectedStatement(e :any):void{\n\n if(e == 'yes'){\n\n this.isDisplay = true;\n this.financialForm.controls['is_financial_customer'].setValue('');\n \n }\n else if(e == 'no'){\n\n this.isDisplay = false;\n this.financialForm.controls['is_financial_customer'].setValue('no');\n // this.selectedFinancialCustomer('no');\n \n const statementControl = this.financialForm.controls['date_per_financial'];\n \n while (statementControl.length !== 0) {\n statementControl.removeAt(0);\n }\n const control = this.financialForm.controls['estimated_value'];\n control.push(this.createValue('')); \n this.financialForm.controls['financial_starting_year'].setValue('');\n this.financialForm.controls['financial_no_of_year'].setValue('');\n\n // alert((new Date()).getFullYear());\n // let year1 = (new Date()).getFullYear();\n // let year2 = ((new Date()).getFullYear() + 1); \n // let Year = year1 +'-'+ year2;\n \n }\n\n}\n /** fin customer data from Fin statement*/\n selectedFinancialCustomer(e: any): void {\n if(e == 'yes'){\n const control = this.financialForm.controls['estimated_value'];\n\n while (control.length !== 0) {\n control.removeAt(0);\n }\n }\n else if (e == 'no'){\n const control = this.financialForm.controls['estimated_value'];\n control.push(this.createValue('')); \n }\n }\n\n selectedProfitOrLossType(e,detail){\n \n if(e.value == 1){\n detail.controls.financial_net_loss.setValue('');\n detail.controls.financial_margin_of_loss.setValue('');\n }\n else if(e.value == 2){\n detail.controls.financial_net_profit.setValue('');\n detail.controls.financial_margin_of_profit.setValue('');\n }\n}\n\n\n /** For Auto-generating FinYear */\n dynamicalFinYear($event){\n \n let e = $event.target.value;\n if(e == 1){\n this.customerCommentsFlag = false;\n }\n else{\n this.customerCommentsFlag = true;\n }\n\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\n\n const control = this.financialForm.controls['date_per_financial'];\n\n while (control.length !== 0) {\n control.removeAt(0);\n }\n\n if(e > 0 ){\n for(let i = 1 ; i<= e ; i++ ){\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\n control.push(this.createDate(Year));\n }\n }\n}\n\n\n initFinancialForm(){\n this.financialForm = this.fb.group({\n pdid: this.pdDetails.pd_id,\n formid: this.FormId,\n company_id: this.company_id,\n fk_createdby: this.users,\n financial_remarks: [''],\n is_financial_statements:[''],\n is_financial_customer:[''],\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n financial_no_of_year : [''],\n financial_reason: [''],\n financial_customer:[''],\n receive_the_money_in_days:[''],\n pay_the_money_in_days:[''],\n unsold_stock_lies_in_days:[''],\n is_there_working_capital_available:[''],\n working_capital_facilities_availed:[''],\n reason_for_working_capital_facilities_availed:[''],\n // same_as_financial_statements:[''],\n date_per_financial: this.fb.array([]),\n estimated_value: this.fb.array([])\n });\n }\n createDate(date){\n return this.fb.group({\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\n finanical_profit_or_loss:[''],\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\n financial_margin_of_profit: [''],\n financial_margin_of_loss: [''],\n financial_variation: [''],\n financial_profit_to_sale_variation:[''],\n financial_annualsales_variation : [''],\n })\n }\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\n createValue(date) {\n return this.fb.group({\n \n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\n estimate_sales_from: [''],\n estimate_sales_to: [''],\n estimate_sales_average: [''],\n estimate_profit_or_loss:[''],\n estimate_net_margin_availablity:[''],\n estimate_profit_range_from:[''],\n estimate_profit_range_to:[''],\n estimate_profit_margin_percent:[''],\n estimate_profit_margin:[''],\n estimate_net_profit_from:[''],\n estimate_net_profit_to:[''],\n estimate_net_profit_percent:[''],\n estimate_net_profit:[''],\n estimate_loss_range_from:[''],\n estimate_loss_range_to:[''],\n estimate_loss_margin_percent:[''],\n estimate_loss_margin:[''],\n estimate_net_loss_from:[''],\n estimate_net_loss_to:[''],\n estimate_net_loss_percent:[''],\n estimate_net_loss:[''],\n estimate_reason_for_loss:[''],\n // estimate_receive_the_money_in_days:[''],\n // estimate_pay_the_money_in_days:[''],\n // estimate_unsold_stock_lies_in_days:[''],\n // estimate_working_capital_facilities_availed:[''],\n // reason_for_working_capital_facilities_availed:[''],\n // is_there_working_capital_available:['']\n\n });\n}\nsubmitDetails(){\n \n \n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\n \n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\n \n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\n \n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \n \n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \n \n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\n \n}\n let records=this.financialForm.value;\n this.qustCat.saveForm(records).subscribe(res=>{\n if(res['status']== 200){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\n }\n },err=>{\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\n })\n}\n getDetails(){\n const financeDate=this.financialForm.controls['date_per_financial']\n //financeDate.push(this.createDate(''))\n const estimate= this.financialForm.controls['estimated_value']\n //estimate.push(this.createValue(''))\n let params:any={}\n params.pd_id=this.pdDetails.pd_id\n params.pd_form_id=this.FormId\n params.company_id=this.company_id\n this.qustCat.retiverForm(params).subscribe(value=>{\n if(value['dataStatus']==true){\n let retrieveData=value['records'];\n if(value['records'].is_financial_statements == 'yes'){\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\n return value['records'].date_per_financial[key]\n })\n if(result.length>0){\n this.customerCommentsFlag=result.length == 1 ? false : true\n result.forEach((val,index)=>{\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\n financeDate.push(this.createDate(''));\n });\n retrieveData.date_per_financial=result;\n }\n else{\n financeDate.push(this.createDate(''))\n }\n }\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\n return value['records'].estimated_value[key]\n });\n if(result_val.length>0){\n result_val.forEach((val,index)=>{\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\n estimate.push(this.createValue(''))\n });\n retrieveData.estimated_value=result_val\n }\n else{\n estimate.push(this.createValue(''));\n }\n retrieveData.pdid=this.pdDetails.pd_id\n retrieveData.company_id=this.company_id\n retrieveData.fk_createdby=this.users\n retrieveData.formid=this.FormId\n this.financialForm.setValue(retrieveData)\n }\n else {\n //financial_date.push(this.createDate());\n //estimated_val.push(this.createValue(''));\n }\n })\n }\n\n /**\n * New Calculation for Finanical Statement \n **/\n calculationForFinanicalStatement(){\n \n let parentArray = this.financialForm.controls['date_per_financial'];\n // let prev_annual_sale : any = '';\n // let prev_profit_margin : any = '';\n // let prev_loss_margin : any = '';\n // let prev_profit_amt : any = '';\n // let prev_loss_amt : any = '';\n // let profit_margin : any = '';\n // let loss_margin : any = '';\n // let annual_sale : any = '';\n // let profit_amt : any = '';\n // let loss_amt : any = '';\n let prev_annual_sale : any = '';\n let prev_profit_margin : any = [];\n let prev_loss_margin : any = [];\n let prev_profit_amt : any = '';\n let prev_loss_amt : any = '';\n let profit_margin : any = '';\n let loss_margin : any = '';\n let annual_sale : any = '';\n let profit_amt : any = '';\n let loss_amt : any = '';\n\n parentArray.value.forEach((val,index) => {\n\n let childArray : any = parentArray.controls[index];\n annual_sale = val.financial_annual_sale;\n \n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \n * Label name = \" Sale Variation from Previous Year in % \"\n */\n \n if (index != 0) { \n if(annual_sale != ''){\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\n }\n }\n else{\n childArray.controls.financial_annualsales_variation.setValue(0.00);\n }\n \n\n prev_annual_sale = annual_sale;\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\n\n\n profit_amt = val.financial_net_profit;\n loss_amt = val.financial_net_loss;\n\n /** Calculating Profit's Variation - STARTS HERE\n * Label name = \"Profit Variation from Previous Year in %\"\n */\n if((profit_amt != '' || loss_amt != '') && index != 0) {\n if(+profit_amt > +annual_sale){\n childArray.controls.financial_margin_of_profit.setValue('');\n } \n else{\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\n\n let variation = (((profit_amt != '' ? profit_amt : loss_amt ) - (prev_profit_amt != '' ? prev_profit_amt : prev_loss_amt ))/ (prev_profit_amt != '' ? Math.abs(prev_profit_amt) : Math.abs(prev_loss_amt))) * 100; \n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\n childArray.controls.financial_variation.setValue(final_variation);\n\n }\n }\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\n\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \n * Label name = \"Net Profit to Sales in % (or) Net Loss to Sales in % \n **/\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\n \n if(SelectedlossOrProfit == 1){\n\n loss_margin = '';\n childArray.controls.financial_margin_of_loss.setValue('');\n \n if (annual_sale != '' && val.financial_net_profit != '') {\n if(+profit_amt>+annual_sale){\n // alert(\"profit is greater than Annual Sale \");\n this.toast.pdTriggerappmessage(\"profit is greater than Annual Sale \")\n childArray.controls.financial_net_profit.setValue(0);\n childArray.controls.financial_margin_of_profit.setValue('');\n childArray.controls.financial_profit_to_sale_variation.setValue('');\n childArray.controls.financial_variation.setValue('');\n }\n else{\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\n \n }\n }\n }\n else if(SelectedlossOrProfit == 2){\n profit_margin = '';\n childArray.controls.financial_margin_of_profit.setValue('');\n \n if (annual_sale != '' && val.financial_net_loss != '') {\n if(+val.financial_net_loss>+annual_sale){\n // alert(\"Loss is greater than Annual Sale \");\n this.toast.pdTriggerappmessage(\"Loss is greater than Annual Sale \")\n childArray.controls.financial_net_loss.setValue(0);\n childArray.controls.financial_margin_of_loss.setValue('');\n childArray.controls.financial_profit_to_sale_variation.setValue('');\n childArray.controls.financial_variation.setValue('');\n }\n if(+loss_amt>+annual_sale){\n childArray.controls.financial_net_loss.setValue(0);\n childArray.controls.financial_margin_of_loss.setValue('');\n childArray.controls.financial_profit_to_sale_variation.setValue('');\n childArray.controls.financial_variation.setValue('');\n }\n else{\n \n\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\n\n\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\n \n }\n }\n }\n\n prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\n prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\n \n // if(index != 0 ){\n \n // let variation_percent = (((profit_margin != '' ? profit_margin : loss_margin ) - (prev_profit_margin != '' ? prev_profit_margin : prev_loss_margin ))/ (prev_profit_margin != '' ? Math.abs(prev_profit_margin) : Math.abs(prev_loss_margin))) * 100; \n \n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\n \n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\n\n // }\n\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\n\n /** Calculating Sales's Profit Variation \n * Label name = \"Variation of Profit % over sales\"\n **/\n \n if ((profit_margin != '' || loss_margin != '') && index != 0) {\n \n\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\n profit_margin = profit_margin !== undefined ? profit_margin:0;\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\n\n \n if(annual_sale != ''){\n\n \n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\n let c = b * 100;\n \n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\n \n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\n }\n }\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\n\n\n });\n }\n\n confirmAlert(i, details){\n\n let estimate_sales_from = +details.value.estimate_sales_from;\n let estimate_sales_to = +details.value.estimate_sales_to;\n\n if (estimate_sales_from != null && estimate_sales_to != null){\n \n if(+estimate_sales_from>+estimate_sales_to){\n // alert(\"Given To value is lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\n details.controls.estimate_sales_to.setValue('');\n details.controls.estimate_sales_average.setValue('');\n return;\n }\n\n let C = (estimate_sales_to - estimate_sales_from)\n let D = (C / estimate_sales_from) * 100;\n \n if(estimate_sales_from <= 5000000){\n if(D > 20){\n var r = confirm(\"Given Sales Range is greater than 20%\");\n if (r == true) {\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \n }else{\n details.controls.estimate_sales_to.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n }\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\n if(D > 15){\n var r = confirm(\"Given Sales Range is greater than 15%\");\n if (r == true) {\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \n }else{\n details.controls.estimate_sales_to.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n }\n else if(estimate_sales_from > 10000000){\n if(D > 10){\n var r = confirm(\"Given Sales Range is greater than 10%\");\n if (r == true) {\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \n }else{\n details.controls.estimate_sales_to.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n\n // if(D >= 30){\n // var r = confirm(\"Given Sales Range is greater than 30%\");\n // if (r == true) {\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \n // }else{\n // details.controls.estimate_sales_to.setValue('');\n // return;\n // }\n // }\n // else{\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\n // }\n }\n this.calculateSalesAverage(i, details);\n }\n\n calculateSalesAverage(i, details){\n \n let estimate_sales_from = details.value.estimate_sales_from;\n let estimate_sales_to = details.value.estimate_sales_to;\n\n if(estimate_sales_from != '' && estimate_sales_to != ''){\n\n let range1 = +estimate_sales_from/10;\n \n let lower = (+estimate_sales_from)+range1;\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\n\n if(lower > higer){\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n }\n \n }\n else{\n details.controls.estimate_sales_average.setValue('');\n }\n\n }\n calculateMarginProfit( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n // alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_profit_range_from.setValue('');\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n }\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\n if(+estimate_profit_range_from > 100){\n // alert('Given Profit percent is More Than 100');\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\n details.controls.estimate_profit_range_from.setValue('');\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n\n }\n \n let estimate_profit_range_to = details.value.estimate_profit_range_to;\n \n if(+estimate_profit_range_to > 100){\n // alert('Given Profit percent is More Than 100');\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n\n }\n\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\n if(+estimate_profit_range_from>+estimate_profit_range_to){\n // alert(\"Given To value is lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n }\n\n \n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \n let Profit_Average = (profit_percent*sales_average)/100;\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\n\n if(difference > 3){\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\n if (r == true) {\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \n }else{\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n }\n }\n \n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\n \n \n \n }\n \n }\n\n\n calculateProfitAmount( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n //alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_net_profit_from.setValue('');\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\n\n if(+estimate_net_profit_to>+sales_average){\n \n //alert(\"Given Profit is Greater than Sales\");\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\n details.controls.estimate_net_profit_from.setValue('');\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n\n\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\n if(+estimate_net_profit_from>+estimate_net_profit_to){\n // alert(\"Given To value is lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n \n let C = (estimate_net_profit_to - estimate_net_profit_from)\n let D = (C / estimate_net_profit_from) * 100;\n \n let range1 = +estimate_net_profit_from/10;\n \n let lower = (+estimate_net_profit_from)+range1;\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\n\n if(estimate_net_profit_from <= 5000000){\n if(D >= 20){\n var r = confirm(\"Given Profit Range is greater than 20%\");\n if (r == true) {\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\n }else{\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\n }\n\n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\n if(D >= 15){\n var r = confirm(\"Given Sales Range is greater than 15%\");\n if (r == true) {\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n \n }else{\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n }\n\n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n\n }\n else if(estimate_net_profit_from > 10000000){\n if(D >= 10){\n var r = confirm(\"Given Sales Range is greater than 10%\");\n if (r == true) {\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n }else{\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n }\n\n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n \n }\n \n}\n\ncalculateMarginLoss( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n // alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_loss_range_from.setValue('');\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n }\n // else{\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\n if(+estimate_loss_range_from > 100){\n // alert('Given Loss Percent is more than 100');\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\n details.controls.estimate_loss_range_from.setValue('');\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n\n }\n \n let estimate_loss_range_to = details.value.estimate_loss_range_to;\n if(+estimate_loss_range_to > 100){\n // alert('Given Loss Percent is more than 100');\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\n details.controls.estimate_loss_range_from.setValue('');\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n\n }\n \n\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\n \n if(+estimate_loss_range_from>+estimate_loss_range_to){\n //alert(\"Given Loss Percent is more than 100\");\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n }\n \n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\n let loss_Average = (loss_percent*sales_average)/100;\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\n\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\n \n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \n\n if(difference > 3){\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\n if (r == true) {\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n \n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \n }else{\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n }\n } \n \n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \n }\n\n}\n\n\ncalculateLossAmount( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n // alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_net_loss_from.setValue('');\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\n\n if(+estimate_net_loss_to > +sales_average){\n \n // alert(\"Given Loss is Greater than Sales\");\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\n details.controls.estimate_net_loss_from.setValue('');\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n\n \n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\n if(+estimate_net_loss_from > +estimate_net_loss_to){\n //alert(\"Given To value is Lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n\n \n \n // if(+estimate_net_loss_to > +estimate_net_loss_from){\n // alert(\"loss is greater than sales\");\n // details.controls.estimate_net_loss_to.setValue('');\n // details.controls.estimate_net_loss.setValue('');\n // details.controls.estimate_net_loss_percent.setValue('');\n // return;\n // }\n \n \n let C = (estimate_net_loss_to - estimate_net_loss_from)\n let D = (C / estimate_net_loss_from) * 100;\n \n let range1 = +estimate_net_loss_from/10;\n \n let lower = (+estimate_net_loss_from)+range1;\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\n\n if(estimate_net_loss_from <= 5000000){\n if(D >= 20){\n var r = confirm(\"Given Profit Range is greater than 20%\");\n if (r == true) {\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\n \n }else{\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\n }\n\n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n\n }\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\n if(D >= 15){\n var r = confirm(\"Given Sales Range is greater than 15%\");\n if (r == true) {\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n }else{\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n }\n\n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n else if(estimate_net_loss_from > 10000000){\n if(D >= 10){\n var r = confirm(\"Given Sales Range is greater than 10%\");\n if (r == true) {\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n }else{\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n \n }\n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n \n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n }\n }\n \n }\n \n}\n\n \n\n\n \n\n /** On Key Press Event For Input Field */\n keyPress(event: any) {\n //const pattern = /[0-9\\-\\.\\ ]/;\n const pattern = /[0-9\\.]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n /** To Convert Amount into Words */\n inWords(e,i,flag:number){\n\n switch(flag){\n case 1 :\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\n break;\n case 2 : \n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\n break;\n case 3 : \n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\n break;\n case 4 : \n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 5 : \n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 6 : \n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 7 : \n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 8 : \n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 9 : \n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 10 : \n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 11 : \n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 12 : \n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n default:\n break;\n }\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionClientInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-client-info',\n templateUrl: 'pd-question-client-info.html',\n})\nexport class PdQuestionClientInfoPage {\n\n users: any;\n pdDetails: any;\n formDetails: any;\n pdid: any;\n company_id: any;\n questionDetails: any;\n clientInfoForm: FormGroup;\n\n\n\n\n public submitted = false;\n\n public m_paymentType = [];\n\n companyRelationShipList: any = [];\n\n titleList: any = [];\n noRecordsFound: Boolean = false;\n errorMessage: any = '';\n m_manufacturingProducts: any = [];\n m_tradingProducts: any = [];\n m_suplierProducts: any = [];\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.formDetails = this.navParams.get('formDetails');\n this.users = this.aws.getlocale();\n this.pdid = this.pdDetails.pd_id;\n this.company_id = this.pdDetails.company_id;\n\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\n\n if (data.dataStatus) {\n\n let datas = data.records;\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\n let api = Object.keys(datas.type_of_activity).map(function (key) {\n return datas.type_of_activity[key];\n });\n if (api.length > 0) {\n api.forEach(val => {\n if (val.type_of_activity_id == 3) {\n if (val.prodcuts) {\n this.m_tradingProducts.push(val.prodcuts);\n }\n }\n\n if (val.type_of_activity_id == 4) {\n if (val.prodcuts) {\n this.m_tradingProducts.push(val.prodcuts);\n }\n }\n });\n }\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\n\n this.initFormLoadDetails(datas.type_of_activity);\n\n } else {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = data.msg;\n }\n }, err => {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = 'No Records Found , Something went Wrong!';\n });\n\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\n }\n\n initFormLoadDetails(record) {\n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = this.formDetails.form_id;\n params.company_id = this.company_id;\n this.qustCat.retiverForm(params).subscribe(\n data => {\n if (data['dataStatus']) {\n let dataForm = data['records'];\n if (dataForm !== undefined) {\n this.clientInfoForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n // Load form details for manufacturing\n let arr = record.filter(data => data.type_of_activity_id == 2);\n // if(dataForm.manufacturing_details[0].main_raw_materials){\n if (arr.length > 0) {\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\n // return dataForm.main_raw_materials[key];\n // });\n if(dataForm.manufacturing_details){\n console.log(dataForm)\n \n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\n\n this.initManufacturingProductsDetails(api_main_raw_materials);\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\n }\n else{\n console.log(\"NO Data\",dataForm)\n this.initManufacturingProductsDetails(null)\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue( null);\n }\n }\n // }\n\n // Load form details for the wholeshale trading details\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\n // return dataForm.trading_products[key];\n // });\n if(dataForm.trade_details){\n let api_trading_products = dataForm.trade_details[0].trading_products;\n\n this.initTradingProductsDetails(api_trading_products);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\n }\n else{\n this.initTradingProductsDetails(null);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue( null);\n }\n }\n\n // Load form details for the service provider prduct details \n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\n // return dataForm.service_products[key];\n // });\n if(dataForm.service_provider_details){\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\n this.initServiceProviderProductsDetails(api_service_provider_products);\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(dataForm.service_provider_details[0].service_products_total_payments_percent_on_credit || null);\n }\n else{\n this.initServiceProviderProductsDetails(null)\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\n }\n }\n // Load form details for the retail trading details\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\n // if (arr3.length > 0) {\n // this.retaildTradingForm = true;\n // }\n this.noRecordsFound = true;\n } else {\n this.clientInfoForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\n return dataForm.service_products[key];\n });\n this.initServiceProviderProductsDetails(api_service_provider_products);\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\n }\n // Load form details for the retail trading details\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\n // if (arr3.length > 0) {\n // this.retaildTradingForm = true;\n // }\n this.noRecordsFound = true;\n }\n } else {\n this.clientInfoForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\n supplier_info_form_remark: []\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n this.initServiceProviderProductsDetails(null);\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\n }\n // Load form details for the retail trading details\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\n // if (arr3.length > 0) {\n // this.retaildTradingForm = true;\n // }\n this.noRecordsFound = true;\n }\n }, err => {\n\n }\n );\n }\n\n manufacturingForm: Boolean = false;\n manufacturingFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.manufacturingForm = true;\n return this.fb.group({\n main_raw_materials: this.fb.array([]),\n main_raw_materials_total_payments_percent_on_credit: []\n })\n // }\n } else {\n return;\n }\n }\n\n tradingForm: Boolean = false;\n tradingFormCreation(val) {\n // let arr = val.filter(data => data.type_of_activity_id == 4);\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr.length > 0) {\n this.tradingForm = true;\n return this.fb.group({\n trading_products: this.fb.array([]),\n trading_products_total_payments_percent_on_credit: []\n });\n } else {\n return;\n }\n }\n\n serviceProviderForm: Boolean = false;\n serviceProviderFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 5);\n if (arr.length > 0) {\n this.serviceProviderForm = true;\n return this.fb.group({\n service_products: this.fb.array([]),\n service_products_total_payments_percent_on_credit: []\n });\n } else {\n return;\n }\n }\n\n initManufacturingProductsDetails(datas) {\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n if (datas === null) {\n control.push(this.initManufacturingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.manufacturing_payment_type, 1, inx);\n control.push(this.initManufacturingProducts(val));\n });\n // for (let val of datas) {\n // control.push(this.initManufacturingProducts(val));\n // }\n }\n }\n\n initManufacturingProducts(records) {\n if (records === null) {\n return this.fb.group({\n manufacturing_product_name: [''],\n manufacturing_client_name: [''],\n manufacturing_contact_person_name: [''],\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n manufacturing_payment_type: [''],\n manufacturing_payment_mode: [''],\n // manufacturing_credit_days: [''],\n person_title_name: [''],\n person_designation: [''],\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [''],\n manufacturing_credit_days_from: [''],\n manufacturing_credit_days_to: ['']\n })\n } else {\n return this.fb.group({\n manufacturing_product_name: [records.manufacturing_product_name || null],\n manufacturing_client_name: [records.manufacturing_client_name || null],\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [records.other_person_designation || null],\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\n })\n }\n }\n\n initTradingProductsDetails(datas) {\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n if (datas === null) {\n control.push(this.initTradingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.trade_product_payment_type, 2, inx);\n control.push(this.initTradingProducts(val));\n });\n // for (let val of datas) {\n // control.push(this.initTradingProducts(val));\n // }\n }\n }\n\n initTradingProducts(records) {\n if (records === null) {\n return this.fb.group({\n trade_product_name: [''],\n trade_client_name: [''],\n trade_product_contact_person_name: [''],\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n trade_product_payment_type: [''],\n trade_product_payment_mode: [''],\n trade_product_frequency_of_purchase: [''],\n trade_product_credit_days_from: [''],\n trade_product_credit_days_to: [''],\n person_title_name: [''],\n person_designation: [''],\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [''],\n })\n } else {\n return this.fb.group({\n trade_product_name: [records.trade_product_name],\n trade_client_name: [records.trade_client_name],\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n trade_product_payment_type: [records.trade_product_payment_type],\n trade_product_payment_mode: [records.trade_product_payment_mode],\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [records.other_person_designation || null],\n })\n }\n }\n\n initServiceProviderProductsDetails(datas) {\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\n if (datas === null) {\n control.push(this.initServiceProviderProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\n control.push(this.initServiceProviderProducts(val));\n });\n // for (let val of datas) {\n // control.push(this.initServiceProviderProducts(val));\n // }\n }\n }\n\n initServiceProviderProducts(records) {\n if (records === null) {\n return this.fb.group({\n service_provider_product_name: [''],\n service_provider_client_name: [''],\n service_provider_product_contact_person_name: [''],\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n service_provider_product_payment_type: [''],\n service_provider_product_payment_mode: [''],\n service_provider_product_frequency_of_purchase: [''],\n service_provider_product_credit_days_from: [''],\n service_provider_product_credit_days_to: [''],\n person_title_name: [''],\n person_designation: [''],\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [''],\n })\n } else {\n return this.fb.group({\n service_provider_product_name: [records.service_provider_product_name],\n service_provider_client_name: [records.service_provider_client_name],\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [records.other_person_designation || null],\n })\n }\n }\n\n addMoreRawMaterials(e): void {\n // e.stropPropagation();\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n\n control.push(this.initManufacturingProducts(null));\n }\n\n removeRawMaterials(inx): void {\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n control.removeAt(inx);\n }\n\n addMoretradeProduct(e): void {\n // e.stropPropagation();\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n\n control.push(this.initTradingProducts(null));\n }\n\n removeTradingProduct(inx): void {\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n control.removeAt(inx);\n }\n\n addMoreServiceProduct(e): void {\n // e.stropPropagation();\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\n\n control.push(this.initServiceProviderProducts(null));\n }\n\n removeServiceProduct(inx): void {\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\n control.removeAt(inx);\n }\n\n getdropList() {\n\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\n data => {\n this.companyRelationShipList = data['records'];\n // .filter(data => data.isactive == 1);\n // because in general no need of \"other\" option but in client others option needed - in DB others option changed into inactive\"\n });\n\n this.qustCat.getcommondrop('TITLES').subscribe(\n data => {\n this.titleList = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\n data => {\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\n });\n }\n // saveclientDetails(answerData)\n // {\n // let records:any ={};\n\n // records.pdid = this.pdDetails.pd_id;\n // records.formid = this.FormId.form_id;\n // records.fk_createdby = this.users;\n\n // records.client_details = answerData.clientArray;\n\n // this.qustCat.saveForm(records).subscribe(res=>\n // {\n // if(res['dataStatus']==true)\n // {\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.navCtrl.pop();\n // }\n // });\n\n\n // }\n /** To Save/Edited Popup Data */\n saveClientInfo(answerFormValues) {\n \n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\n if (answerFormValues.manufacturing_details[0] == null) {\n delete answerFormValues['manufacturing_details'];\n }\n if (answerFormValues.trade_details[0] == null) {\n delete answerFormValues['trade_details'];\n }\n if (answerFormValues.service_provider_details[0] == null) {\n delete answerFormValues['service_provider_details'];\n }\n\n //To Remove The \"Null\" With Key also\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\n if (responsed['status'] == 200) {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n } else {\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\n }\n });\n\n }\n\n selectedPersonDesignation(items, e, flag) {\n if (flag == 1) {\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n else if (flag == 2) {\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n else if (flag == 3) {\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n }\n\n mfgCreditCardFlag: boolean = false;\n trdCreditCardFlag: boolean = false;\n spCreditCardFlag: boolean = false;\n mfgCounter: any = [];\n trdCounter: any = [];\n spCounter: any = [];\n checkCard(e, flag, index) {\n\n if (flag == 3 && e == 3) {\n this.spCounter[index] = 1;\n }\n else if (flag == 3 && e != 3) {\n this.spCounter[index] = 0;\n }\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\n this.spCreditCardFlag = SP > 0 ? true : false;\n\n if (flag == 2 && e == 3) {\n this.trdCounter[index] = 1;\n }\n else if (flag == 2 && e != 3) {\n this.trdCounter[index] = 0;\n }\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\n this.trdCreditCardFlag = TRD > 0 ? true : false;\n\n if (flag == 1 && e == 3) {\n this.mfgCounter[index] = 1;\n }\n else if (flag == 1 && e != 3) {\n this.mfgCounter[index] = 0;\n }\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\n\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n/*\n Generated class for the ConstantsProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ConstantsProvider {\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\n constructor(public http: HttpClient) {\n console.log('Hello ConstantsProvider Provider');\n }\n\n apiurl()\n {\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\n return devapiurl;\n }\n\n getcurrentDate()\n {\n var today = new Date();\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\n var time = today.getHours() + \":\" + today.getMinutes();\n let CurrentDate = date+\"T00:00\";\n return CurrentDate.toString();\n }\n \n convertNumberToWords(amount) {\n var words = new Array();\n words[0] = '';\n words[1] = 'One';\n words[2] = 'Two';\n words[3] = 'Three';\n words[4] = 'Four';\n words[5] = 'Five';\n words[6] = 'Six';\n words[7] = 'Seven';\n words[8] = 'Eight';\n words[9] = 'Nine';\n words[10] = 'Ten';\n words[11] = 'Eleven';\n words[12] = 'Twelve';\n words[13] = 'Thirteen';\n words[14] = 'Fourteen';\n words[15] = 'Fifteen';\n words[16] = 'Sixteen';\n words[17] = 'Seventeen';\n words[18] = 'Eighteen';\n words[19] = 'Nineteen';\n words[20] = 'Twenty';\n words[30] = 'Thirty';\n words[40] = 'Forty';\n words[50] = 'Fifty';\n words[60] = 'Sixty';\n words[70] = 'Seventy';\n words[80] = 'Eighty';\n words[90] = 'Ninety';\n amount = amount.toString();\n var atemp = amount.split(\".\");\n var number = atemp[0].split(\",\").join(\"\");\n var n_length = number.length;\n let value:any = \"\";\n var words_string = \"\";\n if (n_length <= 9) {\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\n var received_n_array = new Array();\n for (var i = 0; i < n_length; i++) {\n received_n_array[i] = number.substr(i, 1);\n }\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\n n_array[i] = received_n_array[j];\n }\n for (var i = 0, j = 1; i < 9; i++, j++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n if (n_array[i] == 1) {\n n_array[j] = 10 + parseInt(n_array[j]);\n n_array[i] = 0;\n }\n }\n }\n value = \"\";\n for (var i = 0; i < 9; i++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n value = n_array[i] * 10;\n } else {\n value = n_array[i];\n }\n if (value != 0) {\n words_string += words[value] + \" \";\n }\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Crores \";\n }\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Lakhs \";\n }\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Thousand \";\n }\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\n words_string += \"Hundred and \";\n } else if (i == 6 && value != 0) {\n words_string += \"Hundred \";\n }\n }\n words_string = words_string.split(\" \").join(\" \");\n }\n return words_string;\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 246;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 246\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 289;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 289\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\nimport { AlertController } from 'ionic-angular';\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\n// import { GridPage } from '../grid/grid';\n\n\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\nimport { Camera } from '@ionic-native/camera';\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\n// import { CustomValidators } from 'ng2-validation';\n\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PasswordPage } from '../password/password';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n\n@Component({\n selector: 'page-login',\n templateUrl: 'login.html',\n})\nexport class LoginPage {\n users: any;\nchangepass: FormGroup;\nemail: string;\npassword: string;\nnewpassword: any;\nconfirmPassword: any;\nchangePassword: any;\nstatus: Boolean = false;\nconfig: MatDialogConfig = {\n disableClose: false,\n width: '',\n height: '',\n position: {\n top: '',\n bottom: '',\n left: '',\n right: ''\n }\n};\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\n,public toast:ToastProvider) {\n \n}\nngOnInit(){\n //this.loggedInCheck();\n \n}\nionViewDidEnter(){\n this.Menu.enable(false);\n}\nionViewWillLeave(){\n this.Menu.enable(true);\n}\n/**\n* @param email\n* @param password\n* AWS login service\n*/\nlogin() {\n // console.log(this.email);\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\n let auth = { 'Username': this.email, 'Password': this.password };\n this.aws.dologin(auth).subscribe(awsres => {\n let userid = this.aws.getlocale();\n \n this.aws.getuserprofile(userid).subscribe(usersres=>\n {\n this.users = usersres; \n \n if (this.users.dataStatus == true) {\n \n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\n this.navCtrl.setRoot(PdListPage);\n \n }else\n {\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n\n \n }\n });\n }, err => {\n console.log(JSON.stringify(err.message));\n if (err.message == \"New password is required.\") {\n //console.log(\"if\");\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\n } else {\n console.log(JSON.stringify(err.message));\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\n\n }\n //alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter Email or Password');\n }\n}\n/**\n * New password set\n * Defalut aws function \n * @param email password,newpassword\n */\n// newpassopen() {\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\n// dialogRef.afterClosed().subscribe(result => {\n// if (result !== undefined) {\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\n// console.log(auth);\n// this.aws.dologin(auth).subscribe(res => {\n// console.log(res);\n// // this.router.navigate(['/home']);\n// }, err => {\n// // alert(err.message);\n\n// })\n// }\n// });\n// }\n\nforgotopen() {\n this.status = true;\n}\n\n\nforgotpassword() {\n\n let auth = { 'Username': this.email };\n console.log(auth);\n // this.aws.userforgotpass(auth).subscribe(res => {\n // console.log(res);\n\n // })\n}\nloggedInCheck(){\n //alert(this.shared.isLoggedIn);\n if(this.shared.isLoggedIn){\n alert(\"if\");\n // this.router.navigate(['/home']);\n return false;\n }else{\n alert(\"else\");\n \n return true;\n }\n}\n\n}\n\n// ======================= END ==============================\n/**\n* New password Dialog\n*/\n\n// const newpassword = new FormControl('', Validators.required);\n// const confirmPassword = new FormControl('');\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
New Password Change.
\n\n// \n// \n \n// \n\n\n//
\n// \n// \n// \n\n// Passwords do not math.\n\n//
\n \n// \n \n \n// `\n// })\n// export class NewPasswordDialog {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n\n// }\n\n\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
Forgot Password
\n\n// \n// \n \n// \n\n\n\n//
\n \n// \n \n \n// `\n// })\n// export class ForgotPass {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n// }\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component, ElementRef,ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { Platform } from '@angular/cdk/platform';\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \nimport { AuthPage } from '../auth/auth';\n\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { OtpPage } from '../otp/otp';\n\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\nimport {DatePipe } from '@angular/common';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { observable, Observable } from 'rxjs';\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\nimport {BouncedRejectPage} from '../../pages/input/bounced-reject/bounced-reject'\n\n\n/**\n * Generated class for the InputPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19);\n\n\n@Component({\n selector: 'page-input',\n templateUrl: 'input.html',\n})\n\n\nexport class InputPage {\n enableStartPD: boolean;\n diffInHours: number;\n updatestarted: any;\n updateinitiated: any;\n appdata: any;\n users: any;\n initiatedAccess: boolean = false;\n scheduleAccess: boolean = false;\napplicatentDetails:any;\nmaxdate :any;\npipe = new DatePipe('en-US');\nupdateStatus:any;\nscheduleDate:any;\nupdateSchedule:any;\nacceptedAccess:boolean = false;\nstartedAccess:boolean = false;\ntimeOut:any = 15*1000;\ntimeInterval:any;\ncurrentPosPDofficer:any;\nother_applicant:any;\n@ViewChild('focusinp') input_focus ;\n@ViewChild('scroll') scrolltop : Content;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\n public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,\n public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,\n public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,\n public constant:ConstantsProvider,public androidPermissions:AndroidPermissions, ) {\n\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\n \n /***Header value pass */\n this.statusBar.styleDefault();\n \n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\n \n \n this.applicatentDetails = this.navParams.get('pdDetails');\n \n this.getFullPD();\n \n \n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n \n this.initiatedAccess = true;\n }\n //console.log(this.initiatedAccess);\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n this.getenableAccuracy();\n \n }\n this.users = this.aws.getlocale();\n }\n\n \n ionViewDidLoad() {\n this.setPermission();\n \n }\n ionViewCanLeave()\n {\n clearInterval(this.timeInterval);\n }\n locationnavicate(address)\n {\n this.launchNavigator.navigate(address);\n }\n\n setPermission()\n {\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n\n getFullPD()\n {\n let records = {'pdid':this.applicatentDetails.pd_id};\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.other_applicant=res['records'].applicants_details\n console.log(this.other_applicant);\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\n \n if(diffInHours <=-4){\n this.enableStartPD=true;\n }\n else\n {\n this.enableStartPD = false;\n }\n } \n })\n \n }\n pdStatus(status,appdetails)\n {\n let data :any;\n \n if(status == 'BOUNCED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.navCtrl.push(BouncedRejectPage,{'details':data})\n // this.pdDetails.updatepdStatus(data).subscribe(res=>\n // {\n // this.updateStatus = res;\n // if(this.updateStatus.dataStatus == true)\n // {\n // this.navCtrl.setRoot(PdListPage); \n // }\n // })\n }else if(status == 'ACCEPTED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateStatus = res;\n if(this.updateStatus.dataStatus == true)\n {\n this.getNewpdupdate();\n this.scheduleAccess = true;\n \n }else\n {\n this.scheduleAccess = false;\n }\n })\n }\n \n }\n\n pdschedule(scheduledate,appdetails)\n {\n \n let data :any;\n console.log(scheduledate);\n if(scheduledate != undefined){\n let schDate = scheduledate.slice(0,19).replace('T',' ');\n console.log(schDate);\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateSchedule = res;\n if(this.updateSchedule.dataStatus == true)\n {\n this.getNewpdupdate();\n this.initiatedAccess = true;\n }\n });\n }\n else{\n this.toast.pdTriggerappmessage(\"Please Choose the Schedule Date\");\n this.input_focus.setFocus();\n //this.input_focus.scrollToTop();\n this.scrolltop.scrollTop;\n }\n}\n\n getenableAccuracy()\n {\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.getcurrentLocation();\n },\n error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n getcurrentLocation() \n {\n let data:any;\n let options = {\n frequency: 3000, \n enableHighAccuracy: true,\n timeOut:1000,\n };\n \n this.timeInterval = setInterval(()=>{\n this.currentPosPDofficer = '';\n this.geolocation.getCurrentPosition(options).then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n if((resp as Geoposition).coords !=undefined){\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\n console.log(this.currentPosPDofficer);\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\n\n\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\n {\n // this.updateinitiated = res;\n // if(this.updateinitiated.dataStatus == true)\n // { \n // // this.getNewpdupdate();\n // // this.startedAccess = true;\n // }else\n // {\n // this.startedAccess = false;\n // }\n })\n }\n }).catch((error)=>{\n this.toast.pdTriggerappmessage(error.message);\n })\n \n },this.timeOut);\n }\n pdreschedule()\n {\n this.scheduleAccess = true;\n this.initiatedAccess = false;\n }\n pdinitiated(appdetails)\n { let data:any;\n\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n \n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n data = {'pd_id':appdetails.pd_id,'pd_status':'INITIATED','mobile_no':appdetails.applicat_details[0].mobile_no,'officerName':appdetails.pd_allocated_to,'firstName':appdetails.applicat_details[0].applicant_name,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\n\n\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateinitiated = res;\n if(this.updateinitiated.dataStatus == true)\n { \n this.getNewpdupdate();\n this.getcurrentLocation();\n this.startedAccess = true;\n }else\n {\n this.startedAccess = false;\n }\n })\n }).catch((error) => {\n console.log('Error getting location', error);\n });\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n\n startPdDiscussion(appdetails)\n {\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'Starting PD Officer',\n message: 'Are you starting the Discussions',\n buttons: [\n {\n text: 'No',\n role: 'cancel',\n handler: () => {\n \n // console.log('Cancel clicked');\n // this.toast.pdTriggerappmessage('')\n }\n },\n {\n text: 'YES',\n handler: () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n \n data = {'pd_id':appdetails.pd_id,'pd_status':'STARTED','mobile_no':appdetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\n console.log(data);\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {this.updatestarted = res;\n if(this.updatestarted.dataStatus == true)\n {\n clearInterval(this.timeInterval);\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\n }\n \n })\n // console.log('Buy clicked');\n })\n } \n }\n ]\n });\n alert.present();\n }\n getNewpdupdate()\n {\n this.acceptedAccess = false;\n this.initiatedAccess = false;\n this.scheduleAccess = false;\n this.startedAccess = false;\n this.pdDetails.getpddetails(this.users).subscribe(res=>\n {\n this.appdata = res;\n if(this.appdata.dataStatus == true)\n {\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n this.toast.pdTriggerappmessage(\"Accepted Successfully\")\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n this.initiatedAccess = true;\n this.getFullPD();\n this.toast.pdTriggerappmessage(\"Scheduled Successfully\")\n }\n\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n this.toast.pdTriggerappmessage(\"Initiated Successfully\")\n }\n }\n })\n }\n\n camerasetup()\n {\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\n\nimport { CameraProvider } from '../../providers/common-provider/camera';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question',\n templateUrl: 'pd-question.html',\n})\nexport class PdQuestionPage {\n \n docqustid: any;\n docName: any = [];\n docArray: any = [];\n imageArray:any = [];\n questionCate: any;\n qustCate: any;\n pdinfo: any;\n items: FormArray;\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= false;\n isLeft:boolean= false;\n tabs:any=[];\n \n questionDetails: any;\n questionAnswer:FormGroup;\n questionanotherData:FormGroup;\n userid:any;\n questionId:any;\n qustType:any;\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform,public fb:FormBuilder,public qstDetails:QuestionCategoryProvider,public aws:AwsServiceProvider,public camera:CameraProvider,public toast:ToastProvider) {\n \n this.screenWidth_px=platform.width();\n\n \n this.questionAnswer = this.fb.group(\n {\n answerDetails:[null],\n items:this.fb.array([]),\n })\n this.questionanotherData = this.fb.group(\n {\n questionRemarks:[null]\n })\n this.getpdQuestionDetails();\n this.userid = this.aws.getlocale();\n}\n\n ionViewDidLoad() {\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n ionViewWillLeave() {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\n }\n\n scrollIndicatiorTab()\n {\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n // let answerDetails = this.questionAnswer.value;\n // let remarks = this.questionanotherData.value;\n if(this.isLeft)\n {\n //this.prev(answerDetails,remarks,this.questionDetails);\n }\n if(this.isRight)\n {\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\n }\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n \n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n \n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n \n this.isLeft=false;\n this.isRight=false;\n \n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n \n \n }\n /**\n * Pd Discussion Qustion Load\n */\n getpdQuestionDetails()\n {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdinfo = this.navParams.get('pdDetails');\n for(let qustimage of this.questionDetails.questions)\n { \n if(qustimage.images !==undefined){\n for(let image of qustimage.images)\n {\n image.questionId = qustimage.fk_question_id; \n this.docArray.push(image);\n }\n for(let answers of qustimage.answers)\n {\n if(qustimage.fk_question_answertype == 3)\n {\n this.items = this.questionAnswer.get('items') as FormArray;\n \n this.items.push(this.getquestionAnswer(answers));\n \n \n }\n }\n }\n }\n for(let i=1;i<=this.questionDetails.questions_count;i++){\n let j = i.toString();\n this.tabs.push(j);\n }\n }\n\ngetquestionAnswer(answers)\n{\n return this.fb.group(\n {\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\n \"pd_answer_id\":answers.question_answer_id,\n \"pd_answer\": answers.answer,\n \"pd_answer_weightage\": answers.template_answer_weightage,\n \"fk_pd_id\":this.pdinfo.pd_id,\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\n \"checkbox\":(answers.isactive == null?false:true)\n \n \n })\n}\n // count = 0;\n getDocUpload(qustid)\n {\n // this.docqustid = qustId;\n this.camera.getpicture().then(res=>\n {\n if(res !== undefined){\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\n }\n });\n // this.count++;\n }\n docnames(name,id,image,qustid)\n {\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\n }\n removeimage(index){\n //for(let i=0;i<=this.igrimage.length;i++){\n //if(this.igrimage[i]== this.igrimage[index]){\n this.docArray.splice(index,1);\n //}\n //}\n }\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\n {\n \n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n\t\t\"fk_pd_id\": pd_id,\n\t\t\"fk_category_id\": catid,\n\t\t\"fk_question_id\": qut_id,\n\t\t\"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n\t\t\"pd_answer\": pd_answer,\n\t\t\"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n\t\t\n\t\t\"fk_createdon\": createon,\n\t\t\"createdby\": createdby,\n\t\t\"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n \n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n // {\n // this.qustCate = res;\n // if(this.qustCate.dataStatus == true){\n // this.SwipedTabsSlider.slideNext();\n // this.docArray = [];\n // this.getcategoryList(qt_id,pd_id);\n // }\n // })\n // }else\n // {\n \n // this.SwipedTabsSlider.slideNext(); \n }\n } \n\n getcategoryList(qustinfo,pdId)\n {\n let qustDetails = {\"question_id\":qustinfo.fk_question_id, \"pd_id\":pdId, \"template_id\":qustinfo.fk_template_id, \"category_id\":qustinfo.fk_template_question_category_id\n };\n let answerData:any;\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\n {\n answerData = res;\n if(answerData.dataStatus == true)\n {\n \n // answerData = answerData.records;\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\n // eachquestion['answers'] = answerData.answers; \n \n // this.questionDetails =\n // this.imageArray = answerData.images;\n // for(let docs of this.imageArray)\n // {\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\n // }\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\n }\n });\n }\n prev(answerDetails,questionRemarks,questionDetails) {\n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n \"fk_pd_id\": pd_id,\n \"fk_category_id\": catid,\n \"fk_question_id\": qut_id,\n \"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n \"pd_answer\": pd_answer,\n \"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n \n \"fk_createdon\": createon,\n \"createdby\": createdby,\n \"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n \n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n {\n this.qustCate = res;\n if(this.qustCate.dataStatus == true){\n this.SwipedTabsSlider.slidePrev();\n this.docArray = [];\n this.getcategoryList(qt_id,pd_id);\n }\n })\n }else{\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\n this.SwipedTabsSlider.slidePrev();\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { Observable } from 'rxjs';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\nimport { timeInterval } from 'rxjs/operators';\n/**\n * Generated class for the PdQuestionAddressPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-address',\n templateUrl: 'pd-question-address.html',\n})\nexport class PdQuestionAddressPage {\n\n // additional_premises: any=[];\n // bussiness_address_type: any=[];\n // formPremisesCityArray: any=[];\n // tempArr: any[];\n // cityData: any = [];\n // PremisesLabel: any=[];\n // formPremisesArray: any=[];\n // z:number = 0;\n \n // PremisesOtherFlag: boolean;\n CITY: any;\n residence: any;\n FormId: any;\n getaddressDetails: any;\n users: any;\n address: string;\n custBehaviour: any;\n cmtlocality: any;\n\n //placeholderName : any = 'Estimated area of the (Address Type)';\n placeholderName:any=[];\n premisesRentAmtInwords:any=[];\n rentAmtInwords : any ;\n\n locality: any = [];\n pdlocation: any = [];\n pdDetails: any;\n questionDetails: any;\n pdQuestionAddress:FormGroup;\n addressTypes:any=[];\n addressRemarksAccess:boolean = false;\n items:FormArray;\n pdState: any;\n pdCity: any;\n pdPincode: any;\n pdOtherPincode: any;\n cityData: any=[];\n pincodeData: any=[];\n stateData: any=[];\n uomData: any=[];\n addressesList: any;\n // counts:number = 1;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n \n this.pdDetails = this.navParams.get('pdDetails');\n \n this.FormId = this.navParams.get('FormId');\n\n this.users = this.aws.getlocale();\n\n // if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\n // this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\n // }else{\n // this.address = this.pdDetails.addressline1+', - , -'; \n // }\n // this.pdState = this.pdDetails.fk_state;\n // this.getCityAndPincodeDetails(this.pdState);\n // this.pdCity = this.pdDetails.fk_city;\n // this.pdPincode = this.pdDetails.pincode_id;\n \n // this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\n \n this.getdropdownlist();\n\n this.pdQuestionAddress = this.fb.group(\n {\n addresses:this.fb.array([]),\n address_form_remark:['']\n // address_ownership:[null],\n // other_ownership:[null],\n // rent_amt:[null],\n // other_premises_bussiness_activity : [null],\n // bussiness_activity_remark:[null],\n // bussiness_activity:[null],\n // bussiness_address_type:[null],\n // bussiness_address_type_others:[null], \n // business_years:[null],\n // business_month:[null],\n // additional_address_units: this.fb.array([]),\n \n });\n this.getaddressForm(); \n //this.loadPD()\n }\n\n ionViewDidLoad() {\n //this.addUnits();\n console.log(\"ionViewDidLoad PdQuestionAddressPage\")\n \n }\n\n ionViewWillLeave()\n {\n \n\n // let method = this.alerCtrl.create({\t\t\t\n // message: 'Do You Want Save',\n // buttons: [\n // {\n // text: 'Save',\n // cssClass: 'method-color',\n // handler: () => {\n // \n // }\n // },\n // {\n // text: 'Cancel',\n // cssClass: 'method-color',\n // handler: () => {\n // \n // this.navCtrl.pop(); \n // }\n // }\n // ]\n // });\n // method.present()\n \n \n \n }\n\n /** To Get City And Pincode Data For Address Form \n * Param 'stateID' -> selected StateId\n */\n getCityAndPincodeDetails(stateID: string,i) {\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\n if (data.status == 200) {\n this.cityData[i] = data.records.cities;\n this.pincodeData[i] = data.records.pincode;\n }\n });\n }\n\n\n\n getdropdownlist()\n {\n // this.addressTypes = [\n \n // {'id':'Office','Name':'Office'},\n // {'id':'Clinic','Name':'Clinic'},\n // {'id':'Factory','Name':'Factory'},\n // {'id':'Warehouse','Name':'Warehouse'},\n // {'id':'Shop','Name':'Shop'},\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\n // {'id':'Residence','Name':'Residence'},\n // {'id':'OTHERS','Name':'OTHERS'}\n // ];\n\n \n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \n }\n \n })\n \n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\n {\n this.pdlocation = res;\n if(this.pdlocation.dataStatus == true)\n {\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\n }\n })\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\n {\n this.cmtlocality = res;\n if(this.cmtlocality.dataStatus ==true)\n {\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\n }\n });\n\n \n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\n // {\n // this.custBehaviour = res;\n // if(this.custBehaviour.dataStatus == true)\n // {\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\n // }\n // })\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.locality = res['records'].filter(loc=>loc.isactive==1);\n }\n })\n\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.residence = res['records'].filter(red=>red.isactive==1);\n }\n })\n this.qustCat.getcommondrop('CITY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.CITY = res['records'].filter(red=>red.isactive==1);\n }\n })\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\n this.stateData=res['records'].filter(val=>val.isactive == 1);\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\n this.uomData=res['records'].filter(val=>val.isactive == 1 && val.is_land_uom != 0)\n })\n \n }\n\n // checkaddress(value)\n // {\n // \n // if(value==\"OTHERS\")\n // {\n // this.addressRemarksAccess = true;\n // }else\n // {\n // this.addressRemarksAccess = false;\n // }\n // }\n\n // createItem(): FormGroup {\n // return this.fb.group({\n // name: [null],\n // do_you_know: [null],\n // how_long: [null],\n // is_owner: [null],\n // });\n // };\n \n createUnits(val): FormGroup {\n if(val==null){\n return this.fb.group({\n no_of_additional_units: [''],\n premises_type: [''],\n premises_type_others: [''],\n premises_city: [''],\n // premises_ownership: [''],\n //premises_ownership_others: [''],\n //premises_rent_amt:[''],\n premises_remarks: [''],\n });\n }\n else{\n \n return this.fb.group({\n no_of_additional_units: [val.no_of_additional_units],\n premises_type: [val.premises_type],\n premises_type_others: [val.premises_type_others],\n premises_city: [val.premises_city],\n // premises_ownership: [val.premises_ownership],\n // premises_ownership_others: [val.other_ownership],\n // premises_rent_amt:[val.rent_amt],\n premises_remarks: [val.premises_remarks],\n });\n \n }\n }\n\n addUnits() {\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\n this.items.push(this.createUnits(null));\n}\n\n\n removeUnits(i){\n this.items.removeAt(i);\n }\n\n ConvertMonthintoYear(e){\n \n let business_year = this.pdQuestionAddress.controls.business_years.value;\n\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\n \n }\n initAddress(AddressDetails){\n if(AddressDetails != null){\n return this.fb.group({\n address: [AddressDetails.address, Validators.compose([Validators.required])],\n address_type: [AddressDetails.address_type, Validators.compose([Validators.required])],\n address_type_others: [AddressDetails.address_type_others],\n state: [AddressDetails.state],\n city: [AddressDetails.city],\n pincode: [AddressDetails.pincode],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */\n pincode_others: [AddressDetails.pincode_others, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\n locality: [AddressDetails.locality, Validators.compose([Validators.required])],\n locality_others: [AddressDetails.locality_others],\n locality_mixuse: [AddressDetails.locality_mixuse],\n pd_location: [AddressDetails.pd_location, Validators.compose([Validators.required])],\n comment_locality: [AddressDetails.comment_locality, Validators.compose([Validators.required])],\n estimated_area: [AddressDetails.estimated_area],\n uom: [AddressDetails.uom],\n uom_others: [AddressDetails.uom_others] \n })\n }\n else{\n return this.fb.group({\n address: ['', Validators.compose([Validators.required])],\n address_type: ['', Validators.compose([Validators.required])],\n address_type_others: [''],\n state: [''],\n city: [''],\n pincode: [''],\n pincode_others: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\n locality: ['', Validators.compose([Validators.required])],\n locality_others: [''],\n locality_mixuse: [''],\n pd_location: ['', Validators.compose([Validators.required])],\n comment_locality: ['', Validators.compose([Validators.required])],\n estimated_area: [''],\n uom: [''],\n uom_others: [''] \n });\n }\n \n }\n /** On Key Press Event For Numbers */\n keyPress(event: any) {\n const pattern = /[0-9]/;\n \n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n inWords(e,i){ \n \n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n \n }\n\n inWordsForRent(e){\n \n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\n }\n\n selectedAddressType(e: any,i){\n this.placeholderName[i] = 'Estimated area of the ' + e;\n }\n\n\n savepdQuestion(answerData)\n {\n let records: any = {};\n // records.address = answerData.address;\n // if(answerData.address_type_others != null){\n // records.address_type_others = answerData.address_type_others;\n // }\n // // records.state =answerData.state\n // records.city = answerData.city\n\n // records.pincode = answerData.pincode\n // records.pincode_others = answerData.pincode== 1 ?\n // this.pdQuestionAddress.controls.pincode_others.value : '';\n\n // records.address_type = answerData.address_type;\n // records.locality = answerData.locality;\n \n // records.locality_others = answerData.locality == 1 ?\n // this.pdQuestionAddress.controls.locality_others.value : '';\n\n // records.locality_mixuse = answerData.locality == 5 ?\n // this.pdQuestionAddress.controls.locality_mixuse.value : '';\n\n // records.pd_location = answerData.pd_location;\n // records.comment_locality = answerData.comment_locality;\n // records.other_comment_locality = answerData.other_comment_locality;\n // records.estimated_area = answerData.estimated_area;\n\n // records.uom = answerData.uom;\n // records.uom_others = answerData.uom == 1 ?\n // this.pdQuestionAddress.controls.uom_others.value : '';\n // records.customer_behaviour = answerData.customer_behaviour;\n // records.neighbourhood = answerData.neighbourhood;\n console.log(\"Answer DAta\",answerData)\n records.addresses=answerData.addresses\n records.address_form_remark=answerData.address_form_remark\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.address_form_remark = answerData.address_form_remark;\n // records.address_ownership = answerData.address_ownership;\n // records.other_ownership = answerData.other_ownership;\n // records.rent_amt = answerData.rent_amt;\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\n // records.bussiness_activity = answerData.bussiness_activity;\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\n // records.business_years = answerData.business_years;\n // records.business_month = answerData.business_month;\n \n // records.additional_address_units = answerData.additional_address_units;\n \n \n \n this.qustCat.saveForm(records).subscribe(data => {\n \n // let params: any = {};\n // params.pd_id = '250';\n // params.pd_form_id = '250';\n \n // setTimeout(function(){\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // },5000)\n if(data['dataStatus']==true){\n this.toast.pdTriggerappmessage('Record Saved Successfully');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000); \n }\n },err=>{\n this.toast.pdTriggerappmessage('Something went wrong ');\n });\n }\n\n getaddressForm()\n {\n \n let res:any;\n\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n const control=this.pdQuestionAddress.controls['addresses']\n this.getaddressDetails = res;\n \n if(this.getaddressDetails.dataStatus ==true){\n if(this.getaddressDetails.records.addresses ){\n \n this.getaddressDetails = this.getaddressDetails.records.addresses;\n\n if(this.getaddressDetails.length == 0 ){\n control.push(this.initAddress(''));\n }\n else{\n this.getaddressDetails.forEach((datas,index)=>{\n \n let val={\n 'address': datas.address,\n 'address_type': datas.address_type,\n 'address_type_others': datas.address_type_others,\n 'state': datas.state,\n 'city': datas.city,\n 'pincode': datas.pincode,\n 'pincode_others': datas.pincode_others,\n 'locality': datas.locality,\n 'locality_others': datas.locality_others,\n 'locality_mixuse': datas.locality_mixuse,\n 'pd_location': datas.pd_location,\n 'comment_locality': datas.comment_locality,\n 'estimated_area': datas.estimated_area,\n 'uom': datas.uom,\n 'uom_others': datas.uom_others\n }\n this.getCityAndPincodeDetails(datas.state,index)\n let selectedAddressType = this.addressTypes.filter(element => element.address_type_id == datas.address_type)[0];\n this.selectedAddressType(selectedAddressType.address_type,index);\n if (datas.address_type == 1) {\n this.selectedAddressType(datas.address_type_others,index);\n }\n control.push(this.initAddress(val))\n })\n this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark);\n }\n // if(this.getaddressDetails.additional_address_units != null){\n // var result = Object.keys(res['records'].additional_address_units).map(function(key) {\n // // return res['records'].additional_address_units[key];\n // //for slicing the automatically created\n \n // });\n // //this.removeUnits(0);\n // }\n\n // let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\n\n // this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\n // this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\n\n // if (this.getaddressDetails.state != '') {\n // this.getCityAndPincodeDetails(this.getaddressDetails.state);\n // this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\n // this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\n // if (this.getaddressDetails.pincode == 1) {\n // this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\n // this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\n // this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\n // }\n // }\n // this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\n // this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\n // let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\n // this.selectedAddressType(selectedAddressType);\n\n // if(this.getaddressDetails.address_type != null) {\n // this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\n // this.selectedAddressType(this.getaddressDetails.address_type_others);\n // }\n\n // this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\n\n // if(this.getaddressDetails.comment_locality != null){\n // this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\n // }\n // // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\n // this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\n // if(this.getaddressDetails.locality == 1 ){\n // this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\n // }\n // if(this.getaddressDetails.locality == 5){\n // this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\n // }\n \n // this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\n // this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\n // if (this.getaddressDetails.uom == 1) {\n // this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\n // this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\n // this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\n // }\n // this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\n // // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\n // if(this.getaddressDetails.rent_amt != null){\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\n // }\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\n // } \n // else{\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\n // }\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\n\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\n \n \n \n\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\n \n if (result.length == 0) {\n \n control.push(this.createUnits(null));\n } else {*/\n \n //for(let val of this.getaddressDetails.additional_address_units){\n //control.push(this.createUnits(val));\n //}\n //result.forEach((datas,index) => {\n \n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\n \n //});\n \n //}\n \n // }\n\n }\n else{\n control.push(this.initAddress(''))\n }\n }\n else\n this.loadPD();\n });\n }\n loadPD(){\n const control=this.pdQuestionAddress.controls['addresses']\n this.qustCat.getAddressDetails(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus == true){\n this.addressesList = res.records.filter(item => item.isactive == 1);\n console.log('this.addressesList',this.addressesList);\n if(this.addressesList.length > 0){\n this.addressesList.forEach((datas,index)=>{\n let obj ={\n 'address': datas.addressline1,\n 'address_type': '',\n 'address_type_others': '',\n 'state': datas.fk_state,\n 'city': datas.fk_city,\n 'pincode': datas.pincode_id,\n 'pincode_others': datas.other_pincode,\n 'locality': '',\n 'locality_others': '',\n 'locality_mixuse':'',\n 'pd_location': '',\n 'comment_locality': '',\n 'estimated_area': '',\n 'uom': '',\n 'uom_others': ''\n }\n this.getCityAndPincodeDetails(datas.fk_state,index)\n control.push(this.initAddress(obj))\n })\n }\n else{\n control.push(this.initAddress(''))\n }\n }\n else{\n control.push(this.initAddress(''))\n }\n })\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n/**\n * Generated class for the PdQuestionEmpInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-emp-info',\n templateUrl: 'pd-question-emp-info.html',\n})\nexport class PdQuestionEmpInfoPage {\n questionDetails: any;\n pdDetails: any;\n employmentForm:FormGroup;\n FormId: any;\n pd_cus_segment: string;\n customer_segment_abbr: string;\n users: any;\n pdid: any;\n frequency_data: any[];\n company_list: any[];\n person_met_list: any[];\n company_related_applicants_list: any[];\n company_relationship_list: any[];\n filtered_company_relationship_list: any[];\n \n mthlySlryAmtInWords\n grossMthlySlryAmtInWords\n netMthlySlryAmtInWords\n bonusIncentiveAmtInWords\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.pdid=this.pdDetails.pd_id;\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\n this.pd_cus_segment = this.pdDetails.customer_segment_abbr.toUpperCase();\n this.getDropDownList();\n this.getCompanyFromGeneralDetails();\n this.getEmploymentDetails();\n this.employmentForm = this.fb.group(\n {\n employer_name: [''],\n how_long_year: [''],\n how_long_month: [''],\n was_met: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\n name_person_met: [''],\n designation_person_met: [''],\n confirm_salary: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\n confirm_salary_amount: [''],\n total_business_experience: [''],\n total_business_previous_experience: [''],\n attendance_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\n sal_reg_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\n from_date_the_salary_is_rcv: [''],\n to_date_the_salary_is_rcv: [''],\n gross_monthly_salary: [''],\n net_monthly_salary: [''],\n bonus_incentive: [''],\n amount_paid_in_cash: [''],\n how_was_it_validated: [''],\n why_was_it_not_validated: [''],\n amount_paid_through_bank: [''],\n bonus_frequency: [''],\n bonus_type: [''],\n bonus_type_other: [''],\n any_delays: [''],\n employment_remarks: [''],\n // nameOfEmp:[null],\n // yearWithEmp:[null],\n // empMet:[null],\n // designationOfEmp:[null],\n // salaryConfirm:[null],\n // actualSalary:[null],\n // attRegisterSeen:[null],\n // salaryRegisterSeen:[null]\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\n }\n\n getDropDownList()\n {\n\n this.qustCat.getcommondrop('FREQUENCY').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.frequency_data = data['records'];\n this.frequency_data = this.frequency_data.filter(freq => freq.isactive == 1);\n }\n });\n\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.company_relationship_list = data['records'].filter(item => item.isactive == 1);\n this.company_relationship_list = data['records'].filter(item => item.name != 'Others');\n this.company_relationship_list.push({ 'company_relationship_id': 0, 'name': 'Not Applicable' });\n }\n });\n }\n\n getCompanyFromGeneralDetails(){\n \n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': '18' };\n \n this.qustCat.retiverForm(records).subscribe(value => {\n if (value['dataStatus'] == true) {\n this.company_list = value['records'].companies.filter(com => com.is_active == true);\n this.person_met_list = value['records'].individuals.filter(app => app.is_person_met == true && app.is_active == true);\n this.company_related_applicants_list = value['records'].company_with_relationships;\n } \n else {\n\n }\n })\n \n }\n \n saveEmpInfo(){\n if (!this.employmentForm.valid) {\n this.toast.pdTriggerappmessage('Form Invalid Try Again.!');\n return;\n }\n\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.employer_name = this.employmentForm.controls['employer_name'].value;\n records.how_long_year = this.employmentForm.controls['how_long_year'].value;\n records.how_long_month = this.employmentForm.controls['how_long_month'].value;\n records.was_met = this.employmentForm.controls['was_met'].value;\n if (this.employmentForm.controls['was_met'].value == 'yes') {\n records.name_person_met = this.employmentForm.controls['name_person_met'].value;\n records.designation_person_met = this.employmentForm.controls['designation_person_met'].value;\n }else{\n records.name_person_met = '';\n records.designation_person_met = '';\n }\n records.confirm_salary = this.employmentForm.controls['confirm_salary'].value;\n if (this.employmentForm.controls['confirm_salary'].value == 'yes') {\n records.confirm_salary_amount = this.employmentForm.controls['confirm_salary_amount'].value;\n records.total_business_experience = this.employmentForm.controls['total_business_experience'].value;\n records.total_business_previous_experience = this.employmentForm.controls['total_business_previous_experience'].value;\n }\n else{\n records.confirm_salary_amount = '';\n records.total_business_experience = '';\n records.total_business_previous_experience = '';\n }\n records.attendance_seen = this.employmentForm.controls['attendance_seen'].value;\n records.sal_reg_seen = this.employmentForm.controls['sal_reg_seen'].value;\n records.from_date_the_salary_is_rcv = this.employmentForm.controls['from_date_the_salary_is_rcv'].value;\n records.to_date_the_salary_is_rcv = this.employmentForm.controls['to_date_the_salary_is_rcv'].value;\n records.gross_monthly_salary = this.employmentForm.controls['gross_monthly_salary'].value;\n records.net_monthly_salary = this.employmentForm.controls['net_monthly_salary'].value;\n records.bonus_incentive = this.employmentForm.controls['bonus_incentive'].value;\n records.amount_paid_in_cash = this.employmentForm.controls['amount_paid_in_cash'].value;\n records.how_was_it_validated = this.employmentForm.controls['how_was_it_validated'].value;\n records.why_was_it_not_validated = this.employmentForm.controls['why_was_it_not_validated'].value;\n records.amount_paid_through_bank = this.employmentForm.controls['amount_paid_through_bank'].value;\n records.bonus_frequency = this.employmentForm.controls['bonus_frequency'].value;\n records.bonus_type = this.employmentForm.controls['bonus_type'].value;\n records.bonus_type_other = this.employmentForm.controls['bonus_type_other'].value;\n records.any_delays = this.employmentForm.controls['any_delays'].value;\n records.employment_remarks = this.employmentForm.controls['employment_remarks'].value;\n \n this.qustCat.saveForm(records).subscribe(data => {\n\n\n if(data['dataStatus']== true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else {\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\n }\n })\n }\n \n\n filtercompanyrelationship(companyid, applicantid) {\n var array = companyid.split(\"-\");\n let data = this.company_related_applicants_list.filter(cmpy => cmpy.relation_to_company == array[0] && cmpy.applicant_name == applicantid);\n if (data.length > 0) {\n this.filtered_company_relationship_list = this.company_relationship_list.filter(freq => freq.company_relationship_id == data[0].company_relationship);\n this.employmentForm.controls['designation_person_met'].setValue(this.filtered_company_relationship_list[0]['name'] + ' ' + array[1]);\n }\n else {\n this.employmentForm.controls['designation_person_met'].setValue('');\n }\n }\n\nConvertMonthintoYear(e) {\n\n let how_long_year = this.employmentForm.controls.how_long_year.value;\n\n let converted_month: number = e % 12;\n let converted_year: number = e / 12;\n\n this.employmentForm.controls.how_long_year.setValue(+how_long_year + +Math.floor(converted_year));\n this.employmentForm.controls.how_long_month.setValue(Math.floor(converted_month));\n\n}\n\ninWords(val,flag:number){\n switch(flag){\n case 1 :\n this.mthlySlryAmtInWords= this.constant.convertNumberToWords(val); \n break;\n case 2 : \n this.grossMthlySlryAmtInWords = this.constant.convertNumberToWords(val); \n break;\n case 3 :\n this.netMthlySlryAmtInWords = this.constant.convertNumberToWords(val); \n break;\n case 4 :\n this.bonusIncentiveAmtInWords = this.constant.convertNumberToWords(val); \n break;\n }\n }\n\n\n getEmploymentDetails(){\n \n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n\n this.qustCat.retiverForm(records).subscribe(value => {\n if (value['dataStatus'] == true) {\n let Emp = value['records'];\n console.log('emp',Emp);\n this.employmentForm.controls['employer_name'].setValue(Emp.employer_name);\n this.employmentForm.controls['how_long_year'].setValue(Emp.how_long_year);\n this.employmentForm.controls['how_long_month'].setValue(Emp.how_long_month);\n this.employmentForm.controls['was_met'].setValue(Emp.was_met);\n if (Emp.name_person_met) {\n this.employmentForm.controls['name_person_met'].setValue(Emp.name_person_met);\n }\n if (Emp.designation_person_met) {\n this.employmentForm.controls['designation_person_met'].setValue(Emp.designation_person_met);\n }\n this.employmentForm.controls['confirm_salary'].setValue(Emp.confirm_salary);\n console.log('Emp.confirm_salary_amount',Emp.confirm_salary_amount,Emp.confirm_salary);\n if (Emp.confirm_salary) {\n this.employmentForm.controls['confirm_salary_amount'].setValue(Emp.confirm_salary_amount);\n this.inWords(Emp.confirm_salary_amount,1);\n this.employmentForm.controls['total_business_experience'].setValue(Emp.total_business_experience);\n this.employmentForm.controls['total_business_previous_experience'].setValue(Emp.total_business_previous_experience);\n }\n this.employmentForm.controls['attendance_seen'].setValue(Emp.attendance_seen);\n this.employmentForm.controls['sal_reg_seen'].setValue(Emp.sal_reg_seen);\n this.employmentForm.controls['from_date_the_salary_is_rcv'].setValue(Emp.from_date_the_salary_is_rcv);\n this.employmentForm.controls['to_date_the_salary_is_rcv'].setValue(Emp.to_date_the_salary_is_rcv);\n this.employmentForm.controls['gross_monthly_salary'].setValue(Emp.gross_monthly_salary);\n this.employmentForm.controls['net_monthly_salary'].setValue(Emp.net_monthly_salary);\n this.employmentForm.controls['bonus_incentive'].setValue(Emp.bonus_incentive);\n this.employmentForm.controls['amount_paid_in_cash'].setValue(Emp.amount_paid_in_cash);\n this.employmentForm.controls['how_was_it_validated'].setValue(Emp.how_was_it_validated);\n this.employmentForm.controls['why_was_it_not_validated'].setValue(Emp.why_was_it_not_validated);\n this.employmentForm.controls['amount_paid_through_bank'].setValue(Emp.amount_paid_through_bank);\n this.employmentForm.controls['bonus_frequency'].setValue(Emp.bonus_frequency);\n this.employmentForm.controls['bonus_type'].setValue(Emp.bonus_type);\n this.employmentForm.controls['bonus_type_other'].setValue(Emp.bonus_type_other);\n this.employmentForm.controls['any_delays'].setValue(Emp.any_delays);\n this.employmentForm.controls['employment_remarks'].setValue(Emp.employment_remarks);\n \n this.inWords(Emp.gross_monthly_salary,2);\n this.inWords(Emp.net_monthly_salary,3);\n this.inWords(Emp.bonus_incentive,4);\n\n } \n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component, ApplicationInitStatus } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormArray,FormBuilder,Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\n/**\n * Generated class for the PdQuestionCurrentLoansPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-current-loans',\n templateUrl: 'pd-question-current-loans.html',\n})\n\nexport class PdQuestionCurrentLoansPage {\napplicants: any;\n placeholderName: any = [];\n lenderData: any;\n frequencyData: any;\n loanTypeData:any;\n FormId: any;\n users: any;\n pdDetails: any;\n questionDetails: any;\n currentLoans:FormGroup;\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n pdid:number;\n amtInwords: any=[];\n emiAmtInwords: any=[];\n dataFromAssets : any = [];\n labelArr : any = [];\n investmentTypeData: any=[];\n addressTypeData: any;\n propertyTypeData: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) {\n\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0);\n \n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n \n \n\n this.getdropdown();\n \n this.users = this.aws.getlocale();\n this.currentLoans = this.fb.group(\n {\n existing_loan: [null],\n currentloan_remarks:[null],\n loan_details: this.fb.array([])\n });\n \n \n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.getcurrentLoans()\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(res=>\n {\n this.lenderData = res['records'].filter(len=>len.isactive==1);\n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n this.frequencyData = res['records'].filter(frq=>frq.isactive==1);\n });\n this.qustCat.getcommondrop('EXISTINGLOANTYPES').subscribe(val=>{\n this.loanTypeData=val['records'].filter(loan=>loan.isactive == 1 );\n });\n\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n \n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n \n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n //modifyCompanyList.push({'id':\"0\",'name':'Others','group_id':1})\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n // this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n // modifyApplicantList.push()\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(data => {\n this.investmentTypeData=data['records'].filter(val=>val.isactive == 1);\n \n \n });\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\n this.addressTypeData=data['records'].filter(val=>val.isactive ==1 );\n })\n this.qustCat.getcommondrop('PROPERTIES').subscribe(data=>{\n this.propertyTypeData=data['records'].filter(val=>val.isactive ==1);\n })\n }\n \n exitsCheck(val)\n { \n \n if(val ==\"Yes\")\n {\n \n this.addLoanDetails();\n }\n\n }\n createLoanDetail(data) {\n return this.fb.group({\n label: data == null ? [''] : [data.label],\n other_frequency:[''],\n loan_amount: [''],\n frequency:[''],\n emi: [''],\n loan_type: [''],\n others_loan_type:[''],\n loan_taken_by:[''],\n others_loan_taken:[''],\n lender: [''],\n others_lender:[''],\n original_tenure: [''],\n current_balance_tenure: [''],\n elapsed_tenure:[],\n });\n}\naddLoanDetails() {\n const control = this.currentLoans.controls['loan_details'];\n control.push(this.createLoanDetail(null));\n}\ndeleteLoanDetails(index) {\n const control = this.currentLoans.controls['loan_details'];\n if(control.length==1)\n {\n this.currentLoans.controls['loan_details'].reset();\n }else{\n control.removeAt(index);\n }\n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\ncheckOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n}\ncheckTenure(details){\n let originalTenure = details.value.original_tenure;\n // alert(originalTenure);\n details.controls.current_balance_tenure.setValidators([Validators.required, Validators.max(+originalTenure)]);\n details.controls.current_balance_tenure.updateValueAndValidity();\n // details.controls.current_balance_tenure.setValidators([Validators.max(+originalTenure)]);\n // details.controls.current_balance_tenure.updateValueAndValidity(); \n // let BalanceTenure = details.value.current_balance_tenure;\n // if( originalTenure < BalanceTenure){\n // alert('Greater');\n // details.controls.current_balance_tenure.setValue('');\n // alert('validation setted For');\n // details.controls.current_balance_tenure.setValidators([Validators.min(+originalTenure)]);\n // details.controls.current_balance_tenure.updateValueAndValidity(); \n \n \n // }\n}\ncalculateTenure(details)\n{\n let ElapsedValues;\n \n if(details.value.original_tenure != null && details.value.original_tenure != '' && details.value.current_balance_tenure != null && details.value.current_balance_tenure != ''){\n ElapsedValues = details.value.original_tenure - details.value.current_balance_tenure ;\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\n }\n\n}\nkeyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n}\ninWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.emiAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n}\n\n\nselectedfrequency(e,i){\n \n switch(+e){\n case 1: this.placeholderName[i] = 'Instalment Amount'; break;\n case 2: this.placeholderName[i] = 'Annual Instalment Amount'; break;\n case 3: this.placeholderName[i] = 'Halfyearly Instalment Amount'; break;\n case 4: this.placeholderName[i] = 'Fortnightly Instalment Amount'; break;\n case 5: this.placeholderName[i] = 'Daily Instalment Amount'; break;\n case 6: this.placeholderName[i] = 'Quarterly Instalment Amount'; break;\n case 7: this.placeholderName[i] = 'Monthly Instalment Amount'; break;\n default: this.placeholderName[i] = 'Instalment Amount'; break;\n}\n \n}\n\nsubmitCurrentloan(answerData) {\n \n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.existing_loan = answerData.existing_loan;\n records.loan_details = answerData.loan_details;\n records.currentloan_remarks = answerData.currentloan_remarks;\n \n this.qustCat.saveForm(records).subscribe(data => {\n \n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n });\n}\n getcurrentLoans()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n const control = this.currentLoans.controls['loan_details'];\n if(res['dataStatus']==true )\n {\n let currentLoanDetails = res['records'];\n \n if(res['records'].loan_details !== undefined && res['records'].loan_details !=null && res['records'].loan_details !=''){\n var result = Object.keys(res['records'].loan_details).map(function(key) {\n \n return res['records'].loan_details[key];\n \n });\n \n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n const control = this.currentLoans.controls['loan_details'];\n if(currentLoanDetails.existing_loan != 'No')\n {\n if(result.length ==0)\n {\n control.push(this.createLoanDetail(null));\n }else\n {\n result.forEach((datas,index)=>\n {\n control.push(this.createLoanDetail(null));\n this.selectedfrequency(datas.frequency,index);\n if(datas.loan_amount!=''){\n this.amtInwords[index]=this.constant.convertNumberToWords(datas.loan_amount);\n }\n if(datas.emi!=''){\n this.emiAmtInwords[index]=this.constant.convertNumberToWords(datas.emi);\n }\n })\n\n this.currentLoans.controls['loan_details'].setValue(result);\n \n }\n }\n }\n else\n {\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n }\n\n }\n else {\n \n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\n \n\n if(data.dataStatus == true){\n \n \n \n let AssetData = data.record;\n \n \n \n if(AssetData.business_address_asset.length > 0){\n AssetData.business_address_asset.map(element=>{\n this.dataFromAssets.push({mode:0,\n mode_name:element.address_label,\n details:[],\n owner_name:element.business_name_of_the_owner,\n other_owner: element.business_name_of_the_other_owner,\n form_type:'Data From Bussiness Address'})\n })\n }\n\n if(AssetData.business_assets.length>0){\n AssetData.business_assets.map(element => {\n this.dataFromAssets.push({mode:element.business_assets_mode,\n mode_name:element.business_assets_mode_name,\n details:element.business_details,\n owner_name:element.business_name_of_the_owner,\n other_owner: element.business_name_of_the_other_owner,\n form_type:'Data From Business Assets'})\n });\n }\n\n if(AssetData.other_assests.length > 0){\n AssetData.other_assests.map(element => {\n this.dataFromAssets.push({mode:element.assets_mode,\n mode_name:element.assets_mode_name,\n details:element.details,\n owner_name:element.name_of_the_owner,\n other_owner: element.other_owner,\n form_type:'Data From Other Asset'\n })\n })\n }\n \n \n // id: \"4\", name: \"Equipments and machinaries\", isactive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"7\", name: \"Investments\", isactive: \"1\", flag: \"0\", is_others: \"0\"\n // id: \"6\", name: \"Life Insurance Policy\", isactive: \"1\", flag: \"0\", is_others: \"0\"\n // id: \"2\", name: \"Property\", isactive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"3\", name: \"Vehicle\", isactsive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"1\", name: \"Others\", isactive: \"1\", flag: \"1\", is_others: \"1\"}\n \n if(this.dataFromAssets.length > 0){ \n let labelarray : any = [];\n \n this.dataFromAssets.forEach((val,index) => {\n if(val.mode == 0){\n \n let owner = val.owner_name.map((e => {\n \n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n \n labelarray[index] = ' : '+owner +' - '+ val.mode_name;\n } \n if(val.mode == 1){\n \n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.any_other_assets;\n });\n if(val.owner_name.length>0 ){\n owner = val.owner_name.map((e => {\n // return e.name.split(',')\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 2){\n \n let owner: any = \"Owner Not Mentioned\";\n let data;\n val.details.forEach((v,index) => {\n data = v.property_type_name;\n if(v.property_type != 1){\n if(val.form_type == 'Data From Business Assets'){\n data = this.addressTypeData.filter(item => item.address_type_id == v.property_type)[0].address_type;\n }\n else if(val.form_type == 'Data From Other Asset'){\n data = this.propertyTypeData.filter(item => item.id == v.property_type)[0].name;\n }\n else{\n data = '';\n }\n }else{\n data=v.other_property_type;\n }\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n \n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n }\n \n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 3){\n \n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.manufacturer_model_vehicle;\n });\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n \n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 4){\n \n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.equipment_manufacturing_description;\n });\n if(val.owner_name.length>0 ){\n owner = val.owner_name.map((e => {\n \n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 6){\n \n let owner:any=\"Owner Not Mentioned\";\n if(val.owner_name.length>0)\n {\n owner=val.owner_name.map((e=>{\n \n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n }\n \n labelarray[index] = ' : '+owner+' - '+ val.mode_name;\n }\n if(val.mode == 7){\n \n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.investments_type != 1 \n ? this.investmentTypeData.filter(data => data.id == v.investments_type)[0].name \n : v.other_investments_type ;\n\n });\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n \n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : ' + owner + ' - '+ val.mode_name + description;\n var vals= owner + ' - '+ val.mode_name \n \n }\n });\n const control = this.currentLoans.controls['loan_details'];\n this.labelArr = labelarray;\n let arr : any = [];\n if(this.labelArr.length > 0){\n this.currentLoans.controls['existing_loan'].setValue('Yes');\n this.labelArr.forEach((v,index) => {\n \n arr = { \n 'label': v,\n 'loan_amount': '',\n 'frequency':'',\n 'other_frequency':'',\n 'emi': '',\n 'loan_type': '',\n 'others_loan_type': '',\n 'loan_taken_by':'',\n 'others_loan_taken':'',\n 'lender': '',\n 'others_lender':'',\n 'original_tenure': '',\n 'current_balance_tenure': '',\n 'elapsed_tenure':''\n }\n control.push(this.createLoanDetail(arr));\n });\n // this.currentLoanForm.controls['existing_loan'].setValue(arr);\n }\n }\n else{\n \n control.push(this.createLoanDetail(null));\n }\n \n }\n });\n }\n })\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionLoansPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-loans',\n templateUrl: 'pd-question-loans.html',\n})\nexport class PdQuestionLoansPage {\n enduse: any = [];\n propertyType: any;\n mortagetypeAccess: boolean;\n mortageAccess: boolean = false;\n mortageCardAccess: boolean;\n topUpAmtInWords: any;\n ownContributionInWords: any;\n valAsPerAgmtInWords: any;\n balTxrfAmtInWords: any;\n loanAmtInWords: any;\n\n emiAmtInWords:any;\n emvAmtInWords:any;\n\n m_btLenderList: any;\n applicants: any;\n m_endUseofLoad: any;\n m_sourceofamount: any;\n m_mortageTypeProperty: any;\n m_statusofCunstruction: any;\n ownerNames: any=[];\n isOtherPurpose: boolean=false;\n endUserList: any=[];\n pdDetails: any;\n FormId: any;\n productAbbr:any;\n loanDetailsForm: FormGroup;\n users: any;\n mergeCompanyApplicant:any=[];\n existCompanyList:any;\n m_endUseOFTopUpList:any=[]\n isContribution: boolean = false;\n\n \n isOtherSource: boolean = false;\n isPLSource: boolean = false;\n\n sourceList:any=[];\n pdid:number;\n m_endUseForLoan:any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.applicants = this.pdDetails.applicat_details\n this.productAbbr = this.pdDetails.product_abbr;\n this.users = this.aws.getlocale();\n this.pdid=this.pdDetails.pd_id;\n this.getDropdown();\n\n this.loanDetailsForm = this.fb.group({\n loan_amount: [this.pdDetails.loan_amount],\n loan_tenure:[''],\n sub_product:[''],\n end_use: ['', Validators.compose([Validators.required])],\n end_use_other: [''],\n is_transfer: ['', Validators.compose([Validators.required])],\n //is_topup: ['', Validators.compose([Validators.required])],\n // is_topup: [''],\n balance_transfer_amount: [''],\n topup_amount: [''],\n end_use_topup:[''],\n other_end_use_topup:[''],\n lender: [''],\n other_bt_lender : [''],\n own_contribution: ['', Validators.compose([Validators.required])],\n source: [''],\n //personal_loan_source:[''],\n other_source:[''],\n //lender_name_type: [''],\n emi_level: ['', Validators.compose([Validators.required])],\n property_type: ['', Validators.compose([Validators.required])],\n property_type_others:[''],\n owner_name: ['', Validators.compose([Validators.required])],\n construction_status: ['', Validators.compose([Validators.required])],\n //percentage_of_construction : [''],\n emv_per_customer: ['', Validators.compose([Validators.required])],\n //value_per_agreement: ['', Validators.compose([Validators.required])],\n loandetails_remarks: ['', Validators.compose([Validators.required])],\n });\n console.log(this.pdDetails.loanAmount)\n if(this.loanDetailsForm.controls['loan_amount'] !=null){\n this.loanAmtInWords=this.constant.convertNumberToWords(this.pdDetails.loan_amount);\n }\n \n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\n {\n this.mortagetypeAccess = true;\n }else\n {\n this.mortagetypeAccess = false;\n }\n \n \n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\n this.isContribution = true;\n }\n \n }\n\n\n ionViewDidLoad() {\n console .log('ionViewDidLoad PdQuestionLoansPage');\n this.getLoanDetails();\n }\n\n\n getDropdown() {\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n })\n\n this.qustCat.getEndUseForLoan(this.pdid,this.pdDetails.fk_subproduct_id).subscribe(data=>{\n \n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\n \n });\n\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\n data => {\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\n data => {\n if(data['dataStatus']==true){\n let that = this;\n this.m_mortageTypeProperty = data['records'].filter(\n function(data){\n \n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\n {\n return data;\n \n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\n {\n return data;\n }else\n {\n return ;\n }\n });\n // this.mortage_type(this.propertyType);\n }\n });\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\n data => {\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\n });\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\n subdata => {\n if(subdata['dataStatus']==true){\n let that = this;\n this.m_endUseofLoad = subdata['records'].filter(\n function(data)\n {\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\n {\n return data;\n }\n });\n this.endUserChange(this.enduse);\n }\n });\n \n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n }\n })\n \n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n if(this.productAbbr != 'LAP'){\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\n }\n }\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\n }) \n }\n\n selectedBalancesTransferChanges(event: any){\n // if(event.value == 'no') { \n // this.loanDetailsForm.controls['is_topup'].clearValidators();\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\n // this.loanDetailsForm.controls['is_topup'].setValue('');\n //}\n //else if(event.value == 'yes'){\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\n // }\n if (event.value == 'no') {\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\n\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\n \n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \n this.loanDetailsForm.controls['lender'].setValue('');\n this.loanDetailsForm.controls['topup_amount'].setValue('');\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\n this.topUpAmtInWords=''\n\n }\n else if (event.value == 'yes') {\n this.loanDetailsForm.controls['source'].setValue('');\n this.loanDetailsForm.controls['source'].clearValidators();\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\n \n this.loanDetailsForm.controls['own_contribution'].setValue('');\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\n \n this.isOtherSource = false;\n this.loanDetailsForm.controls['other_source'].setValue('');\n \n }\n\n}\n \n mortage_type(mortage_value)\n {\n \n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\n var property_name=mortagetypes.property_name\n if(property_name=='Others (Please Specify)')\n {\n this.mortageAccess = true;\n }else\n {\n this.mortageAccess = false; \n }\n \n \n }\n compareObjects(o1: any, o2: any){\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n \n }\n\n\n loanCalc()\n {\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\n let loanAmount = this.loanDetailsForm.value.loan_amount;\n let topupAmt ;\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\n {if (loanAmount >= BtAmount) {\n topupAmt = loanAmount - BtAmount;\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\n \n this.topUpAmtInWords = this.constant.convertNumberToWords(topupAmt);\n } else {\n this.toast.pdTriggerappmessage('warning !! Balances Transfer Amount is greater than Loan Amount Please check.!');\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue('');\n this.balTxrfAmtInWords = '';\n this.loanDetailsForm.controls['topup_amount'].setValue('');\n this.topUpAmtInWords = '';\n } }\n //this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\n }\n\n onChangeSubProduct(subproduct) {\n this.qustCat.getEndUseForLoan(this.pdid,subproduct).subscribe(\n data => {\n this.m_endUseForLoan = data['records'].filter(data => data.isactive == 1);\n });\n }\n\n endUserChange(event) {\n //this.endUserList = [];\n event.forEach(option => {\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\n this.endUserList.push({ end_use: option });\n if (othresData == 'others') {\n \n this.isOtherPurpose = true;\n return ;\n }else\n {\n this.isOtherPurpose = false;\n \n }\n });\n }\n ownerNameChange(event) {\n this.ownerNames = [];\n event.value.forEach(option => {\n this.ownerNames.push({ owner_name: option });\n });\n }\n sourceChange(evt) {\n\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\n\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\n\n this.sourceList = [];\n\n evt.forEach(option => {\n this.sourceList.push({source: option});\n });\n}\n inWords(e,flag:number){\n switch(flag){\n case 1 :\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 2 : \n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 3 :\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 4 :\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 5 :\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 6:\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\n break;\n case 7:\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\n default:\n break;\n }\n}\n submitLoanDetails() {\n // if(this.loanDetailsForm.valid){\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\n records.loan_tenure=this.loanDetailsForm.controls['loan_tenure'].value;\n records.sub_product=this.loanDetailsForm.controls['sub_product'].value;\n // get end user final group data\n let dataEnd_user_data = [];\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\n dataEnd_user_data.push({end_use: element})\n });\n records.end_use_group = dataEnd_user_data;\n\n if (this.isOtherPurpose) {\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\n }\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\n }\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\n \n let dataSource_list=[];\n if(this.loanDetailsForm.controls['source'].value != '')\n {\n \n this.loanDetailsForm.controls['source'].value.forEach(element => {\n dataSource_list.push({sources : element})\n });\n }\n records.source_group=dataSource_list;\n \n }\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\n //}\n if(records.topup_amount > 0){\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\n if(records.end_use_topup == 1){\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\n }\n }\n \n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\n records.lender = this.loanDetailsForm.controls['lender'].value;\n }\n if(this.loanDetailsForm.controls['lender'].value == 1){\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\n } \n \n \n\n \n /* records.source = this.loanDetailsForm.controls['source'].value;\n if (this.loanDetailsForm.controls['source'].value == 'other') {\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\n }*/\n if(this.isOtherSource){\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\n }\n else{\n records.other_source = ''; \n }\n \n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\n if(this.mortageCardAccess == true){\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\n };\n // records.owner_name_group = this.ownerNames;\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\n let dataOwner_name = [];\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\n dataOwner_name.push({owner_name: element})\n });\n records.owner_name_group = dataOwner_name;\n }\n else{\n records.owner_name_group='';\n }\n \n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\n \n }else{\n records.property_type = null;\n records.property_type_others = null;\n records.owner_name_group = null;\n records.construction_status = null;\n records.emv_per_customer = null;\n }\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\n this.qustCat.saveForm(records).subscribe(data => {\n if(data['dataStatus']== true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage('Error');\n }\n // this.notifier.notify('success', 'Saved Successfully.');\n })\n // }else\n // {\n // this.toast.pdTriggerappmessage('Enter The All Field');\n // }\n }\n\n getLoanDetails() {\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n\n this.qustCat.retiverForm(records).subscribe(value => {\n if (value['dataStatus'] == true) {\n let loanDetails = value['records'];\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\n return loanDetails.end_use_group[key];\n });\n \n\n //this.enduse\n result.forEach(val => {\n this.enduse.push(val.end_use);\n //this.endUserList.push({'end_use':val.end_use});\n });\n let ownername: any = [];\n if(loanDetails.owner_name_group != null){\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\n return loanDetails.owner_name_group[key];\n });\n owner.forEach(val => {\n ownername.push(val.owner_name);\n this.ownerNames.push({'end_use':val.end_use});\n });\n }\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\n this.loanDetailsForm.controls['loan_tenure'].setValue(loanDetails.loan_tenure);\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\n this.loanDetailsForm.controls['sub_product'].setValue(loanDetails.sub_product)\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\n this.endUserChange(this.enduse);\n\n if (loanDetails.end_use_other!='') {\n //this.endUserChange(this.enduse);\n // this.isOtherPurpose=true;\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\n }\n \n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\n if (loanDetails.balance_transfer_amount) {\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \n }\n if (loanDetails.topup_amount) {\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \n if(loanDetails.topup_amount > 0){\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\n if (loanDetails.end_use_topup == 1) {\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\n }\n } \n }\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\n if (loanDetails.balance_transfer_amount) {\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\n }\n if (loanDetails.topup_amount) {\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\n }\n if (loanDetails.lender) {\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\n }\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\n if(loanDetails.own_contribution)\n {\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\n }\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\n if(loanDetails.is_transfer!='yes')\n {\n let source=Object.keys(loanDetails.source_group).map(function(key){\n return loanDetails.source_group[key];\n });\n let dbsourcelist:any=[];\n source.forEach(val=>{\n dbsourcelist.push(val.sources);\n });\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\n this.sourceChange(dbsourcelist);\n if(loanDetails.other_source) {\n // this.isOtherSource = true;\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\n }\n \n \n }\n\n/* if (loanDetails.lender_name_type) {\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\n }*/\n \n if(loanDetails.emi_level){\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\n }\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\n this.propertyType =loanDetails.property_type;\n if(loanDetails.property_type !=null){\n this.mortage_type(this.propertyType);\n if(this.mortageCardAccess == true){\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \n // this.mortage_type(loanDetails.property_type_others);\n \n }\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\n if(loanDetails.emv_per_customer)\n {\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\n }\n }\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\n } else {\n\n }\n })\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\n this.mortageCardAccess = false;\n this.loanDetailsForm.controls['owner_name'].setValue('');\n this.loanDetailsForm.controls['owner_name'].clearValidators();\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\n \n }else{\n this.mortageCardAccess = true;\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\n \n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionBankingPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-banking',\n templateUrl: 'pd-question-banking.html',\n // changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class PdQuestionBankingPage {\n \n m_btLenderList: any;\n applicants: any ;\n salaryField: boolean;\n FormId: any;\n accountType: any;\n users: any;\n bankDetails:FormGroup;\n pdDetails: any;\n pdid:any;\n bankitems:FormArray;\n\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n limitCaseFlag: any=[];\n amtInwords: any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\n //this.applicants.pop();\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \n \n \n // alert();\n this.users = this.aws.getlocale();\n this.bankDetails = this.fb.group(\n {\n bankitems:this.fb.array([]),\n banking_form_remark:[null],\n });\n \n \n \n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\n \n \n this.getdropdown();\n this.retiveBankDetails();\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBankingPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.accountType=res['records'];\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n \n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n \n }\n // let modifyCompanyList : any=[];\n // if(this.existCompanyList.length>0){\n // modifyCompanyList = this.existCompanyList.map(element => {\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n // });\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n //}\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n }\n selectedAccTypeChanges(event: any,i){\n \n if(event == 2 || event == 1) {\n this.limitCaseFlag[i] = false;\n \n // const control = this.bankingForm.controls['itemRows'];\n \n // control.controls[0].get('limit').clearValidators();\n // control.controls[0].get('limit').updateValueAndValidity();\n \n }\n else{\n this.limitCaseFlag[i] = true;\n }\n\n}\n\n/** Amount InWords */\ninWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n}\n\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e){\n \n \n let year = itemrow.controls.vintage_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\n \n}\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n createBankItem(name) {\n \n return this.fb.group({\n applicant_name: [''],\n bank_name: [''],\n account_type: [''],\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\n limit: [''],\n other_bank:[''],\n other_applicant:[''],\n //is_main: [''],\n vintage_year: [''],\n vintage_month: [''],\n \n });\n\n }\n \n addBankDetails() {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n \n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem(''));\n \n \n \n }\n\n addmoreBankDetils()\n {\n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem('')); \n }\n\n removebank(i){\n\n if(this.bankitems.length==1){\n this.bankitems.reset();\n }\n else\n this.bankitems.removeAt(i);\n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.banking_details = answerData.bankitems;\n records.banking_form_remark = answerData.banking_form_remark;\n \n this.qustCat.saveForm(records).subscribe(data => {\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n \n }\n\n retiveBankDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n if(result.length ==0){\n \n this.bankitems.push(this.createBankItem(''))\n }else\n {\n \n \n \n \n result.forEach((datas,index)=>\n {\n this.selectedAccTypeChanges(+datas.account_type,index)\n if(datas.limit != ''){\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \n } \n // this.selectedBorrower(datas.applicant_name,index);\n this.bankitems.push(this.createBankItem(''));\n })\n this.bankDetails.controls['bankitems'].setValue(result);\n }\n \n \n }else\n {\n \n this.addBankDetails();\n }\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionFamilyPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-family',\n templateUrl: 'pd-question-family.html',\n})\nexport class PdQuestionFamilyPage {\n\n\n earningStatus = [{\n type: 'Earning',\n id: 1\n}, {\n type: 'Non Earning',\n id: 2\n}]\nearning_gross_income_per_month:any;\n\n nofamily:number;\ndata:any;\n familyAddStatus: boolean;\n ownerShip: any;\n cusSeg: any;\n FormId: any;\n users: any;\n pdDetails: any;\n occupationData: any;\n membersitem: FormArray;\n items: FormArray;\n relationData: any;\n familyForm: FormGroup;\n total_number_of_family_members;\n filteredStates: any ;\n public selected_person;\n stateData:any;\n cityData: any =[];\n pincodeData:any=[];\n FamilyMemberAsLabel: any=[];\n selectPerson: any=[];\n apiFamilyMembers: any=[];\n //isReadOnly: any=[];\n RentAmount: any=[];\n IncomePerMonth: any=[];\n // cons: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.selected_person=this.pdDetails.pdapplicants_details;\n this.selectPerson=this.pdDetails.applicat_details\n this.users = this.aws.getlocale();\n \n \n this.familyForm = this.fb.group({\n family_details: this.fb.array([\n //this.initFamilyDetails()\n \n ]),\n family_details_form_remark:[''],\n \n \n });\n this.getRelation();\n this.getoccupation();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log(\"ionViewDidLoad PdQuestionFamilyPage\")\n this.getFamilyData();\n }\n initFamilyDetails(records) : void\n {\n if (records === null) {\n let formData: FormGroup = this.fb.group({\n selected_person: ['', Validators.compose([Validators.required])],\n residence_place: ['', Validators.compose([])],\n residence_city: ['', Validators.compose([])],\n residence_state: ['', Validators.compose([])],\n residence_pin: ['', Validators.compose([])],\n residence_other_pincode:['',Validators.compose([])],\n residence_No_of_years: ['', Validators.compose([])],\n residence_ownership: ['', Validators.compose([])],\n ownershipOther: [''],\n rent: [''],\n total_number_of_family_members: ['', Validators.compose([Validators.min(1), Validators.max(20)])],\n family_members_details: this.fb.array([])\n });\n const control = this.familyForm.controls['family_details'];\n control.push(formData);\n \n }\n else{\n records.forEach((val,index)=>{\n if(val.rent != null){\n \n this.RentAmount[index] = this.cons.convertNumberToWords(val.rent); \n }\n this.FamilyMemberAsLabel[index] = this.selectPerson.filter(item => item.pd_co_applicant_id == val.selected_person)[0].applicant_name;\n this.getCity(val.residence_state,index);\n let formData:FormGroup=this.fb.group({\n selected_person:[val.selected_person],\n residence_place:[val.residence_place],\n residence_city:[val.residence_city],\n residence_state:[val.residence_state],\n residence_pin:[val.residence_pin],\n residence_other_pincode:[val.residence_other_pincode],\n residence_No_of_years: [val.residence_No_of_years,Validators.compose([])],\n residence_ownership:[val.residence_ownership],\n rent:[val.rent || null],\n ownershipOther:[val.ownershipOther || null],\n total_number_of_family_members:[val.total_number_of_family_members,Validators.compose([Validators.min(1), Validators.max(20)])],\n family_members_details:this.fb.array([])\n \n });\n \n const control = this.familyForm.controls['family_details'];\n control.push(formData);\n \n let inx=control.length-1;\n //this.getNumberOfFamilyMemberDetails(inx);\n this.initFamilyMembersDetails(inx, val.family_members_details);\n \n \n //this.initFamilyMembersDetails\n \n })\n }\n /*\n return this.fb.group({\n //family_details\n selected_person:[''],\n residence_place:[''],\n residence_city:[''],\n residence_state:[''],\n residence_pin:[''],\n residence_No_of_years: ['',Validators.compose([])],\n residence_ownership:[],\n rent:[''],\n ownershipOther:[''],\n total_number_of_family_members:['',Validators.compose([Validators.min(1), Validators.max(20)])],\n \n //family_member_details\n \n \n \n family_members_details:this.fb.array([]),\n \n\n // person: [null],\n /* personOther: [''],\n members: [''],\n residence: [''],\n years: [null],\n family_details_form_remark:[''],\n \n });*/\n\n }\n initFamilyMembersDetails(inx,val) :void {\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\n val.forEach((vals,index)=>{\n\n \n if(vals.earning_gross_income_per_month != null){\n this.IncomePerMonth[index] = this.cons.convertNumberToWords(vals.earning_gross_income_per_month);\n }\n let datas = this.fb.group({\n family_member_name: [vals.family_member_name || null, Validators.compose([])],\n family_member_relationship: [vals.family_member_relationship || null, Validators.compose([])],\n family_member_age: [vals.family_member_age || null, Validators.compose([])],\n family_member_earning_status: [vals.family_member_earning_status || null, Validators.compose([])],\n earning_segment: [vals.earning_segment || null, Validators.compose([])],\n earning_if_others_segment:[vals.earning_if_others_segment || null, Validators.compose([])],\n earning_gross_income_per_month: [vals.earning_gross_income_per_month || null, Validators.compose([])],\n earning_name_of_the_employer_or_business: [vals.earning_name_of_the_employer_or_business || null, Validators.compose([])],\n earning_number_of_years_in_employment_or_business: [vals.earning_number_of_years_in_employment_or_business || null, Validators.compose([])],\n non_earning_occupation: [vals.non_earning_occupation || null, Validators.compose([])],\n non_earning_if_others: [vals.non_earning_if_others || null, Validators.compose([])],\n non_earning_if_schoolorcollege:[vals.non_earning_if_schoolorcollege || null, Validators.compose([])],\n non_earning_if_retired_from: [vals.non_earning_if_retired_from || null, Validators.compose([])],\n })\n \n control.push(datas);\n });\n }\n \n /*return this.fb.group({\n family_member_name:[''],\n family_member_relationship:[],\n family_member_age:[],\n family_member_earning_status:['',Validators.compose([])],\n //family_member_earnings\n earning_segment:[''],\n earning_gross_income_per_month:[''],\n earning_name_of_the_employer_or_business:[''],\n earning_number_of_years_in_employment_or_business:[''],\n \n non_earning_occupation:[''],\n non_earning_if_others:[''],\n non_earning_if_retired_from:[''],\n });*/\n \n\n\n add() :void { \n // const control=this.familyForm.controls['family_details'];\n //control.push(this.initFamilyDetails('chck'));\n this.initFamilyDetails(null);\n this.toast.pdTriggerappmessage(\"Family Details Added\");\n }\n remove_family_details(i:number):void{\n const control=this.familyForm.controls['family_details'];\n control.removeAt(i);\n }\n addMemberDet(data:any){\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n //this.initFamilyMembersDetails('','')\n control.push(this.generateFamilyMembersDetailsGet())\n }\n removeMemberDet(index:any,f_index:any){\n const control=this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details;\n if(control.length>1){\n control.removeAt(index); \n }\n else{\n control.reset()\n }\n // if(control.value !=null && index == 0)\n\n }\n getNumberOfFamilyMemberDetails(data)\n {\n \n var datavalue=data;\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\n if(formData['total_number_of_family_members'].valid)\n {\n let totmem=formData['total_number_of_family_members'].value;\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n if(totmem>=control.length){\n let len=totmem-control.length;\n for( let i=0;i=totmem;i--)\n {\n control.removeAt(i);\n }\n \n // var nn=control.length-totmem; \n // control.controls = [];\n /*for (let i = 0; i < totmem; i++) {\n control.push(this.generateFamilyMembersDetailsGet());\n\n }*/\n // this.initFamilyDetails(this.resValue['records'].family_details);\n // this.toast.pdTriggerappmessage(\"Please choose the number greater than\"+control.length);\n }\n \n \n }\n else{\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n control.removeAt(control.length);\n control.controls=[];\n }\n /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n control.push(this.initFamilyMembersDetails());\n */ \n }\n generateFamilyMembersDetailsGet(): FormGroup {\n return this.fb.group({\n family_member_name: ['', Validators.compose([])],\n family_member_relationship: ['', Validators.compose([])],\n family_member_age: ['', Validators.compose([])],\n family_member_earning_status: ['', Validators.compose([])],\n earning_segment: ['', Validators.compose([])],\n earning_if_others_segment:['',Validators.compose([])],\n earning_gross_income_per_month: ['', Validators.compose([])],\n earning_name_of_the_employer_or_business: ['', Validators.compose([])],\n earning_number_of_years_in_employment_or_business: ['', Validators.compose([])],\n non_earning_occupation: ['', Validators.compose([])],\n non_earning_if_others: ['', Validators.compose([])],\n non_earning_if_schoolorcollege:['',Validators.compose([])],\n non_earning_if_retired_from: ['', Validators.compose([])],\n })\n}\n \n getRelation() {\n let master_name = 'RELATIONSHIPS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n \n if(data['dataStatus'] == true){\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\n }\n });\n\n this.qustCat.getcommondrop('PERSONSMET').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.filteredStates = res['records'].filter(per=>per.isactive==1);\n }\n });\n // this.qustCat.getcommondrop('CUSTOMERSEGMENT').subscribe(res=>\n // {\n // if(res['dataStatus']==true)\n // {\n // this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\n // }\n // });\n this.qustCat.getcommondrop('EARNINGMEMBERSSTATUS').subscribe(res=>{\n if(res['dataStatus']==true){\n this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\n }\n })\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.ownerShip = res['records'].filter(own=>own.isactive==1);\n }\n });\n this.qustCat.getcommondrop('STATE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.stateData=res['records'].filter(item=>item.isactive==1);\n }\n })\n \n}\ngetCity(e,i){\n // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); \n // this._pd.retriveForm(params).subscribe(data => {\n this.qustCat.getStateWiseCities(e).subscribe(data=>{\n if (data['dataStatus'] == true) {\n this.cityData[i] = data.records.cities; \n this.pincodeData[i] = data.records.pincode;\n }\n });\n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n if(data['dataStatus']==true){\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\n }\n });\n}\n /* createMembers(): FormGroup {\n return this.fb.group({\n earning_member_name : [null],\n earning_member_age : [null],\n relation: [null],\n segment: [null],\n income: [null],\n employer_name: [null],\n });\n}\ncount :number = 0;\naddearningMembers()\n{\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.items.push(this.createMembers());\n this.count++;\n this.checkfamilystatus(this.count,''); \n\n}\n\ndeleteEarningMembers(i)\n{\n\n if(this.items.length==1)\n {\n this.familyForm.controls['earningMembers'].reset();\n }else{\n this.items.removeAt(i);\n }\n this.count--;\n this.checkfamilystatus(this.count,''); \n}\ncreateNonMembers(): FormGroup {\n return this.fb.group({\n non_earning_member_name : [''],\n non_earning_member_age : [''],\n relationship: [null],\n occupation: [null],\n retired: [null],\n others_occupation:[null],\n });\n}\naddMembers()\n{\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n this.count++;\n this.checkfamilystatus(this.count,''); \n this.membersitem.push(this.createNonMembers());\n \n}\ndeleteMembers(i)\n{\n if(this.membersitem.length==1){\n this.familyForm.controls['nonEarningMembers'].reset();\n \n }else{\n this.membersitem.removeAt(i);\n }\n this.count--;\n this.checkfamilystatus(this.count,''); \n}\ncheckfamilystatus(count,familystatus)\n{\n if(familystatus !='' && familystatus !==undefined){\n\n }else{\n familystatus = this.familyForm.get('members').value;\n }\n if(familystatus !== null ){\n if(familystatus == count)\n {\n\n this.familyAddStatus = true;\n }else\n {\n this.familyAddStatus = false;\n }\n }\n}*/\n/* Old\nsavepdfamily(answerData)\n{\n let records: any = {};\n records.no_of_years = answerData.years;\n if (answerData.ownership == '4') {\n records.ownershipOther = answerData.ownershipOther;\n } \n records.residence = answerData.residence;\n if (answerData.ownership == '3') {\n records.what_rent = answerData.rent;\n }\n // if (answerData.person == '8') {\n // records.person_met = answerData.personOther.value;\n // } else {\n // records.person_met = answerData.person;\n // }\n records.ownership = answerData.ownership\n records.family_members = answerData.members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n}*/\n\nsavepdfamily(answerData)\n{\n \n let records:any={};\n \n records=this.familyForm.value;\n\n Object.keys(records).forEach((key)=>(records[key]==null)&& delete records[key]);\n records.pdid=this.pdDetails.pd_id;\n records.formid=this.FormId.form_id;\n records.fk_createdby=this.users;\n this.qustCat.saveForm(records).subscribe(res=>{\n\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n \n },err=>{\n this.toast.pdTriggerappmessage(\"Some Fields value is Missing Please Fill It\");\n })\n\n /*let records: any = {};\n records.no_of_years = answerData.residence_No_of_years;\n if (answerData.residence_ownership == '4') {\n records.ownershipOther = answerData.ownershipOther;\n } \n //records.residence = answerData.residence;\n if (answerData.residence_ownership == '3') {\n records.what_rent = answerData.rent;\n }\n // if (answerData.person == '8') {\n // records.person_met = answerData.personOther.value;\n // } else {\n // records.person_met = answerData.person;\n // }\n records.ownership = answerData.residence_ownership\n records.family_members = answerData.total_number_of_family_members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })*/\n}\nprevFamilyMembersCtrlLength: number = 0;\ncurrFamilyMembersCtrlLength: number = 0;\nselectedPerson(e,inx){\n \n this.FamilyMemberAsLabel[inx] = this.selectPerson.filter(item => item.pd_co_applicant_id == e)[0].applicant_name;\n \n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\n \n this.currFamilyMembersCtrlLength = control.length;\n \n let i : number = 0 ;\n for(i ;i < this.prevFamilyMembersCtrlLength;i++){\n console.log(i,this.prevFamilyMembersCtrlLength);\n control.removeAt(i);\n }\n // while(index < this.prevFamilyMembersCtrlLength)\n // { \n // }\n this.prevFamilyMembersCtrlLength = this.currFamilyMembersCtrlLength;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n\n if(this.apiFamilyMembers.length>0){\n\n let arraydata : any;\n let data = this.apiFamilyMembers.filter(item => item.relation_to == e);\n\n \n // data_gets_from:'GeneralForm'\n // data_gets_from:'BusinessForm'\n \n if(data.length > 0){\n \n \n this.prevFamilyMembersCtrlLength = data.length;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n\n\n data.forEach((val,inx) => {\n \n // // family_member_earning_status\n // if(val.age){\n // this.isReadOnly[inx] = true;\n // }else{\n // this.isReadOnly[inx] = false;\n // }\n arraydata = {\n 'family_member_name' : val.name,\n 'family_member_relationship' : val.relationship,\n 'family_member_age' : val.age,\n 'family_member_earning_status': val.data_gets_from == 'BusinessForm' ? '1' :'',\n 'earning_segment': '',\n 'earning_gross_income_per_month': '',\n 'earning_name_of_the_employer_or_business':'',\n 'earning_number_of_years_in_employment_or_business': '',\n 'earning_if_others_segment':'',\n 'non_earning_occupation': '',\n 'non_earning_if_others': '',\n 'non_earning_if_retired_from': '',\n 'non_earning_if_schoolorcollege': ''\n }\n control.push(this.initgenerateFamilyMembersDetailsGet(arraydata));\n \n });\n }\n else{\n this.prevFamilyMembersCtrlLength = 1;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n \n\n control.push(this.generateFamilyMembersDetailsGet()); \n }\n }\n else{\n \n control.push(this.generateFamilyMembersDetailsGet());\n } \n}\n\ngenerateFamilyMembersDetailsGetData(data){\n var result = Object.keys(data).map(function (key) {\n return data[key];\n});\nif (result.length > 0) {\n for (let val of result) {\n const control = this.familyForm.controls['family_members_details'];\n control.push(this.initgenerateFamilyMembersDetailsGet(val));\n }\n}\n}\ninitgenerateFamilyMembersDetailsGet(val):FormGroup{\n return this.fb.group({\n family_member_name: [val.family_member_name, Validators.compose([])],\n family_member_relationship: [val.family_member_relationship, Validators.compose([])],\n family_member_age: [val.family_member_age, Validators.compose([])],\n family_member_earning_status: [val.family_member_earning_status, Validators.compose([])],\n earning_segment: [val.earning_segment, Validators.compose([])],\n earning_if_others_segment:[val.earning_if_others_segment,Validators.compose([])],\n earning_gross_income_per_month: [val.earning_gross_income_per_month, Validators.compose([])],\n earning_name_of_the_employer_or_business: [val.earning_name_of_the_employer_or_business, Validators.compose([])],\n earning_number_of_years_in_employment_or_business: [val.earning_number_of_years_in_employment_or_business, Validators.compose([])],\n non_earning_occupation: [val.non_earning_occupation, Validators.compose([])],\n non_earning_if_others: [val.non_earning_if_others, Validators.compose([])],\n non_earning_if_schoolorcollege:[val.non_earning_if_schoolorcollege,Validators.compose([])],\n non_earning_if_retired_from: [val.non_earning_if_retired_from, Validators.compose([])],\n})\n}\nresValue:any;\n\n getFamilyData()\n {\n this.qustCat.getFamilyDetails(this.pdDetails.pd_id).subscribe(res=>{\n if(res['dataStatus']==true){\n let Temparr : any = [];\n\n if(res.record.from_general_form.length>0){\n let familyMembersGeneralForm=Object.keys(res.record.from_general_form).map(function(key){\n return res.record.from_general_form[key]\n });\n let datas=familyMembersGeneralForm.map(element=>{\n return {id:element.pd_co_applicant_id.toString(),\n name:element.applicant_name,\n relationship:element.relationship,\n relation_to:element.relation_to,\n age:element.age,\n data_gets_from:'GeneralForm'};\n \n });\n Temparr.push(datas);\n }\n else{\n console.log(\"No data in General Form\")\n }\n if(res.record.from_business_form.length >0){\n let familyMembersBusinessForm=Object.keys(res.record.from_business_form).map(function(key){\n return res.record.from_business_form[key]\n });\n let datas=familyMembersBusinessForm.map(element=>{\n return {id:element.other_family_relationship_id,\n name:element.family_member_name,\n relationship:element.other_family_relationship_id,\n relation_to:element.relation_to_id,\n age:'',\n data_gets_from:'BusinessForm'};\n });\n Temparr.push(datas);\n }\n else{\n console.log(\"No data in Business Form\")\n }\n this.apiFamilyMembers = [].concat.apply([],Temparr);\n }\n })\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n\n this.qustCat.retiverForm(records).subscribe(res=>{\n console.log(\"Entering Retrieve\");\n \n if(res['status']==200){\n if(res['records'].family_details.length > 0){\n this.familyForm.controls.family_details_form_remark.setValue(res['records'].family_details_form_remark);\n this.resValue=res;\n this.initFamilyDetails(res['records'].family_details);\n \n }\n \n }\n else{\n console.log(\"No Data Found\");\n this.initFamilyDetails(null);\n \n }\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\n \n },err=>{\n console.log(\"Error\",err)\n })\n /*let earning:any = [];\n let non_earning:any = [];\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\n\n return res['records'].non_earning_members[key];\n });\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\n earning = Object.keys(res['records'].earning_members).map(function(key) {\n return res['records'].earning_members[key];\n });\n let familyDetails = res['records'];\n this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); \n // this.familyForm.controls['person'].setValue(familyDetails.person_met);\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\n this.familyForm.controls['rent'].setValue(familyDetails.what_rent);\n // this.familyForm.controls['earningMembers'].setValue(earning);\n // for(this.)\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n if(earning.length==0)\n {\n this.addearningMembers();\n }else\n {\n earning.forEach(datas => {\n this.count++;\n this.items.push(this.createMembers());\n });\n this.familyForm.controls['earningMembers'].setValue(earning);\n \n }\n\n if(non_earning.length==0)\n {\n this.addMembers(); \n }else\n {\n non_earning.forEach(datas => {\n this.count++;\n this.membersitem.push(this.createNonMembers());\n \n });\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\n // this.checkfamilystatus(this.count);\n }\n \n // for(let earningDetails of earning){\n // this.items = this.familyForm.get('earningMembers') as FormArray;\n // this.items.push(earning);\n // }\n\n }else\n {\n this.addearningMembers();\n this.addMembers();\n }\n }) */ \n }\n /** To Convert Amount into Words */\n inWords(e,flag:number,i){\n switch(flag){\n case 1 :\n this.RentAmount[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 2 :\n this.IncomePerMonth[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n \n default:\n break;\n }\n }\n initSetValue(records):void{\n for(let val of records){\n let formData:FormGroup=this.fb.group({\n selected_person:[val.selected_person],\n residence_place:[val.residence_place]\n })\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssestsPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assests',\n templateUrl: 'pd-question-assests.html',\n})\nexport class PdQuestionAssestsPage {\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\n {'value': \"no\",'viewValue': \"No\"},\n {'value': \"nan\",'viewValue': \"NA\"}]\n m_relation: any;\n applicants: any ;\n users: any;\n FormId: any;\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\n m_investmentType: { 'id': string; 'name': string; }[];\n m_insuranceType: { 'id': string; 'name': string; }[];\n m_propertyType: { 'id': string; 'name': string; }[];\n m_assets_type: { 'id': string; 'name': string; }[];\n m_vehicle_type: any=[];\n m_uom_type: any=[];\n pdDetails: any;\n assetItem: any;\n items:FormArray;\n AssetsDetailsForm:FormGroup;\n details:FormArray;\n FormList:boolean = false;\n loadDetails:boolean = true;\n assestInfo:any;\n\n appxMarketAmtInwords: any=[];\n OtherAppxMarketAmtInwords: any=[];\n emiAmtInwords: any=[];\n OtherEmiAmtInwords: any=[];\n PremiumPaidInwords: any=[];\n OtherPremiumPaidInwords: any=[];\n SumAssuredInwords: any=[];\n OtherSumAssuredInwords: any=[];\n AmtInvestInwords: any=[];\n OtherAmtInvestInwords: any;\n AssetValueInwords: any=[];\n OtherAssetValueInwords: any=[];\n B_emiAmtInwords: any=[];\n O_emiAmtInwords: any=[];\n\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n isOtherOwner: any = [];\n pdid:any;\n currentYear: any = new Date().getFullYear();\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\n \n this.assestInfo = \"busass\";\n this.FormId = this.navParams.get('FormId');\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.users = this.aws.getlocale();\n this.applicants = this.pdDetails.applicat_details;\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n \n this.AssetsDetailsForm = this.fb.group({\n assets_details:this.fb.array([]),\n assets_form_remark:['']\n })\n \n this.getAssetDetails();\n this.getdropList();\n this.loadDetails = true;\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssestsPage');\n }\n\n getdropList()\n {\n //GETTING Asset Type\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\n }\n })\n \n //GETTING Property Type;\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_propertyType = res['records'];\n }\n })\n \n //GETTING Investment Type;\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_investmentType = res['records'];\n }\n })\n\n //GETTING Insurance Type;\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.m_insuranceType =res['records'];\n }\n })\n \n //GETTING Frequency Type;\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'];\n }\n })\n\n //GETTING Relationship;\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => \n {\n if(data['dataStatus']==true)\n {\n this.m_relation = data['records'].filter(data => data.isactive == 1);\n }\n });\n\n //GETTING VEHICLE TYPE;\n this.qustCat.getcommondrop('VEHICLETYPE').subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\n }\n })\n \n //GETTING UOM List;\n this.qustCat.getcommondrop('UOM').subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.m_uom_type = data['records'].filter(data => data.isactive == 1 && data.is_land_uom == 1 || data.is_land_uom == 2);\n }\n })\n\n //GETTING Company And Applicant List.\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>\n { \n if(data['dataStatus']==true)\n {\n this.existCompanyList=data['records'].filter(val =>val.is_active===true)\n \n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n }\n \n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n })\n \n \n }\n createAsset() : FormGroup\n {\n return this.fb.group(\n {\n assets_mode: [null],\n details: this.fb.array([]),\n approximate_market_value: [null],\n name_of_the_owner: [''],\n other_owner:[''],\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n vintage_personal : [''],\n emi: [null],\n });\n }\n\n addAsset(flag)\n {\n if(flag==1){\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n this.assetItem.push(this.createAsset());\n }\n }\n\n deleteAsset(i,flag)\n {\n if(flag==1){\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n if(this.assetItem.length==1)\n {\n this.AssetsDetailsForm.controls['assets_details'].reset();\n }else{\n this.assetItem.removeAt(i);\n } \n }\n }\n \n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n \n loanCalc(details ,flag)\n {\n if(flag == 1){\n \n let ElapsedValues;\n \n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\n }\n }\n }\n \n show: boolean;\n selectedAssetsType(e: any, i: any,flag : any): void {\n \n let val = i;\n if(flag == 1){\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n }\n \n switch (e.value) {\n case '1': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\n control.push(this.otherAssetsDescription());\n break;\n }\n case '2': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \n control.push(this.loadProperty());\n break;\n }\n case '3': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \n control.push(this.load_Four_Weeler());\n break;\n }\n case '4': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray; \n control.push(this.loadEquipmentManufacturingDescription());\n break;\n }\n case '5': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \n control.push(this.loadConsumerDurableDescription());\n break;\n }\n case '6': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \n control.push(this.loadInsuranceDescription());\n break;\n }\n case '7': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \n control.push(this.loadInvestDescription());\n break;\n }\n case '8': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \n control.push(this.otherAssetsDescription());\n break;\n }\n default: {\n break;\n }\n }\n }\n\n loadProperty() {\n return this.fb.group({\n property_type: [''],\n other_property_type: [''],\n address_of_the_property: [''],\n describe_of_the_property_asset: [''],\n area_covered_by_this_property: [''],\n uom_of_the_property: [''],\n other_uom: ['']\n });\n } \n\n loadConsumerDurableDescription() {\n return this.fb.group({\n consumer_durable_description: [null]\n });\n }\n \n loadEquipmentManufacturingDescription() {\n return this.fb.group({\n equipment_manufacturing_description: ['']\n });\n }\n\n otherAssetsDescription() {\n return this.fb.group({ any_other_assets: [''] });\n }\n\n loadInsuranceDescription() {\n return this.fb.group({\n // insurance_type: [null],\n premium_paid: [null],\n frequency_mode: [null],\n other_frequency_mode:[null],\n sum_assured: [null],\n members_coverd: [null]\n });\n }\n\n loadInvestDescription() {\n return this.fb.group({\n investments_type: [''],\n other_investments_type:[''],\n in_which_organisation:[''],\n amount_of_invest: [''],\n bank_name: ['']\n });\n }\n\n load_Four_Weeler() {\n return this.fb.group({\n manufacturer_model_vehicle: [''],\n vehicle_type: [''],\n other_vehicle_type: ['']\n });\n }\n \n\n load_Two_Weeler() {\n return this.fb.group({\n manufacturer_model_two_weeler: ['']\n });\n }\n\n\n\n loadPropertyWithData(data) {\n return this.fb.group({\n property_type: [data.property_type],\n other_property_type: [data.other_property_type],\n address_of_the_property: [data.address_of_the_property],\n describe_of_the_property_asset: [data.describe_of_the_property_asset],\n area_covered_by_this_property: [data.area_covered_by_this_property],\n uom_of_the_property: [data.uom_of_the_property],\n other_uom: [data.other_uom]\n });\n }\n\n loadJwellDescriptionWithData(data) {\n return this.fb.group({\n // jwell_description: [data.jwell_description]\n });\n }\n\n loadConsumerDurableDescriptionWithData(data) {\n return this.fb.group({\n consumer_durable_description: [data.consumer_durable_description]\n });\n }\n\n otherAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n });\n }\n \n loadInsuranceDescriptionWithData(data) {\n return this.fb.group({\n //insurance_type: [data.insurance_type],\n premium_paid: [data.premium_paid],\n frequency_mode: [data.frequency_mode],\n other_frequency_mode:[data.other_frequency_mode],\n sum_assured: [data.sum_assured],\n members_coverd: [data.members_coverd]\n });\n }\n\n loadInvestDescriptionWithData(data) {\n return this.fb.group({\n investments_type: [data.investments_type],\n other_investments_type:[data.other_investments_type],\n in_which_organisation:[data.in_which_organisation],\n amount_of_invest: [data.amount_of_invest],\n bank_name: [data.bank_name]\n });\n }\n\n \n\n load_Four_WeelerWithData(data) {\n return this.fb.group({\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\n vehicle_type: [data.vehicle_type],\n other_vehicle_type: [data.other_vehicle_type]\n });\n }\n\n\n loadEquipmentManufacturingDescriptionWithData(data) {\n return this.fb.group({\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\n });\n }\n\n load_Two_WeelerWithData(data) {\n return this.fb.group({\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\n });\n }\n\n\n initDetailsWithdata(data) {\n return this.fb.group({\n assets_mode: [data.assets_mode],\n details: this.fb.array([]),\n approximate_market_value: [data.approximate_market_value],\n name_of_the_owner: [data.name_of_the_owner],\n other_owner:[data.other_owner || ''],\n vintage_personal:[data.vintage_personal],\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n emi: [data.emi || 0],\n });\n }\n\n saveAssetDetails(answerData)\n {\n \n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n // answerData.assets_details.map(val => {\n // if (val.emi == 'no') {\n // val.emi_paid = '';\n // val.elapsed_tenure = '';\n // val.balance_tenure = '';\n // val.original_loan_tenure ='';\n // }\n // });\n \n answerData.pdid = this.pdDetails.pd_id;\n answerData.formid = this.FormId.form_id;\n answerData.fk_createdby = this.users;\n \n this.qustCat.saveForm(answerData).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n }\n\n apiLoadFinish:boolean = false;\n\n // To Fetch The Asset Value;\n getAssetDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\n return res['records'].assets_details[key];\n });\n \n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\n if (assetArray.length > 0) {\n assetArray.forEach((val, index) => {\n let vals = {\n assets_mode: val.assets_mode,\n approximate_market_value: val.approximate_market_value,\n name_of_the_owner: val.name_of_the_owner,\n other_owner:val.other_owner,\n purchase_year: val.purchase_year,\n vintage_personal:val.vintage_personal,\n emi: val.emi,\n };\n this.setRequiredValidation(val.name_of_the_owner, index, '', 4);\n const control = this.AssetsDetailsForm.controls['assets_details'];\n control.push(this.initDetailsWithdata(vals));\n \n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\n });\n \n }\n \n this.apiLoadFinish = true;\n \n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\n }else{\n this.apiLoadFinish = true;\n this.addAsset(1);\n // this.addAsset(2);\n }\n })\n }\n\n\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\n let val = i;\n \n let data = datas;\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n switch (assets_details_mode) {\n case '1': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'any_other_assets': datas.any_other_assets };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescriptionWithData(array_data));\n break;\n }\n \n case '2': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type,\n 'address_of_the_property': datas.address_of_the_property, 'describe_of_the_property_asset': datas.describe_of_the_property_asset,\n 'uom_of_the_property': datas.uom_of_the_property,\n 'area_covered_by_this_property': datas.area_covered_by_this_property, 'other_uom': datas.other_uom };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadPropertyWithData(array_data));\n break;\n }\n case '3': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle,\n 'vehicle_type': datas.vehicle_type,\n 'other_vehicle_type': datas.other_vehicle_type };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Four_WeelerWithData(array_data));\n break;\n }\n case '4': {\n let array_data:any\n data.forEach((datas,i)=>{\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\n })\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\n break;\n }\n case '5': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\n break;\n }\n case '6': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { \n 'premium_paid': datas.premium_paid,\n 'frequency_mode': datas.frequency_mode,\n 'other_frequency_mode':datas.other_frequency_mode,\n 'sum_assured': datas.sum_assured,\n 'members_coverd': datas.members_coverd\n };\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\n \n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInsuranceDescriptionWithData(array_data));\n break;\n }\n case '7': {\n let array_data : any;\n data.forEach((datas,i) => {\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\n array_data = { 'investments_type': datas.investments_type,\n 'other_investments_type' : datas.other_investments_type,\n 'in_which_organisation':datas.in_which_organisation,\n 'amount_of_invest': datas.amount_of_invest,\n 'bank_name': datas.bank_name };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInvestDescriptionWithData(array_data));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /** On Key Press Event For Number only Accepting */\n keyPress(event: any) {\n const pattern = /[0-9\\-\\.\\ ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n inWords(e,i,flag){\n switch(flag){\n case 1 : \n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 3 :\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 4 :\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 5 :\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 6 :\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 7 :\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 8 :\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 9 :\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 10 :\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 11 :\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 12 :\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 13:\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 14:\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n }\n\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\n if (type == 1) { }\n else if (type == 2) { }\n else if (type == 3) {\n let control: any = this.AssetsDetailsForm.controls['assets_details'];\n control.controls[controlKey].controls['purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\n }\n else if (type == 4) {\n let control: any = this.AssetsDetailsForm.controls['assets_details'];\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['purchase_year'].setValue(value) : control.controls[controlKey].controls['purchase_year'].setValue('');\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['vintage_personal'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['vintage_personal'].setValue('')\n }\n\n }\n\n\n setRequiredValidation(value, ParInx, ChdInx, flag) {\n\n let ParCtrls = this.AssetsDetailsForm.controls.assets_details;\n\n let ChdCtrls: any = ParCtrls.controls[ParInx];\n\n if (flag == 4) {\n let Avaliablity = 1;\n\n if (value.length > 0) {\n value.forEach(option => {\n if (option.id == 0 && option.group_id == 2) {\n Avaliablity = option.id;\n }\n });\n }\n if (Avaliablity == 0) {\n\n\n ChdCtrls.controls.other_owner.setValidators([Validators.required]);\n this.isOtherOwner[ParInx] = true;\n\n } else if (Avaliablity == 1) {\n\n\n ChdCtrls.controls.other_owner.setValue('');\n ChdCtrls.controls.other_owner.clearValidators();\n this.isOtherOwner[ParInx] = false;\n\n }\n\n ChdCtrls.controls.other_owner.updateValueAndValidity();\n\n }\n \n }\n \n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\nimport { PdQuestionRentalInfoPage } from '../pd-question-rental-info/pd-question-rental-info';\n\n/**\n * Generated class for the PdQuestionOtherIncomePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-other-income',\n templateUrl: 'pd-question-other-income.html',\n})\nexport class PdQuestionOtherIncomePage {\n\n FormId: any;\n custSeg: any;\n sourceIncome: any;\n otherIncomeDetails: any;\n users: any;\n pdDetails: any;\n pdid:any;\n incomeEarnedBy:any=[];\n amtInWords:any=[];\n \n frequencyData: any;\n otherIncomeForm: FormGroup;\n incomeDetails:FormArray;\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n applicants: any=[];\n isOrganisationOwner: any=[];\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider, public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants=this.pdDetails.applicat_details\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\n this.getFrequency();\n this.users = this.aws.getlocale();\n\n // this.qustCat.getLoadTemplate(this.pdid).subscribe(res=>\n // {\n // this.one = res;\n // if(this.one.dataStatus == true)\n // {\n // this.one = this.one.records.template_forms;\n // let one = this.one.records.template_forms.filter(val=>val.form_id == '17')\n // console.log(this.one,one);\n // }\n\n // });\n\n this.otherIncomeForm = this.fb.group({\n other_income: [null],\n otherincome_remarks:[null],\n income_details: this.fb.array([])\n });\n \n \n \n //this.incomeDetails=this.otherIncomeForm.get('income_details')as FormArray\n //this.incomeDetails.push(this.createDetail())\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\n this.getOtherIncome();\n }\n\n createDetail():FormGroup {\n return this.fb.group({\n source: [''],\n address:[''],\n others_source : [''],\n income_earned_by:[''],\n others_income_earned_by:[''],\n amount: [''],\n frequency: [''],\n others_frequency : ['']\n });\n}\naddIncomeDetails() {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.push(this.createDetail());\n}\ndeleteIncomeDetails(index) {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n if(this.incomeDetails.length==1){\n // this.otherIncomeForm.controls['income_details'].reset();\n this.otherIncomeForm.reset();\n this.amtInWords[index]=''\n }else{\n this.incomeDetails.removeAt(index);\n }\n}\ncheckotherDetails(val)\n{\n if(val==\"Yes\")\n {\n this.addIncomeDetails();\n }\n if(val==\"No\"){\n //let length=this.otherIncomeForm.income_details.controls.length\n const control= this.otherIncomeForm.controls['income_details'];\n control.removeAt(0)\n // let len=control.length\n // for(let i=0;i{\n if(res['dataStatus']==true)\n {\n this.incomeEarnedBy=res['record'];\n }\n })\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus==true){\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\n console.log(this.existCompanyList)\n }\n let modifyCompanyList:any=[]\n if(this.existCompanyList.length>0){\n modifyCompanyList=this.existCompanyList.map(element=>{\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\n \n }\n let modifyApplicantList:any=[]\n if(this.applicants.length>0){\n modifyApplicantList=this.applicants.map(element=>{\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n })\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\n })\n\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\n }\n });\n this.qustCat.getcommondrop('SOURCEOFOTHERINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.sourceIncome = res['records'];\n }\n });\n \n \n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\n\ngetOtherOrganisationOwner(value,i) {\n //console.log('value',value,'I',i);\nlet Ctrls = this.otherIncomeForm.controls['income_details'];\n console.log('ParCtrls',Ctrls);\nlet ChdCtrls:any = Ctrls.controls[i];\n // console.log('ChdCtrls',ChdCtrls);\n // return;\n\n\nlet Avaliablity = 1;\nconsole.log('val',value);\nif(value.length>0){\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n}\nif(Avaliablity == 0){\n// console.log('if Avaliablity',Avaliablity);\nconsole.log(\"chld\",ChdCtrls)\n ChdCtrls.controls.others_income_earned_by.setValidators([Validators.required]);\n this.isOrganisationOwner[i] = true;\n}else if(Avaliablity == 1){\n// console.log('else Avaliablity',Avaliablity);\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n ChdCtrls.controls.others_income_earned_by.setValue('');\n ChdCtrls.controls.others_income_earned_by.clearValidators();\n this.isOrganisationOwner[i] = false;\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n}\n \nChdCtrls.controls.others_income_earned_by.updateValueAndValidity(); \n}\ninWords(val,i){\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n}\n\nToview(){\n alert('Rental Income Details - Is inprogress');\n \n // here Hardcoded;\n // let RIFormDtls = {'form_id':17,'form_name':'Rental Verification'};\n // this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':RIFormDtls,'pdDetails':this.pdDetails});\n}\nsubmitOtherIncome(answerData)\n{\n \n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n this.qustCat.saveForm(records).subscribe(data => {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }, error => {\n \n })\n}\n\ngetOtherIncome()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n this.otherIncomeDetails = res; \n if(this.otherIncomeDetails.dataStatus == true)\n {\n this.otherIncomeDetails = this.otherIncomeDetails.records;\n if(this.otherIncomeDetails.other_income=='Yes'){\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n return res['records'].income_details[key];\n\n });\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n \n \n \n \n if(incomeArray.length==0)\n {\n // this.incomeDetails.push(this.createDetail());\n }else\n {\n incomeArray.forEach((datas,index)=>\n {\n \n this.incomeDetails.push(this.createDetail());\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\n this.getOtherOrganisationOwner(datas.income_earned_by,index)\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n \n }else\n {\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n }\n }\n else{\n // this.incomeDetails.push(this.createDetail())\n }\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","import { Component, OnInit } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionPersonalInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-personal-info',\n templateUrl: 'pd-question-personal-info.html',\n})\nexport class PdQuestionPersonalInfoPage implements OnInit{\n\n questionDetails: any;\n pdDetails: any;\n users: any;\n _personalForm: FormGroup;\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\n relationShipList:any=[];\n \n form_id:number;\n \n\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\n \n public mainApplicantDetails :any=[];\n public coApplicantDetails :any=[];\n \n errorMessage:any;\n //coItem:any;\n //mainItem:any;\n\n repeat:number=3;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n \n \n // this.getRelationMaster();\n \n \n \n }\n ngOnInit() {\n \n this.loadPDDetails();\n this.getRelationMaster();\n this.mainApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 1);\n this.coApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 0);\n }\n\n // load form pd details\n loadPDDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\n \n this.qustCat.retiverForm(records).subscribe(\n data => {\n if (data['status'] == 200) {\n this.loadFormWithIDData(data['records']);\n \n }\n else{\n let defaultMainApp=[];\n let defaultCoApp=[];\n // generate default main applicant form details\n if(this.mainApplicantDetails.length>0){ \n for(let j=0;j this.errorMessage = error);\n}\n\nloadDataStatus: boolean = false;\n\nloadFormWithIDData(data) {\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\n return data.main_applicant_details[key];\n});\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\n return data.co_applicant_details[key];\n});\n\n // main applicant\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n relation_ans:new FormControl(item.relation_ans, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark: [data.personal_info_form_remark]\n });\n this.loadDataStatus = true;\n}\n\n loadFormData(mainApp,coApp){\n // main applicant\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n \n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.coApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.coApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\n relation_id:new FormControl(5),\n relation_ans:new FormControl(null, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark:null\n });\nthis.loadDataStatus = true;\n }\n\n //get pd main applicant array values \n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\n\n // get pd co applicant array values\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\n\n // get relation master details\n getRelationMaster(){\n let relation =\"RELATIONSHIPS\";\n this.qustCat.getcommondrop(relation).subscribe(\n data => {\n if (data['status'] == 200) {\n this.relationShipList=data['records'];\n \n }\n}, error => this.errorMessage = error);\n}\n\n// submit forms details\nsubmitPersonalForm(formData:any) {\n if(this._personalForm.valid){\n let main_applicantDetails:any=[];\n let co_applicantDetails:any=[];\n\n formData.mainItem.forEach((element,key) => {\n if(key==0){\n main_applicantDetails.push({\n \"name_ans\":element.name_ans,\n \"age_ans\":element.age_ans,\n \"entity_ans\":element.entity_ans,\n \"qualification_ans\":element.qualification_ans,\n \"earning_ans\":element.earning_ans, \n })\n }\n \n });\n formData.coItem.forEach((Coelement,Cokey) => {\n co_applicantDetails.push({\n\n \"name_ans\":Coelement.name_ans,\n \"age_ans\":Coelement.age_ans,\n \"qualification_ans\":Coelement.qualification_ans,\n \"entity_ans\":Coelement.entity_ans,\n \"earning_ans\":Coelement.earning_ans, \n \"relation_ans\":Coelement.relation_ans, \n })\n \n });\n\n let save_details:any={\n \"pdid\" : this.pdDetails.pd_id,\n \"formid\" : '341',\n \"fk_createdby\":this.users,\n \"main_applicant_details\":main_applicantDetails,\n \"co_applicant_details\":co_applicantDetails,\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\n };\n this.qustCat.saveForm(save_details).subscribe(result => {\n if (result['dataStatus']==true) {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n // this.notifier.notify('success', 'Success.');\n }\n else {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n }\n }, error => {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n });\n }\n}\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionRentalInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-rental-info',\n templateUrl: 'pd-question-rental-info.html',\n})\nexport class PdQuestionRentalInfoPage {\n\n users: any;\n pdDetails: any;\n FormId: any;\n rentalForms:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.rentalForms = this.fb.group(\n {\n person_met:[null,Validators.compose([Validators.required])],\n property_own:[null,Validators.compose([Validators.required])],\n nature_property:[null,Validators.compose([Validators.required])],\n nature_others:[null],\n rental_home:this.fb.array([])\n })\n this.getRentalDetails();\n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\n }\n\n createrentalHome()\n {\n return this.fb.group(\n {\n complete_add:[null,Validators.compose([Validators.required])],\n area_of_property:[null,Validators.compose([Validators.required])],\n structure_property:[null,Validators.compose([Validators.required])],\n total_room:[null,Validators.compose([Validators.required])],\n is_rent:[null,Validators.compose([Validators.required])],\n date_agreement:[null,Validators.compose([Validators.required])],\n date_validity:[null,Validators.compose([Validators.required])],\n rent_agreement:[null,Validators.compose([Validators.required])],\n actual_rent:[null,Validators.compose([Validators.required])],\n photo_areegment:[null,Validators.compose([Validators.required])],\n property_photographs:[null],\n bank:[null,Validators.compose([Validators.required])],\n cash:[null,Validators.compose([Validators.required])],\n rent_each_floor:[null,Validators.compose([Validators.required])],\n total_rent:[null,Validators.compose([Validators.required])],\n related_doc_owner:[null,Validators.compose([Validators.required])],\n details_tenants:this.fb.array([]),\n third_party_check:[null,Validators.compose([Validators.required])],\n })\n }\n\n createTenantsDetails()\n {\n return this.fb.group(\n {\n name:[null,Validators.compose([Validators.required])],\n mobile_no:[null,Validators.compose([Validators.required])],\n tenants_seen:[null,Validators.compose([Validators.required])],\n tenants_con_owner:[null,Validators.compose([Validators.required])],\n rent_paid:[null,Validators.compose([Validators.required])],\n staying_since:[null,Validators.compose([Validators.required])],\n \n });\n }\n\n addrentalHome()\n {\n const control = this.rentalForms.get('rental_home') as FormArray;\n control.push(this.createrentalHome());\n this.addTenantsDetails(0);\n }\n\n addTenantsDetails(i)\n {\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\n \n // control.controls.splice(0);\n control.push(this.createTenantsDetails());\n\n }\n\n deleteTenantsDetails(rentIndex,TenantsIndex)\n {\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\n \n control.removeAt(TenantsIndex);\n }\n\n deleterentalHome(i)\n {\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\n if(control.length==1)\n {\n this.rentalForms.controls['rental_home'].reset();\n }else\n {\n control.removeAt(i);\n }\n }\n saveRentalDetails(answerData)\n {\n let records:any={}\n \n \n// if(this.rentalForms.valid){\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.person_met = answerData.person_met;\n records.property_own = answerData.property_own;\n records.nature_property = answerData.nature_property;\n if(answerData.nature_property=='others')\n {\n records.nature_others = answerData.nature_others\n }\n records.rental_home = answerData.rental_home;\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\n\n this.qustCat.saveForm(records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n // }else\n // {\n // this.toast.pdTriggerappmessage('Enter All Field');\n // }\n }\n\n getRentalDetails()\n {\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let rentalDetails = res['records'];\n var rentalData = Object.keys(res['records'].rental_home\n ).map(function(key) {\n return res['records'].rental_home\n [key];\n\n });\n var tanantsData = [];\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\n var tanantscontrol; \n rentalData.forEach((val,index)=>\n {\n \n // this.addrentalHome();\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\n // {\n \n \n // return val.details_tenants[key];\n // }));\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\n {\n \n \n return val.details_tenants[key];\n });\n control.push(this.createrentalHome()); \n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \n \n rentalData[index].details_tenants.forEach((val,key)=>\n {\n //rentalData[index].details_tenants = val;\n \n // rentalData[index].details_tenants = [key];\n tanantscontrol.push(this.createTenantsDetails());\n });\n \n // control[index].details_tenants =tanantscontrol; \n });\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\n if(rentalDetails.nature_property=='others'){\n this.rentalForms.controls['nature_others'].\n setValue(rentalDetails.nature_others);\n }\n \n this.rentalForms.controls['rental_home'].setValue(rentalData); \n }else\n {\n this.addrentalHome();\n // this.addTenantsDetails(0);\n }\n })\n }\n createTenantsDetailswithData(index,data)\n {\n return this.fb.group(\n {\n name:[data.name],\n mobile_no:[data.mobile_no],\n tenants_seen:[data.tenants_seen],\n tenants_con_owner:[data.tenants_con_owner],\n rent_paid:[data.rent_paid],\n staying_since:[data.staying_since]\n });\n }\n\n validateAllFormFields(formGroup: any) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n \n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup) { \n this.validateAllFormFields(control);\n } else if (control instanceof FormArray) { \n this.validateAllFormFields(control);\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\n\n/**\n * Generated class for the PdQuestionAssessedDashPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-dash',\n templateUrl: 'pd-question-assessed-dash.html',\n})\nexport class PdQuestionAssessedDashPage {\n\n businessIncome: boolean;\n grossAccess: boolean;\n finalAccess: boolean;\n finalExpense: any;\n finalIncome: any;\n finalData: any;\n houseExpenseData: boolean;\n businessData: boolean;\n salesData: boolean;\n purchaseData: boolean;\n grossprofit: any;\n assessedProcess: boolean;\n users: any;\n FormId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n calc_type_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n mode:[null,Validators.compose([Validators.required])],\n margin:[null],\n fk_createdby:[this.users],\n fk_updatedby:[null],\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\n }\n ionViewCanEnter()\n {\n this.getassessedIncome(); \n }\n getViewPage(pageId)\n {\n\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\n }\n\n saveAssessedForm(answerData)\n {\n \n if(this.assessedForm.valid)\n {\n \n \n \n let records = {'records':this.assessedForm.value};\n \n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.getassessedIncome();\n }else\n {\n\n }\n })\n \n }\n }\n\n getassessedIncome()\n {\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.assessedProcess = true;\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\n if(res['records'].purchase_details.length !=0)\n {\n this.purchaseData = true;\n }\n if(res['records'].sales_items_by_monthwise.length !=0 || res['records'].sales_declared_by_customer.length !=0 || res['records'].sales_calculated_by_itemwise.length !=0)\n {\n this.salesData = true;\n }\n if(res['records'].business_expenses.length !=0)\n {\n this.businessData = true;\n }\n if(res['records'].house_hold_expenses.length !=0)\n {\n this.houseExpenseData = true;\n }\n if(res['records'].othre_business_income.length !=0)\n {\n this.businessIncome = true;\n }\n \n if(res['records'].final_data.length !=0){\n this.finalAccess = true;\n this.finalData = res['records'].final_data[0]; \n this.finalIncome = this.finalData.income;\n this.finalExpense = this.finalData.expense; \n }\n \n if(this.grossprofit !==undefined)\n {\n this.grossAccess = true;\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\n }\n \n }else\n {\n this.assessedProcess = false;\n }\n });\n }\n\n\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { FormatWidth } from '@angular/common';\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\n\n\n/**\n * Generated class for the PdQuestionAssessedInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-info',\n templateUrl: 'pd-question-assessed-info.html',\n})\nexport class PdQuestionAssessedInfoPage {\n\n busissnessIncome: any;\n mode: any;\n grossprofitCalc: any;\n houseHold_details: any;\n grandHouseExpenseTotal: any;\n houseannual: any=[];\n businessExpenses_details: any;\n grandExpenseTotal: any;\n expenseannual: any=[];\n businessExpenses: any;\n purchse_details: any;\n sales_item_month_value: any=[];\n sales_wise_month_headers:any = [];\n sales_month_wise_data:any = [];\n sales_item_value: any;\n grandpurchaseTotal: any=null;\n UOM: any;\n m_freqOfPurchase: any;\n users: any;\n pageId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n FormName:any;\n annual:any = [];\n rawMaterialForm:FormGroup;\n BuissnessForm:FormGroup;\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.pageId = this.navParams.get('pageId');\n\n switch(this.pageId)\n {\n case 1:\n this.FormName = \"Sales Page\";\n break;\n case 2:\n this.FormName = \"Purchase Page\";\n break;\n case 3:\n this.FormName = \"Business Expense Page\";\n break;\n case 4:\n this.FormName = \"House Hold Page\";\n break;\n default:\n this.FormName = \"Question Page\";\n break;\n }\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n sdc_id:[null],\n sales_declared_by_customer:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n margin_per:[null],\n margin_value:[null],\n isactive:[1],\n fk_createdby:[this.users],\n \n });\n \n \n \n \n // this.getdropList();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\n }\n\n\n \n \n\n ionViewDidEnter() {\n \n }\n ionViewCanEnter()\n {\n this.getAssessedDetails(); \n }\n\n\n \n \n \n \n\n getMarginCalc()\n {\n let margin_per = this.assessedForm.controls['margin_per'].value;\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\n if(margin_per !=null && sales_declared_by_customer !=null)\n {\n let value = sales_declared_by_customer * (margin_per/100);\n this.assessedForm.controls['margin_value'].setValue(value);\n }\n }\n\n saveData(answerData)\n {\n let records:any = {};\n\n records ={'records':answerData};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\n {\n // console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.getAssessedDetails();\n }\n })\n }\n \n getAssessedDetails()\n {\n this.sales_item_month_value = [];\n this.sales_month_wise_data = [];\n this.sales_item_value= [];\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let sales_value = res['records'].sales_declared_by_customer[0];\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\n this.purchse_details = res['records'].purchase_details; \n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\n this.mode = this.grossprofitCalc.mode;\n console.log(this.grossprofitCalc);\n var result = this.purchse_details.reduce(function(p, c) {\n \n return p;\n },[]);\n console.log(result);\n\n\n this.businessExpenses_details = res['records'].business_expenses;\n this.houseHold_details = res['records'].house_hold_expenses;\n this.busissnessIncome = res['records'].othre_business_income;\n // console.log(this.sales_item_month_value);\n // this.getpurchaseDetails(this.purchse_details);\n \n \n \n\n \n \n \n \n \n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\n let listItems: any=[];\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\n })\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\n \n let convertYear : number = 12 / listItems.length;\n let footerMessage: any=[];\n footerMessage.push({\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\n month_value:calculateAllItemsTotal,\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\n year_value: calculateAllItemsTotal * convertYear,\n })\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\n });\n\n\n console.log(this.sales_month_wise_data);\n if(sales_value!==undefined){\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\n \n }\n \n }\n })\n\n }\n\n /**\n * Add Assessed Forms\n */\n\n AddAssessedForm()\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \n \n }\n\n editDetails(salesCal)\n {\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \n \n }\n editAllDetails(AllsalesData)\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \n }\n\n /**Assessed Daily Form Details */\n\n AddAssessedDailyForm()\n {\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\n }\n editAssessedDailyForm(simId)\n {\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\n console.log(dailySaleDetails);\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\n \n }\n\n /**purchase Details Forms */\n AddPurchaseForm()\n {\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \n \n }\n\n editPurchaseDetails(purchaseCal)\n {\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \n \n }\n editPurchaseAllDetails(AllpurchaseData)\n {\n console.log('260',AllpurchaseData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \n }\n \n\n /**Business Expense */\n AddExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editExpenseDetails(expenseCal)\n {\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editExpenseAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \n }\n \n\n /** Household Expenses Details */\n AddHouseExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editHouseExpenseDetails(expenseCal)\n {\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editHouseExpenseAllDetails(AllExpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \n }\n\n /**\n * Income Details\n */\n AddIncomeForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \n \n }\n\n editIncomeDetails(expenseCal)\n {\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \n \n }\n editIncomeAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \n }\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedSalesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-sales',\n templateUrl: 'pd-question-assessed-sales.html',\n})\nexport class PdQuestionAssessedSalesPage {\n\n grossprofitCalc: any;\n salesData: any =[];\n annual: any=[];\n grandTotal: any;\n UOM: any;\n m_freqOfPurchase: any;\n assessedForm: FormGroup;\n users: any;\n FormId: any;\n pdDetails: any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n \n salesCalItemwise:this.fb.array([]),\n });\n this.salesData = this.navParams.get('sales');\n if(this.salesData!=null)\n {\n this.getSalesItemData(this.salesData);\n }else\n {\n this.addSalesCal();\n }\n // this.addSalesCal();\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n }\n\n createSalesCal()\n {\n return this.fb.group(\n {\n sci_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n\n sales_item:[null,Validators.compose([Validators.required])],\n sales_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_sale_value:[null],\n margin_per:[null],\n margin_per_uom:[null],\n margin_final_value:[null],\n });\n }\n\n addSalesCal()\n {\n if(this.assessedForm.valid){\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n control.push(this.createSalesCal());\n }else\n {\n this.toast.pdTriggerappmessage('Enter the all fields');\n }\n }\n \n removeSalesCal(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n console.log(this.grandTotal);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n if(control.length==1)\n {\n control.removeAt(i);\n this.addSalesCal(); \n } else{\n control.removeAt(i);\n }\n }\n /**\n * frequency Type \n * 1.Weekly no need\n * 2.Daily 250\n * 3.Yearly \n * 4.Hourly no need\n * 5.Monthly 12\n * 6.none\n * 7.none\n * 8.none\n */\n salecalculat(index,details)\n {\n // console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let salesQty = details.value.sales_qty;\n let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,salesQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(salesQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (salesQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (salesQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (salesQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\n }\n \n \n \n \n console.log(this.annual);\n }\n\n getSalesCalc(details)\n {\n // console.log(details);\n let margin_per = details.value.margin_per;\n let margin_amount = details.value.margin_per_uom;\n let annual_sale_value = details.value.annual_sale_value;\n let sales_qty = details.value.sales_qty;\n // console.log(sales_qty,margin_amount);\n let value:any = '';\n if(margin_per !=null || margin_amount !=null){\n if(margin_per !=null)\n {\n value = +annual_sale_value * (+margin_per/100);\n }else\n {\n console.log('else');\n value = +sales_qty* +margin_amount;\n }\n console.log(value);\n details.controls['margin_final_value'].setValue(value);\n }\n }\n saveData(answerData)\n {\n let records = {'records':answerData.salesCalItemwise};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n })\n }\n \n getSalesItemData(salesData)\n {\n console.log(salesData);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n\n salesData.forEach((sale,index)=>{\n \n this.annual[index] = sale.annual_sale_value\n control.push(this.createSaleswithData(sale));\n })\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\n // console.log(control);\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }\n\n createSaleswithData(data)\n {\n return this.fb.group(\n {\n sci_id:[data.sci_id],\n fk_pd_id:[this.pdDetails.pd_id],\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_sale_value:[data.annual_sale_value],\n margin_per:[data.margin_per],\n margin_per_uom:[data.margin_per_uom],\n margin_final_value:[data.margin_final_value],\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionAssessedDailySalesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-daily-sales',\n templateUrl: 'pd-question-assessed-daily-sales.html',\n})\nexport class PdQuestionAssessedDailySalesPage {\n\n currentDate: string;\n grossprofitCalc: any;\n salesDaily: any;\n users: any;\n FormId: any;\n pdDetails: any;\n salesDailyForm: FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.salesDaily = this.navParams.get('salesDaily');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\n \n this.salesDailyForm = this.fb.group(\n {\n sales_product: this.fb.array([]),\n })\n if (this.salesDaily != null) {\n this.getDailySalesData(this.salesDaily);\n } else {\n this.adddailySalaesProduct();\n\n }\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\n }\n\n createdailysalesProduct() {\n return this.fb.group(\n {\n sim_id: [null],\n sales_item: [null, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n margin_per: [null],\n margin_value: [null],\n fk_createdby: [this.users],\n isactive: ['1'],\n });\n }\n createdailyChildSaleProduct() {\n return this.fb.group({\n simc_id: [null],\n fk_sim_id: [null],\n sales_date: [null, Validators.compose([Validators.required])],\n sales_value: [null, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n }\n temparr = [];\n tempdate = [];\n getSalesCalc(subchild,child,key) {\n \n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\n let totalitemmargin = child.value.margin_per;\n \n if (totalitemmargin != null && subchild.value.sales_value !=null) {\n let loopAccess = false;\n let loopindex = 0;\n if (this.tempdate.length != 0) {\n for (var i = 0; i < this.tempdate.length; i++) {\n\n if (this.tempdate[i].month == saledate) {\n loopAccess = true;\n loopindex = i;\n }\n }\n\n if (loopAccess) {\n\n \n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\n this.temparr.push(subchild.value.sales_value);\n loopAccess = false;\n loopindex = 0;\n \n } else {\n \n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\n }\n\n\n } else {\n \n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\n this.temparr.push(subchild.value.sales_value);\n }\n\n let totalMonth = 12 / this.tempdate.length;\n \n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\n \n // let value = tempgrandTotal * (totalitemmargin / 100);\n let value = tempgrandTotal*totalMonth ;\n \n let grandValue = value * (totalitemmargin / 100);\n child.controls['margin_value'].setValue(grandValue);\n \n }\n \n }\n adddailySalaesProduct() {\n this.tempdate = [];\n if (this.salesDailyForm.valid) {\n const control = this.salesDailyForm.get('sales_product') as FormArray;\n control.push(this.createdailysalesProduct());\n \n this.adddailyChildSaleProduct(control.length - 1);\n }\n }\n adddailyChildSaleProduct(index) {\n // if(this.salesDailyForm.valid){\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\n\n control.push(this.createdailyChildSaleProduct());\n // }\n }\n\n deletedailySalesProduct(index) {\n \n this.tempdate.slice(index,1);\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\n if (control.length == 1) {\n this.salesDailyForm.controls['sales_product'].reset();\n } else {\n control.removeAt(index);\n }\n }\n\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\n this.tempdate = [];\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\n if(control.length==1)\n {\n control.removeAt(saleChildIndex);\n this.adddailyChildSaleProduct(saleIndex); \n }else{\n control.removeAt(saleChildIndex);\n }\n }\n saveData(answerData) {\n if (this.salesDailyForm.valid) {\n let records = { 'records': answerData.sales_product };\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\n if (res['dataStatus'] == true) {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n });\n }\n\n\n }\n getDailySalesData(dailySalesData) {\n \n const control = this.salesDailyForm.get('sales_product') as FormArray;\n let salesChildControl;\n let salesChildControlarr = [];\n dailySalesData.forEach((val, index) => {\n\n control.push(this.dailySalesWithData(val));\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\n\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\n\n salesChildControlarr[index].forEach((vals, i) => {\n vals.forEach((item, key) => {\n let saleDate = new Date(item.sales_date);\n\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\n })\n\n\n\n });\n\n });\n }\n\n dailySalesWithData(data) {\n\n return this.fb.group(\n {\n sim_id: [data.sim_id],\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n fk_createdby: [this.users],\n isactive: ['1'],\n margin_per: [data.margin_per],\n margin_value: [data.margin_value],\n })\n }\n dailySalesChildWithData(data, fk_id) {\n\n\n return this.fb.group(\n {\n simc_id: [data.simc_id],\n fk_sim_id: [fk_id],\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\n\n/**\n * Generated class for the PdQuestionAssessedPurchasePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-purchase',\n templateUrl: 'pd-question-assessed-purchase.html',\n})\nexport class PdQuestionAssessedPurchasePage {\n purchaseDetails: any;\n users: any;\n pdDetails: any;\n businessExpenses: any;\n UOM: any;\n m_freqOfPurchase: any;\n annual: any = [];\n grandpurchaseTotal: any;\n rawMaterialForm:FormGroup;\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.purchaseDetails = this.navParams.get('purchase');\n this.users = this.aws.getlocale();\n this.rawMaterialForm = this.fb.group(\n {\n purchase:this.fb.array([]),\n });\n if(this.purchaseDetails!=null)\n {\n this.getpurchaseDetails(this.purchaseDetails);\n }else\n {\n this.addPurchaseDetails();\n }\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\n }\n\n\n createPurchaseDetails()\n {\n return this.fb.group(\n {\n purchase_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[null,Validators.compose([Validators.required])],\n purchase_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_purchase_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n }\n })\n }\n addPurchaseDetails()\n {\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.push(this.createPurchaseDetails());\n }\n\n deletePurchaseDetails(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.removeAt(i); \n }\n\n\n salecalculat(index,details)\n {\n console.log(this.grandpurchaseTotal);\n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let purchaseQty = details.value.purchase_qty;\n let UOM = details.value.rate_per_unit;\n console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(purchaseQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (purchaseQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (purchaseQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (purchaseQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\n }\n }\n savepurchaseData(answerData)\n {\n if(this.rawMaterialForm.valid){\n let records = {'records':answerData.purchase};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.getAssessedDetails();\n \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getpurchaseDetails(purchaseDetails)\n {\n console.log('function in',purchaseDetails);\n \n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \n console.log(control); \n if(purchaseDetails.length ==0)\n {\n console.log('if');\n this.addPurchaseDetails();\n }else{\n console.log('else');\n purchaseDetails.forEach((val,index)=>\n {\n // console.log(index);\n control.push(this.createPurchasewithData(val));\n this.annual[index] = val.annual_purchase_value;\n });\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\n }\n // console.log(control); \n \n }\n\n createPurchasewithData(data)\n {\n return this.fb.group(\n {\n purchase_id:[data.purchase_id],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-business',\n templateUrl: 'pd-question-assessed-business.html',\n})\nexport class PdQuestionAssessedBusinessPage {\n m_freqOfPurchase: any;\n expenseDetails: any;\n grandpurchaseTotal(arg0: any): any {\n throw new Error(\"Method not implemented.\");\n }\n grandExpenseTotal: any=[];\n expenseannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessExpenses:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busExpense:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\n }\n\n\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_expense_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[null,Validators.compose([Validators.required])],\n expense_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_expenses_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.expenseannual.splice(i,1); \n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.removeAt(i);\n }\n\n busExpensecalculat(index,details)\n {\n \n \n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n let UOM = details.value.rate_per_unit;\n \n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n \n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busExpense};\n \n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.expenseannual[index] = val.annual_expenses_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_expense_id:[data.pd_expense_id],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\n\n/**\n * Generated class for the PdQuestionAssessedHouseholdPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-household',\n templateUrl: 'pd-question-assessed-household.html',\n})\nexport class PdQuestionAssessedHouseholdPage {\n\n m_freqOfPurchase: any;\n expenseDetails: any;\n houseExpenseDetails: any;\n users: any;\n pdDetails: any;\n houseannual: any =[];\n grandHouseExpenseTotal: any=[];\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.houseExpenseDetails = this.navParams.get('FormId');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.houseHoldForm = this.fb.group(\n {\n houseExpense:this.fb.array([]),\n });\n if(this.expenseDetails !=null)\n {\n this.getHouseholdExpense(this.expenseDetails);\n }else\n {\n this.addHouseExpenses();\n }\n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n createHouseExpense()\n {\n return this.fb.group(\n {\n household_expense_id:[null],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [null,Validators.compose([Validators.required])],\n\t\t expense_value: [null,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n\n addHouseExpenses()\n {\n \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n\n control.push(this.createHouseExpense());\n }\n\n deleteHouseExpense(i)\n {\n this.houseannual.splice(i,1); \n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n control.removeAt(i) \n }\n houseExpensecalculat(index,details)\n {\n \n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n // let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(details);\n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n console.log(this.grandHouseExpenseTotal); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n saveHouseExpenseData(answerData)\n {\n if(this.houseHoldForm.valid)\n {\n let records = {'records':answerData.houseExpense};\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n getHouseholdExpense(houseExpesneDetails)\n {\n if(houseExpesneDetails.length==0)\n {\n this.addHouseExpenses(); \n }else\n {\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \n houseExpesneDetails.forEach((val,index)=>\n {\n this.houseannual[index] = val.annual_expense_value;\n control.push(this.createHouseholdwithData(val));\n \n });\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createHouseholdwithData(data)\n {\n return this.fb.group(\n {\n household_expense_id:[data.household_expense_id],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-business-income',\n templateUrl: 'pd-question-assessed-business-income.html',\n})\nexport class PdQuestionAssessedBusinessIncomePage {\n m_freqOfPurchase: any = [];\n expenseDetails: any;\n \n grandIncomeTotal: any=[];\n incomeannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessIncome:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('income');\n \n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busIncome:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\n }\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_business_income_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[null,Validators.compose([Validators.required])],\n income_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_income_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[null],\n other_frequncy_item:[null],\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.incomeannual.splice(i,1); \n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.removeAt(i);\n }\n\n busIncomecalculate(index,details)\n {\n \n \n let frequencyId = details.value.fk_frequency_id;\n let incomeValue = details.value.income_value;\n // let UOM = details.value.rate_per_unit;\n \n let annual:any;\n if(incomeValue!=null && incomeValue !=null){\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \n if(frequencyId==1)\n {\n \n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==2)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==5)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==7)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==8)\n {\n annual = (incomeValue);\n this.incomeannual[index] = annual; \n details.controls['annual_income_value'].setValue(annual); \n\n }else\n {\n\n }\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n \n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busIncome};\n \n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.incomeannual[index] = val.annual_income_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_business_income_id:[data.pd_business_income_id],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\n income_value:[data.income_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[data.other_income_item],\n other_frequncy_item:[data.other_frequncy_item],\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionLenderRepresentativePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-lender-representative',\n templateUrl: 'pd-question-lender-representative.html',\n})\nexport class PdQuestionLenderRepresentativePage {\n\n users: any;\n FormId: any;\n pdDetails: any;\n representativeForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n this.users = this.aws.getlocale();\n this.representativeForm = this.fb.group({\n pdid:[this.pdDetails.pd_id],\n formid:[this.FormId.form_id],\n fk_createdby:[this.users],\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\n representative_remarks: ['', Validators.compose([Validators.required])],\n lender_representative_details: this.fb.array([]),\n });\n this.getLenderReDetails();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\n }\n \n createlenReDetails()\n {\n return this.fb.group({\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\n });\n }\n\n selectedLoanChanges(e): void {\n if (e.value == 'Yes') {\n const control = this.representativeForm.controls['lender_representative_details'];\n control.push(this.createlenReDetails());\n } else if (e.value == 'No') {\n const arr = this.representativeForm.controls.lender_representative_details;\n arr.removeAt(0);\n }\n }\n\n sumbitData(answerData)\n { \n if(this.representativeForm.valid)\n {\n let records = this.representativeForm.value;\n \n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n });\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getLenderReDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let lenderReDetails = res['records'];\n if(lenderReDetails.lender_representative_accompany=='Yes'){\n\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\n\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\n\n\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\n {\n return res['records'].lender_representative_details[key];\n });\n \n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \n lender_represent_details.forEach(val=>\n {\n control.push(this.createlenReDetails());\n })\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\n\n }else\n {\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\n\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\n }\n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component,ViewChild,ElementRef } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle, Content } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\nimport { DatePipe} from '@angular/common';\nimport {PdPipe} from './../../../pipes/pd/pd';\nimport { removeSummaryDuplicates } from '@angular/compiler';\nimport { DataSource } from '@angular/cdk/table';\n\n/**\n * Generated class for the PdQuestionGeneralInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-general-info',\n templateUrl: 'pd-question-general-info.html',\n providers:[PdPipe],\n})\nexport class PdQuestionGeneralInfoPage {\n pipe=new DatePipe('en-US');\n // person_name:any;\n qualification_name:any;\n individuals_order_id:any;\n is_new:any;\n pd_co_applicant_id:any;\n lengthv:any;\n qual_name:any;\n curr_qualification_name;\n curr_business_name;\n \n\n applicant_name: any;\n otherapp: any;\n fetch_related_details: any = [];\n checkApplicantExist: any;\n pd_applicants_details: any = [];\n companyRelationShipList: any;\n qualificationList:any;\n businessEntityTypeList:any;\n relationShipList: any;\n titleList:any;\n users: any;\n FormId: any;\n pdDetails: any;\n generalForm:FormGroup;\n list_value:FormArray;\n fulldata:any\n public buttonClick:boolean;\n public h_companies:boolean\n \n datav:any;\n individualsListBothCase:any;\n individualsList:any;\n companyList:any;\n i:number;\n data_all:any;\n maxDate:any;\n OldData:any=[];\n OldData_indi:any=[];\n updateIndex_indi:any;\n public addComp:boolean\n public addIndi:boolean\n updateIndex_comp: any;\n@ViewChild('remark') nameField: ElementRef;\n customer_segment_abbr: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\n this.maxDate = new Date();\n this.pd_applicants_details = []; \n this.pd_applicants_details.pop(); \n this.pdDetails = this.navParams.get('pdDetails');\n console.log(this.pdDetails)\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\n //this.maxDate=new Date(get_max_date)\n this.FormId = this.navParams.get('FormId');\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\n this.users = this.aws.getlocale();\n this.getdropdown();\n \n this.generalForm = this.fb.group({\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n applicant_list: this.fb.array([]),\n applicant_relation: this.fb.array([]),\n list_value:this.fb.array([]),\n company_value:this.fb.array([]),\n individuals:this.fb.array([]),\n companies:this.fb.array([]),\n persons_with_relationships:this.fb.array([]),\n company_with_relationships:this.fb.array([]),\n rental_income_rcv_in_years:[''],\n rental_income_rcv_in_month:[''],\n \n general_remark:''\n });\n \n //this.initIndividuals();\n this.pd_applicants_details = this.pdDetails.applicat_details;\n \n \n \n // this.getcoapplicantDetails();\n this.buttonClick=false;\n this.h_companies=false;\n this.addIndi=false\n this.addComp=false\n // this.initCompanies()\n this.datav=[{\n name:\"fairoj\",\n id:1\n },\n {\n name:\"ff\",\n id:2\n }\n \n ]\n //this.fulldata=this.generalForm.value\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['list_value'];\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\n this.fulldata=control.value;\n //control.controls.length\n //control.push()\n });\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['company_value'];\n this.companyList=control.value.filter(element=>element.company_name )\n })\n this.i=0;\n \n }\n\n ionViewDidLoad() {\n // this.pd_applicants_details.pop();\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\n this.getGeneralForm()\n \n }\n ionViewLoaded() {\n\n // setTimeout(() => {\n // this.generalForm.controls['general_remark']['controls'].setFocus();\n // },150);\n }\n\n initlistv(data,purpose) :void\n {\n const control=this.generalForm.controls['list_value'];\n console.log(\"control\",control.length)\n if(purpose=='ins')\n {\n for(let val of data)\n {\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\n let formData:FormGroup=this.fb.group({\n applicant_title_name:[val.applicant_title_name],\n applicant_name:[val.applicant_name],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification],\n course_name:[val.course_name],\n \n individuals_order_id:[control.length+1],\n is_new:true,\n is_active:true,\n pd_co_applicant_id:[control.length+1], \n \n qualification_name:[c_qualification_name]\n \n\n });\n control.push(formData);\n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n }\n }\n if(purpose=='get'){\n for(let val of data)\n {\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\n let formData:FormGroup=this.fb.group({\n applicant_title_name:[val.applicant_title_name],\n applicant_name:[val.applicant_name],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification],\n course_name:[val.course_name],\n \n individuals_order_id:[val.individuals_order_id],\n is_new:[val.is_new],\n is_active:[val.is_active],\n pd_co_applicant_id:[val.pd_co_applicant_id] , \n \n \n \n \n\n qualification_name:[c_qualification_name]\n \n\n });\n control.push(formData);\n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n }\n }\n}\n\n qualificationById(data):string{\n for(let i of this.qualificationList){\n if(data==i.qualification_id){\n this.qual_name=i.qualification_name\n return this.qual_name\n }\n }\n \n }\n initCompanyValue(data,purpose):void{\n const control=this.generalForm.controls['company_value'];\n if(purpose=='ins')\n {\n for(let val of data)\n {\n var c_business_name=''\n if(val.business_entity_type!=1){\n c_business_name=this.businessEntityById(val.business_entity_type)\n }\n if(val.business_entity_type==1){\n c_business_name=val.business_entity_type_other\n }\n \n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n // company_order_id:[this.lengthv.companies.length+1],\n company_order_id:[control.length+1],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other],\n is_new:true,\n is_active:true,\n company_messrs_name:['M/s'],\n \n business_years:[val.business_years],\n business_month:[val.business_month],\n business_date_object:[val.business_date_object],\n\n business_entity_type_name:[c_business_name]\n });\n control.push(formData);\n this.h_companies=false;\n }\n }\n if(purpose=='get')\n {\n for(let val of data)\n {\n \n var c_business_name=''\n if(val.business_entity_type!=1){\n c_business_name=this.businessEntityById(val.business_entity_type)\n }\n if(val.business_entity_type==1){\n c_business_name=val.business_entity_type_other\n }\n\n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n company_order_id:[val.company_order_id],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other],\n is_new:[val.is_new],\n is_active:[val.is_active],\n company_messrs_name:[val.company_messrs_name],\n \n business_years:[val.business_years],\n business_month:[val.business_month],\n business_date_object:[val.business_date_object],\n\n business_entity_type_name:[c_business_name]\n });\n control.push(formData);\n this.h_companies=false;\n }\n }\n }\n businessEntityById(val):string{\n for(let v of this.businessEntityTypeList){\n if(val==v.business_entity_type_id){\n var name=v.business_entity_type_name\n return name\n }\n }\n \n }\n \n\n initIndividuals(data):void{\n \n const control=this.generalForm.controls['individuals'];\n control.controls=[]\n if(data==null){\n let formData : FormGroup=this.fb.group({\n applicant_name:['',Validators.required],\n is_person_met:false,\n is_applicant:false,\n age:['',Validators.required],\n qualification:['',Validators.required],\n course_name:[''],\n applicant_title_name:['']\n\n });\n control.push(formData);\n }\n else{\n let formData : FormGroup=this.fb.group({\n \n \n applicant_name:[data.applicant_name,Validators.required],\n is_person_met:data.is_person_met,\n is_applicant:data.is_applicant,\n age:[data.age,Validators.required],\n qualification:[data.qualification,Validators.required],\n course_name:[data.course_name],\n applicant_title_name:[data.applicant_title_name]\n \n \n });\n this.buttonClick=!this.buttonClick;\n control.push(formData);\n\n }\n \n \n \n \n }\n initCompanies(data):void{\n const control=this.generalForm.controls['companies'];\n control.controls=[]\n if(data == null){\n let formData:FormGroup=this.fb.group({\n company_name:[''],\n is_company_applicant:false,\n business_entity_type:[''],\n business_entity_type_other:[''],\n business_years:[''],\n business_month:[''],\n business_date_object:['']\n });\n control.controls=[]\n control.push(formData)\n \n }\n else{\n let formData:FormGroup=this.fb.group({\n company_name:[data.company_name],\n is_company_applicant:data.is_company_applicant,\n business_entity_type:[data.business_entity_type],\n business_entity_type_other:[data.business_entity_type_other],\n business_years:[data.business_years],\n business_month:[data.business_month],\n business_date_object:[data.business_date_object]\n })\n this.h_companies=!this.h_companies\n \n control.push(formData)\n }\n }\n initPersonRelationship(value):void{\n const control=this.generalForm.controls['persons_with_relationships'];\n if(value=='')\n {\n \n let formData:FormGroup=this.fb.group({\n pd_co_applicant_id:[''],\n applicant_name:[''],\n relationship:[''],\n relation_to:[''],\n individuals_order_id:[control.length+1],\n \n });\n \n control.push(formData);\n }\n else{\n for(let val of value)\n {\n let formData:FormGroup=this.fb.group({\n pd_co_applicant_id:[val.pd_co_applicant_id],\n applicant_name:[val.applicant_name],\n relationship:[val.relationship],\n relation_to:[val.relation_to],\n });\n \n control.push(formData);\n }\n }\n \n }\n initCompanyRelationShip(value):void{\n if(value=='')\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[''],\n company_relationship:[''],\n relation_to_company:[''],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n else{\n for(let val of value){\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n company_relationship:[val.company_relationship],\n relation_to_company:[val.relation_to_company],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n }\n \n }\n\n \n \n add():void{\n \n this.initIndividuals(null);\n }\ndata:any;\ncart=[];\ndatajson:any;\ndataobj:any;\n\n addRec(v){\n if(v=='1')\n {\n this.addIndi=true;\n this.buttonClick=!this.buttonClick;\n this.initIndividuals(null);\n }\n if(v=='2')\n {\n console.log(\"companies\",this.h_companies);\n this.addComp=true\n // this.h_companies=true;\n this.h_companies=!this.h_companies;\n console.log(\"companies\",this.h_companies);\n this.initCompanies(null);\n }\n }\n editIndividuals(index){\n let values=this.generalForm.controls.list_value.value[index]\n console.log(values)\n this.addIndi=false\n this.updateIndex_indi=index;\n this.initIndividuals(values);\n // this.nameField.nativeElement.focus();\n\n }\n editCompanies(index){\n console.log(\"index\",index);\n let values=this.generalForm.controls.company_value.value[index]\n console.log(values)\n this.updateIndex_comp=index\n this.addComp=false\n //this.\n this.initCompanies(values)\n }\n update(v){\n console.log(\"index\",v)\n if(v=='1'){\n if(!this.generalForm.controls['individuals'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory fields Marked with '*'\");\n }\n else{\n let val=this.generalForm.controls.individuals.value[0]\n let old=this.generalForm.controls.list_value.value[this.updateIndex_indi]\n // const control=this.generalForm.controls.list_value.at(this.updateIndex_indi)\n // const control=this.list_value\n var c_qualification_name=this.qualificationById(val.qualification) \n const control=this.generalForm.controls['list_value']['controls'][this.updateIndex_indi]\n control.patchValue({\n \n applicant_title_name:val.applicant_title_name,\n applicant_name:val.applicant_name,\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:val.age,\n qualification:val.qualification,\n course_name:val.course_name,\n \n individuals_order_id:old.individuals_order_id,\n is_new:old.is_new,\n is_active:old.is_active,\n pd_co_applicant_id:old.pd_co_applicant_id, \n \n qualification_name:c_qualification_name\n });\n this.buttonClick=false;\n console.log(this.generalForm.controls.list_value['controls'])\n // this.generalForm.controls.list_value.value.scrollToTop();\n // this.generalForm.controls['list_value']._scrollContent;\n //this.myinput._scrollContent();\n \n \n console.log(\"values\",val)\n console.log(\"old\",old);\n console.log(control);\n \n }\n }\n else if(v=='2'){\n if(!this.generalForm.controls['companies'].valid)\n {\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory Fields Marked with '*\")\n }\n else{\n let val=this.generalForm.controls.companies.value[0]\n var c_business_name=this.businessEntityById(val.business_entity_type)\n const control=this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]\n control.patchValue({\n company_name:val.company_name,\n // company_order_id:[control.length+1],\n is_company_applicant:val.is_company_applicant,\n business_entity_type:val.business_entity_type,\n business_entity_type_other:val.business_entity_type_other,\n // is_new:true,\n // is_active:true,\n //company_messrs_name:['M/s'],\n \n business_years:val.business_years,\n business_month:val.business_month,\n business_date_object:val.business_date_object,\n\n business_entity_type_name:c_business_name\n })\n this.h_companies=false\n console.log(this.generalForm.controls['company_value']['controls'][this.updateIndex_comp])\n }\n }\n \n\n }\n \n delete(v):void{\n // const control=this.generalForm.controls['individuals'];\n //control.removeAt(i);\n //this.data=this.generalForm.value.individuals;\n this.cart.push(this.generalForm.value.individuals);\n this.data=Object.assign(this.cart);\n // this.data=Object.assign(this.generalForm.value.individuals)\n this.datajson=JSON.stringify(this.cart)\n if(v=='1')\n {\n if(!this.generalForm.controls['individuals'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\n }\n else{\n this.initlistv(this.generalForm.value.individuals,'ins')\n this.initPersonRelationship('');\n }\n }\n else if(v=='2')\n {\n if(!this.generalForm.controls['companies'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\n }\n else{\n this.initCompanyValue(this.generalForm.value.companies,'ins')\n }\n }\n \n }\n removeList(i,index){\n if(index=='1')\n {\n //For List List_value(Individuals)\n const control=this.generalForm.controls['list_value'];\n control.value[i].is_active=false;\n this.OldData_indi.push(control.value[i])\n control.removeAt(i);\n //For Person RelationShip auto Delete\n const control1=this.generalForm.controls['persons_with_relationships'];\n control1.removeAt(i);\n \n }\n if(index==2){\n //For Company_values(Companies)\n const control=this.generalForm.controls['company_value']\n control.value[i].is_active=false\n var vla=control.value[i]\n this.OldData.push(vla);\n control.removeAt(i);\n \n\n // let control: any = this.generalForm.get('companies') as FormArray;\n //this.generalForm.controls['companies']\n //control.controls['is_active'].setValue(false);\n //control.controls[i].clearValidators();\n //control.controls[i].updateValueAndValidity();\n //control.clear\n // control.controls[i].is_active.setValue(false);\n /* control.controls[i].controls.company_name.clearValidators();\n control.controls[i].controls.company_name.updateValueAndValidity();\n control.controls[i].controls.business_years.clearValidators();\n control.controls[i].controls.business_years.updateValueAndValidity();\n control.controls[i].controls.business_entity_type.clearValidators();\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\n }\n if(index==\"companyrel\")\n {\n //For company_relationship\n const control=this.generalForm.controls['company_with_relationships'];\n control.removeAt(i);\n }\n }\n \n \n getdropdown()\n {\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\n if(res['dataStatus']==true)\n {\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\n }\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\n });\n\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\n }\n });\n \n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\n if(res['dataStatus']==true){\n this.titleList=res['records'].filter(com=>com.isactive==1);\n }\n });\n \n }\n\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\n {\n let applicantControl = this.generalForm.controls['applicant_list'];\n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n if(checkApplicantExist.length > 0)\n {\n checkApplicantExist.forEach(val => {\n applicantControl.push(this.createApplicant(val));\n });\n \n }\n if(exist_applicant_relation.length > 0){\n exist_applicant_relation.forEach(val => {\n relationControl.push(this.createApplicantRelation(val));\n //push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }\n }\n\n createApplicant(elementValue:any){\n return this.fb.group({\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name],\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\n });\n }\n\n coapplicantChange(event,index,item)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n if(item.exist_status.value)\n {\n if(item.pd_co_applicant_id.value==0){\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\n modal.onDidDismiss(data => {\n if(data!=1){\n data.otherName.forEach(val=>\n {\n\n let applicant_details: any= {'pd_co_applicant_id':val.pd_co_applicant_id,'applicant_name':val.applicant_name,'applicant_relation_to':'','relation':'','company_name':'','company_relation':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n \n }\n });\n modal.present();\n }else\n {\n \n let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(item.applicant_name.value);\n }\n }\n else\n {\n let relationControl = this.generalForm.controls['applicant_relation'];\n let pos_id = relationControl.value.map(e=> \n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\n if(item.pd_co_applicant_id.value !=0){\n relationControl.removeAt(pos_id);\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\n this.fetch_related_details.splice(pos_name, 1); \n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n }\n // remove related to details\n \n }\n\n }\n\n createApplicantRelation(elementValue: any) {\n return this.fb.group({\n \n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\n company_relationship: [elementValue.company_relationship],\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\n relationship: [elementValue.relationship],\n });\n }\n // temparr=[];\n removereferance(index)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n \n \n relationControl.removeAt(index);\n // this.temparr = [];\n \n }\n // createApplicateOthers()\n // {\n // return this.fb.group(\n // {\n // Name:\n // })\n // }\n ConvertMonthintoYearforBusiness(e,controlIndex,flag){\n \n\n let converted_month : number = e%12;\n let converted_year : number = e/12;\nif(flag==1){\n let control: any = this.generalForm.get('companies') as FormArray;\n control = control.controls[controlIndex];\n let business_year = control.controls.business_years.value;\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n control.controls.business_month.setValue(Math.floor(converted_month));\n }\n else if(flag==2){\n let ri_year = this.generalForm.controls.rental_income_rcv_in_years.value;\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(+ri_year + +Math.floor(converted_year));\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(Math.floor(converted_month));\n }\n}\ngetDateObjects(values: any, controlIndex) {\n let control: any = this.generalForm.get('companies') as FormArray;\n control.controls['business_years']=''\n control.controls['business_month']=''\n control = control.controls[controlIndex];\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\n let diff: number = Math.floor(diffInMs / 1000);\n diff /= (60 * 60 * 24 * 30);\n diff=Math.abs(Math.round(diff));\n control.controls['business_years'].setValue(0);\n control.controls['business_month'].setValue(0);\n \n if(diff){\n control.controls['business_years'].setValue(Math.floor(diff / 12));\n control.controls['business_month'].setValue(Math.floor(diff % 12));\n }\n\n}\ntemp: number = 0;\n\n submitData(answerData)\n {\nconsole.log('1)',this.temp);\n let saveRecords:any={}\n var valuesData_indi:any=[]\n\n var valuesData:any=[]\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\n return answerData.list_value[key]\n })\n existData_indi.forEach((element)=>{\n valuesData_indi.push(element)\n })\n if(this.OldData_indi.length>0){\n this.OldData_indi.forEach((element)=>{\n valuesData_indi.push(element)\n })\n }\n\n var existData=Object.keys(answerData.company_value).map(function(key){\n return answerData.company_value[key]\n })\n existData.forEach((element)=>{\n valuesData.push(element)\n })\n if(this.OldData.length>0){\n this.OldData.forEach((element)=>{\n valuesData.push(element)\n })\n }\n \n if (valuesData_indi.length > 0) {\n console.log('2)',this.temp);\n valuesData_indi.forEach((val, index) => {\n if (val.is_person_met == false) {\n this.temp++;\n }\n console.log('3)',this.temp);\n });\n console.log('4)',this.temp,'length',valuesData_indi.length);\n if (this.temp == valuesData_indi.length) {\n console.log('5)',this.temp);\n this.toast.pdTriggerappmessage('Please Choose Name of Person Met.!');\n this.temp = 0;\n console.log('6)',this.temp);\n return;\n }\n }\n\n saveRecords.individuals=valuesData_indi;\n saveRecords.companies=valuesData\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.fk_createdby=this.users;\n \n \n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\n saveRecords.company_with_relationships=answerData.company_with_relationships\n saveRecords.general_remark=answerData.general_remark;\n \n \n \n \n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\n if(dataResult['dataStatus']==true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },3000);\n \n\n }\n else{\n this.toast.pdTriggerappmessage('Error');\n }\n })\n \n /* Old Data\n if(this.generalForm.valid)\n {\n let saveRecords:any = {}\n let applicantList:any=[];\n let applicantRelationList:any=[];\n // this for applicant list for selected\n answerData.applicant_list.forEach((element,key) => {\n if(element.exist_status==1){\n applicantList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n }) \n }\n });\n // this is for selected applicant relation \n answerData.applicant_relation.forEach((element,key) => {\n applicantRelationList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n \"company_name\":element.company_name,\n \"company_relationship\":element.company_relationship,\n \"applicant_relation_to\":element.applicant_relation_to,\n \"relationship\":element.relationship,\n }) \n });\n \n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.general_remark=answerData.general_remark;\n saveRecords.selected_applicant=applicantList;\n saveRecords.applicant_relation=applicantRelationList;\n saveRecords.fk_createdby = this.users;\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n } \n })\n }*/\n }\n\n getGeneralForm()\n {\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>{\n this.data_all=res['records'];\n let exist_companies:any;\n let exist_company_with_relationship:any;\n let companyControl = this.generalForm.get('company_value') as FormArray;\n companyControl.controls=[]\n this.lengthv=this.data_all;\n if(res['dataStatus']==true)\n {\n \n \n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\n //\n\n var arrlist_indi:any=[] \n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\n return res['records'].individuals[key];\n }) \n if(exist_individuals.length>0){\n exist_individuals.forEach((element)=>{\n if(element.is_active != false){\n arrlist_indi.push(element);\n }\n else{\n this.OldData_indi.push(element)\n }\n })\n }\n this.initlistv(arrlist_indi,'get')\n \n \n if(this.data_all.persons_with_relationships != ''){\n this.initPersonRelationship(this.data_all.persons_with_relationships);\n }\n //Create Company with Relationship\n exist_company_with_relationship=Object.keys(res['records'].company_with_relationships).map(function(key){\n return res['records'].company_with_relationships[key];\n })\n \n if(this.customer_segment_abbr !='SE-RI')\n {\n if(exist_company_with_relationship.length>0){\n exist_company_with_relationship.forEach(key=>{\n this.initCompanyRelationShip(key)\n })\n }\n else if(exist_company_with_relationship.length==0){\n this.initCompanyRelationShip('');\n }\n //create Companies\n exist_companies=Object.keys(res['records'].companies).map(function(key){\n return res['records'].companies[key];\n })\n var arraylis:any=[]\n if(exist_companies.length>0){\n exist_companies.forEach((element,cindex)=>{\n if(element.is_active!=false){\n arraylis.push(element);\n }\n else{\n this.OldData.push(element);\n }\n })\n \n }\n this.initCompanyValue(arraylis,'get');\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(null);\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(null);\n }\n else if(this.customer_segment_abbr == 'SE-RI'){\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(res['records'].rental_income_rcv_in_years ? res['records'].rental_income_rcv_in_years:'');\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(res['records'].rental_income_rcv_in_month ? res['records'].rental_income_rcv_in_month:'');\n\n }\n\n // var arraylis:any=[]\n \n \n // if(exist_companies.length>0){\n // exist_companies.forEach((element,cindex)=>{\n // if(element.is_active!=false){\n // arraylis.push(element);\n // }\n // else{\n // this.OldData.push(element);\n // }\n // })\n \n // }\n // this.initCompanyValue(arraylis,'get');\n \n \n\n // if(this.data_all.company_with_relationships != ''){\n // this.initCompanyRelationShip(this.data_all.company_with_relationships);\n // }\n \n }\n else{\n console.log(\"Else data\",this.pd_applicants_details)\n this.pd_applicants_details.forEach((datas,index)=>{\n datas.is_applicant=true,\n datas.is_person_met = false;\n datas.is_new = false;\n datas.is_main_applicant = datas.applicant_type == '1' ? true : false;\n datas.is_active = true;\n datas.individuals_order_id = index + 1;\n // company_order_id = index+1,\n datas.age = '',\n datas.qualification = '',\n datas.course_name = ''\n if (datas.company_name != '' && datas.company_name != null) {\n console.log(\"company\");\n let setCompanyValues: any = { company_order_id: companyControl.controls.length + 1, company_name: datas.company_name, is_company_applicant: datas.is_company_applicant, business_entity_type: datas.business_entity_type, business_entity_type_other: datas.business_entity_type_other, business_years: datas.business_years, business_month: datas.business_month, business_date_object: datas.business_date_object, is_new: datas.is_new, is_active: true }\n companyControl.push(this.createCompanies(setCompanyValues))\n }\n });\n \n // this.lengthv.push(\"individuals\")\n // this.lengthv.push(\"companies\")\n // this.lengthv.push('persons_with_relationships')\n //this.lengthv.push(\"\")\n console.log(\"applicant\",this.lengthv)\n this.initlistv(this.pd_applicants_details,'get');\n this.initPersonRelationship(this.pd_applicants_details)\n // this.initCompanyValue(this.pd_applicants_details,'get');\n this.initCompanyRelationShip('')\n\n }\n })\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n let generalDetails = res['records'];\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\n\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\n {\n return res['records'].applicant_relation[key];\n });\n\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\n {\n return res['records'].selected_applicant[key].pd_co_applicant_id;\n });\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\n let checkApplicantExist =actual_applicant.map((id, index) => {\n if (selected_applicant.indexOf(id) < 0) {\n this.pd_applicants_details[index].exist_status=0;\n return this.pd_applicants_details[index];\n }\n else{\n this.pd_applicants_details[index].exist_status=1;\n this.pd_applicants_details[index].applicant_relation_to='';\n this.pd_applicants_details[index].relation='';\n return this.pd_applicants_details[index];\n }\n }).filter(item => item != undefined);\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\n }else\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n }\n })*/\n }\n createCompanies(elementValue:any) {\n var name=this.businessEntityById(elementValue.business_entity_type)\n return this.fb.group({\n company_order_id: [elementValue.company_order_id],\n company_name: [elementValue.company_name,],\n company_messrs_name: ['M/s'],\n is_company_applicant:[elementValue.is_company_applicant],\n business_entity_type :[elementValue.business_entity_type,Validators.required],\n business_years: [elementValue.business_years, Validators.required],\n business_month: [elementValue.business_month],\n business_date_object: [elementValue.business_date_object],\n is_active: [elementValue.is_active],\n is_new:[elementValue.is_new],\n business_entity_type_name:[name]\n \n });\n }\n \n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-general-other-applicant',\n templateUrl: 'pd-question-general-other-applicant.html',\n})\nexport class PdQuestionGeneralOtherApplicantPage {\n otherForm:FormGroup;\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\n this.otherForm = this.fb.group(\n {\n otherName:this.fb.array([]),\n })\n this.addmore();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\n }\n\n createName(elementValue:any)\n {\n return this.fb.group(\n {\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name, Validators.required],\n })\n }\n\n addmore()\n {\n if(this.otherForm.valid)\n {\n const control = this.otherForm.controls['otherName'];\n control.push(this.createName(this.applicantInfo));\n }\n }\n\n deleteappdata(index)\n {\n const control = this.otherForm.controls['otherName'];\n if(control.length==1){\n control.reset();\n }else{\n control.removeAt(index);\n }\n }\n\n closeModal(){\n this.viewCtrl.dismiss(1); \n }\n submitData(answerData)\n {\n if(this.otherForm.valid){\n this.viewCtrl.dismiss(this.otherForm.value);\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Generated class for the PdPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: 'pdPipe',\n})\nexport class PdPipe implements PipeTransform {\n /**\n * Takes a value and makes it lowercase.\n */\n transform(value: any, searchItem:any):any {\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\n if(findExistIndex.length>0){\n let check = value.filter(function(fVal){\n return !findExistIndex.some(function(sVal){\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\n });\n })\n return check;\n }\n else {\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\n }\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionNeighbourHoodPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-neighbour-hood',\n templateUrl: 'pd-question-neighbour-hood.html',\n})\nexport class PdQuestionNeighbourHoodPage {\n\n frequency: any;\n relationBusiness: any;\n users: any;\n FormId: any;\n pdDetails: any;\n neighbourhoodForm:FormGroup;\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\n {'id': 2,'name': \"Negative\"},\n {'id': 3,'name': \"Insufficient information provided\"}];\n\n // amtInWords:any=[];\n applicants:any;\n isDisplay:any = [];\n isDisplay2:any = [];\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n isOrganisationOwner: any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\n this.neighbourhoodForm = this.fb.group(\n {\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n check_type:0,\n neighbourhood_list: this.fb.array([]),\n neighbourhood_status:[''],\n referencecheck_list: this.fb.array([]),\n neighbour_reference_remark:'' \n })\n this.users = this.aws.getlocale();\n \n \n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionNeighbourHoodPage');\n this.getneighbourhood();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus==true){\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\n console.log(this.existCompanyList)\n }\n let modifyCompanyList:any=[]\n if(this.existCompanyList.length>0){\n modifyCompanyList=this.existCompanyList.map(element=>{\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\n \n }\n let modifyApplicantList:any=[]\n if(this.applicants.length>0){\n modifyApplicantList=this.applicants.map(element=>{\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n })\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\n })\n }\n inWords(val,i)\n {\n // this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n }\n keyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e,flag){\n if(flag == 2){\n\n let year = itemrow.controls.year_relation_applicant.value;\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\n }\n else if(flag == 1){\n \n let year = itemrow.controls.how_long_do_know_in_year.value;\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\n }\n}\n\ntoggleVisibility(e,index,flag){ \n let val\n \n if(flag == 1){\n this.isDisplay[index] = e;\n }\n else if(flag==2){\n this.isDisplay2[index] = e;\n }\n}\n\ncheckOthers(values){\n if(values!=null) {\n return values==0 ? true : false;\n }\n else {\n return false;\n }\n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\n\n\ngetOtherOrganisationOwner(value,i) {\n //console.log('value',value,'I',i);\nlet Ctrls = this.neighbourhoodForm.controls['neighbourhood_list'];\n //console.log('ParCtrls',Ctrls);\nlet ChdCtrls:any = Ctrls.controls[i];\n // console.log('ChdCtrls',ChdCtrls);\n // return;\n\n\nlet Avaliablity = 1;\nconsole.log('val',value);\nif(value.length>0){\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n}\nif(Avaliablity == 0){\n// console.log('if Avaliablity',Avaliablity);\n\n ChdCtrls.controls.other_organisation_owner.setValidators([Validators.required]);\n this.isOrganisationOwner[i] = true;\n}else if(Avaliablity == 1){\n// console.log('else Avaliablity',Avaliablity);\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n ChdCtrls.controls.other_organisation_owner.setValue('');\n ChdCtrls.controls.other_organisation_owner.clearValidators();\n this.isOrganisationOwner[i] = false;\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n}\n \nChdCtrls.controls.other_organisation_owner.updateValueAndValidity(); \n}\n createreferance()\n {\n return this.fb.group({\n reference_name: [null],\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n statecode:[null],\n landline: [null],\n location:[null],\n relationship_with:[null],\n others:[null],\n year_relation_applicant:[null],\n months_relation_applicant:[null],\n business_volume_amount:[null],\n business_volume_unit:[null],\n others_unit:[null],\n reference_final_remarks:[null],\n specify_final_remark:[null]\n });\n }\n addreferance()\n {\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\n control.push(this.createreferance());\n }\n\n removereferance(i)\n {\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\n if(control.length==1)\n {\n control.reset();\n }else{\n control.removeAt(i);\n }\n }\n\n createNeighbourhood(){\n return this.fb.group({\n neighbourhood_name: [null],\n do_know: [''],\n \n how_long_do_know_in_year: [''],\n how_long_do_know_in_month:[''],\n organisation_owner: [''],\n is_applicant_owner:[''],\n other_organisation_owner:[''],\n did_not_know_the_business_operation:[''],\n did_not_know_the_owner:[''],\n });\n }\n\n addneighbourhood()\n {\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\n control.push(this.createNeighbourhood());\n }\n\n removeneighbourhood(i)\n {\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\n if(control.length==1)\n {\n control.reset();\n }else{\n control.removeAt(i);\n }\n }\n\n submitData(answerData)\n {\n \n const neighbourhoodControl : FormGroup = this.neighbourhoodForm.controls['neighbourhood_list'] as FormGroup;\n let NbhdCtrlLength: any = neighbourhoodControl.controls.length;\n if (NbhdCtrlLength > 0) {\n let Ncnt = 0;\n while(Ncnt < NbhdCtrlLength){\n\n let nbhdChildCtrl : any = neighbourhoodControl.controls[Ncnt]; \n\n nbhdChildCtrl.controls['neighbourhood_name'].setValidators([Validators.required]);\n nbhdChildCtrl.controls['neighbourhood_name'].updateValueAndValidity();\n\n nbhdChildCtrl.controls['do_know'].setValidators([Validators.required]);\n nbhdChildCtrl.controls['do_know'].updateValueAndValidity();\n if(nbhdChildCtrl.controls.do_know.value != ''){\n // console.log('nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\n if(nbhdChildCtrl.controls.did_not_know_the_business_operation.value == '' || nbhdChildCtrl.controls.did_not_know_the_business_operation.value == false){\n // console.log('IF nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\n nbhdChildCtrl.controls['how_long_do_know_in_month'].setValidators([Validators.required]);\n nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity();\n nbhdChildCtrl.controls['how_long_do_know_in_year'].setValidators([Validators.required]);\n nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); \n }\n else if(nbhdChildCtrl.controls.did_not_know_the_business_operation.value == true){\n // console.log('ELSE nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\n nbhdChildCtrl.controls['how_long_do_know_in_month'].setValue('');\n nbhdChildCtrl.controls['how_long_do_know_in_month'].clearValidators();\n nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity();\n nbhdChildCtrl.controls['how_long_do_know_in_year'].setValue('');\n nbhdChildCtrl.controls['how_long_do_know_in_year'].clearValidators();\n nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); \n }\n\n if(nbhdChildCtrl.controls.did_not_know_the_owner.value == '' || nbhdChildCtrl.controls.did_not_know_the_owner.value == false){\n nbhdChildCtrl.controls['organisation_owner'].setValidators([Validators.required]);\n nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity();\n }\n else if(nbhdChildCtrl.controls.did_not_know_the_owner.value == true){\n nbhdChildCtrl.controls['organisation_owner'].setValue('');\n nbhdChildCtrl.controls['organisation_owner'].clearValidators();\n nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity();\n }\n }\n Ncnt++;\n }\n this.neighbourhoodForm.controls.neighbourhood_status.setValidators([Validators.required]);\n this.neighbourhoodForm.controls.neighbourhood_status.updateValueAndValidity();\n }\n\n\n if (this.neighbourhoodForm.invalid) {\n // this.validateAllFormFields(this._neighbourhoodForm);\n this.toast.pdTriggerappmessage('Please Fill All Mandatory Fields.!');\n return;\n }\n \n let saveRecords:any = {}\n let referencecheck_list:any=[];\n let neighbourhood_list:any=[];\n // if(answerData.check_type==0){\n answerData.neighbourhood_list.forEach((element,key) => {\n neighbourhood_list.push({\n \"neighbourhood_name\":element.neighbourhood_name,\n \"do_know\":element.do_know,\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\n \"is_applicant_owner\":element.is_applicant_owner,\n \"organisation_owner\":element.organisation_owner,\n \"other_organisation_owner\":element.other_organisation_owner,\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\n \"did_not_know_the_owner\":element.did_not_know_the_owner\n }) \n });\n saveRecords.neighbourhood_list=neighbourhood_list;\n \n // }\n // else{\n // this for referencecheck_list for selected\n answerData.referencecheck_list.forEach((element,key) => {\n referencecheck_list.push({\n \"reference_name\":element.reference_name,\n \"mobile\":element.mobile,\n \"landline\":element.statecode+'-'+element.landline,\n \"location\":element.location,\n \"relationship_with\":element.relationship_with,\n \"others\":element.others,\n \"year_relation_applicant\":element.year_relation_applicant,\n \"months_relation_applicant\":element.months_relation_applicant,\n \"business_volume_amount\":element.business_volume_amount,\n \"business_volume_unit\":element.business_volume_unit,\n \"others_unit\":element.others_unit,\n \"reference_final_remarks\":element.reference_final_remarks,\n \"specify_final_remark\":element.specify_final_remark\n }) \n });\n saveRecords.referencecheck_list=referencecheck_list;\n \n // }\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n // saveRecords.check_type=answerData.check_type;\n saveRecords.fk_createdby = this.users;\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\n\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n \n }\n\n getneighbourhood()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let neighbourDetails = res['records'];\n // neighbourDetails.neighbourhood_list.=''\n \n // if(neighbourDetails.check_type==0)\n // {\n \n this.neighbourhoodForm.controls['check_type'].setValue(0);//this one for mobile only\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\n {\n return res['records'].neighbourhood_list[key];\n });\n console.log('neighbourhood_list',neighbourhood_list);\n console.log('length',neighbourhood_list.length);\n if(neighbourhood_list.length > 0){\n\n \n neighbourhood_list.forEach((element,index)=>\n {\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\n neicontrol.push(this.createNeighbourhood());\n this.getOtherOrganisationOwner(element.organisation_owner,index)\n });\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\n \n\n }else\n {\n this.addneighbourhood();\n }\n // if(neighbourDetails.check_type==1)\n // {\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\n {\n return res['records'].referencecheck_list[key];\n });\n console.log('referencecheck_list',referencecheck_list);\n console.log('length',referencecheck_list.length);\n if(referencecheck_list.length > 0){\n // this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\n referencecheck_list.forEach((val,index)=>\n {\n let statecodesearch = val.landline.search(\"-\");\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\n control.push(this.createreferance());\n // this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\n });\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\n \n }else\n {\n this.addreferance();\n }\n }else\n {\n this.addneighbourhood();\n this.addreferance();\n }\n })\n }\n\n\n}\n \n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,Validators,FormArray} from '@angular/forms';\n// import { t } from '@angular/core/src/render3';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionFinalRemarkPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-final-remark',\n templateUrl: 'pd-question-final-remark.html',\n})\nexport class PdQuestionFinalRemarkPage {\n\n m_remarkTypeCustomerBehaviour:any=[];\n\n users:any;\n pdDetails:any;\n pdid:any;\n FormId:any;\n _finalRemarkForm:FormGroup;\n m_recommendationList: any=[];\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id\n this.FormId=this.navParams.get('FormId');\n this.users=aws.getlocale()\n \n this._finalRemarkForm=this.fb.group({\n fk_createdby:[this.users],\n pdid:[this.pdid],\n formid:[this.FormId.form_id],\n final_custormer_remark_type:[null],\n final_other_customer_behaviour:[null],\n is_service_provided:[null],\n final_form_remarks:[null],\n pd_officers_recommendation:[null],\n others_pd_officers_recommendation:[''],\n // reason_for_positive:[''],\n // reason_for_negative:[''],\n // reason_for_refer_to_credit:[''],\n recommendation_positive:this.fb.array([]),\n recommendation_negative:this.fb.array([]),\n recommendation_refer_to_credit:this.fb.array([])\n \n })\n this.getDropDown();\n \n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\n this.getFinalRemark();\n \n }\ngetDropDown(){\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\n })\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\n this.m_recommendationList=res['records']\n })\n}\ncreateRecomendationPositive(data){\n console.log(\"val\",data)\n return this.fb.group({\n reason_for_positive: data != null ? [data.reason_for_positive] : ['']\n })\n}\naddRecomendationPositive(){\n const control= this._finalRemarkForm.controls['recommendation_positive'];\n control.push(this.createRecomendationPositive(null))\n}\nremoveRecomendationPositive(index){\n const control= this._finalRemarkForm.controls['recommendation_positive'];\n control.removeAt(index);\n}\ncreateRecomendationNegative(data){\n return this.fb.group({\n reason_for_negative:data !=null ? [data.reason_for_negative] : ['']\n })\n}\naddRecomendationNegative(){\n const control= this._finalRemarkForm.controls['recommendation_negative']\n control.push(this.createRecomendationNegative(null))\n}\nremoveRecomendationNegative(index){\n const control= this._finalRemarkForm.controls['recommendation_negative']\n control.removeAt(index)\n}\ncreateRecomendationCreditRefer(data){\n return this.fb.group({\n reason_for_refer_to_credit:data!=null ? [data.reason_for_refer_to_credit] : ['']\n })\n}\naddRecomendationCreditRefer(){\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\n control.push(this.createRecomendationCreditRefer(null));\n}\nremoveRecomendationCreditRefer(index){\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\n control.removeAt(index)\n}\n\nRecommendationChange(e) {\n // console.log('Event',e);\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\n\n if (e == 1) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n\n recommendationNegativeCtrl.removeAt(i + 1);\n\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\n\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n\n\n }\n }\n\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl.removeAt(i + 1);\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n recommendationReferToCredit.removeAt(i + 1);\n\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n }\n }\n \n\n }\n if (e == 2) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n recommendationReferToCredit.removeAt(i + 1);\n\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n\n }\n }\n\n // this._finalRemarkForm.controls['reason_for_positive'].setValidators([Validators.required]);\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[i];\n recommendationPositiveCtrl.controls['reason_for_positive'].setValidators([Validators.required]);\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n\n recommendationNegativeCtrl.removeAt(i + 1);\n\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\n\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n\n }\n }\n\n\n }\n\n if (e == 3) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n recommendationReferToCredit.removeAt(i + 1);\n\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n }\n }\n\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl.removeAt(i + 1);\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[i];\n recommendationNegativeCtrl.controls['reason_for_negative'].setValidators([Validators.required]);\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n }\n }\n // this._finalRemarkForm.controls['reason_for_negative'].setValidators([Validators.required]);\n\n }\n if (e == 4) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n\n recommendationReferToCredit = recommendationReferToCredit.controls[i];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValidators([Validators.required]);\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n\n }\n }\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n\n recommendationNegativeCtrl.removeAt(i + 1);\n\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\n\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n\n }\n }\n\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl.removeAt(i + 1);\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n }\n}\n getFinalRemark(){\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\n if(data['dataStatus']==true){\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\n this._finalRemarkForm.controls.pd_officers_recommendation.setValue(data['records'].pd_officers_recommendation);\n this._finalRemarkForm.controls.others_pd_officers_recommendation.setValue(data['records'].others_pd_officers_recommendation)\n // this._finalRemarkForm.controls.reason_for_positive.setValue(data['records'].reason_for_positive)\n // this._finalRemarkForm.controls.reason_for_refer_to_credit.setValue(data['records'].reason_for_refer_to_credit);\n // this._finalRemarkForm.controls.reason_for_negative.setValue(data['records'].reason_for_negative);\n if(data['records'].recommendation_positive.length>0){\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\n data['records'].recommendation_positive.forEach((val,index)=>{\n console.log(\"for\",val);\n if(val.reason_for_positive != null){\n let obj={'reason_for_positive':val.reason_for_positive};\n recommendationPositiveCtrl.push(this.createRecomendationPositive(obj));\n }\n })\n }\n if(data['records'].recommendation_negative.length>0){\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\n data['records'].recommendation_negative.forEach((val,index)=>{\n console.log(\"for\",val);\n let obj={'reason_for_negative':val.reason_for_negative};\n recommendationNegativeCtrl.push(this.createRecomendationNegative(obj))\n })\n }\n if(data['records'].recommendation_refer_to_credit.length>1){\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\n data['records'].recommendation_refer_to_credit.forEach(val=>{\n let obj={'reason_for_refer_to_credit':val.reason_for_refer_to_credit};\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(obj))\n })\n }\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\n }\n else{\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\n recommendationPositiveCtrl.push(this.createRecomendationPositive(null));\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\n recommendationNegativeCtrl.push(this.createRecomendationNegative(null));\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(null));\n }\n })\n }\n saveFinalRemark(){\n if(this._finalRemarkForm.invalid){\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields marked with '*' \")\n }\n else{\n var answerData=this._finalRemarkForm.value\n //To Remove The \"Null\" With Key also\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n this.qustcat.saveForm(answerData).subscribe(res=>{\n if(res['dataStatus']==true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\n }\n });\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\n\n/**\n * Generated class for the PdQuestionBusinessGroupPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-business-group',\n templateUrl: 'pd-question-business-group.html',\n})\nexport class PdQuestionBusinessGroupPage {\n \n FormId: any;\n pdDetails: any = [];\n existCompanyList: any = [];\n waitLoading:boolean;\n\n constructor(public navCtrl: NavController, \n public navParams: NavParams,\n public qustCat:QuestionCategoryProvider){\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n this.getCompanyListForBusiness();\n\n }\n \n /** To Get General Form's Company List */\n getCompanyListForBusiness(): void{\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\n if(data.dataStatus){\n this.existCompanyList = data.records.filter(val =>val.is_active);\n this.waitLoading = true;\n }\n else {\n this.waitLoading = false;\n }\n })\n }\n\n /** To Get Related Form Details */\n OnSelectBusinessGroupForms(details: any, company: any) {\n \n this.pdDetails.company_id = company.company_order_id;\n this.pdDetails.company_name = company.company_name;\n this.pdDetails.business_entity_type = company.business_entity_type;\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\n this.pdDetails.business_years = company.business_years;\n this.pdDetails.business_month = company.business_month;\n \n if(details.form_id==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n }\n if(details.form_id==2){\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==11){\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==13){\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==14){\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==15){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==21){\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==22){\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n\n\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\nimport { createPipe } from '@angular/compiler/src/core';\nimport { elementAt } from 'rxjs/operators';\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionBusinessInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business-info',\n templateUrl: 'pd-question-business-info.html',\n})\nexport class PdQuestionBusinessInfoPage {\n stateList:any=[];\n users: any;formdetails:any;\n FormId: any;\n pdDetails: any;\n businessForm:FormGroup;\n applicants:any=[];\n businessEntityTypeList: any ={\n business_entity_type_id:String,\n business_entity_type_name:String,\n sourcsection_labeleName:String\n }; \n generalExistEntityType:string\n generalExistEntityType_other:string;\n generalExistBusinessYear:Number;\n generalExistBusinessMonth:Number;\n pdid:any;\n step:number\n\n relationData: any = [];\n industryData: any = [];\n activityData: any = [];\n relativeNames: any;\n companyRelationShipList:any=[]\n countryDataList:any=[]\n exist_status:any;\n \n filterCityList : any = [];\n errorMessage:any=[];\n appxSalaryAmtInwords:any;\n titleData:any=[]\n personsList:any=[]\n \n ManufacturingChecked: boolean;\n RetailedChecked: boolean;\n WholeSalesChecked: boolean;\n ServiceChecked: boolean;\n ExportFlag: boolean=false;\n bankList: any=[];\n temp_additiondetailofposmachine:any=[]\n isreadonlyyear: any=[];\n isreadonlymonth: any=[];\n EntityTypeFlag:boolean=false\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\n this.getStateCityDet();\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id\n \n this.formdetails = this.navParams.get('formDetails');\n \n this.FormId = this.formdetails.form_id;\n this.users = this.aws.getlocale();\n \n this.applicants=this.pdDetails.applicat_details;\n \n this.generalExistEntityType=this.pdDetails.business_entity_type\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\n this.generalExistBusinessYear=this.pdDetails.business_years\n this.step=0\n \n \n \n // this.initBusinessForm();\n // this.getBuisnessDetails();\n \n this.businessForm=this.fb.group({\n fk_createdby:[this.users],\n pdid:[this.pdid],\n formid:[this.FormId],\n company_id: this.pdDetails.company_id,\n partners:this.fb.array([]),\n persons_with_relationships:this.fb.array([]),\n select_business_activity_type:this.fb.array([]),\n manufacturing_activity_details:this.fb.array([]),\n retail_trading_activity_details:this.fb.array([]),\n wholesale_trading_activity_details:this.fb.array([]),\n service_provider_activity_details:this.fb.array([]),\n others_activity_details:this.fb.array([]),\n export_sale_of_total_sales:[''],\n // applicant_use_mobile_wallets:[''],\n // applicant_use_pos_machines:[''],\n // no_of_pos_machines:[''],\n seasonality:[''],\n employees_total: ['', Validators.compose([Validators.required])],\n employees_permanent: ['', Validators.compose([Validators.required])],\n employees_temporary: ['', Validators.compose([Validators.required])],\n employees_appx_salary:[''],\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\n officer_total: ['', Validators.compose([Validators.required])],\n shop_eat_act_cert: [''],\n gst_Regn_cert: [''],\n //export_import_cert: [''],\n // factory_cert: [''],\n //practice_cert: [''],\n pf_regn: [''],\n esic_regn: [''],\n other_documents: [''],\n documents: this.fb.array([]),\n business_remarks:['']\n\n\n\n \n })\n this.getdropdown();\n \n// this.initBusinessForm();\n\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\n \n \n \n }\n getdropdown() {\n \n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\n \n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.relationData.push(val);\n }\n })\n });\n \n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\n \n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.industryData.push(val);\n }\n })\n });\n \n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\n \n data['records'].forEach(val => {\n if (val.isactive == 1 && val.type_of_activity_id != 1) {\n this.activityData.push(val);\n }\n })\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\n let filterList = data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\n this.businessEntityTypeList.business_entity_type_id = filterList[0].business_entity_type_id==1;\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\n \n if(this.businessEntityTypeList.business_entity_type_name == 'OPC (One Person Company)' || this.businessEntityTypeList.business_entity_type_name == 'Sole proprietorship'){ \n this.EntityTypeFlag = true;\n }\n\n\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\n \n });\n \n \n \n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\n \n });\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\n this.titleData=data['records'].filter(val=>val.isactive==1);\n })\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\n if(data.dataStatus){\n \n this.personsList=data['record'].filter(val=>val.applicant_type==1)\n \n }\n })\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(data=>{\n this.bankList=data['records'].filter(val=>val.isactive ==1 && val.lender_type == 1);\n })\n \n}\ngetStateCityDet(){\nthis.qustCat.getStateCityDetails().subscribe(data=>{\n \n\n this.stateList=data.records\n \n this.getDetails();\n });\n \n \n}\nchangeOfStartedBusiness(members,i,e){\n if(e == 'yes'){\n members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\n this.isreadonlyyear[i] = this.generalExistBusinessYear != undefined ? true : false;\n members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\n this.isreadonlymonth[i] = this.generalExistBusinessMonth != undefined ? true : false;\n }\n else{\n this.isreadonlyyear[i] =false;\n this.isreadonlymonth[i] = false;\n }\n }\n getDetails(){\n \n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = 13\n params.company_id = this.pdDetails.company_id;\n this.qustCat.retiverForm(params).subscribe(data=>{\n let businessVal=data['records']\n let constVal: any;\n \n \n const Partnr:any = this.businessForm.controls['partners'];\n \n const control1:any = this.businessForm.controls['persons_with_relationships'];\n \n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\n \n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\n const othersControl:any=this.businessForm.controls['others_activity_details'];\n const otherDoc = this.businessForm.controls['documents'];\n //retailControl.push(this.manufactureDetails());\n //manufacture_details.push(this.manufactureDetails())\n \n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\n //india_sales.push(this.indiaSalesDone())\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\n // country_sale.push(this.createCountrySale());\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\n //max_sale_state.push(this.maxSaleState())\n\n if(data['status']==200){\n let DocArray: any;\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\n return data['records'].partners[key];\n })\n \n if(PartnrArray.length==0){\n Partnr.push(this.createPartners())\n }\n else{\n PartnrArray.forEach((datas,key) => {\n Partnr.push(this.createPartners());\n if(datas.partner_name=='Others') {\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\n }\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\n }\n else {\n Partnr.controls[key].removeControl('total_business_previous_experience')\n }\n });\n }\n if(data['records'].persons_with_relationships){\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\n return data['records'].persons_with_relationships[key];\n })\n if(PartnrArray1.length>0){\n PartnrArray1.forEach((datas,key)=>{\n control1.push(this.createRelationShip());\n })\n businessVal.persons_with_relationships=PartnrArray1\n \n }\n else{\n //control1.push(this.createRelationShip());\n businessVal.persons_with_relationships=[]\n }\n }\n else{\n businessVal.persons_with_relationships=[]\n \n }\n \n\n if (data['records'].other_documents == 'yes') {\n DocArray = Object.keys(data['records'].documents).map(function (key) {\n return data['records'].documents[key];\n });\n DocArray.forEach(datas => {\n otherDoc.push(this.createDocument());\n });\n } else {\n DocArray = [{document: ''}];\n otherDoc.push(this.createDocument());\n }\n\n businessVal.pdid = this.pdid;\n businessVal.formid = 13;\n businessVal.company_id = this.pdDetails.company_id;\n businessVal.fk_createdby = this.users;\n //businessVal.designation = DesgnArray;\n businessVal.partners = PartnrArray;\n // businessVal.persons_with_relationships=PartnrArray1\n businessVal.documents=DocArray\n \n if(businessVal.employees_appx_salary){\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\n }\n \n \n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\n // this.businessForm.setValue(businessVal);\n //this.businessForm.value.seasonality\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\n let exist_activity_data: any=[];\n if(data['records'].select_business_activity_type){\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\n return data['records'].select_business_activity_type[key].type_of_activity_id;\n });\n }\n \n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\n if (exist_activity_data.indexOf(id) < 0) {\n activityData[index].exist_status=0;\n return activityData[index];\n }\n else{\n activityData[index].exist_status=1;\n return activityData[index];\n }\n }).filter(item => item != undefined);\n \n if(check_exist_businees_activity.length > 0)\n {\n check_exist_businees_activity.forEach((val,index) => {\n business_activity.push(this.createBusinessActivity(val));\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\n \n });\n \n businessVal.select_business_activity_type=check_exist_businees_activity;\n }\n // business_activity.push(this.createBusinessActivity())\n \n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\n \n if(data['records'].manufacturing_activity_details){\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\n return data['records'].manufacturing_activity_details[key];\n });\n if(selectedManufacturing.length>0){\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\n \n selectedManufacturing.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'MActivity',index)\n manufacture_details.push(this.manufactureDetails())\n if(element.area_of_sale=='Within India'){\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n })\n }\n else if(element.area_of_sale=='Export'){\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n \n }\n });\n businessVal.manufacturing_activity_details=selectedManufacturing;\n \n \n }\n else{\n \n businessVal.manufacturing_activity_details=[];\n }\n }\n else{\n \n businessVal.manufacturing_activity_details=[];\n }\n \n if(data['records'].retail_trading_activity_details){ \n\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\n return data['records'].retail_trading_activity_details[key];\n });\n if(selectedRetail.length > 0) {\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\n selectedRetail.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'RActivity',index)\n retailControl.push(this.manufactureDetails());\n if(element.area_of_sale=='Within India'){\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n });\n businessVal.retail_trading_activity_details=selectedRetail;\n }\n else{\n businessVal.retail_trading_activity_details=[];\n } \n }\n else {\n businessVal.retail_trading_activity_details=[];\n }\n \n\n // update whole sale details\n if(data['records'].wholesale_trading_activity_details){ \n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\n return data['records'].wholesale_trading_activity_details[key];\n });\n if(selectedWholesale.length > 0) {\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\n selectedWholesale.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'WActivity',index)\n wholesaleControl.push(this.manufactureDetails());\n if(element.area_of_sale=='Within India'){\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n \n });\n businessVal.wholesale_trading_activity_details=selectedWholesale;\n }\n else{\n businessVal.wholesale_trading_activity_details=[];\n } \n }\n else {\n businessVal.wholesale_trading_activity_details=[];\n\n } \n \n \n if(data['records'].service_provider_activity_details){\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\n return data['records'].service_provider_activity_details[key];\n })\n if(selectedService.length > 0) {\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\n \n selectedService.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'SPActivity',index)\n serviceProviderControl.push(this.manufactureDetails());\n \n if(element.area_of_sale=='Within India'){\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n \n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n\n \n }\n });\n \n \n businessVal.service_provider_activity_details=selectedService;\n \n }\n else{\n businessVal.service_provider_activity_details=[];\n \n } \n }\n else {\n businessVal.service_provider_activity_details=[];\n\n }\n \n if(data['records'].others_activity_details){ \n\n // update others activity details\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\n return data['records'].others_activity_details[key];\n });\n if(selectedOthers.length > 0) {\n selectedOthers.forEach((element,index)=>{\n othersControl.push(this.createOthersActivity());\n });\n businessVal.others_activity_details=selectedOthers;\n }\n else{\n businessVal.others_activity_details=[];\n } \n }\n else {\n businessVal.others_activity_details=[];\n\n } \n \n // dynamically add form group control\n if(data['dataStatus']){\n \n if(data['records'].seasonality.toUpperCase()=='YES'){\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\n\n } \n\n // this.businessForm.controls['partners'].setValue(PartnrArray);\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\n \n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\n if(businessVal.applicant_use_pos_machines == 'yes'){\n this.businessForm.controls.no_of_pos_machines.setValue(businessVal.no_of_pos_machines);\n const posControl: any = this.businessForm.controls['pos_machines_details'];\n for(let i = 1; i<= businessVal.no_of_pos_machines; i++ ){\n posControl.push(this.createPOSMachinesDetails(businessVal.pos_machines_details));\n }\n }\n \n this.businessForm.setValue(businessVal);\n \n \n }\n else{\n Partnr.push(this.createPartners());\n control1.push(this.createRelationShip())\n \n //otherDoc.push(this.createDocument());\n\n // find business activity type businees activity type list\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\n if(activityData.length > 0)\n {\n activityData.forEach(val => {\n business_activity.push(this.createBusinessActivity(val));\n });\n }\n\n }\n})\n // change business sessional\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\n });\n \n \n }\n\n filterCity(datasource: any,filterid:number) {\n \n \n if(filterid){\n let filter = this.stateList.filter(x=>x.state_id==filterid);\n return filter.length > 0 ? filter[0].cities : [];\n }\n}\n\n // filter max sale options\n filterMaxSaleState(datasource: any,filterValues:any){\n this.filterCityList = filterValues;\n if(filterValues){\n let getOriginalStateList = datasource.map(dval => dval.state_id);\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\n let setStateFilter: any=[];\n setStateFilter = getStateValues.map(x => {\n let findIndex = getOriginalStateList.indexOf(x);\n return datasource[findIndex];\n });\n return setStateFilter.length > 0 ? setStateFilter : [];\n }\n }\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\n existCities = [].concat.apply([], existCities);\n if(filterValues){\n let getOriginalStateList = datasource.map(dval => dval.state_id);\n \n let setCityFilter = filterValues.map(x => {\n let findIndex = getOriginalStateList.indexOf(x);\n findIndex = datasource[findIndex].cities;\n return findIndex;\n });\n \n let merged = [].concat.apply([], setCityFilter);\n \n if(merged.length>0){\n let check: any = merged.filter(function(fVal){\n return existCities.some(function(sVal){\n return fVal.city_id==sVal;\n });\n })\n return check;\n }\n else {\n return [];\n }\n }\n else {\n return [];\n }\n}\n\n\ncheckTotalEmployee(FormData){\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\n }\n checkWithExistBusinessYear(e,i){\n if(e > this.generalExistBusinessYear){\n this.errorMessage[i] = \"Higher than Business Vintage\";\n }\n else{\n this.errorMessage[i] = '';\n }\n }\n\n// businees activity type change event\nchangeBusinessActivity(event: any){\n \n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\n this.ManufacturingChecked = event.value.exist_status;\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.controls = [];\n manufacturingControl.setValue([]); \n \n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\n this.ManufacturingChecked = event.value.exist_status;\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.push(this.manufactureDetails());\n \n \n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\n this.RetailedChecked=event.value.exist_status\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\n retailControl.controls = [];\n retailControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\n this.RetailedChecked=event.value.exist_status\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\n retailControl.push(this.manufactureDetails());\n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\n this.WholeSalesChecked=event.value.exist_status\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.controls = [];\n wholesaleControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\n this.WholeSalesChecked=event.value.exist_status\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.push(this.manufactureDetails());\n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\n this.ServiceChecked=event.value.exist_status\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.controls = [];\n serviceControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\n this.ServiceChecked=event.value.exist_status\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.push(this.manufactureDetails());\n }\n\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.controls = [];\n othersControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.push(this.createOthersActivity());\n }\n // check activity type for make dosument sighted filed dynamically\n this.businessForm.value.manufacturing_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl(this.businessForm.value.export_import_cert, Validators.required)) : this.businessForm.removeControl('export_import_cert');\n this.businessForm.value.manufacturing_activity_details.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl(this.businessForm.value.factory_cert, Validators.required)) : this.businessForm.removeControl('factory_cert');\n this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl(this.businessForm.value.practice_cert, Validators.required)) : this.businessForm.removeControl('practice_cert');\n // check activity for extra question make dynamic\n \n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl(this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl(this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines');\n \n\n if(this.ManufacturingChecked || this.ManufacturingChecked==undefined && this.RetailedChecked || this.RetailedChecked==undefined && this.WholeSalesChecked ||this.WholeSalesChecked==undefined && this.ServiceChecked || this.ServiceChecked==undefined){\n this.ExportFlag = false;\n }\n}\n\n\nchangeManufacturingAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n // change retail options\n changeRetailAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n// change whole options\nchangeWholesaleAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n// change service provider \nchangeServiceArea(getDetails: any, getIndex) {\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n\nchangePanIndiaOptions(type,selectedIndex,value) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n \n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==3){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==4){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n}\n\n // update partner group other form control\n changePartnerGroup(value,key) {\n let control: any = this.businessForm.get('partners') as FormArray;\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\n }\n\n createDesignation(): FormGroup {\n return this.fb.group({\n sec_name: ['', Validators.compose([Validators.required])],\n sec_designation: ['', Validators.compose([Validators.required])],\n });\n}\nkeyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n getWorkExperience(event, key) {\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\n let control: any = this.businessForm.get('partners') as FormArray;\n if(total_experience > current_experience) {\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\n }\n else if(total_experience < current_experience) {\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\n control.controls[key].removeControl('total_business_previous_experience')\n }\n\n else {\n control.controls[key].removeControl('total_business_previous_experience')\n }\n // let total ;\n // if(control.length > 0){\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\n // this.businessForm.controls.business_years.updateValueAndValidity();\n // }\n}\nConvertMonthintoYear(itemrow,e){\n\n let year = itemrow.controls.current_business_experiance_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\n \n}\n\n\n\ncreatePartners(): FormGroup {\n return this.fb.group({\n partner_name: ['', Validators.compose([Validators.required])],\n // partner_other_name:[''],\n shareholding:[''],\n started_business:[''],\n current_business_experiance_year:[''],\n current_business_experiance_month:[''],\n total_business_experiance:[''],\n total_business_previous_experience:['']\n /* shareholding: ['', Validators.compose([Validators.required])],\n current_business_experiance: ['', Validators.compose([Validators.required])],\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\n });\n}\ncreateRelationShip(): FormGroup {\n return this.fb.group({\n family_member_salutation:[''],\n family_member_name:[''],\n other_family_relationship_id:[''],\n relation_to_id:[''],\n relationship_with_company_id:[''],\n started_business:['']\n });\n}\ncreateBusinessActivity(details):FormGroup {\n return this.fb.group({\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\n name: [details.name, Validators.compose([Validators.required])],\n exist_status:[details.exist_status==1 ? true : false]\n });\n}\ncreateServiceActivity(): FormGroup {\n return this.fb.group({\n main_products: ['', Validators.compose([Validators.required])],\n area_of_sale: ['', Validators.compose([Validators.required])],\n description: ['']\n });\n}\ncreateOthersActivity(): FormGroup {\n return this.fb.group({\n others_details: ['', Validators.compose([Validators.required])]\n });\n}\nmanufactureDetails():FormGroup{\n return this.fb.group({\n main_products:[''],\n area_of_sale:[''],\n description:['']\n // pan_india_options:[''],\n // india_where_sale_done:this.fb.array([]),\n //max_sale_state_name:this.fb.array([]),\n //countries_where_export_done:this.fb.array([])\n })\n}\nindiaSalesDone():FormGroup{\n return this.fb.group({\n state_name:[''],\n city_name:['']\n })\n}\nmaxSaleState():FormGroup{\n return this.fb.group({\n state_name:[''],\n city_name:['']\n })\n}\ncreateDocument() {\n return this.fb.group({\n document: ['']\n });\n}\naddDesignation() {\n const control = this.businessForm.controls['designation'];\n control.push(this.createDesignation());\n}\ndeleteDesignation(index) {\n const control = this.businessForm.controls['designation'];\n if(control.length==1){\n this.businessForm.controls['designation'].reset();\n }else{\n control.removeAt(index);\n }\n}\naddPartnerDetails(event) {\n const control = this.businessForm.controls['partners'];\n event.stopPropagation()\n let length = control.length;\n this.step = length;\n \n control.push(this.createPartners());\n}\naddPersonRelationship(event){\n event.stopPropagation()\n const control=this.businessForm.controls['persons_with_relationships']\n let length=control.length\n this.step=length\n control.push(this.createRelationShip());\n}\ndeletePersonRelationship(index){\n const control=this.businessForm.controls['persons_with_relationships'];\n control.removeAt(index)\n}\ndeletePartnerDetails(index) {\n const control = this.businessForm.controls['partners'];\n if(control.length==1){\n this.businessForm.controls['partners'].reset();\n }else{\n control.removeAt(index);\n }\n}\naddMoreManufacturing() {\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.push(this.manufactureDetails());\n}\nremoveManufacturing(index){\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n if(manufacturingControl.length>1){\n manufacturingControl.removeAt(index)\n }\n else{\n manufacturingControl.reset();\n }\n}\naddMoreRetail(){\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\n retailControl.push(this.manufactureDetails());\n}\nremoveRetail(index){\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\n if(retailControl.length>1){\n retailControl.removeAt(index)\n }\n else{\n retailControl.reset();\n }\n}\naddMoreWholesale() {\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.push(this.manufactureDetails());\n}\nremoveWholesale(index){\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n if(wholesaleControl.length>1){\n wholesaleControl.removeAt(index)\n }\n else{\n wholesaleControl.reset();\n }\n}\naddMoreServiceprovider() {\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.push(this.manufactureDetails());\n}\nremoveServiceProvider(index){\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n if(serviceControl.length>1){\n serviceControl.removeAt(index)\n }\n else{\n serviceControl.reset();\n }\n}\naddMoreOthersActivity(){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.push(this.createOthersActivity());\n}\ncreateCountrySale() {\n return this.fb.group({\n country_name: ['',Validators.compose([Validators.required])],\n approx_sale: ['', Validators.compose([Validators.required])]\n }); \n}\n\naddMoreState(mindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n \n\n}\nremoveState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n\naddRetailMoreState(rindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n}\nremoveRetailState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n// add more whole sale state\naddWholesaleMoreState(windex,type) {\n if(type==1){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n\n}\n// remove for whole sale\nremoveWholesaleState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n // add more service provider\n addServiceMoreState(sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n }\n \n // remove service provider\n\nremoveServiceState(mindex,sindex,type){\n if(type==1){\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\n control1.removeAt(sindex)\n }\n}\naddDocuments() {\n const control = this.businessForm.controls['documents'];\n control.push(this.createDocument());\n}\ndeleteDocuments(index) {\n const control = this.businessForm.controls['documents'];\n if(control.length==1){\n this.businessForm.controls['documents'].reset();\n }else{\n control.removeAt(index);\n }\n}\n\nrelationChanged(event) {\n this.relativeNames = [];\n event.value.forEach(option => {\n this.relativeNames.push({member: option});\n });\n}\ncreatePOSMachinesDetails(data){\n if(data==null){\n return this.fb.group({\n pos_machines_financial_institution_name: [''],\n tid_no_of_pos_machine: [''],\n })\n }\n else{\n return this.fb.group({\n pos_machines_financial_institution_name: [data.pos_machines_financial_institution_name],\n tid_no_of_pos_machine: [data.tid_no_of_pos_machine],\n })\n }\n}\n\n public initBusinessForm(): void {\n this.businessForm = this.fb.group({\n pdid: this.pdDetails.pd_id,\n formid: this.FormId.form_id,\n fk_createdby: this.users,\n profession_name: ['', Validators.compose([Validators.required])],\n business_years: ['', Validators.compose([Validators.required])],\n industry: ['', Validators.compose([Validators.required])],\n type_of_activity: ['', Validators.compose([Validators.required])],\n seasonality: ['', Validators.compose([Validators.required])],\n designation: this.fb.array([]),\n partners: this.fb.array([]),\n employees_total: ['', Validators.compose([Validators.required])],\n employees_permanent: ['', Validators.compose([Validators.required])],\n employees_temporary: ['', Validators.compose([Validators.required])],\n officer_total: ['', Validators.compose([Validators.required])],\n officer_permanent: ['', Validators.compose([Validators.required])],\n officer_temporary: ['', Validators.compose([Validators.required])],\n invested_amount: ['', Validators.compose([Validators.required])],\n working_capital: ['', Validators.compose([Validators.required])],\n is_service_provided: ['', Validators.compose([Validators.required])],\n ownership_setup: ['', Validators.compose([Validators.required])],\n ownership_others: [''],\n rent_paid: [''],\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\n export_import_cert: ['', Validators.compose([Validators.required])],\n factory_cert: ['', Validators.compose([Validators.required])],\n practice_cert: ['', Validators.compose([Validators.required])],\n pf_regn: ['', Validators.compose([Validators.required])],\n esic_regn: ['', Validators.compose([Validators.required])],\n other_documents: ['', Validators.compose([Validators.required])],\n documents: this.fb.array([]),\n business_remarks: ['', Validators.compose([Validators.required])],\n who_started: ['', Validators.compose([Validators.required])],\n main_person: ['', Validators.compose([Validators.required])],\n other_main_person: [''],\n family_members_involved: ['', Validators.compose([Validators.required])],\n before_business: ['', Validators.compose([Validators.required])],\n any_delays: ['', Validators.compose([Validators.required])],\n });\n}\n\nsubmitDetails() {\n\n if(this.EntityTypeFlag == true){\n let control: any = this.businessForm.controls['partners'];\n let control2:any = control.controls[0];\n\n control2.controls['shareholding'].clearValidators();\n control2.controls['shareholding'].updateValueAndValidity();\n control2.controls['shareholding'].setValue('100');\n\n \n // control.controls[0].removeControl('shareholding');\n // control.controls[0].removeControl('started_business');\n // control.controls[0].removeControl('current_business_experiance_year');\n // control.controls[0].removeControl('current_business_experiance_month');\n // control.controls[0].removeControl('total_business_experiance');\n \n control2.controls['started_business'].setValue('');\n\n control2.controls['current_business_experiance_year'].clearValidators();\n control2.controls['current_business_experiance_year'].updateValueAndValidity();\n control2.controls['current_business_experiance_year'].setValue('');\n\n control2.controls['current_business_experiance_month'].setValue('');\n\n control2.controls['total_business_experiance'].clearValidators();\n control2.controls['total_business_experiance'].updateValueAndValidity();\n control2.controls['total_business_experiance'].setValue('');\n // if(control2.controls['total_business_previous_experience'].value !=undefined){\n // control2.controls['total_business_previous_experience'].clearValidators();\n // control2.controls['total_business_previous_experience'].updateValueAndValidity();\n // control2.controls['total_business_previous_experience'].setValue('0');\n // }\n\n }\n\n \n let family: any = [];\n \n let design: any;\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\n let records:any;\n // records.pdid = this.pdDetails.pd_id;\n // records.formid = this.FormId;\n // records.fk_createdby = this.users;\n records=this.businessForm.value;\n\n //if(records.persons_with_relationships=='')\n if (records.other_documents == 'no') {\n delete records.documents;\n }\n if (records.rent_paid == '') {\n delete records.rent_paid;\n }\n if (records.ownership_others == '') {\n delete records.ownership_others;\n }\n // records.family_members_involved = this.relativeNames;\n \n\n let validationFlag : number = 0;\n\n //type 1: Checking manufacturing_activity_details \n if(records.manufacturing_activity_details.length > 0){\n\n records.manufacturing_activity_details.forEach((val,index) => {\n if(val.area_of_sale!= \"Within India\"){ \n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n \n }\n\n //type 3 checking wholesale_trading_activity_details\n if(records.wholesale_trading_activity_details.length > 0){\n\n records.wholesale_trading_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){ \n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n //type 2 checking retail_trading_activity_details\n if(records.retail_trading_activity_details.length > 0){\n\n records.retail_trading_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){ \n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n\n //type 4 checking service_provider_activity_details\n if(records.service_provider_activity_details.length > 0){\n\n records.service_provider_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){\n \n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n //validationFlag is greater then 0 means its display the notifer as warning\n if(validationFlag > 0){\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\n return;\n }\n\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\n this.qustCat.saveForm(records).subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },3000);\n }\n });\n}\n getBuisnessDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \n this.qustCat.retiverForm(records).subscribe(data => {\n let businessVal = data['records'];\n \n let constVal: any;\n const Desgn = this.businessForm.controls['designation'];\n const Partnr = this.businessForm.controls['partners'];\n const otherDoc = this.businessForm.controls['documents'];\n\n if (data['status'] == 200) {\n let DocArray: any;\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\n return data['records'].designation[key];\n });\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\n return data['records'].partners[key];\n });\n\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\n return data['records'].family_members_involved[key];\n });\n let enduse: any = [];\n let existRelative: any =[];\n selectedMembers.forEach(val => {\n enduse.push(val.member);\n existRelative.push(val);\n });\n this.relativeNames = existRelative;\n if (DesgnArray.length == 0) {\n Desgn.push(this.createDesignation());\n } else {\n DesgnArray.forEach(datas => {\n Desgn.push(this.createDesignation());\n });\n \n }\n if (PartnrArray.length == 0) {\n Partnr.push(this.createPartners());\n } else {\n PartnrArray.forEach(datas => {\n Partnr.push(this.createPartners());\n });\n }\n if (data['records'].other_documents == 'yes') {\n DocArray = Object.keys(data['records'].documents).map(function (key) {\n return data['records'].documents[key];\n });\n DocArray.forEach(datas => {\n otherDoc.push(this.createDocument());\n });\n } else {\n DocArray = [{document: ''}];\n otherDoc.push(this.createDocument());\n }\n if (data['records'].ownership_setup != 'others') {\n businessVal.ownership_others = '';\n }\n if (data['records'].ownership_setup != 'rented') {\n businessVal.rent_paid = '';\n }\n businessVal.family_members_involved = enduse;\n businessVal.pdid = this.pdDetails.pd_id;\n businessVal.formid = this.FormId.form_id;\n businessVal.fk_createdby = this.users;\n businessVal.designation = DesgnArray;\n businessVal.partners = PartnrArray;\n businessVal.documents = DocArray;\n\n this.businessForm.setValue(businessVal);\n } else {\n Desgn.push(this.createDesignation());\n Partnr.push(this.createPartners());\n otherDoc.push(this.createDocument());\n }\n\n });\n }\n setStep(index: number) {\n this.step = index;\n}\ninWords(e,flag){\n switch(flag){\n case 1 : \n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\n break;\n }\n }\n ManufacturingCounterArray: any = [];\nRetailCounterArray: any = [];\nWholeSaleCounterArray: any = [];\nServiceCounterArray: any = [];\n\n CheckExport(value,stringFlag,index){\n //this.ExportFlag=false\n const parentControl = this.businessForm.controls['select_business_activity_type'];\n const childControl = parentControl.controls[0];\n\n\n // childControl.forEach((datas,index) => {\n \n \n // // exist_status==true && event.value.type_of_activity_id\n\n // });\n\n \n\n \n \n if(!this.ManufacturingChecked){\n // console.log(\"Manu\")\n if(stringFlag == 'MActivity' && value == \"Both\"){\n this.ManufacturingCounterArray[index] = 1;\n }\n else if(stringFlag == 'MActivity' && value != \"Both\"){\n this.ManufacturingCounterArray[index] = 0;\n }\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\n // console.log(\"manu\");\n this.ManufacturingCounterArray[index] = 0;\n }\n\n if(!this.RetailedChecked){ \n if(stringFlag == 'RActivity' && value == \"Both\"){\n this.RetailCounterArray[index] = 1;\n }\n else if(stringFlag == 'RActivity' && value != \"Both\"){\n this.RetailCounterArray[index] = 0;\n }\n }\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\n this.RetailCounterArray[index] = 0;\n }\n\n if(!this.WholeSalesChecked){\n if(stringFlag == 'WActivity' && value == \"Both\"){\n this.WholeSaleCounterArray[index] = 1;\n }\n else if(stringFlag == 'WActivity' && value != \"Both\"){\n this.WholeSaleCounterArray[index] = 0;\n }\n }\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\n this.WholeSaleCounterArray[index] = 0;\n }\n \n if(!this.ServiceChecked){\n \n if(stringFlag == 'SPActivity' && value == \"Both\")\n { \n this.ServiceCounterArray[index] = 1;\n }\n else if(stringFlag == 'SPActivity' && value != \"Both\"){\n this.ServiceCounterArray[index] = 0;\n }\n\n }else if(stringFlag == 'SPActivity'){\n this.ServiceCounterArray[index] = 0;\n } \n\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\n \n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\n \n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\n \n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\n \n\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\n \n\n this.ExportFlag = overallCounter > 0 ? true : false ;\n // console.log(this.ExportFlag);\n //console.log(overallCounter)\n\n}\nchangePOSMachinesAvailablity(e, flag) {\nconsole.log(e)\n e == 'yes'\n ? this.businessForm.addControl('no_of_pos_machines', new FormControl(''))\n : this.businessForm.removeControl('no_of_pos_machines');\n\n if (flag == 2) {\n e == 'yes'\n ? this.businessForm.controls.no_of_pos_machines.setValue('')\n : this.businessForm.removeControl('no_of_pos_machines');\n }\n\n}\ntoGetPOSMachinesDetails(e,flag){\n\n if(flag == 1){ this.businessForm.addControl('pos_machines_details', this.fb.array([])); }\n const control = this.businessForm.controls['pos_machines_details'];\n\n while (control.length !== 0) {\n control.removeAt(0);\n }\n\n if(e > 0 ){\n if(flag == 1){\n for(let i = 1 ; i<= e ; i++ ){\n control.push(this.createPOSMachinesDetails(null));\n }\n }\n else if(flag == 2){\n for(let i = 1 ; i<= e ; i++ ){\n control.push(this.createPOSMachinesDetails(this.temp_additiondetailofposmachine));\n }\n }\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\n\n/**\n * Generated class for the PdQuestionBusinessAssetsPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business-assets',\n templateUrl: 'pd-question-business-assets.html',\n})\nexport class PdQuestionBusinessAssetsPage {\n currentYear:any=new Date().getFullYear();\n\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\n {'value': \"no\",'viewValue': \"No\"},\n {'value': \"nan\",'viewValue': \"NA\"}]\n\n company_id:any;\n pdDetails:any;\n formDetails : any;\n users:any;\n _businessAssetsQuesFrom:FormGroup;\n m_assets_type:any;\n m_propertyType:any;\n AssetValueInwords:any=[];\n appxMarketAmtInwords:any=[];\n RentAmtInwords:any=[]\n mergeCompanyApplicant:any=[];\n existCompanyList:any=[]\n applicants:any;\n data_all:any;\n CustSegAbbr: any;\n generalExistBusinessYear:Number;\n generalExistBusinessMonth:Number;\n yearErrorMessage: any=[];\n monthErrorMessage: any=[];\n addressLabel: any=[];\n placeholderName : any = []\n m_address_type:any=[]\n pageTitle: string;\n main_applicant: any;\n lender_applicant_id: any;\n subproduct_abbr: any;\n customer_segment_abbr: any;\n RentAmtInwordsForAddress: any =[];\n appxMarketAmtInwordsForAddress: any =[];\n isOtherOwnerForAddress : boolean = false;\n isOtherOwner: boolean = false;\n public m_vehicle_type = [];\n \n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\n \n \n this.pdDetails=this.navParams.get('pdDetails');\n this.formDetails=this.navParams.get('formDetails');\n this.users=this.aws.getlocale();\n this.company_id=this.pdDetails.company_id;\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n this.generalExistBusinessYear = this.pdDetails.business_years;\n this.generalExistBusinessMonth = this.pdDetails.business_month;\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\n this.main_applicant = this.pdDetails.applicant_name;\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\n this.getDropDown()\n \n \n \n \n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\n this.getDetails()\n //this.getAddress()\n }\n getAddress(){\n let params:any={};\n params.pd_id=this.pdDetails.pd_id;\n params.pd_form_id='5'\n\n this.qustcat.retiverForm(params).subscribe(data => {\n const control= this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n if(data['status'] == 200) {\n \n \n if(data['records'].addresses.length > 0){\n data['records'].addresses.forEach((data,inx)=>{\n\n \n this.addressLabel[inx] = '';\n \n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];\n let address = data.address;\n let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\n \n this.placeholderName[inx] = 'Was any business activity seen at the '+addressType+' during PD visit?';\n let addressLabel = \" : \"+address+' / '+addressType ;\n let values={\n address_label:addressLabel,\n business_years: '',\n business_month: '',\n business_address_availability: '',\n business_is_pd_visited: '',\n business_pd_visited_remark: '', \n business_approximate_market_value: '',\n business_ownership_type: '',\n business_monthly_rented_amt: '',\n business_name_of_the_owner: '',\n business_name_of_the_other_owner: '',\n business_vintage: '',\n business_purchase_year: '',\n business_emi: ''\n }\n control.push(this.initBusinessDetailsWithdata(values));\n })\n }\n else{\n control.push(this.initBusinessDetails())\n }\n }\n else{\n control.push(this.initBusinessDetails());\n }\n });\n }\n getDropDown(){\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\n })\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\n data => {\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\n })\n \n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\n \n })\n\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\n })\n\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\n if(data.dataStatus){\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\n \n }\n \n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n }\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n })\n\n \n \n }\n apiLoadFinish:boolean=false\n getDetails(){\n let params:any={};\n params.pd_id=this.pdDetails.pd_id\n params.company_id=this.company_id\n params.pd_form_id=22\n this.qustcat.retiverForm(params).subscribe(res=>{\n \n if(res['dataStatus']==true){\n \n //this.data_all=res['records']\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\n return res['records'].business_assets_details[key]\n });\n \n //this.formLoadData(assestArray)\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\n if(assestArray.length>0){\n for(let val of assestArray){\n let formData={\n business_assets_mode: val.business_assets_mode,\n business_approximate_market_value: val.business_approximate_market_value,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_purchase_year: val. business_purchase_year,\n business_vintage : val.business_vintage,\n business_emi: val.business_emi,\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetailsWithdata(formData));\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\n }\n }*/\n this.formLoadData(res['records'])\n }\n\n \n else{\n this.formLoadData(null);\n }\n this.apiLoadFinish=true\n \n \n })\n //this.formLoadData(null);\n \n }\n \n formLoadData(data){\n if(data==null){\n this._businessAssetsQuesFrom=this.fb.group({\n pdid: [this.pdDetails.pd_id],\n /* formid: ['22'],*/\n formid: [this.formDetails.form_id],\n company_id : [this.company_id],\n fk_createdby:[this.users],\n \n business_assets_for_address: this.fb.array([]),\n //this.createBusinessAssetsForAddress(),\n business_assets_details : this.fb.array([\n this.initBusinessDetails(),\n ]),\n business_assets_form_remark:['']\n });\n this.getAddress();\n this.loadDetails=true;\n }\n else{\n \n let value=data;\n this._businessAssetsQuesFrom=this.fb.group({\n pdid: [this.pdDetails.pd_id],\n /* formid: ['22'],*/\n formid: [this.formDetails.form_id],\n company_id : [this.company_id],\n fk_createdby:[this.users],\n // business_years:[value.business_years],\n // business_month:[value.business_month],\n // business_address_availability:[value.business_address_availability],\n // business_is_pd_visited:[value.business_is_pd_visited],\n // business_pd_visited_remark:[value.business_pd_visited_remark],\n business_assets_for_address: this.fb.array([]),\n business_assets_details : this.fb.array([]),\n business_assets_form_remark:[value.business_assets_form_remark || '']\n });\n // if (value.business_assets_for_address.business_address_availability == 'yes') {\n \n // this.addBusinessAssetsForAddress(value.business_assets_for_address);\n // }\n // else {\n // const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n // control.push(this.createBusinessAssetsForAddress());\n // } \n // this.addBusinessAssetsDetailsWithData(value.business_assets_details);\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\n }\n\n this.loadDetails=true\n }\n\n initBusinessDetails(){\n return this.fb.group({\n address_label:[''],\n business_assets_mode:[''],\n business_details: this.fb.array([]),\n \n business_years:[''],\n business_month:[''],\n business_address_availability:[''],\n business_is_pd_visited:[''],\n business_pd_visited_remark:[''],\n \n business_approximate_market_value: [''],\n business_ownership_type:[''],\n business_monthly_rented_amt:[''],\n business_name_of_the_owner: [],\n business_name_of_the_other_owner: [],\n business_vintage: [''],\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: [''],\n \n })\n }\n loadProperty() {\n return this.fb.group({\n property_type: [''],\n other_property_type: [''],\n address_of_the_property: ['']\n });\n }\n load_Four_Weeler() {\n return this.fb.group({\n manufacturer_model_vehicle: [''],\n vehicle_type: [''],\n other_vehicle_type: ['']\n });\n }\n loadEquipmentManufacturingDescription() {\n return this.fb.group({\n equipment_manufacturing_description: ['']\n });\n }\n otherBusinessAssetsDescription() {\n return this.fb.group({\n any_other_assets: [''],\n any_other_asset_value : [''],\n any_other_asset_loan : [''], \n });\n }\n\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\n addAssetDetails(e) {\n \n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetails());\n \n }\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\n removeAssetsDetails(i: number) {\n \n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.removeAt(i);\n\n}\n\ncreateBusinessAssetsForAddress(): FormGroup {\n return this.fb.group({\n address_label:[''],\n business_years:[''],\n business_month:[''],\n business_address_availability:[''],\n business_is_pd_visited:[''],\n business_pd_visited_remark:[''],\n\n business_approximate_market_value: [''],\n business_ownership_type: [''],\n business_monthly_rented_amt: [''],\n business_name_of_the_owner: [''],\n business_name_of_the_other_owner: [''],\n business_vintage: [''],\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: ['']\n });\n}\n\n selectedAssetsType(e: any, i: any): void {\n let val = i;\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\n arr.controls.splice(0);\n \n switch (e.value) {\n case '1': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.otherBusinessAssetsDescription());\n break;\n }\n case '2': {\n let val = i;\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadProperty());\n break;\n }\n case '3': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.load_Four_Weeler());\n break;\n }\n case '4': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadEquipmentManufacturingDescription());\n break;\n }\n \n default: {\n break;\n }\n }\n }\n\n loadPropertyWithData(data) { \n return this.fb.group({\n property_type: [data.property_type],\n other_property_type: [data.other_property_type],\n address_of_the_property: [data.address_of_the_property],\n });\n }\n load_Four_WeelerWithData(data){\n return this.fb.group({\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\n vehicle_type: [data.vehicle_type],\n other_vehicle_type: [data.other_vehicle_type]\n })\n }\n\n loadEquipmentManufacturingDescriptionWithData(data) {\n return this.fb.group({\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\n });\n }\n otherBusinessAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n any_other_asset_loan : [data.any_other_asset_loan],\n });\n }\n\n loadDetails:boolean\n addBusinessAssetsForAddress(data) {\n var result = Object.keys(data).map(function (key) {\n return data[key];\n });\n if (result.length > 0) {\n result.forEach((datas, index) => {\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\n let Avaliablity = 1;\n \n if(datas.business_name_of_the_owner.length > 0){\n datas.business_name_of_the_owner.forEach(option => {\n if(option.id == 0 && option.group_id == 2){\n Avaliablity = option.id;\n }\n });\n }\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\n });\n\n for (let val of result) {\n let vals = {\n address_label:val.address_label,\n business_years:val.business_years,\n business_month:val.business_month,\n business_address_availability:val.business_address_availability,\n business_is_pd_visited:val.business_is_pd_visited,\n business_pd_visited_remark:val.business_pd_visited_remark,\n\n business_approximate_market_value: val.business_approximate_market_value,\n business_ownership_type: val.business_ownership_type,\n business_monthly_rented_amt: val.business_monthly_rented_amt,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_vintage: val.business_vintage,\n business_purchase_year: val.business_purchase_year,\n business_emi: val.business_emi\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n control.push(this.createBusinessAssetsForAddressWithData(vals));\n }\n } else {\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n control.push(this.createBusinessAssetsForAddress());\n }\n }\n addBusinessAssetsDetailsWithData(supp_data){\n var result=Object.keys(supp_data).map(function(key){\n return supp_data[key];\n })\n \n if(result.length>0){\n result.forEach((datas,index)=>{\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\n });\n for(let val of result){\n let formData={\n address_label:val.address_label,\n business_assets_mode: val.business_assets_mode,\n\n business_years:val.business_year,\n business_month:val.business_month,\n business_address_availability:val.business_address_availability,\n business_is_pd_visited:val.business_is_pd_visited,\n business_pd_visited_remark:val.business_pd_visited_remark,\n\n business_approximate_market_value: val.business_approximate_market_value,\n business_ownership_type:val.business_ownership_type,\n business_monthly_rented_amt:val.business_monthly_rented_amt,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_purchase_year: val. business_purchase_year,\n business_vintage : val.business_vintage,\n business_emi: val.business_emi,\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetailsWithdata(formData));\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\n }\n \n }\n this.loadDetails=true\n }\n\n createBusinessAssetsForAddressWithData(data): FormGroup {\n return this.fb.group({\n address_label:[data.address_label],\n business_years:[data.business_years],\n business_month:[data.business_month],\n business_address_availability:[data.business_address_availability],\n business_is_pd_visited:[data.business_is_pd_visited],\n business_pd_visited_remark:[data.business_pd_visited_remark],\n\n business_approximate_market_value: [data.business_approximate_market_value],\n business_ownership_type: [data.business_ownership_type],\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\n business_name_of_the_owner: [data.business_name_of_the_owner],\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\n business_vintage: [data.business_vintage],\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: [data.business_emi]\n });\n }\n\n initBusinessDetailsWithdata(data) {\n \n\n let formGroup= this.fb.group({\n address_label:[data.address_label],\n business_assets_mode: [data.business_assets_mode],\n \n business_years:[data.business_year],\n business_month:[data.business_month],\n business_address_availability:[data.business_address_availability],\n business_is_pd_visited:[data.business_is_pd_visited],\n business_pd_visited_remark:[data.business_pd_visited_remark],\n\n business_details: this.fb.array([]),\n business_approximate_market_value: [data.business_approximate_market_value],\n business_ownership_type : [data.business_ownership_type],\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\n business_name_of_the_owner: [data.business_name_of_the_owner],\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\n // relation: [data.relation || ''],\n business_vintage: [data. business_vintage],\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n // purchase_month: [data.purchase_month],\n business_emi: [data.business_emi || ''],\n });\n return formGroup;\n }\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\n \n let val = i;\n let data = datas;\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\n control.controls.splice(0);\n\n switch (assets_details_mode) {\n case '2': {\n let business_property_datas : any;\n data.forEach((datas,i) => {\n business_property_datas = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, 'address_of_the_property': datas.address_of_the_property };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadPropertyWithData(business_property_datas));\n break;\n }\n case '3': {\n let business_Four_Weeler_datas : any;\n data.forEach((datas,i) => {\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\n break;\n }\n case '4': {\n let equipment_manufacturing_description_datas : any;\n data.forEach((datas,i) => {\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\n break;\n }\n \n case '1': {\n let array_datas : any;\n data.forEach((datas,i) => {\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\n array_datas = {\n 'any_other_assets': datas.any_other_assets,\n // 'any_other_asset_value': datas.any_other_asset_value,\n 'any_other_asset_loan': datas.any_other_asset_loan,\n };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n public paymentModeTextBox: number;\n selectedPM(e) {\n this.paymentModeTextBox = e.value;\n // this.f.supplier_details.controls.get('payment_mode_value');\n }\n\n public freqPurchaseTextBox: number;\n selectedFreqPurchase(e) {\n this.freqPurchaseTextBox = e.value;\n }\n \n\n onSubmit(){\n var answerData=this._businessAssetsQuesFrom.value;\n //To Remove The \"Null\" With Key also\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n\n this.qustcat.saveForm(answerData).subscribe(result=>{\n if(result['dataStatus']==true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\n }\n })\n \n }\n // calculate vintage and purchase {}\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\n if (type == 1) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\n }\n else if (type == 2) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\n }\n if (type == 3) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\n }\n else if (type == 4) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\n }\n }\n\n\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n\n // // check others\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n\n\n setRequiredValidation(value, item, flag,i) {\n\n if (flag == 1) {\n if (value == 'yes') {\n console.log(\"bu\",this._businessAssetsQuesFrom.controls);\n // this._businessAssetsQuesFrom.controls.business_assets_for_address.value[i].business_years.setValidators([Validators.required]);\n \n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.setValidators([Validators.required]);\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.setValidators([Validators.required]);\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\n }\n else {\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.clearValidators();\n \n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.clearValidators();\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.clearValidators();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\n }\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.updateValueAndValidity();\n \n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.updateValueAndValidity();\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\n\n\n }\n // if(flag == 2){\n // value==1\n // ? item.controls.premises_type_others.setValidators([Validators.required])\n // : item.controls.premises_type_others.clearValidators();\n // item.controls.premises_type_others.updateValueAndValidity();\n // }\n if (flag == 3) {\n if (value == 'owned') {\n item.controls.business_monthly_rented_amt.clearValidators();\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\n }\n else {\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\n item.controls.business_name_of_the_owner.clearValidators();\n }\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\n item.controls.business_name_of_the_owner.updateValueAndValidity();\n }\n if (flag == 4) {\n let Avaliablity = 1;\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n if(Avaliablity == 0){\n \n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\n this.isOtherOwner = true;\n }else{\n \n item.controls.business_name_of_the_other_owner.setValue('');\n item.controls.business_name_of_the_other_owner.clearValidators();\n this.isOtherOwner = false;\n }\n \n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n\n // value == 0\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\n // : item.controls.business_name_of_the_other_owner.clearValidators();\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n }\n if (flag == 5) {\n value == 1\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\n : item.controls.other_vehicle_type.clearValidators();\n item.controls.other_vehicle_type.updateValueAndValidity();\n }\n if (flag == 6) {\n value == 1\n ? item.controls.other_property_type.setValidators([Validators.required])\n : item.controls.other_property_type.clearValidators();\n item.controls.other_property_type.updateValueAndValidity();\n\n value != ''\n ? item.controls.address_of_the_property.setValidators([Validators.required])\n : item.controls.address_of_the_property.clearValidators();\n item.controls.address_of_the_property.updateValueAndValidity();\n }\n if (flag == 7) {\n if (value == 'owned') {\n item.controls.business_monthly_rented_amt.clearValidators();\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\n }\n else {\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\n item.controls.business_name_of_the_owner.clearValidators();\n }\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\n item.controls.business_name_of_the_owner.updateValueAndValidity();\n }\n if(flag == 8){\n let Avaliablity = 1;\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){\n \n Avaliablity = option.id;\n }\n });\n // isOtherOwner: boolean = false;\n if(Avaliablity == 0){\n \n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\n this.isOtherOwnerForAddress = true;\n }else{\n \n item.controls.business_name_of_the_other_owner.setValue('');\n item.controls.business_name_of_the_other_owner.clearValidators();\n this.isOtherOwnerForAddress = false;\n }\n \n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n \n }\n\n }\n /** To Convert Month into Year */\n ConvertMonthintoYear(e,ind){\n console.log( this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years)\n let business_year = this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.value;\n \n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n let Year = +business_year + +Math.floor(converted_year);\n \n if(Year > this.generalExistBusinessYear){\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\n \n }\n else{\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\n {\n this.monthErrorMessage[ind] = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\n \n }else{\n this.monthErrorMessage[ind] = '';\n this.yearErrorMessage[ind] = '';\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(Math.floor(converted_month));\n }\n }\n }\n\n checkWithExistBusinessYear(e,ind){\n \n if(+e > this.generalExistBusinessYear){\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\n \n }\n else{\n this.yearErrorMessage[ind] = '';\n }\n }\n\n\n inWords(e,i,flag){\n switch(flag){\n case 1:\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\n break;\n case 2 : \n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 3:\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\n break;\n case 9:\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 10:\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\n// import { QueryState } from '@angular/core/src/render3/interfaces';\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\n\n\n/**\n * Generated class for the PdQuestionBusinessBankingPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business-banking',\n templateUrl: 'pd-question-business-banking.html',\n})\nexport class PdQuestionBusinessBankingPage {\npdDetails:any;\nm_btLenderList: any;\napplicants: any \nsalaryField: boolean;\nformDetails: any;\nform_id:any;\naccountType: any;\nusers: any;\nbankingForm:FormGroup;\npublic pd_cus_segment:string\ncompany_id:any;\n\npdid:any;\nitemRows:FormArray;\n\nexistCompanyList: any=[];\nmergeCompanyApplicant: any=[];\nstep:number\n amtInwords: any=[];\n emiAmtInwords: any=[];\n limitCaseFlag: any=[];\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\n this.pdDetails=this.navParams.get('pdDetails')\n \n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\n this.pdid=this.pdDetails.pd_id;\n this.formDetails=this.navParams.get('formDetails');\n this.form_id = this.formDetails.form_id;\n this.company_id=this.pdDetails.company_id\n \n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \n\n this.users = this.aws.getlocale();\n this.step=0\n this.bankingForm = this.fb.group(\n {\n itemRows:this.fb.array([]),\n banking_form_remark:[''],\n });\n \n \n \n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\n \n \n this.getdropdown();\n this.retiveBankDetails();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\n }\n getdropdown(){\n \n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.accountType=res['records'];\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n \n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n \n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n }\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n selectedAccTypeChanges(event: any,i){\n \n if(event == 2 || event == 1) {\n this.limitCaseFlag[i] = false;\n \n // const control = this.bankingForm.controls['itemRows'];\n \n // control.controls[0].get('limit').clearValidators();\n // control.controls[0].get('limit').updateValueAndValidity();\n \n }\n else{\n this.limitCaseFlag[i] = true;\n }\n\n}\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e){\n \n \n let year = itemrow.controls.vintage_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\n \n}\n /** Amount InWords */\n inWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n }\n\n setRequiredValidation(value,item,flag) {\n \n \n if(flag == 1){\n value==0\n ? item.controls.other_applicant.setValidators([Validators.required])\n : item.controls.other_applicant.clearValidators();\n item.controls.other_applicant.updateValueAndValidity();\n }\n if(flag == 2){\n value==1\n ? item.controls.other_bank.setValidators([Validators.required])\n : item.controls.other_bank.clearValidators();\n item.controls.other_bank.updateValueAndValidity();\n }\n \n }\n\n createBankItem(name) {\n \n return this.fb.group({\n applicant_name: [''],\n \n bank_name: [''],\n \n account_type: [''],\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\n limit: [''],\n other_bank:[''],\n other_applicant:[''],\n is_main: [''],\n vintage_year: [''],\n vintage_month: [''],\n \n });\n\n }\n addBankDetails(index,event) {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n \n event.stopPropagation()\n const control = this.bankingForm.controls['itemRows'];\n let length = control.length;\n this.step = length;\n \n control.push(this.createBankItem(''));\n \n \n \n }\n\n addmoreBankDetils()\n {\n \n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\n \n this.itemRows.push(this.createBankItem('')); \n }\n\n removebank(i){\n const control = this.bankingForm.controls['itemRows'];\n if(control.length==1){\n control.reset();\n }\n else\n \n \n control.removeAt(i);\n }\n \n setStep(index: number) {\n this.step = index;\n }\n\n retiveBankDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\n const control = this.bankingForm.controls['itemRows'];\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n \n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n \n \n if(result.length == 0){\n \n control.push(this.createBankItem(''))\n }else\n {\n \n result.forEach((datas,index)=>\n {\n this. selectedAccTypeChanges(datas.account_type,index);\n if(datas.limit != ''){\n \n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \n }\n this. selectedAccTypeChanges(datas.account_type,index);\n control.push(this.createBankItem(''));\n })\n \n this.bankingForm.controls['itemRows'].setValue(result);\n } \n }else\n {\n \n control.push(this.createBankItem(''));\n }\n });\n \n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.form_id;\n records.fk_createdby = this.users;\n records.company_id=this.company_id;\n records.banking_details = answerData.itemRows;\n records.banking_form_remark = answerData.banking_form_remark;\n \n this.qustCat.saveForm(records).subscribe(data => {\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\n }\n })\n \n }\n \n\n \n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { CameraProvider } from '../../providers/common-provider/camera';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdGeneralImagesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-general-images',\n templateUrl: 'pd-general-images.html',\n})\nexport class PdGeneralImagesPage {\n\n cameraArr:any = [];\n applicatentDetails: any;\n count:any = 0;\n saveAccess:boolean =false;\n FormId:any = '';\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n\n this.applicatentDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdGeneralImagesPage');\n }\n \n takePicture()\n {\n this.camera.getpicture().then(image=>\n {\n this.count = this.count+1;\n \n this.cameraArr.push({'image':image,'name':''});\n });\n }\n\n removeimage(i)\n {\n this.count = this.count - 1; \n this.cameraArr.splice(i,1);\n }\n\n docnames(doc,i,img)\n {\n \n this.cameraArr[i] = {'image':img,'Name':doc};\n // console.log(JSON.stringify(this.pddocdata)); \n }\n savePDImages()\n {\n \n this.saveAccess = true;\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\n records.images = this.cameraArr;\n this.qustCat.savePDImages(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.saveAccess = false;\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n } \n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { PdListPage } from '../../pd-list/pd-list';\nimport {ToastProvider} from '../../../providers/common-provider/toast'\n\n/**\n * Generated class for the BouncedRejectPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-bounced-reject',\n templateUrl: 'bounced-reject.html',\n})\nexport class BouncedRejectPage {\n\n users: any;\n bounseMaster: any;\n pdDetails: any;\n status: any;\n bounce_reason:any;\n bounce_reason_others:any = '';\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,\n public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public toast:ToastProvider) {\n // this.pdDetails = this.navParams.get('appdetails');\n // this.status = this.navParams.get('status');\n this.pdDetails=this.navParams.get('details')\n // console.log(this.pdDetails)\n this.users = this.aws.getlocale();\n this.getDropdown();\n \n }\n\n getDropdown()\n {\n \n \n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\n console.log(this.bounseMaster);\n }\n })\n \n }\n updatePDStatus()\n {\n if(this.bounce_reason !=null && this.bounce_reason !=1)\n {\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\n // console.log(this.bounce_reason)\n // console.log(this.bounce_reason_others);\n console.log(data);\n this.toast.pdTriggerappmessage(\"Thank You\");\n this.pdservice.updatepdStatus(data).subscribe(res=>\n {\n // this.updateStatus = res;\n if(res['dataStatus'] == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n else if(this.bounce_reason == 1 && this.bounce_reason_others != '' && this.bounce_reason_others !=null )\n {\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\n // console.log(this.bounce_reason)\n // console.log(this.bounce_reason_others);\n console.log(data);\n this.toast.pdTriggerappmessage(\"Thank You\");\n this.pdservice.updatepdStatus(data).subscribe(res=>\n {\n // this.updateStatus = res;\n if(res['dataStatus'] == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n \n \n\n else{\n this.toast.pdTriggerappmessage(\"Please Choose the Reason to Reject\");\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\n/*\n Generated class for the DatabaseProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class DatabaseProvider {\n database:SQLiteObject;\n constructor(public http: HttpClient,public sql:SQLite) {\n console.log('Hello DatabaseProvider Provider');\n this.createnewdb();\n }\n\n createnewdb()\n {\n // alert('function in');\n this.sql.create(\n {\n name:'sinnedge',\n location:'defalut',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \n {\n // alert('db create');\n this.getuserDetails();\n })\n .catch(e => console.log(e));\n })\n }\n getuserDetails()\n {\n // alert('getusers');\n this.sql.create(\n {\n name:'sineedge',\n location:'default',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\n {\n console.log(res);\n })\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the PasswordPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-password',\n templateUrl: 'password.html',\n})\nexport class PasswordPage {\n commonImage: string;\n newpassword: any;\n confirmPassword: any;\n pin:any;\n Username:any;\n Password:any;\n \n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\n this.commonImage = this.commonconstant.commonimage;\n this.Username = this.navParams.get('Username');\n this.Password = this.navParams.get('Password');\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PasswordPage');\n }\n setNewPassword(newpass)\n {\n if(newpass !='' && newpass !=null && newpass !== undefined){\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\n console.log(auth);\n this.aws.dologin(auth).subscribe(res => {\n console.log(res);\n this.navCtrl.setRoot(PdListPage);\n // this.router.navigate(['/home']);\n }, err => {\n this.toast.pdTriggerappmessage(err.message);\n // alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter the new Password');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n\nimport { PdListPage } from '../pd-list/pd-list';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\n\nimport { LoadingProvider } from '../../providers/common-provider/loading';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the AuthPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n \n\n@Component({\n selector: 'page-auth',\n templateUrl: 'auth.html',\n})\nexport class AuthPage {\n pinAccess: any;\n newpindetails: any;\n userDetails: any;\npin:any;\n mpinaccess:boolean =false;\n newpassword:any;\n ConfirmPassword:any;\n commonImage:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public Menu:MenuController,public fb:FormBuilder,public shared:CognitoServiceProvider,public toast:ToastProvider,public faio:FingerprintAIO,public aws:AwsServiceProvider,public loadingCtrl:LoadingProvider,public commonconstant:ConstantsProvider) {\n this.commonImage = this.commonconstant.commonimage;\n this.shared.refresh();\n this.getuserDetails();\n \n\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad AuthPage');\n }\n ionViewDidEnter(){\n this.Menu.enable(false);\n }\n ionViewWillLeave(){\n this.Menu.enable(true);\n }\n getuserDetails()\n {\n this.loadingCtrl.pdloader('loading...');\n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.loadingCtrl.loading.dismiss();\n this.userDetails = this.userDetails.records;\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\n if(this.userDetails[0].mpin ==null)\n {\n \n this.mpinaccess = true;\n \n }else\n {\n this.mpinaccess = false;\n }\n }else{\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n }else{\n this.toast.pdTriggerappmessage('')\n }\n //console.log(this.mpinaccess);\n });\n }\n setnewpin(newpin)\n {\n console.log(\"set Pin\")\n this.aws.userpinupdate(newpin).subscribe(res=>\n {\n this.newpindetails = res;\n if(this.newpindetails.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n /**Finger print */\n \n checkpin(pin) {\n console.log(\"Check pin\",pin);\n if(pin !='' && pin !=null)\n {\n if(this.userDetails[0].mpin == pin)\n {\n console.log(\"Entering List page\")\n this.navCtrl.setRoot(PdListPage);\n }else\n {\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\n }\n }else\n {\n this.toast.pdTriggerappmessage('Enter The PIN');\n }\n\n \n \n }\n checkfingerprint()\n {\n console.log(\"Check Finger\");\n this.faio.show({\n clientId: 'Fingerprint-Demo',\n clientSecret: 'password', // Only Android\n localizedFallbackTitle: 'Use Pin', // Only iOS\n localizedReason: 'Please authenticate',\n disableBackup:true,\n })\n .then((result: any) => {\n this.navCtrl.setRoot(PdListPage);\n })\n .catch((error: any) => {\n this.toast.pdTriggerappmessage('err: '+ error);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoadingController } from 'ionic-angular';\n/*\n Generated class for the LoadingProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class LoadingProvider {\n\n loading: any;\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\n console.log('Hello LoadingProvider Provider');\n }\n\n pdloader(content)\n {\n this.loading = this.loadingCtrl.create({\n content: content\n });\n\n this.loading.present();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\nimport { enableProdMode } from '@angular/core';\nenableProdMode();\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\n\nimport { MyApp } from './app.component';\n\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport { SQLite } from '@ionic-native/sqlite';\nimport { DatabaseProvider } from '../providers/database/database';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n\nimport {\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule\n} from '@angular/material';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthGuard } from '../providers/_guard/auth.guard';\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { ConstantsProvider } from '../providers/constants/constants';\nimport { AuthPage } from '../pages/auth/auth';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\nimport { PasswordPage } from '../pages/password/password';\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\nimport { InputPage } from '../pages/input/input';\nimport { ToastProvider } from '../providers/common-provider/toast';\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\n\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\nimport { OtpPage } from '../pages/otp/otp';\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\n\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\nimport { CameraProvider } from '../providers/common-provider/camera';\nimport { LoadingProvider } from '../providers/common-provider/loading';\nimport { Camera } from '@ionic-native/camera';\n\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\n\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\nimport { Geolocation } from '@ionic-native/geolocation';\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\n// import { DatePicker } from '@ionic-native/date-picker';\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\n\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\nimport { PdPipe } from '../pipes/pd/pd';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\n\n@NgModule({\n declarations: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionBusinessInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionStockInfoPage,\n PdQuestionClientInfoPage,\n PdQuestionRentalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionBusinessInfoPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n BouncedRejectPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionLenderRepresentativePage,\n PdQuestionGeneralInfoPage,\n PdQuestionGeneralOtherApplicantPage,\n PdQuestionNeighbourHoodPage,\n PdQuestionFinalRemarkPage,\n PdQuestionBusinessPage,\n PdQuestionBusinessGroupPage,\n PdQuestionBusinessAssetsPage,\n PdQuestionBusinessBankingPage,\n PdQuestionAssessedBusinessIncomePage,\n PdGeneralImagesPage,\n PdQuestionSalaryInfoPage,\n ],\n imports: [\n BrowserModule,ReactiveFormsModule,FormsModule,\n IonicModule.forRoot(MyApp),\n BrowserAnimationsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,MatListModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule,HttpClientModule,IonicImageViewerModule\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionBusinessInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionStockInfoPage,\n PdQuestionClientInfoPage,\n PdQuestionRentalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionBusinessInfoPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n BouncedRejectPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionLenderRepresentativePage,\n PdQuestionGeneralInfoPage,\n PdQuestionGeneralOtherApplicantPage,\n PdQuestionNeighbourHoodPage,\n PdQuestionFinalRemarkPage,\n PdQuestionBusinessPage,\n PdQuestionBusinessGroupPage,\n PdQuestionBusinessAssetsPage,\n PdQuestionBusinessBankingPage,\n PdQuestionAssessedBusinessIncomePage,\n PdGeneralImagesPage,\n PdQuestionSalaryInfoPage,\n \n ],\n providers: [\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\n {\n provide:HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: ErrorHandler,\n useClass: IonicErrorHandler\n },LaunchNavigator,\n AwsServiceProvider,\n QuestionCategoryProvider,\n CameraProvider,Camera,\n PdPipe,LocationAccuracy,\n LoadingProvider,Geolocation,\n DatabaseProvider\n ]\n})\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\nimport { Nav, Platform } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { MethodCall } from '@angular/compiler';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { PasswordPage } from '../pages/password/password';\nimport { AuthPage } from '../pages/auth/auth';\nimport {AlertController} from 'ionic-angular'\nimport { platformBrowser } from '@angular/platform-browser';\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\n\n\n@Component({\n templateUrl: 'app.html'\n})\nexport class MyApp {\n userDetails: any;\n userAccess:boolean = false;\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = LoginPage;\n public alertShown:boolean=false\n\n pages: Array<{title: string,icon:any, method: any}>;\n\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider\n ,public alertCtrl:AlertController) {\n this.initializeApp();\n\n // used for an example of ngFor and navigation\n this.pages = [ \n // { title: 'Home', component: HomePage, icon: 'home' },\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\n ];\n\n\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this.statusBar.styleDefault();\n if (this.platform.is('android')) {\n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n \n }\n this.splashScreen.hide();\n\n this.shared.getAccessToken().then(()=>{\n this.getuserDetails();\n this.rootPage = AuthPage\n }).catch(()=>{\n setTimeout(() => {\n this.rootPage = LoginPage;\n }, 1000);\n });\n \n });\n this.platform.registerBackButtonAction(()=>{\n if(this.nav.length()==1){\n if(this.alertShown==false){\n //this.presentConfirm(); \n let alert=this.alertCtrl.create({\n title:'Confirm Exit',\n message:'Do You Want Exit ?',\n buttons:[\n {\n text:'Cancel',\n role:'cancel',\n handler:()=>{\n console.log(\"Cancel clicked\");\n this.alertShown=false\n alert.dismiss\n }\n },\n {\n text:'Yes',\n handler:()=>{\n console.log(\"Exit\");\n this.platform.exitApp();\n }\n }\n ]\n });\n alert.present();\n this.alertShown=true\n }\n }\n else{\n this.nav.pop()\n }\n });\n }\n\n presentConfirm(){\nlet alert=this.alertCtrl.create({\n title:'Confirm Exit',\n message:'Do You Want Exit ?',\n buttons:[\n {\n text:'Cancel',\n role:'cancel',\n handler:()=>{\n console.log(\"Cancel clicked\");\n // this.alertShown=false\n alert.dismiss\n }\n },\n {\n text:'Yes',\n handler:()=>{\n console.log(\"Exit\");\n this.platform.exitApp();\n }\n }\n ]\n});\n alert.present();\n // this.alertShown=true;\n }\n getuserDetails()\n {\n \n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.userAccess = true;\n this.userDetails = this.userDetails.records[0];\n \n }\n \n });\n }\n menulist(id){\n //alert();\n switch(id)\n {\n case 1:\n this.nav.setRoot(PdListPage);\n break;\n case 2:\n this.AWS.logout().subscribe(()=>{\n \n this.nav.setRoot(LoginPage);\n });\n break;\n case 3:\n break;\n case 4:\n break;\n}\n}\n logout()\n {\n // this.aws.logout();\n this.nav.setRoot(LoginPage);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n\n\n\n@Injectable()\nexport class AuthGuard {\n \n constructor() { \n\n \n }\n\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n // // if (this.shared.getToken()) {\n // alert(\"if\");\n // // this.router.navigate(['']);\n // return true\n // } else {\n // alert(\"else\");\n // this.router.navigate(['/login']);\n // return false;\n // }\n // }\n getlogin(){\n // if (this.shared.getToken()) {\n // // alert(\"if\");\n // //alert();\n // return true;\n // } else {\n // // alert(\"else\");\n \n // //this.myGlobalServiceNav.setRoot(LoginPage);\n // this.shared.isloggin = false;\n // return false;\n \n \n // }\n }\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n \n \n // }\n\n // public getToken(): string {\n // return localStorage.getItem('token');\n // }\n\n // public logOut() {\n // localStorage.clear();\n // if(localStorage.getItem('token') === null){\n // this.router.navigate(['/login']);\n // }\n // }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpHeaders\n} from '@angular/common/http';\n// import { AuthGuard } from './auth.guard';\nimport { Observable, of} from 'rxjs';\n\n// import { Router } from '@angular/router';\n\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from \"@angular/common/http\";\n\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor{\n constructor(public shared:CognitoServiceProvider ) {\n \n }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // request = request.clone({\n // setHeaders: {\n // Authorization: `${this.auth.getToken()}`\n // }\n // });\n let token:any;\n this.shared.refresh();\n token = this.shared.getToken() || null;\n \n token = token.getIdToken().getJwtToken();\n \n //console.log(token);\n let requests = request.clone({\n headers:new HttpHeaders({\n \n 'Authorization': 'sparqvenba2018',\n 'Token':token,\n 'From':'1',\n \n \n }) \n \n });\n \n return next.handle(requests).pipe(\n catchError(this.handleError('role', []))\n )\n }\n\n private handleError (operation = 'operation', result?: T) {\n return (error: any): Observable => {\n if(error instanceof HttpErrorResponse){\n console.error(\"Error: \" + error.status);\n if(error.status == 401){\n localStorage.clear();\n // this.router.navigate(['/authentication/login']);\n }\n return of(result as T);\n }\n };\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\n\n/**\n * Generated class for the GoogleplaytabPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-googleplaytab',\n templateUrl: 'googleplaytab.html',\n})\nexport class GoogleplaytabPage {\n\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= true;\n isLeft:boolean= true;\n tabs:any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\n console.log('Width: ' + platform.width());\n this.screenWidth_px=platform.width();\n \n}\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad GoogleplaytabPage');\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n scrollIndicatiorTab()\n {\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n\n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n\n this.isLeft=false;\n this.isRight=false;\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n\n }\n\n\n\n}\n\n \n\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdAllocationPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-allocation',\n templateUrl: 'pd-allocation.html',\n})\nexport class PdAllocationPage {\npdFullDetails:any = [];\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n \n this.pdFullDetails = this.navParams.get('pdDetails');\n console.log(this.pdFullDetails);\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdAllocationPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\n\n/**\n * Generated class for the PdQuestionBusinessPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business',\n templateUrl: 'pd-question-business.html',\n})\nexport class PdQuestionBusinessPage {\n pdDetails:any;\n pdid:any;\n users:any;\n FormId:any;\n existCompanyList:any=[]\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId=this.navParams.get('FormId');\n this.users=this.aws.getlocale\n\n this.getDropDown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessPage');\n }\ngetDropDown(){\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\n console.log(this.existCompanyList);\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionSalaryInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-salary-info',\n templateUrl: 'pd-question-salary-info.html',\n})\nexport class PdQuestionSalaryInfoPage {\n\n salaryDetails:FormGroup\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.salaryDetails = this.fb.group(\n {\n gross:[null],\n netTakeHome:[null],\n bounsIncentive:[null],\n salaryDate:[null],\n anydelays:[null], \n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","import { Injectable } from '@angular/core';\n\n// import { CanActivateChild, Router } from '@angular/router';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\n\n// import { environment } from '../../environments/environment';\n\nimport { BehaviorSubject,Observable,of } from 'rxjs';\n\nconst sineedge_poolData = { \n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\n};\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"\",\n ClientId: \"\"\n}\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"\";\n// serviceProvider\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\n// const apiurl = \"http://localhost/sparqapi/api/\";\n\n@Injectable()\n\nexport class CognitoServiceProvider {\n public loggedIn :boolean = false;\n // public static _REGION = environment.region;\n\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\n // public static _USER_POOL_ID = environment.UserPoolId;\n // public static _CLIENT_ID = environment.ClientId;\n\n // public static _POOL_DATA: any = {\n // UserPoolId: CognitoService._USER_POOL_ID,\n // ClientId: CognitoService._CLIENT_ID\n // };\n \n\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\nisloggin:boolean = false; \n\n\n \n\n \n constructor() { \n \n }\n getCurrentUser() {\n \n return sineedgedevUserpool.getCurrentUser();\n}\n get isLoggedIn() {\n if(sineedgedevUserpool.getCurrentUser() !=null){\n this.loggedIn = true;\n }else{\n this.loggedIn = false;\n }\n return this.loggedIn; // {2}\n }\n \nrefresh() {\n let tokenexp:boolean;\n \n if(this.getCurrentUser() !=null){\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n }\n\n else {\n if (session.isValid()) {\n tokenexp = session.isValid();\n of(tokenexp)\n console.log(\"CognitoUtil: refreshed successfully\");\n \n } else {\n tokenexp = session.isValid();\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\n \n }\n }\n \n return tokenexp;\n \n });\n }else{\n this.loggedIn = false;\n }\n}\ngetAccessToken(){\n this.refresh();\n return new Promise((resolve, reject) => {\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n //console.log(JSON.stringify(this.getCurrentUser()));\n // console.log('76 if');\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n jwttoken ='';\n // console.log('81 if')\n reject(err);\n }\n else {\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n resolve();\n } else {\n \n }\n }\n });\n }\n else {\n //console.log(\"else\");\n reject();\n }\n});\n}\n\ngetToken():any {\n let isloggin = false;\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n isloggin = false;\n //console.log('81 if')\n }\n else {\n //alert('function else');\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n isloggin = true;\n } else {\n \n isloggin = false;\n }\n }\n });\n }\n else {\n // console.log(\"else\");\n isloggin = false;\n }\n return jwttoken;\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n\n\nimport { Observable } from \"rxjs/Observable\";\nimport \"rxjs/add/operator/map\";\nimport { CognitoServiceProvider } from './cognito.service';\nimport { ConstantsProvider } from '../constants/constants';\nimport { UrlResolver } from '@angular/compiler';\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"ap-south-1_K57yPaWxV\",\n ClientId: \"\"\n}\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\n\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Injectable()\nexport class AwsServiceProvider {\napiurl:any;\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\n this.apiurl = con.apiurl();\n }\n\n dologin(authenticationData) {\n // alert();\n //(authenticationData);\n const authenticationDetails = new AuthenticationDetails(authenticationData);\n let Newpassword = authenticationData.newpassword;\n let attributesData = [];\n const userData = {\n Username: authenticationData.Username, // User email id\n Pool: sineedgedevUserpool // user Pool ID\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observer => {\n cognitoUser.authenticateUser(authenticationDetails, {\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \n cognitoUser.completeNewPasswordChallenge(\n Newpassword,\n attributesData,\n {\n onSuccess: function (result) {\n observer.next(result);\n observer.complete();\n },\n onFailure: function (err) {\n //(err);\n observer.error(err);\n //LoginComponent.prototype.open();\n }\n }\n );\n },\n onSuccess: function (result) { // success user login\n // let accessToken = result.getAccessToken().getJwtToken();\n ////(result);\n //window.localStorage.setItem('Currentuser', '1');\n observer.next(result);\n observer.complete();\n this.shared.isloggin = true;\n },\n onFailure: function (err) { // error user login\n\n //alert(err.message);\n observer.error(err);\n }\n });\n });\n }\n userforgotpass(auth) {\n ////(auth);\n const userData = {\n Username: auth.Username,\n Pool: sineedgedevUserpool\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observe => {\n cognitoUser.forgotPassword({\n onSuccess: function (data) {\n // successfully initiated reset password request\n //('CodeDeliveryData from forgotPassword: ' + data);\n observe.next(data);\n },\n onFailure: function (err) {\n alert(err.message || JSON.stringify(err));\n },\n //Optional automatic callback\n inputVerificationCode: function (data) {\n //('Code sent to: ' + data);\n var verificationCode = prompt('Please input verification code ', '');\n var newPassword = prompt('Enter new password ', '');\n cognitoUser.confirmPassword(verificationCode, newPassword, {\n onSuccess() {\n //('Password confirmed!');\n },\n onFailure(err) {\n //('Password not confirmed!');\n }\n });\n }\n });\n });\n\n\n }\n /**\n * End of the function \n */\n\n /**\n * Logout function\n */\n logout(){\n \n return Observable.create(observe=>{\n this.shared.getCurrentUser().signOut(); \n \n observe.next();\n \n observe.complete();\n });\n }\n\n\n /**\n * Config function\n */\n // getconfig() {\n // let session:any = this.shared.getAccessToken() || \"\";\n \n // let config = \"\";\n // config += AWS.config.region = \"ap-south-1\";\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\n // Logins: {\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\n // .getIdToken()\n // .getJwtToken()\n // }\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\n // });\n // return config;\n // }\n\n getlocale(){\n let session:any = this.shared.getToken() || null;\n let userid = session.idToken.payload.locale;\n return userid;\n }\n getuserprofile(userid)\n {\n \n \n // alert();\n \n //console.log(cogusers.idToken.payload.locale);\n let roles = {'userid':userid}; \n \n \n // let request = new RequestOptions({headers:headers});\n return this.http.post(this.apiurl+'getUsersDetails',roles);\n \n }\n\n userpinupdate(pin)\n {\n let userid = this.getlocale(); \n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\n let formdata = new FormData();\n \n formdata.append('records',JSON.stringify(records));\n return this.http.post(this.apiurl+'updateExistUser',formdata);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component,ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\nimport { InputPage } from '../input/input';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { parseDate } from 'ionic-angular/util/datetime-util';\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\nimport { OtpPage } from '../otp/otp';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { DatabaseProvider } from '../../providers/database/database';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n/**\n * Generated class for the PdListPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-list',\n templateUrl: 'pd-list.html',\n})\nexport class PdListPage {\n\n @ViewChild('slider') slider:Slides;\n searchinprogress: any;\n searchpast: any;\n pdschduleDetails: any;\n bgColorPast: any = [];\n bgColor: any = [];\n pdinprogress: any=[];\n pdlistdetails: any=[];\n viewchange: boolean;\n pdlist:any = \"0\";\n pdlistaccess:boolean = null;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\n //this.getlenderpddetails(); \n // this.getpdTriggerdetails();\n \n }\n selectedTab(ind)\n {\n this.slider.slideTo(ind)\n }\n moveButton(event){\n this.pdlist=event._snapIndex.toString();\n }\n\n ionViewDidLoad() {\n \n console.log('ionViewDidLoad PdListPage');\n this.db.getuserDetails();\n this.setpermission();\n }\n ionViewCanEnter()\n {\n console.log(\"Pd list ionViewCanEnter\")\n this.getpdTriggerdetails();\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n this.pdinprogress = this.pdinprogress;\n this.pdschduleDetails = this.pdschduleDetails;\n }\n \n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n \n this.pdinprogress = this.searchinprogress;\n this.pdschduleDetails = this.searchpast;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n \n if(this.pdlist == \"inpro\"){\n if (q.trim() == '') {\n return ;\n }else{\n this.pdinprogress = this.searchinprogress.filter((v) => {\n if (v.applicat_details !== undefined && v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1 || v.city_name != null && v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\n return true;\n }\n return false;\n })\n }\n }else\n {\n if (q.trim() == '') {\n \n return ;\n }else{\n this.pdschduleDetails = this.searchpast.filter((v) => {\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\n || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1|| v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\n \n return true;\n }\n \n return false;\n })\n }\n \n}\n}\n newpage(){\n this.navCtrl.push(InputPage);\n }\n getpdTriggerdetails()\n {\n \n let userid = this.aws.getlocale();\n //.log(\"User\",userid)\n\n this.pdofficer.getpddetails(userid).subscribe(res=>\n {\n this.pdlistdetails = res;\n if(this.pdlistdetails.dataStatus == true)\n {\n \n \n this.pdlistaccess = true;\n this.pdschduleDetails = this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" || sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\" || sch.pd_status ==\"INPROGRESS\" && sch.applicat_details);\n this.searchpast = this.pdschduleDetails;\n \n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\n this.searchinprogress = this.pdinprogress;\n \n this.random_bg_color();\n this.random_ng_past();\n }else\n {\n this.pdlistaccess = false;\n this.pdlistdetails = \"No Records Found\";\n }\n })\n }\n\n random_bg_color() {\n for(let id of this.pdinprogress){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n \n return this.bgColor;\n }\n random_ng_past()\n {\n for(let id of this.pdschduleDetails){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n doRefresh(refresher) {\n this.bgColor = [];\n this.pdschduleDetails = [];\n this.pdinprogress = [];\n \n this.shared.refresh();\n this.getpdTriggerdetails();\n setTimeout(() => {\n \n refresher.complete();\n }, 2000);\n }\n \n PdAllocation(pddetails)\n {\n \n if(pddetails.pd_status == 'STARTED')\n {\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\n }else if(pddetails.pd_status == 'INPROGRESS'){\n this.navCtrl.push(PdQuestionCategoryPage,{'pdDetails':pddetails});\n }else{\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\n }\n }\n\n setpermission()\n {\n // let permission = this.androidPermissions.PERMISSION; \n // let premission_list = [\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\n // permission.CAMERA,\n\n\n // ];\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Toast, ToastController } from 'ionic-angular';\n\n/*\n Generated class for the ToastProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ToastProvider {\n\n constructor(public http: HttpClient,public toast:ToastController) {\n console.log('Hello ToastProvider Provider');\n }\n pdTriggerappmessage(mess){\n let valalert = this.toast.create({\n message:mess, \n duration: 3000, \n position: 'bottom',\n dismissOnPageChange: true,\n });\n\n valalert.present();\n} \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {ConstantsProvider} from '../constants/constants';\n\n/*\n Generated class for the PdtriggerProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\n@Injectable()\nexport class PdtriggerProvider {\n apiurl:any;\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\n this.apiurl = constants.apiurl();\n console.log('Hello PdtriggerProvider Provider');\n }\n\n \n\n /**get dropdonw list */\n\n /**Get list of PD Trigger */\n\n getpddetails(userid)\n { \n console.log(userid);\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\n }\n\n getFullPDdetails(pdid)\n {\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\n }\n\n updatepdStatus(dataStatus)\n {\n let records = {'records':dataStatus};\n return this.http.post(this.apiurl+'updatePDMaster',records);\n }\n\n saveCurrentLocation(data)\n {\n let records = {'records':data};\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\n }\n\n checkotp(otpDetails)\n {\n let records = {'records':otpDetails};\n return this.http.post(this.apiurl+'checkOTP',records); \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index be93ca4d..255635c5 100755 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "Ionic3AngularMaterial", + "name": "pdofficer", "version": "0.0.1", "lockfileVersion": 1, "requires": true, diff --git a/package.json b/package.json index c9bb5487..6ab4fc79 100755 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "Ionic3AngularMaterial", + "name": "pdofficer", "version": "0.0.1", "author": "Ionic Framework", "homepage": "http://ionicframework.com/", diff --git a/src/pages/otp/otp.ts b/src/pages/otp/otp.ts index 433bd782..b9a93390 100755 --- a/src/pages/otp/otp.ts +++ b/src/pages/otp/otp.ts @@ -41,11 +41,14 @@ export class OtpPage { constructor(public navCtrl: NavController, public navParams: NavParams,public pddetails:PdtriggerProvider,public toast:ToastProvider,public Menu:MenuController,public commonconstant:ConstantsProvider,public aws:AwsServiceProvider,public alertCtrl:AlertController,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public geolocation:Geolocation,public androidPermissions:AndroidPermissions) { this.commonImage = this.commonconstant.commonimage; this.applicatentDetails = this.navParams.get('pdDetails'); + this.users = this.aws.getlocale(); + console.log("user",this.users) this.reasonForm = this.fb.group( { reason:[null,Validators.compose([Validators.required])], others_reason:[null], }) + this.getDropdown(); } @@ -93,10 +96,11 @@ export class OtpPage { } checkotp(otp) { + //console.log("Otp",otp) let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users}; this.pddetails.checkotp(data).subscribe(res=> { - console.log("Otp",res) + //console.log("Otp",res) this.otpStatus = res; if(this.otpStatus.dataStatus == true) { @@ -132,7 +136,7 @@ export class OtpPage { } // Do timeout stuff here - this.users = this.aws.getlocale(); + let data:any; let alert = this.alertCtrl.create({ title: 'OTP Expired ', diff --git a/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html b/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html index 1a3ff56b..3d230503 100755 --- a/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html +++ b/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html @@ -24,10 +24,10 @@ - + - + {{frq.name}} diff --git a/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts b/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts index 633d2596..0c01a1d0 100755 --- a/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts +++ b/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts @@ -84,6 +84,19 @@ export class PdQuestionAssessedBusinessPage { }) } + + businessCalculation(indexVal: number,values: any): void { + let control:any = this.BuissnessForm.controls['busExpense']; + if(values.expense_value!='' && values.fk_frequency_id!='' && values.expense_value!=null && values.fk_frequency_id!=null) { + let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id); + control.controls[indexVal].controls['annual_expenses_value'].setValue(parseInt(values.expense_value) * parseInt(filterFrequencyValue[0].mutiple_factor)); + + } + else { + control.controls[indexVal].controls['annual_expenses_value'].setValue(''); + } + } + addBusinessDetails() { const control = this.BuissnessForm.controls['busExpense'] as FormArray; diff --git a/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html b/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html index 2f8f7afc..ca77541a 100755 --- a/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html +++ b/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html @@ -4,7 +4,7 @@ - Assessed Daily Sales Details + Add Daily Sales Item @@ -19,14 +19,15 @@ [formGroupName]="sale_i"> - + -
+
- + + {{"₹"}} {{marginAmtInwords[sale_i]}} Only
@@ -35,10 +36,11 @@
- + - + + {{"₹"}} {{Value[i]}} Only @@ -49,7 +51,7 @@ - + diff --git a/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts b/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts index db90dbfe..106fe1fc 100755 --- a/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts +++ b/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts @@ -5,6 +5,7 @@ import { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms'; import { QuestionCategoryProvider } from '../../../providers/question-category/question-category'; import { ToastProvider } from '../../../providers/common-provider/toast'; import { ConstantsProvider } from '../../../providers/constants/constants'; +import {DatePipe} from '@angular/common' /** * Generated class for the PdQuestionAssessedDailySalesPage page. @@ -19,6 +20,7 @@ import { ConstantsProvider } from '../../../providers/constants/constants'; templateUrl: 'pd-question-assessed-daily-sales.html', }) export class PdQuestionAssessedDailySalesPage { + pipe = new DatePipe('en-US'); currentDate: string; grossprofitCalc: any; @@ -27,11 +29,15 @@ export class PdQuestionAssessedDailySalesPage { FormId: any; pdDetails: any; salesDailyForm: FormGroup; + margin_calculation_status:any + Value: any=[]; + marginAmtInwords: any=[]; constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) { this.pdDetails = this.navParams.get('pdDetails'); this.FormId = this.navParams.get('FormId'); this.salesDaily = this.navParams.get('salesDaily'); - this.grossprofitCalc = this.navParams.get('grossprofit'); + // this.grossprofitCalc = this.navParams.get('grossprofit'); + this.margin_calculation_status=this.navParams.get('margin_calculation_status'); this.users = this.aws.getlocale(); this.currentDate = constant.getcurrentDate().replace("T00:00",''); @@ -125,6 +131,51 @@ export class PdQuestionAssessedDailySalesPage { } } + salesCalculation(indexVal: number,values: any): void { + console.log("Date check",values) + if(this.margin_calculation_status===true){ + let control:any = this.salesDailyForm.controls['sales_product']; + if(values.child.length>0 && values.margin_per!=''){ + let transformData = values.child.filter(val=>val.sales_date!='' && val.sales_date!=null && val.sales_date!=undefined && val.sales_value!='' && val.isactive===true).map(mval=>{ + mval.custum_date = this.pipe.transform(mval.sales_date, 'yyyy-MM'); + console.log(mval); + return mval; + }); + if(transformData.length>0) { + let getUniqueMonthCounts = transformData.map(val=>val.custum_date) + .filter((fVal,fIndex,fArray)=>{ + return fIndex === fArray.indexOf(fVal); + }); + let getTotalValueCounts = transformData.map(val=>val.sales_value) + .reduce((sum, curr) => parseInt(sum) + parseInt(curr)); + control.controls[indexVal].controls['margin_value'].setValue(parseInt(getTotalValueCounts) * (parseInt(values.margin_per)/100) * (12 / parseInt(getUniqueMonthCounts.length))); + this.inWords(parseInt(getTotalValueCounts) * (parseInt(values.margin_per)/100) * (12 / parseInt(getUniqueMonthCounts.length)),indexVal,2); + } + else{ + + control.controls[indexVal].controls['margin_value'].setValue(''); + + } + + } + else { + control.controls[indexVal].controls['margin_value'].setValue(''); + + } + } + + } + inWords(e,c,flag){ + switch(flag){ + case 1 : + this.Value[c] = this.constant.convertNumberToWords(e); + break; + case 2 : + this.marginAmtInwords[c] = this.constant.convertNumberToWords(e); + break; + default : break; + } + } adddailySalaesProduct() { this.tempdate = []; if (this.salesDailyForm.valid) { diff --git a/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts b/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts index 1c59de7a..d6bda905 100755 --- a/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts +++ b/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts @@ -38,7 +38,7 @@ export class PdQuestionAssessedDashPage { assessedForm:FormGroup; constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) { this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); + this.FormId = this.navParams.get('formDetails'); this.users = this.aws.getlocale(); this.assessedForm = this.fb.group( { diff --git a/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html b/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html index 04577c8d..a2138398 100755 --- a/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html +++ b/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html @@ -13,48 +13,70 @@ +
+ + + + + {{getData.name}} + + + + + +
- - + +
-

Sales declared by the customer as the annual sales actually done.

+ + +
Sales Calculation
+
+ + - + Sales Declared by the Customer as the Annual Sales Actually Done + + {{"₹"}} {{SaleAmtInwords}} Only -
+
- + + - + + {{"₹"}} {{marginAmtInwords}} Only
- +
- +
-
- + + - + +
- + diff --git a/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.scss b/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.scss index 2e398f9b..04e052ee 100755 --- a/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.scss +++ b/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.scss @@ -25,8 +25,17 @@ page-pd-question-assessed-info { width:100%; height:200px; } - span{ - font-size: 12px; + // span{ + // // font-size: 12px; + // } + .mat-form-field-label { + white-space: normal; + } + textarea.mat-input-element { + padding: 0px 0; + margin: 5px 0; } + + } diff --git a/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts b/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts index d3fdff98..c4e89c48 100755 --- a/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts +++ b/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts @@ -12,6 +12,8 @@ import { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business import { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household'; import { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income'; +import {ConstantsProvider} from '../../../providers/constants/constants' + /** * Generated class for the PdQuestionAssessedInfoPage page. @@ -27,6 +29,8 @@ import { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-bu }) export class PdQuestionAssessedInfoPage { + grossProfitForm:FormGroup + check__purchse_type:any=[{'id':'1','name':'Yes'},{'id':'2','name':'No'}] busissnessIncome: any; mode: any; grossprofitCalc: any; @@ -54,7 +58,10 @@ export class PdQuestionAssessedInfoPage { rawMaterialForm:FormGroup; BuissnessForm:FormGroup; houseHoldForm:FormGroup; - constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) { + activateMarginCalculation:boolean=false + SaleAmtInwords: any=[]; + marginAmtInwords: any=[]; + constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public cons:ConstantsProvider) { this.pdDetails = this.navParams.get('pdDetails'); this.pageId = this.navParams.get('pageId'); @@ -88,6 +95,13 @@ export class PdQuestionAssessedInfoPage { fk_createdby:[this.users], }); + this.grossProfitForm=this.fb.group({ + calc_type_id:[''], + fk_pd_id:[this.pdDetails.pd_id], + company_id:[this.pdDetails.company_id], + mode:['',Validators.compose([Validators.required])], + margin:[''], + }) @@ -117,12 +131,38 @@ export class PdQuestionAssessedInfoPage { - + changeOptions(values: any){ + // console.log('values',values); + this.grossProfitForm.controls['margin'].setValue(''); + /** if Mode Value is 'No' -> margin value is setted as netmargin and its id - 2 + * Refer => check_sales_type **/ + if(values.mode == 2){ + // console.log('2'); + this.grossProfitForm.controls['margin'].setValue('2'); + } + } + submitDetails(records: any){ + if (this.grossProfitForm.invalid) { + + this.toast.pdTriggerappmessage("Please Check All Manatory Fields.."); + return; + } + console.log(records); + this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(data => { + this.toast.pdTriggerappmessage('Saved Successfully.'); + //this.loadAssessedForms.next('1'); + }, error => { + this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); + // this.loadAssessedForms.next('1'); + }); + } getMarginCalc() { + let margin_per = this.assessedForm.controls['margin_per'].value; + console.log("Margin Per",margin_per) let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value; if(margin_per !=null && sales_declared_by_customer !=null) { @@ -147,6 +187,15 @@ export class PdQuestionAssessedInfoPage { } }) } + salesCalculation(values): void { + if(values.sales_declared_by_customer !=''){this.SaleAmtInwords = this.cons.convertNumberToWords(values.sales_declared_by_customer);} + if(values.margin_per !='' && values.sales_declared_by_customer !='') + { + + this.assessedForm.controls['margin_value'].setValue(values.sales_declared_by_customer * (values.margin_per/100)); + this.marginAmtInwords = this.cons.convertNumberToWords(values.sales_declared_by_customer * (values.margin_per/100)); + } + } getAssessedDetails() { @@ -162,9 +211,13 @@ export class PdQuestionAssessedInfoPage { this.sales_item_value = res['records'].sales_calculated_by_itemwise; this.sales_item_month_value = res['records'].sales_items_by_monthwise; this.purchse_details = res['records'].purchase_details; - this.grossprofitCalc = res['records'].gross_profit_calculation_type[0]; + this.grossprofitCalc = res['records'].gross_profit_calculation_type[0] this.mode = this.grossprofitCalc.mode; - console.log(this.grossprofitCalc); + + var lenOfGrossProfit=res['records'].gross_profit_calculation_type.length + console.log("len",lenOfGrossProfit) + this.activateMarginCalculation=res['records'].gross_profit_calculation_type[lenOfGrossProfit-1].margin==2 && res['records'].gross_profit_calculation_type[lenOfGrossProfit-1].mode ==2 ?true : false + console.log(this.activateMarginCalculation); var result = this.purchse_details.reduce(function(p, c) { return p; @@ -227,7 +280,7 @@ export class PdQuestionAssessedInfoPage { AddAssessedForm() { - this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); + this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'margin_calculation_status':this.activateMarginCalculation}); } @@ -247,7 +300,7 @@ export class PdQuestionAssessedInfoPage { AddAssessedDailyForm() { - this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc}) + this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'margin_calculation_status':this.activateMarginCalculation}) } editAssessedDailyForm(simId) { diff --git a/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html b/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html index 22ce92d8..225b8102 100755 --- a/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html +++ b/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html @@ -4,7 +4,7 @@ - Item Salas Details + Add Sales Item @@ -19,10 +19,10 @@

Itemwise

- + - + @@ -30,26 +30,30 @@ - + + {{"₹"}} {{ratePerUnitAmtInwords[i]}} Only - + {{frq.name}} + {{"₹"}} {{annualSaleAmtInwords[i]}} Only -
+
- + - + + {{"₹"}} {{marginAmtInwords[i]}} Only - + + {{"₹"}} {{marginFinalAmtInwords[i]}} Only
@@ -64,7 +68,7 @@ -

Grand Total : {{grandTotal}}

+
diff --git a/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts b/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts index f2e137c6..ba450ef2 100755 --- a/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts +++ b/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts @@ -4,6 +4,7 @@ import { AwsServiceProvider } from '../../../providers/aws-service/aws-service'; import { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms'; import { QuestionCategoryProvider } from '../../../providers/question-category/question-category'; import { ToastProvider } from '../../../providers/common-provider/toast'; +import {ConstantsProvider} from '../../../providers/constants/constants' /** * Generated class for the PdQuestionAssessedSalesPage page. @@ -29,10 +30,16 @@ export class PdQuestionAssessedSalesPage { users: any; FormId: any; pdDetails: any; - constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) { + annualSaleAmtInwords: any=[]; + marginAmtInwords: any=[]; + marginFinalAmtInwords:any =[]; + ratePerUnitAmtInwords: any=[]; + margin_calculation_status:any=[] + constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) { this.pdDetails = this.navParams.get('pdDetails'); this.FormId = this.navParams.get('FormId'); - this.grossprofitCalc = this.navParams.get('grossprofit'); + //this.grossprofitCalc = this.navParams.get('grossprofit'); + this.margin_calculation_status=this.navParams.get('margin_calculation_status'); this.users = this.aws.getlocale(); this.assessedForm = this.fb.group( { @@ -129,84 +136,158 @@ export class PdQuestionAssessedSalesPage { * 7.none * 8.none */ - salecalculat(index,details) + salecalculat(indexVal,values) { - // console.log(details,index); - let frequencyId = details.value.fk_frequency_id; - let salesQty = details.value.sales_qty; - let UOM = details.value.rate_per_unit; - // console.log(frequencyId,salesQty,UOM,index); - // console.log(frequencyId); - let annual - if(salesQty!=null && UOM!=null){ - if(frequencyId==1) - { + // console.log("Det",details); + // let frequencyId = details.value.fk_frequency_id; + // let salesQty = details.value.sales_qty; + // let UOM = details.value.rate_per_unit; + // // console.log(frequencyId,salesQty,UOM,index); + // // console.log(frequencyId); + // let annual + // if(salesQty!=null && UOM!=null){ + // if(frequencyId==1) + // { - }else if(frequencyId==2) - { - annual = (salesQty*UOM*250); - this.annual[index] = annual; - details.controls['annual_sale_value'].setValue(annual); - }else if(frequencyId==3) - { - annual = (salesQty*UOM); - this.annual[index] = annual; - details.controls['annual_sale_value'].setValue(annual); - }else if(frequencyId==4) - { + // }else if(frequencyId==2) + // { + // annual = (salesQty*UOM*250); + // this.annual[index] = annual; + // details.controls['annual_sale_value'].setValue(annual); + // }else if(frequencyId==3) + // { + // annual = (salesQty*UOM); + // this.annual[index] = annual; + // details.controls['annual_sale_value'].setValue(annual); + // }else if(frequencyId==4) + // { - }else if(frequencyId==5) - { - annual = (salesQty*UOM*12); - this.annual[index] = annual; - details.controls['annual_sale_value'].setValue(annual); - }else if(frequencyId==6) - { + // }else if(frequencyId==5) + // { + // annual = (salesQty*UOM*12); + // this.annual[index] = annual; + // details.controls['annual_sale_value'].setValue(annual); + // }else if(frequencyId==6) + // { - }else if(frequencyId==7) - { + // }else if(frequencyId==7) + // { - }else if(frequencyId==8) - { + // }else if(frequencyId==8) + // { - }else - { + // }else + // { - } - this.grandTotal = this.annual.reduce((a,b)=> a+b,0); - }else - { - // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM'); - } + // } + // this.grandTotal = this.annual.reduce((a,b)=> a+b,0); + // }else + // { + // // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM'); + // } - console.log(this.annual); - } + // console.log(this.annual); - getSalesCalc(details) - { - // console.log(details); - let margin_per = details.value.margin_per; - let margin_amount = details.value.margin_per_uom; - let annual_sale_value = details.value.annual_sale_value; - let sales_qty = details.value.sales_qty; - // console.log(sales_qty,margin_amount); - let value:any = ''; - if(margin_per !=null || margin_amount !=null){ - if(margin_per !=null) - { - value = +annual_sale_value * (+margin_per/100); - }else - { - console.log('else'); - value = +sales_qty* +margin_amount; + let control:any = this.assessedForm.controls['salesCalItemwise']; + if(values.rate_per_unit!=''&& values.rate_per_unit != null ){ + console.log("Rate Per value",values.rate_per_unit); + this.inWords(values.rate_per_unit,indexVal,4) } - console.log(value); - details.controls['margin_final_value'].setValue(value); + + if(values.sales_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) { + console.log("Frequency",values.fk_frequency_id); + let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id); + let AnnualSalesValue = parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor) + control.controls[indexVal].controls['annual_sale_value'].setValue(parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor)); + this.inWords(AnnualSalesValue,indexVal,1) + + } + else { + control.controls[indexVal].controls['annual_sale_value'].setValue(''); + } + if(this.margin_calculation_status===true) { + values.margin_per_uom=='' && values.margin_per!='' ? this.salesMarginPerCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]): values.margin_per_uom!='' && values.margin_per=='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) : values.margin_per_uom!='' && values.margin_per!='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) :this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]); } } + salesMarginPerCalculation(indexVal: number,values: any): void { + let control:any = this.assessedForm.controls['salesCalItemwise']; + control.controls[indexVal].controls['margin_per_uom'].setValue(''); + if(values.margin_per!='' && values.annual_sale_value!='' && values.margin_per!=null && values.annual_sale_value!=null) { + control.controls[indexVal].controls['margin_final_value'].setValue(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100)); + this.inWords(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100),indexVal,3) + } + else { + control.controls[indexVal].controls['margin_final_value'].setValue(''); + } + } + salesMarginAmtCalculation(indexVal: number,values: any): void { + let control:any = this.assessedForm.controls['salesCalItemwise']; + control.controls[indexVal].controls['margin_per'].setValue(''); + if(values.margin_per_uom!='' && values.margin_per_uom != null){ + this.inWords(values.margin_per_uom,indexVal,2) + } + + if(values.margin_per_uom!='' && values.sales_qty!='' && values.margin_per_uom!=null && values.sales_qty!=null) { + let MarginFinalValue = parseInt(values.sales_qty) * parseInt(values.margin_per_uom); + control.controls[indexVal].controls['margin_final_value'].setValue(parseInt(values.sales_qty) * parseInt(values.margin_per_uom)); + this.inWords(MarginFinalValue,indexVal,3) + } + else { + control.controls[indexVal].controls['margin_final_value'].setValue(''); + } + } + getSalesCalc(indexVal,values) + { + // // console.log(details); + // let margin_per = details.value.margin_per; + // let margin_amount = details.value.margin_per_uom; + // let annual_sale_value = details.value.annual_sale_value; + // let sales_qty = details.value.sales_qty; + // // console.log(sales_qty,margin_amount); + // let value:any = ''; + // if(margin_per !=null || margin_amount !=null){ + // if(margin_per !=null) + // { + // value = +annual_sale_value * (+margin_per/100); + // }else + // { + // console.log('else'); + // value = +sales_qty* +margin_amount; + // } + // console.log(value); + // details.controls['margin_final_value'].setValue(value); + // } + let control:any = this.assessedForm.controls['salesCalItemwise']; + control.controls[indexVal].controls['margin_per_uom'].setValue(''); + if(values.margin_per!='' && values.annual_sale_value!='' && values.margin_per!=null && values.annual_sale_value!=null) { + control.controls[indexVal].controls['margin_final_value'].setValue(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100)); + this.inWords(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100),indexVal,3) + } + else { + control.controls[indexVal].controls['margin_final_value'].setValue(''); + } + } + + inWords(value,inx,flag){ + switch(flag){ + case 1 : + this.annualSaleAmtInwords[inx] = this.cons.convertNumberToWords(value); + break; + case 2 : + this.marginAmtInwords[inx] = this.cons.convertNumberToWords(value); + break; + case 3 : + this.marginFinalAmtInwords[inx] = this.cons.convertNumberToWords(value); + break; + case 4 : + console.log("Rate",value); + this.ratePerUnitAmtInwords[inx] = this.cons.convertNumberToWords(value); + break; + default:break;} + } saveData(answerData) { let records = {'records':answerData.salesCalItemwise}; diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts b/src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts index ee8bfc92..40e7aff6 100755 --- a/src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts @@ -9,6 +9,7 @@ import { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-questi import { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets' import {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking' import {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info' +import {PdQuestionAssessedDashPage} from '../../../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash' /** * Generated class for the PdQuestionBusinessGroupPage page. @@ -61,6 +62,7 @@ export class PdQuestionBusinessGroupPage { this.pdDetails.business_entity_type_other = company.business_entity_type_other; this.pdDetails.business_years = company.business_years; this.pdDetails.business_month = company.business_month; + console.log(details.form_id); if(details.form_id==1){ this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); @@ -93,6 +95,9 @@ export class PdQuestionBusinessGroupPage { this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails}); } + if(details.form_id==16){ + this.navCtrl.push(PdQuestionAssessedDashPage,{'formDetails':details,'pdDetails':this.pdDetails}); + } } diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html b/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html index c1f1bf69..a0f6bf78 100755 --- a/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html +++ b/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html @@ -5,6 +5,7 @@ {{formDetails.form_name}} +
@@ -220,6 +221,7 @@
+
diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts b/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts index c8db3681..4e578835 100755 --- a/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts @@ -6,7 +6,7 @@ import { QuestionCategoryProvider } from '../../../../providers/question-categor import { ToastProvider } from '../../../../providers/common-provider/toast'; /** - * Generated class for the PdQuestionSupplierInfoPage page. + * Generated class for the PdQuestionSupplsierInfoPage page. * * See https://ionicframework.com/docs/components/#navigation for more info on * Ionic pages and navigation. diff --git a/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html b/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html index a9826ad9..aec88828 100755 --- a/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html +++ b/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html @@ -63,7 +63,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -99,7 +99,7 @@ - + diff --git a/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts b/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts index 29076650..08b6b761 100755 --- a/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts +++ b/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts @@ -325,7 +325,7 @@ RecommendationChange(e) { recommendationNegativeCtrl.push(this.createRecomendationNegative(obj)) }) } - if(data['records'].recommendation_refer_to_credit.length>1){ + if(data['records'].recommendation_refer_to_credit.length>0){ let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray; data['records'].recommendation_refer_to_credit.forEach(val=>{ let obj={'reason_for_refer_to_credit':val.reason_for_refer_to_credit}; diff --git a/src/providers/pdtrigger/pdtrigger.ts b/src/providers/pdtrigger/pdtrigger.ts index 3ed70ae3..9fff88bc 100755 --- a/src/providers/pdtrigger/pdtrigger.ts +++ b/src/providers/pdtrigger/pdtrigger.ts @@ -49,7 +49,9 @@ export class PdtriggerProvider { checkotp(otpDetails) { + let records = {'records':otpDetails}; + return this.http.post(this.apiurl+'checkOTP',records); } } diff --git a/www/assets/fonts/roboto-bold.ttf b/www/assets/fonts/roboto-bold.ttf index 4e35166a..d3f01ad2 100755 Binary files a/www/assets/fonts/roboto-bold.ttf and b/www/assets/fonts/roboto-bold.ttf differ diff --git a/www/assets/fonts/roboto-light.ttf b/www/assets/fonts/roboto-light.ttf index 5e26ccdb..219063a5 100755 Binary files a/www/assets/fonts/roboto-light.ttf and b/www/assets/fonts/roboto-light.ttf differ diff --git a/www/assets/fonts/roboto-medium.ttf b/www/assets/fonts/roboto-medium.ttf index 03471063..1a7f3b0b 100755 Binary files a/www/assets/fonts/roboto-medium.ttf and b/www/assets/fonts/roboto-medium.ttf differ diff --git a/www/assets/fonts/roboto-regular.ttf b/www/assets/fonts/roboto-regular.ttf index 05037ed5..2c97eead 100755 Binary files a/www/assets/fonts/roboto-regular.ttf and b/www/assets/fonts/roboto-regular.ttf differ diff --git a/www/build/main.css b/www/build/main.css index 195ce32c..5c6a90a2 100644 --- a/www/build/main.css +++ b/www/build/main.css @@ -29166,8 +29166,13 @@ page-pd-question-assessed-info ion-scroll.scroll-y .scroll-content { height: 200px; } -page-pd-question-assessed-info span { - font-size: 12px; +page-pd-question-assessed-info .mat-form-field-label { + white-space: normal; +} + +page-pd-question-assessed-info textarea.mat-input-element { + padding: 0px 0; + margin: 5px 0; } page-pd-question-assests .scroll-content { diff --git a/www/build/main.js b/www/build/main.js deleted file mode 100644 index ff9cd52d..00000000 --- a/www/build/main.js +++ /dev/null @@ -1,17551 +0,0 @@ -webpackJsonp([0],{ - -/***/ 10: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return QuestionCategoryProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the QuestionCategoryProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var QuestionCategoryProvider = (function () { - function QuestionCategoryProvider(http, constant) { - this.http = http; - this.constant = constant; - console.log('Hello QuestionCategoryProvider Provider'); - this.apiurl = constant.apiurl(); - } - QuestionCategoryProvider.prototype.getLoadTemplate = function (pdid) { - return this.http.get(this.apiurl + 'loadFullTemplate?pd_id=' + pdid); - }; - QuestionCategoryProvider.prototype.saveQusetion = function (saveData) { - var records = { 'records': [saveData] }; - return this.http.post(this.apiurl + 'savePDQuestions', records); - }; - QuestionCategoryProvider.prototype.getAnswerTemplate = function (qustDetails) { - return this.http.post(this.apiurl + 'getAnswersForPD', qustDetails); - }; - /*** - * Get PD Questions dropdown api - * sriram - */ - QuestionCategoryProvider.prototype.getcommondrop = function (tableName) { - var masters = { 'master_name': tableName }; - return this.http.post(this.apiurl + 'getListOfMaster', masters); - }; - QuestionCategoryProvider.prototype.saveForm = function (records) { - var record = { 'records': records }; - return this.http.post(this.apiurl + 'savePDFormDetails', record); - }; - QuestionCategoryProvider.prototype.retiverForm = function (records) { - return this.http.post(this.apiurl + 'getPDFormDetails', records); - }; - /**Assessed Form Details API */ - QuestionCategoryProvider.prototype.saveassessedForms = function (api, saveData) { - return this.http.post(this.apiurl + api, saveData); - }; - QuestionCategoryProvider.prototype.retiverassessedForm = function (api, records) { - return this.http.post(this.apiurl + api, records); - }; - QuestionCategoryProvider.prototype.updatePdApplicant = function (editData) { - // editData.fk_updatedby = this._aws.getlocale(); - // editData.updatedon = currentdate; - return this.http.post(this.apiurl + "updatePDApplicants", { "pd_applicant_details": editData }); - }; - QuestionCategoryProvider.prototype.getEndUseForLoan = function (pdid, subproduct) { - return this.http.post(this.apiurl + "getEndUseOfLoan", { "records": { "pd_id": pdid, "sub_product_id": subproduct } }); - }; - QuestionCategoryProvider.prototype.getCompaniesListsForBusiness = function (pdid) { - return this.http.post(this.apiurl + "getCompaniesListsForBusiness", { "records": { "pd_id": pdid } }); - }; - QuestionCategoryProvider.prototype.getStateWiseCities = function (stateid) { - return this.http.post(this.apiurl + "getListOfStatesAndCities", { "records": { "state_id": stateid } }); - }; - QuestionCategoryProvider.prototype.getAllPersonsName = function (pdid) { - return this.http.post(this.apiurl + "getAllPersonsName", { "pd_id": pdid }); - }; - QuestionCategoryProvider.prototype.getStateCityDetails = function () { - return this.http.post(this.apiurl + "getListOfStatesCities", ""); - }; - QuestionCategoryProvider.prototype.getAssetsWithLoanFromBusiness = function (pdid) { - return this.http.post(this.apiurl + "getAssetsWithLoanFromBusiness", { "pd_id": pdid }); - }; - QuestionCategoryProvider.prototype.getTypeofActivityForSuppliedInfoForm = function (pd_id, company_id) { - return this.http.post(this.apiurl + "getTypeOfActivetyFromBusinessForm", { "records": { "pd_id": pd_id, "company_id": company_id } }); - }; - /** For Stock Details - * To Get The Products With TypeofActivity From Business - **/ - QuestionCategoryProvider.prototype.stockFormAccess = function (pdid, companyid) { - // { "pd_id":"104","company_id":"1"} - return this.http.post(this.apiurl + "getProductsFromBusiness", { "pd_id": pdid, "company_id": companyid }); - }; - /*****Save Images */ - QuestionCategoryProvider.prototype.savePDImages = function (imagesDetails) { - var record = { 'records': imagesDetails }; - return this.http.post(this.apiurl + 'savePDPhotos', record); - }; - QuestionCategoryProvider.prototype.getFamilyDetails = function (pdid) { - return this.http.post(this.apiurl + 'getFamilyDetails', { "pd_id": pdid }); - }; - QuestionCategoryProvider.prototype.getAddressDetails = function (pdid) { - return this.http.post(this.apiurl + 'getPDAddress', { 'pd_id': pdid }); - }; - QuestionCategoryProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__constants_constants__["a" /* ConstantsProvider */]]) - ], QuestionCategoryProvider); - return QuestionCategoryProvider; -}()); - -//# sourceMappingURL=question-category.js.map - -/***/ }), - -/***/ 123: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionCategoryPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pd_question_pd_question__ = __webpack_require__(360); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_pdtrigger_pdtrigger__ = __webpack_require__(85); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pd_question_pd_question_address_pd_question_address__ = __webpack_require__(362); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pd_question_pd_question_emp_info_pd_question_emp_info__ = __webpack_require__(363); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pd_question_pd_question_current_loans_pd_question_current_loans__ = __webpack_require__(364); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pd_question_pd_question_loans_pd_question_loans__ = __webpack_require__(365); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__pd_question_pd_question_banking_pd_question_banking__ = __webpack_require__(366); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__pd_question_pd_question_family_pd_question_family__ = __webpack_require__(367); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__pd_question_pd_question_assests_pd_question_assests__ = __webpack_require__(368); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pd_question_pd_question_other_income_pd_question_other_income__ = __webpack_require__(369); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__pd_question_pd_question_personal_info_pd_question_personal_info__ = __webpack_require__(370); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(201); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(202); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(203); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pd_question_pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(371); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(372); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__pd_question_pd_question_lender_representative_pd_question_lender_representative__ = __webpack_require__(380); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pd_question_pd_question_general_info_pd_question_general_info__ = __webpack_require__(381); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__ = __webpack_require__(384); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__pd_question_pd_question_final_remark_pd_question_final_remark__ = __webpack_require__(385); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__pd_question_pd_question_business_group_pd_question_business_group__ = __webpack_require__(386); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/** - * Generated class for the PdQuestionCategoryPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var currentdate = new Date().toJSON().slice(0, 19).replace('T', ' '); -var PdQuestionCategoryPage = (function () { - function PdQuestionCategoryPage(navCtrl, navParams, templateget, aws, shared, toast, pdstatusprovide) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.templateget = templateget; - this.aws = aws; - this.shared = shared; - this.toast = toast; - this.pdstatusprovide = pdstatusprovide; - this.bgColortempForm = []; - this.bgColorqustCat = []; - this.questionCateAccess = null; - this.questionfinishedList = []; - this.overallqustioncountAccess = true; - this.pddetails = this.navParams.get('pdDetails'); - } - PdQuestionCategoryPage.prototype.ionViewCanEnter = function () { - this.getcategoryList(); - }; - // doughuntChart() - // { - // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, { - // type: 'doughnut', - // data: { - // // labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], - // datasets: [{ - // label: '# of Votes', - // data: [12], - // backgroundColor: [ - // // 'rgba(255, 99, 132, 0.2)', - // 'rgba(54, 162, 235, 0.2)', - // // 'rgba(255, 206, 86, 0.2)', - // // 'rgba(75, 192, 192, 0.2)', - // // 'rgba(153, 102, 255, 0.2)', - // // 'rgba(255, 159, 64, 0.2)' - // ], - // hoverBackgroundColor: [ - // "#FF6384", - // "#36A2EB", - // "#FFCE56", - // "#FF6384", - // "#36A2EB", - // "#FFCE56" - // ] - // }] - // } - // }); - // } - PdQuestionCategoryPage.prototype.ionViewDidLoad = function () { - this.shared.refresh(); - //this.doughuntChart(); - console.log('ionViewDidLoad PdQuestionCategoryPage'); - }; - PdQuestionCategoryPage.prototype.getcategoryList = function () { - var _this = this; - var j = 1; - this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(function (res) { - _this.questionCate = res; - if (_this.questionCate.dataStatus == true) { - _this.questionCate = _this.questionCate.records; - _this.random_ng_past(); - if (_this.questionCate.question_answers != '' && _this.questionCate.template_forms != '') { - _this.questionCateAccess = true; - _this.templateAccess = true; - _this.questionCate = _this.questionCate; - _this.searchQuestion = _this.questionCate.question_answers; - if (_this.questionCate.counts.overall_answered_count != 0 && _this.questionCate.counts.overall_question_count != 0 && _this.questionCate.counts.overall_answered_count == _this.questionCate.counts.overall_question_count) { - _this.overallqustioncountAccess = false; - } - else { - _this.overallqustioncountAccess = true; - } - } - else if (_this.questionCate.template_forms != '') { - _this.templateAccess = true; - _this.questionCate = _this.questionCate; - _this.searchTempForm = _this.questionCate.template_forms; - // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count) - // { - // this.overallqustioncountAccess = false; - // }else - // { - // this.overallqustioncountAccess = true; - // } - } - else { - _this.questionCateAccess = false; - _this.templateAccess = false; - _this.questionCate = "No Template Available"; - } - } - }); - }; - PdQuestionCategoryPage.prototype.random_ng_past = function () { - for (var _i = 0, _a = this.questionCate.question_answers; _i < _a.length; _i++) { - var id = _a[_i]; - var a = Math.floor(Math.random() * 256); - var b = Math.floor(Math.random() * 256); - var c = Math.floor(Math.random() * 256); - this.bgColorqustCat.push("rgb(" + a + "," + b + "," + c + ")"); - } - for (var _b = 0, _c = this.questionCate.template_forms; _b < _c.length; _b++) { - var id = _c[_b]; - var x = Math.floor(Math.random() * 256); - var y = Math.floor(Math.random() * 256); - var z = Math.floor(Math.random() * 256); - this.bgColortempForm.push("rgb(" + x + "," + y + "," + z + ")"); - } - }; - PdQuestionCategoryPage.prototype.questionsTag = function (categroyId) { - this.pdinfo = this.pddetails; - this.questionCate = this.questionCate.question_answers.filter(function (cate) { return cate.fk_question_category_id == categroyId; })[0]; - // if(this.questionCate.questions.length !="0"){ - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_4__pd_question_pd_question__["a" /* PdQuestionPage */], { 'questionDetails': this.questionCate, 'pdDetails': this.pdinfo }); - // }else - // { - // this.getcategoryList(); - // this.toast.pdTriggerappmessage('No Question Available'); - // } - }; - PdQuestionCategoryPage.prototype.tempQustionTag = function (categroyId) { - this.pdinfo = this.pddetails; - var formName = this.questionCate.template_forms.filter(function (temp) { return temp.form_id == categroyId; })[0]; - if (categroyId == 5) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_9__pd_question_pd_question_address_pd_question_address__["a" /* PdQuestionAddressPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 12) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_10__pd_question_pd_question_emp_info_pd_question_emp_info__["a" /* PdQuestionEmpInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 10) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_12__pd_question_pd_question_loans_pd_question_loans__["a" /* PdQuestionLoansPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 8) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_11__pd_question_pd_question_current_loans_pd_question_current_loans__["a" /* PdQuestionCurrentLoansPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 13) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_28__pd_question_pd_question_business_group_pd_question_business_group__["a" /* PdQuestionBusinessGroupPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 7) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_13__pd_question_pd_question_banking_pd_question_banking__["a" /* PdQuestionBankingPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 6) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_14__pd_question_pd_question_family_pd_question_family__["a" /* PdQuestionFamilyPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 4) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_15__pd_question_pd_question_assests_pd_question_assests__["a" /* PdQuestionAssestsPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 9) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_16__pd_question_pd_question_other_income_pd_question_other_income__["a" /* PdQuestionOtherIncomePage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 1) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_17__pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__["a" /* PdQuestionSupplierInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 3) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_18__pd_question_pd_question_personal_info_pd_question_personal_info__["a" /* PdQuestionPersonalInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 11) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_19__pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__["a" /* PdQuestionStockInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 14) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_20__pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__["a" /* PdQuestionFinancialInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 2) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_21__pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__["a" /* PdQuestionClientInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 17) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_22__pd_question_pd_question_rental_info_pd_question_rental_info__["a" /* PdQuestionRentalInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 16) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_23__pd_question_pd_question_assessed_dash_pd_question_assessed_dash__["a" /* PdQuestionAssessedDashPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 15) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_24__pd_question_pd_question_lender_representative_pd_question_lender_representative__["a" /* PdQuestionLenderRepresentativePage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 18) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_25__pd_question_pd_question_general_info_pd_question_general_info__["a" /* PdQuestionGeneralInfoPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 19) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_26__pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__["a" /* PdQuestionNeighbourHoodPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - else if (categroyId == 20) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_27__pd_question_pd_question_final_remark_pd_question_final_remark__["a" /* PdQuestionFinalRemarkPage */], { 'FormId': formName, 'pdDetails': this.pdinfo }); - } - }; - PdQuestionCategoryPage.prototype.filter = function (view) { - if (!view) { - this.viewchange = true; - } - else { - this.viewchange = false; - } - //alert(this.viewchange); - }; - PdQuestionCategoryPage.prototype.pdlistsearch = function (searchbar) { - // this.questionCate = this.searchQuestion; - // this.questionCate.template_forms = this.searchTempForm; - // reset countries list with initial call - //this.pdinprogress = this.countriesInitial; - // set q to the value of the searchbar - var q = searchbar.target.value; - // if the value is an empty string don't filter the items - if (this.searchQuestion !== undefined) { - if (q.trim() == '') { - return; - } - else { - // this.questionCate.question_answers = this.searchQuestion.filter((v) => { - // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) { - // return true; - // } - // }) - } - } - else { - if (q.trim() == '') { - return; - } - else { - // this.questionCate.template_forms = this.searchTempForm.filter((v) => { - // if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) { - // return true; - // } - // }) - } - } - }; - PdQuestionCategoryPage.prototype.completed = function () { - var _this = this; - var users = this.aws.getlocale(); - var data = { 'pd_id': this.questionCate.pdmaster_details.pd_id, 'pd_status': 'COMPLETED', 'fk_updatedby': users, 'updatedon': currentdate }; - this.pdstatusprovide.updatepdStatus(data).subscribe(function (res) { - _this.completedAccess = res; - if (_this.completedAccess.dataStatus == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_8__pd_list_pd_list__["a" /* PdListPage */]); - } - }); - }; - PdQuestionCategoryPage.prototype.doRefresh = function (refresher) { - this.questionCate = []; - this.questionfinishedList = []; - this.shared.refresh(); - this.getcategoryList(); - setTimeout(function () { - refresher.complete(); - }, 2000); - }; - PdQuestionCategoryPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-category',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question-category/pd-question-category.html"*/'\n \n \n \n {{pddetails.applicant_name | titlecase}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n \n \n \n \n\n \n \n \n \n
\n \n \n \n \n {{category.category_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{category.category_name}}

\n

{{category.answerd_count}} / {{category.questions_count}} Questions

\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n {{tempForm.form_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{tempForm.form_name}}

\n \n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n \n \n

{{questionCate}}

\n
\n
\n \n \n \n \n \n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question-category/pd-question-category.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */]]) - ], PdQuestionCategoryPage); - return PdQuestionCategoryPage; -}()); - -//# sourceMappingURL=pd-question-category.js.map - -/***/ }), - -/***/ 198: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return OtpPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_pdtrigger_pdtrigger__ = __webpack_require__(85); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pd_question_category_pd_question_category__ = __webpack_require__(123); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__ = __webpack_require__(204); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__ionic_native_android_permissions__ = __webpack_require__(124); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - - -/** - * Generated class for the OtpPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var OtpPage = (function () { - function OtpPage(navCtrl, navParams, pddetails, toast, Menu, commonconstant, aws, alertCtrl, qustCat, fb, geolocation, androidPermissions) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.pddetails = pddetails; - this.toast = toast; - this.Menu = Menu; - this.commonconstant = commonconstant; - this.aws = aws; - this.alertCtrl = alertCtrl; - this.qustCat = qustCat; - this.fb = fb; - this.geolocation = geolocation; - this.androidPermissions = androidPermissions; - this.timerOn = true; - this.otpStatusAccess = true; - this.maxtime = 30; - this.commonImage = this.commonconstant.commonimage; - this.applicatentDetails = this.navParams.get('pdDetails'); - this.reasonForm = this.fb.group({ - reason: [null, __WEBPACK_IMPORTED_MODULE_8__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_8__angular_forms__["m" /* Validators */].required])], - others_reason: [null], - }); - this.getDropdown(); - } - OtpPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad OtpPage'); - }; - OtpPage.prototype.ionViewDidEnter = function () { - //this.Menu.enable(false); - this.setPermission(); - this.timer(120); - }; - OtpPage.prototype.setPermission = function () { - var _this = this; - this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(function (result) { return console.log('Has permission?', result.hasPermission); }, function (err) { return _this.androidPermissions.requestPermission(_this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION); }); - this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]); - this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(function (result) { return console.log('Has permission?', result.hasPermission); }, function (err) { return _this.androidPermissions.requestPermission(_this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION); }); - this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]); - }; - OtpPage.prototype.ionViewWillLeave = function () { - //this.Menu.enable(true); - clearTimeout(this.timeLimit); - }; - OtpPage.prototype.getDropdown = function () { - var _this = this; - this.qustCat.getcommondrop('OTPREJECTION').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.reason_otp = res['records'].filter(function (otp) { return otp.isactive == 1; }); - console.log(_this.reason_otp); - } - }); - }; - OtpPage.prototype.checkotp = function (otp) { - var _this = this; - var data = { 'pd_id': this.applicatentDetails.pd_id, 'OTP': otp, 'fk_updatedby': this.users }; - this.pddetails.checkotp(data).subscribe(function (res) { - console.log("Otp", res); - _this.otpStatus = res; - if (_this.otpStatus.dataStatus == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_3__pd_question_category_pd_question_category__["a" /* PdQuestionCategoryPage */], { 'pdDetails': _this.applicatentDetails }); - } - else { - _this.toast.pdTriggerappmessage('Enter the Correct OTP'); - } - }); - }; - OtpPage.prototype.timer = function (remaining) { - var _this = this; - // console.log(remaining); - var m = Math.floor(remaining / 60); - var s = remaining % 60; - m = m < 10 ? '0' + m : m; - s = s < 10 ? '0' + s : s; - // var balance_time = m + ':' + s; - this.balance_time = m + ':' + s; - remaining -= 1; - // console.log(this.balance_time); - if (remaining >= 0 && this.timerOn) { - this.timeLimit = setTimeout(function () { - _this.timer(remaining); - }, 1000); - return; - } - if (!this.timerOn) { - // Do validate stuff here - return; - } - // Do timeout stuff here - this.users = this.aws.getlocale(); - var data; - var alert = this.alertCtrl.create({ - title: 'OTP Expired ', - message: 'Do you want sure resend OTP', - buttons: [ - { - text: 'OTP Without Start', - handler: function () { - _this.otpStatusAccess = false; - } - }, - { - text: 'Resend OTP', - handler: function () { - _this.geolocation.getCurrentPosition().then(function (resp) { - var currentPosPDofficer = resp.coords.latitude + "," + resp.coords.longitude; - data = { 'pd_id': _this.applicatentDetails.pd_id, 'pd_status': 'STARTED', 'mobile_no': _this.applicatentDetails.applicat_details[0].mobile_no, 'fk_updatedby': _this.users, 'link': currentPosPDofficer }; - console.log(data); - _this.pddetails.updatepdStatus(data).subscribe(function (res) { - _this.timer(60); - }); - }); - // console.log('Buy clicked'); - } - } - ] - }); - alert.present(); - }; - OtpPage.prototype.saveotpreasno = function () { - var _this = this; - console.log(this.reasonForm.value); - if (this.reasonForm.valid) { - var data = { 'pd_id': this.applicatentDetails.pd_id, 'reason': this.reasonForm.value.reason, 'other_reason': this.reasonForm.value.others_reason, 'fk_updatedby': this.users }; - this.pddetails.checkotp(data).subscribe(function (res) { - _this.otpStatus = res; - if (_this.otpStatus.dataStatus == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_3__pd_question_category_pd_question_category__["a" /* PdQuestionCategoryPage */], { 'pdDetails': _this.applicatentDetails }); - } - else { - // this.toast.pdTriggerappmessage('Enter the Correct OTP'); - } - }); - } - else { - this.toast.pdTriggerappmessage('Enter The All Field'); - } - }; - OtpPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-otp',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/otp/otp.html"*/'\n\n\n \n \n OTP Page\n Reason Page\n \n \n \n \n\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

OTP

\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n

{{balance_time}}

\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n

With out OTP Reason

\n
\n
\n \n
\n \n \n \n \n \n {{otp.rejection_reason}}\n \n \n {{reason}}\n \n \n \n \n
\n
\n
\n \n \n \n \n \n
\n\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/otp/otp.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* MenuController */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_7__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_8__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__["a" /* Geolocation */], __WEBPACK_IMPORTED_MODULE_10__ionic_native_android_permissions__["a" /* AndroidPermissions */]]) - ], OtpPage); - return OtpPage; -}()); - -//# sourceMappingURL=otp.js.map - -/***/ }), - -/***/ 199: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CameraProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__ = __webpack_require__(361); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the CameraProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var CameraProvider = (function () { - function CameraProvider(http, camera) { - this.http = http; - this.camera = camera; - console.log('Hello CameraProvider Provider'); - } - CameraProvider.prototype.getpicture = function () { - var options = { - quality: 100, - destinationType: this.camera.DestinationType.DATA_URL, - targetWidth: 500, - targetHeight: 500, - correctOrientation: true - }; - // If set to crop, restricts the image to a square of 600 by 600 - return this.camera.getPicture(options).then(function (imageData) { - var base64Image = 'data:image/png;base64,' + imageData; - // console.log(base64Image); - return base64Image; - }, function (error) { - console.log('CAMERA ERROR -> ' + JSON.stringify(error)); - }); - }; - CameraProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__["a" /* Camera */]]) - ], CameraProvider); - return CameraProvider; -}()); - -//# sourceMappingURL=camera.js.map - -/***/ }), - -/***/ 200: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionSupplierInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionSupplierInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionSupplierInfoPage = (function () { - function PdQuestionSupplierInfoPage(navCtrl, navParams, fb, aws, qustCat, toast) { - var _this = this; - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.business_manufacturingProducts = []; - this.business_tradingProducts = []; - this.m_titleList = []; - this.m_paymentList = []; - this.m_companyRelationShipList = []; - this.noRecordsFound = false; - this.submitted = false; - this.errorMessage = ''; - this.serviceProviderForm = false; - this.manufacturingForm = false; - this.tradingForm = false; - this.mfgCreditCardFlag = false; - this.trdCreditCardFlag = false; - this.mfgCounter = []; - this.trdCounter = []; - this.questionDetails = this.navParams.get('questionDetails'); - this.pdDetails = this.navParams.get('pdDetails'); - this.formDetails = this.navParams.get('formDetails'); - this.form_id = this.formDetails.form_id; - this.company_id = this.pdDetails.company_id; - this.users = this.aws.getlocale(); - this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(function (data) { - if (data.dataStatus) { - var datas_1 = data.records; - _this.initFormLoadDetails(datas_1.type_of_activity); - _this.business_manufacturingProducts = datas_1.type_of_activity.filter(function (data) { if (data.type_of_activity_id == 2) { - return data; - } }).map(function (data) { return data.prodcuts.slice(); }); - // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]); - var api = Object.keys(datas_1.type_of_activity).map(function (key) { - return datas_1.type_of_activity[key]; - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 3) { - if (val.prodcuts) { - _this.business_tradingProducts.push(val.prodcuts); - } - } - if (val.type_of_activity_id == 4) { - if (val.prodcuts) { - _this.business_tradingProducts.push(val.prodcuts); - } - } - }); - } - _this.business_tradingProducts = [].concat.apply([], _this.business_tradingProducts); - } - else { - _this.toast.pdTriggerappmessage('No Category Records Found.!'); - _this.noRecordsFound = false; - _this.errorMessage = data.msg; - } - }, function (err) { - _this.toast.pdTriggerappmessage('No Category Records Found.!'); - _this.noRecordsFound = false; - _this.errorMessage = 'No Records Found , Something went Wrong!'; - }); - this.getdropList(); - } - PdQuestionSupplierInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionSupplierInfoPage'); - }; - PdQuestionSupplierInfoPage.prototype.initFormLoadDetails = function (record) { - var _this = this; - var params = {}; - params.pd_id = this.pdDetails.pd_id; - params.pd_form_id = this.form_id; - params.company_id = this.company_id; - this.qustCat.retiverForm(params).subscribe(function (data) { - if (data['dataStatus'] == true) { - var dataForm = data['records']; - if (dataForm !== undefined) { - _this.supplierInfoForm = _this.fb.group({ - pdid: [_this.pdDetails.pd_id], - formid: [_this.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record)]), - supplier_info_form_remark: [dataForm.supplier_info_form_remark || null] - // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]), - }); - var arr = record.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) { - // return dataForm.main_raw_materials[key]; - // }); - if (dataForm.manufacturing_details[0] != null) { - var api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials; - _this.initManufacturingProductsDetails(api_main_raw_materials); - _this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null); - } - else { - _this.initManufacturingProductsDetails(null); - _this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null); - } - } - var arr1 = record.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr1.length > 0) { - // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) { - // return dataForm.trading_products[key]; - // }); - if (dataForm.trade_details[0] != null) { - var api_trading_products = dataForm.trade_details[0].trading_products; - _this.initTradingProductsDetails(api_trading_products); - _this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null); - } - else { - _this.initTradingProductsDetails(null); - _this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null); - } - } - _this.noRecordsFound = true; - } - else { - _this.supplierInfoForm = _this.fb.group({ - pdid: [_this.pdDetails.pd_id], - formid: [_this.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record)]), - supplier_info_form_remark: [dataForm.supplier_info_form_remark || null] - // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]), - }); - var arr = record.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - _this.initManufacturingProductsDetails(null); - _this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null); - } - var arr1 = record.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr1.length > 0) { - _this.initTradingProductsDetails(null); - _this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trading_products_total_payments_percent_on_credit || null); - } - _this.noRecordsFound = true; - } - var arr2 = record.filter(function (data) { return data.type_of_activity_id == 5; }); - if (arr2.length > 0) { - _this.serviceProviderForm = true; - } - } - else { - _this.supplierInfoForm = _this.fb.group({ - pdid: [_this.pdDetails.pd_id], - formid: [_this.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record)]), - supplier_info_form_remark: [] - // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]), - }); - var arr = record.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - _this.initManufacturingProductsDetails(null); - _this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null); - } - var arr1 = record.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr1.length > 0) { - _this.initTradingProductsDetails(null); - _this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null); - } - var arr2 = record.filter(function (data) { return data.type_of_activity_id == 5; }); - if (arr2.length > 0) { - _this.serviceProviderForm = true; - } - _this.noRecordsFound = true; - } - }, function (err) { - }); - }; - PdQuestionSupplierInfoPage.prototype.manufacturingFormCreation = function (val) { - var arr = val.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - this.manufacturingForm = true; - return this.fb.group({ - main_raw_materials: this.fb.array([]), - main_raw_materials_total_payments_percent_on_credit: [] - }); - // } - } - else { - return; - } - }; - PdQuestionSupplierInfoPage.prototype.tradingFormCreation = function (val) { - var arr = val.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr.length > 0) { - this.tradingForm = true; - return this.fb.group({ - trading_products: this.fb.array([]), - trading_products_total_payments_percent_on_credit: [] - }); - } - else { - return; - } - }; - PdQuestionSupplierInfoPage.prototype.initManufacturingProductsDetails = function (datas) { - var _this = this; - var control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - if (datas === null) { - control.push(this.initManufacturingProducts(null)); - } - else { - datas.forEach(function (val, inx) { - _this.checkCard(val.manufacturing_payment_type, 1, inx); - control.push(_this.initManufacturingProducts(val)); - }); - } - }; - PdQuestionSupplierInfoPage.prototype.initManufacturingProducts = function (records) { - if (records === null) { - return this.fb.group({ - manufacturing_raw_material_name: [''], - manufacturing_supplier_name: [''], - person_title_name: [''], - person_designation: [''], - other_person_designation: [''], - manufacturing_contact_person_name: [''], - manufacturing_contact_person_mobile_number: [''], - //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)]) - manufacturing_payment_type: [''], - manufacturing_payment_mode: [''], - manufacturing_credit_days_from: [''], - manufacturing_credit_days_to: [''], - manufacturing_frequency_of_purchase: [''], - person_stdcode: [''], - //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')]) - person_landline: [''], - }); - } - else { - return this.fb.group({ - manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null], - manufacturing_supplier_name: [records.manufacturing_supplier_name || null], - person_title_name: [records.person_title_name || null], - person_designation: [records.person_designation || null], - other_person_designation: [records.other_person_designation || null], - manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null], - manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null], - //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])], - manufacturing_payment_type: [records.manufacturing_payment_type || null], - manufacturing_payment_mode: [records.manufacturing_payment_mode], - manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null], - manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null], - manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null], - person_stdcode: [records.person_stdcode || null], - //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')]) - person_landline: [records.person_landline || null], - }); - } - }; - PdQuestionSupplierInfoPage.prototype.initTradingProductsDetails = function (datas) { - var _this = this; - var control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products']; - if (datas === null) { - control.push(this.initTradingProducts(null)); - } - else { - datas.forEach(function (val, inx) { - _this.checkCard(val.trade_product_payment_type, 2, inx); - control.push(_this.initTradingProducts(val)); - }); - } - }; - PdQuestionSupplierInfoPage.prototype.initTradingProducts = function (records) { - if (records === null) { - return this.fb.group({ - trade_product_name: [''], - trade_supplier_name: [''], - person_title_name: [''], - person_designation: [''], - other_person_designation: [''], - trade_product_contact_person_name: [''], - trade_product_contact_person_mobile_number: [''], - //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)]) - person_stdcode: [null], - //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')]) - person_landline: [null], - //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')]) - trade_product_payment_type: [''], - trade_product_payment_mode: [''], - trade_product_frequency_of_purchase: [''], - trade_product_credit_days_from: [''], - trade_product_credit_days_to: [''], - }); - } - else { - return this.fb.group({ - trade_product_name: [records.trade_product_name], - person_title_name: [records.person_title_name], - person_designation: [records.person_designation], - other_person_designation: [records.other_person_designation], - trade_supplier_name: [records.trade_supplier_name], - trade_product_contact_person_name: [records.trade_product_contact_person_name], - trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number], - //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)]) - person_stdcode: [records.person_stdcode], - //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')]) - person_landline: [records.person_landline], - //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')]) - trade_product_payment_type: [records.trade_product_payment_type], - trade_product_payment_mode: [records.trade_product_payment_mode], - trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase], - trade_product_credit_days_from: [records.trade_product_credit_days_from], - trade_product_credit_days_to: [records.trade_product_credit_days_to], - }); - } - }; - PdQuestionSupplierInfoPage.prototype.addMoreRawMaterials = function (e) { - // e.stropPropagation(); - var control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - control.push(this.initManufacturingProducts(null)); - }; - PdQuestionSupplierInfoPage.prototype.removeRawMaterials = function (inx) { - var control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - control.removeAt(inx); - }; - PdQuestionSupplierInfoPage.prototype.addMoretradeProduct = function (e) { - // e.stropPropagation(); - var control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products']; - control.push(this.initTradingProducts(null)); - }; - PdQuestionSupplierInfoPage.prototype.removeTradingProduct = function (inx) { - var control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products']; - control.removeAt(inx); - }; - PdQuestionSupplierInfoPage.prototype.getdropList = function () { - var _this = this; - this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(function (data) { - _this.m_companyRelationShipList = data['records']; - //.filter(data => data.isactive == 1); - // because in general no need of "other" option but in supplier others option needed - in DB others option changed into inactive" - }); - this.qustCat.getcommondrop('TITLES').subscribe(function (data) { - _this.m_titleList = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustCat.getcommondrop('PAYMENTMODE').subscribe(function (data) { - _this.m_paymentList = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - }; - PdQuestionSupplierInfoPage.prototype.saveSupplierInfo = function (FormValues) { - var _this = this; - var answerFormValues = FormValues; - Object.keys(answerFormValues).forEach(function (key) { return (answerFormValues[key] == null) && delete answerFormValues[key]; }); - this.qustCat.saveForm(answerFormValues).subscribe(function (responsed) { - if (responsed['status'] == 200) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); - } - }); - }; - PdQuestionSupplierInfoPage.prototype.selectedPersonDesignation = function (items, e, flag) { - if (flag == 1) { - e == 1 ? '' : ''; - // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required]) - // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue(''); - // items.controls['other_person_designation'].updateValueAndValidity(); - } - else if (flag == 2) { - e == 1 ? '' : ''; - // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required]) - // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue(''); - // items.controls['other_person_designation'].updateValueAndValidity(); - } - }; - PdQuestionSupplierInfoPage.prototype.checkCard = function (e, flag, index) { - if (flag == 2 && e == 3) { - this.trdCounter[index] = 1; - } - else if (flag == 2 && e != 3) { - this.trdCounter[index] = 0; - } - var TRD = this.trdCounter.reduce(function (sum, val) { return sum + +val; }, 0); - this.trdCreditCardFlag = TRD > 0 ? true : false; - if (flag == 1 && e == 3) { - this.mfgCounter[index] = 1; - } - else if (flag == 1 && e != 3) { - this.mfgCounter[index] = 0; - } - var MFG = this.mfgCounter.reduce(function (sum, val) { return sum + +val; }, 0); - this.mfgCreditCardFlag = MFG > 0 ? true : false; - }; - PdQuestionSupplierInfoPage.prototype.selectedPaymentTerms = function (items, e, flag) { - if (flag == 2) { - if (e == 3) { - // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]); - // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]); - } - else { - items.controls['trade_product_credit_days_from'].clearValidators(); - items.controls['trade_product_credit_days_from'].setValue(''); - items.controls['trade_product_credit_days_to'].clearValidators(); - items.controls['trade_product_credit_days_to'].setValue(''); - } - items.controls['trade_product_credit_days_from'].updateValueAndValidity(); - items.controls['trade_product_credit_days_to'].updateValueAndValidity(); - } - else if (flag == 1) { - if (e == 3) { - //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]); - } - else { - items.controls['manufacturing_credit_days_from'].clearValidators(); - items.controls['manufacturing_credit_days_from'].setValue(''); - items.controls['manufacturing_credit_days_to'].clearValidators(); - items.controls['manufacturing_credit_days_to'].setValue(''); - } - items.controls['manufacturing_credit_days_from'].updateValueAndValidity(); - items.controls['manufacturing_credit_days_to'].updateValueAndValidity(); - } - }; - PdQuestionSupplierInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-supplier-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.html"*/'\n \n \n {{formDetails.form_name}}\n \n\n\n
\n
\n
\n \n \n
Manufacturing Product Details
\n
\n
\n
\n
\n
\n Raw Material #{{l+1}}\n \n
\n \n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{ pm.name }}\n \n \n \n \n Payment made in Cash.\n Payment made through Banking\n channels.\n \n \n \n No.of days of Credit Provided by Supplier \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n\n \n
Trading Product Details
\n
\n\n
\n
\n
\n
\n Trading Product #{{l+1}}\n \n
\n \n \n {{ tp.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{ pm.name }}\n \n \n \n \n Payment made in Cash.\n Payment made through Banking\n channels.\n \n \n \n No.of days of Credit Provided by Supplier \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n\n \n
Service Provider Product Details
\n
\n\n
Service Provider Details Not applicable here !!
\n
\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
{{ errorMessage }}
\n
\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionSupplierInfoPage); - return PdQuestionSupplierInfoPage; -}()); - -//# sourceMappingURL=pd-question-supplier-info.js.map - -/***/ }), - -/***/ 201: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionStockInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionStockInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionStockInfoPage = (function () { - function PdQuestionStockInfoPage(navCtrl, navParams, qustCat, aws, toast, fb, constant) { - var _this = this; - this.navCtrl = navCtrl; - this.navParams = navParams; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.fb = fb; - this.constant = constant; - this.errorMessage = ''; - this.M_rawValueInWords = []; - this.M_goodsValueInWords = []; - this.R_tradedGoodsValueInWords = []; - this.T_tradedGoodsValueInWords = []; - this.mrmCommentFlag = []; - this.mfgCommentFlag = []; - this.rtrdCommentFlag = []; - this.wtrdCommentFlag = []; - this.serviceProviderForm = false; - this.suppliers_raw_materials = []; - this.suppliers_retail_trade_details = []; - this.suppliers_wholesale_trade_details = []; - this.suppliers_finished_goods = []; - this.RMCommentCard = false; - this.TGCommentCard = false; - this.manufacturingForm = false; - this.retailForm = false; - this.tradingForm = false; - this.ManufacturingCounterArray = []; - this.FinishedCounterArray = []; - this.RetailCounterArray = []; - this.WholeSaleCounterArray = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.formDetails = this.navParams.get('formDetails'); - this.users = this.aws.getlocale(); - this.company_id = this.pdDetails.company_id; - this.pdid = this.pdDetails.pd_id; - this.qustCat.stockFormAccess(this.pdid, this.company_id).subscribe(function (data) { - if (data.dataStatus == true) { - _this.initstockForm(data.record); - } - else if (data.dataStatus == false) { - _this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + _this.company_id); - _this.noRecordsFound = false; - _this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + _this.company_id + '! ....'; - return; - } - else { - _this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + _this.company_id); - _this.noRecordsFound = false; - _this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + _this.company_id + '! ....'; - return; - } - }, function (err) { - _this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!'); - _this.noRecordsFound = false; - _this.errorMessage = 'No Records Found , Something went Wrong!'; - }); - this.getdropdown(); - } - PdQuestionStockInfoPage.prototype.initstockForm = function (record) { - var _this = this; - var api = Object.keys(record.from_business).map(function (key) { - return record.from_business[key]; - }); - var type3 = record.from_business.filter(function (data) { return data.type_of_activity_id == 3; }); - var type3length = type3[0].hasOwnProperty("products") ? type3[0].products.length : 0; - var type4 = record.from_business.filter(function (data) { return data.type_of_activity_id == 4; }); - var type4length = type4[0].hasOwnProperty("products") ? type4[0].products.length : 0; - var rm_api = record.from_supplier; - var params = {}; - params.pd_id = this.pdid; - params.pd_form_id = this.formDetails.form_id; - params.company_id = this.company_id; - this.qustCat.retiverForm(params).subscribe(function (value) { - if (value['status'] == 200) { - var dataForm_1 = value['records']; - if (dataForm_1 !== undefined) { - _this.stockForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - stock_remarks: [dataForm_1.stock_remarks], - // is_sufficiant_raw:[dataForm.is_sufficiant_raw], - // rawmaterial_remarks:[dataForm.rawmaterial_remarks], - is_sufficiant_finished_and_traded_goods: [dataForm_1.is_sufficiant_finished_and_traded_goods], - finished_and_traded_goods_remarks: [dataForm_1.finished_and_traded_goods_remarks], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - retail_details: _this.fb.array([_this.retailFormCreation(type3length)]), - trade_details: _this.fb.array([_this.tradingFormCreation(type4length)]), - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 2) { - if (val.products) { - // if(dataForm.manufacturing_details[0].manufacturing_finished_goods ){this.finishedAndTradedGoodsCommentCard = true;} - var manufacturing_temparr = []; - manufacturing_temparr['manufacturing_raw_materials'] = dataForm_1.manufacturing_details[0].manufacturing_raw_materials; - _this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm_1.manufacturing_details[0].is_sufficiant_raw), - _this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm_1.manufacturing_details[0].rawmaterial_remarks); - manufacturing_temparr['manufacturing_finished_goods'] = dataForm_1.manufacturing_details[0].manufacturing_finished_goods; - _this.initManufacturingDetails(manufacturing_temparr); - } - } - if (val.type_of_activity_id == 3) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - var retail_temparr = []; - retail_temparr['retail_traded_goods'] = dataForm_1.retail_details[0].retail_traded_goods; - _this.initRetailDetails(retail_temparr); - } - } - if (val.type_of_activity_id == 4) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - var trading_temparr = []; - trading_temparr['trading_traded_goods'] = dataForm_1.trade_details[0].trading_traded_goods; - console.log("Trade", trading_temparr); - _this.initTradingDetails(trading_temparr); - } - } - if (val.type_of_activity_id == 5) { - if (val.products) { - _this.serviceProviderForm = true; - } - } - }); - _this.noRecordsFound = true; - } - } - else { - _this.stockForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - stock_remarks: [''], - // is_sufficiant_raw:[''], - // rawmaterial_remarks:[''], - is_sufficiant_finished_and_traded_goods: [''], - finished_and_traded_goods_remarks: [''], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - retail_details: _this.fb.array([_this.retailFormCreation(type3length)]), - trade_details: _this.fb.array([_this.tradingFormCreation(type4length)]), - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 2) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - _this.suppliers_finished_goods = val.products; - _this.initManufacturingDetails(null); - _this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm_1.manufacturing_details[0].is_sufficiant_raw.value || null), - _this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm_1.manufacturing_details[0].rawmaterial_remarks || null); - } - } - if (val.type_of_activity_id == 3) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - _this.suppliers_retail_trade_details = val.products; - _this.initRetailDetails(null); - } - } - if (val.type_of_activity_id == 4) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - _this.suppliers_wholesale_trade_details = val.products; - _this.initTradingDetails(null); - } - } - if (val.type_of_activity_id == 5) { - if (val.products) { - // this.suppliers_service_product = val.products; - _this.serviceProviderForm = true; - } - } - }); - _this.noRecordsFound = true; - } - } - } - else { - console.log("Record", record); - _this.stockForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - stock_remarks: [''], - // is_sufficiant_raw:[''], - // rawmaterial_remarks:[''], - is_sufficiant_finished_and_traded_goods: [''], - finished_and_traded_goods_remarks: [''], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - retail_details: _this.fb.array([_this.retailFormCreation(type3length)]), - trade_details: _this.fb.array([_this.tradingFormCreation(type4length)]), - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 2) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - _this.suppliers_finished_goods = val.products; - _this.suppliers_raw_materials = rm_api; - _this.initManufacturingDetails(null); - _this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(null); - _this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(null); - } - } - if (val.type_of_activity_id == 3) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - _this.suppliers_retail_trade_details = val.products; - _this.initRetailDetails(null); - } - } - if (val.type_of_activity_id == 4) { - if (val.products) { - // this.finishedAndTradedGoodsCommentCard = true; - _this.suppliers_wholesale_trade_details = val.products; - _this.initTradingDetails(null); - } - } - if (val.type_of_activity_id == 5) { - if (val.products) { - // this.suppliers_service_product = val.products; - _this.serviceProviderForm = true; - } - } - }); - _this.noRecordsFound = true; - } - } - }); - }; - PdQuestionStockInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionStockInfoPage'); - }; - PdQuestionStockInfoPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('UOM').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.uomData = data['records'].filter(function (uom) { return uom.isactive == 1 && uom.is_land_uom == 0 || uom.is_land_uom == 2; }); - } - }); - }; - PdQuestionStockInfoPage.prototype.manufacturingFormCreation = function (record) { - var arr = record.from_business.filter(function (data) { return data.type_of_activity_id == 2; }); - var rm_arr = record.from_supplier; - //console.log("Manufacturing ",arr); - if (arr.length > 0) { - this.manufacturingForm = true; - return this.fb.group({ - is_sufficiant_raw: [], - rawmaterial_remarks: [], - manufacturing_raw_materials: this.fb.array([]), - manufacturing_finished_goods: this.fb.array([]), - }); - } - else { - return; - } - }; - PdQuestionStockInfoPage.prototype.retailFormCreation = function (val) { - //let arr = val.filter(data => data.type_of_activity_id == 3); - var arr = val; - console.log("retail Form ", arr); - if (arr > 0) { - // if(arr.products != undefined){ - this.retailForm = true; - return this.fb.group({ - retail_traded_goods: this.fb.array([]) - }); - // }else{ - // this.retailForm = false; - // return; - // } - } - else { - return this.fb.group({ - retail_traded_goods: this.fb.array([]) - }); - // return; - } - }; - PdQuestionStockInfoPage.prototype.tradingFormCreation = function (val) { - var arr = val; - //let arr = val.filter(data => data.type_of_activity_id == 4); - if (arr > 0) { - // if(arr.products === undefined){ - // this.tradingForm = false; - // return; - // } - this.tradingForm = true; - return this.fb.group({ - trading_traded_goods: this.fb.array([]) - }); - } - else { - return this.fb.group({ - trading_traded_goods: this.fb.array([]) - }); - // return; - } - }; - PdQuestionStockInfoPage.prototype.initManufacturingDetails = function (datas) { - var _this = this; - var rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials']; - var finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; - var control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - if (datas === null) { - if (this.suppliers_raw_materials.length > 0) { - this.suppliers_raw_materials.forEach(function (val) { - var Ref_RawMaterials = { 'raw_name': val, - 'stock_observed': '', - 'raw_quantity': '', - 'raw_uom': '', - 'other_uom': '', - 'raw_value': '', - 'is_sufficiant_raw': '', - 'rawmaterial_remarks': '' }; - rawMaterial.push(_this.createRawmaterial(Ref_RawMaterials)); - }); - } - else { - rawMaterial.push(this.createRawmaterial(null)); - } - if (this.suppliers_finished_goods.length > 0) { - this.suppliers_finished_goods.forEach(function (val) { - var Ref_Finished_Goods = { 'goods_name': val, - 'goods_observed': '', - 'goods_quantity': '', - 'goods_uom': '', - 'goods_other_uom': '', - 'goods_value': '', - 'is_sufficiant_goods': '', - 'finishedgoods_remarks': '' }; - finishedGoods.push(_this.createGoods(Ref_Finished_Goods)); - }); - } - else { - finishedGoods.push(this.createGoods(null)); - } - } - else { - if (datas.manufacturing_raw_materials != undefined) { - datas.manufacturing_raw_materials.forEach(function (val, index) { - if (val.raw_value) { - _this.inWords(val.raw_value, 1, index); - } - // this.checkComments(val.is_sufficiant_raw,1,index); - _this.checkComments(val.stock_observed, 1, index); - rawMaterial.push(_this.createRawmaterial(val)); - }); - } - else { - rawMaterial.push(this.createRawmaterial(null)); - } - if (datas.manufacturing_finished_goods != undefined) { - datas.manufacturing_finished_goods.forEach(function (val, index) { - if (val.goods_value) { - _this.inWords(val.goods_value, 2, index); - } - // this.checkComments(val.is_sufficiant_goods,2,index); - _this.checkComments(val.goods_observed, 2, index); - finishedGoods.push(_this.createGoods(val)); - }); - } - else { - finishedGoods.push(this.createGoods(null)); - } - } - }; - PdQuestionStockInfoPage.prototype.createRawmaterial = function (records) { - if (records === null) { - return this.fb.group({ - raw_name: [''], - stock_observed: [''], - raw_quantity: [''], - raw_uom: [''], - other_uom: [''], - raw_value: [''], - is_sufficiant_raw: [''], - rawmaterial_remarks: [''] - }); - } - else { - return this.fb.group({ - raw_name: [records.raw_name], - stock_observed: [records.stock_observed], - raw_quantity: [records.raw_quantity], - raw_uom: [records.raw_uom], - other_uom: [records.other_uom], - raw_value: [records.raw_value], - is_sufficiant_raw: [records.is_sufficiant_raw], - rawmaterial_remarks: [records.rawmaterial_remarks] - }); - } - }; - PdQuestionStockInfoPage.prototype.initRetailDetails = function (datas) { - var _this = this; - var tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods']; - if (datas === null) { - if (this.suppliers_retail_trade_details.length > 0) { - // this.rawMaterialAccess = true; - this.suppliers_retail_trade_details.forEach(function (val) { - var Ref_Trade_Goods = { - 'traded_goods_name': val, - 'traded_goods_observed': '', - 'traded_goods_quantity': '', - 'traded_goods_uom': '', - 'traded_goods_other_uom': '', - 'estimated_traded_goods_value': '', - 'is_sufficiant_traded_goods': '', - 'traded_goods_remarks': '' - }; - tradedGoods.push(_this.createTradedGoods(Ref_Trade_Goods)); - }); - } - else { - tradedGoods.push(this.createTradedGoods(null)); - } - } - else { - if (datas.retail_traded_goods !== undefined) { - datas.retail_traded_goods.forEach(function (val, index) { - if (val.estimated_traded_goods_value) { - _this.inWords(val.estimated_traded_goods_value, 3, index); - } - // this.checkComments(val.is_sufficiant_traded_goods,3,index); - _this.checkComments(val.traded_goods_observed, 3, index); - tradedGoods.push(_this.createTradedGoods(val)); - }); - } - else { - tradedGoods.push(this.createTradedGoods(null)); - } - } - }; - PdQuestionStockInfoPage.prototype.createGoods = function (records) { - if (records === null) { - return this.fb.group({ - goods_name: [''], - goods_observed: [''], - goods_quantity: [''], - goods_uom: [''], - goods_other_uom: [''], - goods_value: [''], - is_sufficiant_goods: [''], - finishedgoods_remarks: [''] - }); - } - else { - return this.fb.group({ - goods_name: [records.goods_name], - goods_observed: [records.goods_observed], - goods_quantity: [records.goods_quantity], - goods_uom: [records.goods_uom], - goods_other_uom: [records.goods_other_uom], - goods_value: [records.goods_value], - is_sufficiant_goods: [records.is_sufficiant_goods], - finishedgoods_remarks: [records.finishedgoods_remarks] - }); - } - }; - PdQuestionStockInfoPage.prototype.initTradingDetails = function (datas) { - var _this = this; - var tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; - if (datas === null) { - if (this.suppliers_wholesale_trade_details.length > 0) { - this.suppliers_wholesale_trade_details.forEach(function (val) { - var Ref_Trade_Goods = { - 'traded_goods_name': val, - 'traded_goods_observed': '', - 'traded_goods_quantity': '', - 'traded_goods_uom': '', - 'traded_goods_other_uom': '', - 'estimated_traded_goods_value': '', - 'is_sufficiant_traded_goods': '', - 'traded_goods_remarks': '' - }; - tradedGoods.push(_this.createTradedGoods(Ref_Trade_Goods)); - }); - } - else { - tradedGoods.push(this.createTradedGoods(null)); - } - } - else { - if (datas.trading_traded_goods !== undefined) { - datas.trading_traded_goods.forEach(function (val, index) { - if (val.estimated_traded_goods_value) { - _this.inWords(val.estimated_traded_goods_value, 4, index); - } - // this.checkComments(val.is_sufficiant_traded_goods,4,index); - _this.checkComments(val.traded_goods_observed, 4, index); - tradedGoods.push(_this.createTradedGoods(val)); - }); - } - else { - tradedGoods.push(this.createTradedGoods(null)); - } - } - }; - PdQuestionStockInfoPage.prototype.createTradedGoods = function (records) { - if (records === null) { - return this.fb.group({ - traded_goods_name: [''], - traded_goods_observed: [''], - traded_goods_quantity: [''], - traded_goods_uom: [''], - traded_goods_other_uom: [''], - estimated_traded_goods_value: [''], - is_sufficiant_traded_goods: [''], - traded_goods_remarks: [''] - }); - } - else { - return this.fb.group({ - traded_goods_name: [records.traded_goods_name], - traded_goods_observed: [records.traded_goods_observed], - traded_goods_quantity: [records.traded_goods_quantity], - traded_goods_uom: [records.traded_goods_uom], - traded_goods_other_uom: [records.traded_goods_other_uom], - estimated_traded_goods_value: [records.estimated_traded_goods_value], - is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods], - traded_goods_remarks: [records.traded_goods_remarks] - }); - } - }; - /** Manufacturing -> To Add More Raw Material Details */ - PdQuestionStockInfoPage.prototype.addRawMaterials = function (flag) { - if (flag == 1) { - var control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials']; - control.push(this.createRawmaterial(null)); - } - }; - /** Manufacturing -> To Remove Raw Material Details */ - PdQuestionStockInfoPage.prototype.deleteRawMaterials = function (index, flag) { - if (flag == 1) { - var control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials']; - control.removeAt(index); - } - }; - /** Manufacturing -> To Add More Finished Goods */ - PdQuestionStockInfoPage.prototype.addGoods = function (flag) { - if (flag == 1) { - var control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; - control.push(this.createGoods(null)); - } - }; - /** Manufacturing -> To Remove Finished Goods */ - PdQuestionStockInfoPage.prototype.deleteGoods = function (index, flag) { - if (flag == 1) { - var control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods']; - control.removeAt(index); - } - }; - /** - * Case 1 Retail Traded -> To Add More trade Goods - * Case 2 wholesale Traded -> To Add More trade Goods - */ - PdQuestionStockInfoPage.prototype.addTradedGoods = function (flag) { - switch (flag) { - case 1: { - var control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods']; - control.push(this.createTradedGoods(null)); - break; - } - case 2: { - var control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; - control.push(this.createTradedGoods(null)); - break; - } - default: { - break; - } - } - }; - /** - * Case 1 Retail Traded -> To remove trade Goods - * Case 2 wholesale Traded -> To remove trade Goods - */ - PdQuestionStockInfoPage.prototype.deleteTradedGoods = function (index, flag) { - switch (flag) { - case 1: { - var control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods']; - control.removeAt(index); - break; - } - case 2: { - var control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; - control.removeAt(index); - break; - } - default: { - break; - } - } - //const control = this.stockForm.controls['traded_goods']; - }; - PdQuestionStockInfoPage.prototype.checkComments = function (value, flag, index) { - if (flag == 1) { - this.ManufacturingCounterArray[index] = value == "yes" ? 1 : 0; - var RMOverallCount = this.ManufacturingCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - this.RMCommentCard = RMOverallCount > 0 ? true : false; - } - if (flag == 2) { - this.FinishedCounterArray[index] = value == "yes" ? 1 : 0; - } - if (flag == 3) { - this.RetailCounterArray[index] = value == "yes" ? 1 : 0; - } - if (flag == 4) { - this.WholeSaleCounterArray[index] = value == "yes" ? 1 : 0; - } - var FGOverallCount = this.FinishedCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var RTGOverallCount = this.RetailCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var WTGOverallCount = this.WholeSaleCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var TGOverallCount = FGOverallCount + RTGOverallCount + WTGOverallCount; - this.TGCommentCard = TGOverallCount > 0 ? true : false; - }; - /** To Save/Edited Popup Data */ - PdQuestionStockInfoPage.prototype.saveStockInfo = function (answerFormValues) { - var _this = this; - //To Remove The "Null" With Key also - Object.keys(answerFormValues).forEach(function (key) { return (answerFormValues[key] == null) && delete answerFormValues[key]; }); - this.qustCat.saveForm(answerFormValues).subscribe(function (responsed) { - if (responsed['status'] == 200) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); - } - }); - }; - PdQuestionStockInfoPage.prototype.inWords = function (e, flag, i) { - switch (flag) { - case 1: - this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); - break; - case 2: - this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); - break; - case 3: - this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); - break; - case 4: - this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); - break; - default: - break; - } - }; - PdQuestionStockInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-stock-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.html"*/'\n \n \n {{formDetails.form_name}}\n \n\n\n
\n
\n
\n \n
Manufacturing Stock Details
\n
\n
\n
\n
\n Raw Material #{{a+1}}\n \n \n \n \n \n \n \n Add Stock Details\n No Stock Observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{M_rawValueInWords[a]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n Is the stock of Raw Materials observed, sufficient considering the size of operations
\n \n Yes\n No\n \n
\n \n Please comment on the stock level observed?\n \n \n \n
\n
\n
\n
\n Finished Goods #{{b+1}}\n \n \n \n \n \n \n Add Stock Details\n No Stock Observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{M_goodsValueInWords[b]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
Retail Trading Details
\n
\n
\n
\n
\n Traded Goods #{{e+1}}\n \n \n \n \n \n \n Add Stock Details\n No Stock Observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{R_tradedGoodsValueInWords[e]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
\n
Wholesale Trading Details
\n
\n
\n
\n
\n Traded Goods #{{g+1}}\n \n \n \n \n \n \n Add Stock Details\n No stock observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{T_tradedGoodsValueInWords[g]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n Is the stock of finished / traded goods observed, sufficient considering the size of operations
\n \n Select\n Yes\n No\n \n
\n \n Please comment on the stock level observed? \n \n \n
\n
\n \n
Service Provider Details
\n
Service Provider Details Not applicable here !!
\n
\n \n \n Remarks\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
{{ errorMessage }}
\n
\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionStockInfoPage); - return PdQuestionStockInfoPage; -}()); - -//# sourceMappingURL=pd-question-stock-info.js.map - -/***/ }), - -/***/ 202: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionFinancialInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionFinancialInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionFinancialInfoPage = (function () { - function PdQuestionFinancialInfoPage(navCtrl, navParams, aws, toast, qustCat, fb, cons) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.toast = toast; - this.qustCat = qustCat; - this.fb = fb; - this.cons = cons; - this.FY_annualSalesInwords = []; - this.FY_netProfitAmtInwords = []; - this.FY_netLossAmtInwords = []; - this.AV_annualSalesInwords = []; - this.AV_netProfitAmtInwords = []; - this.AV_netLossAmtInwords = []; - this.AV_netProfitAmtFrmInwords = []; - this.AV_netProfitAmtToInwords = []; - this.AV_netLossAmtFrmInwords = []; - this.AV_netLossAmtToInwords = []; - this.AV_SalesFrmInwords = []; - this.AV_SalesToInwords = []; - this.AV_SalesInwords = []; - this.AV_marginProfitAmtInwords = []; - this.AV_marginLossAmtInwords = []; - this.av = [{ id: 6, name: 'Letter of Credit' }, - { id: 2, name: 'Bank Guarantee' }, - { id: 3, name: 'Cash Credit Limit' }, - { id: 7, name: 'OD Limit' }, - { id: 4, name: 'Factoring' }, - { id: 5, name: 'Forfaiting' }, - { id: 1, name: 'Others' }]; - this.pdDetails = this.navParams.get('pdDetails'); - this.formDetails = this.navParams.get('formDetails'); - this.FormId = this.formDetails.form_id; - // this.FormId=this.navParams.get('FormId'); - this.company_id = this.pdDetails.company_id; - this.users = this.aws.getlocale(); - this.initFinancialForm(); - } - PdQuestionFinancialInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionFinancialInfoPage'); - this.getDetails(); - }; - PdQuestionFinancialInfoPage.prototype.selectedStatement = function (e) { - if (e == 'yes') { - this.isDisplay = true; - this.financialForm.controls['is_financial_customer'].setValue(''); - } - else if (e == 'no') { - this.isDisplay = false; - this.financialForm.controls['is_financial_customer'].setValue('no'); - // this.selectedFinancialCustomer('no'); - var statementControl = this.financialForm.controls['date_per_financial']; - while (statementControl.length !== 0) { - statementControl.removeAt(0); - } - var control = this.financialForm.controls['estimated_value']; - control.push(this.createValue('')); - this.financialForm.controls['financial_starting_year'].setValue(''); - this.financialForm.controls['financial_no_of_year'].setValue(''); - // alert((new Date()).getFullYear()); - // let year1 = (new Date()).getFullYear(); - // let year2 = ((new Date()).getFullYear() + 1); - // let Year = year1 +'-'+ year2; - } - }; - /** fin customer data from Fin statement*/ - PdQuestionFinancialInfoPage.prototype.selectedFinancialCustomer = function (e) { - if (e == 'yes') { - var control = this.financialForm.controls['estimated_value']; - while (control.length !== 0) { - control.removeAt(0); - } - } - else if (e == 'no') { - var control = this.financialForm.controls['estimated_value']; - control.push(this.createValue('')); - } - }; - PdQuestionFinancialInfoPage.prototype.selectedProfitOrLossType = function (e, detail) { - if (e.value == 1) { - detail.controls.financial_net_loss.setValue(''); - detail.controls.financial_margin_of_loss.setValue(''); - } - else if (e.value == 2) { - detail.controls.financial_net_profit.setValue(''); - detail.controls.financial_margin_of_profit.setValue(''); - } - }; - /** For Auto-generating FinYear */ - PdQuestionFinancialInfoPage.prototype.dynamicalFinYear = function ($event) { - var e = $event.target.value; - if (e == 1) { - this.customerCommentsFlag = false; - } - else { - this.customerCommentsFlag = true; - } - var startingYear = this.financialForm.controls['financial_starting_year'].value; - var control = this.financialForm.controls['date_per_financial']; - while (control.length !== 0) { - control.removeAt(0); - } - if (e > 0) { - for (var i = 1; i <= e; i++) { - var Year = (+startingYear + (i - 1)) + '-' + ((+startingYear) + (+i)); - control.push(this.createDate(Year)); - } - } - }; - PdQuestionFinancialInfoPage.prototype.initFinancialForm = function () { - this.financialForm = this.fb.group({ - pdid: this.pdDetails.pd_id, - formid: this.FormId, - company_id: this.company_id, - fk_createdby: this.users, - financial_remarks: [''], - is_financial_statements: [''], - is_financial_customer: [''], - financial_starting_year: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].minLength(4), __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].maxLength(4)])], - financial_no_of_year: [''], - financial_reason: [''], - financial_customer: [''], - receive_the_money_in_days: [''], - pay_the_money_in_days: [''], - unsold_stock_lies_in_days: [''], - is_there_working_capital_available: [''], - working_capital_facilities_availed: [''], - reason_for_working_capital_facilities_availed: [''], - // same_as_financial_statements:[''], - date_per_financial: this.fb.array([]), - estimated_value: this.fb.array([]) - }); - }; - PdQuestionFinancialInfoPage.prototype.createDate = function (date) { - return this.fb.group({ - financial_year: [date, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].pattern(/^[0-9]{4}-[0-9]{2}$/)])], - financial_annual_sale: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].pattern(/^[0-9\(\)]+$/)])], - finanical_profit_or_loss: [''], - financial_net_profit: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].pattern(/^-?[1-9]\d*|0$/)])], - financial_net_loss: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].pattern(/^-?[1-9]\d*|0$/)])], - financial_margin_of_profit: [''], - financial_margin_of_loss: [''], - financial_variation: [''], - financial_profit_to_sale_variation: [''], - financial_annualsales_variation: [''], - }); - }; - /** CREATING financial Customer ( financial_year AutoGenerate ) */ - PdQuestionFinancialInfoPage.prototype.createValue = function (date) { - return this.fb.group({ - // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])], - estimate_sales_from: [''], - estimate_sales_to: [''], - estimate_sales_average: [''], - estimate_profit_or_loss: [''], - estimate_net_margin_availablity: [''], - estimate_profit_range_from: [''], - estimate_profit_range_to: [''], - estimate_profit_margin_percent: [''], - estimate_profit_margin: [''], - estimate_net_profit_from: [''], - estimate_net_profit_to: [''], - estimate_net_profit_percent: [''], - estimate_net_profit: [''], - estimate_loss_range_from: [''], - estimate_loss_range_to: [''], - estimate_loss_margin_percent: [''], - estimate_loss_margin: [''], - estimate_net_loss_from: [''], - estimate_net_loss_to: [''], - estimate_net_loss_percent: [''], - estimate_net_loss: [''], - estimate_reason_for_loss: [''], - }); - }; - PdQuestionFinancialInfoPage.prototype.submitDetails = function () { - var _this = this; - if (this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1) { - this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); - this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators(); - this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity(); - this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); - this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators(); - this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity(); - } - else if (this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) { - this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators(); - this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); - this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity(); - this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators(); - this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); - this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity(); - } - var records = this.financialForm.value; - this.qustCat.saveForm(records).subscribe(function (res) { - if (res['status'] == 200) { - _this.toast.pdTriggerappmessage("Record Saved Successfully"); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage("Warning !! Something went Wrong"); - } - }, function (err) { - _this.toast.pdTriggerappmessage("Server is not Responding"); - }); - }; - PdQuestionFinancialInfoPage.prototype.getDetails = function () { - var _this = this; - var financeDate = this.financialForm.controls['date_per_financial']; - //financeDate.push(this.createDate('')) - var estimate = this.financialForm.controls['estimated_value']; - //estimate.push(this.createValue('')) - var params = {}; - params.pd_id = this.pdDetails.pd_id; - params.pd_form_id = this.FormId; - params.company_id = this.company_id; - this.qustCat.retiverForm(params).subscribe(function (value) { - if (value['dataStatus'] == true) { - var retrieveData = value['records']; - if (value['records'].is_financial_statements == 'yes') { - var result = Object.keys(value['records'].date_per_financial).map(function (key) { - return value['records'].date_per_financial[key]; - }); - if (result.length > 0) { - _this.customerCommentsFlag = result.length == 1 ? false : true; - result.forEach(function (val, index) { - _this.FY_annualSalesInwords[index] = _this.cons.convertNumberToWords(val.financial_annual_sale); - _this.FY_netProfitAmtInwords[index] = _this.cons.convertNumberToWords(val.financial_net_profit); - _this.FY_netLossAmtInwords[index] = _this.cons.convertNumberToWords(val.financial_net_loss); - financeDate.push(_this.createDate('')); - }); - retrieveData.date_per_financial = result; - } - else { - financeDate.push(_this.createDate('')); - } - } - var result_val = Object.keys(value['records'].estimated_value).map(function (key) { - return value['records'].estimated_value[key]; - }); - if (result_val.length > 0) { - result_val.forEach(function (val, index) { - _this.AV_SalesInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_sales_average)); - _this.AV_SalesFrmInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_sales_from)); - _this.AV_SalesToInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_sales_to)); - _this.AV_marginProfitAmtInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin)); - _this.AV_netProfitAmtFrmInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin)); - _this.AV_netProfitAmtToInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin)); - _this.AV_netProfitAmtInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_net_profit)); - _this.AV_marginLossAmtInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin)); - _this.AV_netLossAmtFrmInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin)); - _this.AV_netLossAmtToInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin)); - _this.AV_netLossAmtInwords[index] = _this.cons.convertNumberToWords(Math.round(val.estimate_net_loss)); - estimate.push(_this.createValue('')); - }); - retrieveData.estimated_value = result_val; - } - else { - estimate.push(_this.createValue('')); - } - retrieveData.pdid = _this.pdDetails.pd_id; - retrieveData.company_id = _this.company_id; - retrieveData.fk_createdby = _this.users; - retrieveData.formid = _this.FormId; - _this.financialForm.setValue(retrieveData); - } - else { - //financial_date.push(this.createDate()); - //estimated_val.push(this.createValue('')); - } - }); - }; - /** - * New Calculation for Finanical Statement - **/ - PdQuestionFinancialInfoPage.prototype.calculationForFinanicalStatement = function () { - var _this = this; - var parentArray = this.financialForm.controls['date_per_financial']; - // let prev_annual_sale : any = ''; - // let prev_profit_margin : any = ''; - // let prev_loss_margin : any = ''; - // let prev_profit_amt : any = ''; - // let prev_loss_amt : any = ''; - // let profit_margin : any = ''; - // let loss_margin : any = ''; - // let annual_sale : any = ''; - // let profit_amt : any = ''; - // let loss_amt : any = ''; - var prev_annual_sale = ''; - var prev_profit_margin = []; - var prev_loss_margin = []; - var prev_profit_amt = ''; - var prev_loss_amt = ''; - var profit_margin = ''; - var loss_margin = ''; - var annual_sale = ''; - var profit_amt = ''; - var loss_amt = ''; - parentArray.value.forEach(function (val, index) { - var childArray = parentArray.controls[index]; - annual_sale = val.financial_annual_sale; - /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) - * Label name = " Sale Variation from Previous Year in % " - */ - if (index != 0) { - if (annual_sale != '') { - var annual_sale_variation = ((annual_sale - prev_annual_sale) / prev_annual_sale) * 100; - var final_annual_sale_variation = (annual_sale_variation != Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2) : 0.00 : 0.00; - childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation); - } - } - else { - childArray.controls.financial_annualsales_variation.setValue(0.00); - } - prev_annual_sale = annual_sale; - /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/ - profit_amt = val.financial_net_profit; - loss_amt = val.financial_net_loss; - /** Calculating Profit's Variation - STARTS HERE - * Label name = "Profit Variation from Previous Year in %" - */ - if ((profit_amt != '' || loss_amt != '') && index != 0) { - if (+profit_amt > +annual_sale) { - childArray.controls.financial_margin_of_profit.setValue(''); - } - else { - loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss; - prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt; - var variation = (((profit_amt != '' ? profit_amt : loss_amt) - (prev_profit_amt != '' ? prev_profit_amt : prev_loss_amt)) / (prev_profit_amt != '' ? Math.abs(prev_profit_amt) : Math.abs(prev_loss_amt))) * 100; - var final_variation = variation != Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00; - childArray.controls.financial_variation.setValue(final_variation); - } - } - prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0; - prev_loss_amt = val.financial_net_loss != '' ? val.financial_net_loss : 0; - /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/ - /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation - * Label name = "Net Profit to Sales in % (or) Net Loss to Sales in % - **/ - var SelectedlossOrProfit = val.finanical_profit_or_loss; - if (SelectedlossOrProfit == 1) { - loss_margin = ''; - childArray.controls.financial_margin_of_loss.setValue(''); - if (annual_sale != '' && val.financial_net_profit != '') { - if (+profit_amt > +annual_sale) { - // alert("profit is greater than Annual Sale "); - _this.toast.pdTriggerappmessage("profit is greater than Annual Sale "); - childArray.controls.financial_net_profit.setValue(0); - childArray.controls.financial_margin_of_profit.setValue(''); - childArray.controls.financial_profit_to_sale_variation.setValue(''); - childArray.controls.financial_variation.setValue(''); - } - else { - profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100; - childArray.controls.financial_margin_of_profit.setValue(profit_margin != Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2) : 0 : 0); - } - } - } - else if (SelectedlossOrProfit == 2) { - profit_margin = ''; - childArray.controls.financial_margin_of_profit.setValue(''); - if (annual_sale != '' && val.financial_net_loss != '') { - if (+val.financial_net_loss > +annual_sale) { - // alert("Loss is greater than Annual Sale "); - _this.toast.pdTriggerappmessage("Loss is greater than Annual Sale "); - childArray.controls.financial_net_loss.setValue(0); - childArray.controls.financial_margin_of_loss.setValue(''); - childArray.controls.financial_profit_to_sale_variation.setValue(''); - childArray.controls.financial_variation.setValue(''); - } - if (+loss_amt > +annual_sale) { - childArray.controls.financial_net_loss.setValue(0); - childArray.controls.financial_margin_of_loss.setValue(''); - childArray.controls.financial_profit_to_sale_variation.setValue(''); - childArray.controls.financial_variation.setValue(''); - } - else { - loss_margin = (val.financial_net_loss / val.financial_annual_sale) * 100 * (-1); - childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0); - } - } - } - prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit : 0; - prev_loss_margin[index] = val.financial_margin_of_loss != '' ? val.financial_margin_of_loss : 0; - // if(index != 0 ){ - // let variation_percent = (((profit_margin != '' ? profit_margin : loss_margin ) - (prev_profit_margin != '' ? prev_profit_margin : prev_loss_margin ))/ (prev_profit_margin != '' ? Math.abs(prev_profit_margin) : Math.abs(prev_loss_margin))) * 100; - // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0; - // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent); - // } - /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/ - /** Calculating Sales's Profit Variation - * Label name = "Variation of Profit % over sales" - **/ - if ((profit_margin != '' || loss_margin != '') && index != 0) { - loss_margin = loss_margin !== undefined ? loss_margin : 0; - profit_margin = profit_margin !== undefined ? profit_margin : 0; - var temp_prev_loss_margin = prev_loss_margin[index - 1] !== undefined ? prev_loss_margin[index - 1] : 0; - var temp_prev_profit_margin = prev_profit_margin[index - 1] !== undefined ? prev_profit_margin[index - 1] : 0; - if (annual_sale != '') { - var a = (profit_margin != '' ? profit_margin : loss_margin) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin); - var b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin)); - var c = b * 100; - var final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0; - childArray.controls.financial_profit_to_sale_variation.setValue(final_percent); - } - } - /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/ - }); - }; - PdQuestionFinancialInfoPage.prototype.confirmAlert = function (i, details) { - var estimate_sales_from = +details.value.estimate_sales_from; - var estimate_sales_to = +details.value.estimate_sales_to; - if (estimate_sales_from != null && estimate_sales_to != null) { - if (+estimate_sales_from > +estimate_sales_to) { - // alert("Given To value is lower than From Value"); - this.toast.pdTriggerappmessage("Given To value is lower than From Value"); - details.controls.estimate_sales_to.setValue(''); - details.controls.estimate_sales_average.setValue(''); - return; - } - var C = (estimate_sales_to - estimate_sales_from); - var D = (C / estimate_sales_from) * 100; - if (estimate_sales_from <= 5000000) { - if (D > 20) { - var r = confirm("Given Sales Range is greater than 20%"); - if (r == true) { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - else { - details.controls.estimate_sales_to.setValue(''); - return; - } - } - else { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - } - else if (estimate_sales_from > 5000000 && estimate_sales_from <= 10000000) { - if (D > 15) { - var r = confirm("Given Sales Range is greater than 15%"); - if (r == true) { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - else { - details.controls.estimate_sales_to.setValue(''); - return; - } - } - else { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - } - else if (estimate_sales_from > 10000000) { - if (D > 10) { - var r = confirm("Given Sales Range is greater than 10%"); - if (r == true) { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - else { - details.controls.estimate_sales_to.setValue(''); - return; - } - } - else { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - } - else { - details.controls.estimate_sales_to.setValue(estimate_sales_to != Infinity ? estimate_sales_to : 0); - } - // if(D >= 30){ - // var r = confirm("Given Sales Range is greater than 30%"); - // if (r == true) { - // details.controls.estimate_sales_to.setValue(estimate_sales_to); - // }else{ - // details.controls.estimate_sales_to.setValue(''); - // return; - // } - // } - // else{ - // details.controls.estimate_sales_to.setValue(estimate_sales_to); - // } - } - this.calculateSalesAverage(i, details); - }; - PdQuestionFinancialInfoPage.prototype.calculateSalesAverage = function (i, details) { - var estimate_sales_from = details.value.estimate_sales_from; - var estimate_sales_to = details.value.estimate_sales_to; - if (estimate_sales_from != '' && estimate_sales_to != '') { - var range1 = +estimate_sales_from / 10; - var lower = (+estimate_sales_from) + range1; - var higer = ((+estimate_sales_to + +estimate_sales_from) / 2); - if (lower > higer) { - details.controls.estimate_sales_average.setValue(higer != Infinity ? higer.toFixed(2) : 0); - this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_sales_average.setValue(lower != Infinity ? lower.toFixed(2) : 0); - this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else { - details.controls.estimate_sales_average.setValue(''); - } - }; - PdQuestionFinancialInfoPage.prototype.calculateMarginProfit = function (i, details) { - var sales_average = details.value.estimate_sales_average; - if (sales_average == '') { - // alert("Considered Sales Average is Empty"); - this.toast.pdTriggerappmessage("Considered Sales Average is Empty"); - details.controls.estimate_profit_range_from.setValue(''); - details.controls.estimate_profit_range_to.setValue(''); - details.controls.estimate_profit_margin.setValue(''); - details.controls.estimate_profit_margin_percent.setValue(''); - return; - } - var estimate_profit_range_from = details.value.estimate_profit_range_from; - if (+estimate_profit_range_from > 100) { - // alert('Given Profit percent is More Than 100'); - this.toast.pdTriggerappmessage("Given Profit percent is More Than 100"); - details.controls.estimate_profit_range_from.setValue(''); - details.controls.estimate_profit_range_to.setValue(''); - details.controls.estimate_profit_margin.setValue(''); - details.controls.estimate_profit_margin_percent.setValue(''); - return; - } - var estimate_profit_range_to = details.value.estimate_profit_range_to; - if (+estimate_profit_range_to > 100) { - // alert('Given Profit percent is More Than 100'); - this.toast.pdTriggerappmessage("Given Profit percent is More Than 100"); - details.controls.estimate_profit_range_to.setValue(''); - details.controls.estimate_profit_margin.setValue(''); - details.controls.estimate_profit_margin_percent.setValue(''); - return; - } - if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != '') { - if (+estimate_profit_range_from > +estimate_profit_range_to) { - // alert("Given To value is lower than From Value"); - this.toast.pdTriggerappmessage("Given To value is lower than From Value"); - details.controls.estimate_profit_range_to.setValue(''); - details.controls.estimate_profit_margin.setValue(''); - details.controls.estimate_profit_margin_percent.setValue(''); - return; - } - var profit_percent = (estimate_profit_range_to + estimate_profit_range_from) / 2; - var Profit_Average = (profit_percent * sales_average) / 100; - var difference = (estimate_profit_range_to - estimate_profit_range_from); - if (difference > 3) { - var r = confirm("Given Profit Percent Range is greater than 3"); - if (r == true) { - details.controls.estimate_profit_margin.setValue(Profit_Average != Infinity ? Math.round(Profit_Average) : 0); - details.controls.estimate_profit_margin_percent.setValue(profit_percent != Infinity ? profit_percent.toFixed(2) : 0); - this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); - } - else { - details.controls.estimate_profit_range_to.setValue(''); - details.controls.estimate_profit_margin.setValue(''); - details.controls.estimate_profit_margin_percent.setValue(''); - return; - } - } - details.controls.estimate_profit_margin.setValue(Profit_Average != Infinity ? Math.round(Profit_Average) : 0); - details.controls.estimate_profit_margin_percent.setValue(profit_percent != Infinity ? profit_percent.toFixed(2) : 0); - this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); - // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average)); - // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2)); - } - }; - PdQuestionFinancialInfoPage.prototype.calculateProfitAmount = function (i, details) { - var sales_average = details.value.estimate_sales_average; - if (sales_average == '') { - //alert("Considered Sales Average is Empty"); - this.toast.pdTriggerappmessage("Considered Sales Average is Empty"); - details.controls.estimate_net_profit_from.setValue(''); - details.controls.estimate_net_profit_to.setValue(''); - details.controls.estimate_net_profit.setValue(''); - details.controls.estimate_net_profit_percent.setValue(''); - return; - } - var estimate_net_profit_from = details.value.estimate_net_profit_from; - var estimate_net_profit_to = details.value.estimate_net_profit_to; - if (+estimate_net_profit_to > +sales_average) { - //alert("Given Profit is Greater than Sales"); - this.toast.pdTriggerappmessage("Given Profit is Greater than Sales"); - details.controls.estimate_net_profit_from.setValue(''); - details.controls.estimate_net_profit_to.setValue(''); - details.controls.estimate_net_profit.setValue(''); - details.controls.estimate_net_profit_percent.setValue(''); - return; - } - if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != '') { - if (+estimate_net_profit_from > +estimate_net_profit_to) { - // alert("Given To value is lower than From Value"); - this.toast.pdTriggerappmessage("Given To value is lower than From Value"); - details.controls.estimate_net_profit_to.setValue(''); - details.controls.estimate_net_profit.setValue(''); - details.controls.estimate_net_profit_percent.setValue(''); - return; - } - var C = (estimate_net_profit_to - estimate_net_profit_from); - var D = (C / estimate_net_profit_from) * 100; - var range1 = +estimate_net_profit_from / 10; - var lower = (+estimate_net_profit_from) + range1; - var higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2); - if (estimate_net_profit_from <= 5000000) { - if (D >= 20) { - var r = confirm("Given Profit Range is greater than 20%"); - if (r == true) { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - } - else { - details.controls.estimate_net_profit_to.setValue(''); - details.controls.estimate_net_profit.setValue(''); - details.controls.estimate_net_profit_percent.setValue(''); - return; - } - } - else { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - } - if (lower > higer) { - details.controls.estimate_net_profit.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var Profit_percent = (higer / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_profit.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var Profit_percent = (lower / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else if (estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000) { - if (D >= 15) { - var r = confirm("Given Sales Range is greater than 15%"); - if (r == true) { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - } - else { - details.controls.estimate_net_profit_to.setValue(''); - details.controls.estimate_net_profit.setValue(''); - details.controls.estimate_net_profit_percent.setValue(''); - return; - } - } - else { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - } - if (lower > higer) { - details.controls.estimate_net_profit.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var Profit_percent = (higer / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_profit.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var Profit_percent = (lower / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else if (estimate_net_profit_from > 10000000) { - if (D >= 10) { - var r = confirm("Given Sales Range is greater than 10%"); - if (r == true) { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - } - else { - details.controls.estimate_net_profit_to.setValue(''); - details.controls.estimate_net_profit.setValue(''); - details.controls.estimate_net_profit_percent.setValue(''); - return; - } - } - else { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - } - if (lower > higer) { - details.controls.estimate_net_profit.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var Profit_percent = (higer / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_profit.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var Profit_percent = (lower / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else { - details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to != Infinity ? estimate_net_profit_to : 0); - if (lower > higer) { - details.controls.estimate_net_profit.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var Profit_percent = (higer / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_profit.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var Profit_percent = (lower / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(Profit_percent != Infinity ? Profit_percent.toFixed(2) : 0); - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - } - }; - PdQuestionFinancialInfoPage.prototype.calculateMarginLoss = function (i, details) { - var sales_average = details.value.estimate_sales_average; - if (sales_average == '') { - // alert("Considered Sales Average is Empty"); - this.toast.pdTriggerappmessage("Considered Sales Average is Empty"); - details.controls.estimate_loss_range_from.setValue(''); - details.controls.estimate_loss_range_to.setValue(''); - details.controls.estimate_loss_margin.setValue(''); - details.controls.estimate_loss_margin_percent.setValue(''); - return; - } - // else{ - var estimate_loss_range_from = details.value.estimate_loss_range_from; - if (+estimate_loss_range_from > 100) { - // alert('Given Loss Percent is more than 100'); - this.toast.pdTriggerappmessage("Given Loss Percent is more than 100"); - details.controls.estimate_loss_range_from.setValue(''); - details.controls.estimate_loss_range_to.setValue(''); - details.controls.estimate_loss_margin.setValue(''); - details.controls.estimate_loss_margin_percent.setValue(''); - return; - } - var estimate_loss_range_to = details.value.estimate_loss_range_to; - if (+estimate_loss_range_to > 100) { - // alert('Given Loss Percent is more than 100'); - this.toast.pdTriggerappmessage("Given Loss Percent is more than 100 "); - details.controls.estimate_loss_range_from.setValue(''); - details.controls.estimate_loss_range_to.setValue(''); - details.controls.estimate_loss_margin.setValue(''); - details.controls.estimate_loss_margin_percent.setValue(''); - return; - } - if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != '') { - if (+estimate_loss_range_from > +estimate_loss_range_to) { - //alert("Given Loss Percent is more than 100"); - this.toast.pdTriggerappmessage("Given Loss Percent is more than 100"); - details.controls.estimate_loss_range_to.setValue(''); - details.controls.estimate_loss_margin.setValue(''); - details.controls.estimate_loss_margin_percent.setValue(''); - return; - } - var loss_percent = (estimate_loss_range_to + estimate_loss_range_from) / 2; - var loss_Average = (loss_percent * sales_average) / 100; - var difference = (estimate_loss_range_to - estimate_loss_range_from); - // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average)); - // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2)); - // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); - if (difference > 3) { - var r = confirm("Given Loss Percent Range is greater than 3"); - if (r == true) { - details.controls.estimate_loss_margin.setValue(loss_Average != Infinity ? Math.round(loss_Average) : 0); - details.controls.estimate_loss_margin_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); - } - else { - details.controls.estimate_loss_range_to.setValue(''); - details.controls.estimate_loss_margin.setValue(''); - details.controls.estimate_loss_margin_percent.setValue(''); - return; - } - } - details.controls.estimate_loss_margin.setValue(loss_Average != Infinity ? Math.round(loss_Average) : 0); - details.controls.estimate_loss_margin_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); - } - }; - PdQuestionFinancialInfoPage.prototype.calculateLossAmount = function (i, details) { - var sales_average = details.value.estimate_sales_average; - if (sales_average == '') { - // alert("Considered Sales Average is Empty"); - this.toast.pdTriggerappmessage("Considered Sales Average is Empty"); - details.controls.estimate_net_loss_from.setValue(''); - details.controls.estimate_net_loss_to.setValue(''); - details.controls.estimate_net_loss.setValue(''); - details.controls.estimate_net_loss_percent.setValue(''); - return; - } - var estimate_net_loss_from = details.value.estimate_net_loss_from; - var estimate_net_loss_to = details.value.estimate_net_loss_to; - if (+estimate_net_loss_to > +sales_average) { - // alert("Given Loss is Greater than Sales"); - this.toast.pdTriggerappmessage("Given Loss is Greater than Sales"); - details.controls.estimate_net_loss_from.setValue(''); - details.controls.estimate_net_loss_to.setValue(''); - details.controls.estimate_net_loss.setValue(''); - details.controls.estimate_net_loss_percent.setValue(''); - return; - } - if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != '') { - if (+estimate_net_loss_from > +estimate_net_loss_to) { - //alert("Given To value is Lower than From Value"); - this.toast.pdTriggerappmessage("Given To value is Lower than From Value"); - details.controls.estimate_net_loss_to.setValue(''); - details.controls.estimate_net_loss.setValue(''); - details.controls.estimate_net_loss_percent.setValue(''); - return; - } - // if(+estimate_net_loss_to > +estimate_net_loss_from){ - // alert("loss is greater than sales"); - // details.controls.estimate_net_loss_to.setValue(''); - // details.controls.estimate_net_loss.setValue(''); - // details.controls.estimate_net_loss_percent.setValue(''); - // return; - // } - var C = (estimate_net_loss_to - estimate_net_loss_from); - var D = (C / estimate_net_loss_from) * 100; - var range1 = +estimate_net_loss_from / 10; - var lower = (+estimate_net_loss_from) + range1; - var higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2); - if (estimate_net_loss_from <= 5000000) { - if (D >= 20) { - var r = confirm("Given Profit Range is greater than 20%"); - if (r == true) { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - } - else { - details.controls.estimate_net_loss_to.setValue(''); - details.controls.estimate_net_loss.setValue(''); - details.controls.estimate_net_loss_percent.setValue(''); - return; - } - } - else { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - } - if (lower > higer) { - details.controls.estimate_net_loss.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var loss_percent = (higer / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_loss.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var loss_percent = (lower / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else if (estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000) { - if (D >= 15) { - var r = confirm("Given Sales Range is greater than 15%"); - if (r == true) { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - } - else { - details.controls.estimate_net_loss_to.setValue(''); - details.controls.estimate_net_loss.setValue(''); - details.controls.estimate_net_loss_percent.setValue(''); - return; - } - } - else { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - } - if (lower > higer) { - details.controls.estimate_net_loss.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var loss_percent = (higer / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_loss.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var loss_percent = (lower / sales_average) * 100; - details.controls.estimate_net_profit_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else if (estimate_net_loss_from > 10000000) { - if (D >= 10) { - var r = confirm("Given Sales Range is greater than 10%"); - if (r == true) { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - } - else { - details.controls.estimate_net_loss_to.setValue(''); - details.controls.estimate_net_loss.setValue(''); - details.controls.estimate_net_loss_percent.setValue(''); - return; - } - } - else { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - } - if (lower > higer) { - details.controls.estimate_net_loss.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var loss_percent = (higer / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_loss.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var loss_percent = (lower / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - else { - details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to != Infinity ? estimate_net_loss_to : 0); - if (lower > higer) { - details.controls.estimate_net_loss.setValue(higer != Infinity ? higer.toFixed(2) : 0); - var loss_percent = (higer / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); - } - else { - details.controls.estimate_net_loss.setValue(lower != Infinity ? lower.toFixed(2) : 0); - var loss_percent = (lower / sales_average) * 100; - details.controls.estimate_net_loss_percent.setValue(loss_percent != Infinity ? loss_percent.toFixed(2) : 0); - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); - } - } - } - }; - /** On Key Press Event For Input Field */ - PdQuestionFinancialInfoPage.prototype.keyPress = function (event) { - //const pattern = /[0-9\-\.\ ]/; - var pattern = /[0-9\.]/; - var inputChar = String.fromCharCode(event.charCode); - if (event.keyCode != 8 && !pattern.test(inputChar)) { - event.preventDefault(); - } - }; - /** To Convert Amount into Words */ - PdQuestionFinancialInfoPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); - // this.placeholderName[i] = 'Weekly Instalment Amount'; break; - break; - case 2: - this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]); - break; - case 3: - this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]); - break; - case 4: - this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 5: - this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 6: - this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 7: - this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 8: - this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 9: - this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 10: - this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 11: - this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 12: - this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - default: - break; - } - }; - PdQuestionFinancialInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-financial-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.html"*/'\n\n\n \n \n {{formDetails.form_name}}\n \n\n\n\n\n\n
\n \n \n \n
Data As Per Financial Statements
\n
\n
\n \n \n \n Yes\n No\n\n \n \n
\n \n Enter year from Which Financials Provided\n \n Invalid year format\n \n \n \n \n
\n
\n
\n \n Financial Year : {{details.get(\'financial_year\').value}}\n
\n \n {{"₹"}} {{FY_annualSalesInwords[i]}} Only \n \n
\n \n Sale Variation from Previous Year in %\n   -\n \n

\n \n No difference in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n \n \n Increase in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_annualsales_variation\').value}} % \n \n \n Decrease in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_annualsales_variation\').value).replace(\'-\', \'\')}} % \n \n

\n \n
\n \n \n Net Profit\n Net Loss\n \n \n
\n \n \n {{"₹"}} {{FY_netProfitAmtInwords[i]}} Only\n \n \n \n \n
\n
\n \n \n {{"₹"}}{{FY_netLossAmtInwords[i]}} Only\n \n \n \n \n
\n
\n Profit Variation from Previous Year in %: \n   - \n

\n \n No difference in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n \n \n Increase in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_variation\').value}} % \n \n \n Decrease in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_variation\').value).replace(\'-\', \'\')}} % \n \n

\n \n \n Variation of Profit % over sales\n   -\n

\n \n No difference in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n \n \n Increase in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_profit_to_sale_variation\').value}} % \n \n \n Decrease in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_profit_to_sale_variation\').value).replace(\'-\', \'\')}} % \n \n

\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
Financial As Per Customers
\n
\n
\n \n \n \n \n Yes\n No\n \n \n \n
\n
\n \n \n \n {{"₹"}} {{AV_SalesFrmInwords[i]}} Only\n \n \n \n {{"₹"}} {{AV_SalesToInwords[i]}} Only\n \n \n \n {{"₹"}} {{AV_SalesInwords[i]}} Only\n \n\n \n \n Net Profit\n Net Loss\n \n \n \n \n Yes\n No\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only \n \n
\n\n
\n \n \n {{"₹"}} {{AV_netProfitAmtFrmInwords[i]}} Only \n \n \n \n {{"₹"}} {{AV_netProfitAmtToInwords[i]}} Only \n \n \n \n \n \n \n {{"₹"}} {{AV_netProfitAmtInwords[i]}} Only \n \n \n
\n \n \n\n\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{AV_marginLossAmtInwords[i]}} Only \n \n
\n
\n \n \n {{"₹"}} {{AV_netLossAmtFrmInwords[i]}} Only \n \n \n \n {{"₹"}} {{AV_netLossAmtToInwords[i]}} Only \n \n \n \n \n \n \n {{"₹"}} {{AV_netLossAmtInwords[i]}} Only\n \n \n
\n
\n \n \n \n
\n\n
\n \n
\n
\n \n
\n \n \n \n
Working Capital Details
\n
\n
\n \n \n \n In case of Credit Sales, what is the average no of days taken to receive the money?\n \n \n \n \n \n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n {{a.name}}\n \n \n \n \n \n \n
\n\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.html"*/, - encapsulation: __WEBPACK_IMPORTED_MODULE_0__angular_core__["_12" /* ViewEncapsulation */].None, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], - __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionFinancialInfoPage); - return PdQuestionFinancialInfoPage; -}()); - -//# sourceMappingURL=pd-question-financial-info.js.map - -/***/ }), - -/***/ 203: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionClientInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionClientInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionClientInfoPage = (function () { - function PdQuestionClientInfoPage(navCtrl, navParams, qustCat, aws, toast, fb) { - var _this = this; - this.navCtrl = navCtrl; - this.navParams = navParams; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.fb = fb; - this.submitted = false; - this.m_paymentType = []; - this.companyRelationShipList = []; - this.titleList = []; - this.noRecordsFound = false; - this.errorMessage = ''; - this.m_manufacturingProducts = []; - this.m_tradingProducts = []; - this.m_suplierProducts = []; - this.manufacturingForm = false; - this.tradingForm = false; - this.serviceProviderForm = false; - this.mfgCreditCardFlag = false; - this.trdCreditCardFlag = false; - this.spCreditCardFlag = false; - this.mfgCounter = []; - this.trdCounter = []; - this.spCounter = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.formDetails = this.navParams.get('formDetails'); - this.users = this.aws.getlocale(); - this.pdid = this.pdDetails.pd_id; - this.company_id = this.pdDetails.company_id; - this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(function (data) { - if (data.dataStatus) { - var datas_1 = data.records; - _this.m_manufacturingProducts = datas_1.type_of_activity.filter(function (data) { if (data.type_of_activity_id == 2) { - return data; - } }).map(function (data) { return data.prodcuts.slice(); }); - // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]); - _this.m_suplierProducts = datas_1.type_of_activity.filter(function (data) { if (data.type_of_activity_id == 5) { - return data; - } }).map(function (data) { return data.prodcuts.slice(); }); - var api = Object.keys(datas_1.type_of_activity).map(function (key) { - return datas_1.type_of_activity[key]; - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 3) { - if (val.prodcuts) { - _this.m_tradingProducts.push(val.prodcuts); - } - } - if (val.type_of_activity_id == 4) { - if (val.prodcuts) { - _this.m_tradingProducts.push(val.prodcuts); - } - } - }); - } - _this.m_tradingProducts = [].concat.apply([], _this.m_tradingProducts); - _this.initFormLoadDetails(datas_1.type_of_activity); - } - else { - _this.toast.pdTriggerappmessage('No Category Records Found.!'); - _this.noRecordsFound = false; - _this.errorMessage = data.msg; - } - }, function (err) { - _this.toast.pdTriggerappmessage('No Category Records Found.!'); - _this.noRecordsFound = false; - _this.errorMessage = 'No Records Found , Something went Wrong!'; - }); - this.getdropList(); - } - PdQuestionClientInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionClientInfoPage'); - }; - PdQuestionClientInfoPage.prototype.initFormLoadDetails = function (record) { - var _this = this; - var params = {}; - params.pd_id = this.pdid; - params.pd_form_id = this.formDetails.form_id; - params.company_id = this.company_id; - this.qustCat.retiverForm(params).subscribe(function (data) { - if (data['dataStatus']) { - var dataForm_1 = data['records']; - if (dataForm_1 !== undefined) { - _this.clientInfoForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record)]), - service_provider_details: _this.fb.array([_this.serviceProviderFormCreation(record)]), - supplier_info_form_remark: [dataForm_1.supplier_info_form_remark || null] - // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]), - }); - // Load form details for manufacturing - var arr = record.filter(function (data) { return data.type_of_activity_id == 2; }); - // if(dataForm.manufacturing_details[0].main_raw_materials){ - if (arr.length > 0) { - // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) { - // return dataForm.main_raw_materials[key]; - // }); - if (dataForm_1.manufacturing_details) { - console.log(dataForm_1); - var api_main_raw_materials = dataForm_1.manufacturing_details[0].main_raw_materials; - _this.initManufacturingProductsDetails(api_main_raw_materials); - _this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm_1.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null); - } - else { - console.log("NO Data", dataForm_1); - _this.initManufacturingProductsDetails(null); - _this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null); - } - } - // } - // Load form details for the wholeshale trading details - var arr1 = record.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr1.length > 0) { - // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) { - // return dataForm.trading_products[key]; - // }); - if (dataForm_1.trade_details) { - var api_trading_products = dataForm_1.trade_details[0].trading_products; - _this.initTradingProductsDetails(api_trading_products); - _this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm_1.trade_details[0].trading_products_total_payments_percent_on_credit || null); - } - else { - _this.initTradingProductsDetails(null); - _this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null); - } - } - // Load form details for the service provider prduct details - var arr2 = record.filter(function (data) { return data.type_of_activity_id == 5; }); - if (arr2.length > 0) { - // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) { - // return dataForm.service_products[key]; - // }); - if (dataForm_1.service_provider_details) { - var api_service_provider_products = dataForm_1.service_provider_details[0].service_products; - _this.initServiceProviderProductsDetails(api_service_provider_products); - _this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(dataForm_1.service_provider_details[0].service_products_total_payments_percent_on_credit || null); - } - else { - _this.initServiceProviderProductsDetails(null); - _this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null); - } - } - // Load form details for the retail trading details - var arr3 = record.filter(function (data) { return data.type_of_activity_id == 3; }); - // if (arr3.length > 0) { - // this.retaildTradingForm = true; - // } - _this.noRecordsFound = true; - } - else { - _this.clientInfoForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record)]), - service_provider_details: _this.fb.array([_this.serviceProviderFormCreation(record)]), - supplier_info_form_remark: [dataForm_1.supplier_info_form_remark || null] - // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]), - }); - var arr = record.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - _this.initManufacturingProductsDetails(null); - _this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null); - } - var arr1 = record.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr1.length > 0) { - _this.initTradingProductsDetails(null); - _this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null); - } - var arr2 = record.filter(function (data) { return data.type_of_activity_id == 5; }); - if (arr2.length > 0) { - var api_service_provider_products = Object.keys(dataForm_1.service_products).map(function (key) { - return dataForm_1.service_products[key]; - }); - _this.initServiceProviderProductsDetails(api_service_provider_products); - _this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null); - } - // Load form details for the retail trading details - var arr3 = record.filter(function (data) { return data.type_of_activity_id == 3; }); - // if (arr3.length > 0) { - // this.retaildTradingForm = true; - // } - _this.noRecordsFound = true; - } - } - else { - _this.clientInfoForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record)]), - service_provider_details: _this.fb.array([_this.serviceProviderFormCreation(record)]), - supplier_info_form_remark: [] - // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]), - }); - var arr = record.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - _this.initManufacturingProductsDetails(null); - _this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null); - } - var arr1 = record.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr1.length > 0) { - _this.initTradingProductsDetails(null); - _this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null); - } - var arr2 = record.filter(function (data) { return data.type_of_activity_id == 5; }); - if (arr2.length > 0) { - _this.initServiceProviderProductsDetails(null); - _this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null); - } - // Load form details for the retail trading details - var arr3 = record.filter(function (data) { return data.type_of_activity_id == 3; }); - // if (arr3.length > 0) { - // this.retaildTradingForm = true; - // } - _this.noRecordsFound = true; - } - }, function (err) { - }); - }; - PdQuestionClientInfoPage.prototype.manufacturingFormCreation = function (val) { - var arr = val.filter(function (data) { return data.type_of_activity_id == 2; }); - if (arr.length > 0) { - this.manufacturingForm = true; - return this.fb.group({ - main_raw_materials: this.fb.array([]), - main_raw_materials_total_payments_percent_on_credit: [] - }); - // } - } - else { - return; - } - }; - PdQuestionClientInfoPage.prototype.tradingFormCreation = function (val) { - // let arr = val.filter(data => data.type_of_activity_id == 4); - var arr = val.filter(function (data) { return data.type_of_activity_id == 3 || data.type_of_activity_id == 4; }); - if (arr.length > 0) { - this.tradingForm = true; - return this.fb.group({ - trading_products: this.fb.array([]), - trading_products_total_payments_percent_on_credit: [] - }); - } - else { - return; - } - }; - PdQuestionClientInfoPage.prototype.serviceProviderFormCreation = function (val) { - var arr = val.filter(function (data) { return data.type_of_activity_id == 5; }); - if (arr.length > 0) { - this.serviceProviderForm = true; - return this.fb.group({ - service_products: this.fb.array([]), - service_products_total_payments_percent_on_credit: [] - }); - } - else { - return; - } - }; - PdQuestionClientInfoPage.prototype.initManufacturingProductsDetails = function (datas) { - var _this = this; - var control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - if (datas === null) { - control.push(this.initManufacturingProducts(null)); - } - else { - datas.forEach(function (val, inx) { - _this.checkCard(val.manufacturing_payment_type, 1, inx); - control.push(_this.initManufacturingProducts(val)); - }); - // for (let val of datas) { - // control.push(this.initManufacturingProducts(val)); - // } - } - }; - PdQuestionClientInfoPage.prototype.initManufacturingProducts = function (records) { - if (records === null) { - return this.fb.group({ - manufacturing_product_name: [''], - manufacturing_client_name: [''], - manufacturing_contact_person_name: [''], - manufacturing_contact_person_mobile_number: [''], - manufacturing_payment_type: [''], - manufacturing_payment_mode: [''], - // manufacturing_credit_days: [''], - person_title_name: [''], - person_designation: [''], - person_stdcode: [''], - person_landline: [''], - other_person_designation: [''], - manufacturing_credit_days_from: [''], - manufacturing_credit_days_to: [''] - }); - } - else { - return this.fb.group({ - manufacturing_product_name: [records.manufacturing_product_name || null], - manufacturing_client_name: [records.manufacturing_client_name || null], - manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null], - manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null], - manufacturing_payment_type: [records.manufacturing_payment_type || null], - manufacturing_payment_mode: [records.manufacturing_payment_mode || null], - manufacturing_credit_days: [records.manufacturing_credit_days || null], - person_title_name: [records.person_title_name || null], - person_designation: [records.person_designation || null], - person_stdcode: [records.person_stdcode || null], - person_landline: [records.person_landline || null], - other_person_designation: [records.other_person_designation || null], - manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null], - manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null] - }); - } - }; - PdQuestionClientInfoPage.prototype.initTradingProductsDetails = function (datas) { - var _this = this; - var control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products']; - if (datas === null) { - control.push(this.initTradingProducts(null)); - } - else { - datas.forEach(function (val, inx) { - _this.checkCard(val.trade_product_payment_type, 2, inx); - control.push(_this.initTradingProducts(val)); - }); - // for (let val of datas) { - // control.push(this.initTradingProducts(val)); - // } - } - }; - PdQuestionClientInfoPage.prototype.initTradingProducts = function (records) { - if (records === null) { - return this.fb.group({ - trade_product_name: [''], - trade_client_name: [''], - trade_product_contact_person_name: [''], - trade_product_contact_person_mobile_number: [''], - trade_product_payment_type: [''], - trade_product_payment_mode: [''], - trade_product_frequency_of_purchase: [''], - trade_product_credit_days_from: [''], - trade_product_credit_days_to: [''], - person_title_name: [''], - person_designation: [''], - person_stdcode: [''], - person_landline: [''], - other_person_designation: [''], - }); - } - else { - return this.fb.group({ - trade_product_name: [records.trade_product_name], - trade_client_name: [records.trade_client_name], - trade_product_contact_person_name: [records.trade_product_contact_person_name], - trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number], - trade_product_payment_type: [records.trade_product_payment_type], - trade_product_payment_mode: [records.trade_product_payment_mode], - trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase], - trade_product_credit_days_from: [records.trade_product_credit_days_from], - trade_product_credit_days_to: [records.trade_product_credit_days_to], - person_title_name: [records.person_title_name || null], - person_designation: [records.person_designation || null], - person_stdcode: [records.person_stdcode || null], - person_landline: [records.person_landline || null], - other_person_designation: [records.other_person_designation || null], - }); - } - }; - PdQuestionClientInfoPage.prototype.initServiceProviderProductsDetails = function (datas) { - var _this = this; - var control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products']; - if (datas === null) { - control.push(this.initServiceProviderProducts(null)); - } - else { - datas.forEach(function (val, inx) { - _this.checkCard(val.service_provider_product_payment_type, 3, inx); - control.push(_this.initServiceProviderProducts(val)); - }); - // for (let val of datas) { - // control.push(this.initServiceProviderProducts(val)); - // } - } - }; - PdQuestionClientInfoPage.prototype.initServiceProviderProducts = function (records) { - if (records === null) { - return this.fb.group({ - service_provider_product_name: [''], - service_provider_client_name: [''], - service_provider_product_contact_person_name: [''], - service_provider_product_contact_person_mobile_number: [''], - service_provider_product_payment_type: [''], - service_provider_product_payment_mode: [''], - service_provider_product_frequency_of_purchase: [''], - service_provider_product_credit_days_from: [''], - service_provider_product_credit_days_to: [''], - person_title_name: [''], - person_designation: [''], - person_stdcode: [''], - person_landline: [''], - other_person_designation: [''], - }); - } - else { - return this.fb.group({ - service_provider_product_name: [records.service_provider_product_name], - service_provider_client_name: [records.service_provider_client_name], - service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name], - service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number], - service_provider_product_payment_type: [records.service_provider_product_payment_type], - service_provider_product_payment_mode: [records.service_provider_product_payment_mode], - service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase], - service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from], - service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to], - person_title_name: [records.person_title_name || null], - person_designation: [records.person_designation || null], - person_stdcode: [records.person_stdcode || null], - person_landline: [records.person_landline || null], - other_person_designation: [records.other_person_designation || null], - }); - } - }; - PdQuestionClientInfoPage.prototype.addMoreRawMaterials = function (e) { - // e.stropPropagation(); - var control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - control.push(this.initManufacturingProducts(null)); - }; - PdQuestionClientInfoPage.prototype.removeRawMaterials = function (inx) { - var control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; - control.removeAt(inx); - }; - PdQuestionClientInfoPage.prototype.addMoretradeProduct = function (e) { - // e.stropPropagation(); - var control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products']; - control.push(this.initTradingProducts(null)); - }; - PdQuestionClientInfoPage.prototype.removeTradingProduct = function (inx) { - var control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products']; - control.removeAt(inx); - }; - PdQuestionClientInfoPage.prototype.addMoreServiceProduct = function (e) { - // e.stropPropagation(); - var control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products']; - control.push(this.initServiceProviderProducts(null)); - }; - PdQuestionClientInfoPage.prototype.removeServiceProduct = function (inx) { - var control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products']; - control.removeAt(inx); - }; - PdQuestionClientInfoPage.prototype.getdropList = function () { - var _this = this; - this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(function (data) { - _this.companyRelationShipList = data['records']; - // .filter(data => data.isactive == 1); - // because in general no need of "other" option but in client others option needed - in DB others option changed into inactive" - }); - this.qustCat.getcommondrop('TITLES').subscribe(function (data) { - _this.titleList = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustCat.getcommondrop('PAYMENTMODE').subscribe(function (data) { - _this.m_paymentType = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - }; - // saveclientDetails(answerData) - // { - // let records:any ={}; - // records.pdid = this.pdDetails.pd_id; - // records.formid = this.FormId.form_id; - // records.fk_createdby = this.users; - // records.client_details = answerData.clientArray; - // this.qustCat.saveForm(records).subscribe(res=> - // { - // if(res['dataStatus']==true) - // { - // this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - // this.navCtrl.pop(); - // } - // }); - // } - /** To Save/Edited Popup Data */ - PdQuestionClientInfoPage.prototype.saveClientInfo = function (answerFormValues) { - var _this = this; - Object.keys(answerFormValues).forEach(function (key) { return (answerFormValues[key] == null) && delete answerFormValues[key]; }); - if (answerFormValues.manufacturing_details[0] == null) { - delete answerFormValues['manufacturing_details']; - } - if (answerFormValues.trade_details[0] == null) { - delete answerFormValues['trade_details']; - } - if (answerFormValues.service_provider_details[0] == null) { - delete answerFormValues['service_provider_details']; - } - //To Remove The "Null" With Key also - Object.keys(answerFormValues).forEach(function (key) { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { - delete answerFormValues[key]; - } ; }); - this.qustCat.saveForm(answerFormValues).subscribe(function (responsed) { - if (responsed['status'] == 200) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); - } - }); - }; - PdQuestionClientInfoPage.prototype.selectedPersonDesignation = function (items, e, flag) { - if (flag == 1) { - // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required]) - // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue(''); - // items.controls['other_person_designation'].updateValueAndValidity(); - } - else if (flag == 2) { - // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required]) - // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue(''); - // items.controls['other_person_designation'].updateValueAndValidity(); - } - else if (flag == 3) { - // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required]) - // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue(''); - // items.controls['other_person_designation'].updateValueAndValidity(); - } - }; - PdQuestionClientInfoPage.prototype.checkCard = function (e, flag, index) { - if (flag == 3 && e == 3) { - this.spCounter[index] = 1; - } - else if (flag == 3 && e != 3) { - this.spCounter[index] = 0; - } - var SP = this.spCounter.reduce(function (sum, val) { return sum + +val; }, 0); - this.spCreditCardFlag = SP > 0 ? true : false; - if (flag == 2 && e == 3) { - this.trdCounter[index] = 1; - } - else if (flag == 2 && e != 3) { - this.trdCounter[index] = 0; - } - var TRD = this.trdCounter.reduce(function (sum, val) { return sum + +val; }, 0); - this.trdCreditCardFlag = TRD > 0 ? true : false; - if (flag == 1 && e == 3) { - this.mfgCounter[index] = 1; - } - else if (flag == 1 && e != 3) { - this.mfgCounter[index] = 0; - } - var MFG = this.mfgCounter.reduce(function (sum, val) { return sum + +val; }, 0); - this.mfgCreditCardFlag = MFG > 0 ? true : false; - }; - PdQuestionClientInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-client-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html"*/'\n \n \n {{formDetails.form_name}}\n \n\n\n
\n
\n
\n \n
Manufacturing Product Details
\n
\n
\n
\n
\n Product #{{l+1}}\n \n
\n \n \n {{\n pm.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{\n pm.name }}\n \n \n \n \n Payment received in\n Cash.\n Payment\n received through Banking channels.\n \n \n \n No of days of Credit provided to Client for payment\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
Trading Product Details
\n
\n
\n
\n
\n Trading Product #{{l+1}}\n \n
\n \n \n \n {{\n pm.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{\n pm.name }}\n \n\n \n \n \n Payment received in\n Cash.\n Payment\n received through Banking channels.\n \n\n \n \n \n No of days of Credit provided to Client for payment\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
Service Provider Product Details
\n \n
\n
\n
\n
\n Service Provided #{{l+1}}\n \n
\n \n \n {{\n pm.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{\n pm.name }}\n \n \n \n \n Payment received in\n Cash.\n Payment\n received through Banking channels.\n \n \n \n
\n \n No of days of Credit provided to Client for payment\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n Remarks\n \n \n \n \n \n \n\n \n
\n
\n
\n
\n \n
\n
{{ errorMessage }}
\n
\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) - ], PdQuestionClientInfoPage); - return PdQuestionClientInfoPage; -}()); - -//# sourceMappingURL=pd-question-client-info.js.map - -/***/ }), - -/***/ 21: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ConstantsProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -/* - Generated class for the ConstantsProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var ConstantsProvider = (function () { - function ConstantsProvider(http) { - this.http = http; - this.commonimage = "http://ssa.sineedge.com/sparqapi/logo/avatar.jpg"; - console.log('Hello ConstantsProvider Provider'); - } - ConstantsProvider.prototype.apiurl = function () { - var testapiurl = 'http://ssa.sineedge.com/sparqtest/api/'; - var devapiurl = 'http://ssa.sineedge.com/sparqapi/api/'; - var localapiurl = 'http://192.168.0.9/sparqapi/api/'; - return devapiurl; - }; - ConstantsProvider.prototype.getcurrentDate = function () { - var today = new Date(); - var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds(); - var date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate(); - var time = today.getHours() + ":" + today.getMinutes(); - var CurrentDate = date + "T00:00"; - return CurrentDate.toString(); - }; - ConstantsProvider.prototype.convertNumberToWords = function (amount) { - var words = new Array(); - words[0] = ''; - words[1] = 'One'; - words[2] = 'Two'; - words[3] = 'Three'; - words[4] = 'Four'; - words[5] = 'Five'; - words[6] = 'Six'; - words[7] = 'Seven'; - words[8] = 'Eight'; - words[9] = 'Nine'; - words[10] = 'Ten'; - words[11] = 'Eleven'; - words[12] = 'Twelve'; - words[13] = 'Thirteen'; - words[14] = 'Fourteen'; - words[15] = 'Fifteen'; - words[16] = 'Sixteen'; - words[17] = 'Seventeen'; - words[18] = 'Eighteen'; - words[19] = 'Nineteen'; - words[20] = 'Twenty'; - words[30] = 'Thirty'; - words[40] = 'Forty'; - words[50] = 'Fifty'; - words[60] = 'Sixty'; - words[70] = 'Seventy'; - words[80] = 'Eighty'; - words[90] = 'Ninety'; - amount = amount.toString(); - var atemp = amount.split("."); - var number = atemp[0].split(",").join(""); - var n_length = number.length; - var value = ""; - var words_string = ""; - if (n_length <= 9) { - var n_array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0); - var received_n_array = new Array(); - for (var i = 0; i < n_length; i++) { - received_n_array[i] = number.substr(i, 1); - } - for (var i = 9 - n_length, j = 0; i < 9; i++, j++) { - n_array[i] = received_n_array[j]; - } - for (var i = 0, j = 1; i < 9; i++, j++) { - if (i == 0 || i == 2 || i == 4 || i == 7) { - if (n_array[i] == 1) { - n_array[j] = 10 + parseInt(n_array[j]); - n_array[i] = 0; - } - } - } - value = ""; - for (var i = 0; i < 9; i++) { - if (i == 0 || i == 2 || i == 4 || i == 7) { - value = n_array[i] * 10; - } - else { - value = n_array[i]; - } - if (value != 0) { - words_string += words[value] + " "; - } - if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) { - words_string += "Crores "; - } - if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) { - words_string += "Lakhs "; - } - if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) { - words_string += "Thousand "; - } - if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) { - words_string += "Hundred and "; - } - else if (i == 6 && value != 0) { - words_string += "Hundred "; - } - } - words_string = words_string.split(" ").join(" "); - } - return words_string; - }; - ConstantsProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */]]) - ], ConstantsProvider); - return ConstantsProvider; -}()); - -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 246: -/***/ (function(module, exports) { - -function webpackEmptyAsyncContext(req) { - // Here Promise.resolve().then() is used instead of new Promise() to prevent - // uncatched exception popping up in devtools - return Promise.resolve().then(function() { - throw new Error("Cannot find module '" + req + "'."); - }); -} -webpackEmptyAsyncContext.keys = function() { return []; }; -webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; -module.exports = webpackEmptyAsyncContext; -webpackEmptyAsyncContext.id = 246; - -/***/ }), - -/***/ 289: -/***/ (function(module, exports) { - -function webpackEmptyAsyncContext(req) { - // Here Promise.resolve().then() is used instead of new Promise() to prevent - // uncatched exception popping up in devtools - return Promise.resolve().then(function() { - throw new Error("Cannot find module '" + req + "'."); - }); -} -webpackEmptyAsyncContext.keys = function() { return []; }; -webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; -module.exports = webpackEmptyAsyncContext; -webpackEmptyAsyncContext.id = 289; - -/***/ }), - -/***/ 333: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_material__ = __webpack_require__(349); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__password_password__ = __webpack_require__(395); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -// import { Component, OnInit, ViewEncapsulation } from '@angular/core'; - -// import { CustomValidators } from 'ng2-validation'; - - - - - -var LoginPage = (function () { - function LoginPage(aws, dialog, shared, navCtrl, Menu, toast) { - this.aws = aws; - this.dialog = dialog; - this.shared = shared; - this.navCtrl = navCtrl; - this.Menu = Menu; - this.toast = toast; - this.status = false; - this.config = { - disableClose: false, - width: '', - height: '', - position: { - top: '', - bottom: '', - left: '', - right: '' - } - }; - } - LoginPage.prototype.ngOnInit = function () { - //this.loggedInCheck(); - }; - LoginPage.prototype.ionViewDidEnter = function () { - this.Menu.enable(false); - }; - LoginPage.prototype.ionViewWillLeave = function () { - this.Menu.enable(true); - }; - /** - * @param email - * @param password - * AWS login service - */ - LoginPage.prototype.login = function () { - var _this = this; - // console.log(this.email); - if (this.email !== undefined && this.password !== undefined && this.email != '' && this.password != '' && this.email != null && this.password != null) { - var auth = { 'Username': this.email, 'Password': this.password }; - this.aws.dologin(auth).subscribe(function (awsres) { - var userid = _this.aws.getlocale(); - _this.aws.getuserprofile(userid).subscribe(function (usersres) { - _this.users = usersres; - if (_this.users.dataStatus == true) { - if (_this.users.records[0].role_name == "PD Officer" || _this.users.records[0].role_name == "PD Executive") { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_5__pd_list_pd_list__["a" /* PdListPage */]); - } - else { - _this.toast.pdTriggerappmessage('This App only for PD Officers'); - localStorage.clear(); - } - } - }); - }, function (err) { - console.log(JSON.stringify(err.message)); - if (err.message == "New password is required.") { - //console.log("if"); - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_6__password_password__["a" /* PasswordPage */], { 'Username': _this.email, 'Password': _this.password }); - } - else { - console.log(JSON.stringify(err.message)); - _this.toast.pdTriggerappmessage(JSON.stringify(err.message)); - } - //alert(err.message); - }); - } - else { - this.toast.pdTriggerappmessage('Enter Email or Password'); - } - }; - /** - * New password set - * Defalut aws function - * @param email password,newpassword - */ - // newpassopen() { - // let dialogRef = this.dialog.open(NewPasswordDialog, this.config); - // dialogRef.afterClosed().subscribe(result => { - // if (result !== undefined) { - // let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result }; - // console.log(auth); - // this.aws.dologin(auth).subscribe(res => { - // console.log(res); - // // this.router.navigate(['/home']); - // }, err => { - // // alert(err.message); - // }) - // } - // }); - // } - LoginPage.prototype.forgotopen = function () { - this.status = true; - }; - LoginPage.prototype.forgotpassword = function () { - var auth = { 'Username': this.email }; - console.log(auth); - // this.aws.userforgotpass(auth).subscribe(res => { - // console.log(res); - // }) - }; - LoginPage.prototype.loggedInCheck = function () { - //alert(this.shared.isLoggedIn); - if (this.shared.isLoggedIn) { - alert("if"); - // this.router.navigate(['/home']); - return false; - } - else { - alert("else"); - return true; - } - }; - LoginPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-login',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/login/login.html"*/'\n\n\n\n\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/login/login.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_material__["h" /* MatDialog */], - __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* MenuController */], - __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], LoginPage); - return LoginPage; -}()); - -// ======================= END ============================== -/** -* New password Dialog -*/ -// const newpassword = new FormControl('', Validators.required); -// const confirmPassword = new FormControl(''); -// @Component({ -// selector: 'app-jazz-dialog', -// template: ` -//
New Password Change.
-// -// -// -//
-// -// -// -// Passwords do not math. -//
-// -// ` -// }) -// export class NewPasswordDialog { -// newpassword: any = newpassword; -// confirmPassword: any = confirmPassword; -// jazzMessage = 'Jazzy jazz jazz'; -// constructor(public dialogRef: MatDialogRef) { -// } -// } -// @Component({ -// selector: 'app-jazz-dialog', -// template: ` -//
Forgot Password
-// -// -// -//
-// -// ` -// }) -// export class ForgotPass { -// newpassword: any = newpassword; -// confirmPassword: any = confirmPassword; -// jazzMessage = 'Jazzy jazz jazz'; -// constructor(public dialogRef: MatDialogRef) { -// } -// } -//# sourceMappingURL=login.js.map - -/***/ }), - -/***/ 358: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InputPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_status_bar__ = __webpack_require__(187); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_cdk_platform__ = __webpack_require__(38); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ionic_native_launch_navigator__ = __webpack_require__(359); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_pdtrigger_pdtrigger__ = __webpack_require__(85); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__otp_otp__ = __webpack_require__(198); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__ = __webpack_require__(204); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_common__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__ionic_native_location_accuracy__ = __webpack_require__(390); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_constants_constants__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__pd_general_images_pd_general_images__ = __webpack_require__(391); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__ionic_native_android_permissions__ = __webpack_require__(124); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(392); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - - - - - - - - -/** - * Generated class for the InputPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var currentdate = new Date().toJSON().slice(0, 19); -var InputPage = (function () { - function InputPage(navCtrl, navParams, fb, statusBar, platform, launchNavigator, aws, pdDetails, geolocation, alertCtrl, locationAccuracy, toast, constant, androidPermissions) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.statusBar = statusBar; - this.platform = platform; - this.launchNavigator = launchNavigator; - this.aws = aws; - this.pdDetails = pdDetails; - this.geolocation = geolocation; - this.alertCtrl = alertCtrl; - this.locationAccuracy = locationAccuracy; - this.toast = toast; - this.constant = constant; - this.androidPermissions = androidPermissions; - this.initiatedAccess = false; - this.scheduleAccess = false; - this.pipe = new __WEBPACK_IMPORTED_MODULE_10__angular_common__["d" /* DatePipe */]('en-US'); - this.acceptedAccess = false; - this.startedAccess = false; - this.timeOut = 15 * 1000; - this.maxdate = this.pipe.transform(new Date(), 'yyyy-MM-ddThh:mm').toString(); - /***Header value pass */ - this.statusBar.styleDefault(); - this.statusBar.overlaysWebView(false); - this.statusBar.backgroundColorByHexString('#db4437'); - var timeStart = this.pipe.transform(new Date(), 'dd/MM/yyyy hh:mm a'); - this.applicatentDetails = this.navParams.get('pdDetails'); - this.getFullPD(); - if (this.applicatentDetails.pd_status == 'ALLOCATED') { - this.acceptedAccess = true; - } - if (this.applicatentDetails.pd_status == 'ACCEPTED') { - this.scheduleAccess = true; - } - if (this.applicatentDetails.pd_status == 'SCHEDULED') { - this.initiatedAccess = true; - } - //console.log(this.initiatedAccess); - if (this.applicatentDetails.pd_status == 'INITIATED') { - this.startedAccess = true; - this.getenableAccuracy(); - } - this.users = this.aws.getlocale(); - } - InputPage.prototype.ionViewDidLoad = function () { - this.setPermission(); - }; - InputPage.prototype.ionViewCanLeave = function () { - clearInterval(this.timeInterval); - }; - InputPage.prototype.locationnavicate = function (address) { - this.launchNavigator.navigate(address); - }; - InputPage.prototype.setPermission = function () { - var _this = this; - this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(function (result) { return console.log('Has permission?', result.hasPermission); }, function (err) { return _this.androidPermissions.requestPermission(_this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION); }); - this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]); - this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(function (result) { return console.log('Has permission?', result.hasPermission); }, function (err) { return _this.androidPermissions.requestPermission(_this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION); }); - this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]); - }; - InputPage.prototype.getFullPD = function () { - var _this = this; - var records = { 'pdid': this.applicatentDetails.pd_id }; - this.pdDetails.getFullPDdetails(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.other_applicant = res['records'].applicants_details; - console.log(_this.other_applicant); - var courrentDateTime = _this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); - var scheduledDateTime = res['records'].pd_master_details[0].scheduled_on_for_validation; - var diffInMs = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime); - var diffInHours = Math.floor(diffInMs / 1000 / 60 / 60); - if (diffInHours <= -4) { - _this.enableStartPD = true; - } - else { - _this.enableStartPD = false; - } - } - }); - }; - InputPage.prototype.pdStatus = function (status, appdetails) { - var _this = this; - var data; - if (status == 'BOUNCED') { - data = { 'pd_id': appdetails.pd_id, 'pd_status': status, 'fk_updatedby': this.users, 'updatedon': currentdate }; - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_16__pages_input_bounced_reject_bounced_reject__["a" /* BouncedRejectPage */], { 'details': data }); - // this.pdDetails.updatepdStatus(data).subscribe(res=> - // { - // this.updateStatus = res; - // if(this.updateStatus.dataStatus == true) - // { - // this.navCtrl.setRoot(PdListPage); - // } - // }) - } - else if (status == 'ACCEPTED') { - data = { 'pd_id': appdetails.pd_id, 'pd_status': status, 'fk_updatedby': this.users, 'updatedon': currentdate }; - this.pdDetails.updatepdStatus(data).subscribe(function (res) { - _this.updateStatus = res; - if (_this.updateStatus.dataStatus == true) { - _this.getNewpdupdate(); - _this.scheduleAccess = true; - } - else { - _this.scheduleAccess = false; - } - }); - } - }; - InputPage.prototype.pdschedule = function (scheduledate, appdetails) { - var _this = this; - var data; - console.log(scheduledate); - if (scheduledate != undefined) { - var schDate = scheduledate.slice(0, 19).replace('T', ' '); - console.log(schDate); - data = { 'pd_id': appdetails.pd_id, 'pd_status': 'SCHEDULED', 'scheduled_on': schDate, 'fk_updatedby': this.users, 'updatedon': currentdate }; - this.pdDetails.updatepdStatus(data).subscribe(function (res) { - _this.updateSchedule = res; - if (_this.updateSchedule.dataStatus == true) { - _this.getNewpdupdate(); - _this.initiatedAccess = true; - } - }); - } - else { - this.toast.pdTriggerappmessage("Please Choose the Schedule Date"); - this.input_focus.setFocus(); - //this.input_focus.scrollToTop(); - this.scrolltop.scrollTop; - } - }; - InputPage.prototype.getenableAccuracy = function () { - var _this = this; - this.locationAccuracy.canRequest().then(function (canRequest) { - if (canRequest) { - // the accuracy option will be ignored by iOS - _this.locationAccuracy.request(_this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(function () { - _this.getcurrentLocation(); - }, function (error) { return alert('Error requesting location permissions' + JSON.stringify(error)); }); - } - }); - }; - InputPage.prototype.getcurrentLocation = function () { - var _this = this; - var data; - var options = { - frequency: 3000, - enableHighAccuracy: true, - timeOut: 1000, - }; - this.timeInterval = setInterval(function () { - _this.currentPosPDofficer = ''; - _this.geolocation.getCurrentPosition(options).then(function (resp) { - // resp.coords.latitude - // resp.coords.longitude - if (resp.coords != undefined) { - _this.currentPosPDofficer = resp.coords.latitude + "," + resp.coords.longitude; - // this.toast.pdTriggerappmessage(this.currentPosPDofficer); - console.log(_this.currentPosPDofficer); - data = { 'pd_id': _this.applicatentDetails.pd_id, 'link': _this.currentPosPDofficer }; - _this.pdDetails.saveCurrentLocation(data).subscribe(function (res) { - // this.updateinitiated = res; - // if(this.updateinitiated.dataStatus == true) - // { - // // this.getNewpdupdate(); - // // this.startedAccess = true; - // }else - // { - // this.startedAccess = false; - // } - }); - } - }).catch(function (error) { - _this.toast.pdTriggerappmessage(error.message); - }); - }, this.timeOut); - }; - InputPage.prototype.pdreschedule = function () { - this.scheduleAccess = true; - this.initiatedAccess = false; - }; - InputPage.prototype.pdinitiated = function (appdetails) { - var _this = this; - var data; - this.locationAccuracy.canRequest().then(function (canRequest) { - if (canRequest) { - // the accuracy option will be ignored by iOS - _this.locationAccuracy.request(_this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(function () { - _this.geolocation.getCurrentPosition().then(function (resp) { - // resp.coords.latitude - // resp.coords.longitude - _this.currentPosPDofficer = resp.coords.latitude + "," + resp.coords.longitude; - data = { 'pd_id': appdetails.pd_id, 'pd_status': 'INITIATED', 'mobile_no': appdetails.applicat_details[0].mobile_no, 'officerName': appdetails.pd_allocated_to, 'firstName': appdetails.applicat_details[0].applicant_name, 'fk_updatedby': _this.users, 'updatedon': currentdate, 'link': _this.currentPosPDofficer }; - _this.pdDetails.updatepdStatus(data).subscribe(function (res) { - _this.updateinitiated = res; - if (_this.updateinitiated.dataStatus == true) { - _this.getNewpdupdate(); - _this.getcurrentLocation(); - _this.startedAccess = true; - } - else { - _this.startedAccess = false; - } - }); - }).catch(function (error) { - console.log('Error getting location', error); - }); - }, function (error) { return alert('Error requesting location permissions' + JSON.stringify(error)); }); - } - }); - }; - InputPage.prototype.startPdDiscussion = function (appdetails) { - var _this = this; - var data; - var alert = this.alertCtrl.create({ - title: 'Starting PD Officer', - message: 'Are you starting the Discussions', - buttons: [ - { - text: 'No', - role: 'cancel', - handler: function () { - // console.log('Cancel clicked'); - // this.toast.pdTriggerappmessage('') - } - }, - { - text: 'YES', - handler: function () { - _this.geolocation.getCurrentPosition().then(function (resp) { - _this.currentPosPDofficer = resp.coords.latitude + "," + resp.coords.longitude; - data = { 'pd_id': appdetails.pd_id, 'pd_status': 'STARTED', 'mobile_no': appdetails.applicat_details[0].mobile_no, 'fk_updatedby': _this.users, 'updatedon': currentdate, 'link': _this.currentPosPDofficer }; - console.log(data); - _this.pdDetails.updatepdStatus(data).subscribe(function (res) { - _this.updatestarted = res; - if (_this.updatestarted.dataStatus == true) { - clearInterval(_this.timeInterval); - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_8__otp_otp__["a" /* OtpPage */], { 'pdDetails': appdetails }); - } - }); - // console.log('Buy clicked'); - }); - } - } - ] - }); - alert.present(); - }; - InputPage.prototype.getNewpdupdate = function () { - var _this = this; - this.acceptedAccess = false; - this.initiatedAccess = false; - this.scheduleAccess = false; - this.startedAccess = false; - this.pdDetails.getpddetails(this.users).subscribe(function (res) { - _this.appdata = res; - if (_this.appdata.dataStatus == true) { - _this.applicatentDetails = _this.appdata.records.filter(function (app) { return app.pd_id == _this.applicatentDetails.pd_id; })[0]; - if (_this.applicatentDetails.pd_status == 'ALLOCATED') { - _this.acceptedAccess = true; - } - if (_this.applicatentDetails.pd_status == 'ACCEPTED') { - _this.scheduleAccess = true; - _this.toast.pdTriggerappmessage("Accepted Successfully"); - } - if (_this.applicatentDetails.pd_status == 'SCHEDULED') { - _this.initiatedAccess = true; - _this.getFullPD(); - _this.toast.pdTriggerappmessage("Scheduled Successfully"); - } - if (_this.applicatentDetails.pd_status == 'INITIATED') { - _this.startedAccess = true; - _this.toast.pdTriggerappmessage("Initiated Successfully"); - } - } - }); - }; - InputPage.prototype.camerasetup = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_14__pd_general_images_pd_general_images__["a" /* PdGeneralImagesPage */], { 'pdDetails': this.applicatentDetails }); - }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('focusinp'), - __metadata("design:type", Object) - ], InputPage.prototype, "input_focus", void 0); - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('scroll'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Content */]) - ], InputPage.prototype, "scrolltop", void 0); - InputPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-input',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/input/input.html"*/'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n \n \n \n \n \n \n \n \n   {{applicatentDetails.applicat_details[0].applicant_name | titlecase}}\n \n
\n \n \n {{applicatentDetails.customer_segment_name}}\n \n
\n \n \n \n {{applicatentDetails.addressline1}}
\n {{applicatentDetails.city_name}}
\n {{applicatentDetails.state_name}}\n -{{applicatentDetails.pincode}}\n -{{applicatentDetails.other_pincode}}
\n \n
\n
\n \n \n \n {{applicatentDetails.applicat_details[0].mobile_no}} \n \n \n \n
\n \n \n {{applicatentDetails.product_name}}\n / {{applicatentDetails.subproduct_name}}\n \n
\n \n \n \n Schedule Date\n \n \n \n \n \n \n \n  {{applicatentDetails.scheduled_on}}\n \n \n \n \n \n \n
\n
\n \n
\n \n \n
Applicant # {{i+1}}
\n
\n \n \n   {{other_app.applicant_name | titlecase}}\n \n \n \n \n {{other_app.mobile_no}}\n \n \n \n \n
\n

\n \n
\n \n
Lender Contact Details
\n
\n \n \n \n \n   {{applicatentDetails.pd_contact_person}}\n \n \n \n \n {{applicatentDetails.pd_contact_mobileno}}\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/input/input.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], - __WEBPACK_IMPORTED_MODULE_3__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_4__angular_cdk_platform__["a" /* Platform */], __WEBPACK_IMPORTED_MODULE_5__ionic_native_launch_navigator__["a" /* LaunchNavigator */], - __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__["a" /* Geolocation */], - __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_11__ionic_native_location_accuracy__["a" /* LocationAccuracy */], __WEBPACK_IMPORTED_MODULE_12__providers_common_provider_toast__["a" /* ToastProvider */], - __WEBPACK_IMPORTED_MODULE_13__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_15__ionic_native_android_permissions__["a" /* AndroidPermissions */]]) - ], InputPage); - return InputPage; -}()); - -//# sourceMappingURL=input.js.map - -/***/ }), - -/***/ 360: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pd_question_category_pd_question_category__ = __webpack_require__(123); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(199); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -/** - * Generated class for the PdQuestionPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var currentdate = new Date().toJSON().slice(0, 19).replace('T', ' '); -var PdQuestionPage = (function () { - function PdQuestionPage(navCtrl, navParams, platform, fb, qstDetails, aws, camera, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qstDetails = qstDetails; - this.aws = aws; - this.camera = camera; - this.toast = toast; - this.docName = []; - this.docArray = []; - this.imageArray = []; - this.SwipedTabsIndicator = null; - this.tabTitleWidthArray = []; - this.tabElementWidth_px = 50; - this.screenWidth_px = 0; - this.isRight = false; - this.isLeft = false; - this.tabs = []; - this.screenWidth_px = platform.width(); - this.questionAnswer = this.fb.group({ - answerDetails: [null], - items: this.fb.array([]), - }); - this.questionanotherData = this.fb.group({ - questionRemarks: [null] - }); - this.getpdQuestionDetails(); - this.userid = this.aws.getlocale(); - } - PdQuestionPage.prototype.ionViewDidLoad = function () { - }; - PdQuestionPage.prototype.ionViewDidEnter = function () { - this.SwipedTabsIndicator = document.getElementById("indicator"); - for (var i in this.tabs) - this.tabTitleWidthArray.push(document.getElementById("tabTitle" + i).offsetWidth); - this.selectTab(0); - }; - PdQuestionPage.prototype.ionViewWillLeave = function () { - this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_5__pd_question_category_pd_question_category__["a" /* PdQuestionCategoryPage */], { 'pdDetails': this.pdinfo }); - }; - PdQuestionPage.prototype.scrollIndicatiorTab = function () { - this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - this.screenWidth_px / 2, 0); - // let answerDetails = this.questionAnswer.value; - // let remarks = this.questionanotherData.value; - if (this.isLeft) { - //this.prev(answerDetails,remarks,this.questionDetails); - } - if (this.isRight) { - //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails); - } - }; - PdQuestionPage.prototype.selectTab = function (index) { - this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index] + "px"; - this.SwipedTabsIndicator.style.webkitTransform = 'translate3d(' + (this.calculateDistanceToSpnd(index)) + 'px,0,0)'; - this.SwipedTabsSlider.slideTo(index); - }; - PdQuestionPage.prototype.calculateDistanceToSpnd = function (index) { - var result = 0; - for (var _i = 0; _i < index; _i++) { - result = result + this.tabTitleWidthArray[_i]; - } - return result; - }; - PdQuestionPage.prototype.updateIndicatorPosition = function () { - var index = this.SwipedTabsSlider.getActiveIndex(); - if (this.SwipedTabsSlider.length() == index) - index = index - 1; - this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index] + "px"; - this.SwipedTabsIndicator.style.webkitTransform = 'translate3d(' + (this.calculateDistanceToSpnd(index)) + 'px,0,0)'; - }; - PdQuestionPage.prototype.updateIndicatorPositionOnTouchEnd = function () { - var _this = this; - setTimeout(function () { _this.updateIndicatorPosition(); }, 200); - }; - PdQuestionPage.prototype.animateIndicator = function ($event) { - this.isLeft = false; - this.isRight = false; - var currentSliderCenterProgress = (1 / (this.SwipedTabsSlider.length() - 1)) * this.SwipedTabsSlider.getActiveIndex(); - if ($event.progress < currentSliderCenterProgress) { - this.isLeft = true; - this.isRight = false; - } - if ($event.progress > currentSliderCenterProgress) { - this.isLeft = false; - this.isRight = true; - } - if (this.SwipedTabsSlider.isEnd()) - this.isRight = false; - if (this.SwipedTabsSlider.isBeginning()) - this.isLeft = false; - if (this.isRight) - this.SwipedTabsIndicator.style.webkitTransform = - 'translate3d(' + (this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - + ($event.progress - currentSliderCenterProgress) * (this.SwipedTabsSlider.length() - 1) * this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex() + 1]) - + 'px,0,0)'; - if (this.isLeft) - this.SwipedTabsIndicator.style.webkitTransform = - 'translate3d(' + (this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - + ($event.progress - currentSliderCenterProgress) * (this.SwipedTabsSlider.length() - 1) * this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex() - 1]) - + 'px,0,0)'; - if (!this.isRight && !this.isLeft) - this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()] + "px"; - }; - /** - * Pd Discussion Qustion Load - */ - PdQuestionPage.prototype.getpdQuestionDetails = function () { - this.questionDetails = this.navParams.get('questionDetails'); - this.pdinfo = this.navParams.get('pdDetails'); - for (var _a = 0, _b = this.questionDetails.questions; _a < _b.length; _a++) { - var qustimage = _b[_a]; - if (qustimage.images !== undefined) { - for (var _c = 0, _d = qustimage.images; _c < _d.length; _c++) { - var image = _d[_c]; - image.questionId = qustimage.fk_question_id; - this.docArray.push(image); - } - for (var _e = 0, _f = qustimage.answers; _e < _f.length; _e++) { - var answers = _f[_e]; - if (qustimage.fk_question_answertype == 3) { - this.items = this.questionAnswer.get('items'); - this.items.push(this.getquestionAnswer(answers)); - } - } - } - } - for (var i = 1; i <= this.questionDetails.questions_count; i++) { - var j = i.toString(); - this.tabs.push(j); - } - }; - PdQuestionPage.prototype.getquestionAnswer = function (answers) { - return this.fb.group({ - "pd_detail_answer_id": answers.pd_detail_answer_id, - "pd_answer_id": answers.question_answer_id, - "pd_answer": answers.answer, - "pd_answer_weightage": answers.template_answer_weightage, - "fk_pd_id": this.pdinfo.pd_id, - "fk_pd_detail_id": answers.fk_pd_detail_id, - "checkbox": (answers.isactive == null ? false : true) - }); - }; - // count = 0; - PdQuestionPage.prototype.getDocUpload = function (qustid) { - var _this = this; - // this.docqustid = qustId; - this.camera.getpicture().then(function (res) { - if (res !== undefined) { - _this.docArray.push({ 'pd_document_name': res, 'pd_document_title': '', 'questionId': qustid }); - } - }); - // this.count++; - }; - PdQuestionPage.prototype.docnames = function (name, id, image, qustid) { - this.docArray[id] = { 'pd_document_name': image, 'pd_document_title': name, 'questionId': qustid }; - }; - PdQuestionPage.prototype.removeimage = function (index) { - //for(let i=0;i<=this.igrimage.length;i++){ - //if(this.igrimage[i]== this.igrimage[index]){ - this.docArray.splice(index, 1); - //} - //} - }; - PdQuestionPage.prototype.saveQuestionDetails = function (answerDetails, questionRemarks, questionDetails) { - for (var _a = 0, _b = this.docArray; _a < _b.length; _a++) { - var docs = _b[_a]; - if (docs.pd_document_title != '' && docs.pd_document_title != null && docs.pd_document_title !== undefined) { - //alert(); - this.imageArray.push({ 'pd_document_name': docs.pd_document_name, 'pd_document_title': docs.pd_document_title }); - // return true; - } - else { - //alert(); - this.imageArray.push({ 'pd_document_name': docs.pd_document_name, 'pd_document_title': "docNames" }); - } - } - if (answerDetails.answerDetails != null) { - //alert('answers'); - var pd_id = this.pdinfo.pd_id; - var catid = questionDetails.fk_question_category_id; - var qt_id = questionDetails.questions.filter(function (qst) { return qst.template_question_id == answerDetails.answerDetails.fk_template_question_id; })[0]; - var qut_id = qt_id.fk_question_id; - var qustName = qt_id.question; - var qut_weightage = qt_id.question_weightage; - var ans_id = answerDetails.answerDetails.fk_question_answer_id; - var pd_answer = answerDetails.answerDetails.answer; - var ans_weightage = answerDetails.answerDetails.template_answer_weightage; - var pd_remarks = questionRemarks.questionRemarks; - var updatedby = ''; - var updateon = ''; - var createdby = ''; - var createon = ''; - var pd_details_id = ''; - var pd_detail_answer_id = ''; - if (qt_id.pd_detail_id == null) { - createdby = this.userid; - createon = currentdate; - pd_details_id = ''; - } - else { - pd_details_id = qt_id.pd_detail_id; - updatedby = this.userid; - updateon = currentdate; - pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id; - } - var saveRecords = { - "pd_detail_id": pd_details_id, - "fk_pd_id": pd_id, - "fk_category_id": catid, - "fk_question_id": qut_id, - "pd_question": qustName, - "pd_question_weightage": qut_weightage, - "question_remark": pd_remarks, - "answers": [{ "pd_detail_answer_id": pd_detail_answer_id, - "pd_answer_id": ans_id, - "pd_answer": pd_answer, - "pd_answer_weightage": qut_weightage, - "fk_pd_id": pd_id, - "fk_pd_detail_id": pd_details_id, - }], - "fk_createdon": createon, - "createdby": createdby, - "fk_updatedon": updateon, - "updatedby": updatedby, - "images": this.imageArray || "", - }; - // this.qstDetails.saveQusetion(saveRecords).subscribe(res=> - // { - // this.qustCate = res; - // if(this.qustCate.dataStatus == true){ - // this.SwipedTabsSlider.slideNext(); - // this.docArray = []; - // this.getcategoryList(qt_id,pd_id); - // } - // }) - // }else - // { - // this.SwipedTabsSlider.slideNext(); - } - }; - PdQuestionPage.prototype.getcategoryList = function (qustinfo, pdId) { - var _this = this; - var qustDetails = { "question_id": qustinfo.fk_question_id, "pd_id": pdId, "template_id": qustinfo.fk_template_id, "category_id": qustinfo.fk_template_question_category_id - }; - var answerData; - this.qstDetails.getAnswerTemplate(qustDetails).subscribe(function (res) { - answerData = res; - if (answerData.dataStatus == true) { - // answerData = answerData.records; - // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0]; - // eachquestion['answers'] = answerData.answers; - // this.questionDetails = - // this.imageArray = answerData.images; - // for(let docs of this.imageArray) - // { - // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''}) - // } - _this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark); - } - }); - }; - PdQuestionPage.prototype.prev = function (answerDetails, questionRemarks, questionDetails) { - var _this = this; - for (var _a = 0, _b = this.docArray; _a < _b.length; _a++) { - var docs = _b[_a]; - if (docs.pd_document_title != '' && docs.pd_document_title != null && docs.pd_document_title !== undefined) { - //alert(); - this.imageArray.push({ 'pd_document_name': docs.pd_document_name, 'pd_document_title': docs.pd_document_title }); - // return true; - } - else { - //alert(); - this.imageArray.push({ 'pd_document_name': docs.pd_document_name, 'pd_document_title': "docNames" }); - } - } - if (answerDetails.answerDetails != null) { - //alert('answers'); - var pd_id_1 = this.pdinfo.pd_id; - var catid = questionDetails.fk_question_category_id; - var qt_id_1 = questionDetails.questions.filter(function (qst) { return qst.template_question_id == answerDetails.answerDetails.fk_template_question_id; })[0]; - var qut_id = qt_id_1.fk_question_id; - var qustName = qt_id_1.question; - var qut_weightage = qt_id_1.question_weightage; - var ans_id = answerDetails.answerDetails.fk_question_answer_id; - var pd_answer = answerDetails.answerDetails.answer; - var ans_weightage = answerDetails.answerDetails.template_answer_weightage; - var pd_remarks = questionRemarks.questionRemarks; - var updatedby = ''; - var updateon = ''; - var createdby = ''; - var createon = ''; - var pd_details_id = ''; - var pd_detail_answer_id = ''; - if (qt_id_1.pd_detail_id == null) { - createdby = this.userid; - createon = currentdate; - pd_details_id = ''; - } - else { - pd_details_id = qt_id_1.pd_detail_id; - updatedby = this.userid; - updateon = currentdate; - pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id; - } - var saveRecords = { - "pd_detail_id": pd_details_id, - "fk_pd_id": pd_id_1, - "fk_category_id": catid, - "fk_question_id": qut_id, - "pd_question": qustName, - "pd_question_weightage": qut_weightage, - "question_remark": pd_remarks, - "answers": [{ "pd_detail_answer_id": pd_detail_answer_id, - "pd_answer_id": ans_id, - "pd_answer": pd_answer, - "pd_answer_weightage": qut_weightage, - "fk_pd_id": pd_id_1, - "fk_pd_detail_id": pd_details_id, - }], - "fk_createdon": createon, - "createdby": createdby, - "fk_updatedon": updateon, - "updatedby": updatedby, - "images": this.imageArray || "", - }; - this.qstDetails.saveQusetion(saveRecords).subscribe(function (res) { - _this.qustCate = res; - if (_this.qustCate.dataStatus == true) { - _this.SwipedTabsSlider.slidePrev(); - _this.docArray = []; - _this.getcategoryList(qt_id_1, pd_id_1); - } - }); - } - else { - if (this.SwipedTabsSlider.getActiveIndex() != 0) { - this.SwipedTabsSlider.slidePrev(); - } - } - }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('SwipedTabsSlider'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["v" /* Slides */]) - ], PdQuestionPage.prototype, "SwipedTabsSlider", void 0); - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('MultiItemsScrollingTabs'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Content */]) - ], PdQuestionPage.prototype, "ItemsTitles", void 0); - PdQuestionPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question.html"*/'\n\n\n \n \n {{questionDetails.category_name}} Category\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \n
\n
\n
\n\n
\n\n\n\n\n \n\n \n \n \n \n \n \n \n \n

{{qustDetails.question}}

\n
\n
\n
\n
\n\n \n \n \n \n \n \n\n {{answerType.answer}}\n\n\n \n \n \n\n \n \n \n\n \n\n \n \n\n
\n \n \n
\n
\n {{img.pd_document_title}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n\n \n\n \n \n \n \n
\n\n \n \n\n \n \n \n {{ control.controls.pd_answer.value }}\n \n\n \n\n \n
\n
\n \n
\n
\n
\n
\n\n \n \n \n
\n \n \n \n
\n\n
\n\n
\n
\n \n \n \n \n \n \n\n \n\n \n \n \n\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n\n \n \n \n \n\n \n \n \n \n\n \n \n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["u" /* Platform */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionPage); - return PdQuestionPage; -}()); - -//# sourceMappingURL=pd-question.js.map - -/***/ }), - -/***/ 362: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAddressPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionAddressPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAddressPage = (function () { - // counts:number = 1; - function PdQuestionAddressPage(navCtrl, navParams, fb, qustCat, aws, toast, alerCtrl, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.alerCtrl = alerCtrl; - this.constant = constant; - //placeholderName : any = 'Estimated area of the (Address Type)'; - this.placeholderName = []; - this.premisesRentAmtInwords = []; - this.locality = []; - this.pdlocation = []; - this.addressTypes = []; - this.addressRemarksAccess = false; - this.cityData = []; - this.pincodeData = []; - this.stateData = []; - this.uomData = []; - this.questionDetails = this.navParams.get('questionDetails'); - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.users = this.aws.getlocale(); - // if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){ - // this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3; - // }else{ - // this.address = this.pdDetails.addressline1+', - , -'; - // } - // this.pdState = this.pdDetails.fk_state; - // this.getCityAndPincodeDetails(this.pdState); - // this.pdCity = this.pdDetails.fk_city; - // this.pdPincode = this.pdDetails.pincode_id; - // this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : ''; - this.getdropdownlist(); - this.pdQuestionAddress = this.fb.group({ - addresses: this.fb.array([]), - address_form_remark: [''] - // address_ownership:[null], - // other_ownership:[null], - // rent_amt:[null], - // other_premises_bussiness_activity : [null], - // bussiness_activity_remark:[null], - // bussiness_activity:[null], - // bussiness_address_type:[null], - // bussiness_address_type_others:[null], - // business_years:[null], - // business_month:[null], - // additional_address_units: this.fb.array([]), - }); - this.getaddressForm(); - //this.loadPD() - } - PdQuestionAddressPage.prototype.ionViewDidLoad = function () { - //this.addUnits(); - console.log("ionViewDidLoad PdQuestionAddressPage"); - }; - PdQuestionAddressPage.prototype.ionViewWillLeave = function () { - // let method = this.alerCtrl.create({ - // message: 'Do You Want Save', - // buttons: [ - // { - // text: 'Save', - // cssClass: 'method-color', - // handler: () => { - // - // } - // }, - // { - // text: 'Cancel', - // cssClass: 'method-color', - // handler: () => { - // - // this.navCtrl.pop(); - // } - // } - // ] - // }); - // method.present() - }; - /** To Get City And Pincode Data For Address Form - * Param 'stateID' -> selected StateId - */ - PdQuestionAddressPage.prototype.getCityAndPincodeDetails = function (stateID, i) { - var _this = this; - this.qustCat.getStateWiseCities(stateID).subscribe(function (data) { - if (data.status == 200) { - _this.cityData[i] = data.records.cities; - _this.pincodeData[i] = data.records.pincode; - } - }); - }; - PdQuestionAddressPage.prototype.getdropdownlist = function () { - // this.addressTypes = [ - var _this = this; - // {'id':'Office','Name':'Office'}, - // {'id':'Clinic','Name':'Clinic'}, - // {'id':'Factory','Name':'Factory'}, - // {'id':'Warehouse','Name':'Warehouse'}, - // {'id':'Shop','Name':'Shop'}, - // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'}, - // {'id':'Residence','Name':'Residence'}, - // {'id':'OTHERS','Name':'OTHERS'} - // ]; - this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.addressTypes = res['records'].filter(function (add) { return add.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(function (res) { - _this.pdlocation = res; - if (_this.pdlocation.dataStatus == true) { - _this.pdlocation = _this.pdlocation.records.filter(function (loca) { return loca.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(function (res) { - _this.cmtlocality = res; - if (_this.cmtlocality.dataStatus == true) { - _this.cmtlocality = _this.cmtlocality.records.filter(function (loc) { return loc.isactive == 1; }); - } - }); - // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=> - // { - // this.custBehaviour = res; - // if(this.custBehaviour.dataStatus == true) - // { - // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1); - // } - // }) - this.qustCat.getcommondrop('LOCALITY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.locality = res['records'].filter(function (loc) { return loc.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.residence = res['records'].filter(function (red) { return red.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('CITY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.CITY = res['records'].filter(function (red) { return red.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('STATE').subscribe(function (res) { - _this.stateData = res['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustCat.getcommondrop('UOM').subscribe(function (res) { - _this.uomData = res['records'].filter(function (val) { return val.isactive == 1 && val.is_land_uom != 0; }); - }); - }; - // checkaddress(value) - // { - // - // if(value=="OTHERS") - // { - // this.addressRemarksAccess = true; - // }else - // { - // this.addressRemarksAccess = false; - // } - // } - // createItem(): FormGroup { - // return this.fb.group({ - // name: [null], - // do_you_know: [null], - // how_long: [null], - // is_owner: [null], - // }); - // }; - PdQuestionAddressPage.prototype.createUnits = function (val) { - if (val == null) { - return this.fb.group({ - no_of_additional_units: [''], - premises_type: [''], - premises_type_others: [''], - premises_city: [''], - // premises_ownership: [''], - //premises_ownership_others: [''], - //premises_rent_amt:[''], - premises_remarks: [''], - }); - } - else { - return this.fb.group({ - no_of_additional_units: [val.no_of_additional_units], - premises_type: [val.premises_type], - premises_type_others: [val.premises_type_others], - premises_city: [val.premises_city], - // premises_ownership: [val.premises_ownership], - // premises_ownership_others: [val.other_ownership], - // premises_rent_amt:[val.rent_amt], - premises_remarks: [val.premises_remarks], - }); - } - }; - PdQuestionAddressPage.prototype.addUnits = function () { - this.items = this.pdQuestionAddress.get('additional_address_units'); - this.items.push(this.createUnits(null)); - }; - PdQuestionAddressPage.prototype.removeUnits = function (i) { - this.items.removeAt(i); - }; - PdQuestionAddressPage.prototype.ConvertMonthintoYear = function (e) { - var business_year = this.pdQuestionAddress.controls.business_years.value; - var converted_month = e % 12; - var converted_year = e / 12; - this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year)); - this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month)); - }; - PdQuestionAddressPage.prototype.initAddress = function (AddressDetails) { - if (AddressDetails != null) { - return this.fb.group({ - address: [AddressDetails.address, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - address_type: [AddressDetails.address_type, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - address_type_others: [AddressDetails.address_type_others], - state: [AddressDetails.state], - city: [AddressDetails.city], - pincode: [AddressDetails.pincode], - pincode_others: [AddressDetails.pincode_others, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].minLength(6), __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].maxLength(6)])], - locality: [AddressDetails.locality, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - locality_others: [AddressDetails.locality_others], - locality_mixuse: [AddressDetails.locality_mixuse], - pd_location: [AddressDetails.pd_location, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - comment_locality: [AddressDetails.comment_locality, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - estimated_area: [AddressDetails.estimated_area], - uom: [AddressDetails.uom], - uom_others: [AddressDetails.uom_others] - }); - } - else { - return this.fb.group({ - address: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - address_type: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - address_type_others: [''], - state: [''], - city: [''], - pincode: [''], - pincode_others: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].minLength(6), __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].maxLength(6)])], - locality: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - locality_others: [''], - locality_mixuse: [''], - pd_location: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - comment_locality: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - estimated_area: [''], - uom: [''], - uom_others: [''] - }); - } - }; - /** On Key Press Event For Numbers */ - PdQuestionAddressPage.prototype.keyPress = function (event) { - var pattern = /[0-9]/; - var inputChar = String.fromCharCode(event.charCode); - if (event.keyCode != 8 && !pattern.test(inputChar)) { - event.preventDefault(); - } - }; - PdQuestionAddressPage.prototype.inWords = function (e, i) { - this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value); - }; - PdQuestionAddressPage.prototype.inWordsForRent = function (e) { - this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value); - }; - PdQuestionAddressPage.prototype.selectedAddressType = function (e, i) { - this.placeholderName[i] = 'Estimated area of the ' + e; - }; - PdQuestionAddressPage.prototype.savepdQuestion = function (answerData) { - var _this = this; - var records = {}; - // records.address = answerData.address; - // if(answerData.address_type_others != null){ - // records.address_type_others = answerData.address_type_others; - // } - // // records.state =answerData.state - // records.city = answerData.city - // records.pincode = answerData.pincode - // records.pincode_others = answerData.pincode== 1 ? - // this.pdQuestionAddress.controls.pincode_others.value : ''; - // records.address_type = answerData.address_type; - // records.locality = answerData.locality; - // records.locality_others = answerData.locality == 1 ? - // this.pdQuestionAddress.controls.locality_others.value : ''; - // records.locality_mixuse = answerData.locality == 5 ? - // this.pdQuestionAddress.controls.locality_mixuse.value : ''; - // records.pd_location = answerData.pd_location; - // records.comment_locality = answerData.comment_locality; - // records.other_comment_locality = answerData.other_comment_locality; - // records.estimated_area = answerData.estimated_area; - // records.uom = answerData.uom; - // records.uom_others = answerData.uom == 1 ? - // this.pdQuestionAddress.controls.uom_others.value : ''; - // records.customer_behaviour = answerData.customer_behaviour; - // records.neighbourhood = answerData.neighbourhood; - console.log("Answer DAta", answerData); - records.addresses = answerData.addresses; - records.address_form_remark = answerData.address_form_remark; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.address_form_remark = answerData.address_form_remark; - // records.address_ownership = answerData.address_ownership; - // records.other_ownership = answerData.other_ownership; - // records.rent_amt = answerData.rent_amt; - // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity; - // records.bussiness_activity = answerData.bussiness_activity; - // records.bussiness_activity_remark = answerData.bussiness_activity_remark; - // records.business_years = answerData.business_years; - // records.business_month = answerData.business_month; - // records.additional_address_units = answerData.additional_address_units; - this.qustCat.saveForm(records).subscribe(function (data) { - // let params: any = {}; - // params.pd_id = '250'; - // params.pd_form_id = '250'; - // setTimeout(function(){ - // this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - // },5000) - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }, function (err) { - _this.toast.pdTriggerappmessage('Something went wrong '); - }); - }; - PdQuestionAddressPage.prototype.getaddressForm = function () { - var _this = this; - var res; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - var control = _this.pdQuestionAddress.controls['addresses']; - _this.getaddressDetails = res; - if (_this.getaddressDetails.dataStatus == true) { - if (_this.getaddressDetails.records.addresses) { - _this.getaddressDetails = _this.getaddressDetails.records.addresses; - if (_this.getaddressDetails.length == 0) { - control.push(_this.initAddress('')); - } - else { - _this.getaddressDetails.forEach(function (datas, index) { - var val = { - 'address': datas.address, - 'address_type': datas.address_type, - 'address_type_others': datas.address_type_others, - 'state': datas.state, - 'city': datas.city, - 'pincode': datas.pincode, - 'pincode_others': datas.pincode_others, - 'locality': datas.locality, - 'locality_others': datas.locality_others, - 'locality_mixuse': datas.locality_mixuse, - 'pd_location': datas.pd_location, - 'comment_locality': datas.comment_locality, - 'estimated_area': datas.estimated_area, - 'uom': datas.uom, - 'uom_others': datas.uom_others - }; - _this.getCityAndPincodeDetails(datas.state, index); - var selectedAddressType = _this.addressTypes.filter(function (element) { return element.address_type_id == datas.address_type; })[0]; - _this.selectedAddressType(selectedAddressType.address_type, index); - if (datas.address_type == 1) { - _this.selectedAddressType(datas.address_type_others, index); - } - control.push(_this.initAddress(val)); - }); - _this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark); - } - // if(this.getaddressDetails.additional_address_units != null){ - // var result = Object.keys(res['records'].additional_address_units).map(function(key) { - // // return res['records'].additional_address_units[key]; - // //for slicing the automatically created - // }); - // //this.removeUnits(0); - // } - // let control = this.pdQuestionAddress.get('additional_address_units') as FormArray; - // this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address); - // this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state) - // if (this.getaddressDetails.state != '') { - // this.getCityAndPincodeDetails(this.getaddressDetails.state); - // this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city); - // this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode); - // if (this.getaddressDetails.pincode == 1) { - // this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others); - // this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]); - // this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity(); - // } - // } - // this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location); - // this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type); - // let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type); - // this.selectedAddressType(selectedAddressType); - // if(this.getaddressDetails.address_type != null) { - // this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others); - // this.selectedAddressType(this.getaddressDetails.address_type_others); - // } - // this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality); - // if(this.getaddressDetails.comment_locality != null){ - // this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality); - // } - // // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour); - // this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality); - // if(this.getaddressDetails.locality == 1 ){ - // this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others); - // } - // if(this.getaddressDetails.locality == 5){ - // this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse) - // } - // this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area); - // this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom); - // if (this.getaddressDetails.uom == 1) { - // this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others); - // this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required]) - // this.pdQuestionAddress.controls.uom_others.updateValueAndValidity(); - // } - // this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark); - // // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership); - // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership); - // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt); - // if(this.getaddressDetails.rent_amt != null){ - // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt); - // } - // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity); - // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) { - // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity); - // } - // else{ - // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(''); - // } - // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity); - // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years); - // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month); - /* if(this.getaddressDetails.bussiness_activity == 'yes') { - - if (result.length == 0) { - - control.push(this.createUnits(null)); - } else {*/ - //for(let val of this.getaddressDetails.additional_address_units){ - //control.push(this.createUnits(val)); - //} - //result.forEach((datas,index) => { - //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt); - //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas); - //}); - //} - // } - } - else { - control.push(_this.initAddress('')); - } - } - else - _this.loadPD(); - }); - }; - PdQuestionAddressPage.prototype.loadPD = function () { - var _this = this; - var control = this.pdQuestionAddress.controls['addresses']; - this.qustCat.getAddressDetails(this.pdDetails.pd_id).subscribe(function (res) { - if (res.dataStatus == true) { - _this.addressesList = res.records.filter(function (item) { return item.isactive == 1; }); - console.log('this.addressesList', _this.addressesList); - if (_this.addressesList.length > 0) { - _this.addressesList.forEach(function (datas, index) { - var obj = { - 'address': datas.addressline1, - 'address_type': '', - 'address_type_others': '', - 'state': datas.fk_state, - 'city': datas.fk_city, - 'pincode': datas.pincode_id, - 'pincode_others': datas.other_pincode, - 'locality': '', - 'locality_others': '', - 'locality_mixuse': '', - 'pd_location': '', - 'comment_locality': '', - 'estimated_area': '', - 'uom': '', - 'uom_others': '' - }; - _this.getCityAndPincodeDetails(datas.fk_state, index); - control.push(_this.initAddress(obj)); - }); - } - else { - control.push(_this.initAddress('')); - } - } - else { - control.push(_this.initAddress('')); - } - }); - }; - PdQuestionAddressPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-address',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-address/pd-question-address.html"*/'\n\n \n \n \n {{FormId.form_name}}\n \n\n\n\n \n
\n \n
\n
\n \n
Address Details # {{i+1}}
\n
\n
\n \n \n \n \n
\n \n \n \n {{SL.name}}\n \n \n \n \n {{CL.city_name}}\n \n \n\n \n \n Select\n {{PL.pincode}}\n \n \n \n \n \n\n
\n \n \n --\n {{m_addressType.address_type}} \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n \n \n --\n {{m_locality.locality_name}}\n \n\n \n \n
\n\n\n \n \n \n \n \n \n \n \n\n
\n \n \n --\n {{data.description}}\n \n \n \n
\n\n
\n \n \n --\n {{data.rating}}\n \n \n \n
\n\n
\n \n \n \n
\n \n \n \n \n \n Select\n {{uom.name}}\n \n \n \n \n \n \n \n\n\n\n\n\n \n
\n
\n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
\n\n \n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-address/pd-question-address.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionAddressPage); - return PdQuestionAddressPage; -}()); - -//# sourceMappingURL=pd-question-address.js.map - -/***/ }), - -/***/ 363: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionEmpInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionEmpInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionEmpInfoPage = (function () { - function PdQuestionEmpInfoPage(navCtrl, navParams, fb, qustCat, aws, toast, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.constant = constant; - this.FormId = this.navParams.get('FormId'); - this.questionDetails = this.navParams.get('questionDetails'); - this.pdDetails = this.navParams.get('pdDetails'); - this.users = this.aws.getlocale(); - this.pdid = this.pdDetails.pd_id; - this.customer_segment_abbr = this.pdDetails.customer_segment_abbr; - this.pd_cus_segment = this.pdDetails.customer_segment_abbr.toUpperCase(); - this.getDropDownList(); - this.getCompanyFromGeneralDetails(); - this.getEmploymentDetails(); - this.employmentForm = this.fb.group({ - employer_name: [''], - how_long_year: [''], - how_long_month: [''], - was_met: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''], - name_person_met: [''], - designation_person_met: [''], - confirm_salary: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''], - confirm_salary_amount: [''], - total_business_experience: [''], - total_business_previous_experience: [''], - attendance_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''], - sal_reg_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''], - from_date_the_salary_is_rcv: [''], - to_date_the_salary_is_rcv: [''], - gross_monthly_salary: [''], - net_monthly_salary: [''], - bonus_incentive: [''], - amount_paid_in_cash: [''], - how_was_it_validated: [''], - why_was_it_not_validated: [''], - amount_paid_through_bank: [''], - bonus_frequency: [''], - bonus_type: [''], - bonus_type_other: [''], - any_delays: [''], - employment_remarks: [''], - }); - } - PdQuestionEmpInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionEmpInfoPage'); - }; - PdQuestionEmpInfoPage.prototype.getDropDownList = function () { - var _this = this; - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.frequency_data = data['records']; - _this.frequency_data = _this.frequency_data.filter(function (freq) { return freq.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.company_relationship_list = data['records'].filter(function (item) { return item.isactive == 1; }); - _this.company_relationship_list = data['records'].filter(function (item) { return item.name != 'Others'; }); - _this.company_relationship_list.push({ 'company_relationship_id': 0, 'name': 'Not Applicable' }); - } - }); - }; - PdQuestionEmpInfoPage.prototype.getCompanyFromGeneralDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': '18' }; - this.qustCat.retiverForm(records).subscribe(function (value) { - if (value['dataStatus'] == true) { - _this.company_list = value['records'].companies.filter(function (com) { return com.is_active == true; }); - _this.person_met_list = value['records'].individuals.filter(function (app) { return app.is_person_met == true && app.is_active == true; }); - _this.company_related_applicants_list = value['records'].company_with_relationships; - } - else { - } - }); - }; - PdQuestionEmpInfoPage.prototype.saveEmpInfo = function () { - var _this = this; - if (!this.employmentForm.valid) { - this.toast.pdTriggerappmessage('Form Invalid Try Again.!'); - return; - } - var records = {}; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.employer_name = this.employmentForm.controls['employer_name'].value; - records.how_long_year = this.employmentForm.controls['how_long_year'].value; - records.how_long_month = this.employmentForm.controls['how_long_month'].value; - records.was_met = this.employmentForm.controls['was_met'].value; - if (this.employmentForm.controls['was_met'].value == 'yes') { - records.name_person_met = this.employmentForm.controls['name_person_met'].value; - records.designation_person_met = this.employmentForm.controls['designation_person_met'].value; - } - else { - records.name_person_met = ''; - records.designation_person_met = ''; - } - records.confirm_salary = this.employmentForm.controls['confirm_salary'].value; - if (this.employmentForm.controls['confirm_salary'].value == 'yes') { - records.confirm_salary_amount = this.employmentForm.controls['confirm_salary_amount'].value; - records.total_business_experience = this.employmentForm.controls['total_business_experience'].value; - records.total_business_previous_experience = this.employmentForm.controls['total_business_previous_experience'].value; - } - else { - records.confirm_salary_amount = ''; - records.total_business_experience = ''; - records.total_business_previous_experience = ''; - } - records.attendance_seen = this.employmentForm.controls['attendance_seen'].value; - records.sal_reg_seen = this.employmentForm.controls['sal_reg_seen'].value; - records.from_date_the_salary_is_rcv = this.employmentForm.controls['from_date_the_salary_is_rcv'].value; - records.to_date_the_salary_is_rcv = this.employmentForm.controls['to_date_the_salary_is_rcv'].value; - records.gross_monthly_salary = this.employmentForm.controls['gross_monthly_salary'].value; - records.net_monthly_salary = this.employmentForm.controls['net_monthly_salary'].value; - records.bonus_incentive = this.employmentForm.controls['bonus_incentive'].value; - records.amount_paid_in_cash = this.employmentForm.controls['amount_paid_in_cash'].value; - records.how_was_it_validated = this.employmentForm.controls['how_was_it_validated'].value; - records.why_was_it_not_validated = this.employmentForm.controls['why_was_it_not_validated'].value; - records.amount_paid_through_bank = this.employmentForm.controls['amount_paid_through_bank'].value; - records.bonus_frequency = this.employmentForm.controls['bonus_frequency'].value; - records.bonus_type = this.employmentForm.controls['bonus_type'].value; - records.bonus_type_other = this.employmentForm.controls['bonus_type_other'].value; - records.any_delays = this.employmentForm.controls['any_delays'].value; - records.employment_remarks = this.employmentForm.controls['employment_remarks'].value; - this.qustCat.saveForm(records).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); - } - }); - }; - PdQuestionEmpInfoPage.prototype.filtercompanyrelationship = function (companyid, applicantid) { - var array = companyid.split("-"); - var data = this.company_related_applicants_list.filter(function (cmpy) { return cmpy.relation_to_company == array[0] && cmpy.applicant_name == applicantid; }); - if (data.length > 0) { - this.filtered_company_relationship_list = this.company_relationship_list.filter(function (freq) { return freq.company_relationship_id == data[0].company_relationship; }); - this.employmentForm.controls['designation_person_met'].setValue(this.filtered_company_relationship_list[0]['name'] + ' ' + array[1]); - } - else { - this.employmentForm.controls['designation_person_met'].setValue(''); - } - }; - PdQuestionEmpInfoPage.prototype.ConvertMonthintoYear = function (e) { - var how_long_year = this.employmentForm.controls.how_long_year.value; - var converted_month = e % 12; - var converted_year = e / 12; - this.employmentForm.controls.how_long_year.setValue(+how_long_year + +Math.floor(converted_year)); - this.employmentForm.controls.how_long_month.setValue(Math.floor(converted_month)); - }; - PdQuestionEmpInfoPage.prototype.inWords = function (val, flag) { - switch (flag) { - case 1: - this.mthlySlryAmtInWords = this.constant.convertNumberToWords(val); - break; - case 2: - this.grossMthlySlryAmtInWords = this.constant.convertNumberToWords(val); - break; - case 3: - this.netMthlySlryAmtInWords = this.constant.convertNumberToWords(val); - break; - case 4: - this.bonusIncentiveAmtInWords = this.constant.convertNumberToWords(val); - break; - } - }; - PdQuestionEmpInfoPage.prototype.getEmploymentDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (value) { - if (value['dataStatus'] == true) { - var Emp = value['records']; - console.log('emp', Emp); - _this.employmentForm.controls['employer_name'].setValue(Emp.employer_name); - _this.employmentForm.controls['how_long_year'].setValue(Emp.how_long_year); - _this.employmentForm.controls['how_long_month'].setValue(Emp.how_long_month); - _this.employmentForm.controls['was_met'].setValue(Emp.was_met); - if (Emp.name_person_met) { - _this.employmentForm.controls['name_person_met'].setValue(Emp.name_person_met); - } - if (Emp.designation_person_met) { - _this.employmentForm.controls['designation_person_met'].setValue(Emp.designation_person_met); - } - _this.employmentForm.controls['confirm_salary'].setValue(Emp.confirm_salary); - console.log('Emp.confirm_salary_amount', Emp.confirm_salary_amount, Emp.confirm_salary); - if (Emp.confirm_salary) { - _this.employmentForm.controls['confirm_salary_amount'].setValue(Emp.confirm_salary_amount); - _this.inWords(Emp.confirm_salary_amount, 1); - _this.employmentForm.controls['total_business_experience'].setValue(Emp.total_business_experience); - _this.employmentForm.controls['total_business_previous_experience'].setValue(Emp.total_business_previous_experience); - } - _this.employmentForm.controls['attendance_seen'].setValue(Emp.attendance_seen); - _this.employmentForm.controls['sal_reg_seen'].setValue(Emp.sal_reg_seen); - _this.employmentForm.controls['from_date_the_salary_is_rcv'].setValue(Emp.from_date_the_salary_is_rcv); - _this.employmentForm.controls['to_date_the_salary_is_rcv'].setValue(Emp.to_date_the_salary_is_rcv); - _this.employmentForm.controls['gross_monthly_salary'].setValue(Emp.gross_monthly_salary); - _this.employmentForm.controls['net_monthly_salary'].setValue(Emp.net_monthly_salary); - _this.employmentForm.controls['bonus_incentive'].setValue(Emp.bonus_incentive); - _this.employmentForm.controls['amount_paid_in_cash'].setValue(Emp.amount_paid_in_cash); - _this.employmentForm.controls['how_was_it_validated'].setValue(Emp.how_was_it_validated); - _this.employmentForm.controls['why_was_it_not_validated'].setValue(Emp.why_was_it_not_validated); - _this.employmentForm.controls['amount_paid_through_bank'].setValue(Emp.amount_paid_through_bank); - _this.employmentForm.controls['bonus_frequency'].setValue(Emp.bonus_frequency); - _this.employmentForm.controls['bonus_type'].setValue(Emp.bonus_type); - _this.employmentForm.controls['bonus_type_other'].setValue(Emp.bonus_type_other); - _this.employmentForm.controls['any_delays'].setValue(Emp.any_delays); - _this.employmentForm.controls['employment_remarks'].setValue(Emp.employment_remarks); - _this.inWords(Emp.gross_monthly_salary, 2); - _this.inWords(Emp.net_monthly_salary, 3); - _this.inWords(Emp.bonus_incentive, 4); - } - }); - }; - PdQuestionEmpInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-emp-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.html"*/'\n\n \n\n \n\n Employee Salary Category\n\n \n\n\n\n\n
\n \n\n
\n \n \n {{\n cl.company_name }}\n \n \n
\n\n \n How many yrs with this emp\n
\n \n \n \n \n \n \n
\n\n
\n

Emp Met

\n \n YES\n NO\n \n \n \n \n
\n
\n \n \n Select\n \n {{person.applicant_name | titlecase}}\n \n \n \n
\n\n
\n \n \n \n
\n
\n
\n\n
\n

Salary amt confirmed

\n \n YES\n NO\n \n \n\n
\n
\n \n \n {{"₹"}} {{mthlySlryAmtInWords}} Only\n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n
\n\n
\n

Attendance Register seen

\n \n YES\n NO\n \n
\n\n
\n

Salary register seen

\n \n YES\n NO\n \n
\n\n
\n\n \n
Salary Details
\n \n
\n \n \n \n
\n
\n \n \n \n
\n\n
\n \n \n {{"₹"}} {{grossMthlySlryAmtInWords}} Only\n \n
\n
\n \n \n {{"₹"}} {{netMthlySlryAmtInWords}} Only\n \n
\n
\n \n \n {{"₹"}} {{bonusIncentiveAmtInWords}} Only\n \n
\n \n
\n \n \n Select\n Validated\n Not Validated\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n Select\n {{\n fd.name }}\n \n \n
\n\n
\n \n \n Select\n Fixed\n Variable\n depending on performance\n Others\n \n \n
\n\n
\n \n \n \n
\n\n

Any Delays

\n \n YES\n NO\n \n \n
\n
\n\n \n \n \n\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionEmpInfoPage); - return PdQuestionEmpInfoPage; -}()); - -//# sourceMappingURL=pd-question-emp-info.js.map - -/***/ }), - -/***/ 364: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionCurrentLoansPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionCurrentLoansPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionCurrentLoansPage = (function () { - function PdQuestionCurrentLoansPage(navCtrl, navParams, fb, qustCat, toast, aws, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustCat = qustCat; - this.toast = toast; - this.aws = aws; - this.constant = constant; - this.placeholderName = []; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.amtInwords = []; - this.emiAmtInwords = []; - this.dataFromAssets = []; - this.labelArr = []; - this.investmentTypeData = []; - this.questionDetails = this.navParams.get('questionDetails'); - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.FormId = this.navParams.get('FormId'); - this.applicants = this.pdDetails.applicat_details.filter(function (val) { return val.pd_co_applicant_id != 0; }); - this.applicants.push({ 'pd_co_applicant_id': '0', 'applicant_name': 'Others' }); - this.getdropdown(); - this.users = this.aws.getlocale(); - this.currentLoans = this.fb.group({ - existing_loan: [null], - currentloan_remarks: [null], - loan_details: this.fb.array([]) - }); - } - PdQuestionCurrentLoansPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); - this.getcurrentLoans(); - }; - PdQuestionCurrentLoansPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('BTLENDERLIST').subscribe(function (res) { - _this.lenderData = res['records'].filter(function (len) { return len.isactive == 1; }); - }); - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - _this.frequencyData = res['records'].filter(function (frq) { return frq.isactive == 1; }); - }); - this.qustCat.getcommondrop('EXISTINGLOANTYPES').subscribe(function (val) { - _this.loanTypeData = val['records'].filter(function (loan) { return loan.isactive == 1; }); - }); - this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - } - var modifyCompanyList = []; - if (_this.existCompanyList.length > 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - //modifyCompanyList.push({'id':"0",'name':'Others','group_id':1}) - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - }); - var modifyApplicantList = []; - if (this.applicants.length > 0) { - // this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); - modifyApplicantList = this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - // modifyApplicantList.push() - this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); - } - this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(function (data) { - _this.investmentTypeData = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(function (data) { - _this.addressTypeData = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustCat.getcommondrop('PROPERTIES').subscribe(function (data) { - _this.propertyTypeData = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - }; - PdQuestionCurrentLoansPage.prototype.exitsCheck = function (val) { - if (val == "Yes") { - this.addLoanDetails(); - } - }; - PdQuestionCurrentLoansPage.prototype.createLoanDetail = function (data) { - return this.fb.group({ - label: data == null ? [''] : [data.label], - other_frequency: [''], - loan_amount: [''], - frequency: [''], - emi: [''], - loan_type: [''], - others_loan_type: [''], - loan_taken_by: [''], - others_loan_taken: [''], - lender: [''], - others_lender: [''], - original_tenure: [''], - current_balance_tenure: [''], - elapsed_tenure: [], - }); - }; - PdQuestionCurrentLoansPage.prototype.addLoanDetails = function () { - var control = this.currentLoans.controls['loan_details']; - control.push(this.createLoanDetail(null)); - }; - PdQuestionCurrentLoansPage.prototype.deleteLoanDetails = function (index) { - var control = this.currentLoans.controls['loan_details']; - if (control.length == 1) { - this.currentLoans.controls['loan_details'].reset(); - } - else { - control.removeAt(index); - } - }; - PdQuestionCurrentLoansPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionCurrentLoansPage.prototype.checkOthers = function (values) { - if (values != null) { - return values.id == 0 ? true : false; - } - else { - return false; - } - }; - PdQuestionCurrentLoansPage.prototype.checkTenure = function (details) { - var originalTenure = details.value.original_tenure; - // alert(originalTenure); - details.controls.current_balance_tenure.setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].max(+originalTenure)]); - details.controls.current_balance_tenure.updateValueAndValidity(); - // details.controls.current_balance_tenure.setValidators([Validators.max(+originalTenure)]); - // details.controls.current_balance_tenure.updateValueAndValidity(); - // let BalanceTenure = details.value.current_balance_tenure; - // if( originalTenure < BalanceTenure){ - // alert('Greater'); - // details.controls.current_balance_tenure.setValue(''); - // alert('validation setted For'); - // details.controls.current_balance_tenure.setValidators([Validators.min(+originalTenure)]); - // details.controls.current_balance_tenure.updateValueAndValidity(); - // } - }; - PdQuestionCurrentLoansPage.prototype.calculateTenure = function (details) { - var ElapsedValues; - if (details.value.original_tenure != null && details.value.original_tenure != '' && details.value.current_balance_tenure != null && details.value.current_balance_tenure != '') { - ElapsedValues = details.value.original_tenure - details.value.current_balance_tenure; - details.controls['elapsed_tenure'].setValue(ElapsedValues); - } - }; - PdQuestionCurrentLoansPage.prototype.keyPress = function (event) { - var pattern = /[0-9]/; - var inputChar = String.fromCharCode(event.charCode); - if (event.keyCode != 8 && !pattern.test(inputChar)) { - event.preventDefault(); - } - }; - PdQuestionCurrentLoansPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.amtInwords[i] = this.constant.convertNumberToWords(e.target.value); - break; - case 2: - this.emiAmtInwords[i] = this.constant.convertNumberToWords(e.target.value); - break; - default: - break; - } - }; - PdQuestionCurrentLoansPage.prototype.selectedfrequency = function (e, i) { - switch (+e) { - case 1: - this.placeholderName[i] = 'Instalment Amount'; - break; - case 2: - this.placeholderName[i] = 'Annual Instalment Amount'; - break; - case 3: - this.placeholderName[i] = 'Halfyearly Instalment Amount'; - break; - case 4: - this.placeholderName[i] = 'Fortnightly Instalment Amount'; - break; - case 5: - this.placeholderName[i] = 'Daily Instalment Amount'; - break; - case 6: - this.placeholderName[i] = 'Quarterly Instalment Amount'; - break; - case 7: - this.placeholderName[i] = 'Monthly Instalment Amount'; - break; - default: - this.placeholderName[i] = 'Instalment Amount'; - break; - } - }; - PdQuestionCurrentLoansPage.prototype.submitCurrentloan = function (answerData) { - var _this = this; - var records = {}; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.existing_loan = answerData.existing_loan; - records.loan_details = answerData.loan_details; - records.currentloan_remarks = answerData.currentloan_remarks; - this.qustCat.saveForm(records).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }); - }; - PdQuestionCurrentLoansPage.prototype.getcurrentLoans = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - var control = _this.currentLoans.controls['loan_details']; - if (res['dataStatus'] == true) { - var currentLoanDetails = res['records']; - if (res['records'].loan_details !== undefined && res['records'].loan_details != null && res['records'].loan_details != '') { - var result = Object.keys(res['records'].loan_details).map(function (key) { - return res['records'].loan_details[key]; - }); - _this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan); - _this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks); - var control_1 = _this.currentLoans.controls['loan_details']; - if (currentLoanDetails.existing_loan != 'No') { - if (result.length == 0) { - control_1.push(_this.createLoanDetail(null)); - } - else { - result.forEach(function (datas, index) { - control_1.push(_this.createLoanDetail(null)); - _this.selectedfrequency(datas.frequency, index); - if (datas.loan_amount != '') { - _this.amtInwords[index] = _this.constant.convertNumberToWords(datas.loan_amount); - } - if (datas.emi != '') { - _this.emiAmtInwords[index] = _this.constant.convertNumberToWords(datas.emi); - } - }); - _this.currentLoans.controls['loan_details'].setValue(result); - } - } - } - else { - _this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan); - _this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks); - } - } - else { - _this.qustCat.getAssetsWithLoanFromBusiness(_this.pdid).subscribe(function (data) { - if (data.dataStatus == true) { - var AssetData = data.record; - if (AssetData.business_address_asset.length > 0) { - AssetData.business_address_asset.map(function (element) { - _this.dataFromAssets.push({ mode: 0, - mode_name: element.address_label, - details: [], - owner_name: element.business_name_of_the_owner, - other_owner: element.business_name_of_the_other_owner, - form_type: 'Data From Bussiness Address' }); - }); - } - if (AssetData.business_assets.length > 0) { - AssetData.business_assets.map(function (element) { - _this.dataFromAssets.push({ mode: element.business_assets_mode, - mode_name: element.business_assets_mode_name, - details: element.business_details, - owner_name: element.business_name_of_the_owner, - other_owner: element.business_name_of_the_other_owner, - form_type: 'Data From Business Assets' }); - }); - } - if (AssetData.other_assests.length > 0) { - AssetData.other_assests.map(function (element) { - _this.dataFromAssets.push({ mode: element.assets_mode, - mode_name: element.assets_mode_name, - details: element.details, - owner_name: element.name_of_the_owner, - other_owner: element.other_owner, - form_type: 'Data From Other Asset' - }); - }); - } - // id: "4", name: "Equipments and machinaries", isactive: "1", flag: "1", is_others: "0" - // id: "7", name: "Investments", isactive: "1", flag: "0", is_others: "0" - // id: "6", name: "Life Insurance Policy", isactive: "1", flag: "0", is_others: "0" - // id: "2", name: "Property", isactive: "1", flag: "1", is_others: "0" - // id: "3", name: "Vehicle", isactsive: "1", flag: "1", is_others: "0" - // id: "1", name: "Others", isactive: "1", flag: "1", is_others: "1"} - if (_this.dataFromAssets.length > 0) { - var labelarray_1 = []; - _this.dataFromAssets.forEach(function (val, index) { - if (val.mode == 0) { - var owner = val.owner_name.map((function (e) { - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - labelarray_1[index] = ' : ' + owner + ' - ' + val.mode_name; - } - if (val.mode == 1) { - var data_1; - var owner = "Owner Not Mentioned"; - val.details.forEach(function (v, index) { - data_1 = v.any_other_assets; - }); - if (val.owner_name.length > 0) { - owner = val.owner_name.map((function (e) { - // return e.name.split(',') - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - } - var description = data_1 != '' ? '( ' + data_1 + ' )' : ''; - labelarray_1[index] = ' : ' + owner + ' - ' + val.mode_name + description; - } - if (val.mode == 2) { - var owner_1 = "Owner Not Mentioned"; - var data_2; - val.details.forEach(function (v, index) { - data_2 = v.property_type_name; - if (v.property_type != 1) { - if (val.form_type == 'Data From Business Assets') { - data_2 = _this.addressTypeData.filter(function (item) { return item.address_type_id == v.property_type; })[0].address_type; - } - else if (val.form_type == 'Data From Other Asset') { - data_2 = _this.propertyTypeData.filter(function (item) { return item.id == v.property_type; })[0].name; - } - else { - data_2 = ''; - } - } - else { - data_2 = v.other_property_type; - } - if (val.owner_name.length > 0) { - owner_1 = val.owner_name.map((function (e) { - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - } - }); - var description = data_2 != '' ? '( ' + data_2 + ' )' : ''; - labelarray_1[index] = ' : ' + owner_1 + ' - ' + val.mode_name + description; - } - if (val.mode == 3) { - var data_3; - var owner = "Owner Not Mentioned"; - val.details.forEach(function (v, index) { - data_3 = v.manufacturer_model_vehicle; - }); - if (val.owner_name.length > 0) { - owner = val.owner_name.map((function (e) { - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - } - var description = data_3 != '' ? '( ' + data_3 + ' )' : ''; - labelarray_1[index] = ' : ' + owner + ' - ' + val.mode_name + description; - } - if (val.mode == 4) { - var data_4; - var owner = "Owner Not Mentioned"; - val.details.forEach(function (v, index) { - data_4 = v.equipment_manufacturing_description; - }); - if (val.owner_name.length > 0) { - owner = val.owner_name.map((function (e) { - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - } - var description = data_4 != '' ? '( ' + data_4 + ' )' : ''; - labelarray_1[index] = ' : ' + owner + ' - ' + val.mode_name + description; - } - if (val.mode == 6) { - var owner = "Owner Not Mentioned"; - if (val.owner_name.length > 0) { - owner = val.owner_name.map((function (e) { - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - } - labelarray_1[index] = ' : ' + owner + ' - ' + val.mode_name; - } - if (val.mode == 7) { - var data_5; - var owner = "Owner Not Mentioned"; - val.details.forEach(function (v, index) { - data_5 = v.investments_type != 1 - ? _this.investmentTypeData.filter(function (data) { return data.id == v.investments_type; })[0].name - : v.other_investments_type; - }); - if (val.owner_name.length > 0) { - owner = val.owner_name.map((function (e) { - return (e.name == 'Others' ? val.other_owner : e.name).split(','); - })); - } - var description = data_5 != '' ? '( ' + data_5 + ' )' : ''; - labelarray_1[index] = ' : ' + owner + ' - ' + val.mode_name + description; - var vals = owner + ' - ' + val.mode_name; - } - }); - var control_2 = _this.currentLoans.controls['loan_details']; - _this.labelArr = labelarray_1; - var arr_1 = []; - if (_this.labelArr.length > 0) { - _this.currentLoans.controls['existing_loan'].setValue('Yes'); - _this.labelArr.forEach(function (v, index) { - arr_1 = { - 'label': v, - 'loan_amount': '', - 'frequency': '', - 'other_frequency': '', - 'emi': '', - 'loan_type': '', - 'others_loan_type': '', - 'loan_taken_by': '', - 'others_loan_taken': '', - 'lender': '', - 'others_lender': '', - 'original_tenure': '', - 'current_balance_tenure': '', - 'elapsed_tenure': '' - }; - control_2.push(_this.createLoanDetail(arr_1)); - }); - // this.currentLoanForm.controls['existing_loan'].setValue(arr); - } - } - else { - control.push(_this.createLoanDetail(null)); - } - } - }); - } - }); - }; - PdQuestionCurrentLoansPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-current-loans',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.html"*/'\n\n \n \n \n\n\n \n\n\n\n\n\n
\n \n \n Do you have any other Existing Loans\n \n Yes\n No\n \n \n \n
\n
\n
\n
Loan Details #{{i+1}} {{details.get(\'label\').value}}
\n \n \n \n {{types.loan_type_name}}\n \n\n \n \n \n \n \n \n {{"₹"}}{{amtInwords[i]}}only\n \n \n \n \n {{btLen.lender_name}}\n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n \n \n {{freq.name}}\n \n \n \n \n \n \n \n {{"₹"}}{{emiAmtInwords[i]}}only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionCurrentLoansPage); - return PdQuestionCurrentLoansPage; -}()); - -//# sourceMappingURL=pd-question-current-loans.js.map - -/***/ }), - -/***/ 365: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionLoansPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionLoansPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionLoansPage = (function () { - function PdQuestionLoansPage(navCtrl, navParams, fb, qustCat, aws, toast, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.constant = constant; - this.enduse = []; - this.mortageAccess = false; - this.ownerNames = []; - this.isOtherPurpose = false; - this.endUserList = []; - this.mergeCompanyApplicant = []; - this.m_endUseOFTopUpList = []; - this.isContribution = false; - this.isOtherSource = false; - this.isPLSource = false; - this.sourceList = []; - this.FormId = this.navParams.get('FormId'); - this.pdDetails = this.navParams.get('pdDetails'); - this.applicants = this.pdDetails.applicat_details; - this.productAbbr = this.pdDetails.product_abbr; - this.users = this.aws.getlocale(); - this.pdid = this.pdDetails.pd_id; - this.getDropdown(); - this.loanDetailsForm = this.fb.group({ - loan_amount: [this.pdDetails.loan_amount], - loan_tenure: [''], - sub_product: [''], - end_use: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - end_use_other: [''], - is_transfer: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - //is_topup: ['', Validators.compose([Validators.required])], - // is_topup: [''], - balance_transfer_amount: [''], - topup_amount: [''], - end_use_topup: [''], - other_end_use_topup: [''], - lender: [''], - other_bt_lender: [''], - own_contribution: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - source: [''], - //personal_loan_source:[''], - other_source: [''], - //lender_name_type: [''], - emi_level: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - property_type: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - property_type_others: [''], - owner_name: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - construction_status: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - //percentage_of_construction : [''], - emv_per_customer: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - //value_per_agreement: ['', Validators.compose([Validators.required])], - loandetails_remarks: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - }); - console.log(this.pdDetails.loanAmount); - if (this.loanDetailsForm.controls['loan_amount'] != null) { - this.loanAmtInWords = this.constant.convertNumberToWords(this.pdDetails.loan_amount); - } - if (this.pdDetails.product_abbr != "BL" || this.pdDetails.product_abbr != "PL" || this.pdDetails.product_abbr != "LL") { - this.mortagetypeAccess = true; - } - else { - this.mortagetypeAccess = false; - } - if (this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP') { - this.isContribution = true; - } - } - PdQuestionLoansPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionLoansPage'); - this.getLoanDetails(); - }; - PdQuestionLoansPage.prototype.getDropdown = function () { - var _this = this; - this.qustCat.getcommondrop('BTLENDERLIST').subscribe(function (data) { - _this.m_btLenderList = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustCat.getEndUseForLoan(this.pdid, this.pdDetails.fk_subproduct_id).subscribe(function (data) { - _this.m_endUseForLoan = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(function (data) { - _this.m_statusofCunstruction = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(function (data) { - if (data['dataStatus'] == true) { - var that_1 = _this; - _this.m_mortageTypeProperty = data['records'].filter(function (data) { - if (that_1.pdDetails.product_abbr != "LAP" && data.group_name == that_1.pdDetails.product_abbr && data.isactive == 1) { - return data; - } - else if (that_1.pdDetails.product_abbr == "LAP" && data.sub_group_name == that_1.pdDetails.subproduct_name) { - return data; - } - else { - return; - } - }); - // this.mortage_type(this.propertyType); - } - }); - this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(function (data) { - _this.m_sourceofamount = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(function (subdata) { - if (subdata['dataStatus'] == true) { - var that_2 = _this; - _this.m_endUseofLoad = subdata['records'].filter(function (data) { - if (that_2.pdDetails.fk_product_id == data.fk_product_id && data.isactive == 1) { - return data; - } - }); - _this.endUserChange(_this.enduse); - } - }); - this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - } - var modifyCompanyList = []; - if (_this.existCompanyList.length > 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - }); - var modifyApplicantList = []; - if (this.applicants.length > 0) { - modifyApplicantList = this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); - if (this.productAbbr != 'LAP') { - this.mergeCompanyApplicant.push({ groupName: 'OTHERS', groupValues: [{ id: 0, name: 'Not Yet Finalised', group_id: 2 }] }); - } - } - this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(function (data) { - _this.m_endUseOFTopUpList = data['records'].filter(function (val) { return val.is_active == 1; }); - }); - }; - PdQuestionLoansPage.prototype.selectedBalancesTransferChanges = function (event) { - // if(event.value == 'no') { - // this.loanDetailsForm.controls['is_topup'].clearValidators(); - //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity(); - // this.loanDetailsForm.controls['is_topup'].setValue(''); - //} - //else if(event.value == 'yes'){ - // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]); - //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity(); - // } - if (event.value == 'no') { - this.loanDetailsForm.controls['source'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this.loanDetailsForm.controls['source'].updateValueAndValidity(); - this.loanDetailsForm.controls['own_contribution'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity(); - this.loanDetailsForm.controls['other_bt_lender'].setValue(''); - this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); - this.loanDetailsForm.controls['lender'].setValue(''); - this.loanDetailsForm.controls['topup_amount'].setValue(''); - this.loanDetailsForm.controls['end_use_topup'].setValue(''); - this.loanDetailsForm.controls['other_end_use_topup'].setValue(''); - this.topUpAmtInWords = ''; - } - else if (event.value == 'yes') { - this.loanDetailsForm.controls['source'].setValue(''); - this.loanDetailsForm.controls['source'].clearValidators(); - this.loanDetailsForm.controls['source'].updateValueAndValidity(); - this.loanDetailsForm.controls['own_contribution'].setValue(''); - this.loanDetailsForm.controls['own_contribution'].clearValidators(); - this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity(); - this.isOtherSource = false; - this.loanDetailsForm.controls['other_source'].setValue(''); - } - }; - PdQuestionLoansPage.prototype.mortage_type = function (mortage_value) { - var mortagetypes = this.m_mortageTypeProperty.filter(function (mor) { return mor.mortage_property_id == mortage_value; })[0]; - var property_name = mortagetypes.property_name; - if (property_name == 'Others (Please Specify)') { - this.mortageAccess = true; - } - else { - this.mortageAccess = false; - } - }; - PdQuestionLoansPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionLoansPage.prototype.loanCalc = function () { - var BtAmount = this.loanDetailsForm.value.balance_transfer_amount; - var loanAmount = this.loanDetailsForm.value.loan_amount; - var topupAmt; - if (BtAmount != null && BtAmount != '' && loanAmount != null && loanAmount != '') { - if (loanAmount >= BtAmount) { - topupAmt = loanAmount - BtAmount; - this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt); - this.topUpAmtInWords = this.constant.convertNumberToWords(topupAmt); - } - else { - this.toast.pdTriggerappmessage('warning !! Balances Transfer Amount is greater than Loan Amount Please check.!'); - this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); - this.balTxrfAmtInWords = ''; - this.loanDetailsForm.controls['topup_amount'].setValue(''); - this.topUpAmtInWords = ''; - } - } - //this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt); - }; - PdQuestionLoansPage.prototype.onChangeSubProduct = function (subproduct) { - var _this = this; - this.qustCat.getEndUseForLoan(this.pdid, subproduct).subscribe(function (data) { - _this.m_endUseForLoan = data['records'].filter(function (data) { return data.isactive == 1; }); - }); - }; - PdQuestionLoansPage.prototype.endUserChange = function (event) { - var _this = this; - //this.endUserList = []; - event.forEach(function (option) { - var othresData = _this.m_endUseForLoan.filter(function (sub) { return sub.enduse_of_loan_id == option; })[0]; - othresData = othresData.enduse_of_loan.substr(0, 6).toLowerCase(); - _this.endUserList.push({ end_use: option }); - if (othresData == 'others') { - _this.isOtherPurpose = true; - return; - } - else { - _this.isOtherPurpose = false; - } - }); - }; - PdQuestionLoansPage.prototype.ownerNameChange = function (event) { - var _this = this; - this.ownerNames = []; - event.value.forEach(function (option) { - _this.ownerNames.push({ owner_name: option }); - }); - }; - PdQuestionLoansPage.prototype.sourceChange = function (evt) { - // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ; - // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ; - var _this = this; - this.isOtherSource = evt.some(function (e) { return e == 1; }); // this return true or false Only; - this.isPLSource = evt.some(function (e) { return e == 3; }); // this return true or false Only; - this.sourceList = []; - evt.forEach(function (option) { - _this.sourceList.push({ source: option }); - }); - }; - PdQuestionLoansPage.prototype.inWords = function (e, flag) { - switch (flag) { - case 1: - this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); - break; - case 2: - this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); - break; - case 3: - this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); - break; - case 4: - this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); - break; - case 5: - this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); - break; - case 6: - this.emiAmtInWords = this.constant.convertNumberToWords(e.target.value); - break; - case 7: - this.emvAmtInWords = this.constant.convertNumberToWords(e.target.value); - default: - break; - } - }; - PdQuestionLoansPage.prototype.submitLoanDetails = function () { - var _this = this; - // if(this.loanDetailsForm.valid){ - var records = {}; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value; - records.loan_tenure = this.loanDetailsForm.controls['loan_tenure'].value; - records.sub_product = this.loanDetailsForm.controls['sub_product'].value; - // get end user final group data - var dataEnd_user_data = []; - this.loanDetailsForm.controls['end_use'].value.forEach(function (element) { - dataEnd_user_data.push({ end_use: element }); - }); - records.end_use_group = dataEnd_user_data; - if (this.isOtherPurpose) { - records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value; - } - records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value; - // records.is_topup = this.loanDetailsForm.controls['is_topup'].value; - if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') { - records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value; - } - else if (this.loanDetailsForm.controls['is_transfer'].value == 'no') { - records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value; - var dataSource_list_1 = []; - if (this.loanDetailsForm.controls['source'].value != '') { - this.loanDetailsForm.controls['source'].value.forEach(function (element) { - dataSource_list_1.push({ sources: element }); - }); - } - records.source_group = dataSource_list_1; - } - //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') { - records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value; - //} - if (records.topup_amount > 0) { - records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value; - if (records.end_use_topup == 1) { - records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value; - } - } - if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') { - records.lender = this.loanDetailsForm.controls['lender'].value; - } - if (this.loanDetailsForm.controls['lender'].value == 1) { - records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value; - } - /* records.source = this.loanDetailsForm.controls['source'].value; - if (this.loanDetailsForm.controls['source'].value == 'other') { - records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value; - }*/ - if (this.isOtherSource) { - records.other_source = this.loanDetailsForm.controls['other_source'].value; - } - else { - records.other_source = ''; - } - records.emi_level = this.loanDetailsForm.controls['emi_level'].value; - if (this.mortageCardAccess == true) { - records.property_type = this.loanDetailsForm.controls['property_type'].value; - if (this.loanDetailsForm.value.property_type_others != '' && this.loanDetailsForm.value.property_type_others != null) { - records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value; - } - ; - // records.owner_name_group = this.ownerNames; - if (this.loanDetailsForm.controls['owner_name'].value != '') { - var dataOwner_name_1 = []; - this.loanDetailsForm.controls['owner_name'].value.forEach(function (element) { - dataOwner_name_1.push({ owner_name: element }); - }); - records.owner_name_group = dataOwner_name_1; - } - else { - records.owner_name_group = ''; - } - records.construction_status = this.loanDetailsForm.controls['construction_status'].value; - // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value; - } - else { - records.property_type = null; - records.property_type_others = null; - records.owner_name_group = null; - records.construction_status = null; - records.emv_per_customer = null; - } - records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value; - //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value; - records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value; - this.qustCat.saveForm(records).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage('Error'); - } - // this.notifier.notify('success', 'Saved Successfully.'); - }); - // }else - // { - // this.toast.pdTriggerappmessage('Enter The All Field'); - // } - }; - PdQuestionLoansPage.prototype.getLoanDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (value) { - if (value['dataStatus'] == true) { - var loanDetails_1 = value['records']; - var result = Object.keys(loanDetails_1.end_use_group).map(function (key) { - return loanDetails_1.end_use_group[key]; - }); - //this.enduse - result.forEach(function (val) { - _this.enduse.push(val.end_use); - //this.endUserList.push({'end_use':val.end_use}); - }); - var ownername_1 = []; - if (loanDetails_1.owner_name_group != null) { - var owner = Object.keys(loanDetails_1.owner_name_group).map(function (key) { - return loanDetails_1.owner_name_group[key]; - }); - owner.forEach(function (val) { - ownername_1.push(val.owner_name); - _this.ownerNames.push({ 'end_use': val.end_use }); - }); - } - _this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails_1.loan_amount); - _this.loanDetailsForm.controls['loan_tenure'].setValue(loanDetails_1.loan_tenure); - if (loanDetails_1.loan_amount) { - _this.loanAmtInWords = _this.constant.convertNumberToWords(loanDetails_1.loan_amount); - } - _this.loanDetailsForm.controls['sub_product'].setValue(loanDetails_1.sub_product); - _this.loanDetailsForm.controls['end_use'].setValue(_this.enduse); - _this.endUserChange(_this.enduse); - if (loanDetails_1.end_use_other != '') { - //this.endUserChange(this.enduse); - // this.isOtherPurpose=true; - _this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails_1.end_use_other); - } - _this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails_1.is_transfer); - if (loanDetails_1.balance_transfer_amount) { - _this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails_1.balance_transfer_amount); - _this.balTxrfAmtInWords = _this.constant.convertNumberToWords(loanDetails_1.balance_transfer_amount); - } - if (loanDetails_1.topup_amount) { - _this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails_1.topup_amount); - _this.topUpAmtInWords = _this.constant.convertNumberToWords(loanDetails_1.topup_amount); - if (loanDetails_1.topup_amount > 0) { - _this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails_1.end_use_topup); - if (loanDetails_1.end_use_topup == 1) { - _this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails_1.other_end_use_topup); - } - } - } - // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup); - if (loanDetails_1.balance_transfer_amount) { - _this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails_1.balance_transfer_amount); - } - if (loanDetails_1.topup_amount) { - _this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails_1.topup_amount); - } - if (loanDetails_1.lender) { - _this.loanDetailsForm.controls['lender'].setValue(loanDetails_1.lender); - } - _this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails_1.own_contribution); - if (loanDetails_1.own_contribution) { - _this.ownContributionInWords = _this.constant.convertNumberToWords(loanDetails_1.own_contribution); - } - //this.loanDetailsForm.controls['source'].setValue(loanDetails.source); - if (loanDetails_1.is_transfer != 'yes') { - var source = Object.keys(loanDetails_1.source_group).map(function (key) { - return loanDetails_1.source_group[key]; - }); - var dbsourcelist_1 = []; - source.forEach(function (val) { - dbsourcelist_1.push(val.sources); - }); - _this.loanDetailsForm.controls['source'].setValue(dbsourcelist_1); - _this.sourceChange(dbsourcelist_1); - if (loanDetails_1.other_source) { - // this.isOtherSource = true; - _this.loanDetailsForm.controls['other_source'].setValue(loanDetails_1.other_source); - } - } - /* if (loanDetails.lender_name_type) { - this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type); - }*/ - if (loanDetails_1.emi_level) { - _this.loanDetailsForm.controls['emi_level'].setValue(loanDetails_1.emi_level); - _this.emiAmtInWords = _this.constant.convertNumberToWords(loanDetails_1.emi_level); - } - _this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails_1.other_bt_lender); - _this.loanDetailsForm.controls['property_type'].setValue(loanDetails_1.property_type); - _this.propertyType = loanDetails_1.property_type; - if (loanDetails_1.property_type != null) { - _this.mortage_type(_this.propertyType); - if (_this.mortageCardAccess == true) { - _this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails_1.property_type_others); - // this.mortage_type(loanDetails.property_type_others); - } - _this.loanDetailsForm.controls['owner_name'].setValue(ownername_1); - _this.loanDetailsForm.controls['construction_status'].setValue(loanDetails_1.construction_status); - _this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails_1.emv_per_customer); - if (loanDetails_1.emv_per_customer) { - _this.emvAmtInWords = _this.constant.convertNumberToWords(loanDetails_1.emv_per_customer); - } - } - // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement); - _this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails_1.loandetails_remarks); - } - else { - } - }); - if (this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL') { - this.mortageCardAccess = false; - this.loanDetailsForm.controls['owner_name'].setValue(''); - this.loanDetailsForm.controls['owner_name'].clearValidators(); - this.loanDetailsForm.controls['owner_name'].updateValueAndValidity(); - } - else { - this.mortageCardAccess = true; - this.loanDetailsForm.controls['owner_name'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this.loanDetailsForm.controls['owner_name'].updateValueAndValidity(); - } - }; - PdQuestionLoansPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-loans',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-loans/pd-question-loans.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n \n
\n \n \n \n \n {{"₹"}} {{loanAmtInWords}} Only\n \n \n Loan Tenture applied for?\n \n \n \n \n {{sub.name}}\n \n \n \n \n {{ enduse.enduse_of_loan }}\n \n \n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n {{"₹"}} {{balTxrfAmtInWords}} Only\n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n \n \n {{"₹"}} {{topUpAmtInWords}} Only\n \n \n \n {{ list.end_use_of_topup }}\n \n \n \n \n \n \n \n {{"₹"}} {{ownContributionInWords}} Only\n \n \n \n \n {{ sour.name }}\n \n \n \n \n \n \n \n\n \n \n \n \n \n {{"₹"}} {{emiAmtInWords}} Only\n \n \n \n
\n \n \n

Details of Property being Mortgaged\n

\n \n \n \n \n {{ typeprop.property_name }}\n \n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n {{ status.name }} \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{emvAmtInWords}} Only\n \n \n \n \n

\n \n
\n
\n \n Remarks\n \n \n
\n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-loans/pd-question-loans.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionLoansPage); - return PdQuestionLoansPage; -}()); - -//# sourceMappingURL=pd-question-loans.js.map - -/***/ }), - -/***/ 366: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBankingPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionBankingPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionBankingPage = (function () { - function PdQuestionBankingPage(navCtrl, navParams, fb, aws, qustCat, toast, cons) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.cons = cons; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.limitCaseFlag = []; - this.amtInwords = []; - //this.applicants.pop(); - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.FormId = this.navParams.get('FormId'); - this.applicants = this.pdDetails.applicat_details; - this.applicants = this.applicants.filter(function (val) { return val.applicant_type == 0 || val.applicant_type == 1; }); - this.applicants.push({ 'pd_co_applicant_id': '0', 'applicant_name': 'Others' }); - // alert(); - this.users = this.aws.getlocale(); - this.bankDetails = this.fb.group({ - bankitems: this.fb.array([]), - banking_form_remark: [null], - }); - this.salaryField = this.pdDetails.customer_segment_abbr.substring(0, 2) == 'SE' ? false : true; - this.getdropdown(); - this.retiveBankDetails(); - } - PdQuestionBankingPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionBankingPage'); - }; - PdQuestionBankingPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.accountType = res['records']; - } - }); - this.qustCat.getcommondrop('BTLENDERLIST').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.m_btLenderList = data['records'].filter(function (data) { return data.isactive == 1; }); - } - }); - this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - } - // let modifyCompanyList : any=[]; - // if(this.existCompanyList.length>0){ - // modifyCompanyList = this.existCompanyList.map(element => { - // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1}; - // }); - // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList}) - //} - }); - var modifyApplicantList = []; - if (this.applicants.length > 0) { - modifyApplicantList = this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); - } - }; - PdQuestionBankingPage.prototype.selectedAccTypeChanges = function (event, i) { - if (event == 2 || event == 1) { - this.limitCaseFlag[i] = false; - // const control = this.bankingForm.controls['itemRows']; - // control.controls[0].get('limit').clearValidators(); - // control.controls[0].get('limit').updateValueAndValidity(); - } - else { - this.limitCaseFlag[i] = true; - } - }; - /** Amount InWords */ - PdQuestionBankingPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - default: - break; - } - }; - /** To Convert Month into Year */ - PdQuestionBankingPage.prototype.ConvertMonthintoYear = function (itemrow, e) { - var year = itemrow.controls.vintage_year.value; - var converted_month = e % 12; - var converted_year = e / 12; - itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year)); - itemrow.controls.vintage_month.setValue(Math.floor(converted_month)); - }; - PdQuestionBankingPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionBankingPage.prototype.checkOthers = function (values) { - if (values != null) { - return values.id == 0 ? true : false; - } - else { - return false; - } - }; - PdQuestionBankingPage.prototype.createBankItem = function (name) { - return this.fb.group({ - applicant_name: [''], - bank_name: [''], - account_type: [''], - salary: this.pdDetails.customer_segment_abbr.substring(0, 2) == 'SE' ? [''] : [''], - limit: [''], - other_bank: [''], - other_applicant: [''], - //is_main: [''], - vintage_year: [''], - vintage_month: [''], - }); - }; - PdQuestionBankingPage.prototype.addBankDetails = function () { - // if(this.pd.valid){ - // if(this.items.length !=0) - // { - // this.neighbourAccess = true; - // } - this.bankitems = this.bankDetails.get('bankitems'); - this.bankitems.push(this.createBankItem('')); - }; - PdQuestionBankingPage.prototype.addmoreBankDetils = function () { - this.bankitems = this.bankDetails.get('bankitems'); - this.bankitems.push(this.createBankItem('')); - }; - PdQuestionBankingPage.prototype.removebank = function (i) { - if (this.bankitems.length == 1) { - this.bankitems.reset(); - } - else - this.bankitems.removeAt(i); - }; - PdQuestionBankingPage.prototype.savepdBank = function (answerData) { - var _this = this; - var records = {}; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.banking_details = answerData.bankitems; - records.banking_form_remark = answerData.banking_form_remark; - this.qustCat.saveForm(records).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }); - }; - PdQuestionBankingPage.prototype.retiveBankDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var result = Object.keys(res['records'].banking_details).map(function (key) { - return res['records'].banking_details[key]; - }); - _this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark); - _this.bankitems = _this.bankDetails.get('bankitems'); - if (result.length == 0) { - _this.bankitems.push(_this.createBankItem('')); - } - else { - result.forEach(function (datas, index) { - _this.selectedAccTypeChanges(+datas.account_type, index); - if (datas.limit != '') { - _this.amtInwords[index] = _this.cons.convertNumberToWords(+datas.limit); - } - // this.selectedBorrower(datas.applicant_name,index); - _this.bankitems.push(_this.createBankItem('')); - }); - _this.bankDetails.controls['bankitems'].setValue(result); - } - } - else { - _this.addBankDetails(); - } - }); - }; - PdQuestionBankingPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-banking',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-banking/pd-question-banking.html"*/'\n\n \n \n {{FormId.form_name}}\n \n\n\n \n
\n
\n
\n\n \n \n
Banking details {{i+1}}
\n \n \n \n
\n
\n
\n \n \n \n {{val.name}} \n \n \n \n
\n \n \n \n
\n \n \n {{ btLen.lender_name }}\n \n \n
\n \n \n \n
\n \n\n \n {{bankacc.name}}\n\n \n\n \n \n
\n
\n \n\n \n Yes\n No\n NA\n \n \n \n
\n
\n In case of OD / CC account, What is the Limit \n \n {{"₹"}} {{amtInwords[i]}} only\n \n
\n\n \n \n \n \n \n \n \n \n \n
\n

Approximate vintage of the account (No of years)

\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-banking/pd-question-banking.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionBankingPage); - return PdQuestionBankingPage; -}()); - -//# sourceMappingURL=pd-question-banking.js.map - -/***/ }), - -/***/ 367: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionFamilyPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionFamilyPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionFamilyPage = (function () { - // cons: any; - function PdQuestionFamilyPage(navCtrl, navParams, fb, qustCat, aws, toast, cons) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.cons = cons; - this.earningStatus = [{ - type: 'Earning', - id: 1 - }, { - type: 'Non Earning', - id: 2 - }]; - this.cityData = []; - this.pincodeData = []; - this.FamilyMemberAsLabel = []; - this.selectPerson = []; - this.apiFamilyMembers = []; - //isReadOnly: any=[]; - this.RentAmount = []; - this.IncomePerMonth = []; - this.prevFamilyMembersCtrlLength = 0; - this.currFamilyMembersCtrlLength = 0; - this.FormId = this.navParams.get('FormId'); - this.pdDetails = this.navParams.get('pdDetails'); - this.selected_person = this.pdDetails.pdapplicants_details; - this.selectPerson = this.pdDetails.applicat_details; - this.users = this.aws.getlocale(); - this.familyForm = this.fb.group({ - family_details: this.fb.array([]), - family_details_form_remark: [''], - }); - this.getRelation(); - this.getoccupation(); - } - PdQuestionFamilyPage.prototype.ionViewDidLoad = function () { - console.log("ionViewDidLoad PdQuestionFamilyPage"); - this.getFamilyData(); - }; - PdQuestionFamilyPage.prototype.initFamilyDetails = function (records) { - var _this = this; - if (records === null) { - var formData = this.fb.group({ - selected_person: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - residence_place: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_city: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_state: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_pin: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_other_pincode: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_No_of_years: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_ownership: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - ownershipOther: [''], - rent: [''], - total_number_of_family_members: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].min(1), __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].max(20)])], - family_members_details: this.fb.array([]) - }); - var control = this.familyForm.controls['family_details']; - control.push(formData); - } - else { - records.forEach(function (val, index) { - if (val.rent != null) { - _this.inWords(val.rent, index, 2); - } - _this.FamilyMemberAsLabel[index] = _this.selectPerson.filter(function (item) { return item.pd_co_applicant_id == val.selected_person; })[0].applicant_name; - _this.getCity(val.residence_state, index); - var formData = _this.fb.group({ - selected_person: [val.selected_person], - residence_place: [val.residence_place], - residence_city: [val.residence_city], - residence_state: [val.residence_state], - residence_pin: [val.residence_pin], - residence_other_pincode: [val.residence_other_pincode], - residence_No_of_years: [val.residence_No_of_years, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - residence_ownership: [val.residence_ownership], - rent: [val.rent || null], - ownershipOther: [val.ownershipOther || null], - total_number_of_family_members: [val.total_number_of_family_members, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].min(1), __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].max(20)])], - family_members_details: _this.fb.array([]) - }); - var control = _this.familyForm.controls['family_details']; - control.push(formData); - var inx = control.length - 1; - //this.getNumberOfFamilyMemberDetails(inx); - _this.initFamilyMembersDetails(inx, val.family_members_details); - //this.initFamilyMembersDetails - }); - } - /* - return this.fb.group({ - //family_details - selected_person:[''], - residence_place:[''], - residence_city:[''], - residence_state:[''], - residence_pin:[''], - residence_No_of_years: ['',Validators.compose([])], - residence_ownership:[], - rent:[''], - ownershipOther:[''], - total_number_of_family_members:['',Validators.compose([Validators.min(1), Validators.max(20)])], - - //family_member_details - - - - family_members_details:this.fb.array([]), - - - // person: [null], - /* personOther: [''], - members: [''], - residence: [''], - years: [null], - family_details_form_remark:[''], - - });*/ - }; - PdQuestionFamilyPage.prototype.initFamilyMembersDetails = function (inx, val) { - var _this = this; - var control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details; - val.forEach(function (vals, index) { - if (vals.earning_gross_income_per_month != null) { - _this.inWords(vals.earning_gross_income_per_month, index, 1); - } - var datas = _this.fb.group({ - family_member_name: [vals.family_member_name || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_relationship: [vals.family_member_relationship || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_age: [vals.family_member_age || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_earning_status: [vals.family_member_earning_status || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_segment: [vals.earning_segment || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_if_others_segment: [vals.earning_if_others_segment || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_gross_income_per_month: [vals.earning_gross_income_per_month || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_name_of_the_employer_or_business: [vals.earning_name_of_the_employer_or_business || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_number_of_years_in_employment_or_business: [vals.earning_number_of_years_in_employment_or_business || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_occupation: [vals.non_earning_occupation || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_others: [vals.non_earning_if_others || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_schoolorcollege: [vals.non_earning_if_schoolorcollege || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_retired_from: [vals.non_earning_if_retired_from || null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - }); - control.push(datas); - }); - }; - /*return this.fb.group({ - family_member_name:[''], - family_member_relationship:[], - family_member_age:[], - family_member_earning_status:['',Validators.compose([])], - //family_member_earnings - earning_segment:[''], - earning_gross_income_per_month:[''], - earning_name_of_the_employer_or_business:[''], - earning_number_of_years_in_employment_or_business:[''], - - non_earning_occupation:[''], - non_earning_if_others:[''], - non_earning_if_retired_from:[''], - });*/ - PdQuestionFamilyPage.prototype.add = function () { - // const control=this.familyForm.controls['family_details']; - //control.push(this.initFamilyDetails('chck')); - this.initFamilyDetails(null); - this.toast.pdTriggerappmessage("Family Details Added"); - }; - PdQuestionFamilyPage.prototype.remove_family_details = function (i) { - var control = this.familyForm.controls['family_details']; - control.removeAt(i); - }; - PdQuestionFamilyPage.prototype.addMemberDet = function (data) { - var control = this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - //this.initFamilyMembersDetails('','') - control.push(this.generateFamilyMembersDetailsGet()); - }; - PdQuestionFamilyPage.prototype.removeMemberDet = function (index, f_index) { - var control = this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details; - if (control.length > 1) { - control.removeAt(index); - } - else { - control.reset(); - } - // if(control.value !=null && index == 0) - }; - PdQuestionFamilyPage.prototype.getNumberOfFamilyMemberDetails = function (data) { - var datavalue = data; - var formData = this.familyForm.controls['family_details']['controls'][datavalue].controls; - if (formData['total_number_of_family_members'].valid) { - var totmem = formData['total_number_of_family_members'].value; - var control = this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - if (totmem >= control.length) { - var len = totmem - control.length; - for (var i = 0; i < len; i++) { - control.push(this.generateFamilyMembersDetailsGet()); - } - } - else if (totmem < control.length) { - //control.controls.slice(1, 2); - var numbe = control.length - totmem; - for (var i = control.length; i >= totmem; i--) { - control.removeAt(i); - } - // var nn=control.length-totmem; - // control.controls = []; - /*for (let i = 0; i < totmem; i++) { - control.push(this.generateFamilyMembersDetailsGet()); - - }*/ - // this.initFamilyDetails(this.resValue['records'].family_details); - // this.toast.pdTriggerappmessage("Please choose the number greater than"+control.length); - } - } - else { - var control = this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - control.removeAt(control.length); - control.controls = []; - } - /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - control.push(this.initFamilyMembersDetails()); - */ - }; - PdQuestionFamilyPage.prototype.generateFamilyMembersDetailsGet = function () { - return this.fb.group({ - family_member_name: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_relationship: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_age: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_earning_status: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_segment: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_if_others_segment: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_gross_income_per_month: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_name_of_the_employer_or_business: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_number_of_years_in_employment_or_business: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_occupation: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_others: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_schoolorcollege: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_retired_from: ['', __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - }); - }; - PdQuestionFamilyPage.prototype.getRelation = function () { - var _this = this; - var master_name = 'RELATIONSHIPS'; - this.qustCat.getcommondrop(master_name).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.relationData = data['records'].filter(function (rel) { return rel.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('PERSONSMET').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.filteredStates = res['records'].filter(function (per) { return per.isactive == 1; }); - } - }); - // this.qustCat.getcommondrop('CUSTOMERSEGMENT').subscribe(res=> - // { - // if(res['dataStatus']==true) - // { - // this.cusSeg = res['records'].filter(seg=>seg.isactive==1); - // } - // }); - this.qustCat.getcommondrop('EARNINGMEMBERSSTATUS').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.cusSeg = res['records'].filter(function (seg) { return seg.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.ownerShip = res['records'].filter(function (own) { return own.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('STATE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.stateData = res['records'].filter(function (item) { return item.isactive == 1; }); - } - }); - }; - PdQuestionFamilyPage.prototype.getCity = function (e, i) { - var _this = this; - // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); - // this._pd.retriveForm(params).subscribe(data => { - this.qustCat.getStateWiseCities(e).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.cityData[i] = data.records.cities; - _this.pincodeData[i] = data.records.pincode; - } - }); - }; - PdQuestionFamilyPage.prototype.getoccupation = function () { - var _this = this; - var master_name = 'OCCUPATIONMEMBERS'; - this.qustCat.getcommondrop(master_name).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.occupationData = data['records'].filter(function (occ) { return occ.isactive == 1; }); - } - }); - }; - /* createMembers(): FormGroup { - return this.fb.group({ - earning_member_name : [null], - earning_member_age : [null], - relation: [null], - segment: [null], - income: [null], - employer_name: [null], - }); - } - count :number = 0; - addearningMembers() - { - this.items = this.familyForm.get('earningMembers') as FormArray; - this.items.push(this.createMembers()); - this.count++; - this.checkfamilystatus(this.count,''); - - } - - deleteEarningMembers(i) - { - - if(this.items.length==1) - { - this.familyForm.controls['earningMembers'].reset(); - }else{ - this.items.removeAt(i); - } - this.count--; - this.checkfamilystatus(this.count,''); - } - createNonMembers(): FormGroup { - return this.fb.group({ - non_earning_member_name : [''], - non_earning_member_age : [''], - relationship: [null], - occupation: [null], - retired: [null], - others_occupation:[null], - }); - } - addMembers() - { - this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray; - this.count++; - this.checkfamilystatus(this.count,''); - this.membersitem.push(this.createNonMembers()); - - } - deleteMembers(i) - { - if(this.membersitem.length==1){ - this.familyForm.controls['nonEarningMembers'].reset(); - - }else{ - this.membersitem.removeAt(i); - } - this.count--; - this.checkfamilystatus(this.count,''); - } - checkfamilystatus(count,familystatus) - { - if(familystatus !='' && familystatus !==undefined){ - - }else{ - familystatus = this.familyForm.get('members').value; - } - if(familystatus !== null ){ - if(familystatus == count) - { - - this.familyAddStatus = true; - }else - { - this.familyAddStatus = false; - } - } - }*/ - /* Old - savepdfamily(answerData) - { - let records: any = {}; - records.no_of_years = answerData.years; - if (answerData.ownership == '4') { - records.ownershipOther = answerData.ownershipOther; - } - records.residence = answerData.residence; - if (answerData.ownership == '3') { - records.what_rent = answerData.rent; - } - // if (answerData.person == '8') { - // records.person_met = answerData.personOther.value; - // } else { - // records.person_met = answerData.person; - // } - records.ownership = answerData.ownership - records.family_members = answerData.members; - records.earning_members = answerData.earningMembers; - records.non_earning_members = answerData.nonEarningMembers; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.family_details_form_remark = answerData.family_details_form_remark; - this.qustCat.saveForm(records).subscribe(res=> - { - if(res['dataStatus']==true) - { - this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - this.navCtrl.pop(); - } - }) - }*/ - PdQuestionFamilyPage.prototype.savepdfamily = function (answerData) { - var _this = this; - var records = {}; - records = this.familyForm.value; - Object.keys(records).forEach(function (key) { return (records[key] == null) && delete records[key]; }); - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - this.qustCat.saveForm(records).subscribe(function (res) { - _this.toast.pdTriggerappmessage("Record Saved Successfully"); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - }, function (err) { - _this.toast.pdTriggerappmessage("Some Fields value is Missing Please Fill It"); - }); - /*let records: any = {}; - records.no_of_years = answerData.residence_No_of_years; - if (answerData.residence_ownership == '4') { - records.ownershipOther = answerData.ownershipOther; - } - //records.residence = answerData.residence; - if (answerData.residence_ownership == '3') { - records.what_rent = answerData.rent; - } - // if (answerData.person == '8') { - // records.person_met = answerData.personOther.value; - // } else { - // records.person_met = answerData.person; - // } - records.ownership = answerData.residence_ownership - records.family_members = answerData.total_number_of_family_members; - records.earning_members = answerData.earningMembers; - records.non_earning_members = answerData.nonEarningMembers; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.family_details_form_remark = answerData.family_details_form_remark; - this.qustCat.saveForm(records).subscribe(res=> - { - if(res['dataStatus']==true) - { - this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - this.navCtrl.pop(); - } - })*/ - }; - PdQuestionFamilyPage.prototype.selectedPerson = function (e, inx) { - var _this = this; - this.FamilyMemberAsLabel[inx] = this.selectPerson.filter(function (item) { return item.pd_co_applicant_id == e; })[0].applicant_name; - var control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details; - this.currFamilyMembersCtrlLength = control.length; - var i = 0; - for (i; i < this.prevFamilyMembersCtrlLength; i++) { - console.log(i, this.prevFamilyMembersCtrlLength); - control.removeAt(i); - } - // while(index < this.prevFamilyMembersCtrlLength) - // { - // } - this.prevFamilyMembersCtrlLength = this.currFamilyMembersCtrlLength; - console.log('familyMembersControlLength', this.prevFamilyMembersCtrlLength, this.currFamilyMembersCtrlLength); - if (this.apiFamilyMembers.length > 0) { - var arraydata_1; - var data = this.apiFamilyMembers.filter(function (item) { return item.relation_to == e; }); - // data_gets_from:'GeneralForm' - // data_gets_from:'BusinessForm' - if (data.length > 0) { - this.prevFamilyMembersCtrlLength = data.length; - console.log('familyMembersControlLength', this.prevFamilyMembersCtrlLength, this.currFamilyMembersCtrlLength); - data.forEach(function (val, inx) { - // // family_member_earning_status - // if(val.age){ - // this.isReadOnly[inx] = true; - // }else{ - // this.isReadOnly[inx] = false; - // } - arraydata_1 = { - 'family_member_name': val.name, - 'family_member_relationship': val.relationship, - 'family_member_age': val.age, - 'family_member_earning_status': val.data_gets_from == 'BusinessForm' ? '1' : '', - 'earning_segment': '', - 'earning_gross_income_per_month': '', - 'earning_name_of_the_employer_or_business': '', - 'earning_number_of_years_in_employment_or_business': '', - 'earning_if_others_segment': '', - 'non_earning_occupation': '', - 'non_earning_if_others': '', - 'non_earning_if_retired_from': '', - 'non_earning_if_schoolorcollege': '' - }; - control.push(_this.initgenerateFamilyMembersDetailsGet(arraydata_1)); - }); - } - else { - this.prevFamilyMembersCtrlLength = 1; - console.log('familyMembersControlLength', this.prevFamilyMembersCtrlLength, this.currFamilyMembersCtrlLength); - control.push(this.generateFamilyMembersDetailsGet()); - } - } - else { - control.push(this.generateFamilyMembersDetailsGet()); - } - }; - PdQuestionFamilyPage.prototype.generateFamilyMembersDetailsGetData = function (data) { - var result = Object.keys(data).map(function (key) { - return data[key]; - }); - if (result.length > 0) { - for (var _i = 0, result_1 = result; _i < result_1.length; _i++) { - var val = result_1[_i]; - var control = this.familyForm.controls['family_members_details']; - control.push(this.initgenerateFamilyMembersDetailsGet(val)); - } - } - }; - PdQuestionFamilyPage.prototype.initgenerateFamilyMembersDetailsGet = function (val) { - return this.fb.group({ - family_member_name: [val.family_member_name, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_relationship: [val.family_member_relationship, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_age: [val.family_member_age, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - family_member_earning_status: [val.family_member_earning_status, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_segment: [val.earning_segment, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_if_others_segment: [val.earning_if_others_segment, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_gross_income_per_month: [val.earning_gross_income_per_month, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_name_of_the_employer_or_business: [val.earning_name_of_the_employer_or_business, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - earning_number_of_years_in_employment_or_business: [val.earning_number_of_years_in_employment_or_business, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_occupation: [val.non_earning_occupation, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_others: [val.non_earning_if_others, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_schoolorcollege: [val.non_earning_if_schoolorcollege, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - non_earning_if_retired_from: [val.non_earning_if_retired_from, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([])], - }); - }; - PdQuestionFamilyPage.prototype.getFamilyData = function () { - var _this = this; - this.qustCat.getFamilyDetails(this.pdDetails.pd_id).subscribe(function (res) { - if (res['dataStatus'] == true) { - var Temparr = []; - if (res.record.from_general_form.length > 0) { - var familyMembersGeneralForm = Object.keys(res.record.from_general_form).map(function (key) { - return res.record.from_general_form[key]; - }); - var datas = familyMembersGeneralForm.map(function (element) { - return { id: element.pd_co_applicant_id.toString(), - name: element.applicant_name, - relationship: element.relationship, - relation_to: element.relation_to, - age: element.age, - data_gets_from: 'GeneralForm' }; - }); - Temparr.push(datas); - } - else { - console.log("No data in General Form"); - } - if (res.record.from_business_form.length > 0) { - var familyMembersBusinessForm = Object.keys(res.record.from_business_form).map(function (key) { - return res.record.from_business_form[key]; - }); - var datas = familyMembersBusinessForm.map(function (element) { - return { id: element.other_family_relationship_id, - name: element.family_member_name, - relationship: element.other_family_relationship_id, - relation_to: element.relation_to_id, - age: '', - data_gets_from: 'BusinessForm' }; - }); - Temparr.push(datas); - } - else { - console.log("No data in Business Form"); - } - _this.apiFamilyMembers = [].concat.apply([], Temparr); - } - }); - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - console.log("Entering Retrieve"); - if (res['status'] == 200) { - if (res['records'].family_details.length > 0) { - _this.familyForm.controls.family_details_form_remark.setValue(res['records'].family_details_form_remark); - _this.resValue = res; - _this.initFamilyDetails(res['records'].family_details); - } - } - else { - console.log("No Data Found"); - _this.initFamilyDetails(null); - } - //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details); - }, function (err) { - console.log("Error", err); - }); - /*let earning:any = []; - let non_earning:any = []; - let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id} - this.qustCat.retiverForm(records).subscribe(res=> - { - if(res['dataStatus']==true) - { - non_earning = Object.keys(res['records'].non_earning_members).map(function(key) { - - return res['records'].non_earning_members[key]; - }); - this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark); - earning = Object.keys(res['records'].earning_members).map(function(key) { - return res['records'].earning_members[key]; - }); - let familyDetails = res['records']; - this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); - // this.familyForm.controls['person'].setValue(familyDetails.person_met); - this.familyForm.controls['personOther'].setValue(familyDetails.personOther); - this.familyForm.controls['members'].setValue(familyDetails.family_members); - this.familyForm.controls['residence'].setValue(familyDetails.residence); - this.familyForm.controls['years'].setValue(familyDetails.no_of_years); - this.familyForm.controls['ownership'].setValue(familyDetails.ownership); - this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther); - this.familyForm.controls['rent'].setValue(familyDetails.what_rent); - // this.familyForm.controls['earningMembers'].setValue(earning); - // for(this.) - this.items = this.familyForm.get('earningMembers') as FormArray; - this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray; - if(earning.length==0) - { - this.addearningMembers(); - }else - { - earning.forEach(datas => { - this.count++; - this.items.push(this.createMembers()); - }); - this.familyForm.controls['earningMembers'].setValue(earning); - - } - - if(non_earning.length==0) - { - this.addMembers(); - }else - { - non_earning.forEach(datas => { - this.count++; - this.membersitem.push(this.createNonMembers()); - - }); - this.familyForm.controls['nonEarningMembers'].setValue(non_earning); - // this.checkfamilystatus(this.count); - } - - // for(let earningDetails of earning){ - // this.items = this.familyForm.get('earningMembers') as FormArray; - // this.items.push(earning); - // } - - }else - { - this.addearningMembers(); - this.addMembers(); - } - }) */ - }; - /** To Convert Amount into Words */ - PdQuestionFamilyPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.IncomePerMonth[i] = this.cons.convertNumberToWords(e); - break; - case 2: - this.RentAmount[i] = this.cons.convertNumberToWords(e); - break; - } - }; - PdQuestionFamilyPage.prototype.initSetValue = function (records) { - for (var _i = 0, records_1 = records; _i < records_1.length; _i++) { - var val = records_1[_i]; - var formData = this.fb.group({ - selected_person: [val.selected_person], - residence_place: [val.residence_place] - }); - } - }; - PdQuestionFamilyPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-family',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-family/pd-question-family.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n\n
\n
\n \n \n \n

Family Details {{i+1}}

\n \n
\n \n \n \n {{pd.applicant_name}}\n \n \n \n
\n \n \n \n \n
Residence Details of {{FamilyMemberAsLabel[i]}}
\n \n \n \n {{s.name}}\n \n \n \n \n \n \n {{c.city_name}}\n \n \n \n \n \n \n \n \n \n {{p.pincode}}\n \n \n \n \n \n \n \n \n \n \n \n {{own.name}}\n \n\n\n \n {{"₹"}} {{RentAmount[i]}} Only\n\n\n \n \n \n
\n \n \n \n \n \n \n
\n \n
\n
\n \n Family Details # {{ix+1}} Of {{FamilyMemberAsLabel[i]}}\n \n \n \n \n \n {{relation.name}}\n \n \n \n \n \n \n \n \n {{earning.type}}\n \n \n \n
\n
Earning Details
\n \n \n \n {{segment.earning_member_status}}\n \n \n \n \n \n \n \n \n {{"₹"}} {{IncomePerMonth[ix]}} Only\n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \n {{occupation.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n\n\n
\n\n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n \n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-family/pd-question-family.html"*/, - }), - __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]) === "function" && _f || Object, typeof (_g = typeof __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]) === "function" && _g || Object]) - ], PdQuestionFamilyPage); - return PdQuestionFamilyPage; - var _a, _b, _c, _d, _e, _f, _g; -}()); - -//# sourceMappingURL=pd-question-family.js.map - -/***/ }), - -/***/ 368: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssestsPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionAssestsPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssestsPage = (function () { - function PdQuestionAssestsPage(navCtrl, navParams, fb, aws, qustCat, toast, constprovider) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.constprovider = constprovider; - this.m_any_asset_loan_type = [{ 'value': "yes", 'viewValue': "Yes" }, - { 'value': "no", 'viewValue': "No" }, - { 'value': "nan", 'viewValue': "NA" }]; - this.m_vehicle_type = []; - this.m_uom_type = []; - this.FormList = false; - this.loadDetails = true; - this.appxMarketAmtInwords = []; - this.OtherAppxMarketAmtInwords = []; - this.emiAmtInwords = []; - this.OtherEmiAmtInwords = []; - this.PremiumPaidInwords = []; - this.OtherPremiumPaidInwords = []; - this.SumAssuredInwords = []; - this.OtherSumAssuredInwords = []; - this.AmtInvestInwords = []; - this.AssetValueInwords = []; - this.OtherAssetValueInwords = []; - this.B_emiAmtInwords = []; - this.O_emiAmtInwords = []; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.isOtherOwner = []; - this.currentYear = new Date().getFullYear(); - this.apiLoadFinish = false; - this.assestInfo = "busass"; - this.FormId = this.navParams.get('FormId'); - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.users = this.aws.getlocale(); - this.applicants = this.pdDetails.applicat_details; - this.applicants = this.applicants.filter(function (val) { return val.applicant_type == 0 || val.applicant_type == 1; }); - this.applicants.push({ 'pd_co_applicant_id': '0', 'applicant_name': 'Others' }); - this.AssetsDetailsForm = this.fb.group({ - assets_details: this.fb.array([]), - assets_form_remark: [''] - }); - this.getAssetDetails(); - this.getdropList(); - this.loadDetails = true; - } - PdQuestionAssestsPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssestsPage'); - }; - PdQuestionAssestsPage.prototype.getdropList = function () { - var _this = this; - //GETTING Asset Type - this.qustCat.getcommondrop('ASSETTYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_assets_type = res['records'].filter(function (data) { return data.isactive == 1 && data.id != 5; }); - } - }); - //GETTING Property Type; - this.qustCat.getcommondrop('PROPERTIES').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_propertyType = res['records']; - } - }); - //GETTING Investment Type; - this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_investmentType = res['records']; - } - }); - //GETTING Insurance Type; - this.qustCat.getcommondrop('INSURANCETYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_insuranceType = res['records']; - } - }); - //GETTING Frequency Type; - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records']; - } - }); - //GETTING Relationship; - this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.m_relation = data['records'].filter(function (data) { return data.isactive == 1; }); - } - }); - //GETTING VEHICLE TYPE; - this.qustCat.getcommondrop('VEHICLETYPE').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.m_vehicle_type = data['records'].filter(function (data) { return data.is_active == 1; }); - } - }); - //GETTING UOM List; - this.qustCat.getcommondrop('UOM').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.m_uom_type = data['records'].filter(function (data) { return data.isactive == 1 && data.is_land_uom == 1 || data.is_land_uom == 2; }); - } - }); - //GETTING Company And Applicant List. - this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true; }); - } - var modifyCompanyList = []; - if (_this.existCompanyList.length > 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - var modifyApplicantList = []; - if (_this.applicants.length > 0) { - modifyApplicantList = _this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); - } - }); - }; - PdQuestionAssestsPage.prototype.createAsset = function () { - return this.fb.group({ - assets_mode: [null], - details: this.fb.array([]), - approximate_market_value: [null], - name_of_the_owner: [''], - other_owner: [''], - purchase_year: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].minLength(4), __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].maxLength(4)])], - vintage_personal: [''], - emi: [null], - }); - }; - PdQuestionAssestsPage.prototype.addAsset = function (flag) { - if (flag == 1) { - this.assetItem = this.AssetsDetailsForm.get('assets_details'); - this.assetItem.push(this.createAsset()); - } - }; - PdQuestionAssestsPage.prototype.deleteAsset = function (i, flag) { - if (flag == 1) { - this.assetItem = this.AssetsDetailsForm.get('assets_details'); - if (this.assetItem.length == 1) { - this.AssetsDetailsForm.controls['assets_details'].reset(); - } - else { - this.assetItem.removeAt(i); - } - } - }; - PdQuestionAssestsPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionAssestsPage.prototype.loanCalc = function (details, flag) { - if (flag == 1) { - var ElapsedValues = void 0; - if (details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != '') { - ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure; - details.controls['elapsed_tenure'].setValue(ElapsedValues); - } - } - }; - PdQuestionAssestsPage.prototype.selectedAssetsType = function (e, i, flag) { - var val = i; - if (flag == 1) { - var arr = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - arr.controls.splice(0); - } - switch (e.value) { - case '1': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.otherAssetsDescription()); - break; - } - case '2': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadProperty()); - break; - } - case '3': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.load_Four_Weeler()); - break; - } - case '4': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadEquipmentManufacturingDescription()); - break; - } - case '5': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadConsumerDurableDescription()); - break; - } - case '6': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadInsuranceDescription()); - break; - } - case '7': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadInvestDescription()); - break; - } - case '8': { - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.otherAssetsDescription()); - break; - } - default: { - break; - } - } - }; - PdQuestionAssestsPage.prototype.loadProperty = function () { - return this.fb.group({ - property_type: [''], - other_property_type: [''], - address_of_the_property: [''], - describe_of_the_property_asset: [''], - area_covered_by_this_property: [''], - uom_of_the_property: [''], - other_uom: [''] - }); - }; - PdQuestionAssestsPage.prototype.loadConsumerDurableDescription = function () { - return this.fb.group({ - consumer_durable_description: [null] - }); - }; - PdQuestionAssestsPage.prototype.loadEquipmentManufacturingDescription = function () { - return this.fb.group({ - equipment_manufacturing_description: [''] - }); - }; - PdQuestionAssestsPage.prototype.otherAssetsDescription = function () { - return this.fb.group({ any_other_assets: [''] }); - }; - PdQuestionAssestsPage.prototype.loadInsuranceDescription = function () { - return this.fb.group({ - // insurance_type: [null], - premium_paid: [null], - frequency_mode: [null], - other_frequency_mode: [null], - sum_assured: [null], - members_coverd: [null] - }); - }; - PdQuestionAssestsPage.prototype.loadInvestDescription = function () { - return this.fb.group({ - investments_type: [''], - other_investments_type: [''], - in_which_organisation: [''], - amount_of_invest: [''], - bank_name: [''] - }); - }; - PdQuestionAssestsPage.prototype.load_Four_Weeler = function () { - return this.fb.group({ - manufacturer_model_vehicle: [''], - vehicle_type: [''], - other_vehicle_type: [''] - }); - }; - PdQuestionAssestsPage.prototype.load_Two_Weeler = function () { - return this.fb.group({ - manufacturer_model_two_weeler: [''] - }); - }; - PdQuestionAssestsPage.prototype.loadPropertyWithData = function (data) { - return this.fb.group({ - property_type: [data.property_type], - other_property_type: [data.other_property_type], - address_of_the_property: [data.address_of_the_property], - describe_of_the_property_asset: [data.describe_of_the_property_asset], - area_covered_by_this_property: [data.area_covered_by_this_property], - uom_of_the_property: [data.uom_of_the_property], - other_uom: [data.other_uom] - }); - }; - PdQuestionAssestsPage.prototype.loadJwellDescriptionWithData = function (data) { - return this.fb.group({}); - }; - PdQuestionAssestsPage.prototype.loadConsumerDurableDescriptionWithData = function (data) { - return this.fb.group({ - consumer_durable_description: [data.consumer_durable_description] - }); - }; - PdQuestionAssestsPage.prototype.otherAssetsDescriptionWithData = function (data) { - return this.fb.group({ - any_other_assets: [data.any_other_assets], - }); - }; - PdQuestionAssestsPage.prototype.loadInsuranceDescriptionWithData = function (data) { - return this.fb.group({ - //insurance_type: [data.insurance_type], - premium_paid: [data.premium_paid], - frequency_mode: [data.frequency_mode], - other_frequency_mode: [data.other_frequency_mode], - sum_assured: [data.sum_assured], - members_coverd: [data.members_coverd] - }); - }; - PdQuestionAssestsPage.prototype.loadInvestDescriptionWithData = function (data) { - return this.fb.group({ - investments_type: [data.investments_type], - other_investments_type: [data.other_investments_type], - in_which_organisation: [data.in_which_organisation], - amount_of_invest: [data.amount_of_invest], - bank_name: [data.bank_name] - }); - }; - PdQuestionAssestsPage.prototype.load_Four_WeelerWithData = function (data) { - return this.fb.group({ - // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])] - manufacturer_model_vehicle: [data.manufacturer_model_vehicle], - vehicle_type: [data.vehicle_type], - other_vehicle_type: [data.other_vehicle_type] - }); - }; - PdQuestionAssestsPage.prototype.loadEquipmentManufacturingDescriptionWithData = function (data) { - return this.fb.group({ - equipment_manufacturing_description: [data.equipment_manufacturing_description] - }); - }; - PdQuestionAssestsPage.prototype.load_Two_WeelerWithData = function (data) { - return this.fb.group({ - manufacturer_model_vehicle: [data.manufacturer_model_vehicle] - }); - }; - PdQuestionAssestsPage.prototype.initDetailsWithdata = function (data) { - return this.fb.group({ - assets_mode: [data.assets_mode], - details: this.fb.array([]), - approximate_market_value: [data.approximate_market_value], - name_of_the_owner: [data.name_of_the_owner], - other_owner: [data.other_owner || ''], - vintage_personal: [data.vintage_personal], - purchase_year: [data.purchase_year, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].minLength(4), __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].maxLength(4)])], - emi: [data.emi || 0], - }); - }; - PdQuestionAssestsPage.prototype.saveAssetDetails = function (answerData) { - var _this = this; - Object.keys(answerData).forEach(function (key) { return (answerData[key] == null) && delete answerData[key]; }); - // answerData.assets_details.map(val => { - // if (val.emi == 'no') { - // val.emi_paid = ''; - // val.elapsed_tenure = ''; - // val.balance_tenure = ''; - // val.original_loan_tenure =''; - // } - // }); - answerData.pdid = this.pdDetails.pd_id; - answerData.formid = this.FormId.form_id; - answerData.fk_createdby = this.users; - this.qustCat.saveForm(answerData).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }); - }; - // To Fetch The Asset Value; - PdQuestionAssestsPage.prototype.getAssetDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var assetArray = Object.keys(res['records'].assets_details).map(function (key) { - // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark) - return res['records'].assets_details[key]; - }); - _this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark); - if (assetArray.length > 0) { - assetArray.forEach(function (val, index) { - var vals = { - assets_mode: val.assets_mode, - approximate_market_value: val.approximate_market_value, - name_of_the_owner: val.name_of_the_owner, - other_owner: val.other_owner, - purchase_year: val.purchase_year, - vintage_personal: val.vintage_personal, - emi: val.emi, - }; - _this.setRequiredValidation(val.name_of_the_owner, index, '', 4); - var control = _this.AssetsDetailsForm.controls['assets_details']; - control.push(_this.initDetailsWithdata(vals)); - _this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length - 1); - }); - } - _this.apiLoadFinish = true; - //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray); - } - else { - _this.apiLoadFinish = true; - _this.addAsset(1); - // this.addAsset(2); - } - }); - }; - PdQuestionAssestsPage.prototype.setAssetsDetailsWithData = function (assets_details_mode, datas, i) { - var _this = this; - var val = i; - var data = datas; - var arr = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - arr.controls.splice(0); - switch (assets_details_mode) { - case '1': { - var array_data_1; - data.forEach(function (datas, i) { - array_data_1 = { 'any_other_assets': datas.any_other_assets }; - }); - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.otherAssetsDescriptionWithData(array_data_1)); - break; - } - case '2': { - var array_data_2; - data.forEach(function (datas, i) { - array_data_2 = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, - 'address_of_the_property': datas.address_of_the_property, 'describe_of_the_property_asset': datas.describe_of_the_property_asset, - 'uom_of_the_property': datas.uom_of_the_property, - 'area_covered_by_this_property': datas.area_covered_by_this_property, 'other_uom': datas.other_uom }; - }); - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadPropertyWithData(array_data_2)); - break; - } - case '3': { - var array_data_3; - data.forEach(function (datas, i) { - array_data_3 = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, - 'vehicle_type': datas.vehicle_type, - 'other_vehicle_type': datas.other_vehicle_type }; - }); - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.load_Four_WeelerWithData(array_data_3)); - break; - } - case '4': { - var array_data_4; - data.forEach(function (datas, i) { - array_data_4 = { 'equipment_manufacturing_description': datas.equipment_manufacturing_description }; - }); - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data_4)); - break; - } - case '5': { - this.FormList = true; - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - // control.push(this.loadConsumerDurableDescriptionWithData(data)); - break; - } - case '6': { - var array_data_5; - data.forEach(function (datas, i) { - array_data_5 = { - 'premium_paid': datas.premium_paid, - 'frequency_mode': datas.frequency_mode, - 'other_frequency_mode': datas.other_frequency_mode, - 'sum_assured': datas.sum_assured, - 'members_coverd': datas.members_coverd - }; - _this.PremiumPaidInwords[i] = _this.constprovider.convertNumberToWords(+datas.premium_paid); - _this.SumAssuredInwords[i] = _this.constprovider.convertNumberToWords(+datas.sum_assured); - }); - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadInsuranceDescriptionWithData(array_data_5)); - break; - } - case '7': { - var array_data_6; - data.forEach(function (datas, i) { - _this.AmtInvestInwords[i] = _this.constprovider.convertNumberToWords(+datas.amount_of_invest); - array_data_6 = { 'investments_type': datas.investments_type, - 'other_investments_type': datas.other_investments_type, - 'in_which_organisation': datas.in_which_organisation, - 'amount_of_invest': datas.amount_of_invest, - 'bank_name': datas.bank_name }; - }); - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.loadInvestDescriptionWithData(array_data_6)); - break; - } - default: { - break; - } - } - }; - /** On Key Press Event For Number only Accepting */ - PdQuestionAssestsPage.prototype.keyPress = function (event) { - var pattern = /[0-9\-\.\ ]/; - var inputChar = String.fromCharCode(event.charCode); - if (event.keyCode != 8 && !pattern.test(inputChar)) { - event.preventDefault(); - } - }; - PdQuestionAssestsPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 2: - this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 3: - this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 4: - this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 5: - this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 6: - this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 7: - this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 8: - this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 9: - this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 10: - this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 11: - this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 12: - this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 13: - this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - case 14: - this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value); - break; - default: - break; - } - }; - PdQuestionAssestsPage.prototype.calculateVintagePurchase = function (value, controlKey, type) { - if (type == 1) { } - else if (type == 2) { } - else if (type == 3) { - var control = this.AssetsDetailsForm.controls['assets_details']; - control.controls[controlKey].controls['purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : ''); - } - else if (type == 4) { - var control = this.AssetsDetailsForm.controls['assets_details']; - value != '' && value <= this.currentYear ? control.controls[controlKey].controls['purchase_year'].setValue(value) : control.controls[controlKey].controls['purchase_year'].setValue(''); - value != '' && value <= this.currentYear ? control.controls[controlKey].controls['vintage_personal'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['vintage_personal'].setValue(''); - } - }; - PdQuestionAssestsPage.prototype.setRequiredValidation = function (value, ParInx, ChdInx, flag) { - var ParCtrls = this.AssetsDetailsForm.controls.assets_details; - var ChdCtrls = ParCtrls.controls[ParInx]; - if (flag == 4) { - var Avaliablity_1 = 1; - if (value.length > 0) { - value.forEach(function (option) { - if (option.id == 0 && option.group_id == 2) { - Avaliablity_1 = option.id; - } - }); - } - if (Avaliablity_1 == 0) { - ChdCtrls.controls.other_owner.setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this.isOtherOwner[ParInx] = true; - } - else if (Avaliablity_1 == 1) { - ChdCtrls.controls.other_owner.setValue(''); - ChdCtrls.controls.other_owner.clearValidators(); - this.isOtherOwner[ParInx] = false; - } - ChdCtrls.controls.other_owner.updateValueAndValidity(); - } - }; - PdQuestionAssestsPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assests',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assests/pd-question-assests.html"*/'\n \n \n {{FormId.form_name}}\n \n\n\n \n
\n \n
\n
\n
\n \n
Asset Details # {{i+1}}
\n \n
\n
\n \n \n {{ asset.name }}\n \n \n
\n \n
\n \n \n\n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n
\n
\n \n \n {{ prop.name }}\n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n Select\n {{ uom.name\n }}\n \n \n\n \n \n \n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n \n \n \n Select\n {{\n vehicle.vehicle_type_name }}\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n \n {{"₹"}} {{PremiumPaidInwords[s]}} Only\n \n
\n
\n \n \n {{ freqn.name }}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n {{"₹"}} {{SumAssuredInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n {{ ins_type.name }}\n \n \n \n \n \n
\n \n \n \n
\n \n \n {{"₹"}} {{AmtInvestInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n\n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n
\n \n \n \n
\n \n\n \n Age of Asset in Years\n \n \n\n \n \n
\n \n Purchase Year\n \n \n \n
\n
\n \n \n \n \n \n

Is there a loan?

\n \n \n YES\n NO\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n \n Remarks\n \n \n \n \n\n\n\n \n \n \n\n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assests/pd-question-assests.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionAssestsPage); - return PdQuestionAssestsPage; -}()); - -//# sourceMappingURL=pd-question-assests.js.map - -/***/ }), - -/***/ 369: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionOtherIncomePage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionOtherIncomePage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionOtherIncomePage = (function () { - function PdQuestionOtherIncomePage(navCtrl, navParams, fb, qustCat, aws, toast, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustCat = qustCat; - this.aws = aws; - this.toast = toast; - this.constant = constant; - this.incomeEarnedBy = []; - this.amtInWords = []; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.applicants = []; - this.isOrganisationOwner = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.FormId = this.navParams.get('FormId'); - this.applicants = this.pdDetails.applicat_details; - this.applicants.push({ 'pd_co_applicant_id': 0, 'applicant_name': "Others" }); - this.getFrequency(); - this.users = this.aws.getlocale(); - // this.qustCat.getLoadTemplate(this.pdid).subscribe(res=> - // { - // this.one = res; - // if(this.one.dataStatus == true) - // { - // this.one = this.one.records.template_forms; - // let one = this.one.records.template_forms.filter(val=>val.form_id == '17') - // console.log(this.one,one); - // } - // }); - this.otherIncomeForm = this.fb.group({ - other_income: [null], - otherincome_remarks: [null], - income_details: this.fb.array([]) - }); - //this.incomeDetails=this.otherIncomeForm.get('income_details')as FormArray - //this.incomeDetails.push(this.createDetail()) - } - PdQuestionOtherIncomePage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionOtherIncomePage'); - this.getOtherIncome(); - }; - PdQuestionOtherIncomePage.prototype.createDetail = function () { - return this.fb.group({ - source: [''], - address: [''], - others_source: [''], - income_earned_by: [''], - others_income_earned_by: [''], - amount: [''], - frequency: [''], - others_frequency: [''] - }); - }; - PdQuestionOtherIncomePage.prototype.addIncomeDetails = function () { - this.incomeDetails = this.otherIncomeForm.get('income_details'); - this.incomeDetails.push(this.createDetail()); - }; - PdQuestionOtherIncomePage.prototype.deleteIncomeDetails = function (index) { - this.incomeDetails = this.otherIncomeForm.get('income_details'); - if (this.incomeDetails.length == 1) { - // this.otherIncomeForm.controls['income_details'].reset(); - this.otherIncomeForm.reset(); - this.amtInWords[index] = ''; - } - else { - this.incomeDetails.removeAt(index); - } - }; - PdQuestionOtherIncomePage.prototype.checkotherDetails = function (val) { - if (val == "Yes") { - this.addIncomeDetails(); - } - if (val == "No") { - //let length=this.otherIncomeForm.income_details.controls.length - var control = this.otherIncomeForm.controls['income_details']; - control.removeAt(0); - // let len=control.length - // for(let i=0;i 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - var modifyApplicantList = []; - if (_this.applicants.length > 0) { - modifyApplicantList = _this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - } - console.log("company&Applicant", _this.mergeCompanyApplicant); - }); - var master_name = 'FREQUENCY'; - this.qustCat.getcommondrop(master_name).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.frequencyData = data['records'].filter(function (fre) { return fre.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('SOURCEOFOTHERINCOME').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.sourceIncome = res['records']; - } - }); - }; - PdQuestionOtherIncomePage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionOtherIncomePage.prototype.getOtherOrganisationOwner = function (value, i) { - //console.log('value',value,'I',i); - var Ctrls = this.otherIncomeForm.controls['income_details']; - console.log('ParCtrls', Ctrls); - var ChdCtrls = Ctrls.controls[i]; - // console.log('ChdCtrls',ChdCtrls); - // return; - var Avaliablity = 1; - console.log('val', value); - if (value.length > 0) { - value.forEach(function (option) { - if (option.id == 0 && option.group_id == 2) { - Avaliablity = option.id; - } - }); - } - if (Avaliablity == 0) { - // console.log('if Avaliablity',Avaliablity); - console.log("chld", ChdCtrls); - ChdCtrls.controls.others_income_earned_by.setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this.isOrganisationOwner[i] = true; - } - else if (Avaliablity == 1) { - // console.log('else Avaliablity',Avaliablity); - // console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]); - ChdCtrls.controls.others_income_earned_by.setValue(''); - ChdCtrls.controls.others_income_earned_by.clearValidators(); - this.isOrganisationOwner[i] = false; - // console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]); - } - ChdCtrls.controls.others_income_earned_by.updateValueAndValidity(); - }; - PdQuestionOtherIncomePage.prototype.inWords = function (val, i) { - this.amtInWords[i] = this.constant.convertNumberToWords(val.target.value); - }; - PdQuestionOtherIncomePage.prototype.Toview = function () { - alert('Rental Income Details - Is inprogress'); - // here Hardcoded; - // let RIFormDtls = {'form_id':17,'form_name':'Rental Verification'}; - // this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':RIFormDtls,'pdDetails':this.pdDetails}); - }; - PdQuestionOtherIncomePage.prototype.submitOtherIncome = function (answerData) { - var _this = this; - var records = {}; - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.other_income = answerData.other_income; - records.income_details = answerData.income_details; - records.otherincome_remarks = answerData.otherincome_remarks; - this.qustCat.saveForm(records).subscribe(function (data) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - }, function (error) { - }); - }; - PdQuestionOtherIncomePage.prototype.getOtherIncome = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - _this.incomeDetails = _this.otherIncomeForm.get('income_details'); - _this.otherIncomeDetails = res; - if (_this.otherIncomeDetails.dataStatus == true) { - _this.otherIncomeDetails = _this.otherIncomeDetails.records; - if (_this.otherIncomeDetails.other_income == 'Yes') { - var incomeArray = Object.keys(res['records'].income_details).map(function (key) { - return res['records'].income_details[key]; - }); - _this.otherIncomeForm.controls['other_income'].setValue(_this.otherIncomeDetails.other_income); - _this.otherIncomeForm.controls['otherincome_remarks'].setValue(_this.otherIncomeDetails.otherincome_remarks); - if (incomeArray.length == 0) { - // this.incomeDetails.push(this.createDetail()); - } - else { - incomeArray.forEach(function (datas, index) { - _this.incomeDetails.push(_this.createDetail()); - _this.amtInWords[index] = _this.constant.convertNumberToWords(datas.amount); - _this.getOtherOrganisationOwner(datas.income_earned_by, index); - }); - } - _this.otherIncomeForm.controls['income_details'].setValue(incomeArray); - } - else { - _this.otherIncomeForm.controls['other_income'].setValue(_this.otherIncomeDetails.other_income); - _this.otherIncomeForm.controls['otherincome_remarks'].setValue(_this.otherIncomeDetails.otherincome_remarks); - } - } - else { - // this.incomeDetails.push(this.createDetail()) - } - }); - }; - PdQuestionOtherIncomePage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-other-income',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-other-income/pd-question-other-income.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n

Other Income

\n \n Yes\n      \n No\n \n \n
\n \n \n
\n
\n

Income Details {{i+1}}

\n \n \n \n {{source.name}}\n \n \n \n Address\n \n Rental Info Details\n \n \n \n \n \n \n \n {{app.name}}\n \n \n \n \n \n \n \n \n {{"₹"}} {{amtInWords[i]}}\n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-other-income/pd-question-other-income.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionOtherIncomePage); - return PdQuestionOtherIncomePage; -}()); - -//# sourceMappingURL=pd-question-other-income.js.map - -/***/ }), - -/***/ 370: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionPersonalInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionPersonalInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionPersonalInfoPage = (function () { - function PdQuestionPersonalInfoPage(navCtrl, navParams, aws, qustCat, toast, _fb) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this._fb = _fb; - this.qualifications = ["Graduate", "Under Graduate", "Post Graduate", "Professional"]; - this.earningStatus = ["Earning Member", "House Wife", "Student", "Retired", "Pensioner", "Other Non earning member"]; - this.relationShipList = []; - this.mainApplicantQuestions = ["Name", "Age", "Entity", "Educational Qualification", "Earning Status"]; - this.coApplicantQuestions = ["Name", "Age", "Entity", "Educational Qualification", "Earning Status", "Relationship"]; - this.mainApplicantDetails = []; - this.coApplicantDetails = []; - //coItem:any; - //mainItem:any; - this.repeat = 3; - this.loadDataStatus = false; - this.questionDetails = this.navParams.get('questionDetails'); - this.pdDetails = this.navParams.get('pdDetails'); - this.users = this.aws.getlocale(); - // this.getRelationMaster(); - } - PdQuestionPersonalInfoPage.prototype.ngOnInit = function () { - this.loadPDDetails(); - this.getRelationMaster(); - this.mainApplicantDetails = this.pdDetails.applicat_details - .filter(function (item) { return item.applicant_type == 1; }); - this.coApplicantDetails = this.pdDetails.applicat_details - .filter(function (item) { return item.applicant_type == 0; }); - }; - // load form pd details - PdQuestionPersonalInfoPage.prototype.loadPDDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': '341' }; - this.qustCat.retiverForm(records).subscribe(function (data) { - if (data['status'] == 200) { - _this.loadFormWithIDData(data['records']); - } - else { - var defaultMainApp = []; - var defaultCoApp = []; - // generate default main applicant form details - if (_this.mainApplicantDetails.length > 0) { - for (var j = 0; j < _this.mainApplicantQuestions.length; j++) { - if (j == 0) { - var generateRow = { - "pd_question": "", - "pd_answer": _this.mainApplicantDetails[0].applicant_name, - }; - defaultMainApp.push(generateRow); - } - else { - var generateRow = { - "pd_question": "", - "pd_answer": "", - }; - defaultMainApp.push(generateRow); - } - } - } - _this.loadFormData(defaultMainApp, _this.coApplicantDetails); - } - }, function (error) { return _this.errorMessage = error; }); - }; - PdQuestionPersonalInfoPage.prototype.loadFormWithIDData = function (data) { - var main_result = Object.keys(data.main_applicant_details).map(function (key) { - return data.main_applicant_details[key]; - }); - var co_result = Object.keys(data.co_applicant_details).map(function (key) { - return data.co_applicant_details[key]; - }); - // main applicant - var mainApplicantGroup = new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["b" /* FormArray */](main_result.map(function (item, key) { return new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["e" /* FormGroup */]({ - name_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.name_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - age_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.age_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - entity_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.entity_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - qualification_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.qualification_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - earning_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.earning_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - }); })); - // co applicant - var iterateCoApp = []; - var coApplicantGroup = new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["b" /* FormArray */](co_result.map(function (item, key) { return new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["e" /* FormGroup */]({ - name_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.name_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - age_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.age_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - entity_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.entity_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - qualification_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.qualification_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - earning_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.earning_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - relation_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.relation_ans, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - }); })); - this._personalForm = this._fb.group({ - pdid: null, - form_id: null, - mainItem: mainApplicantGroup, - coItem: coApplicantGroup, - personal_info_form_remark: [data.personal_info_form_remark] - }); - this.loadDataStatus = true; - }; - PdQuestionPersonalInfoPage.prototype.loadFormData = function (mainApp, coApp) { - var _this = this; - // main applicant - var mainApplicantGroup = new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["b" /* FormArray */](this.mainApplicantDetails.map(function (item, key) { return new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["e" /* FormGroup */]({ - name_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.mainApplicantQuestions[0]), - name_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.applicant_name, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - name_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](0), - age_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.mainApplicantQuestions[1]), - age_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](1), - age_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - entity_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.mainApplicantQuestions[2]), - entity_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](2), - entity_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - qualification_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.mainApplicantQuestions[3]), - qualification_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](3), - qualification_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - earningStatus_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.mainApplicantQuestions[4]), - earning_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](4), - earning_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - }); })); - // co applicant - var iterateCoApp = []; - var coApplicantGroup = new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["b" /* FormArray */](this.coApplicantDetails.map(function (item, key) { return new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["e" /* FormGroup */]({ - name_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.coApplicantQuestions[0]), - name_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](item.applicant_name, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - name_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](0), - age_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.coApplicantQuestions[1]), - age_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](1), - age_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - entity_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.coApplicantQuestions[2]), - entity_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](2), - entity_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - qualification_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.coApplicantQuestions[3]), - qualification_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](3), - qualification_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - earningStatus_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.coApplicantQuestions[4]), - earning_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](4), - earning_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - relationShip_ques: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](_this.coApplicantQuestions[5]), - relation_id: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](5), - relation_ans: new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required), - }); })); - this._personalForm = this._fb.group({ - pdid: null, - form_id: null, - mainItem: mainApplicantGroup, - coItem: coApplicantGroup, - personal_info_form_remark: null - }); - this.loadDataStatus = true; - }; - Object.defineProperty(PdQuestionPersonalInfoPage.prototype, "pdMainapplicant", { - //get pd main applicant array values - get: function () { return this._personalForm.get('mainItem'); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(PdQuestionPersonalInfoPage.prototype, "pdCoapplicant", { - // get pd co applicant array values - get: function () { return this._personalForm.get('coItem'); }, - enumerable: true, - configurable: true - }); - // get relation master details - PdQuestionPersonalInfoPage.prototype.getRelationMaster = function () { - var _this = this; - var relation = "RELATIONSHIPS"; - this.qustCat.getcommondrop(relation).subscribe(function (data) { - if (data['status'] == 200) { - _this.relationShipList = data['records']; - } - }, function (error) { return _this.errorMessage = error; }); - }; - // submit forms details - PdQuestionPersonalInfoPage.prototype.submitPersonalForm = function (formData) { - var _this = this; - if (this._personalForm.valid) { - var main_applicantDetails_1 = []; - var co_applicantDetails_1 = []; - formData.mainItem.forEach(function (element, key) { - if (key == 0) { - main_applicantDetails_1.push({ - "name_ans": element.name_ans, - "age_ans": element.age_ans, - "entity_ans": element.entity_ans, - "qualification_ans": element.qualification_ans, - "earning_ans": element.earning_ans, - }); - } - }); - formData.coItem.forEach(function (Coelement, Cokey) { - co_applicantDetails_1.push({ - "name_ans": Coelement.name_ans, - "age_ans": Coelement.age_ans, - "qualification_ans": Coelement.qualification_ans, - "entity_ans": Coelement.entity_ans, - "earning_ans": Coelement.earning_ans, - "relation_ans": Coelement.relation_ans, - }); - }); - var save_details = { - "pdid": this.pdDetails.pd_id, - "formid": '341', - "fk_createdby": this.users, - "main_applicant_details": main_applicantDetails_1, - "co_applicant_details": co_applicantDetails_1, - "personal_info_form_remark": this._personalForm.get('personal_info_form_remark').value - }; - this.qustCat.saveForm(save_details).subscribe(function (result) { - if (result['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - // this.notifier.notify('success', 'Success.'); - } - else { - // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); - } - }, function (error) { - // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); - }); - } - }; - PdQuestionPersonalInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-personal-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.html"*/'\n\n \n \n Personal Info Category\n \n \n \n \n \n\n\n\n \n
\n\n \n \n \n
\n \n
\n \n \n Main Applicant\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{education}}\n \n \n \n \n \n \n \n {{earning}}\n \n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n \n
\n \n \n Co Applicant\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{education}}\n \n \n \n \n \n \n \n \n {{earning}}\n \n \n \n \n \n \n \n {{rel.name}}\n \n \n \n
\n
\n \n \n
\n \n
\n \n \n
\n \n
\n
\n \n
\n
\n \n Remarks\n \n \n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) - ], PdQuestionPersonalInfoPage); - return PdQuestionPersonalInfoPage; -}()); - -//# sourceMappingURL=pd-question-personal-info.js.map - -/***/ }), - -/***/ 371: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionRentalInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionRentalInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionRentalInfoPage = (function () { - function PdQuestionRentalInfoPage(navCtrl, navParams, aws, toast, qustCat, fb) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.toast = toast; - this.qustCat = qustCat; - this.fb = fb; - this.FormId = this.navParams.get('FormId'); - this.pdDetails = this.navParams.get('pdDetails'); - this.users = this.aws.getlocale(); - this.rentalForms = this.fb.group({ - person_met: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - property_own: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - nature_property: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - nature_others: [null], - rental_home: this.fb.array([]) - }); - this.getRentalDetails(); - } - PdQuestionRentalInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionRentalInfoPage'); - }; - PdQuestionRentalInfoPage.prototype.createrentalHome = function () { - return this.fb.group({ - complete_add: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - area_of_property: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - structure_property: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - total_room: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - is_rent: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - date_agreement: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - date_validity: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - rent_agreement: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - actual_rent: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - photo_areegment: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - property_photographs: [null], - bank: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - cash: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - rent_each_floor: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - total_rent: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - related_doc_owner: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - details_tenants: this.fb.array([]), - third_party_check: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - }); - }; - PdQuestionRentalInfoPage.prototype.createTenantsDetails = function () { - return this.fb.group({ - name: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - mobile_no: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - tenants_seen: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - tenants_con_owner: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - rent_paid: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - staying_since: [null, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - }); - }; - PdQuestionRentalInfoPage.prototype.addrentalHome = function () { - var control = this.rentalForms.get('rental_home'); - control.push(this.createrentalHome()); - this.addTenantsDetails(0); - }; - PdQuestionRentalInfoPage.prototype.addTenantsDetails = function (i) { - var control = this.rentalForms.controls['rental_home'].at(i).get('details_tenants'); - // control.controls.splice(0); - control.push(this.createTenantsDetails()); - }; - PdQuestionRentalInfoPage.prototype.deleteTenantsDetails = function (rentIndex, TenantsIndex) { - var control = this.rentalForms.controls['rental_home'].at(rentIndex).get('details_tenants'); - control.removeAt(TenantsIndex); - }; - PdQuestionRentalInfoPage.prototype.deleterentalHome = function (i) { - var control = this.rentalForms.controls['rental_home']; - if (control.length == 1) { - this.rentalForms.controls['rental_home'].reset(); - } - else { - control.removeAt(i); - } - }; - PdQuestionRentalInfoPage.prototype.saveRentalDetails = function (answerData) { - var _this = this; - var records = {}; - // if(this.rentalForms.valid){ - records.pdid = this.pdDetails.pd_id; - records.formid = this.FormId.form_id; - records.fk_createdby = this.users; - records.person_met = answerData.person_met; - records.property_own = answerData.property_own; - records.nature_property = answerData.nature_property; - if (answerData.nature_property == 'others') { - records.nature_others = answerData.nature_others; - } - records.rental_home = answerData.rental_home; - Object.keys(records.rental_home).forEach(function (key) { return (records.rental_home[key] == null) && delete answerData[key]; }); - this.qustCat.saveForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }); - // }else - // { - // this.toast.pdTriggerappmessage('Enter All Field'); - // } - }; - PdQuestionRentalInfoPage.prototype.getRentalDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var rentalDetails = res['records']; - var rentalData = Object.keys(res['records'].rental_home).map(function (key) { - return res['records'].rental_home[key]; - }); - var tanantsData = []; - var control = _this.rentalForms.controls['rental_home']; - var tanantscontrol; - rentalData.forEach(function (val, index) { - // this.addrentalHome(); - // tanantsData.push(Object.keys(val.details_tenants).map(function(key) - // { - // return val.details_tenants[key]; - // })); - rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function (key) { - return val.details_tenants[key]; - }); - control.push(_this.createrentalHome()); - tanantscontrol = _this.rentalForms.controls['rental_home'].at(index).get('details_tenants'); - rentalData[index].details_tenants.forEach(function (val, key) { - //rentalData[index].details_tenants = val; - // rentalData[index].details_tenants = [key]; - tanantscontrol.push(_this.createTenantsDetails()); - }); - // control[index].details_tenants =tanantscontrol; - }); - _this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met); - _this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own); - _this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property); - if (rentalDetails.nature_property == 'others') { - _this.rentalForms.controls['nature_others']. - setValue(rentalDetails.nature_others); - } - _this.rentalForms.controls['rental_home'].setValue(rentalData); - } - else { - _this.addrentalHome(); - // this.addTenantsDetails(0); - } - }); - }; - PdQuestionRentalInfoPage.prototype.createTenantsDetailswithData = function (index, data) { - return this.fb.group({ - name: [data.name], - mobile_no: [data.mobile_no], - tenants_seen: [data.tenants_seen], - tenants_con_owner: [data.tenants_con_owner], - rent_paid: [data.rent_paid], - staying_since: [data.staying_since] - }); - }; - PdQuestionRentalInfoPage.prototype.validateAllFormFields = function (formGroup) { - var _this = this; - Object.keys(formGroup.controls).forEach(function (field) { - var control = formGroup.get(field); - if (control instanceof __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]) { - control.markAsTouched({ onlySelf: true }); - } - else if (control instanceof __WEBPACK_IMPORTED_MODULE_5__angular_forms__["e" /* FormGroup */]) { - _this.validateAllFormFields(control); - } - else if (control instanceof __WEBPACK_IMPORTED_MODULE_5__angular_forms__["b" /* FormArray */]) { - _this.validateAllFormFields(control); - } - }); - }; - PdQuestionRentalInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-rental-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n \n \n \n \n Applicant\n Co-Applicant\n Parental\n\n \n \n \n \n Residential/commercial\n Others\n \n \n \n \n \n \n
\n
\n \n Rentel Home Details {{rent_i+1}}\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n\n \n \n \n

Is Rent agreement available

\n \n Yes\n No\n \n
\n \n
\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n

Photo of agreement taken ?

\n \n Yes\n No\n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n\n \n
\n

Details of the tenants {{i+1}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
\n \n \n \n \n \n \n\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n\n\n\n \n \n \n\n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) - ], PdQuestionRentalInfoPage); - return PdQuestionRentalInfoPage; -}()); - -//# sourceMappingURL=pd-question-rental-info.js.map - -/***/ }), - -/***/ 372: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedDashPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(373); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionAssessedDashPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedDashPage = (function () { - function PdQuestionAssessedDashPage(navCtrl, navParams, aws, fb, qustCat, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.fb = fb; - this.qustCat = qustCat; - this.toast = toast; - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.users = this.aws.getlocale(); - this.assessedForm = this.fb.group({ - calc_type_id: [null], - fk_pd_id: [this.pdDetails.pd_id], - mode: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - margin: [null], - fk_createdby: [this.users], - fk_updatedby: [null], - }); - } - PdQuestionAssessedDashPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedDashPage'); - }; - PdQuestionAssessedDashPage.prototype.ionViewCanEnter = function () { - this.getassessedIncome(); - }; - PdQuestionAssessedDashPage.prototype.getViewPage = function (pageId) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__["a" /* PdQuestionAssessedInfoPage */], { 'pdDetails': this.pdDetails, 'pageId': pageId }); - }; - PdQuestionAssessedDashPage.prototype.saveAssessedForm = function (answerData) { - var _this = this; - if (this.assessedForm.valid) { - var records = { 'records': this.assessedForm.value }; - this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.getassessedIncome(); - } - else { - } - }); - } - }; - PdQuestionAssessedDashPage.prototype.getassessedIncome = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id }; - this.qustCat.retiverassessedForm('getAssessedIncome', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.assessedProcess = true; - _this.grossprofit = res['records'].gross_profit_calculation_type[0]; - if (res['records'].purchase_details.length != 0) { - _this.purchaseData = true; - } - if (res['records'].sales_items_by_monthwise.length != 0 || res['records'].sales_declared_by_customer.length != 0 || res['records'].sales_calculated_by_itemwise.length != 0) { - _this.salesData = true; - } - if (res['records'].business_expenses.length != 0) { - _this.businessData = true; - } - if (res['records'].house_hold_expenses.length != 0) { - _this.houseExpenseData = true; - } - if (res['records'].othre_business_income.length != 0) { - _this.businessIncome = true; - } - if (res['records'].final_data.length != 0) { - _this.finalAccess = true; - _this.finalData = res['records'].final_data[0]; - _this.finalIncome = _this.finalData.income; - _this.finalExpense = _this.finalData.expense; - } - if (_this.grossprofit !== undefined) { - _this.grossAccess = true; - _this.assessedForm.controls['mode'].setValue(_this.grossprofit.mode); - _this.assessedForm.controls['margin'].setValue(_this.grossprofit.margin); - _this.assessedForm.controls['calc_type_id'].setValue(_this.grossprofit.calc_type_id); - } - } - else { - _this.assessedProcess = false; - } - }); - }; - PdQuestionAssessedDashPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-dash',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n \n \n \n \n \n \n Purchase Calculation\n \n \n \n
\n \n

Purchase Detail Available

\n \n Yes\n No\n \n
\n \n

Sales

\n \n Gross Margin\n Net Margin\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n --\n \n \n \n --\n \n \n \n

SALES

\n
\n
\n \n \n \n --\n \n \n \n --\n \n \n \n

PURCHASE

\n
\n
\n
\n \n \n \n \n --\n \n \n \n --\n \n \n \n

BUSINESS EXPENSE

\n
\n
\n \n \n \n --\n \n \n \n --\n \n \n \n

HOUSE HOLD

\n
\n
\n
\n \n \n \n \n --\n \n \n \n --\n \n \n \n

OTHER BUSINESS INCOME

\n
\n
\n
\n \n

SUMMARY

\n
\n \n \n
Business Revenue
\n
\n \n
{{finalIncome.sales_revenue}}
\n
\n
\n
\n \n \n
Purchase
\n
\n \n
{{finalExpense.purchase}}
\n
\n
\n
\n \n \n
Gross Profit
\n
\n \n
{{finalData.gross_profit}}
\n
\n
\n
\n \n \n
Business Expense
\n
\n \n
{{finalExpense.business_expense}}
\n
\n
\n
\n \n \n
Business Income
\n
\n \n
{{finalData.other_business_income}}
\n
\n
\n
\n \n \n
Net Profit
\n
\n \n
{{finalExpense.net_profit}}
\n
\n
\n
\n \n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionAssessedDashPage); - return PdQuestionAssessedDashPage; -}()); - -//# sourceMappingURL=pd-question-assessed-dash.js.map - -/***/ }), - -/***/ 373: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(374); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(375); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(376); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(377); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(378); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(379); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - - - -/** - * Generated class for the PdQuestionAssessedInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedInfoPage = (function () { - function PdQuestionAssessedInfoPage(navCtrl, navParams, aws, qustCat, toast, fb) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.fb = fb; - this.houseannual = []; - this.expenseannual = []; - this.sales_item_month_value = []; - this.sales_wise_month_headers = []; - this.sales_month_wise_data = []; - this.grandpurchaseTotal = null; - this.annual = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.pageId = this.navParams.get('pageId'); - switch (this.pageId) { - case 1: - this.FormName = "Sales Page"; - break; - case 2: - this.FormName = "Purchase Page"; - break; - case 3: - this.FormName = "Business Expense Page"; - break; - case 4: - this.FormName = "House Hold Page"; - break; - default: - this.FormName = "Question Page"; - break; - } - this.users = this.aws.getlocale(); - this.assessedForm = this.fb.group({ - sdc_id: [null], - sales_declared_by_customer: [null], - fk_pd_id: [this.pdDetails.pd_id], - margin_per: [null], - margin_value: [null], - isactive: [1], - fk_createdby: [this.users], - }); - // this.getdropList(); - } - PdQuestionAssessedInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedInfoPage'); - }; - PdQuestionAssessedInfoPage.prototype.ionViewDidEnter = function () { - }; - PdQuestionAssessedInfoPage.prototype.ionViewCanEnter = function () { - this.getAssessedDetails(); - }; - PdQuestionAssessedInfoPage.prototype.getMarginCalc = function () { - var margin_per = this.assessedForm.controls['margin_per'].value; - var sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value; - if (margin_per != null && sales_declared_by_customer != null) { - var value = sales_declared_by_customer * (margin_per / 100); - this.assessedForm.controls['margin_value'].setValue(value); - } - }; - PdQuestionAssessedInfoPage.prototype.saveData = function (answerData) { - var _this = this; - var records = {}; - records = { 'records': answerData }; - console.log(records); - this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer', records).subscribe(function (res) { - // console.log(res); - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.getAssessedDetails(); - } - }); - }; - PdQuestionAssessedInfoPage.prototype.getAssessedDetails = function () { - var _this = this; - this.sales_item_month_value = []; - this.sales_month_wise_data = []; - this.sales_item_value = []; - var records = { 'pd_id': this.pdDetails.pd_id }; - this.qustCat.retiverassessedForm('getAssessedIncome', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var sales_value = res['records'].sales_declared_by_customer[0]; - _this.sales_item_value = res['records'].sales_calculated_by_itemwise; - _this.sales_item_month_value = res['records'].sales_items_by_monthwise; - _this.purchse_details = res['records'].purchase_details; - _this.grossprofitCalc = res['records'].gross_profit_calculation_type[0]; - _this.mode = _this.grossprofitCalc.mode; - console.log(_this.grossprofitCalc); - var result = _this.purchse_details.reduce(function (p, c) { - return p; - }, []); - console.log(result); - _this.businessExpenses_details = res['records'].business_expenses; - _this.houseHold_details = res['records'].house_hold_expenses; - _this.busissnessIncome = res['records'].othre_business_income; - // console.log(this.sales_item_month_value); - // this.getpurchaseDetails(this.purchse_details); - _this.sales_item_month_value.forEach(function (itemElement, itemIndex) { - var expandBodyContent = Object.keys(itemElement.items).map(function (key) { return ({ header: key, value: itemElement.items[key] }); }); - var listItems = []; - expandBodyContent.forEach(function (expnadElement, expnadIndex) { - var calculateItems = expnadElement.value.reduce(function (acc, calculate) { return acc + Number(calculate.sales_value); }, 0); - listItems.push({ items: expnadElement, itemsTotal: calculateItems }); - }); - var calculateAllItemsTotal = listItems.reduce(function (racc, rcalculate) { return racc + Number(rcalculate.itemsTotal); }, 0); - var convertYear = 12 / listItems.length; - var footerMessage = []; - footerMessage.push({ - month_message: listItems.length + ' Month Sales : ' + calculateAllItemsTotal, - month_value: calculateAllItemsTotal, - year_message: ' Yearly Sales Arrived : ' + calculateAllItemsTotal * convertYear, - year_value: calculateAllItemsTotal * convertYear, - }); - _this.sales_month_wise_data.push({ salesItem: itemElement.sales_item, expandElements: expandBodyContent, footerMessage: footerMessage, simId: itemElement.sim_id }); - }); - console.log(_this.sales_month_wise_data); - if (sales_value !== undefined) { - _this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id); - _this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer); - _this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value); - _this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per); - } - } - }); - }; - /** - * Add Assessed Forms - */ - PdQuestionAssessedInfoPage.prototype.AddAssessedForm = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__["a" /* PdQuestionAssessedSalesPage */], { 'pdDetails': this.pdDetails, 'sales': null, 'grossprofit': this.grossprofitCalc }); - }; - PdQuestionAssessedInfoPage.prototype.editDetails = function (salesCal) { - var salesData = this.sales_item_value.filter(function (sal) { return sal.sci_id == salesCal; }); - console.log(salesData); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__["a" /* PdQuestionAssessedSalesPage */], { 'pdDetails': this.pdDetails, 'sales': salesData, 'grossprofit': this.grossprofitCalc }); - }; - PdQuestionAssessedInfoPage.prototype.editAllDetails = function (AllsalesData) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__["a" /* PdQuestionAssessedSalesPage */], { 'pdDetails': this.pdDetails, 'sales': AllsalesData, 'grossprofit': this.grossprofitCalc }); - }; - /**Assessed Daily Form Details */ - PdQuestionAssessedInfoPage.prototype.AddAssessedDailyForm = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__["a" /* PdQuestionAssessedDailySalesPage */], { 'pdDetails': this.pdDetails, 'salesDaily': null, 'grossprofit': this.grossprofitCalc }); - }; - PdQuestionAssessedInfoPage.prototype.editAssessedDailyForm = function (simId) { - var dailySaleDetails = this.sales_item_month_value.filter(function (ass) { return ass.sim_id == simId; }); - console.log(dailySaleDetails); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__["a" /* PdQuestionAssessedDailySalesPage */], { 'pdDetails': this.pdDetails, 'salesDaily': dailySaleDetails, 'grossprofit': this.grossprofitCalc }); - }; - /**purchase Details Forms */ - PdQuestionAssessedInfoPage.prototype.AddPurchaseForm = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__["a" /* PdQuestionAssessedPurchasePage */], { 'pdDetails': this.pdDetails, 'purchase': null }); - }; - PdQuestionAssessedInfoPage.prototype.editPurchaseDetails = function (purchaseCal) { - var salesData = this.purchse_details.filter(function (sal) { return sal.purchase_id == purchaseCal; }); - console.log(salesData); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__["a" /* PdQuestionAssessedPurchasePage */], { 'pdDetails': this.pdDetails, 'purchase': salesData }); - }; - PdQuestionAssessedInfoPage.prototype.editPurchaseAllDetails = function (AllpurchaseData) { - console.log('260', AllpurchaseData); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__["a" /* PdQuestionAssessedPurchasePage */], { 'pdDetails': this.pdDetails, 'purchase': AllpurchaseData }); - }; - /**Business Expense */ - PdQuestionAssessedInfoPage.prototype.AddExpenseForm = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__["a" /* PdQuestionAssessedBusinessPage */], { 'pdDetails': this.pdDetails, 'expense': null }); - }; - PdQuestionAssessedInfoPage.prototype.editExpenseDetails = function (expenseCal) { - var salesData = this.businessExpenses_details.filter(function (sal) { return sal.pd_expense_id == expenseCal; }); - console.log(salesData); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__["a" /* PdQuestionAssessedBusinessPage */], { 'pdDetails': this.pdDetails, 'expense': salesData }); - }; - PdQuestionAssessedInfoPage.prototype.editExpenseAllDetails = function (AllexpenseData) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__["a" /* PdQuestionAssessedBusinessPage */], { 'pdDetails': this.pdDetails, 'expense': AllexpenseData }); - }; - /** Household Expenses Details */ - PdQuestionAssessedInfoPage.prototype.AddHouseExpenseForm = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__["a" /* PdQuestionAssessedHouseholdPage */], { 'pdDetails': this.pdDetails, 'expense': null }); - }; - PdQuestionAssessedInfoPage.prototype.editHouseExpenseDetails = function (expenseCal) { - var salesData = this.houseHold_details.filter(function (sal) { return sal.household_expense_id == expenseCal; }); - console.log(salesData); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__["a" /* PdQuestionAssessedHouseholdPage */], { 'pdDetails': this.pdDetails, 'expense': salesData }); - }; - PdQuestionAssessedInfoPage.prototype.editHouseExpenseAllDetails = function (AllExpenseData) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__["a" /* PdQuestionAssessedHouseholdPage */], { 'pdDetails': this.pdDetails, 'expense': AllExpenseData }); - }; - /** - * Income Details - */ - PdQuestionAssessedInfoPage.prototype.AddIncomeForm = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__["a" /* PdQuestionAssessedBusinessIncomePage */], { 'pdDetails': this.pdDetails, 'income': null }); - }; - PdQuestionAssessedInfoPage.prototype.editIncomeDetails = function (expenseCal) { - var salesData = this.busissnessIncome.filter(function (sal) { return sal.pd_business_income_id == expenseCal; }); - console.log(salesData); - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__["a" /* PdQuestionAssessedBusinessIncomePage */], { 'pdDetails': this.pdDetails, 'income': salesData }); - }; - PdQuestionAssessedInfoPage.prototype.editIncomeAllDetails = function (AllexpenseData) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__["a" /* PdQuestionAssessedBusinessIncomePage */], { 'pdDetails': this.pdDetails, 'income': AllexpenseData }); - }; - PdQuestionAssessedInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html"*/'\n\n \n \n {{FormName}}\n\n\n \n\n\n\n\n\n\n
\n \n \n \n \n Sales Calculation\n \n \n \n
\n

Sales declared by the customer as the annual sales actually done.

\n \n \n \n
\n \n \n \n \n \n \n
\n \n\n\n\n \n \n \n\n \n
\n\n
\n
\n \n
\n \n \n \n \n \n \n Sales Details\n \n \n \n

Sales Details

\n \n \n \n \n

{{"✎"}}

\n
\n
\n \n\n\n \n \n \n\n\n \n
\n \n \n \n \n \n {{salesItem.sales_item}}\n \n \n {{"₹"}} {{salesItem.annual_sale_value}}\n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n Daily Sales Details\n \n \n

Daily Sales Details

\n \n \n \n \n \n \n \n
\n
\n

{{monthwise.salesItem | titlecase}}

\n \n \n {{eachItem.header}}\n
\n \n \n \n {{eachmonthItem.sales_date | date:\'dd-MM-yyyy\'}}\n \n \n {{"₹"}} {{eachmonthItem.sales_value}}\n \n \n \n
\n
\n \n \n \n {{monthwise.footerMessage[0].month_message}}
\n {{monthwise.footerMessage[0].year_message}}\n
\n \n \n \n
\n \n \n \n
\n
\n
\n \n \n\n
\n
\n \n
\n
\n \n

Purchase Details

\n \n

{{"✎"}}

\n \n \n \n \n \n
\n \n \n \n \n {{purchase.purchase_item}}\n \n \n {{"₹"}} {{purchase.annual_purchase_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Expenses

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{expense.expense_item}}\n \n \n {{"₹"}} {{expense.annual_expenses_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

HouseHold Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{houseExepense.expense_item}}\n \n \n {{"₹"}} {{houseExepense.annual_expense_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Income Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{busIncome.business_income_item !=\'Others(Please Specify)\'?busIncome.business_income_item:busIncome.other_frequncy_item}}\n \n \n {{"₹"}} {{busIncome.income_value}}\n \n \n
\n
\n \n
\n
\n
\n \n\n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) - ], PdQuestionAssessedInfoPage); - return PdQuestionAssessedInfoPage; -}()); - -//# sourceMappingURL=pd-question-assessed-info.js.map - -/***/ }), - -/***/ 374: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedSalesPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionAssessedSalesPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedSalesPage = (function () { - function PdQuestionAssessedSalesPage(navCtrl, navParams, aws, fb, qustCat, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.fb = fb; - this.qustCat = qustCat; - this.toast = toast; - this.salesData = []; - this.annual = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.grossprofitCalc = this.navParams.get('grossprofit'); - this.users = this.aws.getlocale(); - this.assessedForm = this.fb.group({ - salesCalItemwise: this.fb.array([]), - }); - this.salesData = this.navParams.get('sales'); - if (this.salesData != null) { - this.getSalesItemData(this.salesData); - } - else { - this.addSalesCal(); - } - // this.addSalesCal(); - this.getdropList(); - } - PdQuestionAssessedSalesPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedSalesPage'); - }; - PdQuestionAssessedSalesPage.prototype.getdropList = function () { - var _this = this; - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records'].filter(function (frq) { return frq.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('UOM').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.UOM = res['records'].filter(function (uom) { return uom.isactive == 1; }); - } - }); - }; - PdQuestionAssessedSalesPage.prototype.createSalesCal = function () { - return this.fb.group({ - sci_id: [null], - fk_pd_id: [this.pdDetails.pd_id], - sales_item: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - sales_qty: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - fk_uom_id: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - rate_per_unit: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - annual_sale_value: [null], - margin_per: [null], - margin_per_uom: [null], - margin_final_value: [null], - }); - }; - PdQuestionAssessedSalesPage.prototype.addSalesCal = function () { - if (this.assessedForm.valid) { - var control = this.assessedForm.get('salesCalItemwise'); - control.push(this.createSalesCal()); - } - else { - this.toast.pdTriggerappmessage('Enter the all fields'); - } - }; - PdQuestionAssessedSalesPage.prototype.removeSalesCal = function (i) { - this.annual.splice(i, 1); - // this.annual[i].spl - this.grandTotal = this.annual.reduce(function (a, b) { return a + b; }, 0); - console.log(this.grandTotal); - var control = this.assessedForm.get('salesCalItemwise'); - if (control.length == 1) { - control.removeAt(i); - this.addSalesCal(); - } - else { - control.removeAt(i); - } - }; - /** - * frequency Type - * 1.Weekly no need - * 2.Daily 250 - * 3.Yearly - * 4.Hourly no need - * 5.Monthly 12 - * 6.none - * 7.none - * 8.none - */ - PdQuestionAssessedSalesPage.prototype.salecalculat = function (index, details) { - // console.log(details,index); - var frequencyId = details.value.fk_frequency_id; - var salesQty = details.value.sales_qty; - var UOM = details.value.rate_per_unit; - // console.log(frequencyId,salesQty,UOM,index); - // console.log(frequencyId); - var annual; - if (salesQty != null && UOM != null) { - if (frequencyId == 1) { - } - else if (frequencyId == 2) { - annual = (salesQty * UOM * 250); - this.annual[index] = annual; - details.controls['annual_sale_value'].setValue(annual); - } - else if (frequencyId == 3) { - annual = (salesQty * UOM); - this.annual[index] = annual; - details.controls['annual_sale_value'].setValue(annual); - } - else if (frequencyId == 4) { - } - else if (frequencyId == 5) { - annual = (salesQty * UOM * 12); - this.annual[index] = annual; - details.controls['annual_sale_value'].setValue(annual); - } - else if (frequencyId == 6) { - } - else if (frequencyId == 7) { - } - else if (frequencyId == 8) { - } - else { - } - this.grandTotal = this.annual.reduce(function (a, b) { return a + b; }, 0); - } - else { - // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM'); - } - console.log(this.annual); - }; - PdQuestionAssessedSalesPage.prototype.getSalesCalc = function (details) { - // console.log(details); - var margin_per = details.value.margin_per; - var margin_amount = details.value.margin_per_uom; - var annual_sale_value = details.value.annual_sale_value; - var sales_qty = details.value.sales_qty; - // console.log(sales_qty,margin_amount); - var value = ''; - if (margin_per != null || margin_amount != null) { - if (margin_per != null) { - value = +annual_sale_value * (+margin_per / 100); - } - else { - console.log('else'); - value = +sales_qty * +margin_amount; - } - console.log(value); - details.controls['margin_final_value'].setValue(value); - } - }; - PdQuestionAssessedSalesPage.prototype.saveData = function (answerData) { - var _this = this; - var records = { 'records': answerData.salesCalItemwise }; - console.log(records); - this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - }; - PdQuestionAssessedSalesPage.prototype.getSalesItemData = function (salesData) { - var _this = this; - console.log(salesData); - var control = this.assessedForm.get('salesCalItemwise'); - salesData.forEach(function (sale, index) { - _this.annual[index] = sale.annual_sale_value; - control.push(_this.createSaleswithData(sale)); - }); - // this.assessedForm.controls['salesCalItemwise'].setValue(salesData); - // console.log(control); - this.grandTotal = this.annual.reduce(function (a, b) { return a + b; }, 0); - }; - PdQuestionAssessedSalesPage.prototype.createSaleswithData = function (data) { - return this.fb.group({ - sci_id: [data.sci_id], - fk_pd_id: [this.pdDetails.pd_id], - sales_item: [data.sales_item, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - sales_qty: [data.sales_qty, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - fk_uom_id: [data.fk_uom_id, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - rate_per_unit: [data.rate_per_unit, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [data.fk_frequency_id, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - annual_sale_value: [data.annual_sale_value], - margin_per: [data.margin_per], - margin_per_uom: [data.margin_per_uom], - margin_final_value: [data.margin_final_value], - }); - }; - PdQuestionAssessedSalesPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-sales',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html"*/'\n\n \n \n Item Salas Details\n\n\n \n\n\n\n\n\n
\n
\n
\n \n

Itemwise

\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n

Grand Total : {{grandTotal}}

\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionAssessedSalesPage); - return PdQuestionAssessedSalesPage; -}()); - -//# sourceMappingURL=pd-question-assessed-sales.js.map - -/***/ }), - -/***/ 375: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedDailySalesPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionAssessedDailySalesPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedDailySalesPage = (function () { - function PdQuestionAssessedDailySalesPage(navCtrl, navParams, aws, qustCat, toast, fb, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.fb = fb; - this.constant = constant; - this.temparr = []; - this.tempdate = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.salesDaily = this.navParams.get('salesDaily'); - this.grossprofitCalc = this.navParams.get('grossprofit'); - this.users = this.aws.getlocale(); - this.currentDate = constant.getcurrentDate().replace("T00:00", ''); - this.salesDailyForm = this.fb.group({ - sales_product: this.fb.array([]), - }); - if (this.salesDaily != null) { - this.getDailySalesData(this.salesDaily); - } - else { - this.adddailySalaesProduct(); - } - } - PdQuestionAssessedDailySalesPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage'); - }; - PdQuestionAssessedDailySalesPage.prototype.createdailysalesProduct = function () { - return this.fb.group({ - sim_id: [null], - sales_item: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - child: this.fb.array([]), - fk_pd_id: [this.pdDetails.pd_id], - margin_per: [null], - margin_value: [null], - fk_createdby: [this.users], - isactive: ['1'], - }); - }; - PdQuestionAssessedDailySalesPage.prototype.createdailyChildSaleProduct = function () { - return this.fb.group({ - simc_id: [null], - fk_sim_id: [null], - sales_date: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - sales_value: [null, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - }); - }; - PdQuestionAssessedDailySalesPage.prototype.getSalesCalc = function (subchild, child, key) { - var saledate = new Date(subchild.value.sales_date).getMonth() + 1; - var totalitemmargin = child.value.margin_per; - if (totalitemmargin != null && subchild.value.sales_value != null) { - var loopAccess = false; - var loopindex = 0; - if (this.tempdate.length != 0) { - for (var i = 0; i < this.tempdate.length; i++) { - if (this.tempdate[i].month == saledate) { - loopAccess = true; - loopindex = i; - } - } - if (loopAccess) { - this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value; - this.temparr.push(subchild.value.sales_value); - loopAccess = false; - loopindex = 0; - } - else { - this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); - this.temparr.push(subchild.value.sales_value); - } - } - else { - this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); - this.temparr.push(subchild.value.sales_value); - } - var totalMonth = 12 / this.tempdate.length; - var tempgrandTotal = this.tempdate.reduce(function (a, b) { return (+a + +b.value); }, 0); - // let value = tempgrandTotal * (totalitemmargin / 100); - var value = tempgrandTotal * totalMonth; - var grandValue = value * (totalitemmargin / 100); - child.controls['margin_value'].setValue(grandValue); - } - }; - PdQuestionAssessedDailySalesPage.prototype.adddailySalaesProduct = function () { - this.tempdate = []; - if (this.salesDailyForm.valid) { - var control = this.salesDailyForm.get('sales_product'); - control.push(this.createdailysalesProduct()); - this.adddailyChildSaleProduct(control.length - 1); - } - }; - PdQuestionAssessedDailySalesPage.prototype.adddailyChildSaleProduct = function (index) { - // if(this.salesDailyForm.valid){ - var control = this.salesDailyForm.get('sales_product').at(index).get('child'); - control.push(this.createdailyChildSaleProduct()); - // } - }; - PdQuestionAssessedDailySalesPage.prototype.deletedailySalesProduct = function (index) { - this.tempdate.slice(index, 1); - var control = this.salesDailyForm.controls['sales_product']; - if (control.length == 1) { - this.salesDailyForm.controls['sales_product'].reset(); - } - else { - control.removeAt(index); - } - }; - PdQuestionAssessedDailySalesPage.prototype.deletedailyChildSaleProduct = function (saleIndex, saleChildIndex) { - this.tempdate = []; - var control = this.salesDailyForm.controls['sales_product'].at(saleIndex).get('child'); - if (control.length == 1) { - control.removeAt(saleChildIndex); - this.adddailyChildSaleProduct(saleIndex); - } - else { - control.removeAt(saleChildIndex); - } - }; - PdQuestionAssessedDailySalesPage.prototype.saveData = function (answerData) { - var _this = this; - if (this.salesDailyForm.valid) { - var records = { 'records': answerData.sales_product }; - this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - } - }; - PdQuestionAssessedDailySalesPage.prototype.getDailySalesData = function (dailySalesData) { - var _this = this; - var control = this.salesDailyForm.get('sales_product'); - var salesChildControl; - var salesChildControlarr = []; - dailySalesData.forEach(function (val, index) { - control.push(_this.dailySalesWithData(val)); - salesChildControl = _this.salesDailyForm.controls['sales_product'].at(index).get('child'); - salesChildControlarr[index] = Object.keys(val['items']).map(function (key) { return val['items'][key]; }); - salesChildControlarr[index].forEach(function (vals, i) { - vals.forEach(function (item, key) { - var saleDate = new Date(item.sales_date); - item.sales_date = saleDate.getFullYear() + '-' + ("0" + (saleDate.getMonth() + 1)).slice(-2) + '-' + ("0" + (saleDate.getDay() + 1)).slice(-2); - salesChildControl.push(_this.dailySalesChildWithData(item, val.sim_id)); - }); - }); - }); - }; - PdQuestionAssessedDailySalesPage.prototype.dailySalesWithData = function (data) { - return this.fb.group({ - sim_id: [data.sim_id], - sales_item: [data.sales_item, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - child: this.fb.array([]), - fk_pd_id: [this.pdDetails.pd_id], - fk_createdby: [this.users], - isactive: ['1'], - margin_per: [data.margin_per], - margin_value: [data.margin_value], - }); - }; - PdQuestionAssessedDailySalesPage.prototype.dailySalesChildWithData = function (data, fk_id) { - return this.fb.group({ - simc_id: [data.simc_id], - fk_sim_id: [fk_id], - sales_date: [data.sales_date, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - sales_value: [data.sales_value, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - }); - }; - PdQuestionAssessedDailySalesPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-daily-sales',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html"*/'\n\n \n \n Assessed Daily Sales Details\n\n\n \n\n\n\n\n
\n
\n \n
\n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n \n

{{item.get(\'sales_item\').value | titlecase}}

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n\n\n\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionAssessedDailySalesPage); - return PdQuestionAssessedDailySalesPage; -}()); - -//# sourceMappingURL=pd-question-assessed-daily-sales.js.map - -/***/ }), - -/***/ 376: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedPurchasePage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_aws_service__ = __webpack_require__(7); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionAssessedPurchasePage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedPurchasePage = (function () { - function PdQuestionAssessedPurchasePage(navCtrl, fb, navParams, qustCat, toast, aws) { - this.navCtrl = navCtrl; - this.fb = fb; - this.navParams = navParams; - this.qustCat = qustCat; - this.toast = toast; - this.aws = aws; - this.annual = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.purchaseDetails = this.navParams.get('purchase'); - this.users = this.aws.getlocale(); - this.rawMaterialForm = this.fb.group({ - purchase: this.fb.array([]), - }); - if (this.purchaseDetails != null) { - this.getpurchaseDetails(this.purchaseDetails); - } - else { - this.addPurchaseDetails(); - } - this.getdropList(); - } - PdQuestionAssessedPurchasePage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedPurchasePage'); - }; - PdQuestionAssessedPurchasePage.prototype.createPurchaseDetails = function () { - return this.fb.group({ - purchase_id: [null], - fk_pd_id: [this.pdDetails.pd_id], - purchase_item: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - purchase_qty: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_uom_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - rate_per_unit: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_purchase_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - fk_createdby: [this.users] - }); - }; - PdQuestionAssessedPurchasePage.prototype.getdropList = function () { - var _this = this; - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records'].filter(function (fre) { return fre.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('UOM').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.UOM = res['records'].filter(function (uom) { return uom.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.businessExpenses = res['records'].filter(function (bus) { return bus.isactive == 1; }); - } - }); - }; - PdQuestionAssessedPurchasePage.prototype.addPurchaseDetails = function () { - var control = this.rawMaterialForm.controls['purchase']; - control.push(this.createPurchaseDetails()); - }; - PdQuestionAssessedPurchasePage.prototype.deletePurchaseDetails = function (i) { - this.annual.splice(i, 1); - // this.annual[i].spl - this.grandpurchaseTotal = this.annual.reduce(function (a, b) { return +a + +b; }, 0); - var control = this.rawMaterialForm.controls['purchase']; - control.removeAt(i); - }; - PdQuestionAssessedPurchasePage.prototype.salecalculat = function (index, details) { - console.log(this.grandpurchaseTotal); - console.log(details, index); - var frequencyId = details.value.fk_frequency_id; - var purchaseQty = details.value.purchase_qty; - var UOM = details.value.rate_per_unit; - console.log(frequencyId, purchaseQty, UOM, index); - // console.log(frequencyId); - var annual; - if (purchaseQty != null && UOM != null) { - if (frequencyId == 1) { - } - else if (frequencyId == 2) { - annual = (purchaseQty * UOM * 250); - this.annual[index] = annual; - details.controls['annual_purchase_value'].setValue(annual); - } - else if (frequencyId == 3) { - annual = (purchaseQty * UOM); - this.annual[index] = annual; - details.controls['annual_purchase_value'].setValue(annual); - } - else if (frequencyId == 4) { - } - else if (frequencyId == 5) { - annual = (purchaseQty * UOM * 12); - this.annual[index] = annual; - details.controls['annual_purchase_value'].setValue(annual); - } - else if (frequencyId == 6) { - } - else if (frequencyId == 7) { - } - else if (frequencyId == 8) { - } - else { - } - this.grandpurchaseTotal = this.annual.reduce(function (a, b) { return +a + +b; }, 0); - } - else { - this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM'); - } - }; - PdQuestionAssessedPurchasePage.prototype.savepurchaseData = function (answerData) { - var _this = this; - if (this.rawMaterialForm.valid) { - var records = { 'records': answerData.purchase }; - console.log('data', records); - this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - // this.getAssessedDetails(); - } - }); - } - else { - this.toast.pdTriggerappmessage('Enter All Field'); - } - }; - PdQuestionAssessedPurchasePage.prototype.getpurchaseDetails = function (purchaseDetails) { - var _this = this; - console.log('function in', purchaseDetails); - var control = this.rawMaterialForm.controls['purchase']; - console.log(control); - if (purchaseDetails.length == 0) { - console.log('if'); - this.addPurchaseDetails(); - } - else { - console.log('else'); - purchaseDetails.forEach(function (val, index) { - // console.log(index); - control.push(_this.createPurchasewithData(val)); - _this.annual[index] = val.annual_purchase_value; - }); - this.grandpurchaseTotal = this.annual.reduce(function (a, b) { return (+a + +b); }, 0); - } - // console.log(control); - }; - PdQuestionAssessedPurchasePage.prototype.createPurchasewithData = function (data) { - return this.fb.group({ - purchase_id: [data.purchase_id], - fk_pd_id: [this.pdDetails.pd_id], - purchase_item: [data.purchase_item, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - purchase_qty: [data.purchase_qty, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_uom_id: [data.fk_uom_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - rate_per_unit: [data.rate_per_unit, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [data.fk_frequency_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_purchase_value: [data.annual_purchase_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - fk_createdby: [this.users] - }); - }; - PdQuestionAssessedPurchasePage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-purchase',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.html"*/'\n\n \n \n Purchase\n\n\n \n\n\n\n\n\n
\n
\n
\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n \n\n \n {{uom.name}}\n \n \n
\n
\n \n \n \n
\n
\n \n\n \n {{frq.name}}\n \n \n
\n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n

Grand Total:

\n
\n \n

{{grandpurchaseTotal}}

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]]) - ], PdQuestionAssessedPurchasePage); - return PdQuestionAssessedPurchasePage; -}()); - -//# sourceMappingURL=pd-question-assessed-purchase.js.map - -/***/ }), - -/***/ 377: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedBusinessPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionAssessedBusinessPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedBusinessPage = (function () { - function PdQuestionAssessedBusinessPage(navCtrl, navParams, fb, aws, qustCat, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.grandExpenseTotal = []; - this.expenseannual = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.expenseDetails = this.navParams.get('expense'); - this.users = this.aws.getlocale(); - this.BuissnessForm = this.fb.group({ - busExpense: this.fb.array([]), - }); - if (this.expenseDetails != null) { - this.getBuisnessExpenses(this.expenseDetails); - } - else { - this.addBusinessDetails(); - } - this.getdropdown(); - } - PdQuestionAssessedBusinessPage.prototype.grandpurchaseTotal = function (arg0) { - throw new Error("Method not implemented."); - }; - PdQuestionAssessedBusinessPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.businessExpenses = res['records'].filter(function (bus) { return bus.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records'].filter(function (frq) { return frq.isactive == 1; }); - } - }); - }; - PdQuestionAssessedBusinessPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedBusinessPage'); - }; - PdQuestionAssessedBusinessPage.prototype.createBusinessDetails = function () { - return this.fb.group({ - pd_expense_id: [null], - fk_pd_id: [this.pdDetails.pd_id], - expense_item_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - expense_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_expenses_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - fk_createdby: [this.users] - }); - }; - PdQuestionAssessedBusinessPage.prototype.addBusinessDetails = function () { - var control = this.BuissnessForm.controls['busExpense']; - control.push(this.createBusinessDetails()); - }; - PdQuestionAssessedBusinessPage.prototype.deleteBuisnessDetails = function (i) { - this.expenseannual.splice(i, 1); - this.grandExpenseTotal = this.expenseannual.reduce(function (a, b) { return +a + +b; }, 0); - var control = this.BuissnessForm.controls['busExpense']; - control.removeAt(i); - }; - PdQuestionAssessedBusinessPage.prototype.busExpensecalculat = function (index, details) { - var frequencyId = details.value.fk_frequency_id; - var expenseValue = details.value.expense_value; - var UOM = details.value.rate_per_unit; - var annual; - if (expenseValue != null) { - if (frequencyId == 1) { - } - else if (frequencyId == 2) { - annual = (expenseValue * 250); - this.expenseannual[index] = annual; - details.controls['annual_expenses_value'].setValue(annual); - } - else if (frequencyId == 3) { - annual = (expenseValue); - this.expenseannual[index] = annual; - details.controls['annual_expenses_value'].setValue(annual); - } - else if (frequencyId == 4) { - } - else if (frequencyId == 5) { - annual = (expenseValue * 12); - this.expenseannual[index] = annual; - details.controls['annual_expenses_value'].setValue(annual); - } - else if (frequencyId == 6) { - } - else if (frequencyId == 7) { - } - else if (frequencyId == 8) { - } - else { - } - this.grandExpenseTotal = this.expenseannual.reduce(function (a, b) { return +a + +b; }, 0); - } - else { - this.toast.pdTriggerappmessage('Enter the Amount and Frequency'); - } - }; - PdQuestionAssessedBusinessPage.prototype.saveBusinessData = function (answerData) { - var _this = this; - if (this.BuissnessForm.valid) { - var records = { 'records': answerData.busExpense }; - this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - } - else { - this.toast.pdTriggerappmessage('Enter The All Field'); - } - }; - PdQuestionAssessedBusinessPage.prototype.getBuisnessExpenses = function (expenseDetails) { - var _this = this; - if (expenseDetails.length == 0) { - this.addBusinessDetails(); - } - else { - var control_1 = this.BuissnessForm.controls['busExpense']; - expenseDetails.forEach(function (val, index) { - _this.expenseannual[index] = val.annual_expenses_value; - control_1.push(_this.createBusinessExpensewithData(val)); - }); - this.grandExpenseTotal = this.expenseannual.reduce(function (a, b) { return +a + +b; }, 0); - } - }; - PdQuestionAssessedBusinessPage.prototype.createBusinessExpensewithData = function (data) { - return this.fb.group({ - pd_expense_id: [data.pd_expense_id], - fk_pd_id: [this.pdDetails.pd_id], - expense_item_id: [data.expense_item_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - expense_value: [data.expense_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [data.fk_frequency_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_expenses_value: [data.annual_expenses_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - fk_createdby: [this.users] - }); - }; - PdQuestionAssessedBusinessPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-business',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html"*/'\n\n \n \n Business Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{expense.expense_item}}\n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n

Total Business Expenses:

\n
\n \n

{{grandExpenseTotal}}

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionAssessedBusinessPage); - return PdQuestionAssessedBusinessPage; -}()); - -//# sourceMappingURL=pd-question-assessed-business.js.map - -/***/ }), - -/***/ 378: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedHouseholdPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__ = __webpack_require__(10); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionAssessedHouseholdPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedHouseholdPage = (function () { - function PdQuestionAssessedHouseholdPage(navCtrl, navParams, fb, aws, toast, qustCat) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.aws = aws; - this.toast = toast; - this.qustCat = qustCat; - this.houseannual = []; - this.grandHouseExpenseTotal = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.houseExpenseDetails = this.navParams.get('FormId'); - this.expenseDetails = this.navParams.get('expense'); - this.users = this.aws.getlocale(); - this.houseHoldForm = this.fb.group({ - houseExpense: this.fb.array([]), - }); - if (this.expenseDetails != null) { - this.getHouseholdExpense(this.expenseDetails); - } - else { - this.addHouseExpenses(); - } - this.getdropdown(); - } - PdQuestionAssessedHouseholdPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage'); - }; - PdQuestionAssessedHouseholdPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records'].filter(function (frq) { return frq.isactive == 1; }); - } - }); - }; - PdQuestionAssessedHouseholdPage.prototype.createHouseExpense = function () { - return this.fb.group({ - household_expense_id: [null], - fk_pd_id: [this.pdDetails.pd_id], - expense_item: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - expense_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_expense_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ["1"], - fk_createdby: [this.users] - }); - }; - PdQuestionAssessedHouseholdPage.prototype.addHouseExpenses = function () { - var control = this.houseHoldForm.controls['houseExpense']; - control.push(this.createHouseExpense()); - }; - PdQuestionAssessedHouseholdPage.prototype.deleteHouseExpense = function (i) { - this.houseannual.splice(i, 1); - this.grandHouseExpenseTotal = this.houseannual.reduce(function (a, b) { return +a + +b; }, 0); - var control = this.houseHoldForm.controls['houseExpense']; - control.removeAt(i); - }; - PdQuestionAssessedHouseholdPage.prototype.houseExpensecalculat = function (index, details) { - var frequencyId = details.value.fk_frequency_id; - var expenseValue = details.value.expense_value; - // let UOM = details.value.rate_per_unit; - // console.log(frequencyId,purchaseQty,UOM,index); - // console.log(details); - var annual; - if (expenseValue != null) { - if (frequencyId == 1) { - } - else if (frequencyId == 2) { - annual = (expenseValue * 250); - this.houseannual[index] = annual; - details.controls['annual_expense_value'].setValue(annual); - } - else if (frequencyId == 3) { - annual = (expenseValue); - this.houseannual[index] = annual; - details.controls['annual_expense_value'].setValue(annual); - } - else if (frequencyId == 4) { - } - else if (frequencyId == 5) { - annual = (expenseValue * 12); - this.houseannual[index] = annual; - details.controls['annual_expense_value'].setValue(annual); - } - else if (frequencyId == 6) { - } - else if (frequencyId == 7) { - } - else if (frequencyId == 8) { - } - else { - } - this.grandHouseExpenseTotal = this.houseannual.reduce(function (a, b) { return +a + +b; }, 0); - console.log(this.grandHouseExpenseTotal); - } - else { - this.toast.pdTriggerappmessage('Enter the Amount and Frequency'); - } - }; - PdQuestionAssessedHouseholdPage.prototype.saveHouseExpenseData = function (answerData) { - var _this = this; - if (this.houseHoldForm.valid) { - var records = { 'records': answerData.houseExpense }; - this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - } - else { - this.toast.pdTriggerappmessage('Enter The All Field'); - } - }; - PdQuestionAssessedHouseholdPage.prototype.getHouseholdExpense = function (houseExpesneDetails) { - var _this = this; - if (houseExpesneDetails.length == 0) { - this.addHouseExpenses(); - } - else { - var control_1 = this.houseHoldForm.controls['houseExpense']; - houseExpesneDetails.forEach(function (val, index) { - _this.houseannual[index] = val.annual_expense_value; - control_1.push(_this.createHouseholdwithData(val)); - }); - this.grandHouseExpenseTotal = this.houseannual.reduce(function (a, b) { return +a + +b; }, 0); - } - }; - PdQuestionAssessedHouseholdPage.prototype.createHouseholdwithData = function (data) { - return this.fb.group({ - household_expense_id: [data.household_expense_id], - fk_pd_id: [this.pdDetails.pd_id], - expense_item: [data.expense_item, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - expense_value: [data.expense_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [data.fk_frequency_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_expense_value: [data.annual_expense_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ["1"], - fk_createdby: [this.users] - }); - }; - PdQuestionAssessedHouseholdPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-household',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.html"*/'\n\n \n \n House Hold Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

Total Household Expenses :

\n
\n \n

{{grandHouseExpenseTotal}}

\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]]) - ], PdQuestionAssessedHouseholdPage); - return PdQuestionAssessedHouseholdPage; -}()); - -//# sourceMappingURL=pd-question-assessed-household.js.map - -/***/ }), - -/***/ 379: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedBusinessIncomePage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionAssessedBusinessIncomePage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionAssessedBusinessIncomePage = (function () { - function PdQuestionAssessedBusinessIncomePage(navCtrl, navParams, fb, aws, qustCat, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.m_freqOfPurchase = []; - this.grandIncomeTotal = []; - this.incomeannual = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.expenseDetails = this.navParams.get('income'); - this.users = this.aws.getlocale(); - this.BuissnessForm = this.fb.group({ - busIncome: this.fb.array([]), - }); - if (this.expenseDetails != null) { - this.getBuisnessExpenses(this.expenseDetails); - } - else { - this.addBusinessDetails(); - } - this.getdropdown(); - } - PdQuestionAssessedBusinessIncomePage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.businessIncome = res['records'].filter(function (bus) { return bus.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records'].filter(function (frq) { return frq.isactive == 1; }); - } - }); - }; - PdQuestionAssessedBusinessIncomePage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage'); - }; - PdQuestionAssessedBusinessIncomePage.prototype.createBusinessDetails = function () { - return this.fb.group({ - pd_business_income_id: [null], - fk_pd_id: [this.pdDetails.pd_id], - business_income_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - income_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_income_value: [null, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - fk_createdby: [this.users], - other_income_item: [null], - other_frequncy_item: [null], - }); - }; - PdQuestionAssessedBusinessIncomePage.prototype.addBusinessDetails = function () { - var control = this.BuissnessForm.controls['busIncome']; - control.push(this.createBusinessDetails()); - }; - PdQuestionAssessedBusinessIncomePage.prototype.deleteBuisnessDetails = function (i) { - this.incomeannual.splice(i, 1); - this.grandIncomeTotal = this.incomeannual.reduce(function (a, b) { return +a + +b; }, 0); - var control = this.BuissnessForm.controls['busIncome']; - control.removeAt(i); - }; - PdQuestionAssessedBusinessIncomePage.prototype.busIncomecalculate = function (index, details) { - var frequencyId = details.value.fk_frequency_id; - var incomeValue = details.value.income_value; - // let UOM = details.value.rate_per_unit; - var annual; - if (incomeValue != null && incomeValue != null) { - var frequency_factor = this.m_freqOfPurchase.filter(function (frq) { return frq.frequency_id == frequencyId; })[0]; - if (frequencyId == 1) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 2) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 3) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 4) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 5) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 6) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 7) { - annual = (incomeValue * frequency_factor.mutiple_factor); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else if (frequencyId == 8) { - annual = (incomeValue); - this.incomeannual[index] = annual; - details.controls['annual_income_value'].setValue(annual); - } - else { - } - this.grandIncomeTotal = this.incomeannual.reduce(function (a, b) { return +a + +b; }, 0); - } - else { - this.toast.pdTriggerappmessage('Enter the Amount and Frequency'); - } - }; - PdQuestionAssessedBusinessIncomePage.prototype.saveBusinessData = function (answerData) { - var _this = this; - if (this.BuissnessForm.valid) { - var records = { 'records': answerData.busIncome }; - this.qustCat.saveassessedForms('saveOtherBusinessIncome', records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - } - else { - this.toast.pdTriggerappmessage('Enter The All Field'); - } - }; - PdQuestionAssessedBusinessIncomePage.prototype.getBuisnessExpenses = function (expenseDetails) { - var _this = this; - if (expenseDetails.length == 0) { - this.addBusinessDetails(); - } - else { - var control_1 = this.BuissnessForm.controls['busIncome']; - expenseDetails.forEach(function (val, index) { - _this.incomeannual[index] = val.annual_income_value; - control_1.push(_this.createBusinessExpensewithData(val)); - }); - this.grandIncomeTotal = this.incomeannual.reduce(function (a, b) { return +a + +b; }, 0); - } - }; - PdQuestionAssessedBusinessIncomePage.prototype.createBusinessExpensewithData = function (data) { - return this.fb.group({ - pd_business_income_id: [data.pd_business_income_id], - fk_pd_id: [this.pdDetails.pd_id], - business_income_id: [data.business_income_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - income_value: [data.income_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - fk_frequency_id: [data.fk_frequency_id, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - annual_income_value: [data.annual_income_value, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required])], - isactive: ['1'], - fk_createdby: [this.users], - other_income_item: [data.other_income_item], - other_frequncy_item: [data.other_frequncy_item], - }); - }; - PdQuestionAssessedBusinessIncomePage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-business-income',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.html"*/'\n\n \n \n Business Income\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{income.business_income_item}}\n \n \n\n \n \n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n

Total Business Income:

\n
\n \n

{{grandIncomeTotal}}

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionAssessedBusinessIncomePage); - return PdQuestionAssessedBusinessIncomePage; -}()); - -//# sourceMappingURL=pd-question-assessed-business-income.js.map - -/***/ }), - -/***/ 380: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionLenderRepresentativePage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PdQuestionLenderRepresentativePage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionLenderRepresentativePage = (function () { - function PdQuestionLenderRepresentativePage(navCtrl, navParams, aws, qustCat, toast, fb) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.fb = fb; - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.users = this.aws.getlocale(); - this.representativeForm = this.fb.group({ - pdid: [this.pdDetails.pd_id], - formid: [this.FormId.form_id], - fk_createdby: [this.users], - lender_representative_accompany: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - representative_remarks: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - lender_representative_details: this.fb.array([]), - }); - this.getLenderReDetails(); - } - PdQuestionLenderRepresentativePage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionLenderRepresentativePage'); - }; - PdQuestionLenderRepresentativePage.prototype.createlenReDetails = function () { - return this.fb.group({ - lender_representative_who_accompanies: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - lender_representative_carry_loan_files: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - }); - }; - PdQuestionLenderRepresentativePage.prototype.selectedLoanChanges = function (e) { - if (e.value == 'Yes') { - var control = this.representativeForm.controls['lender_representative_details']; - control.push(this.createlenReDetails()); - } - else if (e.value == 'No') { - var arr = this.representativeForm.controls.lender_representative_details; - arr.removeAt(0); - } - }; - PdQuestionLenderRepresentativePage.prototype.sumbitData = function (answerData) { - var _this = this; - if (this.representativeForm.valid) { - var records = this.representativeForm.value; - this.qustCat.saveForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }); - } - else { - this.toast.pdTriggerappmessage('Enter All Field'); - } - }; - PdQuestionLenderRepresentativePage.prototype.getLenderReDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var lenderReDetails = res['records']; - if (lenderReDetails.lender_representative_accompany == 'Yes') { - _this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany); - _this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks); - var lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function (key) { - return res['records'].lender_representative_details[key]; - }); - var control_1 = _this.representativeForm.controls['lender_representative_details']; - lender_represent_details.forEach(function (val) { - control_1.push(_this.createlenReDetails()); - }); - _this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details); - } - else { - _this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany); - _this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks); - } - } - }); - }; - PdQuestionLenderRepresentativePage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-lender-representative',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n\n
\n \n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n \n \n Remarks\n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) - ], PdQuestionLenderRepresentativePage); - return PdQuestionLenderRepresentativePage; -}()); - -//# sourceMappingURL=pd-question-lender-representative.js.map - -/***/ }), - -/***/ 381: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionGeneralInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_general_other_applicant_pd_question_general_other_applicant__ = __webpack_require__(382); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__angular_common__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__ = __webpack_require__(383); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - -/** - * Generated class for the PdQuestionGeneralInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionGeneralInfoPage = (function () { - function PdQuestionGeneralInfoPage(navCtrl, navParams, aws, qustCat, toast, fb, modal) { - var _this = this; - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.fb = fb; - this.modal = modal; - this.pipe = new __WEBPACK_IMPORTED_MODULE_7__angular_common__["d" /* DatePipe */]('en-US'); - this.fetch_related_details = []; - this.pd_applicants_details = []; - this.OldData = []; - this.OldData_indi = []; - this.cart = []; - this.temp = 0; - this.maxDate = new Date(); - this.pd_applicants_details = []; - this.pd_applicants_details.pop(); - this.pdDetails = this.navParams.get('pdDetails'); - console.log(this.pdDetails); - //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join("/"); - //this.maxDate=new Date(get_max_date) - this.FormId = this.navParams.get('FormId'); - this.customer_segment_abbr = this.pdDetails.customer_segment_abbr; - this.users = this.aws.getlocale(); - this.getdropdown(); - this.generalForm = this.fb.group({ - pdid: this.pdDetails.pd_id, - formid: this.FormId.form_id, - applicant_list: this.fb.array([]), - applicant_relation: this.fb.array([]), - list_value: this.fb.array([]), - company_value: this.fb.array([]), - individuals: this.fb.array([]), - companies: this.fb.array([]), - persons_with_relationships: this.fb.array([]), - company_with_relationships: this.fb.array([]), - rental_income_rcv_in_years: [''], - rental_income_rcv_in_month: [''], - general_remark: '' - }); - //this.initIndividuals(); - this.pd_applicants_details = this.pdDetails.applicat_details; - // this.getcoapplicantDetails(); - this.buttonClick = false; - this.h_companies = false; - this.addIndi = false; - this.addComp = false; - // this.initCompanies() - this.datav = [{ - name: "fairoj", - id: 1 - }, - { - name: "ff", - id: 2 - } - ]; - //this.fulldata=this.generalForm.value - this.generalForm.controls['list_value'].valueChanges.subscribe(function (val) { - var control = _this.generalForm.controls['list_value']; - _this.individualsList = control.value.filter(function (element) { return element.is_applicant == true; }); - _this.individualsListBothCase = control.value.filter(function (element) { return element.is_applicant == true || element.is_person_met == true; }); - _this.fulldata = control.value; - //control.controls.length - //control.push() - }); - this.generalForm.controls['company_value'].valueChanges.subscribe(function (val) { - var control = _this.generalForm.controls['company_value']; - _this.companyList = control.value.filter(function (element) { return element.company_name; }); - }); - this.i = 0; - } - PdQuestionGeneralInfoPage.prototype.ionViewDidLoad = function () { - // this.pd_applicants_details.pop(); - console.log('ionViewDidLoad PdQuestionGeneralInfoPage'); - this.getGeneralForm(); - }; - PdQuestionGeneralInfoPage.prototype.ionViewLoaded = function () { - // setTimeout(() => { - // this.generalForm.controls['general_remark']['controls'].setFocus(); - // },150); - }; - PdQuestionGeneralInfoPage.prototype.initlistv = function (data, purpose) { - var control = this.generalForm.controls['list_value']; - console.log("control", control.length); - if (purpose == 'ins') { - for (var _i = 0, data_1 = data; _i < data_1.length; _i++) { - var val = data_1[_i]; - var c_qualification_name = this.qualificationById(val.qualification); // for getting qualification Name - var formData = this.fb.group({ - applicant_title_name: [val.applicant_title_name], - applicant_name: [val.applicant_name], - is_person_met: val.is_person_met, - is_applicant: val.is_applicant, - age: [val.age], - qualification: [val.qualification], - course_name: [val.course_name], - individuals_order_id: [control.length + 1], - is_new: true, - is_active: true, - pd_co_applicant_id: [control.length + 1], - qualification_name: [c_qualification_name] - }); - control.push(formData); - this.buttonClick = false; - // this.generalForm.value.individuals.value="" - } - } - if (purpose == 'get') { - for (var _a = 0, data_2 = data; _a < data_2.length; _a++) { - var val = data_2[_a]; - var c_qualification_name = this.qualificationById(val.qualification); // for getting qualification Name - var formData = this.fb.group({ - applicant_title_name: [val.applicant_title_name], - applicant_name: [val.applicant_name], - is_person_met: val.is_person_met, - is_applicant: val.is_applicant, - age: [val.age], - qualification: [val.qualification], - course_name: [val.course_name], - individuals_order_id: [val.individuals_order_id], - is_new: [val.is_new], - is_active: [val.is_active], - pd_co_applicant_id: [val.pd_co_applicant_id], - qualification_name: [c_qualification_name] - }); - control.push(formData); - this.buttonClick = false; - // this.generalForm.value.individuals.value="" - } - } - }; - PdQuestionGeneralInfoPage.prototype.qualificationById = function (data) { - for (var _i = 0, _a = this.qualificationList; _i < _a.length; _i++) { - var i = _a[_i]; - if (data == i.qualification_id) { - this.qual_name = i.qualification_name; - return this.qual_name; - } - } - }; - PdQuestionGeneralInfoPage.prototype.initCompanyValue = function (data, purpose) { - var control = this.generalForm.controls['company_value']; - if (purpose == 'ins') { - for (var _i = 0, data_3 = data; _i < data_3.length; _i++) { - var val = data_3[_i]; - var c_business_name = ''; - if (val.business_entity_type != 1) { - c_business_name = this.businessEntityById(val.business_entity_type); - } - if (val.business_entity_type == 1) { - c_business_name = val.business_entity_type_other; - } - var formData = this.fb.group({ - company_name: [val.company_name], - // pd_co_applicant_id:[this.i+1], - // company_order_id:[this.lengthv.companies.length+1], - company_order_id: [control.length + 1], - is_company_applicant: [val.is_company_applicant], - business_entity_type: [val.business_entity_type], - business_entity_type_other: [val.business_entity_type_other], - is_new: true, - is_active: true, - company_messrs_name: ['M/s'], - business_years: [val.business_years], - business_month: [val.business_month], - business_date_object: [val.business_date_object], - business_entity_type_name: [c_business_name] - }); - control.push(formData); - this.h_companies = false; - } - } - if (purpose == 'get') { - for (var _a = 0, data_4 = data; _a < data_4.length; _a++) { - var val = data_4[_a]; - var c_business_name = ''; - if (val.business_entity_type != 1) { - c_business_name = this.businessEntityById(val.business_entity_type); - } - if (val.business_entity_type == 1) { - c_business_name = val.business_entity_type_other; - } - var formData = this.fb.group({ - company_name: [val.company_name], - // pd_co_applicant_id:[this.i+1], - company_order_id: [val.company_order_id], - is_company_applicant: [val.is_company_applicant], - business_entity_type: [val.business_entity_type], - business_entity_type_other: [val.business_entity_type_other], - is_new: [val.is_new], - is_active: [val.is_active], - company_messrs_name: [val.company_messrs_name], - business_years: [val.business_years], - business_month: [val.business_month], - business_date_object: [val.business_date_object], - business_entity_type_name: [c_business_name] - }); - control.push(formData); - this.h_companies = false; - } - } - }; - PdQuestionGeneralInfoPage.prototype.businessEntityById = function (val) { - for (var _i = 0, _a = this.businessEntityTypeList; _i < _a.length; _i++) { - var v = _a[_i]; - if (val == v.business_entity_type_id) { - var name = v.business_entity_type_name; - return name; - } - } - }; - PdQuestionGeneralInfoPage.prototype.initIndividuals = function (data) { - var control = this.generalForm.controls['individuals']; - control.controls = []; - if (data == null) { - var formData = this.fb.group({ - applicant_name: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - is_person_met: false, - is_applicant: false, - age: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - qualification: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - course_name: [''], - applicant_title_name: [''] - }); - control.push(formData); - } - else { - var formData = this.fb.group({ - applicant_name: [data.applicant_name, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - is_person_met: data.is_person_met, - is_applicant: data.is_applicant, - age: [data.age, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - qualification: [data.qualification, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - course_name: [data.course_name], - applicant_title_name: [data.applicant_title_name] - }); - this.buttonClick = !this.buttonClick; - control.push(formData); - } - }; - PdQuestionGeneralInfoPage.prototype.initCompanies = function (data) { - var control = this.generalForm.controls['companies']; - control.controls = []; - if (data == null) { - var formData = this.fb.group({ - company_name: [''], - is_company_applicant: false, - business_entity_type: [''], - business_entity_type_other: [''], - business_years: [''], - business_month: [''], - business_date_object: [''] - }); - control.controls = []; - control.push(formData); - } - else { - var formData = this.fb.group({ - company_name: [data.company_name], - is_company_applicant: data.is_company_applicant, - business_entity_type: [data.business_entity_type], - business_entity_type_other: [data.business_entity_type_other], - business_years: [data.business_years], - business_month: [data.business_month], - business_date_object: [data.business_date_object] - }); - this.h_companies = !this.h_companies; - control.push(formData); - } - }; - PdQuestionGeneralInfoPage.prototype.initPersonRelationship = function (value) { - var control = this.generalForm.controls['persons_with_relationships']; - if (value == '') { - var formData = this.fb.group({ - pd_co_applicant_id: [''], - applicant_name: [''], - relationship: [''], - relation_to: [''], - individuals_order_id: [control.length + 1], - }); - control.push(formData); - } - else { - for (var _i = 0, value_1 = value; _i < value_1.length; _i++) { - var val = value_1[_i]; - var formData = this.fb.group({ - pd_co_applicant_id: [val.pd_co_applicant_id], - applicant_name: [val.applicant_name], - relationship: [val.relationship], - relation_to: [val.relation_to], - }); - control.push(formData); - } - } - }; - PdQuestionGeneralInfoPage.prototype.initCompanyRelationShip = function (value) { - if (value == '') { - var formData = this.fb.group({ - applicant_name: [''], - company_relationship: [''], - relation_to_company: [''], - }); - var control = this.generalForm.controls['company_with_relationships']; - control.push(formData); - } - else { - for (var _i = 0, value_2 = value; _i < value_2.length; _i++) { - var val = value_2[_i]; - var formData = this.fb.group({ - applicant_name: [val.applicant_name], - company_relationship: [val.company_relationship], - relation_to_company: [val.relation_to_company], - }); - var control = this.generalForm.controls['company_with_relationships']; - control.push(formData); - } - } - }; - PdQuestionGeneralInfoPage.prototype.add = function () { - this.initIndividuals(null); - }; - PdQuestionGeneralInfoPage.prototype.addRec = function (v) { - if (v == '1') { - this.addIndi = true; - this.buttonClick = !this.buttonClick; - this.initIndividuals(null); - } - if (v == '2') { - console.log("companies", this.h_companies); - this.addComp = true; - // this.h_companies=true; - this.h_companies = !this.h_companies; - console.log("companies", this.h_companies); - this.initCompanies(null); - } - }; - PdQuestionGeneralInfoPage.prototype.editIndividuals = function (index) { - var values = this.generalForm.controls.list_value.value[index]; - console.log(values); - this.addIndi = false; - this.updateIndex_indi = index; - this.initIndividuals(values); - // this.nameField.nativeElement.focus(); - }; - PdQuestionGeneralInfoPage.prototype.editCompanies = function (index) { - console.log("index", index); - var values = this.generalForm.controls.company_value.value[index]; - console.log(values); - this.updateIndex_comp = index; - this.addComp = false; - //this. - this.initCompanies(values); - }; - PdQuestionGeneralInfoPage.prototype.update = function (v) { - console.log("index", v); - if (v == '1') { - if (!this.generalForm.controls['individuals'].valid) { - this.toast.pdTriggerappmessage("Please Fill all Mandatory fields Marked with '*'"); - } - else { - var val = this.generalForm.controls.individuals.value[0]; - var old = this.generalForm.controls.list_value.value[this.updateIndex_indi]; - // const control=this.generalForm.controls.list_value.at(this.updateIndex_indi) - // const control=this.list_value - var c_qualification_name = this.qualificationById(val.qualification); - var control = this.generalForm.controls['list_value']['controls'][this.updateIndex_indi]; - control.patchValue({ - applicant_title_name: val.applicant_title_name, - applicant_name: val.applicant_name, - is_person_met: val.is_person_met, - is_applicant: val.is_applicant, - age: val.age, - qualification: val.qualification, - course_name: val.course_name, - individuals_order_id: old.individuals_order_id, - is_new: old.is_new, - is_active: old.is_active, - pd_co_applicant_id: old.pd_co_applicant_id, - qualification_name: c_qualification_name - }); - this.buttonClick = false; - console.log(this.generalForm.controls.list_value['controls']); - // this.generalForm.controls.list_value.value.scrollToTop(); - // this.generalForm.controls['list_value']._scrollContent; - //this.myinput._scrollContent(); - console.log("values", val); - console.log("old", old); - console.log(control); - } - } - else if (v == '2') { - if (!this.generalForm.controls['companies'].valid) { - this.toast.pdTriggerappmessage("Please Fill all Mandatory Fields Marked with '*"); - } - else { - var val = this.generalForm.controls.companies.value[0]; - var c_business_name = this.businessEntityById(val.business_entity_type); - var control = this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]; - control.patchValue({ - company_name: val.company_name, - // company_order_id:[control.length+1], - is_company_applicant: val.is_company_applicant, - business_entity_type: val.business_entity_type, - business_entity_type_other: val.business_entity_type_other, - // is_new:true, - // is_active:true, - //company_messrs_name:['M/s'], - business_years: val.business_years, - business_month: val.business_month, - business_date_object: val.business_date_object, - business_entity_type_name: c_business_name - }); - this.h_companies = false; - console.log(this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]); - } - } - }; - PdQuestionGeneralInfoPage.prototype.delete = function (v) { - // const control=this.generalForm.controls['individuals']; - //control.removeAt(i); - //this.data=this.generalForm.value.individuals; - this.cart.push(this.generalForm.value.individuals); - this.data = Object.assign(this.cart); - // this.data=Object.assign(this.generalForm.value.individuals) - this.datajson = JSON.stringify(this.cart); - if (v == '1') { - if (!this.generalForm.controls['individuals'].valid) { - this.toast.pdTriggerappmessage("Please Fill all Mandatory field Marked with '*'"); - } - else { - this.initlistv(this.generalForm.value.individuals, 'ins'); - this.initPersonRelationship(''); - } - } - else if (v == '2') { - if (!this.generalForm.controls['companies'].valid) { - this.toast.pdTriggerappmessage("Please Fill all Mandatory field Marked with '*'"); - } - else { - this.initCompanyValue(this.generalForm.value.companies, 'ins'); - } - } - }; - PdQuestionGeneralInfoPage.prototype.removeList = function (i, index) { - if (index == '1') { - //For List List_value(Individuals) - var control = this.generalForm.controls['list_value']; - control.value[i].is_active = false; - this.OldData_indi.push(control.value[i]); - control.removeAt(i); - //For Person RelationShip auto Delete - var control1 = this.generalForm.controls['persons_with_relationships']; - control1.removeAt(i); - } - if (index == 2) { - //For Company_values(Companies) - var control = this.generalForm.controls['company_value']; - control.value[i].is_active = false; - var vla = control.value[i]; - this.OldData.push(vla); - control.removeAt(i); - // let control: any = this.generalForm.get('companies') as FormArray; - //this.generalForm.controls['companies'] - //control.controls['is_active'].setValue(false); - //control.controls[i].clearValidators(); - //control.controls[i].updateValueAndValidity(); - //control.clear - // control.controls[i].is_active.setValue(false); - /* control.controls[i].controls.company_name.clearValidators(); - control.controls[i].controls.company_name.updateValueAndValidity(); - control.controls[i].controls.business_years.clearValidators(); - control.controls[i].controls.business_years.updateValueAndValidity(); - control.controls[i].controls.business_entity_type.clearValidators(); - control.controls[i].controls.business_entity_type.updateValueAndValidity();*/ - } - if (index == "companyrel") { - //For company_relationship - var control = this.generalForm.controls['company_with_relationships']; - control.removeAt(i); - } - }; - PdQuestionGeneralInfoPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.qualificationList = res['records'].filter(function (com) { return com.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(function (res) { - _this.businessEntityTypeList = res['records'].filter(function (com) { return com.isactive == 1; }); - }); - this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.relationShipList = res['records'].filter(function (rel) { return rel.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.companyRelationShipList = res['records'].filter(function (com) { return com.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('TITLES').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.titleList = res['records'].filter(function (com) { return com.isactive == 1; }); - } - }); - }; - PdQuestionGeneralInfoPage.prototype.getcoapplicantDetails = function (checkApplicantExist, exist_applicant_relation) { - var _this = this; - var applicantControl = this.generalForm.controls['applicant_list']; - var relationControl = this.generalForm.controls['applicant_relation']; - if (checkApplicantExist.length > 0) { - checkApplicantExist.forEach(function (val) { - applicantControl.push(_this.createApplicant(val)); - }); - } - if (exist_applicant_relation.length > 0) { - exist_applicant_relation.forEach(function (val) { - relationControl.push(_this.createApplicantRelation(val)); - //push related to details - _this.fetch_related_details.push(val.applicant_name); - }); - } - }; - PdQuestionGeneralInfoPage.prototype.createApplicant = function (elementValue) { - return this.fb.group({ - pd_co_applicant_id: [elementValue.pd_co_applicant_id], - applicant_name: [elementValue.applicant_name], - company_name: [elementValue.company_name], - exist_status: [elementValue.exist_status == 1 && elementValue.pd_co_applicant_id > 0 ? true : false], - }); - }; - PdQuestionGeneralInfoPage.prototype.coapplicantChange = function (event, index, item) { - var _this = this; - var relationControl = this.generalForm.controls['applicant_relation']; - var applicantControl = this.generalForm.controls['applicant_list']; - if (item.exist_status.value) { - if (item.pd_co_applicant_id.value == 0) { - var modal = this.modal.create(__WEBPACK_IMPORTED_MODULE_6__pd_question_general_other_applicant_pd_question_general_other_applicant__["a" /* PdQuestionGeneralOtherApplicantPage */]); - modal.onDidDismiss(function (data) { - if (data != 1) { - data.otherName.forEach(function (val) { - var applicant_details = { 'pd_co_applicant_id': val.pd_co_applicant_id, 'applicant_name': val.applicant_name, 'applicant_relation_to': '', 'relation': '', 'company_name': '', 'company_relation': '' }; - relationControl.push(_this.createApplicantRelation(applicant_details)); - // push related to details - _this.fetch_related_details.push(val.applicant_name); - }); - } - else { - applicantControl.at(index).get('exist_status').setValue(false); - } - }); - modal.present(); - } - else { - var applicant_details = { 'pd_co_applicant_id': item.pd_co_applicant_id.value, 'applicant_name': item.applicant_name.value, 'applicant_relation_to': '', 'relation': '', 'company_name': item.company_name.value, 'company_relation': '' }; - relationControl.push(this.createApplicantRelation(applicant_details)); - // push related to details - this.fetch_related_details.push(item.applicant_name.value); - } - } - else { - var relationControl_1 = this.generalForm.controls['applicant_relation']; - var pos_id = relationControl_1.value.map(function (e) { - return e.pd_co_applicant_id; - }).indexOf(item.pd_co_applicant_id.value); - if (item.pd_co_applicant_id.value != 0) { - relationControl_1.removeAt(pos_id); - var pos_name = this.fetch_related_details.indexOf(item.applicant_name.value); - this.fetch_related_details.splice(pos_name, 1); - } - else { - applicantControl.at(index).get('exist_status').setValue(false); - } - // remove related to details - } - }; - PdQuestionGeneralInfoPage.prototype.createApplicantRelation = function (elementValue) { - return this.fb.group({ - pd_co_applicant_id: [elementValue.pd_co_applicant_id], - applicant_name: [elementValue.applicant_name], - company_name: [elementValue.company_name, elementValue.company_name ? __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required : __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].nullValidator], - company_relationship: [elementValue.company_relationship], - applicant_relation_to: [elementValue.applicant_relation_to, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - relationship: [elementValue.relationship], - }); - }; - // temparr=[]; - PdQuestionGeneralInfoPage.prototype.removereferance = function (index) { - var relationControl = this.generalForm.controls['applicant_relation']; - relationControl.removeAt(index); - // this.temparr = []; - }; - // createApplicateOthers() - // { - // return this.fb.group( - // { - // Name: - // }) - // } - PdQuestionGeneralInfoPage.prototype.ConvertMonthintoYearforBusiness = function (e, controlIndex, flag) { - var converted_month = e % 12; - var converted_year = e / 12; - if (flag == 1) { - var control = this.generalForm.get('companies'); - control = control.controls[controlIndex]; - var business_year = control.controls.business_years.value; - control.controls.business_years.setValue(+business_year + +Math.floor(converted_year)); - control.controls.business_month.setValue(Math.floor(converted_month)); - } - else if (flag == 2) { - var ri_year = this.generalForm.controls.rental_income_rcv_in_years.value; - this.generalForm.controls['rental_income_rcv_in_years'].setValue(+ri_year + +Math.floor(converted_year)); - this.generalForm.controls['rental_income_rcv_in_month'].setValue(Math.floor(converted_month)); - } - }; - PdQuestionGeneralInfoPage.prototype.getDateObjects = function (values, controlIndex) { - var control = this.generalForm.get('companies'); - control.controls['business_years'] = ''; - control.controls['business_month'] = ''; - control = control.controls[controlIndex]; - var pd_initiation_date = this.pdDetails.pd_date_of_initiation.split('/').reverse().join("/"); - var selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); - ; - var diffInMs = Date.parse(pd_initiation_date) - Date.parse(selected_date); - var diff = Math.floor(diffInMs / 1000); - diff /= (60 * 60 * 24 * 30); - diff = Math.abs(Math.round(diff)); - control.controls['business_years'].setValue(0); - control.controls['business_month'].setValue(0); - if (diff) { - control.controls['business_years'].setValue(Math.floor(diff / 12)); - control.controls['business_month'].setValue(Math.floor(diff % 12)); - } - }; - PdQuestionGeneralInfoPage.prototype.submitData = function (answerData) { - var _this = this; - console.log('1)', this.temp); - var saveRecords = {}; - var valuesData_indi = []; - var valuesData = []; - var existData_indi = Object.keys(answerData.list_value).map(function (key) { - return answerData.list_value[key]; - }); - existData_indi.forEach(function (element) { - valuesData_indi.push(element); - }); - if (this.OldData_indi.length > 0) { - this.OldData_indi.forEach(function (element) { - valuesData_indi.push(element); - }); - } - var existData = Object.keys(answerData.company_value).map(function (key) { - return answerData.company_value[key]; - }); - existData.forEach(function (element) { - valuesData.push(element); - }); - if (this.OldData.length > 0) { - this.OldData.forEach(function (element) { - valuesData.push(element); - }); - } - if (valuesData_indi.length > 0) { - console.log('2)', this.temp); - valuesData_indi.forEach(function (val, index) { - if (val.is_person_met == false) { - _this.temp++; - } - console.log('3)', _this.temp); - }); - console.log('4)', this.temp, 'length', valuesData_indi.length); - if (this.temp == valuesData_indi.length) { - console.log('5)', this.temp); - this.toast.pdTriggerappmessage('Please Choose Name of Person Met.!'); - this.temp = 0; - console.log('6)', this.temp); - return; - } - } - saveRecords.individuals = valuesData_indi; - saveRecords.companies = valuesData; - saveRecords.pdid = answerData.pdid; - saveRecords.formid = answerData.formid; - saveRecords.fk_createdby = this.users; - saveRecords.persons_with_relationships = answerData.persons_with_relationships; - saveRecords.company_with_relationships = answerData.company_with_relationships; - saveRecords.general_remark = answerData.general_remark; - this.qustCat.saveForm(saveRecords).subscribe(function (dataResult) { - if (dataResult['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 3000); - } - else { - _this.toast.pdTriggerappmessage('Error'); - } - }); - /* Old Data - if(this.generalForm.valid) - { - let saveRecords:any = {} - let applicantList:any=[]; - let applicantRelationList:any=[]; - // this for applicant list for selected - answerData.applicant_list.forEach((element,key) => { - if(element.exist_status==1){ - applicantList.push({ - "pd_co_applicant_id":element.pd_co_applicant_id, - "applicant_name":element.applicant_name, - }) - } - }); - // this is for selected applicant relation - answerData.applicant_relation.forEach((element,key) => { - applicantRelationList.push({ - "pd_co_applicant_id":element.pd_co_applicant_id, - "applicant_name":element.applicant_name, - "company_name":element.company_name, - "company_relationship":element.company_relationship, - "applicant_relation_to":element.applicant_relation_to, - "relationship":element.relationship, - }) - }); - - saveRecords.pdid=answerData.pdid; - saveRecords.formid=answerData.formid; - saveRecords.general_remark=answerData.general_remark; - saveRecords.selected_applicant=applicantList; - saveRecords.applicant_relation=applicantRelationList; - saveRecords.fk_createdby = this.users; - this.qustCat.saveForm(saveRecords).subscribe(res=> - { - if(res['dataStatus']==true) - { - this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - this.navCtrl.pop(); - } - }) - }*/ - }; - PdQuestionGeneralInfoPage.prototype.getGeneralForm = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (res) { - _this.data_all = res['records']; - var exist_companies; - var exist_company_with_relationship; - var companyControl = _this.generalForm.get('company_value'); - companyControl.controls = []; - _this.lengthv = _this.data_all; - if (res['dataStatus'] == true) { - _this.generalForm.controls['general_remark'].setValue(_this.data_all.general_remark); - // - var arrlist_indi = []; - var exist_individuals = Object.keys(res['records'].individuals).map(function (key) { - return res['records'].individuals[key]; - }); - if (exist_individuals.length > 0) { - exist_individuals.forEach(function (element) { - if (element.is_active != false) { - arrlist_indi.push(element); - } - else { - _this.OldData_indi.push(element); - } - }); - } - _this.initlistv(arrlist_indi, 'get'); - if (_this.data_all.persons_with_relationships != '') { - _this.initPersonRelationship(_this.data_all.persons_with_relationships); - } - //Create Company with Relationship - exist_company_with_relationship = Object.keys(res['records'].company_with_relationships).map(function (key) { - return res['records'].company_with_relationships[key]; - }); - if (_this.customer_segment_abbr != 'SE-RI') { - if (exist_company_with_relationship.length > 0) { - exist_company_with_relationship.forEach(function (key) { - _this.initCompanyRelationShip(key); - }); - } - else if (exist_company_with_relationship.length == 0) { - _this.initCompanyRelationShip(''); - } - //create Companies - exist_companies = Object.keys(res['records'].companies).map(function (key) { - return res['records'].companies[key]; - }); - var arraylis = []; - if (exist_companies.length > 0) { - exist_companies.forEach(function (element, cindex) { - if (element.is_active != false) { - arraylis.push(element); - } - else { - _this.OldData.push(element); - } - }); - } - _this.initCompanyValue(arraylis, 'get'); - _this.generalForm.controls['rental_income_rcv_in_years'].setValue(null); - _this.generalForm.controls['rental_income_rcv_in_month'].setValue(null); - } - else if (_this.customer_segment_abbr == 'SE-RI') { - _this.generalForm.controls['rental_income_rcv_in_years'].setValue(res['records'].rental_income_rcv_in_years ? res['records'].rental_income_rcv_in_years : ''); - _this.generalForm.controls['rental_income_rcv_in_month'].setValue(res['records'].rental_income_rcv_in_month ? res['records'].rental_income_rcv_in_month : ''); - } - // var arraylis:any=[] - // if(exist_companies.length>0){ - // exist_companies.forEach((element,cindex)=>{ - // if(element.is_active!=false){ - // arraylis.push(element); - // } - // else{ - // this.OldData.push(element); - // } - // }) - // } - // this.initCompanyValue(arraylis,'get'); - // if(this.data_all.company_with_relationships != ''){ - // this.initCompanyRelationShip(this.data_all.company_with_relationships); - // } - } - else { - console.log("Else data", _this.pd_applicants_details); - _this.pd_applicants_details.forEach(function (datas, index) { - datas.is_applicant = true, - datas.is_person_met = false; - datas.is_new = false; - datas.is_main_applicant = datas.applicant_type == '1' ? true : false; - datas.is_active = true; - datas.individuals_order_id = index + 1; - // company_order_id = index+1, - datas.age = '', - datas.qualification = '', - datas.course_name = ''; - if (datas.company_name != '' && datas.company_name != null) { - console.log("company"); - var setCompanyValues = { company_order_id: companyControl.controls.length + 1, company_name: datas.company_name, is_company_applicant: datas.is_company_applicant, business_entity_type: datas.business_entity_type, business_entity_type_other: datas.business_entity_type_other, business_years: datas.business_years, business_month: datas.business_month, business_date_object: datas.business_date_object, is_new: datas.is_new, is_active: true }; - companyControl.push(_this.createCompanies(setCompanyValues)); - } - }); - // this.lengthv.push("individuals") - // this.lengthv.push("companies") - // this.lengthv.push('persons_with_relationships') - //this.lengthv.push("") - console.log("applicant", _this.lengthv); - _this.initlistv(_this.pd_applicants_details, 'get'); - _this.initPersonRelationship(_this.pd_applicants_details); - // this.initCompanyValue(this.pd_applicants_details,'get'); - _this.initCompanyRelationShip(''); - } - }); - /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; - this.qustCat.retiverForm(records).subscribe(res=> - { - if(res['dataStatus']==true) - { - this.pd_applicants_details.push({'pd_co_applicant_id':"0",'applicant_name':'Others'}); - - let generalDetails = res['records']; - this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark); - - let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key) - { - return res['records'].applicant_relation[key]; - }); - - let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key) - { - return res['records'].selected_applicant[key].pd_co_applicant_id; - }); - let applicantControl = this.generalForm.controls['applicant_list']; - - let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id); - let checkApplicantExist =actual_applicant.map((id, index) => { - if (selected_applicant.indexOf(id) < 0) { - this.pd_applicants_details[index].exist_status=0; - return this.pd_applicants_details[index]; - } - else{ - this.pd_applicants_details[index].exist_status=1; - this.pd_applicants_details[index].applicant_relation_to=''; - this.pd_applicants_details[index].relation=''; - return this.pd_applicants_details[index]; - } - }).filter(item => item != undefined); - this.getcoapplicantDetails(checkApplicantExist,applicant_relation); - }else - { - this.pd_applicants_details.push({'pd_co_applicant_id':"0",'applicant_name':'Others'}); - - } - })*/ - }; - PdQuestionGeneralInfoPage.prototype.createCompanies = function (elementValue) { - var name = this.businessEntityById(elementValue.business_entity_type); - return this.fb.group({ - company_order_id: [elementValue.company_order_id], - company_name: [elementValue.company_name,], - company_messrs_name: ['M/s'], - is_company_applicant: [elementValue.is_company_applicant], - business_entity_type: [elementValue.business_entity_type, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - business_years: [elementValue.business_years, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required], - business_month: [elementValue.business_month], - business_date_object: [elementValue.business_date_object], - is_active: [elementValue.is_active], - is_new: [elementValue.is_new], - business_entity_type_name: [name] - }); - }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('remark'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */]) - ], PdQuestionGeneralInfoPage.prototype, "nameField", void 0); - PdQuestionGeneralInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-general-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-info.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n \n \n
\n \n
Name of Person(s) Met and Individual Loan Applicant(s)
\n \n \n \n \n

{{item.get(\'applicant_name\').value | titlecase}}

\n

Age : {{item.get(\'age\').value}}  \n {{item.get(\'qualification_name\').value}}

\n

  {{item.get(\'course_name\').value | titlecase}}

\n
\n \n \n
\n \n \n \n \n

Person

\n \n
\n \n

Applicant

\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n
\n
\n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add Name of Person(s) Met and Individual Loan Applicant(s)\n Update Name of Person(s) Met and Individual Loan Applicant(s)\n \n \n
\n
\n \n \n {{t1.name}}\n \n \n \n \n \n Name is Required \n \n \n \n Age is Required\n \n \n \n \n {{qu.qualification_name}} \n \n Qualification is Required \n \n \n
\n \n \n \n
\n Is Person Met

\n Is Applicant \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n \n \n\n\n \n \n
Number of Years for which rental income is being received
\n \n \n Please Enter Correct Year\n \n \n \n \n
\n \n \n \n \n \n
Company/Firm
\n
\n \n \n \n \n \n

{{item.get(\'company_name\').value | titlecase}}

\n

{{item.get(\'business_entity_type_name\').value}}{{item.get(\'business_entity_type_other\').value+"-Others"}}

\n

  {{item.get(\'business_years\').value}} Years {{item.get(\'business_month\').value}} Months

\n
\n \n \n \n
\n \n \n \n \n

Company Applicant

\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n\n \n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add Company/Firm\n \n
\n
\n \n Company / Firm\n \n Company Name is Required\n \n Is Applicant
\n \n \n
\n \n \n \n {{business.business_entity_type_name}}\n \n \n Business Entity Required\n \n \n \n \n \n

Number of Years For Which The Business Has Been Running

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n\n \n
\n \n \n Relationship Between Individuals\n \n \n
\n \n \n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n {{member.name}}\n \n \n \n \n Select\n {{rel.applicant_name | titlecase}}\n Not Applicable\n \n \n
\n
\n \n
\n
\n\n \n
\n \n Relationship of Individuals to Company / Firm\n \n
\n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n \n {{comrelShip.name }}\n \n \n \n \n \n {{comp.company_name}}\n \n \n \n
\n

\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-info.html"*/, - providers: [__WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__["a" /* PdPipe */]], - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["p" /* ModalController */]]) - ], PdQuestionGeneralInfoPage); - return PdQuestionGeneralInfoPage; -}()); - -//# sourceMappingURL=pd-question-general-info.js.map - -/***/ }), - -/***/ 382: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionGeneralOtherApplicantPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/** - * Generated class for the PdQuestionGeneralOtherApplicantPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionGeneralOtherApplicantPage = (function () { - function PdQuestionGeneralOtherApplicantPage(navCtrl, navParams, fb, viewCtrl) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.viewCtrl = viewCtrl; - this.applicantInfo = { 'pd_co_applicant_id': "0", 'applicant_name': '', 'company_name': '' }; - this.otherForm = this.fb.group({ - otherName: this.fb.array([]), - }); - this.addmore(); - } - PdQuestionGeneralOtherApplicantPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage'); - }; - PdQuestionGeneralOtherApplicantPage.prototype.createName = function (elementValue) { - return this.fb.group({ - pd_co_applicant_id: [elementValue.pd_co_applicant_id], - applicant_name: [elementValue.applicant_name, __WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required], - }); - }; - PdQuestionGeneralOtherApplicantPage.prototype.addmore = function () { - if (this.otherForm.valid) { - var control = this.otherForm.controls['otherName']; - control.push(this.createName(this.applicantInfo)); - } - }; - PdQuestionGeneralOtherApplicantPage.prototype.deleteappdata = function (index) { - var control = this.otherForm.controls['otherName']; - if (control.length == 1) { - control.reset(); - } - else { - control.removeAt(index); - } - }; - PdQuestionGeneralOtherApplicantPage.prototype.closeModal = function () { - this.viewCtrl.dismiss(1); - }; - PdQuestionGeneralOtherApplicantPage.prototype.submitData = function (answerData) { - if (this.otherForm.valid) { - this.viewCtrl.dismiss(this.otherForm.value); - } - }; - PdQuestionGeneralOtherApplicantPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-general-other-applicant',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.html"*/'\n\n \n \n \n \n Other Applicant Details Added\n\n\n \n\n\n\n\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["y" /* ViewController */]]) - ], PdQuestionGeneralOtherApplicantPage); - return PdQuestionGeneralOtherApplicantPage; -}()); - -//# sourceMappingURL=pd-question-general-other-applicant.js.map - -/***/ }), - -/***/ 383: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdPipe; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - -/** - * Generated class for the PdPipe pipe. - * - * See https://angular.io/api/core/Pipe for more info on Angular Pipes. - */ -var PdPipe = (function () { - function PdPipe() { - } - /** - * Takes a value and makes it lowercase. - */ - PdPipe.prototype.transform = function (value, searchItem) { - var findExistIndex = searchItem.existRelationList.filter(function (sVal) { return sVal.relation_to == searchItem.currentApplicantID; }); - if (findExistIndex.length > 0) { - var check = value.filter(function (fVal) { - return !findExistIndex.some(function (sVal) { - return fVal.pd_co_applicant_id == searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id; - }); - }); - return check; - } - else { - return value.filter(function (fVal) { return fVal.pd_co_applicant_id != searchItem.currentApplicantID; }); - } - }; - PdPipe = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["T" /* Pipe */])({ - name: 'pdPipe', - }) - ], PdPipe); - return PdPipe; -}()); - -//# sourceMappingURL=pd.js.map - -/***/ }), - -/***/ 384: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionNeighbourHoodPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionNeighbourHoodPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionNeighbourHoodPage = (function () { - function PdQuestionNeighbourHoodPage(navCtrl, navParams, aws, qustCat, toast, fb, constant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.qustCat = qustCat; - this.toast = toast; - this.fb = fb; - this.constant = constant; - this.check_type = [{ 'id': 0, 'type_name': 'Neighbourhood' }, { 'id': 1, 'type_name': 'Reference Check' }]; - this.finalRemarksList = [{ 'id': 1, 'name': "Positive" }, - { 'id': 2, 'name': "Negative" }, - { 'id': 3, 'name': "Insufficient information provided" }]; - this.isDisplay = []; - this.isDisplay2 = []; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.isOrganisationOwner = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.applicants = this.pdDetails.applicat_details; - this.applicants = this.applicants.filter(function (appt) { return appt.applicant_type != 2; }); - this.applicants.push({ 'pd_co_applicant_id': 0, 'applicant_name': "Others" }); - this.neighbourhoodForm = this.fb.group({ - pdid: this.pdDetails.pd_id, - formid: this.FormId.form_id, - check_type: 0, - neighbourhood_list: this.fb.array([]), - neighbourhood_status: [''], - referencecheck_list: this.fb.array([]), - neighbour_reference_remark: '' - }); - this.users = this.aws.getlocale(); - this.getdropdown(); - } - PdQuestionNeighbourHoodPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionNeighbourHoodPage'); - this.getneighbourhood(); - }; - PdQuestionNeighbourHoodPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.relationBusiness = res['records'].filter(function (rel) { return rel.isactive == 1; }); - } - }); - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.frequency = res['records'].filter(function (frq) { return frq.isactive == 1; }); - } - }); - this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function (res) { - if (res.dataStatus == true) { - _this.existCompanyList = res.records.filter(function (val) { return val.is_active == true; }); - console.log(_this.existCompanyList); - } - var modifyCompanyList = []; - if (_this.existCompanyList.length > 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - var modifyApplicantList = []; - if (_this.applicants.length > 0) { - modifyApplicantList = _this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - } - console.log("company&Applicant", _this.mergeCompanyApplicant); - }); - }; - PdQuestionNeighbourHoodPage.prototype.inWords = function (val, i) { - // this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value) - }; - PdQuestionNeighbourHoodPage.prototype.keyPress = function (event) { - var pattern = /[0-9]/; - var inputChar = String.fromCharCode(event.charCode); - if (event.keyCode != 8 && !pattern.test(inputChar)) { - event.preventDefault(); - } - }; - /** To Convert Month into Year */ - PdQuestionNeighbourHoodPage.prototype.ConvertMonthintoYear = function (itemrow, e, flag) { - if (flag == 2) { - var year = itemrow.controls.year_relation_applicant.value; - var converted_month = e % 12; - var converted_year = e / 12; - itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year)); - itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month)); - } - else if (flag == 1) { - var year = itemrow.controls.how_long_do_know_in_year.value; - var converted_month = e % 12; - var converted_year = e / 12; - itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year)); - itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month)); - } - }; - PdQuestionNeighbourHoodPage.prototype.toggleVisibility = function (e, index, flag) { - var val; - if (flag == 1) { - this.isDisplay[index] = e; - } - else if (flag == 2) { - this.isDisplay2[index] = e; - } - }; - PdQuestionNeighbourHoodPage.prototype.checkOthers = function (values) { - if (values != null) { - return values == 0 ? true : false; - } - else { - return false; - } - }; - PdQuestionNeighbourHoodPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionNeighbourHoodPage.prototype.getOtherOrganisationOwner = function (value, i) { - //console.log('value',value,'I',i); - var Ctrls = this.neighbourhoodForm.controls['neighbourhood_list']; - //console.log('ParCtrls',Ctrls); - var ChdCtrls = Ctrls.controls[i]; - // console.log('ChdCtrls',ChdCtrls); - // return; - var Avaliablity = 1; - console.log('val', value); - if (value.length > 0) { - value.forEach(function (option) { - if (option.id == 0 && option.group_id == 2) { - Avaliablity = option.id; - } - }); - } - if (Avaliablity == 0) { - // console.log('if Avaliablity',Avaliablity); - ChdCtrls.controls.other_organisation_owner.setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - this.isOrganisationOwner[i] = true; - } - else if (Avaliablity == 1) { - // console.log('else Avaliablity',Avaliablity); - // console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]); - ChdCtrls.controls.other_organisation_owner.setValue(''); - ChdCtrls.controls.other_organisation_owner.clearValidators(); - this.isOrganisationOwner[i] = false; - // console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]); - } - ChdCtrls.controls.other_organisation_owner.updateValueAndValidity(); - }; - PdQuestionNeighbourHoodPage.prototype.createreferance = function () { - return this.fb.group({ - reference_name: [null], - mobile: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].minLength(10), __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].maxLength(10)])], - statecode: [null], - landline: [null], - location: [null], - relationship_with: [null], - others: [null], - year_relation_applicant: [null], - months_relation_applicant: [null], - business_volume_amount: [null], - business_volume_unit: [null], - others_unit: [null], - reference_final_remarks: [null], - specify_final_remark: [null] - }); - }; - PdQuestionNeighbourHoodPage.prototype.addreferance = function () { - var control = this.neighbourhoodForm.controls['referencecheck_list']; - control.push(this.createreferance()); - }; - PdQuestionNeighbourHoodPage.prototype.removereferance = function (i) { - var control = this.neighbourhoodForm.controls['referencecheck_list']; - if (control.length == 1) { - control.reset(); - } - else { - control.removeAt(i); - } - }; - PdQuestionNeighbourHoodPage.prototype.createNeighbourhood = function () { - return this.fb.group({ - neighbourhood_name: [null], - do_know: [''], - how_long_do_know_in_year: [''], - how_long_do_know_in_month: [''], - organisation_owner: [''], - is_applicant_owner: [''], - other_organisation_owner: [''], - did_not_know_the_business_operation: [''], - did_not_know_the_owner: [''], - }); - }; - PdQuestionNeighbourHoodPage.prototype.addneighbourhood = function () { - var control = this.neighbourhoodForm.controls['neighbourhood_list']; - control.push(this.createNeighbourhood()); - }; - PdQuestionNeighbourHoodPage.prototype.removeneighbourhood = function (i) { - var control = this.neighbourhoodForm.controls['neighbourhood_list']; - if (control.length == 1) { - control.reset(); - } - else { - control.removeAt(i); - } - }; - PdQuestionNeighbourHoodPage.prototype.submitData = function (answerData) { - var _this = this; - var neighbourhoodControl = this.neighbourhoodForm.controls['neighbourhood_list']; - var NbhdCtrlLength = neighbourhoodControl.controls.length; - if (NbhdCtrlLength > 0) { - var Ncnt = 0; - while (Ncnt < NbhdCtrlLength) { - var nbhdChildCtrl = neighbourhoodControl.controls[Ncnt]; - nbhdChildCtrl.controls['neighbourhood_name'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - nbhdChildCtrl.controls['neighbourhood_name'].updateValueAndValidity(); - nbhdChildCtrl.controls['do_know'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - nbhdChildCtrl.controls['do_know'].updateValueAndValidity(); - if (nbhdChildCtrl.controls.do_know.value != '') { - // console.log('nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value) - if (nbhdChildCtrl.controls.did_not_know_the_business_operation.value == '' || nbhdChildCtrl.controls.did_not_know_the_business_operation.value == false) { - // console.log('IF nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value) - // nbhdChildCtrl.controls['how_long_do_know_in_month'].setValidators([Validators.required]); - // nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity(); - nbhdChildCtrl.controls['how_long_do_know_in_year'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); - } - else if (nbhdChildCtrl.controls.did_not_know_the_business_operation.value == true) { - // console.log('ELSE nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value) - nbhdChildCtrl.controls['how_long_do_know_in_month'].setValue(''); - // nbhdChildCtrl.controls['how_long_do_know_in_month'].clearValidators(); - nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity(); - nbhdChildCtrl.controls['how_long_do_know_in_year'].setValue(''); - nbhdChildCtrl.controls['how_long_do_know_in_year'].clearValidators(); - nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); - } - if (nbhdChildCtrl.controls.did_not_know_the_owner.value == '' || nbhdChildCtrl.controls.did_not_know_the_owner.value == false) { - nbhdChildCtrl.controls['organisation_owner'].setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity(); - } - else if (nbhdChildCtrl.controls.did_not_know_the_owner.value == true) { - nbhdChildCtrl.controls['organisation_owner'].setValue(''); - nbhdChildCtrl.controls['organisation_owner'].clearValidators(); - nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity(); - } - } - Ncnt++; - } - this.neighbourhoodForm.controls.neighbourhood_status.setValidators([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required]); - this.neighbourhoodForm.controls.neighbourhood_status.updateValueAndValidity(); - } - if (this.neighbourhoodForm.invalid) { - // this.validateAllFormFields(this._neighbourhoodForm); - this.toast.pdTriggerappmessage('Please Fill All Mandatory Fields.!'); - return; - } - var saveRecords = {}; - var referencecheck_list = []; - var neighbourhood_list = []; - // if(answerData.check_type==0){ - answerData.neighbourhood_list.forEach(function (element, key) { - neighbourhood_list.push({ - "neighbourhood_name": element.neighbourhood_name, - "do_know": element.do_know, - "how_long_do_know_in_year": element.how_long_do_know_in_year, - "how_long_do_know_in_month": element.how_long_do_know_in_month, - "is_applicant_owner": element.is_applicant_owner, - "organisation_owner": element.organisation_owner, - "other_organisation_owner": element.other_organisation_owner, - "did_not_know_the_business_operation": element.did_not_know_the_business_operation, - "did_not_know_the_owner": element.did_not_know_the_owner - }); - }); - saveRecords.neighbourhood_list = neighbourhood_list; - // } - // else{ - // this for referencecheck_list for selected - answerData.referencecheck_list.forEach(function (element, key) { - referencecheck_list.push({ - "reference_name": element.reference_name, - "mobile": element.mobile, - "landline": element.statecode + '-' + element.landline, - "location": element.location, - "relationship_with": element.relationship_with, - "others": element.others, - "year_relation_applicant": element.year_relation_applicant, - "months_relation_applicant": element.months_relation_applicant, - "business_volume_amount": element.business_volume_amount, - "business_volume_unit": element.business_volume_unit, - "others_unit": element.others_unit, - "reference_final_remarks": element.reference_final_remarks, - "specify_final_remark": element.specify_final_remark - }); - }); - saveRecords.referencecheck_list = referencecheck_list; - // } - saveRecords.pdid = answerData.pdid; - saveRecords.formid = answerData.formid; - // saveRecords.check_type=answerData.check_type; - saveRecords.fk_createdby = this.users; - saveRecords.neighbourhood_status = answerData.neighbourhood_status; - saveRecords.neighbour_reference_remark = answerData.neighbour_reference_remark; - this.qustCat.saveForm(saveRecords).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - }); - }; - PdQuestionNeighbourHoodPage.prototype.getneighbourhood = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - var control = this.neighbourhoodForm.controls['referencecheck_list']; - var neicontrol = this.neighbourhoodForm.controls['neighbourhood_list']; - this.qustCat.retiverForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var neighbourDetails = res['records']; - // neighbourDetails.neighbourhood_list.='' - // if(neighbourDetails.check_type==0) - // { - _this.neighbourhoodForm.controls['check_type'].setValue(0); //this one for mobile only - _this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark); - _this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status); - var neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function (key) { - return res['records'].neighbourhood_list[key]; - }); - console.log('neighbourhood_list', neighbourhood_list); - console.log('length', neighbourhood_list.length); - if (neighbourhood_list.length > 0) { - neighbourhood_list.forEach(function (element, index) { - _this.toggleVisibility(element.did_not_know_the_business_operation, index, 1); - _this.toggleVisibility(element.did_not_know_the_owner, index, 2); - neicontrol.push(_this.createNeighbourhood()); - _this.getOtherOrganisationOwner(element.organisation_owner, index); - }); - _this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list); - } - else { - _this.addneighbourhood(); - } - // if(neighbourDetails.check_type==1) - // { - var referencecheck_list_1 = Object.keys(res['records'].referencecheck_list).map(function (key) { - return res['records'].referencecheck_list[key]; - }); - console.log('referencecheck_list', referencecheck_list_1); - console.log('length', referencecheck_list_1.length); - if (referencecheck_list_1.length > 0) { - // this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type); - _this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark); - referencecheck_list_1.forEach(function (val, index) { - var statecodesearch = val.landline.search("-"); - referencecheck_list_1[index].statecode = val.landline.substr(0, statecodesearch); - referencecheck_list_1[index].landline = val.landline.substr(+statecodesearch + 1, 8); - control.push(_this.createreferance()); - // this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount); - }); - _this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list_1); - } - else { - _this.addreferance(); - } - } - else { - _this.addneighbourhood(); - _this.addreferance(); - } - }); - }; - PdQuestionNeighbourHoodPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-neighbour-hood',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n
Neighbour Details #{{n+1}}

\n \n \n \n Neighbourhood Name is Required \n \n \n \n Yes\n No\n \n Please Choose \n \n
\n
\n
\n \n
\n \n \n \n Year is Required \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n {{app.name}}\n \n \n pick atleast one organisation owner \n \n \n \n organisation owner is required \n \n
\n \n


\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n \n \n Positive\n Negative\n \n \n
\n
\n \n \n \n
\n
\n \n
Reference Details #{{r+1}}

\n \n \n \n \n \n \n Enter Valid Mobile Number. \n \n \n \n

Enter valid Mobile Number

\n

Landline Number

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Select\n \n {{relationship.relation_with_business_name | titlecase}}\n \n \n \n \n \n \n

Period of Relationship

\n \n \n \n \n \n \n \n \n \n \n \n \n Select\n \n {{volume.name | titlecase}}\n \n \n \n \n \n \n \n \n Select\n {{rem.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.html"*/, - }), - __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]) === "function" && _f || Object, typeof (_g = typeof __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]) === "function" && _g || Object]) - ], PdQuestionNeighbourHoodPage); - return PdQuestionNeighbourHoodPage; - var _a, _b, _c, _d, _e, _f, _g; -}()); - -//# sourceMappingURL=pd-question-neighbour-hood.js.map - -/***/ }), - -/***/ 385: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionFinalRemarkPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -// import { t } from '@angular/core/src/render3'; - - - -/** - * Generated class for the PdQuestionFinalRemarkPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionFinalRemarkPage = (function () { - function PdQuestionFinalRemarkPage(navCtrl, navParams, fb, qustcat, aws, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.qustcat = qustcat; - this.aws = aws; - this.toast = toast; - this.m_remarkTypeCustomerBehaviour = []; - this.m_recommendationList = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.FormId = this.navParams.get('FormId'); - this.users = aws.getlocale(); - this._finalRemarkForm = this.fb.group({ - fk_createdby: [this.users], - pdid: [this.pdid], - formid: [this.FormId.form_id], - final_custormer_remark_type: [null], - final_other_customer_behaviour: [null], - is_service_provided: [null], - final_form_remarks: [null], - pd_officers_recommendation: [null], - others_pd_officers_recommendation: [''], - // reason_for_positive:[''], - // reason_for_negative:[''], - // reason_for_refer_to_credit:[''], - recommendation_positive: this.fb.array([]), - recommendation_negative: this.fb.array([]), - recommendation_refer_to_credit: this.fb.array([]) - }); - this.getDropDown(); - } - PdQuestionFinalRemarkPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionFinalRemarkPage'); - this.getFinalRemark(); - }; - PdQuestionFinalRemarkPage.prototype.getDropDown = function () { - var _this = this; - this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(function (res) { - _this.m_remarkTypeCustomerBehaviour = res['records'].filter(function (data) { return data.isactive == 1; }); - }); - this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(function (res) { - _this.m_recommendationList = res['records']; - }); - }; - PdQuestionFinalRemarkPage.prototype.createRecomendationPositive = function (data) { - console.log("val", data); - return this.fb.group({ - reason_for_positive: data != null ? [data.reason_for_positive] : [''] - }); - }; - PdQuestionFinalRemarkPage.prototype.addRecomendationPositive = function () { - var control = this._finalRemarkForm.controls['recommendation_positive']; - control.push(this.createRecomendationPositive(null)); - }; - PdQuestionFinalRemarkPage.prototype.removeRecomendationPositive = function (index) { - var control = this._finalRemarkForm.controls['recommendation_positive']; - control.removeAt(index); - }; - PdQuestionFinalRemarkPage.prototype.createRecomendationNegative = function (data) { - return this.fb.group({ - reason_for_negative: data != null ? [data.reason_for_negative] : [''] - }); - }; - PdQuestionFinalRemarkPage.prototype.addRecomendationNegative = function () { - var control = this._finalRemarkForm.controls['recommendation_negative']; - control.push(this.createRecomendationNegative(null)); - }; - PdQuestionFinalRemarkPage.prototype.removeRecomendationNegative = function (index) { - var control = this._finalRemarkForm.controls['recommendation_negative']; - control.removeAt(index); - }; - PdQuestionFinalRemarkPage.prototype.createRecomendationCreditRefer = function (data) { - return this.fb.group({ - reason_for_refer_to_credit: data != null ? [data.reason_for_refer_to_credit] : [''] - }); - }; - PdQuestionFinalRemarkPage.prototype.addRecomendationCreditRefer = function () { - var control = this._finalRemarkForm.controls['recommendation_refer_to_credit']; - control.push(this.createRecomendationCreditRefer(null)); - }; - PdQuestionFinalRemarkPage.prototype.removeRecomendationCreditRefer = function (index) { - var control = this._finalRemarkForm.controls['recommendation_refer_to_credit']; - control.removeAt(index); - }; - PdQuestionFinalRemarkPage.prototype.RecommendationChange = function (e) { - // console.log('Event',e); - var recommendationPositiveCtrl = this._finalRemarkForm.get('recommendation_positive'); - var recommendationNegativeCtrl = this._finalRemarkForm.get('recommendation_negative'); - var recommendationReferToCredit = this._finalRemarkForm.get('recommendation_refer_to_credit'); - if (e == 1) { - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - if (recommendationNegativeCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationNegativeCtrl.controls.length; i++) { - recommendationNegativeCtrl.removeAt(i + 1); - recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0]; - recommendationNegativeCtrl.controls['reason_for_negative'].setValue(''); - recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators(); - recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity(); - } - } - if (recommendationPositiveCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationPositiveCtrl.controls.length; i++) { - recommendationPositiveCtrl.removeAt(i + 1); - recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0]; - recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators(); - recommendationPositiveCtrl.controls['reason_for_positive'].setValue(''); - recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity(); - } - } - if (recommendationReferToCredit.controls.length > 0) { - var i = 0; - for (i; i < recommendationReferToCredit.controls.length; i++) { - recommendationReferToCredit.removeAt(i + 1); - recommendationReferToCredit = recommendationReferToCredit.controls[0]; - recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue(''); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators(); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity(); - } - } - } - if (e == 2) { - this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - if (recommendationReferToCredit.controls.length > 0) { - var i = 0; - for (i; i < recommendationReferToCredit.controls.length; i++) { - recommendationReferToCredit.removeAt(i + 1); - recommendationReferToCredit = recommendationReferToCredit.controls[0]; - recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue(''); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators(); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity(); - } - } - // this._finalRemarkForm.controls['reason_for_positive'].setValidators([Validators.required]); - if (recommendationPositiveCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationPositiveCtrl.controls.length; i++) { - recommendationPositiveCtrl = recommendationPositiveCtrl.controls[i]; - recommendationPositiveCtrl.controls['reason_for_positive'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity(); - } - } - if (recommendationNegativeCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationNegativeCtrl.controls.length; i++) { - recommendationNegativeCtrl.removeAt(i + 1); - recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0]; - recommendationNegativeCtrl.controls['reason_for_negative'].setValue(''); - recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators(); - recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity(); - } - } - } - if (e == 3) { - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - if (recommendationReferToCredit.controls.length > 0) { - var i = 0; - for (i; i < recommendationReferToCredit.controls.length; i++) { - recommendationReferToCredit.removeAt(i + 1); - recommendationReferToCredit = recommendationReferToCredit.controls[0]; - recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue(''); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators(); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity(); - } - } - if (recommendationPositiveCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationPositiveCtrl.controls.length; i++) { - recommendationPositiveCtrl.removeAt(i + 1); - recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0]; - recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators(); - recommendationPositiveCtrl.controls['reason_for_positive'].setValue(''); - recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity(); - } - } - if (recommendationNegativeCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationNegativeCtrl.controls.length; i++) { - recommendationNegativeCtrl = recommendationNegativeCtrl.controls[i]; - recommendationNegativeCtrl.controls['reason_for_negative'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity(); - } - } - // this._finalRemarkForm.controls['reason_for_negative'].setValidators([Validators.required]); - } - if (e == 4) { - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - if (recommendationReferToCredit.controls.length > 0) { - var i = 0; - for (i; i < recommendationReferToCredit.controls.length; i++) { - recommendationReferToCredit = recommendationReferToCredit.controls[i]; - recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity(); - } - } - if (recommendationNegativeCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationNegativeCtrl.controls.length; i++) { - recommendationNegativeCtrl.removeAt(i + 1); - recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0]; - recommendationNegativeCtrl.controls['reason_for_negative'].setValue(''); - recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators(); - recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity(); - } - } - if (recommendationPositiveCtrl.controls.length > 0) { - var i = 0; - for (i; i < recommendationPositiveCtrl.controls.length; i++) { - recommendationPositiveCtrl.removeAt(i + 1); - recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0]; - recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators(); - recommendationPositiveCtrl.controls['reason_for_positive'].setValue(''); - recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity(); - } - } - } - }; - PdQuestionFinalRemarkPage.prototype.getFinalRemark = function () { - var _this = this; - var saveRecords = { 'pd_id': this.pdid, 'pd_form_id': this.FormId.form_id }; - this.qustcat.retiverForm(saveRecords).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type); - _this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour); - _this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided); - _this._finalRemarkForm.controls.pd_officers_recommendation.setValue(data['records'].pd_officers_recommendation); - _this._finalRemarkForm.controls.others_pd_officers_recommendation.setValue(data['records'].others_pd_officers_recommendation); - // this._finalRemarkForm.controls.reason_for_positive.setValue(data['records'].reason_for_positive) - // this._finalRemarkForm.controls.reason_for_refer_to_credit.setValue(data['records'].reason_for_refer_to_credit); - // this._finalRemarkForm.controls.reason_for_negative.setValue(data['records'].reason_for_negative); - if (data['records'].recommendation_positive.length > 0) { - var recommendationPositiveCtrl_1 = _this._finalRemarkForm.get('recommendation_positive'); - data['records'].recommendation_positive.forEach(function (val, index) { - console.log("for", val); - if (val.reason_for_positive != null) { - var obj = { 'reason_for_positive': val.reason_for_positive }; - recommendationPositiveCtrl_1.push(_this.createRecomendationPositive(obj)); - } - }); - } - if (data['records'].recommendation_negative.length > 0) { - var recommendationNegativeCtrl_1 = _this._finalRemarkForm.get('recommendation_negative'); - data['records'].recommendation_negative.forEach(function (val, index) { - console.log("for", val); - var obj = { 'reason_for_negative': val.reason_for_negative }; - recommendationNegativeCtrl_1.push(_this.createRecomendationNegative(obj)); - }); - } - if (data['records'].recommendation_refer_to_credit.length > 1) { - var recommendationReferToCredit_1 = _this._finalRemarkForm.get('recommendation_refer_to_credit'); - data['records'].recommendation_refer_to_credit.forEach(function (val) { - var obj = { 'reason_for_refer_to_credit': val.reason_for_refer_to_credit }; - recommendationReferToCredit_1.push(_this.createRecomendationCreditRefer(obj)); - }); - } - _this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks); - } - else { - var recommendationPositiveCtrl = _this._finalRemarkForm.get('recommendation_positive'); - recommendationPositiveCtrl.push(_this.createRecomendationPositive(null)); - var recommendationNegativeCtrl = _this._finalRemarkForm.get('recommendation_negative'); - recommendationNegativeCtrl.push(_this.createRecomendationNegative(null)); - var recommendationReferToCredit = _this._finalRemarkForm.get('recommendation_refer_to_credit'); - recommendationReferToCredit.push(_this.createRecomendationCreditRefer(null)); - } - }); - }; - PdQuestionFinalRemarkPage.prototype.saveFinalRemark = function () { - var _this = this; - if (this._finalRemarkForm.invalid) { - this.toast.pdTriggerappmessage("Please Fill all the Fields marked with '*' "); - } - else { - var answerData = this._finalRemarkForm.value; - //To Remove The "Null" With Key also - Object.keys(answerData).forEach(function (key) { return (answerData[key] == null) && delete answerData[key]; }); - this.qustcat.saveForm(answerData).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage("Record Saved Successfully"); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage("Sorry!! Something Went Wrong"); - } - }); - } - }; - PdQuestionFinalRemarkPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-final-remark',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html"*/'\n\n\n \n \n {{FormId.form_name}}\n \n\n\n\n\n\n
\n \n \n \n \n {{pm.description}}\n \n \n \n \n \n \n \n \n \n Location\n
\n \n \n Is the location of the business / profession suited to the nature of business / service provided?
\n \n Select \n Well Suited.\n Fairly Suited\n Not Suited\n \n
\n \n \n Select \n {{ list.pdofficer_recommendation }}\n \n \n \n \n \n
\n
\n
\n \n Reason for Marking PD Status as Positive\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n Reasons for marking PD status as Negative\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n Reasons for marking PD status as Refer to Credit\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionFinalRemarkPage); - return PdQuestionFinalRemarkPage; -}()); - -//# sourceMappingURL=pd-question-final-remark.js.map - -/***/ }), - -/***/ 386: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessGroupPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(203); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(201); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(387); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(388); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(389); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(202); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - -/** - * Generated class for the PdQuestionBusinessGroupPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionBusinessGroupPage = (function () { - function PdQuestionBusinessGroupPage(navCtrl, navParams, qustCat) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.qustCat = qustCat; - this.pdDetails = []; - this.existCompanyList = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - this.getCompanyListForBusiness(); - } - /** To Get General Form's Company List */ - PdQuestionBusinessGroupPage.prototype.getCompanyListForBusiness = function () { - var _this = this; - this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function (data) { - if (data.dataStatus) { - _this.existCompanyList = data.records.filter(function (val) { return val.is_active; }); - _this.waitLoading = true; - } - else { - _this.waitLoading = false; - } - }); - }; - /** To Get Related Form Details */ - PdQuestionBusinessGroupPage.prototype.OnSelectBusinessGroupForms = function (details, company) { - this.pdDetails.company_id = company.company_order_id; - this.pdDetails.company_name = company.company_name; - this.pdDetails.business_entity_type = company.business_entity_type; - this.pdDetails.business_entity_type_other = company.business_entity_type_other; - this.pdDetails.business_years = company.business_years; - this.pdDetails.business_month = company.business_month; - if (details.form_id == 1) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_3__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__["a" /* PdQuestionSupplierInfoPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 2) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_4__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__["a" /* PdQuestionClientInfoPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 11) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_5__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__["a" /* PdQuestionStockInfoPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 13) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__["a" /* PdQuestionBusinessInfoPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 14) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_9__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__["a" /* PdQuestionFinancialInfoPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 15) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_3__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__["a" /* PdQuestionSupplierInfoPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 21) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_8__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__["a" /* PdQuestionBusinessBankingPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - if (details.form_id == 22) { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_7__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__["a" /* PdQuestionBusinessAssetsPage */], { 'formDetails': details, 'pdDetails': this.pdDetails }); - } - }; - PdQuestionBusinessGroupPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-group',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-group.html"*/'\n\n\n \n \n {{FormId.form_name}}\n \n\n\n\n\n\n \n \n \n \n {{companyList.company_name}}\n \n \n \n \n {{quesIndex+1}}\n {{quesIndex+1}}\n
\n

{{ formButton.form_name }}

\n
\n
\n
\n
\n
\n \n

Business Related Information is Not Available.Please Check General Information

\n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-group.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], - __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], - __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]]) - ], PdQuestionBusinessGroupPage); - return PdQuestionBusinessGroupPage; -}()); - -//# sourceMappingURL=pd-question-business-group.js.map - -/***/ }), - -/***/ 387: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionBusinessInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionBusinessInfoPage = (function () { - function PdQuestionBusinessInfoPage(navCtrl, navParams, aws, toast, qustCat, fb, cons) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.toast = toast; - this.qustCat = qustCat; - this.fb = fb; - this.cons = cons; - this.stateList = []; - this.applicants = []; - this.businessEntityTypeList = { - business_entity_type_id: String, - business_entity_type_name: String, - sourcsection_labeleName: String - }; - this.relationData = []; - this.industryData = []; - this.activityData = []; - this.companyRelationShipList = []; - this.countryDataList = []; - this.filterCityList = []; - this.errorMessage = []; - this.titleData = []; - this.personsList = []; - this.ExportFlag = false; - this.bankList = []; - this.temp_additiondetailofposmachine = []; - this.isreadonlyyear = []; - this.isreadonlymonth = []; - this.EntityTypeFlag = false; - this.ManufacturingCounterArray = []; - this.RetailCounterArray = []; - this.WholeSaleCounterArray = []; - this.ServiceCounterArray = []; - this.getStateCityDet(); - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.formdetails = this.navParams.get('formDetails'); - this.FormId = this.formdetails.form_id; - this.users = this.aws.getlocale(); - this.applicants = this.pdDetails.applicat_details; - this.generalExistEntityType = this.pdDetails.business_entity_type; - this.generalExistEntityType_other = this.pdDetails.business_entity_type_other; - this.generalExistBusinessYear = this.pdDetails.business_years; - this.step = 0; - // this.initBusinessForm(); - // this.getBuisnessDetails(); - this.businessForm = this.fb.group({ - fk_createdby: [this.users], - pdid: [this.pdid], - formid: [this.FormId], - company_id: this.pdDetails.company_id, - partners: this.fb.array([]), - persons_with_relationships: this.fb.array([]), - select_business_activity_type: this.fb.array([]), - manufacturing_activity_details: this.fb.array([]), - retail_trading_activity_details: this.fb.array([]), - wholesale_trading_activity_details: this.fb.array([]), - service_provider_activity_details: this.fb.array([]), - others_activity_details: this.fb.array([]), - export_sale_of_total_sales: [''], - // applicant_use_mobile_wallets:[''], - // applicant_use_pos_machines:[''], - // no_of_pos_machines:[''], - seasonality: [''], - employees_total: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - employees_permanent: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - employees_temporary: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - employees_appx_salary: [''], - was_the_company_name_board_sighted: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - officer_total: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - shop_eat_act_cert: [''], - gst_Regn_cert: [''], - //export_import_cert: [''], - // factory_cert: [''], - //practice_cert: [''], - pf_regn: [''], - esic_regn: [''], - other_documents: [''], - documents: this.fb.array([]), - business_remarks: [''] - }); - this.getdropdown(); - // this.initBusinessForm(); - } - PdQuestionBusinessInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionBusinessInfoPage'); - }; - PdQuestionBusinessInfoPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(function (data) { - data['records'].forEach(function (val) { - if (val.isactive == 1) { - _this.relationData.push(val); - } - }); - }); - this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(function (data) { - data['records'].forEach(function (val) { - if (val.isactive == 1) { - _this.industryData.push(val); - } - }); - }); - this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(function (data) { - data['records'].forEach(function (val) { - if (val.isactive == 1 && val.type_of_activity_id != 1) { - _this.activityData.push(val); - } - }); - }); - this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(function (data) { - var filterList = data['records'].filter(function (val) { return val.business_entity_type_id == _this.generalExistEntityType; }); - _this.businessEntityTypeList.business_entity_type_id = filterList[0].business_entity_type_id == 1; - _this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id != 1 ? filterList[0].business_entity_type_name : _this.generalExistEntityType_other; - _this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id != 1 ? filterList[0].section_label : _this.generalExistEntityType_other; - if (_this.businessEntityTypeList.business_entity_type_name == 'OPC (One Person Company)' || _this.businessEntityTypeList.business_entity_type_name == 'Sole proprietorship') { - _this.EntityTypeFlag = true; - } - }); - this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(function (data) { - _this.companyRelationShipList = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustCat.getcommondrop('COUNTRY').subscribe(function (data) { - _this.countryDataList = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustCat.getcommondrop('TITLES').subscribe(function (data) { - _this.titleData = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustCat.getAllPersonsName(this.pdid).subscribe(function (data) { - if (data.dataStatus) { - _this.personsList = data['record'].filter(function (val) { return val.applicant_type == 1; }); - } - }); - this.qustCat.getcommondrop('BTLENDERLIST').subscribe(function (data) { - _this.bankList = data['records'].filter(function (val) { return val.isactive == 1 && val.lender_type == 1; }); - }); - }; - PdQuestionBusinessInfoPage.prototype.getStateCityDet = function () { - var _this = this; - this.qustCat.getStateCityDetails().subscribe(function (data) { - _this.stateList = data.records; - _this.getDetails(); - }); - }; - PdQuestionBusinessInfoPage.prototype.changeOfStartedBusiness = function (members, i, e) { - if (e == 'yes') { - members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear); - this.isreadonlyyear[i] = this.generalExistBusinessYear != undefined ? true : false; - members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth); - this.isreadonlymonth[i] = this.generalExistBusinessMonth != undefined ? true : false; - } - else { - this.isreadonlyyear[i] = false; - this.isreadonlymonth[i] = false; - } - }; - PdQuestionBusinessInfoPage.prototype.getDetails = function () { - var _this = this; - var params = {}; - params.pd_id = this.pdid; - params.pd_form_id = 13; - params.company_id = this.pdDetails.company_id; - this.qustCat.retiverForm(params).subscribe(function (data) { - var businessVal = data['records']; - var constVal; - var Partnr = _this.businessForm.controls['partners']; - var control1 = _this.businessForm.controls['persons_with_relationships']; - var business_activity = _this.businessForm.controls['select_business_activity_type']; - var manufacture_details = _this.businessForm.controls['manufacturing_activity_details']; - var retailControl = _this.businessForm.controls['retail_trading_activity_details']; - var wholesaleControl = _this.businessForm.controls['wholesale_trading_activity_details']; - var serviceProviderControl = _this.businessForm.controls['service_provider_activity_details']; - var othersControl = _this.businessForm.controls['others_activity_details']; - var otherDoc = _this.businessForm.controls['documents']; - //retailControl.push(this.manufactureDetails()); - //manufacture_details.push(this.manufactureDetails()) - // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done; - //india_sales.push(this.indiaSalesDone()) - //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done; - // country_sale.push(this.createCountrySale()); - //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name; - //max_sale_state.push(this.maxSaleState()) - if (data['status'] == 200) { - var DocArray = void 0; - var PartnrArray = Object.keys(data['records'].partners).map(function (key) { - return data['records'].partners[key]; - }); - if (PartnrArray.length == 0) { - Partnr.push(_this.createPartners()); - } - else { - PartnrArray.forEach(function (datas, key) { - Partnr.push(_this.createPartners()); - if (datas.partner_name == 'Others') { - Partnr.controls[key].addControl('partner_other_name', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - } - if (parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) { - Partnr.controls[key].addControl('total_business_previous_experience', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - } - else { - Partnr.controls[key].removeControl('total_business_previous_experience'); - } - }); - } - if (data['records'].persons_with_relationships) { - var PartnrArray1 = Object.keys(data['records'].persons_with_relationships).map(function (key) { - return data['records'].persons_with_relationships[key]; - }); - if (PartnrArray1.length > 0) { - PartnrArray1.forEach(function (datas, key) { - control1.push(_this.createRelationShip()); - }); - businessVal.persons_with_relationships = PartnrArray1; - } - else { - //control1.push(this.createRelationShip()); - businessVal.persons_with_relationships = []; - } - } - else { - businessVal.persons_with_relationships = []; - } - if (data['records'].other_documents == 'yes') { - DocArray = Object.keys(data['records'].documents).map(function (key) { - return data['records'].documents[key]; - }); - DocArray.forEach(function (datas) { - otherDoc.push(_this.createDocument()); - }); - } - else { - DocArray = [{ document: '' }]; - otherDoc.push(_this.createDocument()); - } - businessVal.pdid = _this.pdid; - businessVal.formid = 13; - businessVal.company_id = _this.pdDetails.company_id; - businessVal.fk_createdby = _this.users; - //businessVal.designation = DesgnArray; - businessVal.partners = PartnrArray; - // businessVal.persons_with_relationships=PartnrArray1 - businessVal.documents = DocArray; - if (businessVal.employees_appx_salary) { - _this.appxSalaryAmtInwords = _this.cons.convertNumberToWords(businessVal.employees_appx_salary); - } - // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd' - // this.businessForm.setValue(businessVal); - //this.businessForm.value.seasonality - var activityData_1 = _this.activityData.map(function (item) { return ({ name: item.name, type_of_activity_id: item.type_of_activity_id }); }); - var exist_activity_data_1 = []; - if (data['records'].select_business_activity_type) { - exist_activity_data_1 = Object.keys(data['records'].select_business_activity_type).map(function (key) { - return data['records'].select_business_activity_type[key].type_of_activity_id; - }); - } - var actual_businees_activity = activityData_1.map(function (item) { return item.type_of_activity_id; }); - var check_exist_businees_activity = actual_businees_activity.map(function (id, index) { - if (exist_activity_data_1.indexOf(id) < 0) { - activityData_1[index].exist_status = 0; - return activityData_1[index]; - } - else { - activityData_1[index].exist_status = 1; - return activityData_1[index]; - } - }).filter(function (item) { return item != undefined; }); - if (check_exist_businees_activity.length > 0) { - check_exist_businees_activity.forEach(function (val, index) { - business_activity.push(_this.createBusinessActivity(val)); - // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status - }); - businessVal.select_business_activity_type = check_exist_businees_activity; - } - // business_activity.push(this.createBusinessActivity()) - // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity) - if (data['records'].manufacturing_activity_details) { - var selectedManufacturing = Object.keys(data['records'].manufacturing_activity_details).map(function (key) { - return data['records'].manufacturing_activity_details[key]; - }); - if (selectedManufacturing.length > 0) { - selectedManufacturing.length > 0 ? _this.businessForm.addControl('export_import_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('export_import_cert'); - selectedManufacturing.length > 0 ? _this.businessForm.addControl('factory_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('factory_cert'); - selectedManufacturing.forEach(function (element, index) { - _this.CheckExport(element.area_of_sale, 'MActivity', index); - manufacture_details.push(_this.manufactureDetails()); - if (element.area_of_sale == 'Within India') { - manufacture_details.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - manufacture_details.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = manufacture_details.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - manufacture_details.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = manufacture_details.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - } - else if (element.area_of_sale == 'Export') { - manufacture_details.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = manufacture_details.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - else if (element.area_of_sale == 'Both') { - manufacture_details.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - manufacture_details.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - manufacture_details.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = manufacture_details.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = manufacture_details.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - manufacture_details.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = manufacture_details.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - }); - businessVal.manufacturing_activity_details = selectedManufacturing; - } - else { - businessVal.manufacturing_activity_details = []; - } - } - else { - businessVal.manufacturing_activity_details = []; - } - if (data['records'].retail_trading_activity_details) { - var selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) { - return data['records'].retail_trading_activity_details[key]; - }); - if (selectedRetail.length > 0) { - selectedRetail.length > 0 ? _this.businessForm.addControl('export_import_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('export_import_cert'); - selectedRetail.length > 0 ? _this.businessForm.addControl('applicant_use_mobile_wallets', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('applicant_use_mobile_wallets'); - selectedRetail.length > 0 ? _this.businessForm.addControl('applicant_use_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('applicant_use_pos_machines'); - selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? _this.businessForm.addControl('no_of_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('no_of_pos_machines'); - selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? _this.businessForm.addControl('pos_machines_details', _this.fb.array([])) : _this.businessForm.removeControl('pos_machines_details'); - selectedRetail.forEach(function (element, index) { - _this.CheckExport(element.area_of_sale, 'RActivity', index); - retailControl.push(_this.manufactureDetails()); - if (element.area_of_sale == 'Within India') { - retailControl.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - retailControl.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = retailControl.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - retailControl.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = retailControl.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - } - else if (element.area_of_sale == 'Export') { - retailControl.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = retailControl.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - else if (element.area_of_sale == 'Both') { - retailControl.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - retailControl.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - retailControl.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = retailControl.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = retailControl.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - retailControl.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = retailControl.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - }); - businessVal.retail_trading_activity_details = selectedRetail; - } - else { - businessVal.retail_trading_activity_details = []; - } - } - else { - businessVal.retail_trading_activity_details = []; - } - // update whole sale details - if (data['records'].wholesale_trading_activity_details) { - var selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) { - return data['records'].wholesale_trading_activity_details[key]; - }); - if (selectedWholesale.length > 0) { - selectedWholesale.length > 0 ? _this.businessForm.addControl('export_import_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('export_import_cert'); - selectedWholesale.length > 0 ? _this.businessForm.addControl('applicant_use_mobile_wallets', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('applicant_use_mobile_wallets'); - selectedWholesale.length > 0 ? _this.businessForm.addControl('applicant_use_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('applicant_use_pos_machines'); - selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? _this.businessForm.addControl('no_of_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('no_of_pos_machines'); - selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? _this.businessForm.addControl('pos_machines_details', _this.fb.array([])) : _this.businessForm.removeControl('pos_machines_details'); - selectedWholesale.forEach(function (element, index) { - _this.CheckExport(element.area_of_sale, 'WActivity', index); - wholesaleControl.push(_this.manufactureDetails()); - if (element.area_of_sale == 'Within India') { - wholesaleControl.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - wholesaleControl.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = wholesaleControl.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - wholesaleControl.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = wholesaleControl.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - } - else if (element.area_of_sale == 'Export') { - wholesaleControl.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = wholesaleControl.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - else if (element.area_of_sale == 'Both') { - wholesaleControl.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - wholesaleControl.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - wholesaleControl.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = wholesaleControl.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = wholesaleControl.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - wholesaleControl.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = wholesaleControl.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - }); - businessVal.wholesale_trading_activity_details = selectedWholesale; - } - else { - businessVal.wholesale_trading_activity_details = []; - } - } - else { - businessVal.wholesale_trading_activity_details = []; - } - if (data['records'].service_provider_activity_details) { - var selectedService = Object.keys(data['records'].service_provider_activity_details).map(function (key) { - return data['records'].service_provider_activity_details[key]; - }); - if (selectedService.length > 0) { - selectedService.length > 0 ? _this.businessForm.addControl('practice_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('practice_cert'); - selectedService.length > 0 ? _this.businessForm.addControl('applicant_use_mobile_wallets', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('applicant_use_mobile_wallets'); - selectedService.length > 0 ? _this.businessForm.addControl('applicant_use_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('applicant_use_pos_machines'); - selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? _this.businessForm.addControl('no_of_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) : _this.businessForm.removeControl('no_of_pos_machines'); - selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? _this.businessForm.addControl('pos_machines_details', _this.fb.array([])) : _this.businessForm.removeControl('pos_machines_details'); - selectedService.forEach(function (element, index) { - _this.CheckExport(element.area_of_sale, 'SPActivity', index); - serviceProviderControl.push(_this.manufactureDetails()); - if (element.area_of_sale == 'Within India') { - serviceProviderControl.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - serviceProviderControl.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = serviceProviderControl.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - serviceProviderControl.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = serviceProviderControl.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - } - else if (element.area_of_sale == 'Export') { - serviceProviderControl.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = serviceProviderControl.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - else if (element.area_of_sale == 'Both') { - serviceProviderControl.controls[index].addControl('india_where_sale_done', _this.fb.array([])); - serviceProviderControl.controls[index].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - serviceProviderControl.controls[index].addControl('max_sale_state_name', _this.fb.array([])); - element.india_where_sale_done.forEach(function (innerElement, innerIndex) { - var innercontrol = serviceProviderControl.controls[index].get('india_where_sale_done'); - innercontrol.push(_this.indiaSalesDone()); - }); - element.max_sale_state_name.forEach(function (innerElement, innerIndex) { - var innercontrol = serviceProviderControl.controls[index].get('max_sale_state_name'); - innercontrol.push(_this.maxSaleState()); - }); - serviceProviderControl.controls[index].addControl('countries_where_export_done', _this.fb.array([])); - element.countries_where_export_done.forEach(function (innerElement, innerIndex) { - var innercontrol = serviceProviderControl.controls[index].get('countries_where_export_done'); - innercontrol.push(_this.createCountrySale()); - }); - } - }); - businessVal.service_provider_activity_details = selectedService; - } - else { - businessVal.service_provider_activity_details = []; - } - } - else { - businessVal.service_provider_activity_details = []; - } - if (data['records'].others_activity_details) { - // update others activity details - var selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) { - return data['records'].others_activity_details[key]; - }); - if (selectedOthers.length > 0) { - selectedOthers.forEach(function (element, index) { - othersControl.push(_this.createOthersActivity()); - }); - businessVal.others_activity_details = selectedOthers; - } - else { - businessVal.others_activity_details = []; - } - } - else { - businessVal.others_activity_details = []; - } - // dynamically add form group control - if (data['dataStatus']) { - if (data['records'].seasonality.toUpperCase() == 'YES') { - _this.businessForm.addControl('peak_period_of_business', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - _this.businessForm.addControl('month_of_business_run', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - } - } - // this.businessForm.controls['partners'].setValue(PartnrArray); - //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1) - // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details) - if (businessVal.applicant_use_pos_machines == 'yes') { - _this.businessForm.controls.no_of_pos_machines.setValue(businessVal.no_of_pos_machines); - var posControl = _this.businessForm.controls['pos_machines_details']; - for (var i = 1; i <= businessVal.no_of_pos_machines; i++) { - posControl.push(_this.createPOSMachinesDetails(businessVal.pos_machines_details)); - } - } - _this.businessForm.setValue(businessVal); - } - else { - Partnr.push(_this.createPartners()); - control1.push(_this.createRelationShip()); - //otherDoc.push(this.createDocument()); - // find business activity type businees activity type list - var activityData = _this.activityData.map(function (item) { return ({ name: item.name, type_of_activity_id: item.type_of_activity_id, exist_status: 0 }); }); - if (activityData.length > 0) { - activityData.forEach(function (val) { - business_activity.push(_this.createBusinessActivity(val)); - }); - } - } - }); - // change business sessional - this.businessForm.controls['seasonality'].valueChanges.subscribe(function (val) { - val.toUpperCase() == 'YES' ? _this.businessForm.addControl('peak_period_of_business', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('peak_period_of_business'); - val.toUpperCase() == 'YES' ? _this.businessForm.addControl('month_of_business_run', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : _this.businessForm.removeControl('month_of_business_run'); - }); - }; - PdQuestionBusinessInfoPage.prototype.filterCity = function (datasource, filterid) { - if (filterid) { - var filter = this.stateList.filter(function (x) { return x.state_id == filterid; }); - return filter.length > 0 ? filter[0].cities : []; - } - }; - // filter max sale options - PdQuestionBusinessInfoPage.prototype.filterMaxSaleState = function (datasource, filterValues) { - this.filterCityList = filterValues; - if (filterValues) { - var getOriginalStateList_1 = datasource.map(function (dval) { return dval.state_id; }); - var getStateValues = filterValues.filter(function (val) { return val.state_name; }).map(function (mapVal) { return mapVal.state_name; }); - var setStateFilter = []; - setStateFilter = getStateValues.map(function (x) { - var findIndex = getOriginalStateList_1.indexOf(x); - return datasource[findIndex]; - }); - return setStateFilter.length > 0 ? setStateFilter : []; - } - }; - PdQuestionBusinessInfoPage.prototype.filterMaxSaleCities = function (datasource, filterValues, selectedCites) { - var existCities = selectedCites.filter(function (cfVal) { return cfVal.city_name != ''; }).map(function (mcVal) { return mcVal.city_name; }); - existCities = [].concat.apply([], existCities); - if (filterValues) { - var getOriginalStateList_2 = datasource.map(function (dval) { return dval.state_id; }); - var setCityFilter = filterValues.map(function (x) { - var findIndex = getOriginalStateList_2.indexOf(x); - findIndex = datasource[findIndex].cities; - return findIndex; - }); - var merged = [].concat.apply([], setCityFilter); - if (merged.length > 0) { - var check = merged.filter(function (fVal) { - return existCities.some(function (sVal) { - return fVal.city_id == sVal; - }); - }); - return check; - } - else { - return []; - } - } - else { - return []; - } - }; - PdQuestionBusinessInfoPage.prototype.checkTotalEmployee = function (FormData) { - this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent || 0) + (+FormData.value.employees_temporary || 0)); - }; - PdQuestionBusinessInfoPage.prototype.checkWithExistBusinessYear = function (e, i) { - if (e > this.generalExistBusinessYear) { - this.errorMessage[i] = "Higher than Business Vintage"; - } - else { - this.errorMessage[i] = ''; - } - }; - // businees activity type change event - PdQuestionBusinessInfoPage.prototype.changeBusinessActivity = function (event) { - if (event.value.exist_status == true && event.value.type_of_activity_id == 2) { - this.ManufacturingChecked = event.value.exist_status; - var manufacturingControl = this.businessForm.controls['manufacturing_activity_details']; - manufacturingControl.controls = []; - manufacturingControl.setValue([]); - } - else if (event.value.exist_status == false && event.value.type_of_activity_id == 2) { - this.ManufacturingChecked = event.value.exist_status; - var manufacturingControl = this.businessForm.controls['manufacturing_activity_details']; - manufacturingControl.push(this.manufactureDetails()); - } - if (event.value.exist_status == true && event.value.type_of_activity_id == 3) { - this.RetailedChecked = event.value.exist_status; - var retailControl = this.businessForm.controls['retail_trading_activity_details']; - retailControl.controls = []; - retailControl.setValue([]); - } - else if (event.value.exist_status == false && event.value.type_of_activity_id == 3) { - this.RetailedChecked = event.value.exist_status; - var retailControl = this.businessForm.controls['retail_trading_activity_details']; - retailControl.push(this.manufactureDetails()); - } - if (event.value.exist_status == true && event.value.type_of_activity_id == 4) { - this.WholeSalesChecked = event.value.exist_status; - var wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details']; - wholesaleControl.controls = []; - wholesaleControl.setValue([]); - } - else if (event.value.exist_status == false && event.value.type_of_activity_id == 4) { - this.WholeSalesChecked = event.value.exist_status; - var wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details']; - wholesaleControl.push(this.manufactureDetails()); - } - if (event.value.exist_status == true && event.value.type_of_activity_id == 5) { - this.ServiceChecked = event.value.exist_status; - var serviceControl = this.businessForm.controls['service_provider_activity_details']; - serviceControl.controls = []; - serviceControl.setValue([]); - } - else if (event.value.exist_status == false && event.value.type_of_activity_id == 5) { - this.ServiceChecked = event.value.exist_status; - var serviceControl = this.businessForm.controls['service_provider_activity_details']; - serviceControl.push(this.manufactureDetails()); - } - if (event.value.exist_status == true && event.value.type_of_activity_id == 1) { - var othersControl = this.businessForm.controls['others_activity_details']; - othersControl.controls = []; - othersControl.setValue([]); - } - else if (event.value.exist_status == false && event.value.type_of_activity_id == 1) { - var othersControl = this.businessForm.controls['others_activity_details']; - othersControl.push(this.createOthersActivity()); - } - // check activity type for make dosument sighted filed dynamically - this.businessForm.value.manufacturing_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('export_import_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](this.businessForm.value.export_import_cert, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : this.businessForm.removeControl('export_import_cert'); - this.businessForm.value.manufacturing_activity_details.length > 0 ? this.businessForm.addControl('factory_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](this.businessForm.value.factory_cert, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : this.businessForm.removeControl('factory_cert'); - this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](this.businessForm.value.practice_cert, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : this.businessForm.removeControl('practice_cert'); - // check activity for extra question make dynamic - this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets'); - this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */](this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines'); - if (this.ManufacturingChecked || this.ManufacturingChecked == undefined && this.RetailedChecked || this.RetailedChecked == undefined && this.WholeSalesChecked || this.WholeSalesChecked == undefined && this.ServiceChecked || this.ServiceChecked == undefined) { - this.ExportFlag = false; - } - }; - PdQuestionBusinessInfoPage.prototype.changeManufacturingAreaSale = function (getDetails, getIndex) { - var control = this.businessForm.get('manufacturing_activity_details'); - if (getDetails.value.area_of_sale == "Within India") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (getDetails.value.area_of_sale == "Export") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - else if (getDetails.value.area_of_sale == "Both") { - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - }; - // change retail options - PdQuestionBusinessInfoPage.prototype.changeRetailAreaSale = function (getDetails, getIndex) { - var control = this.businessForm.get('retail_trading_activity_details'); - if (getDetails.value.area_of_sale == "Within India") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (getDetails.value.area_of_sale == "Export") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - else if (getDetails.value.area_of_sale == "Both") { - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - }; - // change whole options - PdQuestionBusinessInfoPage.prototype.changeWholesaleAreaSale = function (getDetails, getIndex) { - var control = this.businessForm.get('wholesale_trading_activity_details'); - if (getDetails.value.area_of_sale == "Within India") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (getDetails.value.area_of_sale == "Export") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - else if (getDetails.value.area_of_sale == "Both") { - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - }; - // change service provider - PdQuestionBusinessInfoPage.prototype.changeServiceArea = function (getDetails, getIndex) { - var control = this.businessForm.get('service_provider_activity_details'); - if (getDetails.value.area_of_sale == "Within India") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (getDetails.value.area_of_sale == "Export") { - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - else if (getDetails.value.area_of_sale == "Both") { - control.controls[getIndex].removeControl('india_where_sale_done'); - control.controls[getIndex].removeControl('countries_where_export_done'); - control.controls[getIndex].removeControl('pan_india_options'); - control.controls[getIndex].removeControl('max_sale_state_name'); - control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[getIndex].addControl('pan_india_options', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - control.controls[getIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()])); - } - }; - PdQuestionBusinessInfoPage.prototype.changePanIndiaOptions = function (type, selectedIndex, value) { - if (type == 1) { - var control = this.businessForm.get('manufacturing_activity_details'); - control.controls[selectedIndex].removeControl('india_where_sale_done'); - control.controls[selectedIndex].removeControl('max_sale_state_name'); - if (value == 'Yes') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (value == 'No') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - } - else if (type == 2) { - var control = this.businessForm.get('retail_trading_activity_details'); - control.controls[selectedIndex].removeControl('india_where_sale_done'); - control.controls[selectedIndex].removeControl('max_sale_state_name'); - if (value == 'Yes') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (value == 'No') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - } - else if (type == 3) { - var control = this.businessForm.get('wholesale_trading_activity_details'); - control.controls[selectedIndex].removeControl('india_where_sale_done'); - control.controls[selectedIndex].removeControl('max_sale_state_name'); - if (value == 'Yes') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (value == 'No') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - } - else if (type == 4) { - var control = this.businessForm.get('service_provider_activity_details'); - control.controls[selectedIndex].removeControl('india_where_sale_done'); - control.controls[selectedIndex].removeControl('max_sale_state_name'); - if (value == 'Yes') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - else if (value == 'No') { - control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()])); - control.controls[selectedIndex].addControl('max_sale_state_name', this.fb.array([this.maxSaleState()])); - } - } - }; - // update partner group other form control - PdQuestionBusinessInfoPage.prototype.changePartnerGroup = function (value, key) { - var control = this.businessForm.get('partners'); - value == 'Others' ? control.controls[key].addControl('partner_other_name', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)) : control.controls[key].removeControl('partner_other_name'); - }; - PdQuestionBusinessInfoPage.prototype.createDesignation = function () { - return this.fb.group({ - sec_name: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - sec_designation: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - }); - }; - PdQuestionBusinessInfoPage.prototype.keyPress = function (event) { - var pattern = /[0-9]/; - var inputChar = String.fromCharCode(event.charCode); - if (event.keyCode != 8 && !pattern.test(inputChar)) { - event.preventDefault(); - } - }; - PdQuestionBusinessInfoPage.prototype.getWorkExperience = function (event, key) { - var current_experience = event.current_business_experiance_year == '' ? 0 : parseInt(event.current_business_experiance_year); - var total_experience = event.total_business_experiance == '' ? 0 : parseInt(event.total_business_experiance); - var control = this.businessForm.get('partners'); - if (total_experience > current_experience) { - control.controls[key].addControl('total_business_previous_experience', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required)); - } - else if (total_experience < current_experience) { - //control.controls[key].controls['total_business_experiance'].setValue(current_experience); - control.controls[key].removeControl('total_business_previous_experience'); - } - else { - control.controls[key].removeControl('total_business_previous_experience'); - } - // let total ; - // if(control.length > 0){ - // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0); - // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]); - // this.businessForm.controls.business_years.updateValueAndValidity(); - // } - }; - PdQuestionBusinessInfoPage.prototype.ConvertMonthintoYear = function (itemrow, e) { - var year = itemrow.controls.current_business_experiance_year.value; - var converted_month = e % 12; - var converted_year = e / 12; - itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year)); - itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month)); - }; - PdQuestionBusinessInfoPage.prototype.createPartners = function () { - return this.fb.group({ - partner_name: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - // partner_other_name:[''], - shareholding: [''], - started_business: [''], - current_business_experiance_year: [''], - current_business_experiance_month: [''], - total_business_experiance: [''], - total_business_previous_experience: [''] - /* shareholding: ['', Validators.compose([Validators.required])], - current_business_experiance: ['', Validators.compose([Validators.required])], - total_business_experiance: ['', Validators.compose([Validators.required])],*/ - }); - }; - PdQuestionBusinessInfoPage.prototype.createRelationShip = function () { - return this.fb.group({ - family_member_salutation: [''], - family_member_name: [''], - other_family_relationship_id: [''], - relation_to_id: [''], - relationship_with_company_id: [''], - started_business: [''] - }); - }; - PdQuestionBusinessInfoPage.prototype.createBusinessActivity = function (details) { - return this.fb.group({ - type_of_activity_id: [details.type_of_activity_id, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - name: [details.name, __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - exist_status: [details.exist_status == 1 ? true : false] - }); - }; - PdQuestionBusinessInfoPage.prototype.createServiceActivity = function () { - return this.fb.group({ - main_products: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - area_of_sale: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - description: [''] - }); - }; - PdQuestionBusinessInfoPage.prototype.createOthersActivity = function () { - return this.fb.group({ - others_details: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])] - }); - }; - PdQuestionBusinessInfoPage.prototype.manufactureDetails = function () { - return this.fb.group({ - main_products: [''], - area_of_sale: [''], - description: [''] - // pan_india_options:[''], - // india_where_sale_done:this.fb.array([]), - //max_sale_state_name:this.fb.array([]), - //countries_where_export_done:this.fb.array([]) - }); - }; - PdQuestionBusinessInfoPage.prototype.indiaSalesDone = function () { - return this.fb.group({ - state_name: [''], - city_name: [''] - }); - }; - PdQuestionBusinessInfoPage.prototype.maxSaleState = function () { - return this.fb.group({ - state_name: [''], - city_name: [''] - }); - }; - PdQuestionBusinessInfoPage.prototype.createDocument = function () { - return this.fb.group({ - document: [''] - }); - }; - PdQuestionBusinessInfoPage.prototype.addDesignation = function () { - var control = this.businessForm.controls['designation']; - control.push(this.createDesignation()); - }; - PdQuestionBusinessInfoPage.prototype.deleteDesignation = function (index) { - var control = this.businessForm.controls['designation']; - if (control.length == 1) { - this.businessForm.controls['designation'].reset(); - } - else { - control.removeAt(index); - } - }; - PdQuestionBusinessInfoPage.prototype.addPartnerDetails = function (event) { - var control = this.businessForm.controls['partners']; - event.stopPropagation(); - var length = control.length; - this.step = length; - control.push(this.createPartners()); - }; - PdQuestionBusinessInfoPage.prototype.addPersonRelationship = function (event) { - event.stopPropagation(); - var control = this.businessForm.controls['persons_with_relationships']; - var length = control.length; - this.step = length; - control.push(this.createRelationShip()); - }; - PdQuestionBusinessInfoPage.prototype.deletePersonRelationship = function (index) { - var control = this.businessForm.controls['persons_with_relationships']; - control.removeAt(index); - }; - PdQuestionBusinessInfoPage.prototype.deletePartnerDetails = function (index) { - var control = this.businessForm.controls['partners']; - if (control.length == 1) { - this.businessForm.controls['partners'].reset(); - } - else { - control.removeAt(index); - } - }; - PdQuestionBusinessInfoPage.prototype.addMoreManufacturing = function () { - var manufacturingControl = this.businessForm.controls['manufacturing_activity_details']; - manufacturingControl.push(this.manufactureDetails()); - }; - PdQuestionBusinessInfoPage.prototype.removeManufacturing = function (index) { - var manufacturingControl = this.businessForm.controls['manufacturing_activity_details']; - if (manufacturingControl.length > 1) { - manufacturingControl.removeAt(index); - } - else { - manufacturingControl.reset(); - } - }; - PdQuestionBusinessInfoPage.prototype.addMoreRetail = function () { - var retailControl = this.businessForm.controls['retail_trading_activity_details']; - retailControl.push(this.manufactureDetails()); - }; - PdQuestionBusinessInfoPage.prototype.removeRetail = function (index) { - var retailControl = this.businessForm.controls['retail_trading_activity_details']; - if (retailControl.length > 1) { - retailControl.removeAt(index); - } - else { - retailControl.reset(); - } - }; - PdQuestionBusinessInfoPage.prototype.addMoreWholesale = function () { - var wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details']; - wholesaleControl.push(this.manufactureDetails()); - }; - PdQuestionBusinessInfoPage.prototype.removeWholesale = function (index) { - var wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details']; - if (wholesaleControl.length > 1) { - wholesaleControl.removeAt(index); - } - else { - wholesaleControl.reset(); - } - }; - PdQuestionBusinessInfoPage.prototype.addMoreServiceprovider = function () { - var serviceControl = this.businessForm.controls['service_provider_activity_details']; - serviceControl.push(this.manufactureDetails()); - }; - PdQuestionBusinessInfoPage.prototype.removeServiceProvider = function (index) { - var serviceControl = this.businessForm.controls['service_provider_activity_details']; - if (serviceControl.length > 1) { - serviceControl.removeAt(index); - } - else { - serviceControl.reset(); - } - }; - PdQuestionBusinessInfoPage.prototype.addMoreOthersActivity = function () { - var othersControl = this.businessForm.controls['others_activity_details']; - othersControl.push(this.createOthersActivity()); - }; - PdQuestionBusinessInfoPage.prototype.createCountrySale = function () { - return this.fb.group({ - country_name: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - approx_sale: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])] - }); - }; - PdQuestionBusinessInfoPage.prototype.addMoreState = function (mindex, type) { - if (type == 1) { - var control = this.businessForm.get('manufacturing_activity_details'); - control = control.controls[mindex].get('india_where_sale_done'); - control.push(this.indiaSalesDone()); - } - else if (type == 2) { - var control = this.businessForm.get('manufacturing_activity_details'); - control = control.controls[mindex].get('countries_where_export_done'); - control.push(this.createCountrySale()); - } - }; - PdQuestionBusinessInfoPage.prototype.removeState = function (mindex, sindex, type) { - if (type == 1) { - var control = this.businessForm.get('manufacturing_activity_details'); - control = control.controls[mindex].get('india_where_sale_done'); - control.removeAt(sindex); - } - else if (type == 2) { - var control = this.businessForm.get('manufacturing_activity_details'); - control = control.controls[mindex].get('countries_where_export_done'); - control.removeAt(sindex); - } - }; - PdQuestionBusinessInfoPage.prototype.addRetailMoreState = function (rindex, type) { - if (type == 1) { - var control = this.businessForm.get('retail_trading_activity_details'); - control = control.controls[rindex].get('india_where_sale_done'); - control.push(this.indiaSalesDone()); - } - else if (type == 2) { - var control = this.businessForm.get('retail_trading_activity_details'); - control = control.controls[rindex].get('countries_where_export_done'); - control.push(this.createCountrySale()); - } - }; - PdQuestionBusinessInfoPage.prototype.removeRetailState = function (mindex, sindex, type) { - if (type == 1) { - var control = this.businessForm.get('retail_trading_activity_details'); - control = control.controls[mindex].get('india_where_sale_done'); - control.removeAt(sindex); - } - else if (type == 2) { - var control = this.businessForm.get('retail_trading_activity_details'); - control = control.controls[mindex].get('countries_where_export_done'); - control.removeAt(sindex); - } - }; - // add more whole sale state - PdQuestionBusinessInfoPage.prototype.addWholesaleMoreState = function (windex, type) { - if (type == 1) { - var control = this.businessForm.get('wholesale_trading_activity_details'); - control = control.controls[windex].get('india_where_sale_done'); - control.push(this.indiaSalesDone()); - } - else if (type == 2) { - var control = this.businessForm.get('wholesale_trading_activity_details'); - control = control.controls[windex].get('countries_where_export_done'); - control.push(this.createCountrySale()); - } - }; - // remove for whole sale - PdQuestionBusinessInfoPage.prototype.removeWholesaleState = function (mindex, sindex, type) { - if (type == 1) { - var control = this.businessForm.get('wholesale_trading_activity_details'); - control = control.controls[mindex].get('india_where_sale_done'); - control.removeAt(sindex); - } - else if (type == 2) { - var control = this.businessForm.get('wholesale_trading_activity_details'); - control = control.controls[mindex].get('countries_where_export_done'); - control.removeAt(sindex); - } - }; - // add more service provider - PdQuestionBusinessInfoPage.prototype.addServiceMoreState = function (sindex, type) { - if (type == 1) { - var control = this.businessForm.get('service_provider_activity_details'); - control = control.controls[sindex].get('india_where_sale_done'); - control.push(this.indiaSalesDone()); - } - else if (type == 2) { - var control = this.businessForm.get('service_provider_activity_details'); - control = control.controls[sindex].get('countries_where_export_done'); - control.push(this.createCountrySale()); - } - }; - // remove service provider - PdQuestionBusinessInfoPage.prototype.removeServiceState = function (mindex, sindex, type) { - if (type == 1) { - var control = this.businessForm.get('service_provider_activity_details'); - control = control.controls[mindex].get('india_where_sale_done'); - control.removeAt(sindex); - } - else if (type == 2) { - var control1 = this.businessForm.get('service_provider_activity_details'); - control1 = control1.controls[mindex].get('countries_where_export_done'); - control1.removeAt(sindex); - } - }; - PdQuestionBusinessInfoPage.prototype.addDocuments = function () { - var control = this.businessForm.controls['documents']; - control.push(this.createDocument()); - }; - PdQuestionBusinessInfoPage.prototype.deleteDocuments = function (index) { - var control = this.businessForm.controls['documents']; - if (control.length == 1) { - this.businessForm.controls['documents'].reset(); - } - else { - control.removeAt(index); - } - }; - PdQuestionBusinessInfoPage.prototype.relationChanged = function (event) { - var _this = this; - this.relativeNames = []; - event.value.forEach(function (option) { - _this.relativeNames.push({ member: option }); - }); - }; - PdQuestionBusinessInfoPage.prototype.createPOSMachinesDetails = function (data) { - if (data == null) { - return this.fb.group({ - pos_machines_financial_institution_name: [''], - tid_no_of_pos_machine: [''], - }); - } - else { - return this.fb.group({ - pos_machines_financial_institution_name: [data.pos_machines_financial_institution_name], - tid_no_of_pos_machine: [data.tid_no_of_pos_machine], - }); - } - }; - PdQuestionBusinessInfoPage.prototype.initBusinessForm = function () { - this.businessForm = this.fb.group({ - pdid: this.pdDetails.pd_id, - formid: this.FormId.form_id, - fk_createdby: this.users, - profession_name: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - business_years: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - industry: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - type_of_activity: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - seasonality: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - designation: this.fb.array([]), - partners: this.fb.array([]), - employees_total: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - employees_permanent: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - employees_temporary: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - officer_total: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - officer_permanent: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - officer_temporary: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - invested_amount: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - working_capital: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - is_service_provided: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - ownership_setup: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - ownership_others: [''], - rent_paid: [''], - shop_eat_act_cert: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - gst_Regn_cert: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - export_import_cert: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - factory_cert: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - practice_cert: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - pf_regn: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - esic_regn: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - other_documents: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - documents: this.fb.array([]), - business_remarks: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - who_started: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - main_person: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - other_main_person: [''], - family_members_involved: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - before_business: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - any_delays: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], - }); - }; - PdQuestionBusinessInfoPage.prototype.submitDetails = function () { - var _this = this; - if (this.EntityTypeFlag == true) { - var control = this.businessForm.controls['partners']; - var control2 = control.controls[0]; - control2.controls['shareholding'].clearValidators(); - control2.controls['shareholding'].updateValueAndValidity(); - control2.controls['shareholding'].setValue('100'); - // control.controls[0].removeControl('shareholding'); - // control.controls[0].removeControl('started_business'); - // control.controls[0].removeControl('current_business_experiance_year'); - // control.controls[0].removeControl('current_business_experiance_month'); - // control.controls[0].removeControl('total_business_experiance'); - control2.controls['started_business'].setValue(''); - control2.controls['current_business_experiance_year'].clearValidators(); - control2.controls['current_business_experiance_year'].updateValueAndValidity(); - control2.controls['current_business_experiance_year'].setValue(''); - control2.controls['current_business_experiance_month'].setValue(''); - control2.controls['total_business_experiance'].clearValidators(); - control2.controls['total_business_experiance'].updateValueAndValidity(); - control2.controls['total_business_experiance'].setValue(''); - // if(control2.controls['total_business_previous_experience'].value !=undefined){ - // control2.controls['total_business_previous_experience'].clearValidators(); - // control2.controls['total_business_previous_experience'].updateValueAndValidity(); - // control2.controls['total_business_previous_experience'].setValue('0'); - // } - } - var family = []; - var design; - //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users}; - var records; - // records.pdid = this.pdDetails.pd_id; - // records.formid = this.FormId; - // records.fk_createdby = this.users; - records = this.businessForm.value; - //if(records.persons_with_relationships=='') - if (records.other_documents == 'no') { - delete records.documents; - } - if (records.rent_paid == '') { - delete records.rent_paid; - } - if (records.ownership_others == '') { - delete records.ownership_others; - } - // records.family_members_involved = this.relativeNames; - var validationFlag = 0; - //type 1: Checking manufacturing_activity_details - if (records.manufacturing_activity_details.length > 0) { - records.manufacturing_activity_details.forEach(function (val, index) { - if (val.area_of_sale != "Within India") { - var ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) { - return val.countries_where_export_done[key]; - }); - var total = ManufacturingArray.reduce(function (sum, item) { return sum + +item.approx_sale; }, 0); - if (total > 100 || total < 100) { - validationFlag++; - } - } - }); - } - //type 3 checking wholesale_trading_activity_details - if (records.wholesale_trading_activity_details.length > 0) { - records.wholesale_trading_activity_details.forEach(function (val, index) { - if (val.area_of_sale != "Within India") { - var WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) { - return val.countries_where_export_done[key]; - }); - var total = WholesaleTradingArray.reduce(function (sum, item) { return sum + +item.approx_sale; }, 0); - if (total > 100 || total < 100) { - validationFlag++; - } - } - }); - } - //type 2 checking retail_trading_activity_details - if (records.retail_trading_activity_details.length > 0) { - records.retail_trading_activity_details.forEach(function (val, index) { - if (val.area_of_sale != "Within India") { - var RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) { - return val.countries_where_export_done[key]; - }); - var total = RetailTradingArray.reduce(function (sum, item) { return sum + +item.approx_sale; }, 0); - if (total > 100 || total < 100) { - validationFlag++; - } - } - }); - } - //type 4 checking service_provider_activity_details - if (records.service_provider_activity_details.length > 0) { - records.service_provider_activity_details.forEach(function (val, index) { - if (val.area_of_sale != "Within India") { - var ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) { - return val.countries_where_export_done[key]; - }); - var total = ServiceProviderArray.reduce(function (sum, item) { return sum + +item.approx_sale; }, 0); - if (total > 100 || total < 100) { - validationFlag++; - } - } - }); - } - //validationFlag is greater then 0 means its display the notifer as warning - if (validationFlag > 0) { - this.toast.pdTriggerappmessage("warning!! Approximate sales doesn't add upto 100%"); - return; - } - records.select_business_activity_type = records.select_business_activity_type.filter(function (value) { return value.exist_status == 1; }); - this.qustCat.saveForm(records).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 3000); - } - }); - }; - PdQuestionBusinessInfoPage.prototype.getBuisnessDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (data) { - var businessVal = data['records']; - var constVal; - var Desgn = _this.businessForm.controls['designation']; - var Partnr = _this.businessForm.controls['partners']; - var otherDoc = _this.businessForm.controls['documents']; - if (data['status'] == 200) { - var DocArray = void 0; - var DesgnArray = Object.keys(data['records'].designation).map(function (key) { - return data['records'].designation[key]; - }); - var PartnrArray = Object.keys(data['records'].partners).map(function (key) { - return data['records'].partners[key]; - }); - var selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) { - return data['records'].family_members_involved[key]; - }); - var enduse_1 = []; - var existRelative_1 = []; - selectedMembers.forEach(function (val) { - enduse_1.push(val.member); - existRelative_1.push(val); - }); - _this.relativeNames = existRelative_1; - if (DesgnArray.length == 0) { - Desgn.push(_this.createDesignation()); - } - else { - DesgnArray.forEach(function (datas) { - Desgn.push(_this.createDesignation()); - }); - } - if (PartnrArray.length == 0) { - Partnr.push(_this.createPartners()); - } - else { - PartnrArray.forEach(function (datas) { - Partnr.push(_this.createPartners()); - }); - } - if (data['records'].other_documents == 'yes') { - DocArray = Object.keys(data['records'].documents).map(function (key) { - return data['records'].documents[key]; - }); - DocArray.forEach(function (datas) { - otherDoc.push(_this.createDocument()); - }); - } - else { - DocArray = [{ document: '' }]; - otherDoc.push(_this.createDocument()); - } - if (data['records'].ownership_setup != 'others') { - businessVal.ownership_others = ''; - } - if (data['records'].ownership_setup != 'rented') { - businessVal.rent_paid = ''; - } - businessVal.family_members_involved = enduse_1; - businessVal.pdid = _this.pdDetails.pd_id; - businessVal.formid = _this.FormId.form_id; - businessVal.fk_createdby = _this.users; - businessVal.designation = DesgnArray; - businessVal.partners = PartnrArray; - businessVal.documents = DocArray; - _this.businessForm.setValue(businessVal); - } - else { - Desgn.push(_this.createDesignation()); - Partnr.push(_this.createPartners()); - otherDoc.push(_this.createDocument()); - } - }); - }; - PdQuestionBusinessInfoPage.prototype.setStep = function (index) { - this.step = index; - }; - PdQuestionBusinessInfoPage.prototype.inWords = function (e, flag) { - switch (flag) { - case 1: - this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value); - break; - } - }; - PdQuestionBusinessInfoPage.prototype.CheckExport = function (value, stringFlag, index) { - //this.ExportFlag=false - var parentControl = this.businessForm.controls['select_business_activity_type']; - var childControl = parentControl.controls[0]; - // childControl.forEach((datas,index) => { - // // exist_status==true && event.value.type_of_activity_id - // }); - if (!this.ManufacturingChecked) { - // console.log("Manu") - if (stringFlag == 'MActivity' && value == "Both") { - this.ManufacturingCounterArray[index] = 1; - } - else if (stringFlag == 'MActivity' && value != "Both") { - this.ManufacturingCounterArray[index] = 0; - } - } - else if (this.ManufacturingChecked && stringFlag == 'MActivity') { - // console.log("manu"); - this.ManufacturingCounterArray[index] = 0; - } - if (!this.RetailedChecked) { - if (stringFlag == 'RActivity' && value == "Both") { - this.RetailCounterArray[index] = 1; - } - else if (stringFlag == 'RActivity' && value != "Both") { - this.RetailCounterArray[index] = 0; - } - } - else if (stringFlag == 'RActivity' && this.RetailedChecked) { - this.RetailCounterArray[index] = 0; - } - if (!this.WholeSalesChecked) { - if (stringFlag == 'WActivity' && value == "Both") { - this.WholeSaleCounterArray[index] = 1; - } - else if (stringFlag == 'WActivity' && value != "Both") { - this.WholeSaleCounterArray[index] = 0; - } - } - else if (stringFlag == 'WActivity' && this.WholeSalesChecked) { - this.WholeSaleCounterArray[index] = 0; - } - if (!this.ServiceChecked) { - if (stringFlag == 'SPActivity' && value == "Both") { - this.ServiceCounterArray[index] = 1; - } - else if (stringFlag == 'SPActivity' && value != "Both") { - this.ServiceCounterArray[index] = 0; - } - } - else if (stringFlag == 'SPActivity') { - this.ServiceCounterArray[index] = 0; - } - var SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var SumOfRetailCounter = this.RetailCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var SumOfServiceCounter = this.ServiceCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - var overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter; - this.ExportFlag = overallCounter > 0 ? true : false; - // console.log(this.ExportFlag); - //console.log(overallCounter) - }; - PdQuestionBusinessInfoPage.prototype.changePOSMachinesAvailablity = function (e, flag) { - console.log(e); - e == 'yes' - ? this.businessForm.addControl('no_of_pos_machines', new __WEBPACK_IMPORTED_MODULE_5__angular_forms__["d" /* FormControl */]('')) - : this.businessForm.removeControl('no_of_pos_machines'); - if (flag == 2) { - e == 'yes' - ? this.businessForm.controls.no_of_pos_machines.setValue('') - : this.businessForm.removeControl('no_of_pos_machines'); - } - }; - PdQuestionBusinessInfoPage.prototype.toGetPOSMachinesDetails = function (e, flag) { - if (flag == 1) { - this.businessForm.addControl('pos_machines_details', this.fb.array([])); - } - var control = this.businessForm.controls['pos_machines_details']; - while (control.length !== 0) { - control.removeAt(0); - } - if (e > 0) { - if (flag == 1) { - for (var i = 1; i <= e; i++) { - control.push(this.createPOSMachinesDetails(null)); - } - } - else if (flag == 2) { - for (var i = 1; i <= e; i++) { - control.push(this.createPOSMachinesDetails(this.temp_additiondetailofposmachine)); - } - } - } - }; - PdQuestionBusinessInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.html"*/'\n\n \n \n {{formdetails.form_name}}\n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
{{businessEntityTypeList.section_label }} # {{i+1}}
\n
\n \n \n \n {{app.applicant_name}}\n Others\n \n \n \n \n \n \n \n \n \n \n Select\n Yes\n No\n \n \n

No of Years in Current Business

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n \n

\n
\n \n \n
\n \n
\n

Add Others Family Members Involved in Business

\n \n \n \n \n
Family Member #{{i+1}}
\n
\n \n \n \n {{title.name}}\n \n \n \n \n \n \n \n {{member.name | titlecase}}\n \n \n \n \n {{member.applicant_name | titlecase}}\n \n \n \n \n {{comrelship.name | titlecase}}\n \n \n \n \n Select\n Yes\n No\n \n \n \n \n \n \n \n \n
\n
\n
\n \n

\n \n Type of Business Activity\n \n
\n \n {{entityType.controls.name.value | titlecase}}\n \n
\n
\n
\n \n \n \n
\n
Manufacturing Details {{i+1}}
\n \n \n \n \n \n Within India"\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n \n
\n
\n
\n \n \n {{SL.state_name}}\n \n \n \n \n {{CL.city_name}} \n \n \n
\n
\n
\n
\n
\n
\n
\n \n States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n
\n \n
\n
\n \n
Within India
\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n
\n
\n \n
\n
\n \n \n \n \n
\n
\n \n States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n Description of {{manufacturing.value.main_products}}\n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n \n
Retail Trading Details {{r+1}}
\n
\n \n \n \n \n \n Within India\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n \n \n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Sales Done for {{retail.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n \n Countries Where Export Is Being Done for {{retail.value.main_products}}\n \n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n \n

Within India

\n \n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Sales Done for {{retail.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{retail.value.main_products}}\n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n \n \n Description of {{retail.value.main_products}}\n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n
\n \n \n \n \n
\n
\n \n
Wholesale Trade Details {{w+1}}
\n
\n \n \n \n \n \n \n Within India\n Export\n Both\n \n \n \n \n \n Yes\n No\n \n \n \n
\n
\n \n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n

Within India

\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n
\n
\n \n
\n \n
\n
\n
\n \n States Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n \n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n
\n \n
\n \n \n Description of {{wholesale.value.main_products}}\n \n \n \n\n \n \n \n \n \n
\n
\n
\n\n
\n \n
\n \n
\n \n \n
\n
\n \n
Service Provider Details {{sp+1}}
\n
\n \n \n \n \n \n \n Within India\n Export\n Both\n \n \n \n \n \n Yes\n No\n \n \n \n \n \n
\n
\n \n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n

Within India

\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n
\n
\n \n
\n \n
\n
\n
\n \n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n Description of {{serviceprovider.value.main_products}}\n \n \n \n\n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n \n
\n \n\n\n \n \n Export Sale As a % Total Sales\n \n \n \n \n \n \n \n \n \n \n Digital Payments\n \n \n \n \n Yes\n No\n \n \n \n \n Yes\n No\n \n \n
\n \n \n \n
\n
\n
\n \n Machine Details {{i+1}}\n \n \n \n Select\n {{b.lender_name}}\n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n \n Seasonality\n \n \n
\n \n

Is The Business Seasonal

\n \n \n Yes\n No Major Changes In Sales\n \n \n \n \n \n January\n February\n March\n April\n May\n June\n July\n August\n September\n October\n November\n December\n \n \n \n
\n
\n \n \n \n \n \n
\n \n \n
\n
\n \n \n \n Employees As Per Applicant \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{appxSalaryAmtInwords}} Only\n \n \n \n \n \n \n No of Employees Sighted By PD Officer During His Visit \n \n \n \n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n \n \n \n Documents Sighted \n \n \n \n \n

Shop and Est Act Cert

\n \n \n Yes\n No\n NA\n \n \n \n \n \n

GST Regn Cert

\n \n \n Yes\n No\n NA\n \n \n \n \n
\n

Export / Import cert

\n \n \n Yes\n No\n NA\n \n \n \n
\n \n
\n

Factory Cert

\n \n \n Yes\n No\n NA\n \n
\n \n
\n \n \n

Cert of Practice

\n \n \n Yes\n No\n NA\n \n \n \n
\n \n \n \n

PF Regn

\n \n \n Yes\n No\n NA\n \n \n \n \n

ESIC Regn

\n \n \n Yes\n No\n NA\n \n \n \n \n

Do You Want to Add Other Documents?

\n \n \n Yes\n No\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n \n \n Remarks\n \n \n \n \n \n \n \n
\n
\n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionBusinessInfoPage); - return PdQuestionBusinessInfoPage; -}()); - -//# sourceMappingURL=pd-question-business-info.js.map - -/***/ }), - -/***/ 388: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessAssetsPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -/** - * Generated class for the PdQuestionBusinessAssetsPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionBusinessAssetsPage = (function () { - function PdQuestionBusinessAssetsPage(navCtrl, navParams, aws, fb, qustcat, cons, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.fb = fb; - this.qustcat = qustcat; - this.cons = cons; - this.toast = toast; - this.currentYear = new Date().getFullYear(); - this.m_any_asset_loan_type = [{ 'value': "yes", 'viewValue': "Yes" }, - { 'value': "no", 'viewValue': "No" }, - { 'value': "nan", 'viewValue': "NA" }]; - this.AssetValueInwords = []; - this.appxMarketAmtInwords = []; - this.RentAmtInwords = []; - this.mergeCompanyApplicant = []; - this.existCompanyList = []; - this.yearErrorMessage = []; - this.monthErrorMessage = []; - this.addressLabel = []; - this.placeholderName = []; - this.m_address_type = []; - this.RentAmtInwordsForAddress = []; - this.appxMarketAmtInwordsForAddress = []; - this.isOtherOwnerForAddress = false; - this.isOtherOwner = false; - this.m_vehicle_type = []; - this.apiLoadFinish = false; - this.pdDetails = this.navParams.get('pdDetails'); - this.formDetails = this.navParams.get('formDetails'); - this.users = this.aws.getlocale(); - this.company_id = this.pdDetails.company_id; - this.applicants = this.pdDetails.applicat_details; - this.applicants = this.applicants.filter(function (appt) { return appt.applicant_type != 2; }); - this.applicants.push({ 'pd_co_applicant_id': '0', 'applicant_name': 'Others' }); - this.generalExistBusinessYear = this.pdDetails.business_years; - this.generalExistBusinessMonth = this.pdDetails.business_month; - this.pageTitle = this.pdDetails.company_name + ' - ' + this.pageTitle; - this.main_applicant = this.pdDetails.applicant_name; - this.lender_applicant_id = this.pdDetails.lender_applicant_id; - this.subproduct_abbr = this.pdDetails.subproduct_abbr; - this.customer_segment_abbr = this.pdDetails.customer_segment_abbr; - this.getDropDown(); - } - PdQuestionBusinessAssetsPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionBusinessAssetsPage'); - this.getDetails(); - //this.getAddress() - }; - PdQuestionBusinessAssetsPage.prototype.getAddress = function () { - var _this = this; - var params = {}; - params.pd_id = this.pdDetails.pd_id; - params.pd_form_id = '5'; - this.qustcat.retiverForm(params).subscribe(function (data) { - var control = _this._businessAssetsQuesFrom.controls['business_assets_for_address']; - if (data['status'] == 200) { - if (data['records'].addresses.length > 0) { - data['records'].addresses.forEach(function (data, inx) { - _this.addressLabel[inx] = ''; - var selectedAddressType = _this.m_address_type.filter(function (element) { return element.address_type_id == data.address_type; })[0]; - var address = data.address; - var addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others; - _this.placeholderName[inx] = 'Was any business activity seen at the ' + addressType + ' during PD visit?'; - var addressLabel = " : " + address + ' / ' + addressType; - var values = { - address_label: addressLabel, - business_years: '', - business_month: '', - business_address_availability: '', - business_is_pd_visited: '', - business_pd_visited_remark: '', - business_approximate_market_value: '', - business_ownership_type: '', - business_monthly_rented_amt: '', - business_name_of_the_owner: '', - business_name_of_the_other_owner: '', - business_vintage: '', - business_purchase_year: '', - business_emi: '' - }; - control.push(_this.initBusinessDetailsWithdata(values)); - }); - } - else { - control.push(_this.initBusinessDetails()); - } - } - else { - control.push(_this.initBusinessDetails()); - } - }); - }; - PdQuestionBusinessAssetsPage.prototype.getDropDown = function () { - var _this = this; - this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(function (data) { - _this.m_address_type = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustcat.getcommondrop('VEHICLETYPE').subscribe(function (data) { - _this.m_vehicle_type = data['records'].filter(function (data) { return data.is_active == 1; }); - }); - this.qustcat.getcommondrop('ASSETTYPE').subscribe(function (data) { - _this.m_assets_type = data['records'].filter(function (val) { return val.isactive == 1 && val.flag == 1; }); - }); - this.qustcat.getcommondrop('PROPERTIES').subscribe(function (data) { - _this.m_propertyType = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function (data) { - if (data.dataStatus) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active == true; }); - } - var modifyCompanyList = []; - if (_this.existCompanyList.length > 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - var modifyApplicantList = []; - if (_this.applicants.length > 0) { - modifyApplicantList = _this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - } - }); - }; - PdQuestionBusinessAssetsPage.prototype.getDetails = function () { - var _this = this; - var params = {}; - params.pd_id = this.pdDetails.pd_id; - params.company_id = this.company_id; - params.pd_form_id = 22; - this.qustcat.retiverForm(params).subscribe(function (res) { - if (res['dataStatus'] == true) { - //this.data_all=res['records'] - /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){ - return res['records'].business_assets_details[key] - }); - - //this.formLoadData(assestArray) - this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark); - if(assestArray.length>0){ - for(let val of assestArray){ - let formData={ - business_assets_mode: val.business_assets_mode, - business_approximate_market_value: val.business_approximate_market_value, - business_name_of_the_owner: val.business_name_of_the_owner, - business_name_of_the_other_owner: val.business_name_of_the_other_owner, - business_purchase_year: val. business_purchase_year, - business_vintage : val.business_vintage, - business_emi: val.business_emi, - }; - const control = this._businessAssetsQuesFrom.controls['business_assets_details']; - control.push(this.initBusinessDetailsWithdata(formData)); - this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1) - } - }*/ - _this.formLoadData(res['records']); - } - else { - _this.formLoadData(null); - } - _this.apiLoadFinish = true; - }); - //this.formLoadData(null); - }; - PdQuestionBusinessAssetsPage.prototype.formLoadData = function (data) { - if (data == null) { - this._businessAssetsQuesFrom = this.fb.group({ - pdid: [this.pdDetails.pd_id], - /* formid: ['22'],*/ - formid: [this.formDetails.form_id], - company_id: [this.company_id], - fk_createdby: [this.users], - business_assets_for_address: this.fb.array([]), - //this.createBusinessAssetsForAddress(), - business_assets_details: this.fb.array([ - this.initBusinessDetails(), - ]), - business_assets_form_remark: [''] - }); - this.getAddress(); - this.loadDetails = true; - } - else { - var value = data; - this._businessAssetsQuesFrom = this.fb.group({ - pdid: [this.pdDetails.pd_id], - /* formid: ['22'],*/ - formid: [this.formDetails.form_id], - company_id: [this.company_id], - fk_createdby: [this.users], - // business_years:[value.business_years], - // business_month:[value.business_month], - // business_address_availability:[value.business_address_availability], - // business_is_pd_visited:[value.business_is_pd_visited], - // business_pd_visited_remark:[value.business_pd_visited_remark], - business_assets_for_address: this.fb.array([]), - business_assets_details: this.fb.array([]), - business_assets_form_remark: [value.business_assets_form_remark || ''] - }); - // if (value.business_assets_for_address.business_address_availability == 'yes') { - // this.addBusinessAssetsForAddress(value.business_assets_for_address); - // } - // else { - // const control = this._businessAssetsQuesFrom.controls['business_assets_for_address']; - // control.push(this.createBusinessAssetsForAddress()); - // } - // this.addBusinessAssetsDetailsWithData(value.business_assets_details); - this.addBusinessAssetsForAddress(value.business_assets_for_address); - this.addBusinessAssetsDetailsWithData(value.business_assets_details); - } - this.loadDetails = true; - }; - PdQuestionBusinessAssetsPage.prototype.initBusinessDetails = function () { - return this.fb.group({ - address_label: [''], - business_assets_mode: [''], - business_details: this.fb.array([]), - business_years: [''], - business_month: [''], - business_address_availability: [''], - business_is_pd_visited: [''], - business_pd_visited_remark: [''], - business_approximate_market_value: [''], - business_ownership_type: [''], - business_monthly_rented_amt: [''], - business_name_of_the_owner: [], - business_name_of_the_other_owner: [], - business_vintage: [''], - business_purchase_year: ['', __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].pattern("[1-9]{1}[0-9]{3}")])], - business_emi: [''], - }); - }; - PdQuestionBusinessAssetsPage.prototype.loadProperty = function () { - return this.fb.group({ - property_type: [''], - other_property_type: [''], - address_of_the_property: [''] - }); - }; - PdQuestionBusinessAssetsPage.prototype.load_Four_Weeler = function () { - return this.fb.group({ - manufacturer_model_vehicle: [''], - vehicle_type: [''], - other_vehicle_type: [''] - }); - }; - PdQuestionBusinessAssetsPage.prototype.loadEquipmentManufacturingDescription = function () { - return this.fb.group({ - equipment_manufacturing_description: [''] - }); - }; - PdQuestionBusinessAssetsPage.prototype.otherBusinessAssetsDescription = function () { - return this.fb.group({ - any_other_assets: [''], - any_other_asset_value: [''], - any_other_asset_loan: [''], - }); - }; - /** Add More Asset using Flag Both "Other Asset" And "Business Asset" */ - PdQuestionBusinessAssetsPage.prototype.addAssetDetails = function (e) { - var control = this._businessAssetsQuesFrom.controls['business_assets_details']; - control.push(this.initBusinessDetails()); - }; - /** To remove The Added Asset using Flag Both "Other Asset" And "Business Asset" */ - PdQuestionBusinessAssetsPage.prototype.removeAssetsDetails = function (i) { - var control = this._businessAssetsQuesFrom.controls['business_assets_details']; - control.removeAt(i); - }; - PdQuestionBusinessAssetsPage.prototype.createBusinessAssetsForAddress = function () { - return this.fb.group({ - address_label: [''], - business_years: [''], - business_month: [''], - business_address_availability: [''], - business_is_pd_visited: [''], - business_pd_visited_remark: [''], - business_approximate_market_value: [''], - business_ownership_type: [''], - business_monthly_rented_amt: [''], - business_name_of_the_owner: [''], - business_name_of_the_other_owner: [''], - business_vintage: [''], - business_purchase_year: ['', __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].pattern("[1-9]{1}[0-9]{3}")])], - business_emi: [''] - }); - }; - PdQuestionBusinessAssetsPage.prototype.selectedAssetsType = function (e, i) { - var val = i; - var arr = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - arr.controls.splice(0); - switch (e.value) { - case '1': { - var control = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control.push(this.otherBusinessAssetsDescription()); - break; - } - case '2': { - var val_1 = i; - var control = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val_1).get('business_details'); - control.push(this.loadProperty()); - break; - } - case '3': { - var control = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control.push(this.load_Four_Weeler()); - break; - } - case '4': { - var control = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control.push(this.loadEquipmentManufacturingDescription()); - break; - } - default: { - break; - } - } - }; - PdQuestionBusinessAssetsPage.prototype.loadPropertyWithData = function (data) { - return this.fb.group({ - property_type: [data.property_type], - other_property_type: [data.other_property_type], - address_of_the_property: [data.address_of_the_property], - }); - }; - PdQuestionBusinessAssetsPage.prototype.load_Four_WeelerWithData = function (data) { - return this.fb.group({ - manufacturer_model_vehicle: [data.manufacturer_model_vehicle], - vehicle_type: [data.vehicle_type], - other_vehicle_type: [data.other_vehicle_type] - }); - }; - PdQuestionBusinessAssetsPage.prototype.loadEquipmentManufacturingDescriptionWithData = function (data) { - return this.fb.group({ - equipment_manufacturing_description: [data.equipment_manufacturing_description] - }); - }; - PdQuestionBusinessAssetsPage.prototype.otherBusinessAssetsDescriptionWithData = function (data) { - return this.fb.group({ - any_other_assets: [data.any_other_assets], - any_other_asset_loan: [data.any_other_asset_loan], - }); - }; - PdQuestionBusinessAssetsPage.prototype.addBusinessAssetsForAddress = function (data) { - var _this = this; - var result = Object.keys(data).map(function (key) { - return data[key]; - }); - if (result.length > 0) { - result.forEach(function (datas, index) { - _this.RentAmtInwordsForAddress[index] = _this.cons.convertNumberToWords(datas.business_monthly_rented_amt); - _this.appxMarketAmtInwordsForAddress[index] = _this.cons.convertNumberToWords(datas.business_approximate_market_value); - var Avaliablity = 1; - if (datas.business_name_of_the_owner.length > 0) { - datas.business_name_of_the_owner.forEach(function (option) { - if (option.id == 0 && option.group_id == 2) { - Avaliablity = option.id; - } - }); - } - _this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false; - }); - for (var _i = 0, result_1 = result; _i < result_1.length; _i++) { - var val = result_1[_i]; - var vals = { - address_label: val.address_label, - business_years: val.business_years, - business_month: val.business_month, - business_address_availability: val.business_address_availability, - business_is_pd_visited: val.business_is_pd_visited, - business_pd_visited_remark: val.business_pd_visited_remark, - business_approximate_market_value: val.business_approximate_market_value, - business_ownership_type: val.business_ownership_type, - business_monthly_rented_amt: val.business_monthly_rented_amt, - business_name_of_the_owner: val.business_name_of_the_owner, - business_name_of_the_other_owner: val.business_name_of_the_other_owner, - business_vintage: val.business_vintage, - business_purchase_year: val.business_purchase_year, - business_emi: val.business_emi - }; - var control = this._businessAssetsQuesFrom.controls['business_assets_for_address']; - control.push(this.createBusinessAssetsForAddressWithData(vals)); - } - } - else { - var control = this._businessAssetsQuesFrom.controls['business_assets_for_address']; - control.push(this.createBusinessAssetsForAddress()); - } - }; - PdQuestionBusinessAssetsPage.prototype.addBusinessAssetsDetailsWithData = function (supp_data) { - var _this = this; - var result = Object.keys(supp_data).map(function (key) { - return supp_data[key]; - }); - if (result.length > 0) { - result.forEach(function (datas, index) { - _this.appxMarketAmtInwords[index] = _this.cons.convertNumberToWords(+datas.business_approximate_market_value); - _this.RentAmtInwords[index] = _this.cons.convertNumberToWords(+datas.business_monthly_rented_amt); - }); - for (var _i = 0, result_2 = result; _i < result_2.length; _i++) { - var val = result_2[_i]; - var formData = { - address_label: val.address_label, - business_assets_mode: val.business_assets_mode, - business_years: val.business_year, - business_month: val.business_month, - business_address_availability: val.business_address_availability, - business_is_pd_visited: val.business_is_pd_visited, - business_pd_visited_remark: val.business_pd_visited_remark, - business_approximate_market_value: val.business_approximate_market_value, - business_ownership_type: val.business_ownership_type, - business_monthly_rented_amt: val.business_monthly_rented_amt, - business_name_of_the_owner: val.business_name_of_the_owner, - business_name_of_the_other_owner: val.business_name_of_the_other_owner, - business_purchase_year: val.business_purchase_year, - business_vintage: val.business_vintage, - business_emi: val.business_emi, - }; - var control = this._businessAssetsQuesFrom.controls['business_assets_details']; - control.push(this.initBusinessDetailsWithdata(formData)); - this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1); - } - } - this.loadDetails = true; - }; - PdQuestionBusinessAssetsPage.prototype.createBusinessAssetsForAddressWithData = function (data) { - return this.fb.group({ - address_label: [data.address_label], - business_years: [data.business_years], - business_month: [data.business_month], - business_address_availability: [data.business_address_availability], - business_is_pd_visited: [data.business_is_pd_visited], - business_pd_visited_remark: [data.business_pd_visited_remark], - business_approximate_market_value: [data.business_approximate_market_value], - business_ownership_type: [data.business_ownership_type], - business_monthly_rented_amt: [data.business_monthly_rented_amt], - business_name_of_the_owner: [data.business_name_of_the_owner], - business_name_of_the_other_owner: [data.business_name_of_the_other_owner], - business_vintage: [data.business_vintage], - business_purchase_year: [data.business_purchase_year, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].pattern("[1-9]{1}[0-9]{3}")])], - business_emi: [data.business_emi] - }); - }; - PdQuestionBusinessAssetsPage.prototype.initBusinessDetailsWithdata = function (data) { - var formGroup = this.fb.group({ - address_label: [data.address_label], - business_assets_mode: [data.business_assets_mode], - business_years: [data.business_year], - business_month: [data.business_month], - business_address_availability: [data.business_address_availability], - business_is_pd_visited: [data.business_is_pd_visited], - business_pd_visited_remark: [data.business_pd_visited_remark], - business_details: this.fb.array([]), - business_approximate_market_value: [data.business_approximate_market_value], - business_ownership_type: [data.business_ownership_type], - business_monthly_rented_amt: [data.business_monthly_rented_amt], - business_name_of_the_owner: [data.business_name_of_the_owner], - business_name_of_the_other_owner: [data.business_name_of_the_other_owner || ''], - // relation: [data.relation || ''], - business_vintage: [data.business_vintage], - business_purchase_year: [data.business_purchase_year, __WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].pattern("[1-9]{1}[0-9]{3}")])], - // purchase_month: [data.purchase_month], - business_emi: [data.business_emi || ''], - }); - return formGroup; - }; - PdQuestionBusinessAssetsPage.prototype.setBusinessAssetsDetailsWithData = function (assets_details_mode, datas, i) { - var _this = this; - var val = i; - var data = datas; - var control = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control.controls.splice(0); - switch (assets_details_mode) { - case '2': { - var business_property_datas_1; - data.forEach(function (datas, i) { - business_property_datas_1 = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, 'address_of_the_property': datas.address_of_the_property }; - }); - var control_1 = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control_1.push(this.loadPropertyWithData(business_property_datas_1)); - break; - } - case '3': { - var business_Four_Weeler_datas_1; - data.forEach(function (datas, i) { - business_Four_Weeler_datas_1 = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type }; - }); - var control_2 = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control_2.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas_1)); - break; - } - case '4': { - var equipment_manufacturing_description_datas_1; - data.forEach(function (datas, i) { - equipment_manufacturing_description_datas_1 = { 'equipment_manufacturing_description': datas.equipment_manufacturing_description }; - }); - var control_3 = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control_3.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas_1)); - break; - } - case '1': { - var array_datas_1; - data.forEach(function (datas, i) { - _this.AssetValueInwords[i] = _this.cons.convertNumberToWords(+datas.any_other_asset_value); - array_datas_1 = { - 'any_other_assets': datas.any_other_assets, - // 'any_other_asset_value': datas.any_other_asset_value, - 'any_other_asset_loan': datas.any_other_asset_loan, - }; - }); - var control_4 = this._businessAssetsQuesFrom.controls['business_assets_details'].at(val).get('business_details'); - control_4.push(this.otherBusinessAssetsDescriptionWithData(array_datas_1)); - break; - } - default: { - break; - } - } - }; - PdQuestionBusinessAssetsPage.prototype.selectedPM = function (e) { - this.paymentModeTextBox = e.value; - // this.f.supplier_details.controls.get('payment_mode_value'); - }; - PdQuestionBusinessAssetsPage.prototype.selectedFreqPurchase = function (e) { - this.freqPurchaseTextBox = e.value; - }; - PdQuestionBusinessAssetsPage.prototype.onSubmit = function () { - var _this = this; - var answerData = this._businessAssetsQuesFrom.value; - //To Remove The "Null" With Key also - Object.keys(answerData).forEach(function (key) { return (answerData[key] == null) && delete answerData[key]; }); - this.qustcat.saveForm(answerData).subscribe(function (result) { - if (result['dataStatus'] == true) { - _this.toast.pdTriggerappmessage("Record Saved Successfully"); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage("Sorry!! something went Wrong "); - } - }); - }; - // calculate vintage and purchase {} - PdQuestionBusinessAssetsPage.prototype.calculateVintagePurchase = function (value, controlKey, type) { - if (type == 1) { - var control = this._businessAssetsQuesFrom.controls['business_assets_details']; - control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : ''); - } - else if (type == 2) { - var control = this._businessAssetsQuesFrom.controls['business_assets_details']; - value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue(''); - value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue(''); - } - if (type == 3) { - var control = this._businessAssetsQuesFrom.controls['business_assets_for_address']; - control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : ''); - } - else if (type == 4) { - var control = this._businessAssetsQuesFrom.controls['business_assets_for_address']; - value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue(''); - value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue(''); - } - }; - PdQuestionBusinessAssetsPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - // // check others - PdQuestionBusinessAssetsPage.prototype.checkOthers = function (values) { - if (values != null) { - return values.id == 0 ? true : false; - } - else { - return false; - } - }; - PdQuestionBusinessAssetsPage.prototype.setRequiredValidation = function (value, item, flag, i) { - if (flag == 1) { - if (value == 'yes') { - console.log("bu", this._businessAssetsQuesFrom.controls); - // this._businessAssetsQuesFrom.controls.business_assets_for_address.value[i].business_years.setValidators([Validators.required]); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ; - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ; - } - else { - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.clearValidators(); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.clearValidators(); - // this._businessAssetsQuesFrom.controls.business_activity.clearValidators(); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.clearValidators(); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators(); - // this._businessAssetsQuesFrom.controls.business_activity.clearValidators(); - } - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.updateValueAndValidity(); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.updateValueAndValidity(); - // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity(); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.updateValueAndValidity(); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity(); - // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity(); - } - // if(flag == 2){ - // value==1 - // ? item.controls.premises_type_others.setValidators([Validators.required]) - // : item.controls.premises_type_others.clearValidators(); - // item.controls.premises_type_others.updateValueAndValidity(); - // } - if (flag == 3) { - if (value == 'owned') { - item.controls.business_monthly_rented_amt.clearValidators(); - item.controls.business_name_of_the_owner.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - } - else { - item.controls.business_monthly_rented_amt.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - item.controls.business_name_of_the_owner.clearValidators(); - } - item.controls.business_monthly_rented_amt.updateValueAndValidity(); - item.controls.business_name_of_the_owner.updateValueAndValidity(); - } - if (flag == 4) { - var Avaliablity_1 = 1; - value.forEach(function (option) { - if (option.id == 0 && option.group_id == 2) { - Avaliablity_1 = option.id; - } - }); - if (Avaliablity_1 == 0) { - item.controls.business_name_of_the_other_owner.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - this.isOtherOwner = true; - } - else { - item.controls.business_name_of_the_other_owner.setValue(''); - item.controls.business_name_of_the_other_owner.clearValidators(); - this.isOtherOwner = false; - } - item.controls.business_name_of_the_other_owner.updateValueAndValidity(); - // value == 0 - // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required]) - // : item.controls.business_name_of_the_other_owner.clearValidators(); - // item.controls.business_name_of_the_other_owner.updateValueAndValidity(); - } - if (flag == 5) { - value == 1 - ? item.controls.other_vehicle_type.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]) - : item.controls.other_vehicle_type.clearValidators(); - item.controls.other_vehicle_type.updateValueAndValidity(); - } - if (flag == 6) { - value == 1 - ? item.controls.other_property_type.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]) - : item.controls.other_property_type.clearValidators(); - item.controls.other_property_type.updateValueAndValidity(); - value != '' - ? item.controls.address_of_the_property.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]) - : item.controls.address_of_the_property.clearValidators(); - item.controls.address_of_the_property.updateValueAndValidity(); - } - if (flag == 7) { - if (value == 'owned') { - item.controls.business_monthly_rented_amt.clearValidators(); - item.controls.business_name_of_the_owner.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - } - else { - item.controls.business_monthly_rented_amt.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - item.controls.business_name_of_the_owner.clearValidators(); - } - item.controls.business_monthly_rented_amt.updateValueAndValidity(); - item.controls.business_name_of_the_owner.updateValueAndValidity(); - } - if (flag == 8) { - var Avaliablity_2 = 1; - value.forEach(function (option) { - if (option.id == 0 && option.group_id == 2) { - Avaliablity_2 = option.id; - } - }); - // isOtherOwner: boolean = false; - if (Avaliablity_2 == 0) { - item.controls.business_name_of_the_other_owner.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - this.isOtherOwnerForAddress = true; - } - else { - item.controls.business_name_of_the_other_owner.setValue(''); - item.controls.business_name_of_the_other_owner.clearValidators(); - this.isOtherOwnerForAddress = false; - } - item.controls.business_name_of_the_other_owner.updateValueAndValidity(); - } - }; - /** To Convert Month into Year */ - PdQuestionBusinessAssetsPage.prototype.ConvertMonthintoYear = function (e, ind) { - console.log(this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years); - var business_year = this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.value; - var converted_month = e % 12; - var converted_year = e / 12; - var Year = +business_year + +Math.floor(converted_year); - if (Year > this.generalExistBusinessYear) { - this.yearErrorMessage[ind] = "Higher than Business Vintage"; - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(''); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(''); - } - else { - if (Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) { - this.monthErrorMessage[ind] = "Higher than Business Vintage"; - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(''); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(''); - } - else { - this.monthErrorMessage[ind] = ''; - this.yearErrorMessage[ind] = ''; - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(+business_year + +Math.floor(converted_year)); - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(Math.floor(converted_month)); - } - } - }; - PdQuestionBusinessAssetsPage.prototype.checkWithExistBusinessYear = function (e, ind) { - if (+e > this.generalExistBusinessYear) { - this.yearErrorMessage[ind] = "Higher than Business Vintage"; - this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(''); - } - else { - this.yearErrorMessage[ind] = ''; - } - }; - PdQuestionBusinessAssetsPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.AssetValueInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 2: - this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 3: - this.RentAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 9: - this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 10: - this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value); - break; - default: - break; - } - }; - PdQuestionBusinessAssetsPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-assets',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.html"*/'\n\n\n \n \n {{formDetails.form_name}}\n \n\n\n\n\n\n
\n
\n \n \n \n \n
Address Details {{ itemrow.get(\'address_label\').value | titlecase}}\n
\n
\n
\n \n \n \n Yes\n No\n \n \n
\n

How long has business been operated from this premise?

\n \n \n {{yearErrorMessage[i]}}\n\n \n \n \n {{monthErrorMessage[i]}}\n\n \n\n \n \n Yes\n No\n \n \n \n\n\n \n \n \n \n\n
\n \n \n \n Owned\n Rented\n \n \n\n \n \n {{"₹"}}\n {{RentAmtInwordsForAddress[i]}} Only\n Monthly Rent Amount Required\n \n\n\n
\n \n\n \n \n \n {{"₹"}}\n {{appxMarketAmtInwordsForAddress[i]}} Only\n \n\n \n \n \n \n {{val.name}}\n \n \n \n Asset Owned by Required\n \n\n \n \n \n \n \n\n\n\n \n \n Approx Vintage\n \n \n \n\n \n Purchase Year\n \n \n \n
\n \n\n \n
\n

Is There a Loan Existing Against This Asset?

\n \n Yes\n No\n \n
\n
\n\n
\n\n
\n
\n
\n
\n
\n \n
\n \n
\n \n \n
Other Assets Used in Business # {{i+1}}
\n
\n
\n \n \n \n \n {{asset.name | titlecase}}\n \n \n \n\n
\n\n
\n
\n
\n \n \n \n {{prop.address_type | titlecase}}\n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n {{vehicle.vehicle_type_name }}\n \n \n\n \n \n \n\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n {{data.viewValue | titlecase}}\n \n \n
\n
\n
\n\n
\n\n \n \n \n Owned\n Rented\n \n \n\n\n\n \n \n \n {{"₹"}} {{RentAmtInwords[i]}} Only\n Monthly Rent Amount Required\n \n\n
\n \n \n \n {{"₹"}}\n {{appxMarketAmtInwords[i]}} Only\n Approximate Market Value Required\n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n\n \n \n \n\n \n
\n \n Approx Vintage\n \n \n \n Purchase Year\n \n \n
\n
\n\n \n \n\n

Is There a Loan Existing Against This Asset?

\n \n Yes\n No\n \n
\n\n
\n \n \n \n \n \n
\n
\n

\n\n
\n\n
\n\n \n \n \n Remarks\n \n \n \n \n \n \n \n\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionBusinessAssetsPage); - return PdQuestionBusinessAssetsPage; -}()); - -//# sourceMappingURL=pd-question-business-assets.js.map - -/***/ }), - -/***/ 389: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessBankingPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - -// import { QueryState } from '@angular/core/src/render3/interfaces'; - - -/** - * Generated class for the PdQuestionBusinessBankingPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionBusinessBankingPage = (function () { - function PdQuestionBusinessBankingPage(navCtrl, navParams, aws, fb, qustCat, cons, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.fb = fb; - this.qustCat = qustCat; - this.cons = cons; - this.toast = toast; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.amtInwords = []; - this.emiAmtInwords = []; - this.limitCaseFlag = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.pd_cus_segment = this.pdDetails.customer_segment_abbr.toUpperCase(); - this.pd_cus_segment = this.pd_cus_segment.substring(0, 3); - this.pdid = this.pdDetails.pd_id; - this.formDetails = this.navParams.get('formDetails'); - this.form_id = this.formDetails.form_id; - this.company_id = this.pdDetails.company_id; - this.applicants = this.pdDetails.applicat_details; - this.applicants = this.applicants.filter(function (appt) { return appt.applicant_type != 2; }); - this.applicants.push({ 'pd_co_applicant_id': '0', 'applicant_name': 'Others' }); - this.users = this.aws.getlocale(); - this.step = 0; - this.bankingForm = this.fb.group({ - itemRows: this.fb.array([]), - banking_form_remark: [''], - }); - this.salaryField = this.pdDetails.customer_segment_abbr.substring(0, 2) == 'SE' ? false : true; - this.getdropdown(); - this.retiveBankDetails(); - } - PdQuestionBusinessBankingPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionBusinessBankingPage'); - }; - PdQuestionBusinessBankingPage.prototype.getdropdown = function () { - var _this = this; - this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.accountType = res['records']; - } - }); - this.qustCat.getcommondrop('BTLENDERLIST').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.m_btLenderList = data['records'].filter(function (data) { return data.isactive == 1; }); - } - }); - this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - } - var modifyCompanyList = []; - if (_this.existCompanyList.length > 0) { - modifyCompanyList = _this.existCompanyList.map(function (element) { - return { id: element.company_order_id.toString(), name: element.company_name, group_id: 1 }; - }); - _this.mergeCompanyApplicant.push({ groupName: 'COMPANIES', groupValues: modifyCompanyList }); - } - }); - var modifyApplicantList = []; - if (this.applicants.length > 0) { - modifyApplicantList = this.applicants.map(function (element) { - return { id: element.pd_co_applicant_id, name: element.applicant_name, group_id: 2 }; - }); - this.mergeCompanyApplicant.push({ groupName: 'APPLICANTS', groupValues: modifyApplicantList }); - // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); - } - }; - PdQuestionBusinessBankingPage.prototype.compareObjects = function (o1, o2) { - if (o1.id == o2.id && o1.group_id == o2.group_id) - return true; - else - return false; - }; - PdQuestionBusinessBankingPage.prototype.checkOthers = function (values) { - if (values != null) { - return values.id == 0 ? true : false; - } - else { - return false; - } - }; - PdQuestionBusinessBankingPage.prototype.selectedAccTypeChanges = function (event, i) { - if (event == 2 || event == 1) { - this.limitCaseFlag[i] = false; - // const control = this.bankingForm.controls['itemRows']; - // control.controls[0].get('limit').clearValidators(); - // control.controls[0].get('limit').updateValueAndValidity(); - } - else { - this.limitCaseFlag[i] = true; - } - }; - /** To Convert Month into Year */ - PdQuestionBusinessBankingPage.prototype.ConvertMonthintoYear = function (itemrow, e) { - var year = itemrow.controls.vintage_year.value; - var converted_month = e % 12; - var converted_year = e / 12; - itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year)); - itemrow.controls.vintage_month.setValue(Math.floor(converted_month)); - }; - /** Amount InWords */ - PdQuestionBusinessBankingPage.prototype.inWords = function (e, i, flag) { - switch (flag) { - case 1: - this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 2: - this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); - break; - default: - break; - } - }; - PdQuestionBusinessBankingPage.prototype.setRequiredValidation = function (value, item, flag) { - if (flag == 1) { - value == 0 - ? item.controls.other_applicant.setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]) - : item.controls.other_applicant.clearValidators(); - item.controls.other_applicant.updateValueAndValidity(); - } - if (flag == 2) { - value == 1 - ? item.controls.other_bank.setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]) - : item.controls.other_bank.clearValidators(); - item.controls.other_bank.updateValueAndValidity(); - } - }; - PdQuestionBusinessBankingPage.prototype.createBankItem = function (name) { - return this.fb.group({ - applicant_name: [''], - bank_name: [''], - account_type: [''], - salary: this.pdDetails.customer_segment_abbr.substring(0, 2) == 'SE' ? [''] : [''], - limit: [''], - other_bank: [''], - other_applicant: [''], - is_main: [''], - vintage_year: [''], - vintage_month: [''], - }); - }; - PdQuestionBusinessBankingPage.prototype.addBankDetails = function (index, event) { - // if(this.pd.valid){ - // if(this.items.length !=0) - // { - // this.neighbourAccess = true; - // } - event.stopPropagation(); - var control = this.bankingForm.controls['itemRows']; - var length = control.length; - this.step = length; - control.push(this.createBankItem('')); - }; - PdQuestionBusinessBankingPage.prototype.addmoreBankDetils = function () { - this.itemRows = this.bankingForm.get('itemRows'); - this.itemRows.push(this.createBankItem('')); - }; - PdQuestionBusinessBankingPage.prototype.removebank = function (i) { - var control = this.bankingForm.controls['itemRows']; - if (control.length == 1) { - control.reset(); - } - else - control.removeAt(i); - }; - PdQuestionBusinessBankingPage.prototype.setStep = function (index) { - this.step = index; - }; - PdQuestionBusinessBankingPage.prototype.retiveBankDetails = function () { - var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.form_id, 'company_id': this.company_id }; - var control = this.bankingForm.controls['itemRows']; - this.qustCat.retiverForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - var result = Object.keys(res['records'].banking_details).map(function (key) { - return res['records'].banking_details[key]; - }); - _this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark); - if (result.length == 0) { - control.push(_this.createBankItem('')); - } - else { - result.forEach(function (datas, index) { - _this.selectedAccTypeChanges(datas.account_type, index); - if (datas.limit != '') { - _this.amtInwords[index] = _this.cons.convertNumberToWords(+datas.limit); - } - _this.selectedAccTypeChanges(datas.account_type, index); - control.push(_this.createBankItem('')); - }); - _this.bankingForm.controls['itemRows'].setValue(result); - } - } - else { - control.push(_this.createBankItem('')); - } - }); - }; - PdQuestionBusinessBankingPage.prototype.savepdBank = function (answerData) { - var _this = this; - var records = {}; - records.pdid = this.pdDetails.pd_id; - records.formid = this.form_id; - records.fk_createdby = this.users; - records.company_id = this.company_id; - records.banking_details = answerData.itemRows; - records.banking_form_remark = answerData.banking_form_remark; - this.qustCat.saveForm(records).subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - setTimeout(function () { - _this.navCtrl.pop(); - }, 2000); - } - else { - _this.toast.pdTriggerappmessage("Sorry!! Something Went Wrong"); - } - }); - }; - PdQuestionBusinessBankingPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-banking',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.html"*/'\n\n\n \n {{formDetails.form_name}}\n \n\n\n\n\n\n
\n
\n \n \n \n \n
Banking details {{i+1}}
\n
\n
\n \n \n \n \n \n {{val.name}} \n \n \n \n \n \n \n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n
\n \n \n \n {{bankacc.name}}\n \n \n \n \n \n
\n \n \n Yes\n No\n \n \n
\n \n \n \n Yes\n No\n NA\n \n \n \n
\n \n
\n Limit In case of OD / CC account, What is the Limit \n \n \n {{"₹"}} {{amtInwords[i]}} Only\n \n
\n\n \n \n \n \n \n\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdQuestionBusinessBankingPage); - return PdQuestionBusinessBankingPage; -}()); - -//# sourceMappingURL=pd-question-business-banking.js.map - -/***/ }), - -/***/ 391: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdGeneralImagesPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__ = __webpack_require__(199); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - -/** - * Generated class for the PdGeneralImagesPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdGeneralImagesPage = (function () { - function PdGeneralImagesPage(navCtrl, navParams, camera, qustCat, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.camera = camera; - this.qustCat = qustCat; - this.toast = toast; - this.cameraArr = []; - this.count = 0; - this.saveAccess = false; - this.FormId = ''; - this.applicatentDetails = this.navParams.get('pdDetails'); - this.FormId = this.navParams.get('FormId'); - } - PdGeneralImagesPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdGeneralImagesPage'); - }; - PdGeneralImagesPage.prototype.takePicture = function () { - var _this = this; - this.camera.getpicture().then(function (image) { - _this.count = _this.count + 1; - _this.cameraArr.push({ 'image': image, 'name': '' }); - }); - }; - PdGeneralImagesPage.prototype.removeimage = function (i) { - this.count = this.count - 1; - this.cameraArr.splice(i, 1); - }; - PdGeneralImagesPage.prototype.docnames = function (doc, i, img) { - this.cameraArr[i] = { 'image': img, 'Name': doc }; - // console.log(JSON.stringify(this.pddocdata)); - }; - PdGeneralImagesPage.prototype.savePDImages = function () { - var _this = this; - this.saveAccess = true; - var records = { 'pd_id': this.applicatentDetails.pd_id, 'formid': '' }; - records.images = this.cameraArr; - this.qustCat.savePDImages(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.saveAccess = false; - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - }; - PdGeneralImagesPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-general-images',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-general-images/pd-general-images.html"*/'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n\n\n\n \n \n \n\n \n General Images\n \n \n \n \n \n \n \n\n \n
\n \n \n
\n
\n {{img.Name}}\n
\n
\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-general-images/pd-general-images.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], PdGeneralImagesPage); - return PdGeneralImagesPage; -}()); - -//# sourceMappingURL=pd-general-images.js.map - -/***/ }), - -/***/ 392: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BouncedRejectPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_pdtrigger_pdtrigger__ = __webpack_require__(85); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(8); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -/** - * Generated class for the BouncedRejectPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var BouncedRejectPage = (function () { - function BouncedRejectPage(navCtrl, navParams, viewCtrl, aws, pdservice, qustCat, fb, toast) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.viewCtrl = viewCtrl; - this.aws = aws; - this.pdservice = pdservice; - this.qustCat = qustCat; - this.fb = fb; - this.toast = toast; - this.bounce_reason_others = ''; - // this.pdDetails = this.navParams.get('appdetails'); - // this.status = this.navParams.get('status'); - this.pdDetails = this.navParams.get('details'); - // console.log(this.pdDetails) - this.users = this.aws.getlocale(); - this.getDropdown(); - } - BouncedRejectPage.prototype.getDropdown = function () { - var _this = this; - this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.bounseMaster = res['records'].filter(function (bouns) { return bouns.isactive == 1; }); - console.log(_this.bounseMaster); - } - }); - }; - BouncedRejectPage.prototype.updatePDStatus = function () { - var _this = this; - if (this.bounce_reason != null && this.bounce_reason != 1) { - var data = { 'pd_id': this.pdDetails.pd_id, 'pd_status': this.pdDetails.pd_status, 'fk_updatedby': this.users, 'bounce_reason': this.bounce_reason, 'bounce_reason_others': this.bounce_reason_others }; - // console.log(this.bounce_reason) - // console.log(this.bounce_reason_others); - console.log(data); - this.toast.pdTriggerappmessage("Thank You"); - this.pdservice.updatepdStatus(data).subscribe(function (res) { - // this.updateStatus = res; - if (res['dataStatus'] == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_6__pd_list_pd_list__["a" /* PdListPage */]); - } - }); - } - else if (this.bounce_reason == 1 && this.bounce_reason_others != '' && this.bounce_reason_others != null) { - var data = { 'pd_id': this.pdDetails.pd_id, 'pd_status': this.pdDetails.pd_status, 'fk_updatedby': this.users, 'bounce_reason': this.bounce_reason, 'bounce_reason_others': this.bounce_reason_others }; - // console.log(this.bounce_reason) - // console.log(this.bounce_reason_others); - console.log(data); - this.toast.pdTriggerappmessage("Thank You"); - this.pdservice.updatepdStatus(data).subscribe(function (res) { - // this.updateStatus = res; - if (res['dataStatus'] == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_6__pd_list_pd_list__["a" /* PdListPage */]); - } - }); - } - else { - this.toast.pdTriggerappmessage("Please Choose the Reason to Reject"); - } - }; - BouncedRejectPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-bounced-reject',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/input/bounced-reject/bounced-reject.html"*/'\n \n \n Bounced Reject Reason\n \n\n\n\n\n \n \n \n \n \n \n Reason to Reject\n \n \n {{bouns.bounce_reason_name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/input/bounced-reject/bounced-reject.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["y" /* ViewController */], - __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], - __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__["a" /* ToastProvider */]]) - ], BouncedRejectPage); - return BouncedRejectPage; -}()); - -//# sourceMappingURL=bounced-reject.js.map - -/***/ }), - -/***/ 393: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DatabaseProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_sqlite__ = __webpack_require__(394); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the DatabaseProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var DatabaseProvider = (function () { - function DatabaseProvider(http, sql) { - this.http = http; - this.sql = sql; - console.log('Hello DatabaseProvider Provider'); - this.createnewdb(); - } - DatabaseProvider.prototype.createnewdb = function () { - var _this = this; - // alert('function in'); - this.sql.create({ - name: 'sinnedge', - location: 'defalut', - }).then(function (db) { - db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(function (res) { - // alert('db create'); - _this.getuserDetails(); - }) - .catch(function (e) { return console.log(e); }); - }); - }; - DatabaseProvider.prototype.getuserDetails = function () { - // alert('getusers'); - this.sql.create({ - name: 'sineedge', - location: 'default', - }).then(function (db) { - db.executeSql('select * from expense ORDER BY rowid DESC').then(function (res) { - console.log(res); - }); - }); - }; - DatabaseProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_sqlite__["a" /* SQLite */]]) - ], DatabaseProvider); - return DatabaseProvider; -}()); - -//# sourceMappingURL=database.js.map - -/***/ }), - -/***/ 395: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PasswordPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -/** - * Generated class for the PasswordPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PasswordPage = (function () { - function PasswordPage(navCtrl, navParams, aws, toast, commonconstant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.toast = toast; - this.commonconstant = commonconstant; - this.commonImage = this.commonconstant.commonimage; - this.Username = this.navParams.get('Username'); - this.Password = this.navParams.get('Password'); - } - PasswordPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PasswordPage'); - }; - PasswordPage.prototype.setNewPassword = function (newpass) { - var _this = this; - if (newpass != '' && newpass != null && newpass !== undefined) { - var auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass }; - console.log(auth); - this.aws.dologin(auth).subscribe(function (res) { - console.log(res); - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__["a" /* PdListPage */]); - // this.router.navigate(['/home']); - }, function (err) { - _this.toast.pdTriggerappmessage(err.message); - // alert(err.message); - }); - } - else { - this.toast.pdTriggerappmessage('Enter the new Password'); - } - }; - PasswordPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-password',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/password/password.html"*/'\n\n\n \n password\n \n\n\n\n\n\n\n \n \n \n \n Circle Image\n \n \n \n \n \n

New Password

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n\n\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/password/password.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PasswordPage); - return PasswordPage; -}()); - -//# sourceMappingURL=password.js.map - -/***/ }), - -/***/ 396: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AuthPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__ = __webpack_require__(397); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(398); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - -/** - * Generated class for the AuthPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var AuthPage = (function () { - function AuthPage(navCtrl, navParams, Menu, fb, shared, toast, faio, aws, loadingCtrl, commonconstant) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.Menu = Menu; - this.fb = fb; - this.shared = shared; - this.toast = toast; - this.faio = faio; - this.aws = aws; - this.loadingCtrl = loadingCtrl; - this.commonconstant = commonconstant; - this.mpinaccess = false; - this.commonImage = this.commonconstant.commonimage; - this.shared.refresh(); - this.getuserDetails(); - } - AuthPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad AuthPage'); - }; - AuthPage.prototype.ionViewDidEnter = function () { - this.Menu.enable(false); - }; - AuthPage.prototype.ionViewWillLeave = function () { - this.Menu.enable(true); - }; - AuthPage.prototype.getuserDetails = function () { - var _this = this; - this.loadingCtrl.pdloader('loading...'); - var userid = this.aws.getlocale(); - this.aws.getuserprofile(userid).subscribe(function (res) { - _this.userDetails = res; - if (_this.userDetails.dataStatus == true) { - _this.loadingCtrl.loading.dismiss(); - _this.userDetails = _this.userDetails.records; - if (_this.userDetails[0].role_name == "PD Executive" || _this.userDetails[0].role_name == "PD Officer") { - //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0])); - if (_this.userDetails[0].mpin == null) { - _this.mpinaccess = true; - } - else { - _this.mpinaccess = false; - } - } - else { - _this.toast.pdTriggerappmessage('This App only for PD Officers'); - localStorage.clear(); - } - } - else { - _this.toast.pdTriggerappmessage(''); - } - //console.log(this.mpinaccess); - }); - }; - AuthPage.prototype.setnewpin = function (newpin) { - var _this = this; - console.log("set Pin"); - this.aws.userpinupdate(newpin).subscribe(function (res) { - _this.newpindetails = res; - if (_this.newpindetails.dataStatus == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__["a" /* PdListPage */]); - } - }); - }; - /**Finger print */ - AuthPage.prototype.checkpin = function (pin) { - console.log("Check pin", pin); - if (pin != '' && pin != null) { - if (this.userDetails[0].mpin == pin) { - console.log("Entering List page"); - this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__["a" /* PdListPage */]); - } - else { - this.toast.pdTriggerappmessage('Enter The Correct PIN'); - } - } - else { - this.toast.pdTriggerappmessage('Enter The PIN'); - } - }; - AuthPage.prototype.checkfingerprint = function () { - var _this = this; - console.log("Check Finger"); - this.faio.show({ - clientId: 'Fingerprint-Demo', - clientSecret: 'password', - localizedFallbackTitle: 'Use Pin', - localizedReason: 'Please authenticate', - disableBackup: true, - }) - .then(function (result) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__["a" /* PdListPage */]); - }) - .catch(function (error) { - _this.toast.pdTriggerappmessage('err: ' + error); - }); - }; - AuthPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-auth',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/auth/auth.html"*/'\n\n\n\n\n \n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/auth/auth.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* MenuController */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__["a" /* FingerprintAIO */], __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_9__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], AuthPage); - return AuthPage; -}()); - -//# sourceMappingURL=auth.js.map - -/***/ }), - -/***/ 398: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoadingProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(5); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the LoadingProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var LoadingProvider = (function () { - function LoadingProvider(http, loadingCtrl) { - this.http = http; - this.loadingCtrl = loadingCtrl; - console.log('Hello LoadingProvider Provider'); - } - LoadingProvider.prototype.pdloader = function (content) { - this.loading = this.loadingCtrl.create({ - content: content - }); - this.loading.present(); - }; - LoadingProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["n" /* LoadingController */]]) - ], LoadingProvider); - return LoadingProvider; -}()); - -//# sourceMappingURL=loading.js.map - -/***/ }), - -/***/ 401: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__ = __webpack_require__(402); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_module__ = __webpack_require__(531); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_core__ = __webpack_require__(0); - - - -Object(__WEBPACK_IMPORTED_MODULE_2__angular_core__["_15" /* enableProdMode */])(); -Object(__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__["a" /* platformBrowserDynamic */])().bootstrapModule(__WEBPACK_IMPORTED_MODULE_1__app_module__["a" /* AppModule */]); -//# sourceMappingURL=main.js.map - -/***/ }), - -/***/ 531: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModule; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(45); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_component__ = __webpack_require__(570); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__ = __webpack_require__(187); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__ = __webpack_require__(332); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_platform_browser_animations__ = __webpack_require__(671); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ionic_native_sqlite__ = __webpack_require__(394); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(393); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__ = __webpack_require__(124); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_material__ = __webpack_require__(349); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_guard_auth_guard__ = __webpack_require__(673); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__ = __webpack_require__(674); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__providers_aws_service_cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__providers_constants_constants__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_auth_auth__ = __webpack_require__(396); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__pages_login_login__ = __webpack_require__(333); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__pages_pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__pages_pd_question_category_pd_question_category__ = __webpack_require__(123); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__pages_pd_question_pd_question__ = __webpack_require__(360); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pages_googleplaytab_googleplaytab__ = __webpack_require__(675); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__pages_password_password__ = __webpack_require__(395); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__pages_pd_allocation_pd_allocation__ = __webpack_require__(676); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pages_input_input__ = __webpack_require__(358); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__providers_common_provider_toast__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__providers_pdtrigger_pdtrigger__ = __webpack_require__(85); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__ionic_native_fingerprint_aio__ = __webpack_require__(397); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__ionic_native_launch_navigator__ = __webpack_require__(359); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__pages_otp_otp__ = __webpack_require__(198); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33_ionic_img_viewer__ = __webpack_require__(677); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__providers_common_provider_camera__ = __webpack_require__(199); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__providers_common_provider_loading__ = __webpack_require__(398); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__ionic_native_camera__ = __webpack_require__(361); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__pages_pd_question_pd_question_address_pd_question_address__ = __webpack_require__(362); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_assests_pd_question_assests__ = __webpack_require__(368); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_banking_pd_question_banking__ = __webpack_require__(366); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_current_loans_pd_question_current_loans__ = __webpack_require__(364); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_emp_info_pd_question_emp_info__ = __webpack_require__(363); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_family_pd_question_family__ = __webpack_require__(367); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_loans_pd_question_loans__ = __webpack_require__(365); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(202); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_other_income_pd_question_other_income__ = __webpack_require__(369); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__ionic_native_geolocation__ = __webpack_require__(204); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_personal_info_pd_question_personal_info__ = __webpack_require__(370); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(201); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(203); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(387); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(371); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(373); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(375); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(374); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(378); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(376); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(372); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(392); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(377); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__ = __webpack_require__(380); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_general_info_pd_question_general_info__ = __webpack_require__(381); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__pages_pd_question_pd_question_general_info_pd_question_general_other_applicant_pd_question_general_other_applicant__ = __webpack_require__(382); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__ = __webpack_require__(384); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_final_remark_pd_question_final_remark__ = __webpack_require__(385); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__pages_pd_question_pd_question_business_pd_question_business__ = __webpack_require__(684); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__pages_pd_question_pd_question_business_group_pd_question_business_group__ = __webpack_require__(386); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(388); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(389); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__pipes_pd_pd__ = __webpack_require__(383); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(379); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__ = __webpack_require__(391); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__ = __webpack_require__(685); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__ionic_native_location_accuracy__ = __webpack_require__(390); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// import { DatePicker } from '@ionic-native/date-picker'; - - - - - - - - - - - - - - - - - - - - - - - - -var AppModule = (function () { - function AppModule() { - } - AppModule = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["J" /* NgModule */])({ - declarations: [ - __WEBPACK_IMPORTED_MODULE_3__app_component__["a" /* MyApp */], - __WEBPACK_IMPORTED_MODULE_17__pages_auth_auth__["a" /* AuthPage */], - __WEBPACK_IMPORTED_MODULE_18__pages_login_login__["a" /* LoginPage */], - __WEBPACK_IMPORTED_MODULE_19__pages_pd_list_pd_list__["a" /* PdListPage */], - __WEBPACK_IMPORTED_MODULE_20__pages_pd_question_category_pd_question_category__["a" /* PdQuestionCategoryPage */], - __WEBPACK_IMPORTED_MODULE_21__pages_pd_question_pd_question__["a" /* PdQuestionPage */], - __WEBPACK_IMPORTED_MODULE_22__pages_googleplaytab_googleplaytab__["a" /* GoogleplaytabPage */], - __WEBPACK_IMPORTED_MODULE_23__pages_password_password__["a" /* PasswordPage */], - __WEBPACK_IMPORTED_MODULE_24__pages_pd_allocation_pd_allocation__["a" /* PdAllocationPage */], - __WEBPACK_IMPORTED_MODULE_25__pages_input_input__["a" /* InputPage */], - __WEBPACK_IMPORTED_MODULE_30__pages_otp_otp__["a" /* OtpPage */], - __WEBPACK_IMPORTED_MODULE_37__pages_pd_question_pd_question_address_pd_question_address__["a" /* PdQuestionAddressPage */], - __WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_assests_pd_question_assests__["a" /* PdQuestionAssestsPage */], - __WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_banking_pd_question_banking__["a" /* PdQuestionBankingPage */], - __WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_current_loans_pd_question_current_loans__["a" /* PdQuestionCurrentLoansPage */], - __WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_emp_info_pd_question_emp_info__["a" /* PdQuestionEmpInfoPage */], - __WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_family_pd_question_family__["a" /* PdQuestionFamilyPage */], - __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__["a" /* PdQuestionBusinessInfoPage */], - __WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_loans_pd_question_loans__["a" /* PdQuestionLoansPage */], - __WEBPACK_IMPORTED_MODULE_44__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__["a" /* PdQuestionFinancialInfoPage */], - __WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_other_income_pd_question_other_income__["a" /* PdQuestionOtherIncomePage */], - __WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__["a" /* PdQuestionSupplierInfoPage */], - __WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_personal_info_pd_question_personal_info__["a" /* PdQuestionPersonalInfoPage */], - __WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__["a" /* PdQuestionStockInfoPage */], - __WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__["a" /* PdQuestionClientInfoPage */], - __WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_rental_info_pd_question_rental_info__["a" /* PdQuestionRentalInfoPage */], - __WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__["a" /* PdQuestionAssessedInfoPage */], - __WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__["a" /* PdQuestionAssessedDailySalesPage */], - __WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__["a" /* PdQuestionAssessedSalesPage */], - __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__["a" /* PdQuestionBusinessInfoPage */], - __WEBPACK_IMPORTED_MODULE_56__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__["a" /* PdQuestionAssessedHouseholdPage */], - __WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__["a" /* PdQuestionAssessedPurchasePage */], - __WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__["a" /* PdQuestionAssessedDashPage */], - __WEBPACK_IMPORTED_MODULE_59__pages_input_bounced_reject_bounced_reject__["a" /* BouncedRejectPage */], - __WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__["a" /* PdQuestionAssessedBusinessPage */], - __WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__["a" /* PdQuestionLenderRepresentativePage */], - __WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_general_info_pd_question_general_info__["a" /* PdQuestionGeneralInfoPage */], - __WEBPACK_IMPORTED_MODULE_63__pages_pd_question_pd_question_general_info_pd_question_general_other_applicant_pd_question_general_other_applicant__["a" /* PdQuestionGeneralOtherApplicantPage */], - __WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__["a" /* PdQuestionNeighbourHoodPage */], - __WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_final_remark_pd_question_final_remark__["a" /* PdQuestionFinalRemarkPage */], - __WEBPACK_IMPORTED_MODULE_66__pages_pd_question_pd_question_business_pd_question_business__["a" /* PdQuestionBusinessPage */], - __WEBPACK_IMPORTED_MODULE_67__pages_pd_question_pd_question_business_group_pd_question_business_group__["a" /* PdQuestionBusinessGroupPage */], - __WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__["a" /* PdQuestionBusinessAssetsPage */], - __WEBPACK_IMPORTED_MODULE_69__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__["a" /* PdQuestionBusinessBankingPage */], - __WEBPACK_IMPORTED_MODULE_71__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__["a" /* PdQuestionAssessedBusinessIncomePage */], - __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__["a" /* PdGeneralImagesPage */], - __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__["a" /* PdQuestionSalaryInfoPage */], - ], - imports: [ - __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__["a" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_32__angular_forms__["l" /* ReactiveFormsModule */], __WEBPACK_IMPORTED_MODULE_32__angular_forms__["g" /* FormsModule */], - __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["m" /* IonicModule */].forRoot(__WEBPACK_IMPORTED_MODULE_3__app_component__["a" /* MyApp */], {}, { - links: [] - }), - __WEBPACK_IMPORTED_MODULE_6__angular_platform_browser_animations__["a" /* BrowserAnimationsModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["a" /* MatAutocompleteModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["b" /* MatButtonModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["c" /* MatButtonToggleModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["d" /* MatCardModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["e" /* MatCheckboxModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["f" /* MatChipsModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["g" /* MatDatepickerModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["i" /* MatDialogModule */], __WEBPACK_IMPORTED_MODULE_10__angular_material__["n" /* MatListModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["j" /* MatExpansionModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["k" /* MatGridListModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["l" /* MatIconModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["m" /* MatInputModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["n" /* MatListModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["o" /* MatMenuModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["p" /* MatNativeDateModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["q" /* MatPaginatorModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["r" /* MatProgressBarModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["s" /* MatProgressSpinnerModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["t" /* MatRadioModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["u" /* MatRippleModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["v" /* MatSelectModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["w" /* MatSidenavModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["y" /* MatSliderModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["x" /* MatSlideToggleModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["z" /* MatSnackBarModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["A" /* MatSortModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["C" /* MatTableModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["D" /* MatTabsModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["E" /* MatToolbarModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["F" /* MatTooltipModule */], - __WEBPACK_IMPORTED_MODULE_10__angular_material__["B" /* MatStepperModule */], __WEBPACK_IMPORTED_MODULE_12__angular_common_http__["c" /* HttpClientModule */], __WEBPACK_IMPORTED_MODULE_33_ionic_img_viewer__["a" /* IonicImageViewerModule */] - ], - bootstrap: [__WEBPACK_IMPORTED_MODULE_2_ionic_angular__["k" /* IonicApp */]], - entryComponents: [ - __WEBPACK_IMPORTED_MODULE_3__app_component__["a" /* MyApp */], - __WEBPACK_IMPORTED_MODULE_17__pages_auth_auth__["a" /* AuthPage */], - __WEBPACK_IMPORTED_MODULE_18__pages_login_login__["a" /* LoginPage */], - __WEBPACK_IMPORTED_MODULE_19__pages_pd_list_pd_list__["a" /* PdListPage */], - __WEBPACK_IMPORTED_MODULE_20__pages_pd_question_category_pd_question_category__["a" /* PdQuestionCategoryPage */], - __WEBPACK_IMPORTED_MODULE_21__pages_pd_question_pd_question__["a" /* PdQuestionPage */], - __WEBPACK_IMPORTED_MODULE_22__pages_googleplaytab_googleplaytab__["a" /* GoogleplaytabPage */], - __WEBPACK_IMPORTED_MODULE_23__pages_password_password__["a" /* PasswordPage */], - __WEBPACK_IMPORTED_MODULE_24__pages_pd_allocation_pd_allocation__["a" /* PdAllocationPage */], - __WEBPACK_IMPORTED_MODULE_25__pages_input_input__["a" /* InputPage */], - __WEBPACK_IMPORTED_MODULE_30__pages_otp_otp__["a" /* OtpPage */], - __WEBPACK_IMPORTED_MODULE_37__pages_pd_question_pd_question_address_pd_question_address__["a" /* PdQuestionAddressPage */], - __WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_assests_pd_question_assests__["a" /* PdQuestionAssestsPage */], - __WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_banking_pd_question_banking__["a" /* PdQuestionBankingPage */], - __WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_current_loans_pd_question_current_loans__["a" /* PdQuestionCurrentLoansPage */], - __WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_emp_info_pd_question_emp_info__["a" /* PdQuestionEmpInfoPage */], - __WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_family_pd_question_family__["a" /* PdQuestionFamilyPage */], - __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__["a" /* PdQuestionBusinessInfoPage */], - __WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_loans_pd_question_loans__["a" /* PdQuestionLoansPage */], - __WEBPACK_IMPORTED_MODULE_44__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__["a" /* PdQuestionFinancialInfoPage */], - __WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_other_income_pd_question_other_income__["a" /* PdQuestionOtherIncomePage */], - __WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__["a" /* PdQuestionSupplierInfoPage */], - __WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_personal_info_pd_question_personal_info__["a" /* PdQuestionPersonalInfoPage */], - __WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__["a" /* PdQuestionStockInfoPage */], - __WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__["a" /* PdQuestionClientInfoPage */], - __WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_rental_info_pd_question_rental_info__["a" /* PdQuestionRentalInfoPage */], - __WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__["a" /* PdQuestionAssessedInfoPage */], - __WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__["a" /* PdQuestionAssessedDailySalesPage */], - __WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__["a" /* PdQuestionAssessedSalesPage */], - __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__["a" /* PdQuestionBusinessInfoPage */], - __WEBPACK_IMPORTED_MODULE_56__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__["a" /* PdQuestionAssessedHouseholdPage */], - __WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__["a" /* PdQuestionAssessedPurchasePage */], - __WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__["a" /* PdQuestionAssessedDashPage */], - __WEBPACK_IMPORTED_MODULE_59__pages_input_bounced_reject_bounced_reject__["a" /* BouncedRejectPage */], - __WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__["a" /* PdQuestionAssessedBusinessPage */], - __WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__["a" /* PdQuestionLenderRepresentativePage */], - __WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_general_info_pd_question_general_info__["a" /* PdQuestionGeneralInfoPage */], - __WEBPACK_IMPORTED_MODULE_63__pages_pd_question_pd_question_general_info_pd_question_general_other_applicant_pd_question_general_other_applicant__["a" /* PdQuestionGeneralOtherApplicantPage */], - __WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__["a" /* PdQuestionNeighbourHoodPage */], - __WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_final_remark_pd_question_final_remark__["a" /* PdQuestionFinalRemarkPage */], - __WEBPACK_IMPORTED_MODULE_66__pages_pd_question_pd_question_business_pd_question_business__["a" /* PdQuestionBusinessPage */], - __WEBPACK_IMPORTED_MODULE_67__pages_pd_question_pd_question_business_group_pd_question_business_group__["a" /* PdQuestionBusinessGroupPage */], - __WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__["a" /* PdQuestionBusinessAssetsPage */], - __WEBPACK_IMPORTED_MODULE_69__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__["a" /* PdQuestionBusinessBankingPage */], - __WEBPACK_IMPORTED_MODULE_71__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__["a" /* PdQuestionAssessedBusinessIncomePage */], - __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__["a" /* PdGeneralImagesPage */], - __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__["a" /* PdQuestionSalaryInfoPage */], - ], - providers: [ - __WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_11__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_13__providers_guard_auth_guard__["a" /* AuthGuard */], __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__["a" /* TokenInterceptor */], __WEBPACK_IMPORTED_MODULE_26__providers_common_provider_toast__["a" /* ToastProvider */], - __WEBPACK_IMPORTED_MODULE_16__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_15__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__["a" /* SplashScreen */], __WEBPACK_IMPORTED_MODULE_27__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], __WEBPACK_IMPORTED_MODULE_28__ionic_native_fingerprint_aio__["a" /* FingerprintAIO */], __WEBPACK_IMPORTED_MODULE_7__ionic_native_sqlite__["a" /* SQLite */], __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__["a" /* AndroidPermissions */], - { - provide: __WEBPACK_IMPORTED_MODULE_12__angular_common_http__["a" /* HTTP_INTERCEPTORS */], - useClass: __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__["a" /* TokenInterceptor */], - multi: true - }, - { - provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["v" /* ErrorHandler */], - useClass: __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["l" /* IonicErrorHandler */] - }, __WEBPACK_IMPORTED_MODULE_29__ionic_native_launch_navigator__["a" /* LaunchNavigator */], - __WEBPACK_IMPORTED_MODULE_11__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], - __WEBPACK_IMPORTED_MODULE_31__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], - __WEBPACK_IMPORTED_MODULE_34__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_36__ionic_native_camera__["a" /* Camera */], - __WEBPACK_IMPORTED_MODULE_70__pipes_pd_pd__["a" /* PdPipe */], __WEBPACK_IMPORTED_MODULE_74__ionic_native_location_accuracy__["a" /* LocationAccuracy */], - __WEBPACK_IMPORTED_MODULE_35__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_47__ionic_native_geolocation__["a" /* Geolocation */], - __WEBPACK_IMPORTED_MODULE_8__providers_database_database__["a" /* DatabaseProvider */] - ] - }) - ], AppModule); - return AppModule; -}()); - -//# sourceMappingURL=app.module.js.map - -/***/ }), - -/***/ 570: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MyApp; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__ = __webpack_require__(187); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__ = __webpack_require__(332); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_login_login__ = __webpack_require__(333); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_list_pd_list__ = __webpack_require__(76); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_auth_auth__ = __webpack_require__(396); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - -// import { AndroidPermissions } from '@ionic-native/android-permissions'; -var MyApp = (function () { - function MyApp(platform, statusBar, splashScreen, aws, shared, AWS, alertCtrl) { - var _this = this; - this.platform = platform; - this.statusBar = statusBar; - this.splashScreen = splashScreen; - this.aws = aws; - this.shared = shared; - this.AWS = AWS; - this.alertCtrl = alertCtrl; - this.userAccess = false; - this.rootPage = __WEBPACK_IMPORTED_MODULE_4__pages_login_login__["a" /* LoginPage */]; - this.alertShown = false; - this.initializeApp(); - // used for an example of ngFor and navigation - this.pages = [ - // { title: 'Home', component: HomePage, icon: 'home' }, - { title: 'Home', icon: 'home', method: function () { return _this.menulist(1); } }, - { title: 'Logout', icon: 'md-exit', method: function () { return _this.menulist(2); } } - ]; - } - MyApp.prototype.initializeApp = function () { - var _this = this; - this.platform.ready().then(function () { - // Okay, so the platform is ready and our plugins are available. - // Here you can do any higher level native things you might need. - _this.statusBar.styleDefault(); - if (_this.platform.is('android')) { - _this.statusBar.overlaysWebView(false); - _this.statusBar.backgroundColorByHexString('#db4437'); - } - _this.splashScreen.hide(); - _this.shared.getAccessToken().then(function () { - _this.getuserDetails(); - _this.rootPage = __WEBPACK_IMPORTED_MODULE_8__pages_auth_auth__["a" /* AuthPage */]; - }).catch(function () { - setTimeout(function () { - _this.rootPage = __WEBPACK_IMPORTED_MODULE_4__pages_login_login__["a" /* LoginPage */]; - }, 1000); - }); - }); - this.platform.registerBackButtonAction(function () { - if (_this.nav.length() == 1) { - if (_this.alertShown == false) { - //this.presentConfirm(); - var alert_1 = _this.alertCtrl.create({ - title: 'Confirm Exit', - message: 'Do You Want Exit ?', - buttons: [ - { - text: 'Cancel', - role: 'cancel', - handler: function () { - console.log("Cancel clicked"); - _this.alertShown = false; - alert_1.dismiss; - } - }, - { - text: 'Yes', - handler: function () { - console.log("Exit"); - _this.platform.exitApp(); - } - } - ] - }); - alert_1.present(); - _this.alertShown = true; - } - } - else { - _this.nav.pop(); - } - }); - }; - MyApp.prototype.presentConfirm = function () { - var _this = this; - var alert = this.alertCtrl.create({ - title: 'Confirm Exit', - message: 'Do You Want Exit ?', - buttons: [ - { - text: 'Cancel', - role: 'cancel', - handler: function () { - console.log("Cancel clicked"); - // this.alertShown=false - alert.dismiss; - } - }, - { - text: 'Yes', - handler: function () { - console.log("Exit"); - _this.platform.exitApp(); - } - } - ] - }); - alert.present(); - // this.alertShown=true; - }; - MyApp.prototype.getuserDetails = function () { - var _this = this; - var userid = this.aws.getlocale(); - this.aws.getuserprofile(userid).subscribe(function (res) { - _this.userDetails = res; - if (_this.userDetails.dataStatus == true) { - _this.userAccess = true; - _this.userDetails = _this.userDetails.records[0]; - } - }); - }; - MyApp.prototype.menulist = function (id) { - var _this = this; - //alert(); - switch (id) { - case 1: - this.nav.setRoot(__WEBPACK_IMPORTED_MODULE_5__pages_pd_list_pd_list__["a" /* PdListPage */]); - break; - case 2: - this.AWS.logout().subscribe(function () { - _this.nav.setRoot(__WEBPACK_IMPORTED_MODULE_4__pages_login_login__["a" /* LoginPage */]); - }); - break; - case 3: - break; - case 4: - break; - } - }; - MyApp.prototype.logout = function () { - // this.aws.logout(); - this.nav.setRoot(__WEBPACK_IMPORTED_MODULE_4__pages_login_login__["a" /* LoginPage */]); - }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])(__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["q" /* Nav */]), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["q" /* Nav */]) - ], MyApp.prototype, "nav", void 0); - MyApp = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/app/app.html"*/'\n \n \n \n
\n \n \n \n
\n
\n \n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/app/app.html"*/ - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["u" /* Platform */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__["a" /* SplashScreen */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], - __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */]]) - ], MyApp); - return MyApp; -}()); - -//# sourceMappingURL=app.component.js.map - -/***/ }), - -/***/ 673: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AuthGuard; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - -var AuthGuard = (function () { - function AuthGuard() { - } - // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { - // // if (this.shared.getToken()) { - // alert("if"); - // // this.router.navigate(['']); - // return true - // } else { - // alert("else"); - // this.router.navigate(['/login']); - // return false; - // } - // } - AuthGuard.prototype.getlogin = function () { - // if (this.shared.getToken()) { - // // alert("if"); - // //alert(); - // return true; - // } else { - // // alert("else"); - // //this.myGlobalServiceNav.setRoot(LoginPage); - // this.shared.isloggin = false; - // return false; - // } - }; - AuthGuard = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", []) - ], AuthGuard); - return AuthGuard; -}()); - -//# sourceMappingURL=auth.guard.js.map - -/***/ }), - -/***/ 674: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TokenInterceptor; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs__ = __webpack_require__(26); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operators__ = __webpack_require__(23); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__aws_service_cognito_service__ = __webpack_require__(69); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -// import { AuthGuard } from './auth.guard'; - -// import { Router } from '@angular/router'; - - - -var TokenInterceptor = (function () { - function TokenInterceptor(shared) { - this.shared = shared; - } - TokenInterceptor.prototype.intercept = function (request, next) { - // request = request.clone({ - // setHeaders: { - // Authorization: `${this.auth.getToken()}` - // } - // }); - var token; - this.shared.refresh(); - token = this.shared.getToken() || null; - token = token.getIdToken().getJwtToken(); - //console.log(token); - var requests = request.clone({ - headers: new __WEBPACK_IMPORTED_MODULE_1__angular_common_http__["e" /* HttpHeaders */]({ - 'Authorization': 'sparqvenba2018', - 'Token': token, - 'From': '1', - }) - }); - return next.handle(requests).pipe(Object(__WEBPACK_IMPORTED_MODULE_3_rxjs_operators__["catchError"])(this.handleError('role', []))); - }; - TokenInterceptor.prototype.handleError = function (operation, result) { - if (operation === void 0) { operation = 'operation'; } - return function (error) { - if (error instanceof __WEBPACK_IMPORTED_MODULE_1__angular_common_http__["d" /* HttpErrorResponse */]) { - console.error("Error: " + error.status); - if (error.status == 401) { - localStorage.clear(); - // this.router.navigate(['/authentication/login']); - } - return Object(__WEBPACK_IMPORTED_MODULE_2_rxjs__["of"])(result); - } - }; - }; - TokenInterceptor = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_4__aws_service_cognito_service__["a" /* CognitoServiceProvider */]]) - ], TokenInterceptor); - return TokenInterceptor; -}()); - -//# sourceMappingURL=token.interceptor.js.map - -/***/ }), - -/***/ 675: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GoogleplaytabPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -/** - * Generated class for the GoogleplaytabPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var GoogleplaytabPage = (function () { - function GoogleplaytabPage(navCtrl, navParams, platform) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.SwipedTabsIndicator = null; - this.tabTitleWidthArray = []; - this.tabElementWidth_px = 50; - this.screenWidth_px = 0; - this.isRight = true; - this.isLeft = true; - this.tabs = []; - this.tabs = ["1", "2", "3", "4", "5", "6", "7", "9", "10", "11"]; - console.log('Width: ' + platform.width()); - this.screenWidth_px = platform.width(); - } - GoogleplaytabPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad GoogleplaytabPage'); - }; - GoogleplaytabPage.prototype.ionViewDidEnter = function () { - this.SwipedTabsIndicator = document.getElementById("indicator"); - for (var i in this.tabs) - this.tabTitleWidthArray.push(document.getElementById("tabTitle" + i).offsetWidth); - this.selectTab(0); - }; - GoogleplaytabPage.prototype.scrollIndicatiorTab = function () { - this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - this.screenWidth_px / 2, 0); - }; - GoogleplaytabPage.prototype.selectTab = function (index) { - this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index] + "px"; - this.SwipedTabsIndicator.style.webkitTransform = 'translate3d(' + (this.calculateDistanceToSpnd(index)) + 'px,0,0)'; - this.SwipedTabsSlider.slideTo(index); - }; - GoogleplaytabPage.prototype.calculateDistanceToSpnd = function (index) { - var result = 0; - for (var _i = 0; _i < index; _i++) { - result = result + this.tabTitleWidthArray[_i]; - } - return result; - }; - GoogleplaytabPage.prototype.updateIndicatorPosition = function () { - var index = this.SwipedTabsSlider.getActiveIndex(); - if (this.SwipedTabsSlider.length() == index) - index = index - 1; - this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index] + "px"; - this.SwipedTabsIndicator.style.webkitTransform = 'translate3d(' + (this.calculateDistanceToSpnd(index)) + 'px,0,0)'; - }; - GoogleplaytabPage.prototype.updateIndicatorPositionOnTouchEnd = function () { - var _this = this; - setTimeout(function () { _this.updateIndicatorPosition(); }, 200); - }; - GoogleplaytabPage.prototype.animateIndicator = function ($event) { - this.isLeft = false; - this.isRight = false; - var currentSliderCenterProgress = (1 / (this.SwipedTabsSlider.length() - 1)) * this.SwipedTabsSlider.getActiveIndex(); - if ($event.progress < currentSliderCenterProgress) { - this.isLeft = true; - this.isRight = false; - } - if ($event.progress > currentSliderCenterProgress) { - this.isLeft = false; - this.isRight = true; - } - if (this.SwipedTabsSlider.isEnd()) - this.isRight = false; - if (this.SwipedTabsSlider.isBeginning()) - this.isLeft = false; - if (this.isRight) - this.SwipedTabsIndicator.style.webkitTransform = - 'translate3d(' + (this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - + ($event.progress - currentSliderCenterProgress) * (this.SwipedTabsSlider.length() - 1) * this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex() + 1]) - + 'px,0,0)'; - if (this.isLeft) - this.SwipedTabsIndicator.style.webkitTransform = - 'translate3d(' + (this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - + ($event.progress - currentSliderCenterProgress) * (this.SwipedTabsSlider.length() - 1) * this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex() - 1]) - + 'px,0,0)'; - if (!this.isRight && !this.isLeft) - this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()] + "px"; - }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('SwipedTabsSlider'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["v" /* Slides */]) - ], GoogleplaytabPage.prototype, "SwipedTabsSlider", void 0); - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('MultiItemsScrollingTabs'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Content */]) - ], GoogleplaytabPage.prototype, "ItemsTitles", void 0); - GoogleplaytabPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-googleplaytab',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/googleplaytab/googleplaytab.html"*/'\n\n\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \n
\n
\n
\n\n
\n\n\n\n\n \n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n\n\n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/googleplaytab/googleplaytab.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["u" /* Platform */]]) - ], GoogleplaytabPage); - return GoogleplaytabPage; -}()); - -//# sourceMappingURL=googleplaytab.js.map - -/***/ }), - -/***/ 676: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdAllocationPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -/** - * Generated class for the PdAllocationPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdAllocationPage = (function () { - function PdAllocationPage(navCtrl, navParams) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.pdFullDetails = []; - this.pdFullDetails = this.navParams.get('pdDetails'); - console.log(this.pdFullDetails); - } - PdAllocationPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdAllocationPage'); - }; - PdAllocationPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-allocation',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-allocation/pd-allocation.html"*/'\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n
\n \n \n \n
\n \n

{{pdFullDetails.lender_full_name}}

\n
\n \n \n {{pdFullDetails.city_name}} / -{{pdFullDetails.pincode}}\n \n
\n
\n
\n \n

Product

\n

{{pdFullDetails.product_name}} / {{pdFullDetails.subproduct_name}}.

\n

{{pdFullDetails.pd_type_name}}

\n

{{pdFullDetails.pd_allocated_to}}

\n
{{pdFullDetails.pd_date_of_initiation}}
\n
\n

\n \n \n

{{pdFullDetails.pd_status_name}}

\n
\n \n

{{pdFullDetails.loan_amount}}

\n
\n
\n
\n
\n
\n \n \n
\n \n

Applicants

\n
\n
\n
\n
\n \n \n \n   {{Mainapplicatent.applicant_name}} (Main)\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n \n   {{Mainapplicatent.applicant_name}}\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n
\n \n\n
\n\n \n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-allocation/pd-allocation.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */]]) - ], PdAllocationPage); - return PdAllocationPage; -}()); - -//# sourceMappingURL=pd-allocation.js.map - -/***/ }), - -/***/ 684: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - -/** - * Generated class for the PdQuestionBusinessPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionBusinessPage = (function () { - function PdQuestionBusinessPage(navCtrl, navParams, qustcat, aws) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.qustcat = qustcat; - this.aws = aws; - this.existCompanyList = []; - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - this.FormId = this.navParams.get('FormId'); - this.users = this.aws.getlocale; - this.getDropDown(); - } - PdQuestionBusinessPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionBusinessPage'); - }; - PdQuestionBusinessPage.prototype.getDropDown = function () { - var _this = this; - this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(function (res) { - _this.existCompanyList = res['records'].filter(function (data) { return data.is_active == true && data.is_company_applicant == true; }); - console.log(_this.existCompanyList); - }); - }; - PdQuestionBusinessPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business/pd-question-business.html"*/'\n\n\n \n {{FormId.form_name}}\n \n\n\n\n\n\n\n\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business/pd-question-business.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]]) - ], PdQuestionBusinessPage); - return PdQuestionBusinessPage; -}()); - -//# sourceMappingURL=pd-question-business.js.map - -/***/ }), - -/***/ 685: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionSalaryInfoPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/** - * Generated class for the PdQuestionSalaryInfoPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdQuestionSalaryInfoPage = (function () { - function PdQuestionSalaryInfoPage(navCtrl, navParams, fb) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.salaryDetails = this.fb.group({ - gross: [null], - netTakeHome: [null], - bounsIncentive: [null], - salaryDate: [null], - anydelays: [null], - }); - } - PdQuestionSalaryInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionSalaryInfoPage'); - }; - PdQuestionSalaryInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-salary-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.html"*/'\n\n \n \n Salary Category\n \n \n \n \n \n\n\n\n\n

Salary info

\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */]]) - ], PdQuestionSalaryInfoPage); - return PdQuestionSalaryInfoPage; -}()); - -//# sourceMappingURL=pd-question-salary-info.js.map - -/***/ }), - -/***/ 69: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CognitoServiceProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_amazon_cognito_identity_js__ = __webpack_require__(334); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs__ = __webpack_require__(26); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - -// import { CanActivateChild, Router } from '@angular/router'; - -// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular'; -// import { environment } from '../../environments/environment'; - -var sineedge_poolData = { - UserPoolId: "ap-south-1_y7dt3iEaX", - ClientId: "291qt4smn5pql6o8cc2hi201lj" // ClientName: SINEEDGE_DEV_WEB -}; -var sineedgedev_poolData = { - UserPoolId: "ap-south-1_qQ85yQZJO", - ClientId: "2o5c3cs9k3als16nqhp3irh8rs" // ClientName: SINEEDGE_DEV_WEB -}; -var lender_poolData = { - UserPoolId: "ap-south-1_hFiGyr1Gw", - ClientId: "38v9rpp1495v60e1gd14mj6rjr" // ClientName:LENDER_DEV_WEB -}; -var vendor_poolData = { - UserPoolId: "", - ClientId: "" -}; -var sineedgeUserPool = new __WEBPACK_IMPORTED_MODULE_1_amazon_cognito_identity_js__["c" /* CognitoUserPool */](sineedge_poolData); -var lenderUserPool = new __WEBPACK_IMPORTED_MODULE_1_amazon_cognito_identity_js__["c" /* CognitoUserPool */](lender_poolData); -var sineedgedevUserpool = new __WEBPACK_IMPORTED_MODULE_1_amazon_cognito_identity_js__["c" /* CognitoUserPool */](sineedgedev_poolData); -/** -* Identity PoolID -*/ -var sineedgeIdentity = "ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961"; //"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961"; -var lenderIdentity = "ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907"; -var vendorIdenttiy = ""; -// serviceProvider -var apiurl = "http://ssa.sineedge.com/sparqapi/api/"; -// const apiurl = "http://localhost/sparqapi/api/"; -var CognitoServiceProvider = (function () { - function CognitoServiceProvider() { - this.loggedIn = false; - // public static _REGION = environment.region; - // public static _IDENTITY_POOL_ID = environment.identityPoolId; - // public static _USER_POOL_ID = environment.UserPoolId; - // public static _CLIENT_ID = environment.ClientId; - // public static _POOL_DATA: any = { - // UserPoolId: CognitoService._USER_POOL_ID, - // ClientId: CognitoService._CLIENT_ID - // }; - // public cognitoCreds: AWS.CognitoIdentityCredentials; - this.isloggin = false; - } - CognitoServiceProvider.prototype.getCurrentUser = function () { - return sineedgedevUserpool.getCurrentUser(); - }; - Object.defineProperty(CognitoServiceProvider.prototype, "isLoggedIn", { - get: function () { - if (sineedgedevUserpool.getCurrentUser() != null) { - this.loggedIn = true; - } - else { - this.loggedIn = false; - } - return this.loggedIn; // {2} - }, - enumerable: true, - configurable: true - }); - CognitoServiceProvider.prototype.refresh = function () { - var tokenexp; - if (this.getCurrentUser() != null) { - this.getCurrentUser().getSession(function (err, session) { - if (err) { - console.log("CognitoUtil: Can't set the credentials:" + err); - } - else { - if (session.isValid()) { - tokenexp = session.isValid(); - Object(__WEBPACK_IMPORTED_MODULE_2_rxjs__["of"])(tokenexp); - console.log("CognitoUtil: refreshed successfully"); - } - else { - tokenexp = session.isValid(); - console.log("CognitoUtil: refreshed but session is still not valid"); - } - } - return tokenexp; - }); - } - else { - this.loggedIn = false; - } - }; - CognitoServiceProvider.prototype.getAccessToken = function () { - var _this = this; - this.refresh(); - return new Promise(function (resolve, reject) { - var jwttoken = ''; - if (_this.getCurrentUser() != null) { - //console.log(JSON.stringify(this.getCurrentUser())); - // console.log('76 if'); - _this.getCurrentUser().getSession(function (err, session) { - if (err) { - console.log("CognitoUtil: Can't set the credentials:" + err); - jwttoken = ''; - // console.log('81 if') - reject(err); - } - else { - if (session.isValid()) { - // console.log('85 else if'); - jwttoken = session; - resolve(); - } - else { - } - } - }); - } - else { - //console.log("else"); - reject(); - } - }); - }; - CognitoServiceProvider.prototype.getToken = function () { - var isloggin = false; - var jwttoken = ''; - if (this.getCurrentUser() != null) { - this.getCurrentUser().getSession(function (err, session) { - if (err) { - // console.log("CognitoUtil: Can't set the credentials:" + err); - isloggin = false; - //console.log('81 if') - } - else { - //alert('function else'); - if (session.isValid()) { - // console.log('85 else if'); - jwttoken = session; - isloggin = true; - } - else { - isloggin = false; - } - } - }); - } - else { - // console.log("else"); - isloggin = false; - } - return jwttoken; - }; - CognitoServiceProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", []) - ], CognitoServiceProvider); - return CognitoServiceProvider; -}()); - -//# sourceMappingURL=cognito.service.js.map - -/***/ }), - -/***/ 7: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AwsServiceProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__ = __webpack_require__(334); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__ = __webpack_require__(48); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(614); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -var sineedgedev_poolData = { - UserPoolId: "ap-south-1_qQ85yQZJO", - ClientId: "2o5c3cs9k3als16nqhp3irh8rs" // ClientName: SINEEDGE_DEV_WEB -}; -var lender_poolData = { - UserPoolId: "ap-south-1_hFiGyr1Gw", - ClientId: "38v9rpp1495v60e1gd14mj6rjr" // ClientName:LENDER_DEV_WEB -}; -var vendor_poolData = { - UserPoolId: "ap-south-1_K57yPaWxV", - ClientId: "" -}; -// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData); -var lenderUserPool = new __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__["c" /* CognitoUserPool */](lender_poolData); -var sineedgedevUserpool = new __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__["c" /* CognitoUserPool */](sineedgedev_poolData); -/** -* Identity PoolID -*/ -var sineedgeIdentity = "ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961"; //"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961"; -var lenderIdentity = "ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907"; -var vendorIdenttiy = "ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874"; -var currentDate = new Date().toJSON().slice(0, 19).replace('T', ' '); -var AwsServiceProvider = (function () { - function AwsServiceProvider(http, shared, con) { - this.http = http; - this.shared = shared; - this.con = con; - this.apiurl = con.apiurl(); - } - AwsServiceProvider.prototype.dologin = function (authenticationData) { - // alert(); - //(authenticationData); - var authenticationDetails = new __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__["a" /* AuthenticationDetails */](authenticationData); - var Newpassword = authenticationData.newpassword; - var attributesData = []; - var userData = { - Username: authenticationData.Username, - Pool: sineedgedevUserpool // user Pool ID - }; - var cognitoUser = new __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__["b" /* CognitoUser */](userData); - return __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__["Observable"].create(function (observer) { - cognitoUser.authenticateUser(authenticationDetails, { - newPasswordRequired: function (userAttributes, requiredAttributes) { - cognitoUser.completeNewPasswordChallenge(Newpassword, attributesData, { - onSuccess: function (result) { - observer.next(result); - observer.complete(); - }, - onFailure: function (err) { - //(err); - observer.error(err); - //LoginComponent.prototype.open(); - } - }); - }, - onSuccess: function (result) { - // let accessToken = result.getAccessToken().getJwtToken(); - ////(result); - //window.localStorage.setItem('Currentuser', '1'); - observer.next(result); - observer.complete(); - this.shared.isloggin = true; - }, - onFailure: function (err) { - //alert(err.message); - observer.error(err); - } - }); - }); - }; - AwsServiceProvider.prototype.userforgotpass = function (auth) { - ////(auth); - var userData = { - Username: auth.Username, - Pool: sineedgedevUserpool - }; - var cognitoUser = new __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__["b" /* CognitoUser */](userData); - return __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__["Observable"].create(function (observe) { - cognitoUser.forgotPassword({ - onSuccess: function (data) { - // successfully initiated reset password request - //('CodeDeliveryData from forgotPassword: ' + data); - observe.next(data); - }, - onFailure: function (err) { - alert(err.message || JSON.stringify(err)); - }, - //Optional automatic callback - inputVerificationCode: function (data) { - //('Code sent to: ' + data); - var verificationCode = prompt('Please input verification code ', ''); - var newPassword = prompt('Enter new password ', ''); - cognitoUser.confirmPassword(verificationCode, newPassword, { - onSuccess: function () { - //('Password confirmed!'); - }, - onFailure: function (err) { - //('Password not confirmed!'); - } - }); - } - }); - }); - }; - /** - * End of the function - */ - /** - * Logout function - */ - AwsServiceProvider.prototype.logout = function () { - var _this = this; - return __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__["Observable"].create(function (observe) { - _this.shared.getCurrentUser().signOut(); - observe.next(); - observe.complete(); - }); - }; - /** - * Config function - */ - // getconfig() { - // let session:any = this.shared.getAccessToken() || ""; - // let config = ""; - // config += AWS.config.region = "ap-south-1"; - // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({ - // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV - // Logins: { - // "cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO": session - // .getIdToken() - // .getJwtToken() - // } - // // NOTE: getSession must be called to authenticate user before calling getUserAttributes - // }); - // return config; - // } - AwsServiceProvider.prototype.getlocale = function () { - var session = this.shared.getToken() || null; - var userid = session.idToken.payload.locale; - return userid; - }; - AwsServiceProvider.prototype.getuserprofile = function (userid) { - // alert(); - //console.log(cogusers.idToken.payload.locale); - var roles = { 'userid': userid }; - // let request = new RequestOptions({headers:headers}); - return this.http.post(this.apiurl + 'getUsersDetails', roles); - }; - AwsServiceProvider.prototype.userpinupdate = function (pin) { - var userid = this.getlocale(); - var records = { 'mpin': pin, 'updatedon': currentDate, 'fk_updatedby': userid, 'userid': userid }; - var formdata = new FormData(); - formdata.append('records', JSON.stringify(records)); - return this.http.post(this.apiurl + 'updateExistUser', formdata); - }; - AwsServiceProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_5__cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__constants_constants__["a" /* ConstantsProvider */]]) - ], AwsServiceProvider); - return AwsServiceProvider; -}()); - -//# sourceMappingURL=aws-service.js.map - -/***/ }), - -/***/ 76: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdListPage; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__input_input__ = __webpack_require__(358); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_pdtrigger_pdtrigger__ = __webpack_require__(85); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_cognito_service__ = __webpack_require__(69); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__otp_otp__ = __webpack_require__(198); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_category_pd_question_category__ = __webpack_require__(123); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(393); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__ = __webpack_require__(124); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - -/** - * Generated class for the PdListPage page. - * - * See https://ionicframework.com/docs/components/#navigation for more info on - * Ionic pages and navigation. - */ -var PdListPage = (function () { - function PdListPage(navCtrl, navParams, aws, pdofficer, shared, db, androidPermissions) { - //this.getlenderpddetails(); - // this.getpdTriggerdetails(); - this.navCtrl = navCtrl; - this.navParams = navParams; - this.aws = aws; - this.pdofficer = pdofficer; - this.shared = shared; - this.db = db; - this.androidPermissions = androidPermissions; - this.bgColorPast = []; - this.bgColor = []; - this.pdinprogress = []; - this.pdlistdetails = []; - this.pdlist = "0"; - this.pdlistaccess = null; - } - PdListPage.prototype.selectedTab = function (ind) { - this.slider.slideTo(ind); - }; - PdListPage.prototype.moveButton = function (event) { - this.pdlist = event._snapIndex.toString(); - }; - PdListPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdListPage'); - this.db.getuserDetails(); - this.setpermission(); - }; - PdListPage.prototype.ionViewCanEnter = function () { - console.log("Pd list ionViewCanEnter"); - this.getpdTriggerdetails(); - }; - PdListPage.prototype.filter = function (view) { - if (!view) { - this.viewchange = true; - } - else { - this.viewchange = false; - this.pdinprogress = this.pdinprogress; - this.pdschduleDetails = this.pdschduleDetails; - } - //alert(this.viewchange); - }; - PdListPage.prototype.pdlistsearch = function (searchbar) { - this.pdinprogress = this.searchinprogress; - this.pdschduleDetails = this.searchpast; - // reset countries list with initial call - //this.pdinprogress = this.countriesInitial; - // set q to the value of the searchbar - var q = searchbar.target.value; - // if the value is an empty string don't filter the items - if (this.pdlist == "inpro") { - if (q.trim() == '') { - return; - } - else { - this.pdinprogress = this.searchinprogress.filter(function (v) { - if (v.applicat_details !== undefined && v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.pd_status.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.city_name != null && v.city_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase()) > -1) { - return true; - } - return false; - }); - } - } - else { - if (q.trim() == '') { - return; - } - else { - this.pdschduleDetails = this.searchpast.filter(function (v) { - if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 - || v.pd_status.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.city_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase()) > -1) { - return true; - } - return false; - }); - } - } - }; - PdListPage.prototype.newpage = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_2__input_input__["a" /* InputPage */]); - }; - PdListPage.prototype.getpdTriggerdetails = function () { - var _this = this; - var userid = this.aws.getlocale(); - //.log("User",userid) - this.pdofficer.getpddetails(userid).subscribe(function (res) { - _this.pdlistdetails = res; - if (_this.pdlistdetails.dataStatus == true) { - _this.pdlistaccess = true; - _this.pdschduleDetails = _this.pdlistdetails.records.filter(function (sch) { return sch.pd_status == "ACCEPTED" || sch.pd_status == "SCHEDULED" || sch.pd_status == "INITIATED" || sch.pd_status == "STARTED" || sch.pd_status == "INPROGRESS" && sch.applicat_details; }); - _this.searchpast = _this.pdschduleDetails; - _this.pdinprogress = _this.pdlistdetails.records.filter(function (allocate) { return allocate.pd_status == "ALLOCATED"; }); - _this.searchinprogress = _this.pdinprogress; - _this.random_bg_color(); - _this.random_ng_past(); - } - else { - _this.pdlistaccess = false; - _this.pdlistdetails = "No Records Found"; - } - }); - }; - PdListPage.prototype.random_bg_color = function () { - for (var _i = 0, _a = this.pdinprogress; _i < _a.length; _i++) { - var id = _a[_i]; - var x = Math.floor(Math.random() * 256); - var y = Math.floor(Math.random() * 256); - var z = Math.floor(Math.random() * 256); - this.bgColor.push("rgb(" + x + "," + y + "," + z + ")"); - } - return this.bgColor; - }; - PdListPage.prototype.random_ng_past = function () { - for (var _i = 0, _a = this.pdschduleDetails; _i < _a.length; _i++) { - var id = _a[_i]; - var x = Math.floor(Math.random() * 256); - var y = Math.floor(Math.random() * 256); - var z = Math.floor(Math.random() * 256); - this.bgColorPast.push("rgb(" + x + "," + y + "," + z + ")"); - } - }; - PdListPage.prototype.doRefresh = function (refresher) { - this.bgColor = []; - this.pdschduleDetails = []; - this.pdinprogress = []; - this.shared.refresh(); - this.getpdTriggerdetails(); - setTimeout(function () { - refresher.complete(); - }, 2000); - }; - PdListPage.prototype.PdAllocation = function (pddetails) { - if (pddetails.pd_status == 'STARTED') { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__otp_otp__["a" /* OtpPage */], { 'pdDetails': pddetails }); - } - else if (pddetails.pd_status == 'INPROGRESS') { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_7__pd_question_category_pd_question_category__["a" /* PdQuestionCategoryPage */], { 'pdDetails': pddetails }); - } - else { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_2__input_input__["a" /* InputPage */], { 'pdDetails': pddetails }); - } - }; - PdListPage.prototype.setpermission = function () { - // let permission = this.androidPermissions.PERMISSION; - // let premission_list = [ - // permission.ACCESS_LOCATION_EXTRA_COMMANDS, - // permission.CAMERA, - var _this = this; - // ]; - this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(function (result) { return console.log('Has permission?', result.hasPermission); }, function (err) { return _this.androidPermissions.requestPermission(_this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS); }); - this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]); - }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('slider'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["v" /* Slides */]) - ], PdListPage.prototype, "slider", void 0); - PdListPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-list',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-list/pd-list.html"*/'\n \n \n PD Cases\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Allocated\n \n \n Scheduled\n \n \n \n\n\n\n\n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.city_name}}
\n
\n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.pd_status}}
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.city_name}}
\n
\n
\n \n \n
{{progess.pd_status}}
\n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.scheduled_on}}
\n
\n
\n
\n \n
\n\n
\n
\n
\n
\n \n
\n \n
\n \n
\n \n \n \n
\n \n \n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-list/pd-list.html"*/, - }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_8__providers_database_database__["a" /* DatabaseProvider */], __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__["a" /* AndroidPermissions */]]) - ], PdListPage); - return PdListPage; -}()); - -//# sourceMappingURL=pd-list.js.map - -/***/ }), - -/***/ 8: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ToastProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(5); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the ToastProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var ToastProvider = (function () { - function ToastProvider(http, toast) { - this.http = http; - this.toast = toast; - console.log('Hello ToastProvider Provider'); - } - ToastProvider.prototype.pdTriggerappmessage = function (mess) { - var valalert = this.toast.create({ - message: mess, - duration: 3000, - position: 'bottom', - dismissOnPageChange: true, - }); - valalert.present(); - }; - ToastProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["w" /* ToastController */]]) - ], ToastProvider); - return ToastProvider; -}()); - -//# sourceMappingURL=toast.js.map - -/***/ }), - -/***/ 85: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdtriggerProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants_constants__ = __webpack_require__(21); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the PdtriggerProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/' -var PdtriggerProvider = (function () { - function PdtriggerProvider(http, constants) { - this.http = http; - this.constants = constants; - this.apiurl = constants.apiurl(); - console.log('Hello PdtriggerProvider Provider'); - } - /**get dropdonw list */ - /**Get list of PD Trigger */ - PdtriggerProvider.prototype.getpddetails = function (userid) { - console.log(userid); - return this.http.get(this.apiurl + 'listLessPDDetails/get?pdofficerid=' + userid); - }; - PdtriggerProvider.prototype.getFullPDdetails = function (pdid) { - return this.http.post(this.apiurl + 'getFullPDDetails', pdid); - }; - PdtriggerProvider.prototype.updatepdStatus = function (dataStatus) { - var records = { 'records': dataStatus }; - return this.http.post(this.apiurl + 'updatePDMaster', records); - }; - PdtriggerProvider.prototype.saveCurrentLocation = function (data) { - var records = { 'records': data }; - return this.http.post(this.apiurl + 'savePDOfficerCurrentLocation', data); - }; - PdtriggerProvider.prototype.checkotp = function (otpDetails) { - var records = { 'records': otpDetails }; - return this.http.post(this.apiurl + 'checkOTP', records); - }; - PdtriggerProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__constants_constants__["a" /* ConstantsProvider */]]) - ], PdtriggerProvider); - return PdtriggerProvider; -}()); - -//# sourceMappingURL=pdtrigger.js.map - -/***/ }) - -},[401]); -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/www/build/vendor.js b/www/build/vendor.js deleted file mode 100644 index 1c0ebe31..00000000 --- a/www/build/vendor.js +++ /dev/null @@ -1,198695 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // install a JSONP callback for chunk loading -/******/ var parentJsonpFunction = window["webpackJsonp"]; -/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) { -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0, resolves = [], result; -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(installedChunks[chunkId]) { -/******/ resolves.push(installedChunks[chunkId][0]); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ for(moduleId in moreModules) { -/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { -/******/ modules[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules); -/******/ while(resolves.length) { -/******/ resolves.shift()(); -/******/ } -/******/ if(executeModules) { -/******/ for(i=0; i < executeModules.length; i++) { -/******/ result = __webpack_require__(__webpack_require__.s = executeModules[i]); -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // objects to store loaded and loading chunks -/******/ var installedChunks = { -/******/ 1: 0 -/******/ }; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = function requireEnsure(chunkId) { -/******/ var installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData === 0) { -/******/ return new Promise(function(resolve) { resolve(); }); -/******/ } -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunkData) { -/******/ return installedChunkData[2]; -/******/ } -/******/ -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise(function(resolve, reject) { -/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; -/******/ }); -/******/ installedChunkData[2] = promise; -/******/ -/******/ // start chunk loading -/******/ var head = document.getElementsByTagName('head')[0]; -/******/ var script = document.createElement('script'); -/******/ script.type = 'text/javascript'; -/******/ script.charset = 'utf-8'; -/******/ script.async = true; -/******/ script.timeout = 120000; -/******/ -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.src = __webpack_require__.p + "" + chunkId + ".js"; -/******/ var timeout = setTimeout(onScriptComplete, 120000); -/******/ script.onerror = script.onload = onScriptComplete; -/******/ function onScriptComplete() { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var chunk = installedChunks[chunkId]; -/******/ if(chunk !== 0) { -/******/ if(chunk) { -/******/ chunk[1](new Error('Loading chunk ' + chunkId + ' failed.')); -/******/ } -/******/ installedChunks[chunkId] = undefined; -/******/ } -/******/ }; -/******/ head.appendChild(script); -/******/ -/******/ return promise; -/******/ }; -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "build/"; -/******/ -/******/ // on error function for async loading -/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export createPlatform */ -/* unused harmony export assertPlatform */ -/* unused harmony export destroyPlatform */ -/* unused harmony export getPlatform */ -/* unused harmony export PlatformRef */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return ApplicationRef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_15", function() { return enableProdMode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_18", function() { return isDevMode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_14", function() { return createPlatformFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "M", function() { return NgProbeToken; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return APP_ID; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Q", function() { return PACKAGE_ROOT_URL; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "S", function() { return PLATFORM_INITIALIZER; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "R", function() { return PLATFORM_ID; }); -/* unused harmony export APP_BOOTSTRAP_LISTENER */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return APP_INITIALIZER; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ApplicationInitStatus; }); -/* unused harmony export DebugElement */ -/* unused harmony export DebugNode */ -/* unused harmony export asNativeElements */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_17", function() { return getDebugNode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_7", function() { return Testability; }); -/* unused harmony export TestabilityRegistry */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_20", function() { return setTestabilityGetter; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_4", function() { return TRANSLATIONS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_5", function() { return TRANSLATIONS_FORMAT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "H", function() { return LOCALE_ID; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "I", function() { return MissingTranslationStrategy; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return ApplicationModule; }); -/* unused harmony export wtfCreateScope */ -/* unused harmony export wtfLeave */ -/* unused harmony export wtfStartTimeRange */ -/* unused harmony export wtfEndTimeRange */ -/* unused harmony export Type */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return EventEmitter; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return ErrorHandler; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_0", function() { return Sanitizer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_1", function() { return SecurityContext; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ANALYZE_FOR_ENTRY_COMPONENTS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return Attribute; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return ContentChild; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return ContentChildren; }); -/* unused harmony export Query */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_9", function() { return ViewChild; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_10", function() { return ViewChildren; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return Component; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return Directive; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "y", function() { return HostBinding; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "z", function() { return HostListener; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "E", function() { return Input; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "P", function() { return Output; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "T", function() { return Pipe; }); -/* unused harmony export CUSTOM_ELEMENTS_SCHEMA */ -/* unused harmony export NO_ERRORS_SCHEMA */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "J", function() { return NgModule; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_12", function() { return ViewEncapsulation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_8", function() { return Version; }); -/* unused harmony export VERSION */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_16", function() { return forwardRef; }); -/* unused harmony export resolveForwardRef */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "D", function() { return Injector; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "V", function() { return ReflectiveInjector; }); -/* unused harmony export ResolvedReflectiveFactory */ -/* unused harmony export ReflectiveKey */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "C", function() { return InjectionToken; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "A", function() { return Inject; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "O", function() { return Optional; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "B", function() { return Injectable; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_2", function() { return Self; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_3", function() { return SkipSelf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "x", function() { return Host; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "N", function() { return NgZone; }); -/* unused harmony export RenderComponentType */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "W", function() { return Renderer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "X", function() { return Renderer2; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Y", function() { return RendererFactory2; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Z", function() { return RendererStyleFlags2; }); -/* unused harmony export RootRenderer */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return COMPILER_OPTIONS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return Compiler; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return CompilerFactory; }); -/* unused harmony export ModuleWithComponentFactories */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return ComponentFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return ComponentRef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return ComponentFactoryResolver; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return ElementRef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "K", function() { return NgModuleFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "L", function() { return NgModuleRef; }); -/* unused harmony export NgModuleFactoryLoader */ -/* unused harmony export getModuleFactory */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "U", function() { return QueryList; }); -/* unused harmony export SystemJsNgModuleLoader */ -/* unused harmony export SystemJsNgModuleLoaderConfig */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_6", function() { return TemplateRef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_11", function() { return ViewContainerRef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return EmbeddedViewRef; }); -/* unused harmony export ViewRef */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return ChangeDetectionStrategy; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return ChangeDetectorRef; }); -/* unused harmony export DefaultIterableDiffer */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "F", function() { return IterableDiffers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "G", function() { return KeyValueDiffers; }); -/* unused harmony export SimpleChange */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_13", function() { return WrappedValue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_19", function() { return platformCore; }); -/* unused harmony export ɵALLOW_MULTIPLE_PLATFORMS */ -/* unused harmony export ɵAPP_ID_RANDOM_PROVIDER */ -/* unused harmony export ɵValueUnwrapper */ -/* unused harmony export ɵdevModeEqual */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_35", function() { return isListLikeIterable; }); -/* unused harmony export ɵChangeDetectorStatus */ -/* unused harmony export ɵisDefaultChangeDetectionStrategy */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_22", function() { return Console; }); -/* unused harmony export ɵComponentFactory */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_21", function() { return CodegenComponentFactoryResolver; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_25", function() { return ReflectionCapabilities; }); -/* unused harmony export ɵRenderDebugInfo */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_32", function() { return _global; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_38", function() { return looseIdentical; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_50", function() { return stringify; }); -/* unused harmony export ɵmakeDecorator */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_36", function() { return isObservable; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_37", function() { return isPromise; }); -/* unused harmony export ɵclearProviderOverrides */ -/* unused harmony export ɵoverrideProvider */ -/* unused harmony export ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_49", function() { return registerModuleFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_23", function() { return EMPTY_ARRAY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_24", function() { return EMPTY_MAP; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_26", function() { return anchorDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_27", function() { return createComponentFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_28", function() { return createNgModuleFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_29", function() { return createRendererType2; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_30", function() { return directiveDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_31", function() { return elementDef; }); -/* unused harmony export ɵelementEventFullName */ -/* unused harmony export ɵgetComponentViewDefinitionFactory */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_33", function() { return inlineInterpolate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_34", function() { return interpolate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_39", function() { return moduleDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_40", function() { return moduleProvideDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_41", function() { return ngContentDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_42", function() { return nodeValue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_44", function() { return pipeDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_47", function() { return providerDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_43", function() { return pureArrayDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_45", function() { return pureObjectDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_46", function() { return purePipeDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_48", function() { return queryDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_51", function() { return textDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_52", function() { return unwrapValue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_53", function() { return viewDef; }); -/* unused harmony export AUTO_STYLE */ -/* unused harmony export trigger */ -/* unused harmony export animate */ -/* unused harmony export group */ -/* unused harmony export sequence */ -/* unused harmony export style */ -/* unused harmony export state */ -/* unused harmony export keyframes */ -/* unused harmony export transition */ -/* unused harmony export ɵx */ -/* unused harmony export ɵy */ -/* unused harmony export ɵbc */ -/* unused harmony export ɵz */ -/* unused harmony export ɵbb */ -/* unused harmony export ɵba */ -/* unused harmony export ɵbd */ -/* unused harmony export ɵw */ -/* unused harmony export ɵk */ -/* unused harmony export ɵl */ -/* unused harmony export ɵm */ -/* unused harmony export ɵf */ -/* unused harmony export ɵg */ -/* unused harmony export ɵh */ -/* unused harmony export ɵi */ -/* unused harmony export ɵj */ -/* unused harmony export ɵb */ -/* unused harmony export ɵc */ -/* unused harmony export ɵd */ -/* unused harmony export ɵe */ -/* unused harmony export ɵn */ -/* unused harmony export ɵp */ -/* unused harmony export ɵo */ -/* unused harmony export ɵs */ -/* unused harmony export ɵq */ -/* unused harmony export ɵr */ -/* unused harmony export ɵa */ -/* unused harmony export ɵt */ -/* unused harmony export ɵu */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__ = __webpack_require__(48); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge__ = __webpack_require__(41); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share__ = __webpack_require__(446); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__); -/** - * @license Angular v5.0.3 - * (c) 2010-2017 Google, Inc. https://angular.io/ - * License: MIT - */ - - - - - - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Creates a token that can be used in a DI Provider. - * - * Use an `InjectionToken` whenever the type you are injecting is not reified (does not have a - * runtime representation) such as when injecting an interface, callable type, array or - * parametrized type. - * - * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by - * the `Injector`. This provides additional level of type safety. - * - * ``` - * interface MyInterface {...} - * var myInterface = injector.get(new InjectionToken('SomeToken')); - * // myInterface is inferred to be MyInterface. - * ``` - * - * ### Example - * - * {\@example core/di/ts/injector_spec.ts region='InjectionToken'} - * - * \@stable - */ -var InjectionToken = (function () { - function InjectionToken(_desc) { - this._desc = _desc; - /** - * \@internal - */ - this.ngMetadataName = 'InjectionToken'; - } - /** - * @return {?} - */ - InjectionToken.prototype.toString = /** - * @return {?} - */ - function () { return "InjectionToken " + this._desc; }; - return InjectionToken; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * An interface implemented by all Angular type decorators, which allows them to be used as ES7 - * decorators as well as - * Angular DSL syntax. - * - * ES7 syntax: - * - * ``` - * \@ng.Component({...}) - * class MyClass {...} - * ``` - * \@stable - * @record - */ - -var ANNOTATIONS = '__annotations__'; -var PARAMETERS = '__paramaters__'; -var PROP_METADATA = '__prop__metadata__'; -/** - * @suppress {globalThis} - * @param {?} name - * @param {?=} props - * @param {?=} parentClass - * @param {?=} chainFn - * @return {?} - */ -function makeDecorator(name, props, parentClass, chainFn) { - var /** @type {?} */ metaCtor = makeMetadataCtor(props); - /** - * @param {?} objOrType - * @return {?} - */ - function DecoratorFactory(objOrType) { - if (this instanceof DecoratorFactory) { - metaCtor.call(this, objOrType); - return this; - } - var /** @type {?} */ annotationInstance = new (/** @type {?} */ (DecoratorFactory))(objOrType); - var /** @type {?} */ TypeDecorator = /** @type {?} */ (function TypeDecorator(cls) { - // Use of Object.defineProperty is important since it creates non-enumerable property which - // prevents the property is copied during subclassing. - var /** @type {?} */ annotations = cls.hasOwnProperty(ANNOTATIONS) ? - (/** @type {?} */ (cls))[ANNOTATIONS] : - Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS]; - annotations.push(annotationInstance); - return cls; - }); - if (chainFn) - chainFn(TypeDecorator); - return TypeDecorator; - } - if (parentClass) { - DecoratorFactory.prototype = Object.create(parentClass.prototype); - } - DecoratorFactory.prototype.ngMetadataName = name; - (/** @type {?} */ (DecoratorFactory)).annotationCls = DecoratorFactory; - return /** @type {?} */ (DecoratorFactory); -} -/** - * @param {?=} props - * @return {?} - */ -function makeMetadataCtor(props) { - return function ctor() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (props) { - var /** @type {?} */ values = props.apply(void 0, args); - for (var /** @type {?} */ propName in values) { - this[propName] = values[propName]; - } - } - }; -} -/** - * @param {?} name - * @param {?=} props - * @param {?=} parentClass - * @return {?} - */ -function makeParamDecorator(name, props, parentClass) { - var /** @type {?} */ metaCtor = makeMetadataCtor(props); - /** - * @param {...?} args - * @return {?} - */ - function ParamDecoratorFactory() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (this instanceof ParamDecoratorFactory) { - metaCtor.apply(this, args); - return this; - } - var /** @type {?} */ annotationInstance = new ((_a = (/** @type {?} */ (ParamDecoratorFactory))).bind.apply(_a, [void 0].concat(args)))(); - (/** @type {?} */ (ParamDecorator)).annotation = annotationInstance; - return ParamDecorator; - /** - * @param {?} cls - * @param {?} unusedKey - * @param {?} index - * @return {?} - */ - function ParamDecorator(cls, unusedKey, index) { - // Use of Object.defineProperty is important since it creates non-enumerable property which - // prevents the property is copied during subclassing. - var /** @type {?} */ parameters = cls.hasOwnProperty(PARAMETERS) ? - (/** @type {?} */ (cls))[PARAMETERS] : - Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS]; - // there might be gaps if some in between parameters do not have annotations. - // we pad with nulls. - while (parameters.length <= index) { - parameters.push(null); - } - (parameters[index] = parameters[index] || []).push(annotationInstance); - return cls; - } - var _a; - } - if (parentClass) { - ParamDecoratorFactory.prototype = Object.create(parentClass.prototype); - } - ParamDecoratorFactory.prototype.ngMetadataName = name; - (/** @type {?} */ (ParamDecoratorFactory)).annotationCls = ParamDecoratorFactory; - return ParamDecoratorFactory; -} -/** - * @param {?} name - * @param {?=} props - * @param {?=} parentClass - * @return {?} - */ -function makePropDecorator(name, props, parentClass) { - var /** @type {?} */ metaCtor = makeMetadataCtor(props); - /** - * @param {...?} args - * @return {?} - */ - function PropDecoratorFactory() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (this instanceof PropDecoratorFactory) { - metaCtor.apply(this, args); - return this; - } - var /** @type {?} */ decoratorInstance = new ((_a = (/** @type {?} */ (PropDecoratorFactory))).bind.apply(_a, [void 0].concat(args)))(); - return function PropDecorator(target, name) { - var /** @type {?} */ constructor = target.constructor; - // Use of Object.defineProperty is important since it creates non-enumerable property which - // prevents the property is copied during subclassing. - var /** @type {?} */ meta = constructor.hasOwnProperty(PROP_METADATA) ? - (/** @type {?} */ (constructor))[PROP_METADATA] : - Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA]; - meta[name] = meta.hasOwnProperty(name) && meta[name] || []; - meta[name].unshift(decoratorInstance); - }; - var _a; - } - if (parentClass) { - PropDecoratorFactory.prototype = Object.create(parentClass.prototype); - } - PropDecoratorFactory.prototype.ngMetadataName = name; - (/** @type {?} */ (PropDecoratorFactory)).annotationCls = PropDecoratorFactory; - return PropDecoratorFactory; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * This token can be used to create a virtual provider that will populate the - * `entryComponents` fields of components and ng modules based on its `useValue`. - * All components that are referenced in the `useValue` value (either directly - * or in a nested array or map) will be added to the `entryComponents` property. - * - * ### Example - * The following example shows how the router can populate the `entryComponents` - * field of an NgModule based on the router configuration which refers - * to components. - * - * ```typescript - * // helper function inside the router - * function provideRoutes(routes) { - * return [ - * {provide: ROUTES, useValue: routes}, - * {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: routes, multi: true} - * ]; - * } - * - * // user code - * let routes = [ - * {path: '/root', component: RootComp}, - * {path: '/teams', component: TeamsComp} - * ]; - * - * \@NgModule({ - * providers: [provideRoutes(routes)] - * }) - * class ModuleWithRoutes {} - * ``` - * - * \@experimental - */ -var ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents'); -/** - * Type of the Attribute decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Attribute decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Attribute = makeParamDecorator('Attribute', function (attributeName) { return ({ attributeName: attributeName }); }); -/** - * Base class for query metadata. - * - * See {\@link ContentChildren}, {\@link ContentChild}, {\@link ViewChildren}, {\@link ViewChild} for - * more information. - * - * \@stable - * @abstract - */ -var Query = (function () { - function Query() { - } - return Query; -}()); -/** - * Type of the ContentChildren decorator / constructor function. - * - * See {\@link ContentChildren}. - * - * \@stable - * @record - */ - -/** - * ContentChildren decorator and metadata. - * - * \@stable - * \@Annotation - */ -var ContentChildren = makePropDecorator('ContentChildren', function (selector, data) { - if (data === void 0) { data = {}; } - return (Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({ selector: selector, first: false, isViewQuery: false, descendants: false }, data)); -}, Query); -/** - * Type of the ContentChild decorator / constructor function. - * - * - * \@stable - * @record - */ - -/** - * ContentChild decorator and metadata. - * - * \@stable - * \@Annotation - */ -var ContentChild = makePropDecorator('ContentChild', function (selector, data) { - if (data === void 0) { data = {}; } - return (Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({ selector: selector, first: true, isViewQuery: false, descendants: true }, data)); -}, Query); -/** - * Type of the ViewChildren decorator / constructor function. - * - * See {\@link ViewChildren}. - * - * \@stable - * @record - */ - -/** - * ViewChildren decorator and metadata. - * - * \@stable - * \@Annotation - */ -var ViewChildren = makePropDecorator('ViewChildren', function (selector, data) { - if (data === void 0) { data = {}; } - return (Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({ selector: selector, first: false, isViewQuery: true, descendants: true }, data)); -}, Query); -/** - * Type of the ViewChild decorator / constructor function. - * - * See {\@link ViewChild} - * - * \@stable - * @record - */ - -/** - * ViewChild decorator and metadata. - * - * \@stable - * \@Annotation - */ -var ViewChild = makePropDecorator('ViewChild', function (selector, data) { - return (Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({ selector: selector, first: true, isViewQuery: true, descendants: true }, data)); -}, Query); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** @enum {number} */ -var ChangeDetectionStrategy = { - /** - * `OnPush` means that the change detector's mode will be initially set to `CheckOnce`. - */ - OnPush: 0, - /** - * `Default` means that the change detector's mode will be initially set to `CheckAlways`. - */ - Default: 1, -}; -ChangeDetectionStrategy[ChangeDetectionStrategy.OnPush] = "OnPush"; -ChangeDetectionStrategy[ChangeDetectionStrategy.Default] = "Default"; -/** @enum {number} */ -var ChangeDetectorStatus = { - /** - * `CheckOnce` means that after calling detectChanges the mode of the change detector - * will become `Checked`. - */ - CheckOnce: 0, - /** - * `Checked` means that the change detector should be skipped until its mode changes to - * `CheckOnce`. - */ - Checked: 1, - /** - * `CheckAlways` means that after calling detectChanges the mode of the change detector - * will remain `CheckAlways`. - */ - CheckAlways: 2, - /** - * `Detached` means that the change detector sub tree is not a part of the main tree and - * should be skipped. - */ - Detached: 3, - /** - * `Errored` means that the change detector encountered an error checking a binding - * or calling a directive lifecycle method and is now in an inconsistent state. Change - * detectors in this state will no longer detect changes. - */ - Errored: 4, - /** - * `Destroyed` means that the change detector is destroyed. - */ - Destroyed: 5, -}; -ChangeDetectorStatus[ChangeDetectorStatus.CheckOnce] = "CheckOnce"; -ChangeDetectorStatus[ChangeDetectorStatus.Checked] = "Checked"; -ChangeDetectorStatus[ChangeDetectorStatus.CheckAlways] = "CheckAlways"; -ChangeDetectorStatus[ChangeDetectorStatus.Detached] = "Detached"; -ChangeDetectorStatus[ChangeDetectorStatus.Errored] = "Errored"; -ChangeDetectorStatus[ChangeDetectorStatus.Destroyed] = "Destroyed"; -/** - * @param {?} changeDetectionStrategy - * @return {?} - */ -function isDefaultChangeDetectionStrategy(changeDetectionStrategy) { - return changeDetectionStrategy == null || - changeDetectionStrategy === ChangeDetectionStrategy.Default; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Type of the Directive decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Directive decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Directive = makeDecorator('Directive', function (dir) { - if (dir === void 0) { dir = {}; } - return dir; -}); -/** - * Type of the Component decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Component decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Component = makeDecorator('Component', function (c) { - if (c === void 0) { c = {}; } - return (Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({ changeDetection: ChangeDetectionStrategy.Default }, c)); -}, Directive); -/** - * Type of the Pipe decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Pipe decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Pipe = makeDecorator('Pipe', function (p) { return (Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({ pure: true }, p)); }); -/** - * Type of the Input decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Input decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Input = makePropDecorator('Input', function (bindingPropertyName) { return ({ bindingPropertyName: bindingPropertyName }); }); -/** - * Type of the Output decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Output decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Output = makePropDecorator('Output', function (bindingPropertyName) { return ({ bindingPropertyName: bindingPropertyName }); }); -/** - * Type of the HostBinding decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * HostBinding decorator and metadata. - * - * \@stable - * \@Annotation - */ -var HostBinding = makePropDecorator('HostBinding', function (hostPropertyName) { return ({ hostPropertyName: hostPropertyName }); }); -/** - * Type of the HostListener decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * HostListener decorator and metadata. - * - * \@stable - * \@Annotation - */ -var HostListener = makePropDecorator('HostListener', function (eventName, args) { return ({ eventName: eventName, args: args }); }); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * A wrapper around a module that also includes the providers. - * - * \@stable - * @record - */ - -/** - * Interface for schema definitions in \@NgModules. - * - * \@experimental - * @record - */ - -/** - * Defines a schema that will allow: - * - any non-Angular elements with a `-` in their name, - * - any properties on elements with a `-` in their name which is the common rule for custom - * elements. - * - * \@stable - */ -var CUSTOM_ELEMENTS_SCHEMA = { - name: 'custom-elements' -}; -/** - * Defines a schema that will allow any property on any element. - * - * \@experimental - */ -var NO_ERRORS_SCHEMA = { - name: 'no-errors-schema' -}; -/** - * Type of the NgModule decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * NgModule decorator and metadata. - * - * \@stable - * \@Annotation - */ -var NgModule = makeDecorator('NgModule', function (ngModule) { return ngModule; }); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** @enum {number} */ -var ViewEncapsulation = { - /** - * Emulate `Native` scoping of styles by adding an attribute containing surrogate id to the Host - * Element and pre-processing the style rules provided via {@link Component#styles styles} or - * {@link Component#styleUrls styleUrls}, and adding the new Host Element attribute to all - * selectors. - * - * This is the default option. - */ - Emulated: 0, - /** - * Use the native encapsulation mechanism of the renderer. - * - * For the DOM this means using [Shadow DOM](https://w3c.github.io/webcomponents/spec/shadow/) and - * creating a ShadowRoot for Component's Host Element. - */ - Native: 1, - /** - * Don't provide any template or style encapsulation. - */ - None: 2, -}; -ViewEncapsulation[ViewEncapsulation.Emulated] = "Emulated"; -ViewEncapsulation[ViewEncapsulation.Native] = "Native"; -ViewEncapsulation[ViewEncapsulation.None] = "None"; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * \@whatItDoes Represents the version of Angular - * - * \@stable - */ -var Version = (function () { - function Version(full) { - this.full = full; - this.major = full.split('.')[0]; - this.minor = full.split('.')[1]; - this.patch = full.split('.').slice(2).join('.'); - } - return Version; -}()); -/** - * \@stable - */ -var VERSION = new Version('5.0.3'); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Type of the Inject decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Inject decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Inject = makeParamDecorator('Inject', function (token) { return ({ token: token }); }); -/** - * Type of the Optional decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Optional decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Optional = makeParamDecorator('Optional'); -/** - * Type of the Injectable decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Injectable decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Injectable = makeDecorator('Injectable'); -/** - * Type of the Self decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Self decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Self = makeParamDecorator('Self'); -/** - * Type of the SkipSelf decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * SkipSelf decorator and metadata. - * - * \@stable - * \@Annotation - */ -var SkipSelf = makeParamDecorator('SkipSelf'); -/** - * Type of the Host decorator / constructor function. - * - * \@stable - * @record - */ - -/** - * Host decorator and metadata. - * - * \@stable - * \@Annotation - */ -var Host = makeParamDecorator('Host'); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -var __window = typeof window !== 'undefined' && window; -var __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' && - self instanceof WorkerGlobalScope && self; -var __global = typeof global !== 'undefined' && global; -var _global = __window || __global || __self; -var _symbolIterator = null; -/** - * @return {?} - */ -function getSymbolIterator() { - if (!_symbolIterator) { - var /** @type {?} */ Symbol_1 = _global['Symbol']; - if (Symbol_1 && Symbol_1.iterator) { - _symbolIterator = Symbol_1.iterator; - } - else { - // es6-shim specific logic - var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype); - for (var /** @type {?} */ i = 0; i < keys.length; ++i) { - var /** @type {?} */ key = keys[i]; - if (key !== 'entries' && key !== 'size' && - (/** @type {?} */ (Map)).prototype[key] === Map.prototype['entries']) { - _symbolIterator = key; - } - } - } - } - return _symbolIterator; -} -/** - * @param {?} fn - * @return {?} - */ -function scheduleMicroTask(fn) { - Zone.current.scheduleMicroTask('scheduleMicrotask', fn); -} -/** - * @param {?} a - * @param {?} b - * @return {?} - */ -function looseIdentical(a, b) { - return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b); -} -/** - * @param {?} token - * @return {?} - */ -function stringify(token) { - if (typeof token === 'string') { - return token; - } - if (token instanceof Array) { - return '[' + token.map(stringify).join(', ') + ']'; - } - if (token == null) { - return '' + token; - } - if (token.overriddenName) { - return "" + token.overriddenName; - } - if (token.name) { - return "" + token.name; - } - var /** @type {?} */ res = token.toString(); - if (res == null) { - return '' + res; - } - var /** @type {?} */ newLineIndex = res.indexOf('\n'); - return newLineIndex === -1 ? res : res.substring(0, newLineIndex); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * An interface that a function passed into {\@link forwardRef} has to implement. - * - * ### Example - * - * {\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref_fn'} - * \@experimental - * @record - */ - -/** - * Allows to refer to references which are not yet defined. - * - * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of - * DI is declared, - * but not yet defined. It is also used when the `token` which we use when creating a query is not - * yet defined. - * - * ### Example - * {\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'} - * \@experimental - * @param {?} forwardRefFn - * @return {?} - */ -function forwardRef(forwardRefFn) { - (/** @type {?} */ (forwardRefFn)).__forward_ref__ = forwardRef; - (/** @type {?} */ (forwardRefFn)).toString = function () { return stringify(this()); }; - return (/** @type {?} */ (/** @type {?} */ (forwardRefFn))); -} -/** - * Lazily retrieves the reference value from a forwardRef. - * - * Acts as the identity function when given a non-forward-ref value. - * - * ### Example ([live demo](http://plnkr.co/edit/GU72mJrk1fiodChcmiDR?p=preview)) - * - * {\@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'} - * - * See: {\@link forwardRef} - * \@experimental - * @param {?} type - * @return {?} - */ -function resolveForwardRef(type) { - if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__') && - type.__forward_ref__ === forwardRef) { - return (/** @type {?} */ (type))(); - } - else { - return type; - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -var _THROW_IF_NOT_FOUND = new Object(); -var THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND; -var _NullInjector = (function () { - function _NullInjector() { - } - /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - _NullInjector.prototype.get = /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - function (token, notFoundValue) { - if (notFoundValue === void 0) { notFoundValue = _THROW_IF_NOT_FOUND; } - if (notFoundValue === _THROW_IF_NOT_FOUND) { - throw new Error("NullInjectorError: No provider for " + stringify(token) + "!"); - } - return notFoundValue; - }; - return _NullInjector; -}()); -/** - * \@whatItDoes Injector interface - * \@howToUse - * ``` - * const injector: Injector = ...; - * injector.get(...); - * ``` - * - * \@description - * For more details, see the {\@linkDocs guide/dependency-injection "Dependency Injection Guide"}. - * - * ### Example - * - * {\@example core/di/ts/injector_spec.ts region='Injector'} - * - * `Injector` returns itself when given `Injector` as a token: - * {\@example core/di/ts/injector_spec.ts region='injectInjector'} - * - * \@stable - * @abstract - */ -var Injector = (function () { - function Injector() { - } - /** - * Create a new Injector which is configure using `StaticProvider`s. - * - * ### Example - * - * {@example core/di/ts/provider_spec.ts region='ConstructorProvider'} - */ - /** - * Create a new Injector which is configure using `StaticProvider`s. - * - * ### Example - * - * {\@example core/di/ts/provider_spec.ts region='ConstructorProvider'} - * @param {?} providers - * @param {?=} parent - * @return {?} - */ - Injector.create = /** - * Create a new Injector which is configure using `StaticProvider`s. - * - * ### Example - * - * {\@example core/di/ts/provider_spec.ts region='ConstructorProvider'} - * @param {?} providers - * @param {?=} parent - * @return {?} - */ - function (providers, parent) { - return new StaticInjector(providers, parent); - }; - Injector.THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND; - Injector.NULL = new _NullInjector(); - return Injector; -}()); -var IDENT = function (value) { - return value; -}; -var EMPTY = /** @type {?} */ ([]); -var CIRCULAR = IDENT; -var MULTI_PROVIDER_FN = function () { - return Array.prototype.slice.call(arguments); -}; -var GET_PROPERTY_NAME = /** @type {?} */ ({}); -var ɵ2 = GET_PROPERTY_NAME; -var USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ2 }); -var NG_TOKEN_PATH = 'ngTokenPath'; -var NG_TEMP_TOKEN_PATH = 'ngTempTokenPath'; -var NULL_INJECTOR = Injector.NULL; -var NEW_LINE = /\n/gm; -var NO_NEW_LINE = 'ɵ'; -var StaticInjector = (function () { - function StaticInjector(providers, parent) { - if (parent === void 0) { parent = NULL_INJECTOR; } - this.parent = parent; - var /** @type {?} */ records = this._records = new Map(); - records.set(Injector, /** @type {?} */ ({ token: Injector, fn: IDENT, deps: EMPTY, value: this, useNew: false })); - recursivelyProcessProviders(records, providers); - } - /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - StaticInjector.prototype.get = /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - function (token, notFoundValue) { - var /** @type {?} */ record = this._records.get(token); - try { - return tryResolveToken(token, record, this._records, this.parent, notFoundValue); - } - catch (/** @type {?} */ e) { - var /** @type {?} */ tokenPath = e[NG_TEMP_TOKEN_PATH]; - e.message = formatError('\n' + e.message, tokenPath); - e[NG_TOKEN_PATH] = tokenPath; - e[NG_TEMP_TOKEN_PATH] = null; - throw e; - } - }; - /** - * @return {?} - */ - StaticInjector.prototype.toString = /** - * @return {?} - */ - function () { - var /** @type {?} */ tokens = /** @type {?} */ ([]), /** @type {?} */ records = this._records; - records.forEach(function (v, token) { return tokens.push(stringify(token)); }); - return "StaticInjector[" + tokens.join(', ') + "]"; - }; - return StaticInjector; -}()); -/** - * @param {?} provider - * @return {?} - */ -function resolveProvider(provider) { - var /** @type {?} */ deps = computeDeps(provider); - var /** @type {?} */ fn = IDENT; - var /** @type {?} */ value = EMPTY; - var /** @type {?} */ useNew = false; - var /** @type {?} */ provide = resolveForwardRef(provider.provide); - if (USE_VALUE in provider) { - // We need to use USE_VALUE in provider since provider.useValue could be defined as undefined. - value = (/** @type {?} */ (provider)).useValue; - } - else if ((/** @type {?} */ (provider)).useFactory) { - fn = (/** @type {?} */ (provider)).useFactory; - } - else if ((/** @type {?} */ (provider)).useExisting) { - // Just use IDENT - } - else if ((/** @type {?} */ (provider)).useClass) { - useNew = true; - fn = resolveForwardRef((/** @type {?} */ (provider)).useClass); - } - else if (typeof provide == 'function') { - useNew = true; - fn = provide; - } - else { - throw staticError('StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable', provider); - } - return { deps: deps, fn: fn, useNew: useNew, value: value }; -} -/** - * @param {?} token - * @return {?} - */ -function multiProviderMixError(token) { - return staticError('Cannot mix multi providers and regular providers', token); -} -/** - * @param {?} records - * @param {?} provider - * @return {?} - */ -function recursivelyProcessProviders(records, provider) { - if (provider) { - provider = resolveForwardRef(provider); - if (provider instanceof Array) { - // if we have an array recurse into the array - for (var /** @type {?} */ i = 0; i < provider.length; i++) { - recursivelyProcessProviders(records, provider[i]); - } - } - else if (typeof provider === 'function') { - // Functions were supported in ReflectiveInjector, but are not here. For safety give useful - // error messages - throw staticError('Function/Class not supported', provider); - } - else if (provider && typeof provider === 'object' && provider.provide) { - // At this point we have what looks like a provider: {provide: ?, ....} - var /** @type {?} */ token = resolveForwardRef(provider.provide); - var /** @type {?} */ resolvedProvider = resolveProvider(provider); - if (provider.multi === true) { - // This is a multi provider. - var /** @type {?} */ multiProvider = records.get(token); - if (multiProvider) { - if (multiProvider.fn !== MULTI_PROVIDER_FN) { - throw multiProviderMixError(token); - } - } - else { - // Create a placeholder factory which will look up the constituents of the multi provider. - records.set(token, multiProvider = /** @type {?} */ ({ - token: provider.provide, - deps: [], - useNew: false, - fn: MULTI_PROVIDER_FN, - value: EMPTY - })); - } - // Treat the provider as the token. - token = provider; - multiProvider.deps.push({ token: token, options: 6 /* Default */ }); - } - var /** @type {?} */ record = records.get(token); - if (record && record.fn == MULTI_PROVIDER_FN) { - throw multiProviderMixError(token); - } - records.set(token, resolvedProvider); - } - else { - throw staticError('Unexpected provider', provider); - } - } -} -/** - * @param {?} token - * @param {?} record - * @param {?} records - * @param {?} parent - * @param {?} notFoundValue - * @return {?} - */ -function tryResolveToken(token, record, records, parent, notFoundValue) { - try { - return resolveToken(token, record, records, parent, notFoundValue); - } - catch (/** @type {?} */ e) { - // ensure that 'e' is of type Error. - if (!(e instanceof Error)) { - e = new Error(e); - } - var /** @type {?} */ path = e[NG_TEMP_TOKEN_PATH] = e[NG_TEMP_TOKEN_PATH] || []; - path.unshift(token); - if (record && record.value == CIRCULAR) { - // Reset the Circular flag. - record.value = EMPTY; - } - throw e; - } -} -/** - * @param {?} token - * @param {?} record - * @param {?} records - * @param {?} parent - * @param {?} notFoundValue - * @return {?} - */ -function resolveToken(token, record, records, parent, notFoundValue) { - var /** @type {?} */ value; - if (record) { - // If we don't have a record, this implies that we don't own the provider hence don't know how - // to resolve it. - value = record.value; - if (value == CIRCULAR) { - throw Error(NO_NEW_LINE + 'Circular dependency'); - } - else if (value === EMPTY) { - record.value = CIRCULAR; - var /** @type {?} */ obj = undefined; - var /** @type {?} */ useNew = record.useNew; - var /** @type {?} */ fn = record.fn; - var /** @type {?} */ depRecords = record.deps; - var /** @type {?} */ deps = EMPTY; - if (depRecords.length) { - deps = []; - for (var /** @type {?} */ i = 0; i < depRecords.length; i++) { - var /** @type {?} */ depRecord = depRecords[i]; - var /** @type {?} */ options = depRecord.options; - var /** @type {?} */ childRecord = options & 2 /* CheckSelf */ ? records.get(depRecord.token) : undefined; - deps.push(tryResolveToken( - // Current Token to resolve - depRecord.token, childRecord, records, - // If we don't know how to resolve dependency and we should not check parent for it, - // than pass in Null injector. - !childRecord && !(options & 4 /* CheckParent */) ? NULL_INJECTOR : parent, options & 1 /* Optional */ ? null : Injector.THROW_IF_NOT_FOUND)); - } - } - record.value = value = useNew ? new ((_a = (/** @type {?} */ (fn))).bind.apply(_a, [void 0].concat(deps)))() : fn.apply(obj, deps); - } - } - else { - value = parent.get(token, notFoundValue); - } - return value; - var _a; -} -/** - * @param {?} provider - * @return {?} - */ -function computeDeps(provider) { - var /** @type {?} */ deps = EMPTY; - var /** @type {?} */ providerDeps = (/** @type {?} */ (provider)).deps; - if (providerDeps && providerDeps.length) { - deps = []; - for (var /** @type {?} */ i = 0; i < providerDeps.length; i++) { - var /** @type {?} */ options = 6; - var /** @type {?} */ token = resolveForwardRef(providerDeps[i]); - if (token instanceof Array) { - for (var /** @type {?} */ j = 0, /** @type {?} */ annotations = token; j < annotations.length; j++) { - var /** @type {?} */ annotation = annotations[j]; - if (annotation instanceof Optional || annotation == Optional) { - options = options | 1 /* Optional */; - } - else if (annotation instanceof SkipSelf || annotation == SkipSelf) { - options = options & ~2 /* CheckSelf */; - } - else if (annotation instanceof Self || annotation == Self) { - options = options & ~4 /* CheckParent */; - } - else if (annotation instanceof Inject) { - token = (/** @type {?} */ (annotation)).token; - } - else { - token = resolveForwardRef(annotation); - } - } - } - deps.push({ token: token, options: options }); - } - } - else if ((/** @type {?} */ (provider)).useExisting) { - var /** @type {?} */ token = resolveForwardRef((/** @type {?} */ (provider)).useExisting); - deps = [{ token: token, options: 6 /* Default */ }]; - } - else if (!providerDeps && !(USE_VALUE in provider)) { - // useValue & useExisting are the only ones which are exempt from deps all others need it. - throw staticError('\'deps\' required', provider); - } - return deps; -} -/** - * @param {?} text - * @param {?} obj - * @return {?} - */ -function formatError(text, obj) { - text = text && text.charAt(0) === '\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text; - var /** @type {?} */ context = stringify(obj); - if (obj instanceof Array) { - context = obj.map(stringify).join(' -> '); - } - else if (typeof obj === 'object') { - var /** @type {?} */ parts = /** @type {?} */ ([]); - for (var /** @type {?} */ key in obj) { - if (obj.hasOwnProperty(key)) { - var /** @type {?} */ value = obj[key]; - parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value))); - } - } - context = "{" + parts.join(', ') + "}"; - } - return "StaticInjectorError[" + context + "]: " + text.replace(NEW_LINE, '\n '); -} -/** - * @param {?} text - * @param {?} obj - * @return {?} - */ -function staticError(text, obj) { - return new Error(formatError(text, obj)); -} -/** - * @template T - * @param {?} objWithPropertyToExtract - * @return {?} - */ -function getClosureSafeProperty(objWithPropertyToExtract) { - for (var /** @type {?} */ key in objWithPropertyToExtract) { - if (objWithPropertyToExtract[key] === GET_PROPERTY_NAME) { - return key; - } - } - throw Error('!prop'); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ - -var ERROR_DEBUG_CONTEXT = 'ngDebugContext'; -var ERROR_ORIGINAL_ERROR = 'ngOriginalError'; -var ERROR_LOGGER = 'ngErrorLogger'; -/** - * @param {?} error - * @return {?} - */ - -/** - * @param {?} error - * @return {?} - */ -function getDebugContext(error) { - return (/** @type {?} */ (error))[ERROR_DEBUG_CONTEXT]; -} -/** - * @param {?} error - * @return {?} - */ -function getOriginalError(error) { - return (/** @type {?} */ (error))[ERROR_ORIGINAL_ERROR]; -} -/** - * @param {?} error - * @return {?} - */ -function getErrorLogger(error) { - return (/** @type {?} */ (error))[ERROR_LOGGER] || defaultErrorLogger; -} -/** - * @param {?} console - * @param {...?} values - * @return {?} - */ -function defaultErrorLogger(console) { - var values = []; - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - console.error.apply(console, values); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * \@whatItDoes Provides a hook for centralized exception handling. - * - * \@description - * - * The default implementation of `ErrorHandler` prints error messages to the `console`. To - * intercept error handling, write a custom exception handler that replaces this default as - * appropriate for your app. - * - * ### Example - * - * ``` - * class MyErrorHandler implements ErrorHandler { - * handleError(error) { - * // do something with the exception - * } - * } - * - * \@NgModule({ - * providers: [{provide: ErrorHandler, useClass: MyErrorHandler}] - * }) - * class MyModule {} - * ``` - * - * \@stable - */ -var ErrorHandler = (function () { - function ErrorHandler() { - /** - * \@internal - */ - this._console = console; - } - /** - * @param {?} error - * @return {?} - */ - ErrorHandler.prototype.handleError = /** - * @param {?} error - * @return {?} - */ - function (error) { - var /** @type {?} */ originalError = this._findOriginalError(error); - var /** @type {?} */ context = this._findContext(error); - // Note: Browser consoles show the place from where console.error was called. - // We can use this to give users additional information about the error. - var /** @type {?} */ errorLogger = getErrorLogger(error); - errorLogger(this._console, "ERROR", error); - if (originalError) { - errorLogger(this._console, "ORIGINAL ERROR", originalError); - } - if (context) { - errorLogger(this._console, 'ERROR CONTEXT', context); - } - }; - /** @internal */ - /** - * \@internal - * @param {?} error - * @return {?} - */ - ErrorHandler.prototype._findContext = /** - * \@internal - * @param {?} error - * @return {?} - */ - function (error) { - if (error) { - return getDebugContext(error) ? getDebugContext(error) : - this._findContext(getOriginalError(error)); - } - return null; - }; - /** @internal */ - /** - * \@internal - * @param {?} error - * @return {?} - */ - ErrorHandler.prototype._findOriginalError = /** - * \@internal - * @param {?} error - * @return {?} - */ - function (error) { - var /** @type {?} */ e = getOriginalError(error); - while (e && getOriginalError(e)) { - e = getOriginalError(e); - } - return e; - }; - return ErrorHandler; -}()); -/** - * @param {?} message - * @param {?} originalError - * @return {?} - */ -function wrappedError(message, originalError) { - var /** @type {?} */ msg = message + " caused by: " + (originalError instanceof Error ? originalError.message : originalError); - var /** @type {?} */ error = Error(msg); - (/** @type {?} */ (error))[ERROR_ORIGINAL_ERROR] = originalError; - return error; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} keys - * @return {?} - */ -function findFirstClosedCycle(keys) { - var /** @type {?} */ res = []; - for (var /** @type {?} */ i = 0; i < keys.length; ++i) { - if (res.indexOf(keys[i]) > -1) { - res.push(keys[i]); - return res; - } - res.push(keys[i]); - } - return res; -} -/** - * @param {?} keys - * @return {?} - */ -function constructResolvingPath(keys) { - if (keys.length > 1) { - var /** @type {?} */ reversed = findFirstClosedCycle(keys.slice().reverse()); - var /** @type {?} */ tokenStrs = reversed.map(function (k) { return stringify(k.token); }); - return ' (' + tokenStrs.join(' -> ') + ')'; - } - return ''; -} -/** - * @record - */ - -/** - * @param {?} injector - * @param {?} key - * @param {?} constructResolvingMessage - * @param {?=} originalError - * @return {?} - */ -function injectionError(injector, key, constructResolvingMessage, originalError) { - var /** @type {?} */ keys = [key]; - var /** @type {?} */ errMsg = constructResolvingMessage(keys); - var /** @type {?} */ error = /** @type {?} */ ((originalError ? wrappedError(errMsg, originalError) : Error(errMsg))); - error.addKey = addKey; - error.keys = keys; - error.injectors = [injector]; - error.constructResolvingMessage = constructResolvingMessage; - (/** @type {?} */ (error))[ERROR_ORIGINAL_ERROR] = originalError; - return error; -} -/** - * @this {?} - * @param {?} injector - * @param {?} key - * @return {?} - */ -function addKey(injector, key) { - this.injectors.push(injector); - this.keys.push(key); - // Note: This updated message won't be reflected in the `.stack` property - this.message = this.constructResolvingMessage(this.keys); -} -/** - * Thrown when trying to retrieve a dependency by key from {\@link Injector}, but the - * {\@link Injector} does not have a {\@link Provider} for the given key. - * - * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview)) - * - * ```typescript - * class A { - * constructor(b:B) {} - * } - * - * expect(() => Injector.resolveAndCreate([A])).toThrowError(); - * ``` - * @param {?} injector - * @param {?} key - * @return {?} - */ -function noProviderError(injector, key) { - return injectionError(injector, key, function (keys) { - var /** @type {?} */ first = stringify(keys[0].token); - return "No provider for " + first + "!" + constructResolvingPath(keys); - }); -} -/** - * Thrown when dependencies form a cycle. - * - * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info)) - * - * ```typescript - * var injector = Injector.resolveAndCreate([ - * {provide: "one", useFactory: (two) => "two", deps: [[new Inject("two")]]}, - * {provide: "two", useFactory: (one) => "one", deps: [[new Inject("one")]]} - * ]); - * - * expect(() => injector.get("one")).toThrowError(); - * ``` - * - * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed. - * @param {?} injector - * @param {?} key - * @return {?} - */ -function cyclicDependencyError(injector, key) { - return injectionError(injector, key, function (keys) { - return "Cannot instantiate cyclic dependency!" + constructResolvingPath(keys); - }); -} -/** - * Thrown when a constructing type returns with an Error. - * - * The `InstantiationError` class contains the original error plus the dependency graph which caused - * this object to be instantiated. - * - * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview)) - * - * ```typescript - * class A { - * constructor() { - * throw new Error('message'); - * } - * } - * - * var injector = Injector.resolveAndCreate([A]); - * try { - * injector.get(A); - * } catch (e) { - * expect(e instanceof InstantiationError).toBe(true); - * expect(e.originalException.message).toEqual("message"); - * expect(e.originalStack).toBeDefined(); - * } - * ``` - * @param {?} injector - * @param {?} originalException - * @param {?} originalStack - * @param {?} key - * @return {?} - */ -function instantiationError(injector, originalException, originalStack, key) { - return injectionError(injector, key, function (keys) { - var /** @type {?} */ first = stringify(keys[0].token); - return originalException.message + ": Error during instantiation of " + first + "!" + constructResolvingPath(keys) + "."; - }, originalException); -} -/** - * Thrown when an object other then {\@link Provider} (or `Type`) is passed to {\@link Injector} - * creation. - * - * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview)) - * - * ```typescript - * expect(() => Injector.resolveAndCreate(["not a type"])).toThrowError(); - * ``` - * @param {?} provider - * @return {?} - */ -function invalidProviderError(provider) { - return Error("Invalid provider - only instances of Provider and Type are allowed, got: " + provider); -} -/** - * Thrown when the class has no annotation information. - * - * Lack of annotation information prevents the {\@link Injector} from determining which dependencies - * need to be injected into the constructor. - * - * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview)) - * - * ```typescript - * class A { - * constructor(b) {} - * } - * - * expect(() => Injector.resolveAndCreate([A])).toThrowError(); - * ``` - * - * This error is also thrown when the class not marked with {\@link Injectable} has parameter types. - * - * ```typescript - * class B {} - * - * class A { - * constructor(b:B) {} // no information about the parameter types of A is available at runtime. - * } - * - * expect(() => Injector.resolveAndCreate([A,B])).toThrowError(); - * ``` - * \@stable - * @param {?} typeOrFunc - * @param {?} params - * @return {?} - */ -function noAnnotationError(typeOrFunc, params) { - var /** @type {?} */ signature = []; - for (var /** @type {?} */ i = 0, /** @type {?} */ ii = params.length; i < ii; i++) { - var /** @type {?} */ parameter = params[i]; - if (!parameter || parameter.length == 0) { - signature.push('?'); - } - else { - signature.push(parameter.map(stringify).join(' ')); - } - } - return Error('Cannot resolve all parameters for \'' + stringify(typeOrFunc) + '\'(' + - signature.join(', ') + '). ' + - 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \'' + - stringify(typeOrFunc) + '\' is decorated with Injectable.'); -} -/** - * Thrown when getting an object by index. - * - * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview)) - * - * ```typescript - * class A {} - * - * var injector = Injector.resolveAndCreate([A]); - * - * expect(() => injector.getAt(100)).toThrowError(); - * ``` - * \@stable - * @param {?} index - * @return {?} - */ -function outOfBoundsError(index) { - return Error("Index " + index + " is out-of-bounds."); -} -/** - * Thrown when a multi provider and a regular provider are bound to the same token. - * - * ### Example - * - * ```typescript - * expect(() => Injector.resolveAndCreate([ - * { provide: "Strings", useValue: "string1", multi: true}, - * { provide: "Strings", useValue: "string2", multi: false} - * ])).toThrowError(); - * ``` - * @param {?} provider1 - * @param {?} provider2 - * @return {?} - */ -function mixingMultiProvidersWithRegularProvidersError(provider1, provider2) { - return Error("Cannot mix multi providers and regular providers, got: " + provider1 + " " + provider2); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A unique object used for retrieving items from the {\@link ReflectiveInjector}. - * - * Keys have: - * - a system-wide unique `id`. - * - a `token`. - * - * `Key` is used internally by {\@link ReflectiveInjector} because its system-wide unique `id` allows - * the - * injector to store created objects in a more efficient way. - * - * `Key` should not be created directly. {\@link ReflectiveInjector} creates keys automatically when - * resolving - * providers. - * @deprecated No replacement - */ -var ReflectiveKey = (function () { - /** - * Private - */ - function ReflectiveKey(token, id) { - this.token = token; - this.id = id; - if (!token) { - throw new Error('Token must be defined!'); - } - this.displayName = stringify(this.token); - } - /** - * Retrieves a `Key` for a token. - */ - /** - * Retrieves a `Key` for a token. - * @param {?} token - * @return {?} - */ - ReflectiveKey.get = /** - * Retrieves a `Key` for a token. - * @param {?} token - * @return {?} - */ - function (token) { - return _globalKeyRegistry.get(resolveForwardRef(token)); - }; - Object.defineProperty(ReflectiveKey, "numberOfKeys", { - /** - * @returns the number of keys registered in the system. - */ - get: /** - * @return {?} the number of keys registered in the system. - */ - function () { return _globalKeyRegistry.numberOfKeys; }, - enumerable: true, - configurable: true - }); - return ReflectiveKey; -}()); -/** - * \@internal - */ -var KeyRegistry = (function () { - function KeyRegistry() { - this._allKeys = new Map(); - } - /** - * @param {?} token - * @return {?} - */ - KeyRegistry.prototype.get = /** - * @param {?} token - * @return {?} - */ - function (token) { - if (token instanceof ReflectiveKey) - return token; - if (this._allKeys.has(token)) { - return /** @type {?} */ ((this._allKeys.get(token))); - } - var /** @type {?} */ newKey = new ReflectiveKey(token, ReflectiveKey.numberOfKeys); - this._allKeys.set(token, newKey); - return newKey; - }; - Object.defineProperty(KeyRegistry.prototype, "numberOfKeys", { - get: /** - * @return {?} - */ - function () { return this._allKeys.size; }, - enumerable: true, - configurable: true - }); - return KeyRegistry; -}()); -var _globalKeyRegistry = new KeyRegistry(); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * \@whatItDoes Represents a type that a Component or other object is instances of. - * - * \@description - * - * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by - * the `MyCustomComponent` constructor function. - * - * \@stable - */ -var Type = Function; -/** - * @param {?} v - * @return {?} - */ -function isType(v) { - return typeof v === 'function'; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Attention: This regex has to hold even if the code is minified! - */ -var DELEGATE_CTOR = /^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/; -var ReflectionCapabilities = (function () { - function ReflectionCapabilities(reflect) { - this._reflect = reflect || _global['Reflect']; - } - /** - * @return {?} - */ - ReflectionCapabilities.prototype.isReflectionEnabled = /** - * @return {?} - */ - function () { return true; }; - /** - * @template T - * @param {?} t - * @return {?} - */ - ReflectionCapabilities.prototype.factory = /** - * @template T - * @param {?} t - * @return {?} - */ - function (t) { return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return new (t.bind.apply(t, [void 0].concat(args)))(); - }; }; - /** @internal */ - /** - * \@internal - * @param {?} paramTypes - * @param {?} paramAnnotations - * @return {?} - */ - ReflectionCapabilities.prototype._zipTypesAndAnnotations = /** - * \@internal - * @param {?} paramTypes - * @param {?} paramAnnotations - * @return {?} - */ - function (paramTypes, paramAnnotations) { - var /** @type {?} */ result; - if (typeof paramTypes === 'undefined') { - result = new Array(paramAnnotations.length); - } - else { - result = new Array(paramTypes.length); - } - for (var /** @type {?} */ i = 0; i < result.length; i++) { - // TS outputs Object for parameters without types, while Traceur omits - // the annotations. For now we preserve the Traceur behavior to aid - // migration, but this can be revisited. - if (typeof paramTypes === 'undefined') { - result[i] = []; - } - else if (paramTypes[i] != Object) { - result[i] = [paramTypes[i]]; - } - else { - result[i] = []; - } - if (paramAnnotations && paramAnnotations[i] != null) { - result[i] = result[i].concat(paramAnnotations[i]); - } - } - return result; - }; - /** - * @param {?} type - * @param {?} parentCtor - * @return {?} - */ - ReflectionCapabilities.prototype._ownParameters = /** - * @param {?} type - * @param {?} parentCtor - * @return {?} - */ - function (type, parentCtor) { - // If we have no decorators, we only have function.length as metadata. - // In that case, to detect whether a child class declared an own constructor or not, - // we need to look inside of that constructor to check whether it is - // just calling the parent. - // This also helps to work around for https://github.com/Microsoft/TypeScript/issues/12439 - // that sets 'design:paramtypes' to [] - // if a class inherits from another class but has no ctor declared itself. - if (DELEGATE_CTOR.exec(type.toString())) { - return null; - } - // Prefer the direct API. - if ((/** @type {?} */ (type)).parameters && (/** @type {?} */ (type)).parameters !== parentCtor.parameters) { - return (/** @type {?} */ (type)).parameters; - } - // API of tsickle for lowering decorators to properties on the class. - var /** @type {?} */ tsickleCtorParams = (/** @type {?} */ (type)).ctorParameters; - if (tsickleCtorParams && tsickleCtorParams !== parentCtor.ctorParameters) { - // Newer tsickle uses a function closure - // Retain the non-function case for compatibility with older tsickle - var /** @type {?} */ ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams; - var /** @type {?} */ paramTypes_1 = ctorParameters.map(function (ctorParam) { return ctorParam && ctorParam.type; }); - var /** @type {?} */ paramAnnotations_1 = ctorParameters.map(function (ctorParam) { - return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators); - }); - return this._zipTypesAndAnnotations(paramTypes_1, paramAnnotations_1); - } - // API for metadata created by invoking the decorators. - var /** @type {?} */ paramAnnotations = type.hasOwnProperty(PARAMETERS) && (/** @type {?} */ (type))[PARAMETERS]; - var /** @type {?} */ paramTypes = this._reflect && this._reflect.getOwnMetadata && - this._reflect.getOwnMetadata('design:paramtypes', type); - if (paramTypes || paramAnnotations) { - return this._zipTypesAndAnnotations(paramTypes, paramAnnotations); - } - // If a class has no decorators, at least create metadata - // based on function.length. - // Note: We know that this is a real constructor as we checked - // the content of the constructor above. - return new Array((/** @type {?} */ (type.length))).fill(undefined); - }; - /** - * @param {?} type - * @return {?} - */ - ReflectionCapabilities.prototype.parameters = /** - * @param {?} type - * @return {?} - */ - function (type) { - // Note: only report metadata if we have at least one class decorator - // to stay in sync with the static reflector. - if (!isType(type)) { - return []; - } - var /** @type {?} */ parentCtor = getParentCtor(type); - var /** @type {?} */ parameters = this._ownParameters(type, parentCtor); - if (!parameters && parentCtor !== Object) { - parameters = this.parameters(parentCtor); - } - return parameters || []; - }; - /** - * @param {?} typeOrFunc - * @param {?} parentCtor - * @return {?} - */ - ReflectionCapabilities.prototype._ownAnnotations = /** - * @param {?} typeOrFunc - * @param {?} parentCtor - * @return {?} - */ - function (typeOrFunc, parentCtor) { - // Prefer the direct API. - if ((/** @type {?} */ (typeOrFunc)).annotations && (/** @type {?} */ (typeOrFunc)).annotations !== parentCtor.annotations) { - var /** @type {?} */ annotations = (/** @type {?} */ (typeOrFunc)).annotations; - if (typeof annotations === 'function' && annotations.annotations) { - annotations = annotations.annotations; - } - return annotations; - } - // API of tsickle for lowering decorators to properties on the class. - if ((/** @type {?} */ (typeOrFunc)).decorators && (/** @type {?} */ (typeOrFunc)).decorators !== parentCtor.decorators) { - return convertTsickleDecoratorIntoMetadata((/** @type {?} */ (typeOrFunc)).decorators); - } - // API for metadata created by invoking the decorators. - if (typeOrFunc.hasOwnProperty(ANNOTATIONS)) { - return (/** @type {?} */ (typeOrFunc))[ANNOTATIONS]; - } - return null; - }; - /** - * @param {?} typeOrFunc - * @return {?} - */ - ReflectionCapabilities.prototype.annotations = /** - * @param {?} typeOrFunc - * @return {?} - */ - function (typeOrFunc) { - if (!isType(typeOrFunc)) { - return []; - } - var /** @type {?} */ parentCtor = getParentCtor(typeOrFunc); - var /** @type {?} */ ownAnnotations = this._ownAnnotations(typeOrFunc, parentCtor) || []; - var /** @type {?} */ parentAnnotations = parentCtor !== Object ? this.annotations(parentCtor) : []; - return parentAnnotations.concat(ownAnnotations); - }; - /** - * @param {?} typeOrFunc - * @param {?} parentCtor - * @return {?} - */ - ReflectionCapabilities.prototype._ownPropMetadata = /** - * @param {?} typeOrFunc - * @param {?} parentCtor - * @return {?} - */ - function (typeOrFunc, parentCtor) { - // Prefer the direct API. - if ((/** @type {?} */ (typeOrFunc)).propMetadata && - (/** @type {?} */ (typeOrFunc)).propMetadata !== parentCtor.propMetadata) { - var /** @type {?} */ propMetadata = (/** @type {?} */ (typeOrFunc)).propMetadata; - if (typeof propMetadata === 'function' && propMetadata.propMetadata) { - propMetadata = propMetadata.propMetadata; - } - return propMetadata; - } - // API of tsickle for lowering decorators to properties on the class. - if ((/** @type {?} */ (typeOrFunc)).propDecorators && - (/** @type {?} */ (typeOrFunc)).propDecorators !== parentCtor.propDecorators) { - var /** @type {?} */ propDecorators_1 = (/** @type {?} */ (typeOrFunc)).propDecorators; - var /** @type {?} */ propMetadata_1 = /** @type {?} */ ({}); - Object.keys(propDecorators_1).forEach(function (prop) { - propMetadata_1[prop] = convertTsickleDecoratorIntoMetadata(propDecorators_1[prop]); - }); - return propMetadata_1; - } - // API for metadata created by invoking the decorators. - if (typeOrFunc.hasOwnProperty(PROP_METADATA)) { - return (/** @type {?} */ (typeOrFunc))[PROP_METADATA]; - } - return null; - }; - /** - * @param {?} typeOrFunc - * @return {?} - */ - ReflectionCapabilities.prototype.propMetadata = /** - * @param {?} typeOrFunc - * @return {?} - */ - function (typeOrFunc) { - if (!isType(typeOrFunc)) { - return {}; - } - var /** @type {?} */ parentCtor = getParentCtor(typeOrFunc); - var /** @type {?} */ propMetadata = {}; - if (parentCtor !== Object) { - var /** @type {?} */ parentPropMetadata_1 = this.propMetadata(parentCtor); - Object.keys(parentPropMetadata_1).forEach(function (propName) { - propMetadata[propName] = parentPropMetadata_1[propName]; - }); - } - var /** @type {?} */ ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor); - if (ownPropMetadata) { - Object.keys(ownPropMetadata).forEach(function (propName) { - var /** @type {?} */ decorators = []; - if (propMetadata.hasOwnProperty(propName)) { - decorators.push.apply(decorators, propMetadata[propName]); - } - decorators.push.apply(decorators, ownPropMetadata[propName]); - propMetadata[propName] = decorators; - }); - } - return propMetadata; - }; - /** - * @param {?} type - * @param {?} lcProperty - * @return {?} - */ - ReflectionCapabilities.prototype.hasLifecycleHook = /** - * @param {?} type - * @param {?} lcProperty - * @return {?} - */ - function (type, lcProperty) { - return type instanceof Type && lcProperty in type.prototype; - }; - /** - * @param {?} name - * @return {?} - */ - ReflectionCapabilities.prototype.getter = /** - * @param {?} name - * @return {?} - */ - function (name) { return /** @type {?} */ (new Function('o', 'return o.' + name + ';')); }; - /** - * @param {?} name - * @return {?} - */ - ReflectionCapabilities.prototype.setter = /** - * @param {?} name - * @return {?} - */ - function (name) { - return /** @type {?} */ (new Function('o', 'v', 'return o.' + name + ' = v;')); - }; - /** - * @param {?} name - * @return {?} - */ - ReflectionCapabilities.prototype.method = /** - * @param {?} name - * @return {?} - */ - function (name) { - var /** @type {?} */ functionBody = "if (!o." + name + ") throw new Error('\"" + name + "\" is undefined');\n return o." + name + ".apply(o, args);"; - return /** @type {?} */ (new Function('o', 'args', functionBody)); - }; - // There is not a concept of import uri in Js, but this is useful in developing Dart applications. - /** - * @param {?} type - * @return {?} - */ - ReflectionCapabilities.prototype.importUri = /** - * @param {?} type - * @return {?} - */ - function (type) { - // StaticSymbol - if (typeof type === 'object' && type['filePath']) { - return type['filePath']; - } - // Runtime type - return "./" + stringify(type); - }; - /** - * @param {?} type - * @return {?} - */ - ReflectionCapabilities.prototype.resourceUri = /** - * @param {?} type - * @return {?} - */ - function (type) { return "./" + stringify(type); }; - /** - * @param {?} name - * @param {?} moduleUrl - * @param {?} members - * @param {?} runtime - * @return {?} - */ - ReflectionCapabilities.prototype.resolveIdentifier = /** - * @param {?} name - * @param {?} moduleUrl - * @param {?} members - * @param {?} runtime - * @return {?} - */ - function (name, moduleUrl, members, runtime) { - return runtime; - }; - /** - * @param {?} enumIdentifier - * @param {?} name - * @return {?} - */ - ReflectionCapabilities.prototype.resolveEnum = /** - * @param {?} enumIdentifier - * @param {?} name - * @return {?} - */ - function (enumIdentifier, name) { return enumIdentifier[name]; }; - return ReflectionCapabilities; -}()); -/** - * @param {?} decoratorInvocations - * @return {?} - */ -function convertTsickleDecoratorIntoMetadata(decoratorInvocations) { - if (!decoratorInvocations) { - return []; - } - return decoratorInvocations.map(function (decoratorInvocation) { - var /** @type {?} */ decoratorType = decoratorInvocation.type; - var /** @type {?} */ annotationCls = decoratorType.annotationCls; - var /** @type {?} */ annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : []; - return new (annotationCls.bind.apply(annotationCls, [void 0].concat(annotationArgs)))(); - }); -} -/** - * @param {?} ctor - * @return {?} - */ -function getParentCtor(ctor) { - var /** @type {?} */ parentProto = Object.getPrototypeOf(ctor.prototype); - var /** @type {?} */ parentCtor = parentProto ? parentProto.constructor : null; - // Note: We always use `Object` as the null value - // to simplify checking later on. - return parentCtor || Object; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Provides access to reflection data about symbols. Used internally by Angular - * to power dependency injection and compilation. - */ -var Reflector = (function () { - function Reflector(reflectionCapabilities) { - this.reflectionCapabilities = reflectionCapabilities; - } - /** - * @param {?} caps - * @return {?} - */ - Reflector.prototype.updateCapabilities = /** - * @param {?} caps - * @return {?} - */ - function (caps) { this.reflectionCapabilities = caps; }; - /** - * @param {?} type - * @return {?} - */ - Reflector.prototype.factory = /** - * @param {?} type - * @return {?} - */ - function (type) { return this.reflectionCapabilities.factory(type); }; - /** - * @param {?} typeOrFunc - * @return {?} - */ - Reflector.prototype.parameters = /** - * @param {?} typeOrFunc - * @return {?} - */ - function (typeOrFunc) { - return this.reflectionCapabilities.parameters(typeOrFunc); - }; - /** - * @param {?} typeOrFunc - * @return {?} - */ - Reflector.prototype.annotations = /** - * @param {?} typeOrFunc - * @return {?} - */ - function (typeOrFunc) { - return this.reflectionCapabilities.annotations(typeOrFunc); - }; - /** - * @param {?} typeOrFunc - * @return {?} - */ - Reflector.prototype.propMetadata = /** - * @param {?} typeOrFunc - * @return {?} - */ - function (typeOrFunc) { - return this.reflectionCapabilities.propMetadata(typeOrFunc); - }; - /** - * @param {?} type - * @param {?} lcProperty - * @return {?} - */ - Reflector.prototype.hasLifecycleHook = /** - * @param {?} type - * @param {?} lcProperty - * @return {?} - */ - function (type, lcProperty) { - return this.reflectionCapabilities.hasLifecycleHook(type, lcProperty); - }; - /** - * @param {?} name - * @return {?} - */ - Reflector.prototype.getter = /** - * @param {?} name - * @return {?} - */ - function (name) { return this.reflectionCapabilities.getter(name); }; - /** - * @param {?} name - * @return {?} - */ - Reflector.prototype.setter = /** - * @param {?} name - * @return {?} - */ - function (name) { return this.reflectionCapabilities.setter(name); }; - /** - * @param {?} name - * @return {?} - */ - Reflector.prototype.method = /** - * @param {?} name - * @return {?} - */ - function (name) { return this.reflectionCapabilities.method(name); }; - /** - * @param {?} type - * @return {?} - */ - Reflector.prototype.importUri = /** - * @param {?} type - * @return {?} - */ - function (type) { return this.reflectionCapabilities.importUri(type); }; - /** - * @param {?} type - * @return {?} - */ - Reflector.prototype.resourceUri = /** - * @param {?} type - * @return {?} - */ - function (type) { return this.reflectionCapabilities.resourceUri(type); }; - /** - * @param {?} name - * @param {?} moduleUrl - * @param {?} members - * @param {?} runtime - * @return {?} - */ - Reflector.prototype.resolveIdentifier = /** - * @param {?} name - * @param {?} moduleUrl - * @param {?} members - * @param {?} runtime - * @return {?} - */ - function (name, moduleUrl, members, runtime) { - return this.reflectionCapabilities.resolveIdentifier(name, moduleUrl, members, runtime); - }; - /** - * @param {?} identifier - * @param {?} name - * @return {?} - */ - Reflector.prototype.resolveEnum = /** - * @param {?} identifier - * @param {?} name - * @return {?} - */ - function (identifier, name) { - return this.reflectionCapabilities.resolveEnum(identifier, name); - }; - return Reflector; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * The {\@link Reflector} used internally in Angular to access metadata - * about symbols. - */ -var reflector = new Reflector(new ReflectionCapabilities()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * `Dependency` is used by the framework to extend DI. - * This is internal to Angular and should not be used directly. - */ -var ReflectiveDependency = (function () { - function ReflectiveDependency(key, optional, visibility) { - this.key = key; - this.optional = optional; - this.visibility = visibility; - } - /** - * @param {?} key - * @return {?} - */ - ReflectiveDependency.fromKey = /** - * @param {?} key - * @return {?} - */ - function (key) { - return new ReflectiveDependency(key, false, null); - }; - return ReflectiveDependency; -}()); -var _EMPTY_LIST = []; -/** - * An internal resolved representation of a {\@link Provider} used by the {\@link Injector}. - * - * It is usually created automatically by `Injector.resolveAndCreate`. - * - * It can be created manually, as follows: - * - * ### Example ([live demo](http://plnkr.co/edit/RfEnhh8kUEI0G3qsnIeT?p%3Dpreview&p=preview)) - * - * ```typescript - * var resolvedProviders = Injector.resolve([{ provide: 'message', useValue: 'Hello' }]); - * var injector = Injector.fromResolvedProviders(resolvedProviders); - * - * expect(injector.get('message')).toEqual('Hello'); - * ``` - * - * \@experimental - * @record - */ - -var ResolvedReflectiveProvider_ = (function () { - function ResolvedReflectiveProvider_(key, resolvedFactories, multiProvider) { - this.key = key; - this.resolvedFactories = resolvedFactories; - this.multiProvider = multiProvider; - } - Object.defineProperty(ResolvedReflectiveProvider_.prototype, "resolvedFactory", { - get: /** - * @return {?} - */ - function () { return this.resolvedFactories[0]; }, - enumerable: true, - configurable: true - }); - return ResolvedReflectiveProvider_; -}()); -/** - * An internal resolved representation of a factory function created by resolving {\@link - * Provider}. - * \@experimental - */ -var ResolvedReflectiveFactory = (function () { - function ResolvedReflectiveFactory(factory, dependencies) { - this.factory = factory; - this.dependencies = dependencies; - } - return ResolvedReflectiveFactory; -}()); -/** - * Resolve a single provider. - * @param {?} provider - * @return {?} - */ -function resolveReflectiveFactory(provider) { - var /** @type {?} */ factoryFn; - var /** @type {?} */ resolvedDeps; - if (provider.useClass) { - var /** @type {?} */ useClass = resolveForwardRef(provider.useClass); - factoryFn = reflector.factory(useClass); - resolvedDeps = _dependenciesFor(useClass); - } - else if (provider.useExisting) { - factoryFn = function (aliasInstance) { return aliasInstance; }; - resolvedDeps = [ReflectiveDependency.fromKey(ReflectiveKey.get(provider.useExisting))]; - } - else if (provider.useFactory) { - factoryFn = provider.useFactory; - resolvedDeps = constructDependencies(provider.useFactory, provider.deps); - } - else { - factoryFn = function () { return provider.useValue; }; - resolvedDeps = _EMPTY_LIST; - } - return new ResolvedReflectiveFactory(factoryFn, resolvedDeps); -} -/** - * Converts the {\@link Provider} into {\@link ResolvedProvider}. - * - * {\@link Injector} internally only uses {\@link ResolvedProvider}, {\@link Provider} contains - * convenience provider syntax. - * @param {?} provider - * @return {?} - */ -function resolveReflectiveProvider(provider) { - return new ResolvedReflectiveProvider_(ReflectiveKey.get(provider.provide), [resolveReflectiveFactory(provider)], provider.multi || false); -} -/** - * Resolve a list of Providers. - * @param {?} providers - * @return {?} - */ -function resolveReflectiveProviders(providers) { - var /** @type {?} */ normalized = _normalizeProviders(providers, []); - var /** @type {?} */ resolved = normalized.map(resolveReflectiveProvider); - var /** @type {?} */ resolvedProviderMap = mergeResolvedReflectiveProviders(resolved, new Map()); - return Array.from(resolvedProviderMap.values()); -} -/** - * Merges a list of ResolvedProviders into a list where - * each key is contained exactly once and multi providers - * have been merged. - * @param {?} providers - * @param {?} normalizedProvidersMap - * @return {?} - */ -function mergeResolvedReflectiveProviders(providers, normalizedProvidersMap) { - for (var /** @type {?} */ i = 0; i < providers.length; i++) { - var /** @type {?} */ provider = providers[i]; - var /** @type {?} */ existing = normalizedProvidersMap.get(provider.key.id); - if (existing) { - if (provider.multiProvider !== existing.multiProvider) { - throw mixingMultiProvidersWithRegularProvidersError(existing, provider); - } - if (provider.multiProvider) { - for (var /** @type {?} */ j = 0; j < provider.resolvedFactories.length; j++) { - existing.resolvedFactories.push(provider.resolvedFactories[j]); - } - } - else { - normalizedProvidersMap.set(provider.key.id, provider); - } - } - else { - var /** @type {?} */ resolvedProvider = void 0; - if (provider.multiProvider) { - resolvedProvider = new ResolvedReflectiveProvider_(provider.key, provider.resolvedFactories.slice(), provider.multiProvider); - } - else { - resolvedProvider = provider; - } - normalizedProvidersMap.set(provider.key.id, resolvedProvider); - } - } - return normalizedProvidersMap; -} -/** - * @param {?} providers - * @param {?} res - * @return {?} - */ -function _normalizeProviders(providers, res) { - providers.forEach(function (b) { - if (b instanceof Type) { - res.push({ provide: b, useClass: b }); - } - else if (b && typeof b == 'object' && (/** @type {?} */ (b)).provide !== undefined) { - res.push(/** @type {?} */ (b)); - } - else if (b instanceof Array) { - _normalizeProviders(b, res); - } - else { - throw invalidProviderError(b); - } - }); - return res; -} -/** - * @param {?} typeOrFunc - * @param {?=} dependencies - * @return {?} - */ -function constructDependencies(typeOrFunc, dependencies) { - if (!dependencies) { - return _dependenciesFor(typeOrFunc); - } - else { - var /** @type {?} */ params_1 = dependencies.map(function (t) { return [t]; }); - return dependencies.map(function (t) { return _extractToken(typeOrFunc, t, params_1); }); - } -} -/** - * @param {?} typeOrFunc - * @return {?} - */ -function _dependenciesFor(typeOrFunc) { - var /** @type {?} */ params = reflector.parameters(typeOrFunc); - if (!params) - return []; - if (params.some(function (p) { return p == null; })) { - throw noAnnotationError(typeOrFunc, params); - } - return params.map(function (p) { return _extractToken(typeOrFunc, p, params); }); -} -/** - * @param {?} typeOrFunc - * @param {?} metadata - * @param {?} params - * @return {?} - */ -function _extractToken(typeOrFunc, metadata, params) { - var /** @type {?} */ token = null; - var /** @type {?} */ optional = false; - if (!Array.isArray(metadata)) { - if (metadata instanceof Inject) { - return _createDependency(metadata.token, optional, null); - } - else { - return _createDependency(metadata, optional, null); - } - } - var /** @type {?} */ visibility = null; - for (var /** @type {?} */ i = 0; i < metadata.length; ++i) { - var /** @type {?} */ paramMetadata = metadata[i]; - if (paramMetadata instanceof Type) { - token = paramMetadata; - } - else if (paramMetadata instanceof Inject) { - token = paramMetadata.token; - } - else if (paramMetadata instanceof Optional) { - optional = true; - } - else if (paramMetadata instanceof Self || paramMetadata instanceof SkipSelf) { - visibility = paramMetadata; - } - else if (paramMetadata instanceof InjectionToken) { - token = paramMetadata; - } - } - token = resolveForwardRef(token); - if (token != null) { - return _createDependency(token, optional, visibility); - } - else { - throw noAnnotationError(typeOrFunc, params); - } -} -/** - * @param {?} token - * @param {?} optional - * @param {?} visibility - * @return {?} - */ -function _createDependency(token, optional, visibility) { - return new ReflectiveDependency(ReflectiveKey.get(token), optional, visibility); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// Threshold for the dynamic version -var UNDEFINED = new Object(); -/** - * A ReflectiveDependency injection container used for instantiating objects and resolving - * dependencies. - * - * An `Injector` is a replacement for a `new` operator, which can automatically resolve the - * constructor dependencies. - * - * In typical use, application code asks for the dependencies in the constructor and they are - * resolved by the `Injector`. - * - * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview)) - * - * The following example creates an `Injector` configured to create `Engine` and `Car`. - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]); - * var car = injector.get(Car); - * expect(car instanceof Car).toBe(true); - * expect(car.engine instanceof Engine).toBe(true); - * ``` - * - * Notice, we don't use the `new` operator because we explicitly want to have the `Injector` - * resolve all of the object's dependencies automatically. - * - * @deprecated from v5 - slow and brings in a lot of code, Use `Injector.create` instead. - * @abstract - */ -var ReflectiveInjector = (function () { - function ReflectiveInjector() { - } - /** - * Turns an array of provider definitions into an array of resolved providers. - * - * A resolution is a process of flattening multiple nested arrays and converting individual - * providers into an array of {@link ResolvedReflectiveProvider}s. - * - * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview)) - * - * ```typescript - * @Injectable() - * class Engine { - * } - * - * @Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]); - * - * expect(providers.length).toEqual(2); - * - * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true); - * expect(providers[0].key.displayName).toBe("Car"); - * expect(providers[0].dependencies.length).toEqual(1); - * expect(providers[0].factory).toBeDefined(); - * - * expect(providers[1].key.displayName).toBe("Engine"); - * }); - * ``` - * - * See {@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info. - */ - /** - * Turns an array of provider definitions into an array of resolved providers. - * - * A resolution is a process of flattening multiple nested arrays and converting individual - * providers into an array of {\@link ResolvedReflectiveProvider}s. - * - * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview)) - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]); - * - * expect(providers.length).toEqual(2); - * - * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true); - * expect(providers[0].key.displayName).toBe("Car"); - * expect(providers[0].dependencies.length).toEqual(1); - * expect(providers[0].factory).toBeDefined(); - * - * expect(providers[1].key.displayName).toBe("Engine"); - * }); - * ``` - * - * See {\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info. - * @param {?} providers - * @return {?} - */ - ReflectiveInjector.resolve = /** - * Turns an array of provider definitions into an array of resolved providers. - * - * A resolution is a process of flattening multiple nested arrays and converting individual - * providers into an array of {\@link ResolvedReflectiveProvider}s. - * - * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview)) - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]); - * - * expect(providers.length).toEqual(2); - * - * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true); - * expect(providers[0].key.displayName).toBe("Car"); - * expect(providers[0].dependencies.length).toEqual(1); - * expect(providers[0].factory).toBeDefined(); - * - * expect(providers[1].key.displayName).toBe("Engine"); - * }); - * ``` - * - * See {\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info. - * @param {?} providers - * @return {?} - */ - function (providers) { - return resolveReflectiveProviders(providers); - }; - /** - * Resolves an array of providers and creates an injector from those providers. - * - * The passed-in providers can be an array of `Type`, {@link Provider}, - * or a recursive array of more providers. - * - * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview)) - * - * ```typescript - * @Injectable() - * class Engine { - * } - * - * @Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]); - * expect(injector.get(Car) instanceof Car).toBe(true); - * ``` - * - * This function is slower than the corresponding `fromResolvedProviders` - * because it needs to resolve the passed-in providers first. - * See {@link ReflectiveInjector#resolve resolve} and - * {@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}. - */ - /** - * Resolves an array of providers and creates an injector from those providers. - * - * The passed-in providers can be an array of `Type`, {\@link Provider}, - * or a recursive array of more providers. - * - * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview)) - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]); - * expect(injector.get(Car) instanceof Car).toBe(true); - * ``` - * - * This function is slower than the corresponding `fromResolvedProviders` - * because it needs to resolve the passed-in providers first. - * See {\@link ReflectiveInjector#resolve resolve} and - * {\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}. - * @param {?} providers - * @param {?=} parent - * @return {?} - */ - ReflectiveInjector.resolveAndCreate = /** - * Resolves an array of providers and creates an injector from those providers. - * - * The passed-in providers can be an array of `Type`, {\@link Provider}, - * or a recursive array of more providers. - * - * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview)) - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]); - * expect(injector.get(Car) instanceof Car).toBe(true); - * ``` - * - * This function is slower than the corresponding `fromResolvedProviders` - * because it needs to resolve the passed-in providers first. - * See {\@link ReflectiveInjector#resolve resolve} and - * {\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}. - * @param {?} providers - * @param {?=} parent - * @return {?} - */ - function (providers, parent) { - var /** @type {?} */ ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers); - return ReflectiveInjector.fromResolvedProviders(ResolvedReflectiveProviders, parent); - }; - /** - * Creates an injector from previously resolved providers. - * - * This API is the recommended way to construct injectors in performance-sensitive parts. - * - * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview)) - * - * ```typescript - * @Injectable() - * class Engine { - * } - * - * @Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var providers = ReflectiveInjector.resolve([Car, Engine]); - * var injector = ReflectiveInjector.fromResolvedProviders(providers); - * expect(injector.get(Car) instanceof Car).toBe(true); - * ``` - * @experimental - */ - /** - * Creates an injector from previously resolved providers. - * - * This API is the recommended way to construct injectors in performance-sensitive parts. - * - * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview)) - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var providers = ReflectiveInjector.resolve([Car, Engine]); - * var injector = ReflectiveInjector.fromResolvedProviders(providers); - * expect(injector.get(Car) instanceof Car).toBe(true); - * ``` - * \@experimental - * @param {?} providers - * @param {?=} parent - * @return {?} - */ - ReflectiveInjector.fromResolvedProviders = /** - * Creates an injector from previously resolved providers. - * - * This API is the recommended way to construct injectors in performance-sensitive parts. - * - * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview)) - * - * ```typescript - * \@Injectable() - * class Engine { - * } - * - * \@Injectable() - * class Car { - * constructor(public engine:Engine) {} - * } - * - * var providers = ReflectiveInjector.resolve([Car, Engine]); - * var injector = ReflectiveInjector.fromResolvedProviders(providers); - * expect(injector.get(Car) instanceof Car).toBe(true); - * ``` - * \@experimental - * @param {?} providers - * @param {?=} parent - * @return {?} - */ - function (providers, parent) { - return new ReflectiveInjector_(providers, parent); - }; - return ReflectiveInjector; -}()); -var ReflectiveInjector_ = (function () { - /** - * Private - */ - function ReflectiveInjector_(_providers, _parent) { - /** - * \@internal - */ - this._constructionCounter = 0; - this._providers = _providers; - this.parent = _parent || null; - var /** @type {?} */ len = _providers.length; - this.keyIds = new Array(len); - this.objs = new Array(len); - for (var /** @type {?} */ i = 0; i < len; i++) { - this.keyIds[i] = _providers[i].key.id; - this.objs[i] = UNDEFINED; - } - } - /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - ReflectiveInjector_.prototype.get = /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - function (token, notFoundValue) { - if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; } - return this._getByKey(ReflectiveKey.get(token), null, notFoundValue); - }; - /** - * @param {?} providers - * @return {?} - */ - ReflectiveInjector_.prototype.resolveAndCreateChild = /** - * @param {?} providers - * @return {?} - */ - function (providers) { - var /** @type {?} */ ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers); - return this.createChildFromResolved(ResolvedReflectiveProviders); - }; - /** - * @param {?} providers - * @return {?} - */ - ReflectiveInjector_.prototype.createChildFromResolved = /** - * @param {?} providers - * @return {?} - */ - function (providers) { - var /** @type {?} */ inj = new ReflectiveInjector_(providers); - (/** @type {?} */ (inj)).parent = this; - return inj; - }; - /** - * @param {?} provider - * @return {?} - */ - ReflectiveInjector_.prototype.resolveAndInstantiate = /** - * @param {?} provider - * @return {?} - */ - function (provider) { - return this.instantiateResolved(ReflectiveInjector.resolve([provider])[0]); - }; - /** - * @param {?} provider - * @return {?} - */ - ReflectiveInjector_.prototype.instantiateResolved = /** - * @param {?} provider - * @return {?} - */ - function (provider) { - return this._instantiateProvider(provider); - }; - /** - * @param {?} index - * @return {?} - */ - ReflectiveInjector_.prototype.getProviderAtIndex = /** - * @param {?} index - * @return {?} - */ - function (index) { - if (index < 0 || index >= this._providers.length) { - throw outOfBoundsError(index); - } - return this._providers[index]; - }; - /** @internal */ - /** - * \@internal - * @param {?} provider - * @return {?} - */ - ReflectiveInjector_.prototype._new = /** - * \@internal - * @param {?} provider - * @return {?} - */ - function (provider) { - if (this._constructionCounter++ > this._getMaxNumberOfObjects()) { - throw cyclicDependencyError(this, provider.key); - } - return this._instantiateProvider(provider); - }; - /** - * @return {?} - */ - ReflectiveInjector_.prototype._getMaxNumberOfObjects = /** - * @return {?} - */ - function () { return this.objs.length; }; - /** - * @param {?} provider - * @return {?} - */ - ReflectiveInjector_.prototype._instantiateProvider = /** - * @param {?} provider - * @return {?} - */ - function (provider) { - if (provider.multiProvider) { - var /** @type {?} */ res = new Array(provider.resolvedFactories.length); - for (var /** @type {?} */ i = 0; i < provider.resolvedFactories.length; ++i) { - res[i] = this._instantiate(provider, provider.resolvedFactories[i]); - } - return res; - } - else { - return this._instantiate(provider, provider.resolvedFactories[0]); - } - }; - /** - * @param {?} provider - * @param {?} ResolvedReflectiveFactory - * @return {?} - */ - ReflectiveInjector_.prototype._instantiate = /** - * @param {?} provider - * @param {?} ResolvedReflectiveFactory - * @return {?} - */ - function (provider, ResolvedReflectiveFactory$$1) { - var _this = this; - var /** @type {?} */ factory = ResolvedReflectiveFactory$$1.factory; - var /** @type {?} */ deps; - try { - deps = - ResolvedReflectiveFactory$$1.dependencies.map(function (dep) { return _this._getByReflectiveDependency(dep); }); - } - catch (/** @type {?} */ e) { - if (e.addKey) { - e.addKey(this, provider.key); - } - throw e; - } - var /** @type {?} */ obj; - try { - obj = factory.apply(void 0, deps); - } - catch (/** @type {?} */ e) { - throw instantiationError(this, e, e.stack, provider.key); - } - return obj; - }; - /** - * @param {?} dep - * @return {?} - */ - ReflectiveInjector_.prototype._getByReflectiveDependency = /** - * @param {?} dep - * @return {?} - */ - function (dep) { - return this._getByKey(dep.key, dep.visibility, dep.optional ? null : THROW_IF_NOT_FOUND); - }; - /** - * @param {?} key - * @param {?} visibility - * @param {?} notFoundValue - * @return {?} - */ - ReflectiveInjector_.prototype._getByKey = /** - * @param {?} key - * @param {?} visibility - * @param {?} notFoundValue - * @return {?} - */ - function (key, visibility, notFoundValue) { - if (key === ReflectiveInjector_.INJECTOR_KEY) { - return this; - } - if (visibility instanceof Self) { - return this._getByKeySelf(key, notFoundValue); - } - else { - return this._getByKeyDefault(key, notFoundValue, visibility); - } - }; - /** - * @param {?} keyId - * @return {?} - */ - ReflectiveInjector_.prototype._getObjByKeyId = /** - * @param {?} keyId - * @return {?} - */ - function (keyId) { - for (var /** @type {?} */ i = 0; i < this.keyIds.length; i++) { - if (this.keyIds[i] === keyId) { - if (this.objs[i] === UNDEFINED) { - this.objs[i] = this._new(this._providers[i]); - } - return this.objs[i]; - } - } - return UNDEFINED; - }; - /** @internal */ - /** - * \@internal - * @param {?} key - * @param {?} notFoundValue - * @return {?} - */ - ReflectiveInjector_.prototype._throwOrNull = /** - * \@internal - * @param {?} key - * @param {?} notFoundValue - * @return {?} - */ - function (key, notFoundValue) { - if (notFoundValue !== THROW_IF_NOT_FOUND) { - return notFoundValue; - } - else { - throw noProviderError(this, key); - } - }; - /** @internal */ - /** - * \@internal - * @param {?} key - * @param {?} notFoundValue - * @return {?} - */ - ReflectiveInjector_.prototype._getByKeySelf = /** - * \@internal - * @param {?} key - * @param {?} notFoundValue - * @return {?} - */ - function (key, notFoundValue) { - var /** @type {?} */ obj = this._getObjByKeyId(key.id); - return (obj !== UNDEFINED) ? obj : this._throwOrNull(key, notFoundValue); - }; - /** @internal */ - /** - * \@internal - * @param {?} key - * @param {?} notFoundValue - * @param {?} visibility - * @return {?} - */ - ReflectiveInjector_.prototype._getByKeyDefault = /** - * \@internal - * @param {?} key - * @param {?} notFoundValue - * @param {?} visibility - * @return {?} - */ - function (key, notFoundValue, visibility) { - var /** @type {?} */ inj; - if (visibility instanceof SkipSelf) { - inj = this.parent; - } - else { - inj = this; - } - while (inj instanceof ReflectiveInjector_) { - var /** @type {?} */ inj_ = /** @type {?} */ (inj); - var /** @type {?} */ obj = inj_._getObjByKeyId(key.id); - if (obj !== UNDEFINED) - return obj; - inj = inj_.parent; - } - if (inj !== null) { - return inj.get(key.token, notFoundValue); - } - else { - return this._throwOrNull(key, notFoundValue); - } - }; - Object.defineProperty(ReflectiveInjector_.prototype, "displayName", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ providers = _mapProviders(this, function (b) { return ' "' + b.key.displayName + '" '; }) - .join(', '); - return "ReflectiveInjector(providers: [" + providers + "])"; - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ReflectiveInjector_.prototype.toString = /** - * @return {?} - */ - function () { return this.displayName; }; - ReflectiveInjector_.INJECTOR_KEY = ReflectiveKey.get(Injector); - return ReflectiveInjector_; -}()); -/** - * @param {?} injector - * @param {?} fn - * @return {?} - */ -function _mapProviders(injector, fn) { - var /** @type {?} */ res = new Array(injector._providers.length); - for (var /** @type {?} */ i = 0; i < injector._providers.length; ++i) { - res[i] = fn(injector.getProviderAtIndex(i)); - } - return res; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @module - * @description - * The `di` module provides dependency injection container services. - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Determine if the argument is shaped like a Promise - * @param {?} obj - * @return {?} - */ -function isPromise(obj) { - // allow any Promise/A+ compliant thenable. - // It's up to the caller to ensure that obj.then conforms to the spec - return !!obj && typeof obj.then === 'function'; -} -/** - * Determine if the argument is an Observable - * @param {?} obj - * @return {?} - */ -function isObservable(obj) { - // TODO use Symbol.observable when https://github.com/ReactiveX/rxjs/issues/2415 will be resolved - return !!obj && typeof obj.subscribe === 'function'; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A function that will be executed when an application is initialized. - * \@experimental - */ -var APP_INITIALIZER = new InjectionToken('Application Initializer'); -/** - * A class that reflects the state of running {\@link APP_INITIALIZER}s. - * - * \@experimental - */ -var ApplicationInitStatus = (function () { - function ApplicationInitStatus(appInits) { - var _this = this; - this.appInits = appInits; - this.initialized = false; - this.done = false; - this.donePromise = new Promise(function (res, rej) { - _this.resolve = res; - _this.reject = rej; - }); - } - /** @internal */ - /** - * \@internal - * @return {?} - */ - ApplicationInitStatus.prototype.runInitializers = /** - * \@internal - * @return {?} - */ - function () { - var _this = this; - if (this.initialized) { - return; - } - var /** @type {?} */ asyncInitPromises = []; - var /** @type {?} */ complete = function () { - (/** @type {?} */ (_this)).done = true; - _this.resolve(); - }; - if (this.appInits) { - for (var /** @type {?} */ i = 0; i < this.appInits.length; i++) { - var /** @type {?} */ initResult = this.appInits[i](); - if (isPromise(initResult)) { - asyncInitPromises.push(initResult); - } - } - } - Promise.all(asyncInitPromises).then(function () { complete(); }).catch(function (e) { _this.reject(e); }); - if (asyncInitPromises.length === 0) { - complete(); - } - this.initialized = true; - }; - ApplicationInitStatus.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - ApplicationInitStatus.ctorParameters = function () { return [ - { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional },] }, - ]; }; - return ApplicationInitStatus; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A DI Token representing a unique string id assigned to the application by Angular and used - * primarily for prefixing application attributes and CSS styles when - * {\@link ViewEncapsulation#Emulated ViewEncapsulation.Emulated} is being used. - * - * If you need to avoid randomly generated value to be used as an application id, you can provide - * a custom value via a DI provider configuring the root {\@link Injector} - * using this token. - * \@experimental - */ -var APP_ID = new InjectionToken('AppId'); -/** - * @return {?} - */ -function _appIdRandomProviderFactory() { - return "" + _randomChar() + _randomChar() + _randomChar(); -} -/** - * Providers that will generate a random APP_ID_TOKEN. - * \@experimental - */ -var APP_ID_RANDOM_PROVIDER = { - provide: APP_ID, - useFactory: _appIdRandomProviderFactory, - deps: /** @type {?} */ ([]), -}; -/** - * @return {?} - */ -function _randomChar() { - return String.fromCharCode(97 + Math.floor(Math.random() * 25)); -} -/** - * A function that will be executed when a platform is initialized. - * \@experimental - */ -var PLATFORM_INITIALIZER = new InjectionToken('Platform Initializer'); -/** - * A token that indicates an opaque platform id. - * \@experimental - */ -var PLATFORM_ID = new InjectionToken('Platform ID'); -/** - * All callbacks provided via this token will be called for every component that is bootstrapped. - * Signature of the callback: - * - * `(componentRef: ComponentRef) => void`. - * - * \@experimental - */ -var APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener'); -/** - * A token which indicates the root directory of the application - * \@experimental - */ -var PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL'); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var Console = (function () { - function Console() { - } - /** - * @param {?} message - * @return {?} - */ - Console.prototype.log = /** - * @param {?} message - * @return {?} - */ - function (message) { - // tslint:disable-next-line:no-console - console.log(message); - }; - // Note: for reporting errors use `DOM.logError()` as it is platform specific - /** - * @param {?} message - * @return {?} - */ - Console.prototype.warn = /** - * @param {?} message - * @return {?} - */ - function (message) { - // tslint:disable-next-line:no-console - console.warn(message); - }; - Console.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - Console.ctorParameters = function () { return []; }; - return Console; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Combination of NgModuleFactory and ComponentFactorys. - * - * \@experimental - */ -var ModuleWithComponentFactories = (function () { - function ModuleWithComponentFactories(ngModuleFactory, componentFactories) { - this.ngModuleFactory = ngModuleFactory; - this.componentFactories = componentFactories; - } - return ModuleWithComponentFactories; -}()); -/** - * @return {?} - */ -function _throwError() { - throw new Error("Runtime compiler is not loaded"); -} -/** - * Low-level service for running the angular compiler during runtime - * to create {\@link ComponentFactory}s, which - * can later be used to create and render a Component instance. - * - * Each `\@NgModule` provides an own `Compiler` to its injector, - * that will use the directives/pipes of the ng module for compilation - * of components. - * \@stable - */ -var Compiler = (function () { - function Compiler() { - } - /** - * Compiles the given NgModule and all of its components. All templates of the components listed - * in `entryComponents` have to be inlined. - */ - /** - * Compiles the given NgModule and all of its components. All templates of the components listed - * in `entryComponents` have to be inlined. - * @template T - * @param {?} moduleType - * @return {?} - */ - Compiler.prototype.compileModuleSync = /** - * Compiles the given NgModule and all of its components. All templates of the components listed - * in `entryComponents` have to be inlined. - * @template T - * @param {?} moduleType - * @return {?} - */ - function (moduleType) { throw _throwError(); }; - /** - * Compiles the given NgModule and all of its components - */ - /** - * Compiles the given NgModule and all of its components - * @template T - * @param {?} moduleType - * @return {?} - */ - Compiler.prototype.compileModuleAsync = /** - * Compiles the given NgModule and all of its components - * @template T - * @param {?} moduleType - * @return {?} - */ - function (moduleType) { throw _throwError(); }; - /** - * Same as {@link #compileModuleSync} but also creates ComponentFactories for all components. - */ - /** - * Same as {\@link #compileModuleSync} but also creates ComponentFactories for all components. - * @template T - * @param {?} moduleType - * @return {?} - */ - Compiler.prototype.compileModuleAndAllComponentsSync = /** - * Same as {\@link #compileModuleSync} but also creates ComponentFactories for all components. - * @template T - * @param {?} moduleType - * @return {?} - */ - function (moduleType) { - throw _throwError(); - }; - /** - * Same as {@link #compileModuleAsync} but also creates ComponentFactories for all components. - */ - /** - * Same as {\@link #compileModuleAsync} but also creates ComponentFactories for all components. - * @template T - * @param {?} moduleType - * @return {?} - */ - Compiler.prototype.compileModuleAndAllComponentsAsync = /** - * Same as {\@link #compileModuleAsync} but also creates ComponentFactories for all components. - * @template T - * @param {?} moduleType - * @return {?} - */ - function (moduleType) { - throw _throwError(); - }; - /** - * Clears all caches. - */ - /** - * Clears all caches. - * @return {?} - */ - Compiler.prototype.clearCache = /** - * Clears all caches. - * @return {?} - */ - function () { }; - /** - * Clears the cache for the given component/ngModule. - */ - /** - * Clears the cache for the given component/ngModule. - * @param {?} type - * @return {?} - */ - Compiler.prototype.clearCacheFor = /** - * Clears the cache for the given component/ngModule. - * @param {?} type - * @return {?} - */ - function (type) { }; - Compiler.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - Compiler.ctorParameters = function () { return []; }; - return Compiler; -}()); -/** - * Token to provide CompilerOptions in the platform injector. - * - * \@experimental - */ -var COMPILER_OPTIONS = new InjectionToken('compilerOptions'); -/** - * A factory for creating a Compiler - * - * \@experimental - * @abstract - */ -var CompilerFactory = (function () { - function CompilerFactory() { - } - return CompilerFactory; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Represents an instance of a Component created via a {\@link ComponentFactory}. - * - * `ComponentRef` provides access to the Component Instance as well other objects related to this - * Component Instance and allows you to destroy the Component Instance via the {\@link #destroy} - * method. - * \@stable - * @abstract - */ -var ComponentRef = (function () { - function ComponentRef() { - } - return ComponentRef; -}()); -/** - * \@stable - * @abstract - */ -var ComponentFactory = (function () { - function ComponentFactory() { - } - return ComponentFactory; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @param {?} component - * @return {?} - */ -function noComponentFactoryError(component) { - var /** @type {?} */ error = Error("No component factory found for " + stringify(component) + ". Did you add it to @NgModule.entryComponents?"); - (/** @type {?} */ (error))[ERROR_COMPONENT] = component; - return error; -} -var ERROR_COMPONENT = 'ngComponent'; -/** - * @param {?} error - * @return {?} - */ - -var _NullComponentFactoryResolver = (function () { - function _NullComponentFactoryResolver() { - } - /** - * @template T - * @param {?} component - * @return {?} - */ - _NullComponentFactoryResolver.prototype.resolveComponentFactory = /** - * @template T - * @param {?} component - * @return {?} - */ - function (component) { - throw noComponentFactoryError(component); - }; - return _NullComponentFactoryResolver; -}()); -/** - * \@stable - * @abstract - */ -var ComponentFactoryResolver = (function () { - function ComponentFactoryResolver() { - } - ComponentFactoryResolver.NULL = new _NullComponentFactoryResolver(); - return ComponentFactoryResolver; -}()); -var CodegenComponentFactoryResolver = (function () { - function CodegenComponentFactoryResolver(factories, _parent, _ngModule) { - this._parent = _parent; - this._ngModule = _ngModule; - this._factories = new Map(); - for (var /** @type {?} */ i = 0; i < factories.length; i++) { - var /** @type {?} */ factory = factories[i]; - this._factories.set(factory.componentType, factory); - } - } - /** - * @template T - * @param {?} component - * @return {?} - */ - CodegenComponentFactoryResolver.prototype.resolveComponentFactory = /** - * @template T - * @param {?} component - * @return {?} - */ - function (component) { - var /** @type {?} */ factory = this._factories.get(component); - if (!factory && this._parent) { - factory = this._parent.resolveComponentFactory(component); - } - if (!factory) { - throw noComponentFactoryError(component); - } - return new ComponentFactoryBoundToModule(factory, this._ngModule); - }; - return CodegenComponentFactoryResolver; -}()); -var ComponentFactoryBoundToModule = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(ComponentFactoryBoundToModule, _super); - function ComponentFactoryBoundToModule(factory, ngModule) { - var _this = _super.call(this) || this; - _this.factory = factory; - _this.ngModule = ngModule; - return _this; - } - Object.defineProperty(ComponentFactoryBoundToModule.prototype, "selector", { - get: /** - * @return {?} - */ - function () { return this.factory.selector; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentFactoryBoundToModule.prototype, "componentType", { - get: /** - * @return {?} - */ - function () { return this.factory.componentType; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentFactoryBoundToModule.prototype, "ngContentSelectors", { - get: /** - * @return {?} - */ - function () { return this.factory.ngContentSelectors; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentFactoryBoundToModule.prototype, "inputs", { - get: /** - * @return {?} - */ - function () { return this.factory.inputs; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentFactoryBoundToModule.prototype, "outputs", { - get: /** - * @return {?} - */ - function () { return this.factory.outputs; }, - enumerable: true, - configurable: true - }); - /** - * @param {?} injector - * @param {?=} projectableNodes - * @param {?=} rootSelectorOrNode - * @param {?=} ngModule - * @return {?} - */ - ComponentFactoryBoundToModule.prototype.create = /** - * @param {?} injector - * @param {?=} projectableNodes - * @param {?=} rootSelectorOrNode - * @param {?=} ngModule - * @return {?} - */ - function (injector, projectableNodes, rootSelectorOrNode, ngModule) { - return this.factory.create(injector, projectableNodes, rootSelectorOrNode, ngModule || this.ngModule); - }; - return ComponentFactoryBoundToModule; -}(ComponentFactory)); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Represents an instance of an NgModule created via a {\@link NgModuleFactory}. - * - * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this - * NgModule Instance. - * - * \@stable - * @abstract - */ -var NgModuleRef = (function () { - function NgModuleRef() { - } - return NgModuleRef; -}()); -/** - * @record - */ - -/** - * \@experimental - * @abstract - */ -var NgModuleFactory = (function () { - function NgModuleFactory() { - } - return NgModuleFactory; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A scope function for the Web Tracing Framework (WTF). - * - * \@experimental - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -var trace; -var events; -/** - * @return {?} - */ -function detectWTF() { - var /** @type {?} */ wtf = (/** @type {?} */ (_global /** TODO #9100 */) /** TODO #9100 */)['wtf']; - if (wtf) { - trace = wtf['trace']; - if (trace) { - events = trace['events']; - return true; - } - } - return false; -} -/** - * @param {?} signature - * @param {?=} flags - * @return {?} - */ -function createScope(signature, flags) { - if (flags === void 0) { flags = null; } - return events.createScope(signature, flags); -} -/** - * @template T - * @param {?} scope - * @param {?=} returnValue - * @return {?} - */ -function leave(scope, returnValue) { - trace.leaveScope(scope, returnValue); - return returnValue; -} -/** - * @param {?} rangeType - * @param {?} action - * @return {?} - */ -function startTimeRange(rangeType, action) { - return trace.beginTimeRange(rangeType, action); -} -/** - * @param {?} range - * @return {?} - */ -function endTimeRange(range) { - trace.endTimeRange(range); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * True if WTF is enabled. - */ -var wtfEnabled = detectWTF(); -/** - * @param {?=} arg0 - * @param {?=} arg1 - * @return {?} - */ -function noopScope(arg0, arg1) { - return null; -} -/** - * Create trace scope. - * - * Scopes must be strictly nested and are analogous to stack frames, but - * do not have to follow the stack frames. Instead it is recommended that they follow logical - * nesting. You may want to use - * [Event - * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events) - * as they are defined in WTF. - * - * Used to mark scope entry. The return value is used to leave the scope. - * - * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)'); - * - * someMethod() { - * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI - * // DO SOME WORK HERE - * return wtfLeave(s, 123); // Return value 123 - * } - * - * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can - * negatively impact the performance of your application. For this reason we recommend that - * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and - * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to - * exception, will produce incorrect trace, but presence of exception signifies logic error which - * needs to be fixed before the app should be profiled. Add try-finally only when you expect that - * an exception is expected during normal execution while profiling. - * - * \@experimental - */ -var wtfCreateScope = wtfEnabled ? createScope : function (signature, flags) { return noopScope; }; -/** - * Used to mark end of Scope. - * - * - `scope` to end. - * - `returnValue` (optional) to be passed to the WTF. - * - * Returns the `returnValue for easy chaining. - * \@experimental - */ -var wtfLeave = wtfEnabled ? leave : function (s, r) { return r; }; -/** - * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested. - * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been - * enabled. - * - * someMethod() { - * var s = wtfStartTimeRange('HTTP:GET', 'some.url'); - * var future = new Future.delay(5).then((_) { - * wtfEndTimeRange(s); - * }); - * } - * \@experimental - */ -var wtfStartTimeRange = wtfEnabled ? startTimeRange : function (rangeType, action) { return null; }; -/** - * Ends a async time range operation. - * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been - * enabled. - * \@experimental - */ -var wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; }; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Use by directives and components to emit custom Events. - * - * ### Examples - * - * In the following example, `Zippy` alternatively emits `open` and `close` events when its - * title gets clicked: - * - * ``` - * \@Component({ - * selector: 'zippy', - * template: ` - *
- *
Toggle
- *
- * - *
- *
`}) - * export class Zippy { - * visible: boolean = true; - * \@Output() open: EventEmitter = new EventEmitter(); - * \@Output() close: EventEmitter = new EventEmitter(); - * - * toggle() { - * this.visible = !this.visible; - * if (this.visible) { - * this.open.emit(null); - * } else { - * this.close.emit(null); - * } - * } - * } - * ``` - * - * The events payload can be accessed by the parameter `$event` on the components output event - * handler: - * - * ``` - * - * ``` - * - * Uses Rx.Observable but provides an adapter to make it work as specified here: - * https://github.com/jhusain/observable-spec - * - * Once a reference implementation of the spec is available, switch to it. - * \@stable - */ -var EventEmitter = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(EventEmitter, _super); - /** - * Creates an instance of {@link EventEmitter}, which depending on `isAsync`, - * delivers events synchronously or asynchronously. - * - * @param isAsync By default, events are delivered synchronously (default value: `false`). - * Set to `true` for asynchronous event delivery. - */ - function EventEmitter(isAsync) { - if (isAsync === void 0) { isAsync = false; } - var _this = _super.call(this) || this; - _this.__isAsync = isAsync; - return _this; - } - /** - * @param {?=} value - * @return {?} - */ - EventEmitter.prototype.emit = /** - * @param {?=} value - * @return {?} - */ - function (value) { _super.prototype.next.call(this, value); }; - /** - * @param {?=} generatorOrNext - * @param {?=} error - * @param {?=} complete - * @return {?} - */ - EventEmitter.prototype.subscribe = /** - * @param {?=} generatorOrNext - * @param {?=} error - * @param {?=} complete - * @return {?} - */ - function (generatorOrNext, error, complete) { - var /** @type {?} */ schedulerFn; - var /** @type {?} */ errorFn = function (err) { return null; }; - var /** @type {?} */ completeFn = function () { return null; }; - if (generatorOrNext && typeof generatorOrNext === 'object') { - schedulerFn = this.__isAsync ? function (value) { - setTimeout(function () { return generatorOrNext.next(value); }); - } : function (value) { generatorOrNext.next(value); }; - if (generatorOrNext.error) { - errorFn = this.__isAsync ? function (err) { setTimeout(function () { return generatorOrNext.error(err); }); } : - function (err) { generatorOrNext.error(err); }; - } - if (generatorOrNext.complete) { - completeFn = this.__isAsync ? function () { setTimeout(function () { return generatorOrNext.complete(); }); } : - function () { generatorOrNext.complete(); }; - } - } - else { - schedulerFn = this.__isAsync ? function (value) { setTimeout(function () { return generatorOrNext(value); }); } : - function (value) { generatorOrNext(value); }; - if (error) { - errorFn = - this.__isAsync ? function (err) { setTimeout(function () { return error(err); }); } : function (err) { error(err); }; - } - if (complete) { - completeFn = - this.__isAsync ? function () { setTimeout(function () { return complete(); }); } : function () { complete(); }; - } - } - return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn); - }; - return EventEmitter; -}(__WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__["Subject"])); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * An injectable service for executing work inside or outside of the Angular zone. - * - * The most common use of this service is to optimize performance when starting a work consisting of - * one or more asynchronous tasks that don't require UI updates or error handling to be handled by - * Angular. Such tasks can be kicked off via {\@link #runOutsideAngular} and if needed, these tasks - * can reenter the Angular zone via {\@link #run}. - * - * - * - * ### Example - * - * ``` - * import {Component, NgZone} from '\@angular/core'; - * import {NgIf} from '\@angular/common'; - * - * \@Component({ - * selector: 'ng-zone-demo'. - * template: ` - *

Demo: NgZone

- * - *

Progress: {{progress}}%

- *

Done processing {{label}} of Angular zone!

- * - * - * - * `, - * }) - * export class NgZoneDemo { - * progress: number = 0; - * label: string; - * - * constructor(private _ngZone: NgZone) {} - * - * // Loop inside the Angular zone - * // so the UI DOES refresh after each setTimeout cycle - * processWithinAngularZone() { - * this.label = 'inside'; - * this.progress = 0; - * this._increaseProgress(() => console.log('Inside Done!')); - * } - * - * // Loop outside of the Angular zone - * // so the UI DOES NOT refresh after each setTimeout cycle - * processOutsideOfAngularZone() { - * this.label = 'outside'; - * this.progress = 0; - * this._ngZone.runOutsideAngular(() => { - * this._increaseProgress(() => { - * // reenter the Angular zone and display done - * this._ngZone.run(() => {console.log('Outside Done!') }); - * }})); - * } - * - * _increaseProgress(doneCallback: () => void) { - * this.progress += 1; - * console.log(`Current progress: ${this.progress}%`); - * - * if (this.progress < 100) { - * window.setTimeout(() => this._increaseProgress(doneCallback)), 10) - * } else { - * doneCallback(); - * } - * } - * } - * ``` - * - * \@experimental - */ -var NgZone = (function () { - function NgZone(_a) { - var _b = _a.enableLongStackTrace, enableLongStackTrace = _b === void 0 ? false : _b; - this.hasPendingMicrotasks = false; - this.hasPendingMacrotasks = false; - /** - * Whether there are no outstanding microtasks or macrotasks. - */ - this.isStable = true; - /** - * Notifies when code enters Angular Zone. This gets fired first on VM Turn. - */ - this.onUnstable = new EventEmitter(false); - /** - * Notifies when there is no more microtasks enqueued in the current VM Turn. - * This is a hint for Angular to do change detection, which may enqueue more microtasks. - * For this reason this event can fire multiple times per VM Turn. - */ - this.onMicrotaskEmpty = new EventEmitter(false); - /** - * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which - * implies we are about to relinquish VM turn. - * This event gets called just once. - */ - this.onStable = new EventEmitter(false); - /** - * Notifies that an error has been delivered. - */ - this.onError = new EventEmitter(false); - if (typeof Zone == 'undefined') { - throw new Error("In this configuration Angular requires Zone.js"); - } - Zone.assertZonePatched(); - var /** @type {?} */ self = /** @type {?} */ ((this)); - self._nesting = 0; - self._outer = self._inner = Zone.current; - if ((/** @type {?} */ (Zone))['wtfZoneSpec']) { - self._inner = self._inner.fork((/** @type {?} */ (Zone))['wtfZoneSpec']); - } - if (enableLongStackTrace && (/** @type {?} */ (Zone))['longStackTraceZoneSpec']) { - self._inner = self._inner.fork((/** @type {?} */ (Zone))['longStackTraceZoneSpec']); - } - forkInnerZoneWithAngularBehavior(self); - } - /** - * @return {?} - */ - NgZone.isInAngularZone = /** - * @return {?} - */ - function () { return Zone.current.get('isAngularZone') === true; }; - /** - * @return {?} - */ - NgZone.assertInAngularZone = /** - * @return {?} - */ - function () { - if (!NgZone.isInAngularZone()) { - throw new Error('Expected to be in Angular Zone, but it is not!'); - } - }; - /** - * @return {?} - */ - NgZone.assertNotInAngularZone = /** - * @return {?} - */ - function () { - if (NgZone.isInAngularZone()) { - throw new Error('Expected to not be in Angular Zone, but it is!'); - } - }; - /** - * Executes the `fn` function synchronously within the Angular zone and returns value returned by - * the function. - * - * Running functions via `run` allows you to reenter Angular zone from a task that was executed - * outside of the Angular zone (typically started via {@link #runOutsideAngular}). - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * within the Angular zone. - * - * If a synchronous error happens it will be rethrown and not reported via `onError`. - */ - /** - * Executes the `fn` function synchronously within the Angular zone and returns value returned by - * the function. - * - * Running functions via `run` allows you to reenter Angular zone from a task that was executed - * outside of the Angular zone (typically started via {\@link #runOutsideAngular}). - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * within the Angular zone. - * - * If a synchronous error happens it will be rethrown and not reported via `onError`. - * @template T - * @param {?} fn - * @param {?=} applyThis - * @param {?=} applyArgs - * @return {?} - */ - NgZone.prototype.run = /** - * Executes the `fn` function synchronously within the Angular zone and returns value returned by - * the function. - * - * Running functions via `run` allows you to reenter Angular zone from a task that was executed - * outside of the Angular zone (typically started via {\@link #runOutsideAngular}). - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * within the Angular zone. - * - * If a synchronous error happens it will be rethrown and not reported via `onError`. - * @template T - * @param {?} fn - * @param {?=} applyThis - * @param {?=} applyArgs - * @return {?} - */ - function (fn, applyThis, applyArgs) { - return /** @type {?} */ ((/** @type {?} */ ((this)))._inner.run(fn, applyThis, applyArgs)); - }; - /** - * Executes the `fn` function synchronously within the Angular zone as a task and returns value - * returned by the function. - * - * Running functions via `run` allows you to reenter Angular zone from a task that was executed - * outside of the Angular zone (typically started via {@link #runOutsideAngular}). - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * within the Angular zone. - * - * If a synchronous error happens it will be rethrown and not reported via `onError`. - */ - /** - * Executes the `fn` function synchronously within the Angular zone as a task and returns value - * returned by the function. - * - * Running functions via `run` allows you to reenter Angular zone from a task that was executed - * outside of the Angular zone (typically started via {\@link #runOutsideAngular}). - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * within the Angular zone. - * - * If a synchronous error happens it will be rethrown and not reported via `onError`. - * @template T - * @param {?} fn - * @param {?=} applyThis - * @param {?=} applyArgs - * @param {?=} name - * @return {?} - */ - NgZone.prototype.runTask = /** - * Executes the `fn` function synchronously within the Angular zone as a task and returns value - * returned by the function. - * - * Running functions via `run` allows you to reenter Angular zone from a task that was executed - * outside of the Angular zone (typically started via {\@link #runOutsideAngular}). - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * within the Angular zone. - * - * If a synchronous error happens it will be rethrown and not reported via `onError`. - * @template T - * @param {?} fn - * @param {?=} applyThis - * @param {?=} applyArgs - * @param {?=} name - * @return {?} - */ - function (fn, applyThis, applyArgs, name) { - var /** @type {?} */ zone = (/** @type {?} */ ((this)))._inner; - var /** @type {?} */ task = zone.scheduleEventTask('NgZoneEvent: ' + name, fn, EMPTY_PAYLOAD, noop, noop); - try { - return /** @type {?} */ (zone.runTask(task, applyThis, applyArgs)); - } - finally { - zone.cancelTask(task); - } - }; - /** - * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not - * rethrown. - */ - /** - * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not - * rethrown. - * @template T - * @param {?} fn - * @param {?=} applyThis - * @param {?=} applyArgs - * @return {?} - */ - NgZone.prototype.runGuarded = /** - * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not - * rethrown. - * @template T - * @param {?} fn - * @param {?=} applyThis - * @param {?=} applyArgs - * @return {?} - */ - function (fn, applyThis, applyArgs) { - return /** @type {?} */ ((/** @type {?} */ ((this)))._inner.runGuarded(fn, applyThis, applyArgs)); - }; - /** - * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by - * the function. - * - * Running functions via {@link #runOutsideAngular} allows you to escape Angular's zone and do - * work that - * doesn't trigger Angular change-detection or is subject to Angular's error handling. - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * outside of the Angular zone. - * - * Use {@link #run} to reenter the Angular zone and do work that updates the application model. - */ - /** - * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by - * the function. - * - * Running functions via {\@link #runOutsideAngular} allows you to escape Angular's zone and do - * work that - * doesn't trigger Angular change-detection or is subject to Angular's error handling. - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * outside of the Angular zone. - * - * Use {\@link #run} to reenter the Angular zone and do work that updates the application model. - * @template T - * @param {?} fn - * @return {?} - */ - NgZone.prototype.runOutsideAngular = /** - * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by - * the function. - * - * Running functions via {\@link #runOutsideAngular} allows you to escape Angular's zone and do - * work that - * doesn't trigger Angular change-detection or is subject to Angular's error handling. - * - * Any future tasks or microtasks scheduled from within this function will continue executing from - * outside of the Angular zone. - * - * Use {\@link #run} to reenter the Angular zone and do work that updates the application model. - * @template T - * @param {?} fn - * @return {?} - */ - function (fn) { - return /** @type {?} */ ((/** @type {?} */ ((this)))._outer.run(fn)); - }; - return NgZone; -}()); -/** - * @return {?} - */ -function noop() { } -var EMPTY_PAYLOAD = {}; -/** - * @param {?} zone - * @return {?} - */ -function checkStable(zone) { - if (zone._nesting == 0 && !zone.hasPendingMicrotasks && !zone.isStable) { - try { - zone._nesting++; - zone.onMicrotaskEmpty.emit(null); - } - finally { - zone._nesting--; - if (!zone.hasPendingMicrotasks) { - try { - zone.runOutsideAngular(function () { return zone.onStable.emit(null); }); - } - finally { - zone.isStable = true; - } - } - } - } -} -/** - * @param {?} zone - * @return {?} - */ -function forkInnerZoneWithAngularBehavior(zone) { - zone._inner = zone._inner.fork({ - name: 'angular', - properties: /** @type {?} */ ({ 'isAngularZone': true }), - onInvokeTask: function (delegate, current, target, task, applyThis, applyArgs) { - try { - onEnter(zone); - return delegate.invokeTask(target, task, applyThis, applyArgs); - } - finally { - onLeave(zone); - } - }, - onInvoke: function (delegate, current, target, callback, applyThis, applyArgs, source) { - try { - onEnter(zone); - return delegate.invoke(target, callback, applyThis, applyArgs, source); - } - finally { - onLeave(zone); - } - }, - onHasTask: function (delegate, current, target, hasTaskState) { - delegate.hasTask(target, hasTaskState); - if (current === target) { - // We are only interested in hasTask events which originate from our zone - // (A child hasTask event is not interesting to us) - if (hasTaskState.change == 'microTask') { - zone.hasPendingMicrotasks = hasTaskState.microTask; - checkStable(zone); - } - else if (hasTaskState.change == 'macroTask') { - zone.hasPendingMacrotasks = hasTaskState.macroTask; - } - } - }, - onHandleError: function (delegate, current, target, error) { - delegate.handleError(target, error); - zone.runOutsideAngular(function () { return zone.onError.emit(error); }); - return false; - } - }); -} -/** - * @param {?} zone - * @return {?} - */ -function onEnter(zone) { - zone._nesting++; - if (zone.isStable) { - zone.isStable = false; - zone.onUnstable.emit(null); - } -} -/** - * @param {?} zone - * @return {?} - */ -function onLeave(zone) { - zone._nesting--; - checkStable(zone); -} -/** - * Provides a noop implementation of `NgZone` which does nothing. This zone requires explicit calls - * to framework to perform rendering. - * - * \@internal - */ -var NoopNgZone = (function () { - function NoopNgZone() { - this.hasPendingMicrotasks = false; - this.hasPendingMacrotasks = false; - this.isStable = true; - this.onUnstable = new EventEmitter(); - this.onMicrotaskEmpty = new EventEmitter(); - this.onStable = new EventEmitter(); - this.onError = new EventEmitter(); - } - /** - * @param {?} fn - * @return {?} - */ - NoopNgZone.prototype.run = /** - * @param {?} fn - * @return {?} - */ - function (fn) { return fn(); }; - /** - * @param {?} fn - * @return {?} - */ - NoopNgZone.prototype.runGuarded = /** - * @param {?} fn - * @return {?} - */ - function (fn) { return fn(); }; - /** - * @param {?} fn - * @return {?} - */ - NoopNgZone.prototype.runOutsideAngular = /** - * @param {?} fn - * @return {?} - */ - function (fn) { return fn(); }; - /** - * @template T - * @param {?} fn - * @return {?} - */ - NoopNgZone.prototype.runTask = /** - * @template T - * @param {?} fn - * @return {?} - */ - function (fn) { return fn(); }; - return NoopNgZone; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * The Testability service provides testing hooks that can be accessed from - * the browser and by services such as Protractor. Each bootstrapped Angular - * application on the page will have an instance of Testability. - * \@experimental - */ -var Testability = (function () { - function Testability(_ngZone) { - this._ngZone = _ngZone; - /** - * \@internal - */ - this._pendingCount = 0; - /** - * \@internal - */ - this._isZoneStable = true; - /** - * Whether any work was done since the last 'whenStable' callback. This is - * useful to detect if this could have potentially destabilized another - * component while it is stabilizing. - * \@internal - */ - this._didWork = false; - /** - * \@internal - */ - this._callbacks = []; - this._watchAngularEvents(); - } - /** @internal */ - /** - * \@internal - * @return {?} - */ - Testability.prototype._watchAngularEvents = /** - * \@internal - * @return {?} - */ - function () { - var _this = this; - this._ngZone.onUnstable.subscribe({ - next: function () { - _this._didWork = true; - _this._isZoneStable = false; - } - }); - this._ngZone.runOutsideAngular(function () { - _this._ngZone.onStable.subscribe({ - next: function () { - NgZone.assertNotInAngularZone(); - scheduleMicroTask(function () { - _this._isZoneStable = true; - _this._runCallbacksIfReady(); - }); - } - }); - }); - }; - /** - * Increases the number of pending request - */ - /** - * Increases the number of pending request - * @return {?} - */ - Testability.prototype.increasePendingRequestCount = /** - * Increases the number of pending request - * @return {?} - */ - function () { - this._pendingCount += 1; - this._didWork = true; - return this._pendingCount; - }; - /** - * Decreases the number of pending request - */ - /** - * Decreases the number of pending request - * @return {?} - */ - Testability.prototype.decreasePendingRequestCount = /** - * Decreases the number of pending request - * @return {?} - */ - function () { - this._pendingCount -= 1; - if (this._pendingCount < 0) { - throw new Error('pending async requests below zero'); - } - this._runCallbacksIfReady(); - return this._pendingCount; - }; - /** - * Whether an associated application is stable - */ - /** - * Whether an associated application is stable - * @return {?} - */ - Testability.prototype.isStable = /** - * Whether an associated application is stable - * @return {?} - */ - function () { - return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks; - }; - /** @internal */ - /** - * \@internal - * @return {?} - */ - Testability.prototype._runCallbacksIfReady = /** - * \@internal - * @return {?} - */ - function () { - var _this = this; - if (this.isStable()) { - // Schedules the call backs in a new frame so that it is always async. - scheduleMicroTask(function () { - while (_this._callbacks.length !== 0) { - (/** @type {?} */ ((_this._callbacks.pop())))(_this._didWork); - } - _this._didWork = false; - }); - } - else { - // Not Ready - this._didWork = true; - } - }; - /** - * Run callback when the application is stable - * @param callback function to be called after the application is stable - */ - /** - * Run callback when the application is stable - * @param {?} callback function to be called after the application is stable - * @return {?} - */ - Testability.prototype.whenStable = /** - * Run callback when the application is stable - * @param {?} callback function to be called after the application is stable - * @return {?} - */ - function (callback) { - this._callbacks.push(callback); - this._runCallbacksIfReady(); - }; - /** - * Get the number of pending requests - */ - /** - * Get the number of pending requests - * @return {?} - */ - Testability.prototype.getPendingRequestCount = /** - * Get the number of pending requests - * @return {?} - */ - function () { return this._pendingCount; }; - /** - * Find providers by name - * @param using The root element to search from - * @param provider The name of binding variable - * @param exactMatch Whether using exactMatch - */ - /** - * Find providers by name - * @param {?} using The root element to search from - * @param {?} provider The name of binding variable - * @param {?} exactMatch Whether using exactMatch - * @return {?} - */ - Testability.prototype.findProviders = /** - * Find providers by name - * @param {?} using The root element to search from - * @param {?} provider The name of binding variable - * @param {?} exactMatch Whether using exactMatch - * @return {?} - */ - function (using, provider, exactMatch) { - // TODO(juliemr): implement. - return []; - }; - Testability.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - Testability.ctorParameters = function () { return [ - { type: NgZone, }, - ]; }; - return Testability; -}()); -/** - * A global registry of {\@link Testability} instances for specific elements. - * \@experimental - */ -var TestabilityRegistry = (function () { - function TestabilityRegistry() { - /** - * \@internal - */ - this._applications = new Map(); - _testabilityGetter.addToWindow(this); - } - /** - * Registers an application with a testability hook so that it can be tracked - * @param token token of application, root element - * @param testability Testability hook - */ - /** - * Registers an application with a testability hook so that it can be tracked - * @param {?} token token of application, root element - * @param {?} testability Testability hook - * @return {?} - */ - TestabilityRegistry.prototype.registerApplication = /** - * Registers an application with a testability hook so that it can be tracked - * @param {?} token token of application, root element - * @param {?} testability Testability hook - * @return {?} - */ - function (token, testability) { - this._applications.set(token, testability); - }; - /** - * Unregisters an application. - * @param token token of application, root element - */ - /** - * Unregisters an application. - * @param {?} token token of application, root element - * @return {?} - */ - TestabilityRegistry.prototype.unregisterApplication = /** - * Unregisters an application. - * @param {?} token token of application, root element - * @return {?} - */ - function (token) { this._applications.delete(token); }; - /** - * Unregisters all applications - */ - /** - * Unregisters all applications - * @return {?} - */ - TestabilityRegistry.prototype.unregisterAllApplications = /** - * Unregisters all applications - * @return {?} - */ - function () { this._applications.clear(); }; - /** - * Get a testability hook associated with the application - * @param elem root element - */ - /** - * Get a testability hook associated with the application - * @param {?} elem root element - * @return {?} - */ - TestabilityRegistry.prototype.getTestability = /** - * Get a testability hook associated with the application - * @param {?} elem root element - * @return {?} - */ - function (elem) { return this._applications.get(elem) || null; }; - /** - * Get all registered testabilities - */ - /** - * Get all registered testabilities - * @return {?} - */ - TestabilityRegistry.prototype.getAllTestabilities = /** - * Get all registered testabilities - * @return {?} - */ - function () { return Array.from(this._applications.values()); }; - /** - * Get all registered applications(root elements) - */ - /** - * Get all registered applications(root elements) - * @return {?} - */ - TestabilityRegistry.prototype.getAllRootElements = /** - * Get all registered applications(root elements) - * @return {?} - */ - function () { return Array.from(this._applications.keys()); }; - /** - * Find testability of a node in the Tree - * @param elem node - * @param findInAncestors whether finding testability in ancestors if testability was not found in - * current node - */ - /** - * Find testability of a node in the Tree - * @param {?} elem node - * @param {?=} findInAncestors whether finding testability in ancestors if testability was not found in - * current node - * @return {?} - */ - TestabilityRegistry.prototype.findTestabilityInTree = /** - * Find testability of a node in the Tree - * @param {?} elem node - * @param {?=} findInAncestors whether finding testability in ancestors if testability was not found in - * current node - * @return {?} - */ - function (elem, findInAncestors) { - if (findInAncestors === void 0) { findInAncestors = true; } - return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors); - }; - TestabilityRegistry.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - TestabilityRegistry.ctorParameters = function () { return []; }; - return TestabilityRegistry; -}()); -/** - * Adapter interface for retrieving the `Testability` service associated for a - * particular context. - * - * \@experimental Testability apis are primarily intended to be used by e2e test tool vendors like - * the Protractor team. - * @record - */ - -var _NoopGetTestability = (function () { - function _NoopGetTestability() { - } - /** - * @param {?} registry - * @return {?} - */ - _NoopGetTestability.prototype.addToWindow = /** - * @param {?} registry - * @return {?} - */ - function (registry) { }; - /** - * @param {?} registry - * @param {?} elem - * @param {?} findInAncestors - * @return {?} - */ - _NoopGetTestability.prototype.findTestabilityInTree = /** - * @param {?} registry - * @param {?} elem - * @param {?} findInAncestors - * @return {?} - */ - function (registry, elem, findInAncestors) { - return null; - }; - return _NoopGetTestability; -}()); -/** - * Set the {\@link GetTestability} implementation used by the Angular testing framework. - * \@experimental - * @param {?} getter - * @return {?} - */ -function setTestabilityGetter(getter) { - _testabilityGetter = getter; -} -var _testabilityGetter = new _NoopGetTestability(); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var _devMode = true; -var _runModeLocked = false; -var _platform; -var ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken'); -/** - * Disable Angular's development mode, which turns off assertions and other - * checks within the framework. - * - * One important assertion this disables verifies that a change detection pass - * does not result in additional changes to any bindings (also known as - * unidirectional data flow). - * - * \@stable - * @return {?} - */ -function enableProdMode() { - if (_runModeLocked) { - throw new Error('Cannot enable prod mode after platform setup.'); - } - _devMode = false; -} -/** - * Returns whether Angular is in development mode. After called once, - * the value is locked and won't change any more. - * - * By default, this is true, unless a user calls `enableProdMode` before calling this. - * - * \@experimental APIs related to application bootstrap are currently under review. - * @return {?} - */ -function isDevMode() { - _runModeLocked = true; - return _devMode; -} -/** - * A token for third-party components that can register themselves with NgProbe. - * - * \@experimental - */ -var NgProbeToken = (function () { - function NgProbeToken(name, token) { - this.name = name; - this.token = token; - } - return NgProbeToken; -}()); -/** - * Creates a platform. - * Platforms have to be eagerly created via this function. - * - * \@experimental APIs related to application bootstrap are currently under review. - * @param {?} injector - * @return {?} - */ -function createPlatform(injector) { - if (_platform && !_platform.destroyed && - !_platform.injector.get(ALLOW_MULTIPLE_PLATFORMS, false)) { - throw new Error('There can be only one platform. Destroy the previous one to create a new one.'); - } - _platform = injector.get(PlatformRef); - var /** @type {?} */ inits = injector.get(PLATFORM_INITIALIZER, null); - if (inits) - inits.forEach(function (init) { return init(); }); - return _platform; -} -/** - * Creates a factory for a platform - * - * \@experimental APIs related to application bootstrap are currently under review. - * @param {?} parentPlatformFactory - * @param {?} name - * @param {?=} providers - * @return {?} - */ -function createPlatformFactory(parentPlatformFactory, name, providers) { - if (providers === void 0) { providers = []; } - var /** @type {?} */ marker = new InjectionToken("Platform: " + name); - return function (extraProviders) { - if (extraProviders === void 0) { extraProviders = []; } - var /** @type {?} */ platform = getPlatform(); - if (!platform || platform.injector.get(ALLOW_MULTIPLE_PLATFORMS, false)) { - if (parentPlatformFactory) { - parentPlatformFactory(providers.concat(extraProviders).concat({ provide: marker, useValue: true })); - } - else { - createPlatform(Injector.create(providers.concat(extraProviders).concat({ provide: marker, useValue: true }))); - } - } - return assertPlatform(marker); - }; -} -/** - * Checks that there currently is a platform which contains the given token as a provider. - * - * \@experimental APIs related to application bootstrap are currently under review. - * @param {?} requiredToken - * @return {?} - */ -function assertPlatform(requiredToken) { - var /** @type {?} */ platform = getPlatform(); - if (!platform) { - throw new Error('No platform exists!'); - } - if (!platform.injector.get(requiredToken, null)) { - throw new Error('A platform with a different configuration has been created. Please destroy it first.'); - } - return platform; -} -/** - * Destroy the existing platform. - * - * \@experimental APIs related to application bootstrap are currently under review. - * @return {?} - */ -function destroyPlatform() { - if (_platform && !_platform.destroyed) { - _platform.destroy(); - } -} -/** - * Returns the current platform. - * - * \@experimental APIs related to application bootstrap are currently under review. - * @return {?} - */ -function getPlatform() { - return _platform && !_platform.destroyed ? _platform : null; -} -/** - * Provides additional options to the bootstraping process. - * - * \@stable - * @record - */ - -/** - * The Angular platform is the entry point for Angular on a web page. Each page - * has exactly one platform, and services (such as reflection) which are common - * to every Angular application running on the page are bound in its scope. - * - * A page's platform is initialized implicitly when a platform is created via a platform factory - * (e.g. {\@link platformBrowser}), or explicitly by calling the {\@link createPlatform} function. - * - * \@stable - */ -var PlatformRef = (function () { - /** @internal */ - function PlatformRef(_injector) { - this._injector = _injector; - this._modules = []; - this._destroyListeners = []; - this._destroyed = false; - } - /** - * Creates an instance of an `@NgModule` for the given platform - * for offline compilation. - * - * ## Simple Example - * - * ```typescript - * my_module.ts: - * - * @NgModule({ - * imports: [BrowserModule] - * }) - * class MyModule {} - * - * main.ts: - * import {MyModuleNgFactory} from './my_module.ngfactory'; - * import {platformBrowser} from '@angular/platform-browser'; - * - * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory); - * ``` - * - * @experimental APIs related to application bootstrap are currently under review. - */ - /** - * Creates an instance of an `\@NgModule` for the given platform - * for offline compilation. - * - * ## Simple Example - * - * ```typescript - * my_module.ts: - * - * \@NgModule({ - * imports: [BrowserModule] - * }) - * class MyModule {} - * - * main.ts: - * import {MyModuleNgFactory} from './my_module.ngfactory'; - * import {platformBrowser} from '\@angular/platform-browser'; - * - * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory); - * ``` - * - * \@experimental APIs related to application bootstrap are currently under review. - * @template M - * @param {?} moduleFactory - * @param {?=} options - * @return {?} - */ - PlatformRef.prototype.bootstrapModuleFactory = /** - * Creates an instance of an `\@NgModule` for the given platform - * for offline compilation. - * - * ## Simple Example - * - * ```typescript - * my_module.ts: - * - * \@NgModule({ - * imports: [BrowserModule] - * }) - * class MyModule {} - * - * main.ts: - * import {MyModuleNgFactory} from './my_module.ngfactory'; - * import {platformBrowser} from '\@angular/platform-browser'; - * - * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory); - * ``` - * - * \@experimental APIs related to application bootstrap are currently under review. - * @template M - * @param {?} moduleFactory - * @param {?=} options - * @return {?} - */ - function (moduleFactory, options) { - var _this = this; - // Note: We need to create the NgZone _before_ we instantiate the module, - // as instantiating the module creates some providers eagerly. - // So we create a mini parent injector that just contains the new NgZone and - // pass that as parent to the NgModuleFactory. - var /** @type {?} */ ngZoneOption = options ? options.ngZone : undefined; - var /** @type {?} */ ngZone = getNgZone(ngZoneOption); - // Attention: Don't use ApplicationRef.run here, - // as we want to be sure that all possible constructor calls are inside `ngZone.run`! - return ngZone.run(function () { - var /** @type {?} */ ngZoneInjector = Injector.create([{ provide: NgZone, useValue: ngZone }], _this.injector); - var /** @type {?} */ moduleRef = /** @type {?} */ (moduleFactory.create(ngZoneInjector)); - var /** @type {?} */ exceptionHandler = moduleRef.injector.get(ErrorHandler, null); - if (!exceptionHandler) { - throw new Error('No ErrorHandler. Is platform module (BrowserModule) included?'); - } - moduleRef.onDestroy(function () { return remove(_this._modules, moduleRef); }); /** @type {?} */ - ((ngZone)).runOutsideAngular(function () { return /** @type {?} */ ((ngZone)).onError.subscribe({ next: function (error) { exceptionHandler.handleError(error); } }); }); - return _callAndReportToErrorHandler(exceptionHandler, /** @type {?} */ ((ngZone)), function () { - var /** @type {?} */ initStatus = moduleRef.injector.get(ApplicationInitStatus); - initStatus.runInitializers(); - return initStatus.donePromise.then(function () { - _this._moduleDoBootstrap(moduleRef); - return moduleRef; - }); - }); - }); - }; - /** - * Creates an instance of an `@NgModule` for a given platform using the given runtime compiler. - * - * ## Simple Example - * - * ```typescript - * @NgModule({ - * imports: [BrowserModule] - * }) - * class MyModule {} - * - * let moduleRef = platformBrowser().bootstrapModule(MyModule); - * ``` - * @stable - */ - /** - * Creates an instance of an `\@NgModule` for a given platform using the given runtime compiler. - * - * ## Simple Example - * - * ```typescript - * \@NgModule({ - * imports: [BrowserModule] - * }) - * class MyModule {} - * - * let moduleRef = platformBrowser().bootstrapModule(MyModule); - * ``` - * \@stable - * @template M - * @param {?} moduleType - * @param {?=} compilerOptions - * @return {?} - */ - PlatformRef.prototype.bootstrapModule = /** - * Creates an instance of an `\@NgModule` for a given platform using the given runtime compiler. - * - * ## Simple Example - * - * ```typescript - * \@NgModule({ - * imports: [BrowserModule] - * }) - * class MyModule {} - * - * let moduleRef = platformBrowser().bootstrapModule(MyModule); - * ``` - * \@stable - * @template M - * @param {?} moduleType - * @param {?=} compilerOptions - * @return {?} - */ - function (moduleType, compilerOptions) { - var _this = this; - if (compilerOptions === void 0) { compilerOptions = []; } - var /** @type {?} */ compilerFactory = this.injector.get(CompilerFactory); - var /** @type {?} */ options = optionsReducer({}, compilerOptions); - var /** @type {?} */ compiler = compilerFactory.createCompiler([options]); - return compiler.compileModuleAsync(moduleType) - .then(function (moduleFactory) { return _this.bootstrapModuleFactory(moduleFactory, options); }); - }; - /** - * @param {?} moduleRef - * @return {?} - */ - PlatformRef.prototype._moduleDoBootstrap = /** - * @param {?} moduleRef - * @return {?} - */ - function (moduleRef) { - var /** @type {?} */ appRef = /** @type {?} */ (moduleRef.injector.get(ApplicationRef)); - if (moduleRef._bootstrapComponents.length > 0) { - moduleRef._bootstrapComponents.forEach(function (f) { return appRef.bootstrap(f); }); - } - else if (moduleRef.instance.ngDoBootstrap) { - moduleRef.instance.ngDoBootstrap(appRef); - } - else { - throw new Error("The module " + stringify(moduleRef.instance.constructor) + " was bootstrapped, but it does not declare \"@NgModule.bootstrap\" components nor a \"ngDoBootstrap\" method. " + - "Please define one of these."); - } - this._modules.push(moduleRef); - }; - /** - * Register a listener to be called when the platform is disposed. - */ - /** - * Register a listener to be called when the platform is disposed. - * @param {?} callback - * @return {?} - */ - PlatformRef.prototype.onDestroy = /** - * Register a listener to be called when the platform is disposed. - * @param {?} callback - * @return {?} - */ - function (callback) { this._destroyListeners.push(callback); }; - Object.defineProperty(PlatformRef.prototype, "injector", { - /** - * Retrieve the platform {@link Injector}, which is the parent injector for - * every Angular application on the page and provides singleton providers. - */ - get: /** - * Retrieve the platform {\@link Injector}, which is the parent injector for - * every Angular application on the page and provides singleton providers. - * @return {?} - */ - function () { return this._injector; }, - enumerable: true, - configurable: true - }); - /** - * Destroy the Angular platform and all Angular applications on the page. - */ - /** - * Destroy the Angular platform and all Angular applications on the page. - * @return {?} - */ - PlatformRef.prototype.destroy = /** - * Destroy the Angular platform and all Angular applications on the page. - * @return {?} - */ - function () { - if (this._destroyed) { - throw new Error('The platform has already been destroyed!'); - } - this._modules.slice().forEach(function (module) { return module.destroy(); }); - this._destroyListeners.forEach(function (listener) { return listener(); }); - this._destroyed = true; - }; - Object.defineProperty(PlatformRef.prototype, "destroyed", { - get: /** - * @return {?} - */ - function () { return this._destroyed; }, - enumerable: true, - configurable: true - }); - PlatformRef.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - PlatformRef.ctorParameters = function () { return [ - { type: Injector, }, - ]; }; - return PlatformRef; -}()); -/** - * @param {?=} ngZoneOption - * @return {?} - */ -function getNgZone(ngZoneOption) { - var /** @type {?} */ ngZone; - if (ngZoneOption === 'noop') { - ngZone = new NoopNgZone(); - } - else { - ngZone = (ngZoneOption === 'zone.js' ? undefined : ngZoneOption) || - new NgZone({ enableLongStackTrace: isDevMode() }); - } - return ngZone; -} -/** - * @param {?} errorHandler - * @param {?} ngZone - * @param {?} callback - * @return {?} - */ -function _callAndReportToErrorHandler(errorHandler, ngZone, callback) { - try { - var /** @type {?} */ result = callback(); - if (isPromise(result)) { - return result.catch(function (e) { - ngZone.runOutsideAngular(function () { return errorHandler.handleError(e); }); - // rethrow as the exception handler might not do it - throw e; - }); - } - return result; - } - catch (/** @type {?} */ e) { - ngZone.runOutsideAngular(function () { return errorHandler.handleError(e); }); - // rethrow as the exception handler might not do it - throw e; - } -} -/** - * @template T - * @param {?} dst - * @param {?} objs - * @return {?} - */ -function optionsReducer(dst, objs) { - if (Array.isArray(objs)) { - dst = objs.reduce(optionsReducer, dst); - } - else { - dst = Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({}, dst, (/** @type {?} */ (objs))); - } - return dst; -} -/** - * A reference to an Angular application running on a page. - * - * \@stable - */ -var ApplicationRef = (function () { - /** @internal */ - function ApplicationRef(_zone, _console, _injector, _exceptionHandler, _componentFactoryResolver, _initStatus) { - var _this = this; - this._zone = _zone; - this._console = _console; - this._injector = _injector; - this._exceptionHandler = _exceptionHandler; - this._componentFactoryResolver = _componentFactoryResolver; - this._initStatus = _initStatus; - this._bootstrapListeners = []; - this._views = []; - this._runningTick = false; - this._enforceNoNewChanges = false; - this._stable = true; - /** - * Get a list of component types registered to this application. - * This list is populated even before the component is created. - */ - this.componentTypes = []; - /** - * Get a list of components registered to this application. - */ - this.components = []; - this._enforceNoNewChanges = isDevMode(); - this._zone.onMicrotaskEmpty.subscribe({ next: function () { _this._zone.run(function () { _this.tick(); }); } }); - var /** @type {?} */ isCurrentlyStable = new __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__["Observable"](function (observer) { - _this._stable = _this._zone.isStable && !_this._zone.hasPendingMacrotasks && - !_this._zone.hasPendingMicrotasks; - _this._zone.runOutsideAngular(function () { - observer.next(_this._stable); - observer.complete(); - }); - }); - var /** @type {?} */ isStable = new __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__["Observable"](function (observer) { - // Create the subscription to onStable outside the Angular Zone so that - // the callback is run outside the Angular Zone. - var /** @type {?} */ stableSub; - _this._zone.runOutsideAngular(function () { - stableSub = _this._zone.onStable.subscribe(function () { - NgZone.assertNotInAngularZone(); - // Check whether there are no pending macro/micro tasks in the next tick - // to allow for NgZone to update the state. - scheduleMicroTask(function () { - if (!_this._stable && !_this._zone.hasPendingMacrotasks && - !_this._zone.hasPendingMicrotasks) { - _this._stable = true; - observer.next(true); - } - }); - }); - }); - var /** @type {?} */ unstableSub = _this._zone.onUnstable.subscribe(function () { - NgZone.assertInAngularZone(); - if (_this._stable) { - _this._stable = false; - _this._zone.runOutsideAngular(function () { observer.next(false); }); - } - }); - return function () { - stableSub.unsubscribe(); - unstableSub.unsubscribe(); - }; - }); - (/** @type {?} */ (this)).isStable = - Object(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge__["merge"])(isCurrentlyStable, __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share__["share"].call(isStable)); - } - /** - * Bootstrap a new component at the root level of the application. - * - * ### Bootstrap process - * - * When bootstrapping a new root component into an application, Angular mounts the - * specified application component onto DOM elements identified by the [componentType]'s - * selector and kicks off automatic change detection to finish initializing the component. - * - * Optionally, a component can be mounted onto a DOM element that does not match the - * [componentType]'s selector. - * - * ### Example - * {@example core/ts/platform/platform.ts region='longform'} - */ - /** - * Bootstrap a new component at the root level of the application. - * - * ### Bootstrap process - * - * When bootstrapping a new root component into an application, Angular mounts the - * specified application component onto DOM elements identified by the [componentType]'s - * selector and kicks off automatic change detection to finish initializing the component. - * - * Optionally, a component can be mounted onto a DOM element that does not match the - * [componentType]'s selector. - * - * ### Example - * {\@example core/ts/platform/platform.ts region='longform'} - * @template C - * @param {?} componentOrFactory - * @param {?=} rootSelectorOrNode - * @return {?} - */ - ApplicationRef.prototype.bootstrap = /** - * Bootstrap a new component at the root level of the application. - * - * ### Bootstrap process - * - * When bootstrapping a new root component into an application, Angular mounts the - * specified application component onto DOM elements identified by the [componentType]'s - * selector and kicks off automatic change detection to finish initializing the component. - * - * Optionally, a component can be mounted onto a DOM element that does not match the - * [componentType]'s selector. - * - * ### Example - * {\@example core/ts/platform/platform.ts region='longform'} - * @template C - * @param {?} componentOrFactory - * @param {?=} rootSelectorOrNode - * @return {?} - */ - function (componentOrFactory, rootSelectorOrNode) { - var _this = this; - if (!this._initStatus.done) { - throw new Error('Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.'); - } - var /** @type {?} */ componentFactory; - if (componentOrFactory instanceof ComponentFactory) { - componentFactory = componentOrFactory; - } - else { - componentFactory = - /** @type {?} */ ((this._componentFactoryResolver.resolveComponentFactory(componentOrFactory))); - } - this.componentTypes.push(componentFactory.componentType); - // Create a factory associated with the current module if it's not bound to some other - var /** @type {?} */ ngModule = componentFactory instanceof ComponentFactoryBoundToModule ? - null : - this._injector.get(NgModuleRef); - var /** @type {?} */ selectorOrNode = rootSelectorOrNode || componentFactory.selector; - var /** @type {?} */ compRef = componentFactory.create(Injector.NULL, [], selectorOrNode, ngModule); - compRef.onDestroy(function () { _this._unloadComponent(compRef); }); - var /** @type {?} */ testability = compRef.injector.get(Testability, null); - if (testability) { - compRef.injector.get(TestabilityRegistry) - .registerApplication(compRef.location.nativeElement, testability); - } - this._loadComponent(compRef); - if (isDevMode()) { - this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."); - } - return compRef; - }; - /** - * Invoke this method to explicitly process change detection and its side-effects. - * - * In development mode, `tick()` also performs a second change detection cycle to ensure that no - * further changes are detected. If additional changes are picked up during this second cycle, - * bindings in the app have side-effects that cannot be resolved in a single change detection - * pass. - * In this case, Angular throws an error, since an Angular application can only have one change - * detection pass during which all change detection must complete. - */ - /** - * Invoke this method to explicitly process change detection and its side-effects. - * - * In development mode, `tick()` also performs a second change detection cycle to ensure that no - * further changes are detected. If additional changes are picked up during this second cycle, - * bindings in the app have side-effects that cannot be resolved in a single change detection - * pass. - * In this case, Angular throws an error, since an Angular application can only have one change - * detection pass during which all change detection must complete. - * @return {?} - */ - ApplicationRef.prototype.tick = /** - * Invoke this method to explicitly process change detection and its side-effects. - * - * In development mode, `tick()` also performs a second change detection cycle to ensure that no - * further changes are detected. If additional changes are picked up during this second cycle, - * bindings in the app have side-effects that cannot be resolved in a single change detection - * pass. - * In this case, Angular throws an error, since an Angular application can only have one change - * detection pass during which all change detection must complete. - * @return {?} - */ - function () { - var _this = this; - if (this._runningTick) { - throw new Error('ApplicationRef.tick is called recursively'); - } - var /** @type {?} */ scope = ApplicationRef._tickScope(); - try { - this._runningTick = true; - this._views.forEach(function (view) { return view.detectChanges(); }); - if (this._enforceNoNewChanges) { - this._views.forEach(function (view) { return view.checkNoChanges(); }); - } - } - catch (/** @type {?} */ e) { - // Attention: Don't rethrow as it could cancel subscriptions to Observables! - this._zone.runOutsideAngular(function () { return _this._exceptionHandler.handleError(e); }); - } - finally { - this._runningTick = false; - wtfLeave(scope); - } - }; - /** - * Attaches a view so that it will be dirty checked. - * The view will be automatically detached when it is destroyed. - * This will throw if the view is already attached to a ViewContainer. - */ - /** - * Attaches a view so that it will be dirty checked. - * The view will be automatically detached when it is destroyed. - * This will throw if the view is already attached to a ViewContainer. - * @param {?} viewRef - * @return {?} - */ - ApplicationRef.prototype.attachView = /** - * Attaches a view so that it will be dirty checked. - * The view will be automatically detached when it is destroyed. - * This will throw if the view is already attached to a ViewContainer. - * @param {?} viewRef - * @return {?} - */ - function (viewRef) { - var /** @type {?} */ view = (/** @type {?} */ (viewRef)); - this._views.push(view); - view.attachToAppRef(this); - }; - /** - * Detaches a view from dirty checking again. - */ - /** - * Detaches a view from dirty checking again. - * @param {?} viewRef - * @return {?} - */ - ApplicationRef.prototype.detachView = /** - * Detaches a view from dirty checking again. - * @param {?} viewRef - * @return {?} - */ - function (viewRef) { - var /** @type {?} */ view = (/** @type {?} */ (viewRef)); - remove(this._views, view); - view.detachFromAppRef(); - }; - /** - * @param {?} componentRef - * @return {?} - */ - ApplicationRef.prototype._loadComponent = /** - * @param {?} componentRef - * @return {?} - */ - function (componentRef) { - this.attachView(componentRef.hostView); - this.tick(); - this.components.push(componentRef); - // Get the listeners lazily to prevent DI cycles. - var /** @type {?} */ listeners = this._injector.get(APP_BOOTSTRAP_LISTENER, []).concat(this._bootstrapListeners); - listeners.forEach(function (listener) { return listener(componentRef); }); - }; - /** - * @param {?} componentRef - * @return {?} - */ - ApplicationRef.prototype._unloadComponent = /** - * @param {?} componentRef - * @return {?} - */ - function (componentRef) { - this.detachView(componentRef.hostView); - remove(this.components, componentRef); - }; - /** @internal */ - /** - * \@internal - * @return {?} - */ - ApplicationRef.prototype.ngOnDestroy = /** - * \@internal - * @return {?} - */ - function () { - // TODO(alxhub): Dispose of the NgZone. - this._views.slice().forEach(function (view) { return view.destroy(); }); - }; - Object.defineProperty(ApplicationRef.prototype, "viewCount", { - /** - * Returns the number of attached views. - */ - get: /** - * Returns the number of attached views. - * @return {?} - */ - function () { return this._views.length; }, - enumerable: true, - configurable: true - }); - /** - * \@internal - */ - ApplicationRef._tickScope = wtfCreateScope('ApplicationRef#tick()'); - ApplicationRef.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - ApplicationRef.ctorParameters = function () { return [ - { type: NgZone, }, - { type: Console, }, - { type: Injector, }, - { type: ErrorHandler, }, - { type: ComponentFactoryResolver, }, - { type: ApplicationInitStatus, }, - ]; }; - return ApplicationRef; -}()); -/** - * @template T - * @param {?} list - * @param {?} el - * @return {?} - */ -function remove(list, el) { - var /** @type {?} */ index = list.indexOf(el); - if (index > -1) { - list.splice(index, 1); - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// Public API for Zone - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @deprecated Use `RendererType2` (and `Renderer2`) instead. - */ -var RenderComponentType = (function () { - function RenderComponentType(id, templateUrl, slotCount, encapsulation, styles, animations) { - this.id = id; - this.templateUrl = templateUrl; - this.slotCount = slotCount; - this.encapsulation = encapsulation; - this.styles = styles; - this.animations = animations; - } - return RenderComponentType; -}()); -/** - * @deprecated Debug info is handeled internally in the view engine now. - * @abstract - */ -var RenderDebugInfo = (function () { - function RenderDebugInfo() { - } - return RenderDebugInfo; -}()); -/** - * @deprecated Use the `Renderer2` instead. - * @record - */ - -/** - * @deprecated Use the `Renderer2` instead. - * @abstract - */ -var Renderer = (function () { - function Renderer() { - } - return Renderer; -}()); -var Renderer2Interceptor = new InjectionToken('Renderer2Interceptor'); -/** - * Injectable service that provides a low-level interface for modifying the UI. - * - * Use this service to bypass Angular's templating and make custom UI changes that can't be - * expressed declaratively. For example if you need to set a property or an attribute whose name is - * not statically known, use {\@link Renderer#setElementProperty setElementProperty} or - * {\@link Renderer#setElementAttribute setElementAttribute} respectively. - * - * If you are implementing a custom renderer, you must implement this interface. - * - * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`. - * - * @deprecated Use `RendererFactory2` instead. - * @abstract - */ -var RootRenderer = (function () { - function RootRenderer() { - } - return RootRenderer; -}()); -/** - * \@experimental - * @record - */ - -/** - * \@experimental - * @abstract - */ -var RendererFactory2 = (function () { - function RendererFactory2() { - } - return RendererFactory2; -}()); -/** @enum {number} */ -var RendererStyleFlags2 = { - Important: 1, - DashCase: 2, -}; -RendererStyleFlags2[RendererStyleFlags2.Important] = "Important"; -RendererStyleFlags2[RendererStyleFlags2.DashCase] = "DashCase"; -/** - * \@experimental - * @abstract - */ -var Renderer2 = (function () { - function Renderer2() { - } - return Renderer2; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// Public API for render - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * A wrapper around a native element inside of a View. - * - * An `ElementRef` is backed by a render-specific element. In the browser, this is usually a DOM - * element. - * - * \@security Permitting direct access to the DOM can make your application more vulnerable to - * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the - * [Security Guide](http://g.co/ng/security). - * - * \@stable - */ -var ElementRef = (function () { - function ElementRef(nativeElement) { - this.nativeElement = nativeElement; - } - return ElementRef; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Used to load ng module factories. - * \@stable - * @abstract - */ -var NgModuleFactoryLoader = (function () { - function NgModuleFactoryLoader() { - } - return NgModuleFactoryLoader; -}()); -var moduleFactories = new Map(); -/** - * Registers a loaded module. Should only be called from generated NgModuleFactory code. - * \@experimental - * @param {?} id - * @param {?} factory - * @return {?} - */ -function registerModuleFactory(id, factory) { - var /** @type {?} */ existing = moduleFactories.get(id); - if (existing) { - throw new Error("Duplicate module registered for " + id + " - " + existing.moduleType.name + " vs " + factory.moduleType.name); - } - moduleFactories.set(id, factory); -} -/** - * @return {?} - */ - -/** - * Returns the NgModuleFactory with the given id, if it exists and has been loaded. - * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module - * cannot be found. - * \@experimental - * @param {?} id - * @return {?} - */ -function getModuleFactory(id) { - var /** @type {?} */ factory = moduleFactories.get(id); - if (!factory) - throw new Error("No module with ID " + id + " loaded"); - return factory; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * An unmodifiable list of items that Angular keeps up to date when the state - * of the application changes. - * - * The type of object that {\@link ViewChildren}, {\@link ContentChildren}, and {\@link QueryList} - * provide. - * - * Implements an iterable interface, therefore it can be used in both ES6 - * javascript `for (var i of items)` loops as well as in Angular templates with - * `*ngFor="let i of myList"`. - * - * Changes can be observed by subscribing to the changes `Observable`. - * - * NOTE: In the future this class will implement an `Observable` interface. - * - * ### Example ([live demo](http://plnkr.co/edit/RX8sJnQYl9FWuSCWme5z?p=preview)) - * ```typescript - * \@Component({...}) - * class Container { - * \@ViewChildren(Item) items:QueryList; - * } - * ``` - * \@stable - */ -var QueryList = (function () { - function QueryList() { - this.dirty = true; - this._results = []; - this.changes = new EventEmitter(); - } - Object.defineProperty(QueryList.prototype, "length", { - get: /** - * @return {?} - */ - function () { return this._results.length; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(QueryList.prototype, "first", { - get: /** - * @return {?} - */ - function () { return this._results[0]; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(QueryList.prototype, "last", { - get: /** - * @return {?} - */ - function () { return this._results[this.length - 1]; }, - enumerable: true, - configurable: true - }); - /** - * See - * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) - */ - /** - * See - * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) - * @template U - * @param {?} fn - * @return {?} - */ - QueryList.prototype.map = /** - * See - * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) - * @template U - * @param {?} fn - * @return {?} - */ - function (fn) { return this._results.map(fn); }; - /** - * See - * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) - */ - /** - * See - * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) - * @param {?} fn - * @return {?} - */ - QueryList.prototype.filter = /** - * See - * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) - * @param {?} fn - * @return {?} - */ - function (fn) { - return this._results.filter(fn); - }; - /** - * See - * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) - */ - /** - * See - * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) - * @param {?} fn - * @return {?} - */ - QueryList.prototype.find = /** - * See - * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) - * @param {?} fn - * @return {?} - */ - function (fn) { - return this._results.find(fn); - }; - /** - * See - * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) - */ - /** - * See - * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) - * @template U - * @param {?} fn - * @param {?} init - * @return {?} - */ - QueryList.prototype.reduce = /** - * See - * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) - * @template U - * @param {?} fn - * @param {?} init - * @return {?} - */ - function (fn, init) { - return this._results.reduce(fn, init); - }; - /** - * See - * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) - */ - /** - * See - * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) - * @param {?} fn - * @return {?} - */ - QueryList.prototype.forEach = /** - * See - * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) - * @param {?} fn - * @return {?} - */ - function (fn) { this._results.forEach(fn); }; - /** - * See - * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some) - */ - /** - * See - * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some) - * @param {?} fn - * @return {?} - */ - QueryList.prototype.some = /** - * See - * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some) - * @param {?} fn - * @return {?} - */ - function (fn) { - return this._results.some(fn); - }; - /** - * @return {?} - */ - QueryList.prototype.toArray = /** - * @return {?} - */ - function () { return this._results.slice(); }; - /** - * @return {?} - */ - QueryList.prototype[getSymbolIterator()] = /** - * @return {?} - */ - function () { return (/** @type {?} */ (this._results))[getSymbolIterator()](); }; - /** - * @return {?} - */ - QueryList.prototype.toString = /** - * @return {?} - */ - function () { return this._results.toString(); }; - /** - * @param {?} res - * @return {?} - */ - QueryList.prototype.reset = /** - * @param {?} res - * @return {?} - */ - function (res) { - this._results = flatten(res); - (/** @type {?} */ (this)).dirty = false; - }; - /** - * @return {?} - */ - QueryList.prototype.notifyOnChanges = /** - * @return {?} - */ - function () { (/** @type {?} */ (this.changes)).emit(this); }; - /** internal */ - /** - * internal - * @return {?} - */ - QueryList.prototype.setDirty = /** - * internal - * @return {?} - */ - function () { (/** @type {?} */ (this)).dirty = true; }; - /** internal */ - /** - * internal - * @return {?} - */ - QueryList.prototype.destroy = /** - * internal - * @return {?} - */ - function () { - (/** @type {?} */ (this.changes)).complete(); - (/** @type {?} */ (this.changes)).unsubscribe(); - }; - return QueryList; -}()); -/** - * @template T - * @param {?} list - * @return {?} - */ -function flatten(list) { - return list.reduce(function (flat, item) { - var /** @type {?} */ flatItem = Array.isArray(item) ? flatten(item) : item; - return (/** @type {?} */ (flat)).concat(flatItem); - }, []); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var _SEPARATOR = '#'; -var FACTORY_CLASS_SUFFIX = 'NgFactory'; -/** - * Configuration for SystemJsNgModuleLoader. - * token. - * - * \@experimental - * @abstract - */ -var SystemJsNgModuleLoaderConfig = (function () { - function SystemJsNgModuleLoaderConfig() { - } - return SystemJsNgModuleLoaderConfig; -}()); -var DEFAULT_CONFIG = { - factoryPathPrefix: '', - factoryPathSuffix: '.ngfactory', -}; -/** - * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory - * \@experimental - */ -var SystemJsNgModuleLoader = (function () { - function SystemJsNgModuleLoader(_compiler, config) { - this._compiler = _compiler; - this._config = config || DEFAULT_CONFIG; - } - /** - * @param {?} path - * @return {?} - */ - SystemJsNgModuleLoader.prototype.load = /** - * @param {?} path - * @return {?} - */ - function (path) { - var /** @type {?} */ offlineMode = this._compiler instanceof Compiler; - return offlineMode ? this.loadFactory(path) : this.loadAndCompile(path); - }; - /** - * @param {?} path - * @return {?} - */ - SystemJsNgModuleLoader.prototype.loadAndCompile = /** - * @param {?} path - * @return {?} - */ - function (path) { - var _this = this; - var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1]; - if (exportName === undefined) { - exportName = 'default'; - } - return __webpack_require__(246)(module) - .then(function (module) { return module[exportName]; }) - .then(function (type) { return checkNotEmpty(type, module, exportName); }) - .then(function (type) { return _this._compiler.compileModuleAsync(type); }); - }; - /** - * @param {?} path - * @return {?} - */ - SystemJsNgModuleLoader.prototype.loadFactory = /** - * @param {?} path - * @return {?} - */ - function (path) { - var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1]; - var /** @type {?} */ factoryClassSuffix = FACTORY_CLASS_SUFFIX; - if (exportName === undefined) { - exportName = 'default'; - factoryClassSuffix = ''; - } - return __webpack_require__(246)(this._config.factoryPathPrefix + module + this._config.factoryPathSuffix) - .then(function (module) { return module[exportName + factoryClassSuffix]; }) - .then(function (factory) { return checkNotEmpty(factory, module, exportName); }); - }; - SystemJsNgModuleLoader.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - SystemJsNgModuleLoader.ctorParameters = function () { return [ - { type: Compiler, }, - { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional },] }, - ]; }; - return SystemJsNgModuleLoader; -}()); -/** - * @param {?} value - * @param {?} modulePath - * @param {?} exportName - * @return {?} - */ -function checkNotEmpty(value, modulePath, exportName) { - if (!value) { - throw new Error("Cannot find '" + exportName + "' in '" + modulePath + "'"); - } - return value; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Represents an Embedded Template that can be used to instantiate Embedded Views. - * - * You can access a `TemplateRef`, in two ways. Via a directive placed on a `` element - * (or directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into - * the constructor of the directive using the `TemplateRef` Token. Alternatively you can query for - * the `TemplateRef` from a Component or a Directive via {\@link Query}. - * - * To instantiate Embedded Views based on a Template, use {\@link ViewContainerRef# - * createEmbeddedView}, which will create the View and attach it to the View Container. - * \@stable - * @abstract - */ -var TemplateRef = (function () { - function TemplateRef() { - } - return TemplateRef; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Represents a container where one or more Views can be attached. - * - * The container can contain two kinds of Views. Host Views, created by instantiating a - * {\@link Component} via {\@link #createComponent}, and Embedded Views, created by instantiating an - * {\@link TemplateRef Embedded Template} via {\@link #createEmbeddedView}. - * - * The location of the View Container within the containing View is specified by the Anchor - * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only - * have a single View Container. - * - * Root elements of Views attached to this container become siblings of the Anchor Element in - * the Rendered View. - * - * To access a `ViewContainerRef` of an Element, you can either place a {\@link Directive} injected - * with `ViewContainerRef` on the Element, or you obtain it via a {\@link ViewChild} query. - * \@stable - * @abstract - */ -var ViewContainerRef = (function () { - function ViewContainerRef() { - } - return ViewContainerRef; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * \@stable - * @abstract - */ -var ChangeDetectorRef = (function () { - function ChangeDetectorRef() { - } - return ChangeDetectorRef; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * \@stable - * @abstract - */ -var ViewRef = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(ViewRef, _super); - function ViewRef() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ViewRef; -}(ChangeDetectorRef)); -/** - * Represents an Angular View. - * - * - * A View is a fundamental building block of the application UI. It is the smallest grouping of - * Elements which are created and destroyed together. - * - * Properties of elements in a View can change, but the structure (number and order) of elements in - * a View cannot. Changing the structure of Elements can only be done by inserting, moving or - * removing nested Views via a {\@link ViewContainerRef}. Each View can contain many View Containers. - * - * - * ### Example - * - * Given this template... - * - * ``` - * Count: {{items.length}} - *
    - *
  • {{item}}
  • - *
- * ``` - * - * We have two {\@link TemplateRef}s: - * - * Outer {\@link TemplateRef}: - * ``` - * Count: {{items.length}} - *
    - * - *
- * ``` - * - * Inner {\@link TemplateRef}: - * ``` - *
  • {{item}}
  • - * ``` - * - * Notice that the original template is broken down into two separate {\@link TemplateRef}s. - * - * The outer/inner {\@link TemplateRef}s are then assembled into views like so: - * - * ``` - * - * Count: 2 - *
      - * - *
    • first
    • - *
    • second
    • - *
    - * - * ``` - * \@experimental - * @abstract - */ -var EmbeddedViewRef = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(EmbeddedViewRef, _super); - function EmbeddedViewRef() { - return _super !== null && _super.apply(this, arguments) || this; - } - return EmbeddedViewRef; -}(ViewRef)); -/** - * @record - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// Public API for compiler - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -var EventListener = (function () { - function EventListener(name, callback) { - this.name = name; - this.callback = callback; - } - return EventListener; -}()); -/** - * \@experimental All debugging apis are currently experimental. - */ -var DebugNode = (function () { - function DebugNode(nativeNode, parent, _debugContext) { - this._debugContext = _debugContext; - this.nativeNode = nativeNode; - if (parent && parent instanceof DebugElement) { - parent.addChild(this); - } - else { - this.parent = null; - } - this.listeners = []; - } - Object.defineProperty(DebugNode.prototype, "injector", { - get: /** - * @return {?} - */ - function () { return this._debugContext.injector; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugNode.prototype, "componentInstance", { - get: /** - * @return {?} - */ - function () { return this._debugContext.component; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugNode.prototype, "context", { - get: /** - * @return {?} - */ - function () { return this._debugContext.context; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugNode.prototype, "references", { - get: /** - * @return {?} - */ - function () { return this._debugContext.references; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugNode.prototype, "providerTokens", { - get: /** - * @return {?} - */ - function () { return this._debugContext.providerTokens; }, - enumerable: true, - configurable: true - }); - return DebugNode; -}()); -/** - * \@experimental All debugging apis are currently experimental. - */ -var DebugElement = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(DebugElement, _super); - function DebugElement(nativeNode, parent, _debugContext) { - var _this = _super.call(this, nativeNode, parent, _debugContext) || this; - _this.properties = {}; - _this.attributes = {}; - _this.classes = {}; - _this.styles = {}; - _this.childNodes = []; - _this.nativeElement = nativeNode; - return _this; - } - /** - * @param {?} child - * @return {?} - */ - DebugElement.prototype.addChild = /** - * @param {?} child - * @return {?} - */ - function (child) { - if (child) { - this.childNodes.push(child); - child.parent = this; - } - }; - /** - * @param {?} child - * @return {?} - */ - DebugElement.prototype.removeChild = /** - * @param {?} child - * @return {?} - */ - function (child) { - var /** @type {?} */ childIndex = this.childNodes.indexOf(child); - if (childIndex !== -1) { - child.parent = null; - this.childNodes.splice(childIndex, 1); - } - }; - /** - * @param {?} child - * @param {?} newChildren - * @return {?} - */ - DebugElement.prototype.insertChildrenAfter = /** - * @param {?} child - * @param {?} newChildren - * @return {?} - */ - function (child, newChildren) { - var _this = this; - var /** @type {?} */ siblingIndex = this.childNodes.indexOf(child); - if (siblingIndex !== -1) { - (_a = this.childNodes).splice.apply(_a, [siblingIndex + 1, 0].concat(newChildren)); - newChildren.forEach(function (c) { - if (c.parent) { - c.parent.removeChild(c); - } - c.parent = _this; - }); - } - var _a; - }; - /** - * @param {?} refChild - * @param {?} newChild - * @return {?} - */ - DebugElement.prototype.insertBefore = /** - * @param {?} refChild - * @param {?} newChild - * @return {?} - */ - function (refChild, newChild) { - var /** @type {?} */ refIndex = this.childNodes.indexOf(refChild); - if (refIndex === -1) { - this.addChild(newChild); - } - else { - if (newChild.parent) { - newChild.parent.removeChild(newChild); - } - newChild.parent = this; - this.childNodes.splice(refIndex, 0, newChild); - } - }; - /** - * @param {?} predicate - * @return {?} - */ - DebugElement.prototype.query = /** - * @param {?} predicate - * @return {?} - */ - function (predicate) { - var /** @type {?} */ results = this.queryAll(predicate); - return results[0] || null; - }; - /** - * @param {?} predicate - * @return {?} - */ - DebugElement.prototype.queryAll = /** - * @param {?} predicate - * @return {?} - */ - function (predicate) { - var /** @type {?} */ matches = []; - _queryElementChildren(this, predicate, matches); - return matches; - }; - /** - * @param {?} predicate - * @return {?} - */ - DebugElement.prototype.queryAllNodes = /** - * @param {?} predicate - * @return {?} - */ - function (predicate) { - var /** @type {?} */ matches = []; - _queryNodeChildren(this, predicate, matches); - return matches; - }; - Object.defineProperty(DebugElement.prototype, "children", { - get: /** - * @return {?} - */ - function () { - return /** @type {?} */ (this.childNodes.filter(function (node) { return node instanceof DebugElement; })); - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} eventName - * @param {?} eventObj - * @return {?} - */ - DebugElement.prototype.triggerEventHandler = /** - * @param {?} eventName - * @param {?} eventObj - * @return {?} - */ - function (eventName, eventObj) { - this.listeners.forEach(function (listener) { - if (listener.name == eventName) { - listener.callback(eventObj); - } - }); - }; - return DebugElement; -}(DebugNode)); -/** - * \@experimental - * @param {?} debugEls - * @return {?} - */ -function asNativeElements(debugEls) { - return debugEls.map(function (el) { return el.nativeElement; }); -} -/** - * @param {?} element - * @param {?} predicate - * @param {?} matches - * @return {?} - */ -function _queryElementChildren(element, predicate, matches) { - element.childNodes.forEach(function (node) { - if (node instanceof DebugElement) { - if (predicate(node)) { - matches.push(node); - } - _queryElementChildren(node, predicate, matches); - } - }); -} -/** - * @param {?} parentNode - * @param {?} predicate - * @param {?} matches - * @return {?} - */ -function _queryNodeChildren(parentNode, predicate, matches) { - if (parentNode instanceof DebugElement) { - parentNode.childNodes.forEach(function (node) { - if (predicate(node)) { - matches.push(node); - } - if (node instanceof DebugElement) { - _queryNodeChildren(node, predicate, matches); - } - }); - } -} -// Need to keep the nodes in a global Map so that multiple angular apps are supported. -var _nativeNodeToDebugNode = new Map(); -/** - * \@experimental - * @param {?} nativeNode - * @return {?} - */ -function getDebugNode(nativeNode) { - return _nativeNodeToDebugNode.get(nativeNode) || null; -} -/** - * @return {?} - */ - -/** - * @param {?} node - * @return {?} - */ -function indexDebugNode(node) { - _nativeNodeToDebugNode.set(node.nativeNode, node); -} -/** - * @param {?} node - * @return {?} - */ -function removeDebugNodeFromIndex(node) { - _nativeNodeToDebugNode.delete(node.nativeNode); -} -/** - * A boolean-valued function over a value, possibly including context information - * regarding that value's position in an array. - * - * \@experimental All debugging apis are currently experimental. - * @record - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} a - * @param {?} b - * @return {?} - */ -function devModeEqual(a, b) { - var /** @type {?} */ isListLikeIterableA = isListLikeIterable(a); - var /** @type {?} */ isListLikeIterableB = isListLikeIterable(b); - if (isListLikeIterableA && isListLikeIterableB) { - return areIterablesEqual(a, b, devModeEqual); - } - else { - var /** @type {?} */ isAObject = a && (typeof a === 'object' || typeof a === 'function'); - var /** @type {?} */ isBObject = b && (typeof b === 'object' || typeof b === 'function'); - if (!isListLikeIterableA && isAObject && !isListLikeIterableB && isBObject) { - return true; - } - else { - return looseIdentical(a, b); - } - } -} -/** - * Indicates that the result of a {\@link Pipe} transformation has changed even though the - * reference - * has not changed. - * - * The wrapped value will be unwrapped by change detection, and the unwrapped value will be stored. - * - * Example: - * - * ``` - * if (this._latestValue === this._latestReturnedValue) { - * return this._latestReturnedValue; - * } else { - * this._latestReturnedValue = this._latestValue; - * return WrappedValue.wrap(this._latestValue); // this will force update - * } - * ``` - * \@stable - */ -var WrappedValue = (function () { - function WrappedValue(wrapped) { - this.wrapped = wrapped; - } - /** - * @param {?} value - * @return {?} - */ - WrappedValue.wrap = /** - * @param {?} value - * @return {?} - */ - function (value) { return new WrappedValue(value); }; - return WrappedValue; -}()); -/** - * Helper class for unwrapping WrappedValue s - */ -var ValueUnwrapper = (function () { - function ValueUnwrapper() { - this.hasWrappedValue = false; - } - /** - * @param {?} value - * @return {?} - */ - ValueUnwrapper.prototype.unwrap = /** - * @param {?} value - * @return {?} - */ - function (value) { - if (value instanceof WrappedValue) { - this.hasWrappedValue = true; - return value.wrapped; - } - return value; - }; - /** - * @return {?} - */ - ValueUnwrapper.prototype.reset = /** - * @return {?} - */ - function () { this.hasWrappedValue = false; }; - return ValueUnwrapper; -}()); -/** - * Represents a basic change from a previous to a new value. - * \@stable - */ -var SimpleChange = (function () { - function SimpleChange(previousValue, currentValue, firstChange) { - this.previousValue = previousValue; - this.currentValue = currentValue; - this.firstChange = firstChange; - } - /** - * Check whether the new value is the first value assigned. - */ - /** - * Check whether the new value is the first value assigned. - * @return {?} - */ - SimpleChange.prototype.isFirstChange = /** - * Check whether the new value is the first value assigned. - * @return {?} - */ - function () { return this.firstChange; }; - return SimpleChange; -}()); -/** - * @param {?} obj - * @return {?} - */ -function isListLikeIterable(obj) { - if (!isJsObject(obj)) - return false; - return Array.isArray(obj) || - (!(obj instanceof Map) && - // JS Map are iterables but return entries as [k, v] - getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop -} -/** - * @param {?} a - * @param {?} b - * @param {?} comparator - * @return {?} - */ -function areIterablesEqual(a, b, comparator) { - var /** @type {?} */ iterator1 = a[getSymbolIterator()](); - var /** @type {?} */ iterator2 = b[getSymbolIterator()](); - while (true) { - var /** @type {?} */ item1 = iterator1.next(); - var /** @type {?} */ item2 = iterator2.next(); - if (item1.done && item2.done) - return true; - if (item1.done || item2.done) - return false; - if (!comparator(item1.value, item2.value)) - return false; - } -} -/** - * @param {?} obj - * @param {?} fn - * @return {?} - */ -function iterateListLike(obj, fn) { - if (Array.isArray(obj)) { - for (var /** @type {?} */ i = 0; i < obj.length; i++) { - fn(obj[i]); - } - } - else { - var /** @type {?} */ iterator = obj[getSymbolIterator()](); - var /** @type {?} */ item = void 0; - while (!((item = iterator.next()).done)) { - fn(item.value); - } - } -} -/** - * @param {?} o - * @return {?} - */ -function isJsObject(o) { - return o !== null && (typeof o === 'function' || typeof o === 'object'); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var DefaultIterableDifferFactory = (function () { - function DefaultIterableDifferFactory() { - } - /** - * @param {?} obj - * @return {?} - */ - DefaultIterableDifferFactory.prototype.supports = /** - * @param {?} obj - * @return {?} - */ - function (obj) { return isListLikeIterable(obj); }; - /** - * @template V - * @param {?=} trackByFn - * @return {?} - */ - DefaultIterableDifferFactory.prototype.create = /** - * @template V - * @param {?=} trackByFn - * @return {?} - */ - function (trackByFn) { - return new DefaultIterableDiffer(trackByFn); - }; - return DefaultIterableDifferFactory; -}()); -var trackByIdentity = function (index, item) { return item; }; -/** - * @deprecated v4.0.0 - Should not be part of public API. - */ -var DefaultIterableDiffer = (function () { - function DefaultIterableDiffer(trackByFn) { - this.length = 0; - this._linkedRecords = null; - this._unlinkedRecords = null; - this._previousItHead = null; - this._itHead = null; - this._itTail = null; - this._additionsHead = null; - this._additionsTail = null; - this._movesHead = null; - this._movesTail = null; - this._removalsHead = null; - this._removalsTail = null; - this._identityChangesHead = null; - this._identityChangesTail = null; - this._trackByFn = trackByFn || trackByIdentity; - } - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._itHead; record !== null; record = record._next) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachOperation = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ nextIt = this._itHead; - var /** @type {?} */ nextRemove = this._removalsHead; - var /** @type {?} */ addRemoveOffset = 0; - var /** @type {?} */ moveOffsets = null; - while (nextIt || nextRemove) { - // Figure out which is the next record to process - // Order: remove, add, move - var /** @type {?} */ record = !nextRemove || - nextIt && /** @type {?} */ ((nextIt.currentIndex)) < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ? - /** @type {?} */ ((nextIt)) : - nextRemove; - var /** @type {?} */ adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets); - var /** @type {?} */ currentIndex = record.currentIndex; - // consume the item, and adjust the addRemoveOffset and update moveDistance if necessary - if (record === nextRemove) { - addRemoveOffset--; - nextRemove = nextRemove._nextRemoved; - } - else { - nextIt = /** @type {?} */ ((nextIt))._next; - if (record.previousIndex == null) { - addRemoveOffset++; - } - else { - // INVARIANT: currentIndex < previousIndex - if (!moveOffsets) - moveOffsets = []; - var /** @type {?} */ localMovePreviousIndex = adjPreviousIndex - addRemoveOffset; - var /** @type {?} */ localCurrentIndex = /** @type {?} */ ((currentIndex)) - addRemoveOffset; - if (localMovePreviousIndex != localCurrentIndex) { - for (var /** @type {?} */ i = 0; i < localMovePreviousIndex; i++) { - var /** @type {?} */ offset = i < moveOffsets.length ? moveOffsets[i] : (moveOffsets[i] = 0); - var /** @type {?} */ index = offset + i; - if (localCurrentIndex <= index && index < localMovePreviousIndex) { - moveOffsets[i] = offset + 1; - } - } - var /** @type {?} */ previousIndex = record.previousIndex; - moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex; - } - } - } - if (adjPreviousIndex !== currentIndex) { - fn(record, adjPreviousIndex, currentIndex); - } - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachPreviousItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._previousItHead; record !== null; record = record._nextPrevious) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachAddedItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachMovedItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._movesHead; record !== null; record = record._nextMoved) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachRemovedItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._removalsHead; record !== null; record = record._nextRemoved) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultIterableDiffer.prototype.forEachIdentityChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) { - fn(record); - } - }; - /** - * @param {?} collection - * @return {?} - */ - DefaultIterableDiffer.prototype.diff = /** - * @param {?} collection - * @return {?} - */ - function (collection) { - if (collection == null) - collection = []; - if (!isListLikeIterable(collection)) { - throw new Error("Error trying to diff '" + stringify(collection) + "'. Only arrays and iterables are allowed"); - } - if (this.check(collection)) { - return this; - } - else { - return null; - } - }; - /** - * @return {?} - */ - DefaultIterableDiffer.prototype.onDestroy = /** - * @return {?} - */ - function () { }; - /** - * @param {?} collection - * @return {?} - */ - DefaultIterableDiffer.prototype.check = /** - * @param {?} collection - * @return {?} - */ - function (collection) { - var _this = this; - this._reset(); - var /** @type {?} */ record = this._itHead; - var /** @type {?} */ mayBeDirty = false; - var /** @type {?} */ index; - var /** @type {?} */ item; - var /** @type {?} */ itemTrackBy; - if (Array.isArray(collection)) { - (/** @type {?} */ (this)).length = collection.length; - for (var /** @type {?} */ index_1 = 0; index_1 < this.length; index_1++) { - item = collection[index_1]; - itemTrackBy = this._trackByFn(index_1, item); - if (record === null || !looseIdentical(record.trackById, itemTrackBy)) { - record = this._mismatch(record, item, itemTrackBy, index_1); - mayBeDirty = true; - } - else { - if (mayBeDirty) { - // TODO(misko): can we limit this to duplicates only? - record = this._verifyReinsertion(record, item, itemTrackBy, index_1); - } - if (!looseIdentical(record.item, item)) - this._addIdentityChange(record, item); - } - record = record._next; - } - } - else { - index = 0; - iterateListLike(collection, function (item) { - itemTrackBy = _this._trackByFn(index, item); - if (record === null || !looseIdentical(record.trackById, itemTrackBy)) { - record = _this._mismatch(record, item, itemTrackBy, index); - mayBeDirty = true; - } - else { - if (mayBeDirty) { - // TODO(misko): can we limit this to duplicates only? - record = _this._verifyReinsertion(record, item, itemTrackBy, index); - } - if (!looseIdentical(record.item, item)) - _this._addIdentityChange(record, item); - } - record = record._next; - index++; - }); - (/** @type {?} */ (this)).length = index; - } - this._truncate(record); - (/** @type {?} */ (this)).collection = collection; - return this.isDirty; - }; - Object.defineProperty(DefaultIterableDiffer.prototype, "isDirty", { - /* CollectionChanges is considered dirty if it has any additions, moves, removals, or identity - * changes. - */ - get: /** - * @return {?} - */ - function () { - return this._additionsHead !== null || this._movesHead !== null || - this._removalsHead !== null || this._identityChangesHead !== null; - }, - enumerable: true, - configurable: true - }); - /** - * Reset the state of the change objects to show no changes. This means set previousKey to - * currentKey, and clear all of the queues (additions, moves, removals). - * Set the previousIndexes of moved and added items to their currentIndexes - * Reset the list of additions, moves and removals - * - * @internal - */ - /** - * Reset the state of the change objects to show no changes. This means set previousKey to - * currentKey, and clear all of the queues (additions, moves, removals). - * Set the previousIndexes of moved and added items to their currentIndexes - * Reset the list of additions, moves and removals - * - * \@internal - * @return {?} - */ - DefaultIterableDiffer.prototype._reset = /** - * Reset the state of the change objects to show no changes. This means set previousKey to - * currentKey, and clear all of the queues (additions, moves, removals). - * Set the previousIndexes of moved and added items to their currentIndexes - * Reset the list of additions, moves and removals - * - * \@internal - * @return {?} - */ - function () { - if (this.isDirty) { - var /** @type {?} */ record = void 0; - var /** @type {?} */ nextRecord = void 0; - for (record = this._previousItHead = this._itHead; record !== null; record = record._next) { - record._nextPrevious = record._next; - } - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - record.previousIndex = record.currentIndex; - } - this._additionsHead = this._additionsTail = null; - for (record = this._movesHead; record !== null; record = nextRecord) { - record.previousIndex = record.currentIndex; - nextRecord = record._nextMoved; - } - this._movesHead = this._movesTail = null; - this._removalsHead = this._removalsTail = null; - this._identityChangesHead = this._identityChangesTail = null; - // todo(vicb) when assert gets supported - // assert(!this.isDirty); - } - }; - /** - * This is the core function which handles differences between collections. - * - * - `record` is the record which we saw at this position last time. If null then it is a new - * item. - * - `item` is the current item in the collection - * - `index` is the position of the item in the collection - * - * @internal - */ - /** - * This is the core function which handles differences between collections. - * - * - `record` is the record which we saw at this position last time. If null then it is a new - * item. - * - `item` is the current item in the collection - * - `index` is the position of the item in the collection - * - * \@internal - * @param {?} record - * @param {?} item - * @param {?} itemTrackBy - * @param {?} index - * @return {?} - */ - DefaultIterableDiffer.prototype._mismatch = /** - * This is the core function which handles differences between collections. - * - * - `record` is the record which we saw at this position last time. If null then it is a new - * item. - * - `item` is the current item in the collection - * - `index` is the position of the item in the collection - * - * \@internal - * @param {?} record - * @param {?} item - * @param {?} itemTrackBy - * @param {?} index - * @return {?} - */ - function (record, item, itemTrackBy, index) { - // The previous record after which we will append the current one. - var /** @type {?} */ previousRecord; - if (record === null) { - previousRecord = this._itTail; - } - else { - previousRecord = record._prev; - // Remove the record from the collection since we know it does not match the item. - this._remove(record); - } - // Attempt to see if we have seen the item before. - record = this._linkedRecords === null ? null : this._linkedRecords.get(itemTrackBy, index); - if (record !== null) { - // We have seen this before, we need to move it forward in the collection. - // But first we need to check if identity changed, so we can update in view if necessary - if (!looseIdentical(record.item, item)) - this._addIdentityChange(record, item); - this._moveAfter(record, previousRecord, index); - } - else { - // Never seen it, check evicted list. - record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy, null); - if (record !== null) { - // It is an item which we have evicted earlier: reinsert it back into the list. - // But first we need to check if identity changed, so we can update in view if necessary - if (!looseIdentical(record.item, item)) - this._addIdentityChange(record, item); - this._reinsertAfter(record, previousRecord, index); - } - else { - // It is a new item: add it. - record = - this._addAfter(new IterableChangeRecord_(item, itemTrackBy), previousRecord, index); - } - } - return record; - }; - /** - * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty) - * - * Use case: `[a, a]` => `[b, a, a]` - * - * If we did not have this check then the insertion of `b` would: - * 1) evict first `a` - * 2) insert `b` at `0` index. - * 3) leave `a` at index `1` as is. <-- this is wrong! - * 3) reinsert `a` at index 2. <-- this is wrong! - * - * The correct behavior is: - * 1) evict first `a` - * 2) insert `b` at `0` index. - * 3) reinsert `a` at index 1. - * 3) move `a` at from `1` to `2`. - * - * - * Double check that we have not evicted a duplicate item. We need to check if the item type may - * have already been removed: - * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted - * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a - * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a' - * at the end. - * - * @internal - */ - /** - * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty) - * - * Use case: `[a, a]` => `[b, a, a]` - * - * If we did not have this check then the insertion of `b` would: - * 1) evict first `a` - * 2) insert `b` at `0` index. - * 3) leave `a` at index `1` as is. <-- this is wrong! - * 3) reinsert `a` at index 2. <-- this is wrong! - * - * The correct behavior is: - * 1) evict first `a` - * 2) insert `b` at `0` index. - * 3) reinsert `a` at index 1. - * 3) move `a` at from `1` to `2`. - * - * - * Double check that we have not evicted a duplicate item. We need to check if the item type may - * have already been removed: - * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted - * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a - * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a' - * at the end. - * - * \@internal - * @param {?} record - * @param {?} item - * @param {?} itemTrackBy - * @param {?} index - * @return {?} - */ - DefaultIterableDiffer.prototype._verifyReinsertion = /** - * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty) - * - * Use case: `[a, a]` => `[b, a, a]` - * - * If we did not have this check then the insertion of `b` would: - * 1) evict first `a` - * 2) insert `b` at `0` index. - * 3) leave `a` at index `1` as is. <-- this is wrong! - * 3) reinsert `a` at index 2. <-- this is wrong! - * - * The correct behavior is: - * 1) evict first `a` - * 2) insert `b` at `0` index. - * 3) reinsert `a` at index 1. - * 3) move `a` at from `1` to `2`. - * - * - * Double check that we have not evicted a duplicate item. We need to check if the item type may - * have already been removed: - * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted - * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a - * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a' - * at the end. - * - * \@internal - * @param {?} record - * @param {?} item - * @param {?} itemTrackBy - * @param {?} index - * @return {?} - */ - function (record, item, itemTrackBy, index) { - var /** @type {?} */ reinsertRecord = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy, null); - if (reinsertRecord !== null) { - record = this._reinsertAfter(reinsertRecord, /** @type {?} */ ((record._prev)), index); - } - else if (record.currentIndex != index) { - record.currentIndex = index; - this._addToMoves(record, index); - } - return record; - }; - /** - * Get rid of any excess {@link IterableChangeRecord_}s from the previous collection - * - * - `record` The first excess {@link IterableChangeRecord_}. - * - * @internal - */ - /** - * Get rid of any excess {\@link IterableChangeRecord_}s from the previous collection - * - * - `record` The first excess {\@link IterableChangeRecord_}. - * - * \@internal - * @param {?} record - * @return {?} - */ - DefaultIterableDiffer.prototype._truncate = /** - * Get rid of any excess {\@link IterableChangeRecord_}s from the previous collection - * - * - `record` The first excess {\@link IterableChangeRecord_}. - * - * \@internal - * @param {?} record - * @return {?} - */ - function (record) { - // Anything after that needs to be removed; - while (record !== null) { - var /** @type {?} */ nextRecord = record._next; - this._addToRemovals(this._unlink(record)); - record = nextRecord; - } - if (this._unlinkedRecords !== null) { - this._unlinkedRecords.clear(); - } - if (this._additionsTail !== null) { - this._additionsTail._nextAdded = null; - } - if (this._movesTail !== null) { - this._movesTail._nextMoved = null; - } - if (this._itTail !== null) { - this._itTail._next = null; - } - if (this._removalsTail !== null) { - this._removalsTail._nextRemoved = null; - } - if (this._identityChangesTail !== null) { - this._identityChangesTail._nextIdentityChange = null; - } - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - DefaultIterableDiffer.prototype._reinsertAfter = /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - function (record, prevRecord, index) { - if (this._unlinkedRecords !== null) { - this._unlinkedRecords.remove(record); - } - var /** @type {?} */ prev = record._prevRemoved; - var /** @type {?} */ next = record._nextRemoved; - if (prev === null) { - this._removalsHead = next; - } - else { - prev._nextRemoved = next; - } - if (next === null) { - this._removalsTail = prev; - } - else { - next._prevRemoved = prev; - } - this._insertAfter(record, prevRecord, index); - this._addToMoves(record, index); - return record; - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - DefaultIterableDiffer.prototype._moveAfter = /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - function (record, prevRecord, index) { - this._unlink(record); - this._insertAfter(record, prevRecord, index); - this._addToMoves(record, index); - return record; - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - DefaultIterableDiffer.prototype._addAfter = /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - function (record, prevRecord, index) { - this._insertAfter(record, prevRecord, index); - if (this._additionsTail === null) { - // todo(vicb) - // assert(this._additionsHead === null); - this._additionsTail = this._additionsHead = record; - } - else { - // todo(vicb) - // assert(_additionsTail._nextAdded === null); - // assert(record._nextAdded === null); - this._additionsTail = this._additionsTail._nextAdded = record; - } - return record; - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - DefaultIterableDiffer.prototype._insertAfter = /** - * \@internal - * @param {?} record - * @param {?} prevRecord - * @param {?} index - * @return {?} - */ - function (record, prevRecord, index) { - // todo(vicb) - // assert(record != prevRecord); - // assert(record._next === null); - // assert(record._prev === null); - var /** @type {?} */ next = prevRecord === null ? this._itHead : prevRecord._next; - // todo(vicb) - // assert(next != record); - // assert(prevRecord != record); - record._next = next; - record._prev = prevRecord; - if (next === null) { - this._itTail = record; - } - else { - next._prev = record; - } - if (prevRecord === null) { - this._itHead = record; - } - else { - prevRecord._next = record; - } - if (this._linkedRecords === null) { - this._linkedRecords = new _DuplicateMap(); - } - this._linkedRecords.put(record); - record.currentIndex = index; - return record; - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @return {?} - */ - DefaultIterableDiffer.prototype._remove = /** - * \@internal - * @param {?} record - * @return {?} - */ - function (record) { - return this._addToRemovals(this._unlink(record)); - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @return {?} - */ - DefaultIterableDiffer.prototype._unlink = /** - * \@internal - * @param {?} record - * @return {?} - */ - function (record) { - if (this._linkedRecords !== null) { - this._linkedRecords.remove(record); - } - var /** @type {?} */ prev = record._prev; - var /** @type {?} */ next = record._next; - // todo(vicb) - // assert((record._prev = null) === null); - // assert((record._next = null) === null); - if (prev === null) { - this._itHead = next; - } - else { - prev._next = next; - } - if (next === null) { - this._itTail = prev; - } - else { - next._prev = prev; - } - return record; - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @param {?} toIndex - * @return {?} - */ - DefaultIterableDiffer.prototype._addToMoves = /** - * \@internal - * @param {?} record - * @param {?} toIndex - * @return {?} - */ - function (record, toIndex) { - // todo(vicb) - // assert(record._nextMoved === null); - if (record.previousIndex === toIndex) { - return record; - } - if (this._movesTail === null) { - // todo(vicb) - // assert(_movesHead === null); - this._movesTail = this._movesHead = record; - } - else { - // todo(vicb) - // assert(_movesTail._nextMoved === null); - this._movesTail = this._movesTail._nextMoved = record; - } - return record; - }; - /** - * @param {?} record - * @return {?} - */ - DefaultIterableDiffer.prototype._addToRemovals = /** - * @param {?} record - * @return {?} - */ - function (record) { - if (this._unlinkedRecords === null) { - this._unlinkedRecords = new _DuplicateMap(); - } - this._unlinkedRecords.put(record); - record.currentIndex = null; - record._nextRemoved = null; - if (this._removalsTail === null) { - // todo(vicb) - // assert(_removalsHead === null); - this._removalsTail = this._removalsHead = record; - record._prevRemoved = null; - } - else { - // todo(vicb) - // assert(_removalsTail._nextRemoved === null); - // assert(record._nextRemoved === null); - record._prevRemoved = this._removalsTail; - this._removalsTail = this._removalsTail._nextRemoved = record; - } - return record; - }; - /** @internal */ - /** - * \@internal - * @param {?} record - * @param {?} item - * @return {?} - */ - DefaultIterableDiffer.prototype._addIdentityChange = /** - * \@internal - * @param {?} record - * @param {?} item - * @return {?} - */ - function (record, item) { - record.item = item; - if (this._identityChangesTail === null) { - this._identityChangesTail = this._identityChangesHead = record; - } - else { - this._identityChangesTail = this._identityChangesTail._nextIdentityChange = record; - } - return record; - }; - return DefaultIterableDiffer; -}()); -/** - * \@stable - */ -var IterableChangeRecord_ = (function () { - function IterableChangeRecord_(item, trackById) { - this.item = item; - this.trackById = trackById; - this.currentIndex = null; - this.previousIndex = null; - /** - * \@internal - */ - this._nextPrevious = null; - /** - * \@internal - */ - this._prev = null; - /** - * \@internal - */ - this._next = null; - /** - * \@internal - */ - this._prevDup = null; - /** - * \@internal - */ - this._nextDup = null; - /** - * \@internal - */ - this._prevRemoved = null; - /** - * \@internal - */ - this._nextRemoved = null; - /** - * \@internal - */ - this._nextAdded = null; - /** - * \@internal - */ - this._nextMoved = null; - /** - * \@internal - */ - this._nextIdentityChange = null; - } - return IterableChangeRecord_; -}()); -var _DuplicateItemRecordList = (function () { - function _DuplicateItemRecordList() { - /** - * \@internal - */ - this._head = null; - /** - * \@internal - */ - this._tail = null; - } - /** - * Append the record to the list of duplicates. - * - * Note: by design all records in the list of duplicates hold the same value in record.item. - */ - /** - * Append the record to the list of duplicates. - * - * Note: by design all records in the list of duplicates hold the same value in record.item. - * @param {?} record - * @return {?} - */ - _DuplicateItemRecordList.prototype.add = /** - * Append the record to the list of duplicates. - * - * Note: by design all records in the list of duplicates hold the same value in record.item. - * @param {?} record - * @return {?} - */ - function (record) { - if (this._head === null) { - this._head = this._tail = record; - record._nextDup = null; - record._prevDup = null; - } - else { - /** @type {?} */ (( - // todo(vicb) - // assert(record.item == _head.item || - // record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN); - this._tail))._nextDup = record; - record._prevDup = this._tail; - record._nextDup = null; - this._tail = record; - } - }; - // Returns a IterableChangeRecord_ having IterableChangeRecord_.trackById == trackById and - // IterableChangeRecord_.currentIndex >= atOrAfterIndex - /** - * @param {?} trackById - * @param {?} atOrAfterIndex - * @return {?} - */ - _DuplicateItemRecordList.prototype.get = /** - * @param {?} trackById - * @param {?} atOrAfterIndex - * @return {?} - */ - function (trackById, atOrAfterIndex) { - var /** @type {?} */ record; - for (record = this._head; record !== null; record = record._nextDup) { - if ((atOrAfterIndex === null || atOrAfterIndex <= /** @type {?} */ ((record.currentIndex))) && - looseIdentical(record.trackById, trackById)) { - return record; - } - } - return null; - }; - /** - * Remove one {@link IterableChangeRecord_} from the list of duplicates. - * - * Returns whether the list of duplicates is empty. - */ - /** - * Remove one {\@link IterableChangeRecord_} from the list of duplicates. - * - * Returns whether the list of duplicates is empty. - * @param {?} record - * @return {?} - */ - _DuplicateItemRecordList.prototype.remove = /** - * Remove one {\@link IterableChangeRecord_} from the list of duplicates. - * - * Returns whether the list of duplicates is empty. - * @param {?} record - * @return {?} - */ - function (record) { - // todo(vicb) - // assert(() { - // // verify that the record being removed is in the list. - // for (IterableChangeRecord_ cursor = _head; cursor != null; cursor = cursor._nextDup) { - // if (identical(cursor, record)) return true; - // } - // return false; - //}); - var /** @type {?} */ prev = record._prevDup; - var /** @type {?} */ next = record._nextDup; - if (prev === null) { - this._head = next; - } - else { - prev._nextDup = next; - } - if (next === null) { - this._tail = prev; - } - else { - next._prevDup = prev; - } - return this._head === null; - }; - return _DuplicateItemRecordList; -}()); -var _DuplicateMap = (function () { - function _DuplicateMap() { - this.map = new Map(); - } - /** - * @param {?} record - * @return {?} - */ - _DuplicateMap.prototype.put = /** - * @param {?} record - * @return {?} - */ - function (record) { - var /** @type {?} */ key = record.trackById; - var /** @type {?} */ duplicates = this.map.get(key); - if (!duplicates) { - duplicates = new _DuplicateItemRecordList(); - this.map.set(key, duplicates); - } - duplicates.add(record); - }; - /** - * Retrieve the `value` using key. Because the IterableChangeRecord_ value may be one which we - * have already iterated over, we use the `atOrAfterIndex` to pretend it is not there. - * - * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we - * have any more `a`s needs to return the second `a`. - */ - /** - * Retrieve the `value` using key. Because the IterableChangeRecord_ value may be one which we - * have already iterated over, we use the `atOrAfterIndex` to pretend it is not there. - * - * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we - * have any more `a`s needs to return the second `a`. - * @param {?} trackById - * @param {?} atOrAfterIndex - * @return {?} - */ - _DuplicateMap.prototype.get = /** - * Retrieve the `value` using key. Because the IterableChangeRecord_ value may be one which we - * have already iterated over, we use the `atOrAfterIndex` to pretend it is not there. - * - * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we - * have any more `a`s needs to return the second `a`. - * @param {?} trackById - * @param {?} atOrAfterIndex - * @return {?} - */ - function (trackById, atOrAfterIndex) { - var /** @type {?} */ key = trackById; - var /** @type {?} */ recordList = this.map.get(key); - return recordList ? recordList.get(trackById, atOrAfterIndex) : null; - }; - /** - * Removes a {@link IterableChangeRecord_} from the list of duplicates. - * - * The list of duplicates also is removed from the map if it gets empty. - */ - /** - * Removes a {\@link IterableChangeRecord_} from the list of duplicates. - * - * The list of duplicates also is removed from the map if it gets empty. - * @param {?} record - * @return {?} - */ - _DuplicateMap.prototype.remove = /** - * Removes a {\@link IterableChangeRecord_} from the list of duplicates. - * - * The list of duplicates also is removed from the map if it gets empty. - * @param {?} record - * @return {?} - */ - function (record) { - var /** @type {?} */ key = record.trackById; - var /** @type {?} */ recordList = /** @type {?} */ ((this.map.get(key))); - // Remove the list of duplicates when it gets empty - if (recordList.remove(record)) { - this.map.delete(key); - } - return record; - }; - Object.defineProperty(_DuplicateMap.prototype, "isEmpty", { - get: /** - * @return {?} - */ - function () { return this.map.size === 0; }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - _DuplicateMap.prototype.clear = /** - * @return {?} - */ - function () { this.map.clear(); }; - return _DuplicateMap; -}()); -/** - * @param {?} item - * @param {?} addRemoveOffset - * @param {?} moveOffsets - * @return {?} - */ -function getPreviousIndex(item, addRemoveOffset, moveOffsets) { - var /** @type {?} */ previousIndex = item.previousIndex; - if (previousIndex === null) - return previousIndex; - var /** @type {?} */ moveOffset = 0; - if (moveOffsets && previousIndex < moveOffsets.length) { - moveOffset = moveOffsets[previousIndex]; - } - return previousIndex + addRemoveOffset + moveOffset; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var DefaultKeyValueDifferFactory = (function () { - function DefaultKeyValueDifferFactory() { - } - /** - * @param {?} obj - * @return {?} - */ - DefaultKeyValueDifferFactory.prototype.supports = /** - * @param {?} obj - * @return {?} - */ - function (obj) { return obj instanceof Map || isJsObject(obj); }; - /** - * @template K, V - * @return {?} - */ - DefaultKeyValueDifferFactory.prototype.create = /** - * @template K, V - * @return {?} - */ - function () { return new DefaultKeyValueDiffer(); }; - return DefaultKeyValueDifferFactory; -}()); -var DefaultKeyValueDiffer = (function () { - function DefaultKeyValueDiffer() { - this._records = new Map(); - this._mapHead = null; - this._appendAfter = null; - this._previousMapHead = null; - this._changesHead = null; - this._changesTail = null; - this._additionsHead = null; - this._additionsTail = null; - this._removalsHead = null; - this._removalsTail = null; - } - Object.defineProperty(DefaultKeyValueDiffer.prototype, "isDirty", { - get: /** - * @return {?} - */ - function () { - return this._additionsHead !== null || this._changesHead !== null || - this._removalsHead !== null; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} fn - * @return {?} - */ - DefaultKeyValueDiffer.prototype.forEachItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._mapHead; record !== null; record = record._next) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultKeyValueDiffer.prototype.forEachPreviousItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._previousMapHead; record !== null; record = record._nextPrevious) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultKeyValueDiffer.prototype.forEachChangedItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._changesHead; record !== null; record = record._nextChanged) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultKeyValueDiffer.prototype.forEachAddedItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - fn(record); - } - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultKeyValueDiffer.prototype.forEachRemovedItem = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var /** @type {?} */ record; - for (record = this._removalsHead; record !== null; record = record._nextRemoved) { - fn(record); - } - }; - /** - * @param {?=} map - * @return {?} - */ - DefaultKeyValueDiffer.prototype.diff = /** - * @param {?=} map - * @return {?} - */ - function (map) { - if (!map) { - map = new Map(); - } - else if (!(map instanceof Map || isJsObject(map))) { - throw new Error("Error trying to diff '" + stringify(map) + "'. Only maps and objects are allowed"); - } - return this.check(map) ? this : null; - }; - /** - * @return {?} - */ - DefaultKeyValueDiffer.prototype.onDestroy = /** - * @return {?} - */ - function () { }; - /** - * Check the current state of the map vs the previous. - * The algorithm is optimised for when the keys do no change. - */ - /** - * Check the current state of the map vs the previous. - * The algorithm is optimised for when the keys do no change. - * @param {?} map - * @return {?} - */ - DefaultKeyValueDiffer.prototype.check = /** - * Check the current state of the map vs the previous. - * The algorithm is optimised for when the keys do no change. - * @param {?} map - * @return {?} - */ - function (map) { - var _this = this; - this._reset(); - var /** @type {?} */ insertBefore = this._mapHead; - this._appendAfter = null; - this._forEach(map, function (value, key) { - if (insertBefore && insertBefore.key === key) { - _this._maybeAddToChanges(insertBefore, value); - _this._appendAfter = insertBefore; - insertBefore = insertBefore._next; - } - else { - var /** @type {?} */ record = _this._getOrCreateRecordForKey(key, value); - insertBefore = _this._insertBeforeOrAppend(insertBefore, record); - } - }); - // Items remaining at the end of the list have been deleted - if (insertBefore) { - if (insertBefore._prev) { - insertBefore._prev._next = null; - } - this._removalsHead = insertBefore; - for (var /** @type {?} */ record = insertBefore; record !== null; record = record._nextRemoved) { - if (record === this._mapHead) { - this._mapHead = null; - } - this._records.delete(record.key); - record._nextRemoved = record._next; - record.previousValue = record.currentValue; - record.currentValue = null; - record._prev = null; - record._next = null; - } - } - // Make sure tails have no next records from previous runs - if (this._changesTail) - this._changesTail._nextChanged = null; - if (this._additionsTail) - this._additionsTail._nextAdded = null; - return this.isDirty; - }; - /** - * Inserts a record before `before` or append at the end of the list when `before` is null. - * - * Notes: - * - This method appends at `this._appendAfter`, - * - This method updates `this._appendAfter`, - * - The return value is the new value for the insertion pointer. - * @param {?} before - * @param {?} record - * @return {?} - */ - DefaultKeyValueDiffer.prototype._insertBeforeOrAppend = /** - * Inserts a record before `before` or append at the end of the list when `before` is null. - * - * Notes: - * - This method appends at `this._appendAfter`, - * - This method updates `this._appendAfter`, - * - The return value is the new value for the insertion pointer. - * @param {?} before - * @param {?} record - * @return {?} - */ - function (before, record) { - if (before) { - var /** @type {?} */ prev = before._prev; - record._next = before; - record._prev = prev; - before._prev = record; - if (prev) { - prev._next = record; - } - if (before === this._mapHead) { - this._mapHead = record; - } - this._appendAfter = before; - return before; - } - if (this._appendAfter) { - this._appendAfter._next = record; - record._prev = this._appendAfter; - } - else { - this._mapHead = record; - } - this._appendAfter = record; - return null; - }; - /** - * @param {?} key - * @param {?} value - * @return {?} - */ - DefaultKeyValueDiffer.prototype._getOrCreateRecordForKey = /** - * @param {?} key - * @param {?} value - * @return {?} - */ - function (key, value) { - if (this._records.has(key)) { - var /** @type {?} */ record_1 = /** @type {?} */ ((this._records.get(key))); - this._maybeAddToChanges(record_1, value); - var /** @type {?} */ prev = record_1._prev; - var /** @type {?} */ next = record_1._next; - if (prev) { - prev._next = next; - } - if (next) { - next._prev = prev; - } - record_1._next = null; - record_1._prev = null; - return record_1; - } - var /** @type {?} */ record = new KeyValueChangeRecord_(key); - this._records.set(key, record); - record.currentValue = value; - this._addToAdditions(record); - return record; - }; - /** @internal */ - /** - * \@internal - * @return {?} - */ - DefaultKeyValueDiffer.prototype._reset = /** - * \@internal - * @return {?} - */ - function () { - if (this.isDirty) { - var /** @type {?} */ record = void 0; - // let `_previousMapHead` contain the state of the map before the changes - this._previousMapHead = this._mapHead; - for (record = this._previousMapHead; record !== null; record = record._next) { - record._nextPrevious = record._next; - } - // Update `record.previousValue` with the value of the item before the changes - // We need to update all changed items (that's those which have been added and changed) - for (record = this._changesHead; record !== null; record = record._nextChanged) { - record.previousValue = record.currentValue; - } - for (record = this._additionsHead; record != null; record = record._nextAdded) { - record.previousValue = record.currentValue; - } - this._changesHead = this._changesTail = null; - this._additionsHead = this._additionsTail = null; - this._removalsHead = null; - } - }; - /** - * @param {?} record - * @param {?} newValue - * @return {?} - */ - DefaultKeyValueDiffer.prototype._maybeAddToChanges = /** - * @param {?} record - * @param {?} newValue - * @return {?} - */ - function (record, newValue) { - if (!looseIdentical(newValue, record.currentValue)) { - record.previousValue = record.currentValue; - record.currentValue = newValue; - this._addToChanges(record); - } - }; - /** - * @param {?} record - * @return {?} - */ - DefaultKeyValueDiffer.prototype._addToAdditions = /** - * @param {?} record - * @return {?} - */ - function (record) { - if (this._additionsHead === null) { - this._additionsHead = this._additionsTail = record; - } - else { - /** @type {?} */ ((this._additionsTail))._nextAdded = record; - this._additionsTail = record; - } - }; - /** - * @param {?} record - * @return {?} - */ - DefaultKeyValueDiffer.prototype._addToChanges = /** - * @param {?} record - * @return {?} - */ - function (record) { - if (this._changesHead === null) { - this._changesHead = this._changesTail = record; - } - else { - /** @type {?} */ ((this._changesTail))._nextChanged = record; - this._changesTail = record; - } - }; - /** - * \@internal - * @template K, V - * @param {?} obj - * @param {?} fn - * @return {?} - */ - DefaultKeyValueDiffer.prototype._forEach = /** - * \@internal - * @template K, V - * @param {?} obj - * @param {?} fn - * @return {?} - */ - function (obj, fn) { - if (obj instanceof Map) { - obj.forEach(fn); - } - else { - Object.keys(obj).forEach(function (k) { return fn(obj[k], k); }); - } - }; - return DefaultKeyValueDiffer; -}()); -/** - * \@stable - */ -var KeyValueChangeRecord_ = (function () { - function KeyValueChangeRecord_(key) { - this.key = key; - this.previousValue = null; - this.currentValue = null; - /** - * \@internal - */ - this._nextPrevious = null; - /** - * \@internal - */ - this._next = null; - /** - * \@internal - */ - this._prev = null; - /** - * \@internal - */ - this._nextAdded = null; - /** - * \@internal - */ - this._nextRemoved = null; - /** - * \@internal - */ - this._nextChanged = null; - } - return KeyValueChangeRecord_; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A strategy for tracking changes over time to an iterable. Used by {\@link NgForOf} to - * respond to changes in an iterable by effecting equivalent changes in the DOM. - * - * \@stable - * @record - */ - -/** - * An object describing the changes in the `Iterable` collection since last time - * `IterableDiffer#diff()` was invoked. - * - * \@stable - * @record - */ - -/** - * Record representing the item change information. - * - * \@stable - * @record - */ - -/** - * @deprecated v4.0.0 - Use IterableChangeRecord instead. - * @record - */ - -/** - * An optional function passed into {\@link NgForOf} that defines how to track - * items in an iterable (e.g. fby index or id) - * - * \@stable - * @record - */ - -/** - * Provides a factory for {\@link IterableDiffer}. - * - * \@stable - * @record - */ - -/** - * A repository of different iterable diffing strategies used by NgFor, NgClass, and others. - * \@stable - */ -var IterableDiffers = (function () { - function IterableDiffers(factories) { - this.factories = factories; - } - /** - * @param {?} factories - * @param {?=} parent - * @return {?} - */ - IterableDiffers.create = /** - * @param {?} factories - * @param {?=} parent - * @return {?} - */ - function (factories, parent) { - if (parent != null) { - var /** @type {?} */ copied = parent.factories.slice(); - factories = factories.concat(copied); - return new IterableDiffers(factories); - } - else { - return new IterableDiffers(factories); - } - }; - /** - * Takes an array of {@link IterableDifferFactory} and returns a provider used to extend the - * inherited {@link IterableDiffers} instance with the provided factories and return a new - * {@link IterableDiffers} instance. - * - * The following example shows how to extend an existing list of factories, - * which will only be applied to the injector for this component and its children. - * This step is all that's required to make a new {@link IterableDiffer} available. - * - * ### Example - * - * ``` - * @Component({ - * viewProviders: [ - * IterableDiffers.extend([new ImmutableListDiffer()]) - * ] - * }) - * ``` - */ - /** - * Takes an array of {\@link IterableDifferFactory} and returns a provider used to extend the - * inherited {\@link IterableDiffers} instance with the provided factories and return a new - * {\@link IterableDiffers} instance. - * - * The following example shows how to extend an existing list of factories, - * which will only be applied to the injector for this component and its children. - * This step is all that's required to make a new {\@link IterableDiffer} available. - * - * ### Example - * - * ``` - * \@Component({ - * viewProviders: [ - * IterableDiffers.extend([new ImmutableListDiffer()]) - * ] - * }) - * ``` - * @param {?} factories - * @return {?} - */ - IterableDiffers.extend = /** - * Takes an array of {\@link IterableDifferFactory} and returns a provider used to extend the - * inherited {\@link IterableDiffers} instance with the provided factories and return a new - * {\@link IterableDiffers} instance. - * - * The following example shows how to extend an existing list of factories, - * which will only be applied to the injector for this component and its children. - * This step is all that's required to make a new {\@link IterableDiffer} available. - * - * ### Example - * - * ``` - * \@Component({ - * viewProviders: [ - * IterableDiffers.extend([new ImmutableListDiffer()]) - * ] - * }) - * ``` - * @param {?} factories - * @return {?} - */ - function (factories) { - return { - provide: IterableDiffers, - useFactory: function (parent) { - if (!parent) { - // Typically would occur when calling IterableDiffers.extend inside of dependencies passed - // to - // bootstrap(), which would override default pipes instead of extending them. - throw new Error('Cannot extend IterableDiffers without a parent injector'); - } - return IterableDiffers.create(factories, parent); - }, - // Dependency technically isn't optional, but we can provide a better error message this way. - deps: [[IterableDiffers, new SkipSelf(), new Optional()]] - }; - }; - /** - * @param {?} iterable - * @return {?} - */ - IterableDiffers.prototype.find = /** - * @param {?} iterable - * @return {?} - */ - function (iterable) { - var /** @type {?} */ factory = this.factories.find(function (f) { return f.supports(iterable); }); - if (factory != null) { - return factory; - } - else { - throw new Error("Cannot find a differ supporting object '" + iterable + "' of type '" + getTypeNameForDebugging(iterable) + "'"); - } - }; - return IterableDiffers; -}()); -/** - * @param {?} type - * @return {?} - */ -function getTypeNameForDebugging(type) { - return type['name'] || typeof type; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A differ that tracks changes made to an object over time. - * - * \@stable - * @record - */ - -/** - * An object describing the changes in the `Map` or `{[k:string]: string}` since last time - * `KeyValueDiffer#diff()` was invoked. - * - * \@stable - * @record - */ - -/** - * Record representing the item change information. - * - * \@stable - * @record - */ - -/** - * Provides a factory for {\@link KeyValueDiffer}. - * - * \@stable - * @record - */ - -/** - * A repository of different Map diffing strategies used by NgClass, NgStyle, and others. - * \@stable - */ -var KeyValueDiffers = (function () { - function KeyValueDiffers(factories) { - this.factories = factories; - } - /** - * @template S - * @param {?} factories - * @param {?=} parent - * @return {?} - */ - KeyValueDiffers.create = /** - * @template S - * @param {?} factories - * @param {?=} parent - * @return {?} - */ - function (factories, parent) { - if (parent) { - var /** @type {?} */ copied = parent.factories.slice(); - factories = factories.concat(copied); - } - return new KeyValueDiffers(factories); - }; - /** - * Takes an array of {@link KeyValueDifferFactory} and returns a provider used to extend the - * inherited {@link KeyValueDiffers} instance with the provided factories and return a new - * {@link KeyValueDiffers} instance. - * - * The following example shows how to extend an existing list of factories, - * which will only be applied to the injector for this component and its children. - * This step is all that's required to make a new {@link KeyValueDiffer} available. - * - * ### Example - * - * ``` - * @Component({ - * viewProviders: [ - * KeyValueDiffers.extend([new ImmutableMapDiffer()]) - * ] - * }) - * ``` - */ - /** - * Takes an array of {\@link KeyValueDifferFactory} and returns a provider used to extend the - * inherited {\@link KeyValueDiffers} instance with the provided factories and return a new - * {\@link KeyValueDiffers} instance. - * - * The following example shows how to extend an existing list of factories, - * which will only be applied to the injector for this component and its children. - * This step is all that's required to make a new {\@link KeyValueDiffer} available. - * - * ### Example - * - * ``` - * \@Component({ - * viewProviders: [ - * KeyValueDiffers.extend([new ImmutableMapDiffer()]) - * ] - * }) - * ``` - * @template S - * @param {?} factories - * @return {?} - */ - KeyValueDiffers.extend = /** - * Takes an array of {\@link KeyValueDifferFactory} and returns a provider used to extend the - * inherited {\@link KeyValueDiffers} instance with the provided factories and return a new - * {\@link KeyValueDiffers} instance. - * - * The following example shows how to extend an existing list of factories, - * which will only be applied to the injector for this component and its children. - * This step is all that's required to make a new {\@link KeyValueDiffer} available. - * - * ### Example - * - * ``` - * \@Component({ - * viewProviders: [ - * KeyValueDiffers.extend([new ImmutableMapDiffer()]) - * ] - * }) - * ``` - * @template S - * @param {?} factories - * @return {?} - */ - function (factories) { - return { - provide: KeyValueDiffers, - useFactory: function (parent) { - if (!parent) { - // Typically would occur when calling KeyValueDiffers.extend inside of dependencies passed - // to bootstrap(), which would override default pipes instead of extending them. - throw new Error('Cannot extend KeyValueDiffers without a parent injector'); - } - return KeyValueDiffers.create(factories, parent); - }, - // Dependency technically isn't optional, but we can provide a better error message this way. - deps: [[KeyValueDiffers, new SkipSelf(), new Optional()]] - }; - }; - /** - * @param {?} kv - * @return {?} - */ - KeyValueDiffers.prototype.find = /** - * @param {?} kv - * @return {?} - */ - function (kv) { - var /** @type {?} */ factory = this.factories.find(function (f) { return f.supports(kv); }); - if (factory) { - return factory; - } - throw new Error("Cannot find a differ supporting object '" + kv + "'"); - }; - return KeyValueDiffers; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Structural diffing for `Object`s and `Map`s. - */ -var keyValDiff = [new DefaultKeyValueDifferFactory()]; -/** - * Structural diffing for `Iterable` types such as `Array`s. - */ -var iterableDiff = [new DefaultIterableDifferFactory()]; -var defaultIterableDiffers = new IterableDiffers(iterableDiff); -var defaultKeyValueDiffers = new KeyValueDiffers(keyValDiff); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @module - * @description - * Change detection enables data binding in Angular. - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var _CORE_PLATFORM_PROVIDERS = [ - // Set a default platform name for platforms that don't set it explicitly. - { provide: PLATFORM_ID, useValue: 'unknown' }, - { provide: PlatformRef, deps: [Injector] }, - { provide: TestabilityRegistry, deps: [] }, - { provide: Console, deps: [] }, -]; -/** - * This platform has to be included in any other platform - * - * \@experimental - */ -var platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * \@experimental i18n support is experimental. - */ -var LOCALE_ID = new InjectionToken('LocaleId'); -/** - * \@experimental i18n support is experimental. - */ -var TRANSLATIONS = new InjectionToken('Translations'); -/** - * \@experimental i18n support is experimental. - */ -var TRANSLATIONS_FORMAT = new InjectionToken('TranslationsFormat'); -/** @enum {number} */ -var MissingTranslationStrategy = { - Error: 0, - Warning: 1, - Ignore: 2, -}; -MissingTranslationStrategy[MissingTranslationStrategy.Error] = "Error"; -MissingTranslationStrategy[MissingTranslationStrategy.Warning] = "Warning"; -MissingTranslationStrategy[MissingTranslationStrategy.Ignore] = "Ignore"; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @return {?} - */ -function _iterableDiffersFactory() { - return defaultIterableDiffers; -} -/** - * @return {?} - */ -function _keyValueDiffersFactory() { - return defaultKeyValueDiffers; -} -/** - * @param {?=} locale - * @return {?} - */ -function _localeFactory(locale) { - return locale || 'en-US'; -} -/** - * This module includes the providers of \@angular/core that are needed - * to bootstrap components via `ApplicationRef`. - * - * \@experimental - */ -var ApplicationModule = (function () { - // Inject ApplicationRef to make it eager... - function ApplicationModule(appRef) { - } - ApplicationModule.decorators = [ - { type: NgModule, args: [{ - providers: [ - ApplicationRef, - ApplicationInitStatus, - Compiler, - APP_ID_RANDOM_PROVIDER, - { provide: IterableDiffers, useFactory: _iterableDiffersFactory }, - { provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory }, - { - provide: LOCALE_ID, - useFactory: _localeFactory, - deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]] - }, - ] - },] }, - ]; - /** @nocollapse */ - ApplicationModule.ctorParameters = function () { return [ - { type: ApplicationRef, }, - ]; }; - return ApplicationModule; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** @enum {number} */ -var SecurityContext = { - NONE: 0, - HTML: 1, - STYLE: 2, - SCRIPT: 3, - URL: 4, - RESOURCE_URL: 5, -}; -SecurityContext[SecurityContext.NONE] = "NONE"; -SecurityContext[SecurityContext.HTML] = "HTML"; -SecurityContext[SecurityContext.STYLE] = "STYLE"; -SecurityContext[SecurityContext.SCRIPT] = "SCRIPT"; -SecurityContext[SecurityContext.URL] = "URL"; -SecurityContext[SecurityContext.RESOURCE_URL] = "RESOURCE_URL"; -/** - * Sanitizer is used by the views to sanitize potentially dangerous values. - * - * \@stable - * @abstract - */ -var Sanitizer = (function () { - function Sanitizer() { - } - return Sanitizer; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Factory for ViewDefinitions/NgModuleDefinitions. - * We use a function so we can reexeute it in case an error happens and use the given logger - * function to log the error from the definition of the node, which is shown in all browser - * logs. - * @record - */ - -/** - * Function to call console.error at the right source location. This is an indirection - * via another function as browser will log the location that actually called - * `console.error`. - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * A node definition in the view. - * - * Note: We use one type for all nodes so that loops that loop over all nodes - * of a ViewDefinition stay monomorphic! - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * View instance data. - * Attention: Adding fields to this is performance sensitive! - * @record - */ - -/** - * @record - */ - -/** - * Data for an instantiated NodeType.Text. - * - * Attention: Adding fields to this is performance sensitive! - * @record - */ - -/** - * Accessor for view.nodes, enforcing that every usage site stays monomorphic. - * @param {?} view - * @param {?} index - * @return {?} - */ -function asTextData(view, index) { - return /** @type {?} */ (view.nodes[index]); -} -/** - * Data for an instantiated NodeType.Element. - * - * Attention: Adding fields to this is performance sensitive! - * @record - */ - -/** - * @record - */ - -/** - * @record - */ - -/** - * Accessor for view.nodes, enforcing that every usage site stays monomorphic. - * @param {?} view - * @param {?} index - * @return {?} - */ -function asElementData(view, index) { - return /** @type {?} */ (view.nodes[index]); -} -/** - * Data for an instantiated NodeType.Provider. - * - * Attention: Adding fields to this is performance sensitive! - * @record - */ - -/** - * Accessor for view.nodes, enforcing that every usage site stays monomorphic. - * @param {?} view - * @param {?} index - * @return {?} - */ -function asProviderData(view, index) { - return /** @type {?} */ (view.nodes[index]); -} -/** - * Data for an instantiated NodeType.PureExpression. - * - * Attention: Adding fields to this is performance sensitive! - * @record - */ - -/** - * Accessor for view.nodes, enforcing that every usage site stays monomorphic. - * @param {?} view - * @param {?} index - * @return {?} - */ -function asPureExpressionData(view, index) { - return /** @type {?} */ (view.nodes[index]); -} -/** - * Accessor for view.nodes, enforcing that every usage site stays monomorphic. - * @param {?} view - * @param {?} index - * @return {?} - */ -function asQueryList(view, index) { - return /** @type {?} */ (view.nodes[index]); -} -/** - * @record - */ - -/** - * @abstract - */ -var DebugContext = (function () { - function DebugContext() { - } - return DebugContext; -}()); -/** - * @record - */ - -/** - * This object is used to prevent cycles in the source files and to have a place where - * debug mode can hook it. It is lazily filled when `isDevMode` is known. - */ -var Services = { - setCurrentNode: /** @type {?} */ ((undefined)), - createRootView: /** @type {?} */ ((undefined)), - createEmbeddedView: /** @type {?} */ ((undefined)), - createComponentView: /** @type {?} */ ((undefined)), - createNgModuleRef: /** @type {?} */ ((undefined)), - overrideProvider: /** @type {?} */ ((undefined)), - clearProviderOverrides: /** @type {?} */ ((undefined)), - checkAndUpdateView: /** @type {?} */ ((undefined)), - checkNoChangesView: /** @type {?} */ ((undefined)), - destroyView: /** @type {?} */ ((undefined)), - resolveDep: /** @type {?} */ ((undefined)), - createDebugContext: /** @type {?} */ ((undefined)), - handleEvent: /** @type {?} */ ((undefined)), - updateDirectives: /** @type {?} */ ((undefined)), - updateRenderer: /** @type {?} */ ((undefined)), - dirtyParentQueries: /** @type {?} */ ((undefined)), -}; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} context - * @param {?} oldValue - * @param {?} currValue - * @param {?} isFirstCheck - * @return {?} - */ -function expressionChangedAfterItHasBeenCheckedError(context, oldValue, currValue, isFirstCheck) { - var /** @type {?} */ msg = "ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '" + oldValue + "'. Current value: '" + currValue + "'."; - if (isFirstCheck) { - msg += - " It seems like the view has been created after its parent and its children have been dirty checked." + - " Has it been created in a change detection hook ?"; - } - return viewDebugError(msg, context); -} -/** - * @param {?} err - * @param {?} context - * @return {?} - */ -function viewWrappedDebugError(err, context) { - if (!(err instanceof Error)) { - // errors that are not Error instances don't have a stack, - // so it is ok to wrap them into a new Error object... - err = new Error(err.toString()); - } - _addDebugContext(err, context); - return err; -} -/** - * @param {?} msg - * @param {?} context - * @return {?} - */ -function viewDebugError(msg, context) { - var /** @type {?} */ err = new Error(msg); - _addDebugContext(err, context); - return err; -} -/** - * @param {?} err - * @param {?} context - * @return {?} - */ -function _addDebugContext(err, context) { - (/** @type {?} */ (err))[ERROR_DEBUG_CONTEXT] = context; - (/** @type {?} */ (err))[ERROR_LOGGER] = context.logError.bind(context); -} -/** - * @param {?} err - * @return {?} - */ -function isViewDebugError(err) { - return !!getDebugContext(err); -} -/** - * @param {?} action - * @return {?} - */ -function viewDestroyedError(action) { - return new Error("ViewDestroyedError: Attempt to use a destroyed view: " + action); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var NOOP = function () { }; -var _tokenKeyCache = new Map(); -/** - * @param {?} token - * @return {?} - */ -function tokenKey(token) { - var /** @type {?} */ key = _tokenKeyCache.get(token); - if (!key) { - key = stringify(token) + '_' + _tokenKeyCache.size; - _tokenKeyCache.set(token, key); - } - return key; -} -/** - * @param {?} view - * @param {?} nodeIdx - * @param {?} bindingIdx - * @param {?} value - * @return {?} - */ -function unwrapValue(view, nodeIdx, bindingIdx, value) { - if (value instanceof WrappedValue) { - value = value.wrapped; - var /** @type {?} */ globalBindingIdx = view.def.nodes[nodeIdx].bindingIndex + bindingIdx; - var /** @type {?} */ oldValue = view.oldValues[globalBindingIdx]; - if (oldValue instanceof WrappedValue) { - oldValue = oldValue.wrapped; - } - view.oldValues[globalBindingIdx] = new WrappedValue(oldValue); - } - return value; -} -var UNDEFINED_RENDERER_TYPE_ID = '$$undefined'; -var EMPTY_RENDERER_TYPE_ID = '$$empty'; -/** - * @param {?} values - * @return {?} - */ -function createRendererType2(values) { - return { - id: UNDEFINED_RENDERER_TYPE_ID, - styles: values.styles, - encapsulation: values.encapsulation, - data: values.data - }; -} -var _renderCompCount = 0; -/** - * @param {?=} type - * @return {?} - */ -function resolveRendererType2(type) { - if (type && type.id === UNDEFINED_RENDERER_TYPE_ID) { - // first time we see this RendererType2. Initialize it... - var /** @type {?} */ isFilled = ((type.encapsulation != null && type.encapsulation !== ViewEncapsulation.None) || - type.styles.length || Object.keys(type.data).length); - if (isFilled) { - type.id = "c" + _renderCompCount++; - } - else { - type.id = EMPTY_RENDERER_TYPE_ID; - } - } - if (type && type.id === EMPTY_RENDERER_TYPE_ID) { - type = null; - } - return type || null; -} -/** - * @param {?} view - * @param {?} def - * @param {?} bindingIdx - * @param {?} value - * @return {?} - */ -function checkBinding(view, def, bindingIdx, value) { - var /** @type {?} */ oldValues = view.oldValues; - if ((view.state & 2 /* FirstCheck */) || - !looseIdentical(oldValues[def.bindingIndex + bindingIdx], value)) { - return true; - } - return false; -} -/** - * @param {?} view - * @param {?} def - * @param {?} bindingIdx - * @param {?} value - * @return {?} - */ -function checkAndUpdateBinding(view, def, bindingIdx, value) { - if (checkBinding(view, def, bindingIdx, value)) { - view.oldValues[def.bindingIndex + bindingIdx] = value; - return true; - } - return false; -} -/** - * @param {?} view - * @param {?} def - * @param {?} bindingIdx - * @param {?} value - * @return {?} - */ -function checkBindingNoChanges(view, def, bindingIdx, value) { - var /** @type {?} */ oldValue = view.oldValues[def.bindingIndex + bindingIdx]; - if ((view.state & 1 /* BeforeFirstCheck */) || !devModeEqual(oldValue, value)) { - throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.nodeIndex), oldValue, value, (view.state & 1 /* BeforeFirstCheck */) !== 0); - } -} -/** - * @param {?} view - * @return {?} - */ -function markParentViewsForCheck(view) { - var /** @type {?} */ currView = view; - while (currView) { - if (currView.def.flags & 2 /* OnPush */) { - currView.state |= 8 /* ChecksEnabled */; - } - currView = currView.viewContainerParent || currView.parent; - } -} -/** - * @param {?} view - * @param {?} endView - * @return {?} - */ -function markParentViewsForCheckProjectedViews(view, endView) { - var /** @type {?} */ currView = view; - while (currView && currView !== endView) { - currView.state |= 64 /* CheckProjectedViews */; - currView = currView.viewContainerParent || currView.parent; - } -} -/** - * @param {?} view - * @param {?} nodeIndex - * @param {?} eventName - * @param {?} event - * @return {?} - */ -function dispatchEvent(view, nodeIndex, eventName, event) { - try { - var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex]; - var /** @type {?} */ startView = nodeDef.flags & 33554432 /* ComponentView */ ? - asElementData(view, nodeIndex).componentView : - view; - markParentViewsForCheck(startView); - return Services.handleEvent(view, nodeIndex, eventName, event); - } - catch (/** @type {?} */ e) { - // Attention: Don't rethrow, as it would cancel Observable subscriptions! - view.root.errorHandler.handleError(e); - } -} -/** - * @param {?} view - * @return {?} - */ -function declaredViewContainer(view) { - if (view.parent) { - var /** @type {?} */ parentView = view.parent; - return asElementData(parentView, /** @type {?} */ ((view.parentNodeDef)).nodeIndex); - } - return null; -} -/** - * for component views, this is the host element. - * for embedded views, this is the index of the parent node - * that contains the view container. - * @param {?} view - * @return {?} - */ -function viewParentEl(view) { - var /** @type {?} */ parentView = view.parent; - if (parentView) { - return /** @type {?} */ ((view.parentNodeDef)).parent; - } - else { - return null; - } -} -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function renderNode(view, def) { - switch (def.flags & 201347067 /* Types */) { - case 1 /* TypeElement */: - return asElementData(view, def.nodeIndex).renderElement; - case 2 /* TypeText */: - return asTextData(view, def.nodeIndex).renderText; - } -} -/** - * @param {?} target - * @param {?} name - * @return {?} - */ -function elementEventFullName(target, name) { - return target ? target + ":" + name : name; -} -/** - * @param {?} view - * @return {?} - */ -function isComponentView(view) { - return !!view.parent && !!(/** @type {?} */ ((view.parentNodeDef)).flags & 32768 /* Component */); -} -/** - * @param {?} view - * @return {?} - */ -function isEmbeddedView(view) { - return !!view.parent && !(/** @type {?} */ ((view.parentNodeDef)).flags & 32768 /* Component */); -} -/** - * @param {?} queryId - * @return {?} - */ -function filterQueryId(queryId) { - return 1 << (queryId % 32); -} -/** - * @param {?} matchedQueriesDsl - * @return {?} - */ -function splitMatchedQueriesDsl(matchedQueriesDsl) { - var /** @type {?} */ matchedQueries = {}; - var /** @type {?} */ matchedQueryIds = 0; - var /** @type {?} */ references = {}; - if (matchedQueriesDsl) { - matchedQueriesDsl.forEach(function (_a) { - var queryId = _a[0], valueType = _a[1]; - if (typeof queryId === 'number') { - matchedQueries[queryId] = valueType; - matchedQueryIds |= filterQueryId(queryId); - } - else { - references[queryId] = valueType; - } - }); - } - return { matchedQueries: matchedQueries, references: references, matchedQueryIds: matchedQueryIds }; -} -/** - * @param {?} deps - * @return {?} - */ -function splitDepsDsl(deps) { - return deps.map(function (value) { - var /** @type {?} */ token; - var /** @type {?} */ flags; - if (Array.isArray(value)) { - flags = value[0], token = value[1]; - } - else { - flags = 0 /* None */; - token = value; - } - return { flags: flags, token: token, tokenKey: tokenKey(token) }; - }); -} -/** - * @param {?} view - * @param {?} renderHost - * @param {?} def - * @return {?} - */ -function getParentRenderElement(view, renderHost, def) { - var /** @type {?} */ renderParent = def.renderParent; - if (renderParent) { - if ((renderParent.flags & 1 /* TypeElement */) === 0 || - (renderParent.flags & 33554432 /* ComponentView */) === 0 || - (/** @type {?} */ ((renderParent.element)).componentRendererType && /** @type {?} */ ((/** @type {?} */ ((renderParent.element)).componentRendererType)).encapsulation === ViewEncapsulation.Native)) { - // only children of non components, or children of components with native encapsulation should - // be attached. - return asElementData(view, /** @type {?} */ ((def.renderParent)).nodeIndex).renderElement; - } - } - else { - return renderHost; - } -} -var DEFINITION_CACHE = new WeakMap(); -/** - * @template D - * @param {?} factory - * @return {?} - */ -function resolveDefinition(factory) { - var /** @type {?} */ value = /** @type {?} */ (((DEFINITION_CACHE.get(factory)))); - if (!value) { - value = factory(function () { return NOOP; }); - value.factory = factory; - DEFINITION_CACHE.set(factory, value); - } - return value; -} -/** - * @param {?} view - * @return {?} - */ -function rootRenderNodes(view) { - var /** @type {?} */ renderNodes = []; - visitRootRenderNodes(view, 0 /* Collect */, undefined, undefined, renderNodes); - return renderNodes; -} -/** - * @param {?} view - * @param {?} action - * @param {?} parentNode - * @param {?} nextSibling - * @param {?=} target - * @return {?} - */ -function visitRootRenderNodes(view, action, parentNode, nextSibling, target) { - // We need to re-compute the parent node in case the nodes have been moved around manually - if (action === 3 /* RemoveChild */) { - parentNode = view.renderer.parentNode(renderNode(view, /** @type {?} */ ((view.def.lastRenderRootNode)))); - } - visitSiblingRenderNodes(view, action, 0, view.def.nodes.length - 1, parentNode, nextSibling, target); -} -/** - * @param {?} view - * @param {?} action - * @param {?} startIndex - * @param {?} endIndex - * @param {?} parentNode - * @param {?} nextSibling - * @param {?=} target - * @return {?} - */ -function visitSiblingRenderNodes(view, action, startIndex, endIndex, parentNode, nextSibling, target) { - for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if (nodeDef.flags & (1 /* TypeElement */ | 2 /* TypeText */ | 8 /* TypeNgContent */)) { - visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target); - } - // jump to next sibling - i += nodeDef.childCount; - } -} -/** - * @param {?} view - * @param {?} ngContentIndex - * @param {?} action - * @param {?} parentNode - * @param {?} nextSibling - * @param {?=} target - * @return {?} - */ -function visitProjectedRenderNodes(view, ngContentIndex, action, parentNode, nextSibling, target) { - var /** @type {?} */ compView = view; - while (compView && !isComponentView(compView)) { - compView = compView.parent; - } - var /** @type {?} */ hostView = /** @type {?} */ ((compView)).parent; - var /** @type {?} */ hostElDef = viewParentEl(/** @type {?} */ ((compView))); - var /** @type {?} */ startIndex = /** @type {?} */ ((hostElDef)).nodeIndex + 1; - var /** @type {?} */ endIndex = /** @type {?} */ ((hostElDef)).nodeIndex + /** @type {?} */ ((hostElDef)).childCount; - for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) { - var /** @type {?} */ nodeDef = /** @type {?} */ ((hostView)).def.nodes[i]; - if (nodeDef.ngContentIndex === ngContentIndex) { - visitRenderNode(/** @type {?} */ ((hostView)), nodeDef, action, parentNode, nextSibling, target); - } - // jump to next sibling - i += nodeDef.childCount; - } - if (!/** @type {?} */ ((hostView)).parent) { - // a root view - var /** @type {?} */ projectedNodes = view.root.projectableNodes[ngContentIndex]; - if (projectedNodes) { - for (var /** @type {?} */ i = 0; i < projectedNodes.length; i++) { - execRenderNodeAction(view, projectedNodes[i], action, parentNode, nextSibling, target); - } - } - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} action - * @param {?} parentNode - * @param {?} nextSibling - * @param {?=} target - * @return {?} - */ -function visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target) { - if (nodeDef.flags & 8 /* TypeNgContent */) { - visitProjectedRenderNodes(view, /** @type {?} */ ((nodeDef.ngContent)).index, action, parentNode, nextSibling, target); - } - else { - var /** @type {?} */ rn = renderNode(view, nodeDef); - if (action === 3 /* RemoveChild */ && (nodeDef.flags & 33554432 /* ComponentView */) && - (nodeDef.bindingFlags & 48 /* CatSyntheticProperty */)) { - // Note: we might need to do both actions. - if (nodeDef.bindingFlags & (16 /* SyntheticProperty */)) { - execRenderNodeAction(view, rn, action, parentNode, nextSibling, target); - } - if (nodeDef.bindingFlags & (32 /* SyntheticHostProperty */)) { - var /** @type {?} */ compView = asElementData(view, nodeDef.nodeIndex).componentView; - execRenderNodeAction(compView, rn, action, parentNode, nextSibling, target); - } - } - else { - execRenderNodeAction(view, rn, action, parentNode, nextSibling, target); - } - if (nodeDef.flags & 16777216 /* EmbeddedViews */) { - var /** @type {?} */ embeddedViews = /** @type {?} */ ((asElementData(view, nodeDef.nodeIndex).viewContainer))._embeddedViews; - for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) { - visitRootRenderNodes(embeddedViews[k], action, parentNode, nextSibling, target); - } - } - if (nodeDef.flags & 1 /* TypeElement */ && !/** @type {?} */ ((nodeDef.element)).name) { - visitSiblingRenderNodes(view, action, nodeDef.nodeIndex + 1, nodeDef.nodeIndex + nodeDef.childCount, parentNode, nextSibling, target); - } - } -} -/** - * @param {?} view - * @param {?} renderNode - * @param {?} action - * @param {?} parentNode - * @param {?} nextSibling - * @param {?=} target - * @return {?} - */ -function execRenderNodeAction(view, renderNode, action, parentNode, nextSibling, target) { - var /** @type {?} */ renderer = view.renderer; - switch (action) { - case 1 /* AppendChild */: - renderer.appendChild(parentNode, renderNode); - break; - case 2 /* InsertBefore */: - renderer.insertBefore(parentNode, renderNode, nextSibling); - break; - case 3 /* RemoveChild */: - renderer.removeChild(parentNode, renderNode); - break; - case 0 /* Collect */: - /** @type {?} */ ((target)).push(renderNode); - break; - } -} -var NS_PREFIX_RE = /^:([^:]+):(.+)$/; -/** - * @param {?} name - * @return {?} - */ -function splitNamespace(name) { - if (name[0] === ':') { - var /** @type {?} */ match = /** @type {?} */ ((name.match(NS_PREFIX_RE))); - return [match[1], match[2]]; - } - return ['', name]; -} -/** - * @param {?} bindings - * @return {?} - */ -function calcBindingFlags(bindings) { - var /** @type {?} */ flags = 0; - for (var /** @type {?} */ i = 0; i < bindings.length; i++) { - flags |= bindings[i].flags; - } - return flags; -} -/** - * @param {?} valueCount - * @param {?} constAndInterp - * @return {?} - */ -function interpolate(valueCount, constAndInterp) { - var /** @type {?} */ result = ''; - for (var /** @type {?} */ i = 0; i < valueCount * 2; i = i + 2) { - result = result + constAndInterp[i] + _toStringWithNull(constAndInterp[i + 1]); - } - return result + constAndInterp[valueCount * 2]; -} -/** - * @param {?} valueCount - * @param {?} c0 - * @param {?} a1 - * @param {?} c1 - * @param {?=} a2 - * @param {?=} c2 - * @param {?=} a3 - * @param {?=} c3 - * @param {?=} a4 - * @param {?=} c4 - * @param {?=} a5 - * @param {?=} c5 - * @param {?=} a6 - * @param {?=} c6 - * @param {?=} a7 - * @param {?=} c7 - * @param {?=} a8 - * @param {?=} c8 - * @param {?=} a9 - * @param {?=} c9 - * @return {?} - */ -function inlineInterpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) { - switch (valueCount) { - case 1: - return c0 + _toStringWithNull(a1) + c1; - case 2: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2; - case 3: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3; - case 4: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3 + _toStringWithNull(a4) + c4; - case 5: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5; - case 6: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + c6; - case 7: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + - c6 + _toStringWithNull(a7) + c7; - case 8: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + - c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8; - case 9: - return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) + - c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + - c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8 + _toStringWithNull(a9) + c9; - default: - throw new Error("Does not support more than 9 expressions"); - } -} -/** - * @param {?} v - * @return {?} - */ -function _toStringWithNull(v) { - return v != null ? v.toString() : ''; -} -var EMPTY_ARRAY = []; -var EMPTY_MAP = {}; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @param {?} flags - * @param {?} matchedQueriesDsl - * @param {?} ngContentIndex - * @param {?} childCount - * @param {?=} handleEvent - * @param {?=} templateFactory - * @return {?} - */ -function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleEvent, templateFactory) { - flags |= 1 /* TypeElement */; - var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds; - var /** @type {?} */ template = templateFactory ? resolveDefinition(templateFactory) : null; - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - flags: flags, - checkIndex: -1, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, ngContentIndex: ngContentIndex, childCount: childCount, - bindings: [], - bindingFlags: 0, - outputs: [], - element: { - ns: null, - name: null, - attrs: null, template: template, - componentProvider: null, - componentView: null, - componentRendererType: null, - publicProviders: null, - allProviders: null, - handleEvent: handleEvent || NOOP - }, - provider: null, - text: null, - query: null, - ngContent: null - }; -} -/** - * @param {?} checkIndex - * @param {?} flags - * @param {?} matchedQueriesDsl - * @param {?} ngContentIndex - * @param {?} childCount - * @param {?} namespaceAndName - * @param {?=} fixedAttrs - * @param {?=} bindings - * @param {?=} outputs - * @param {?=} handleEvent - * @param {?=} componentView - * @param {?=} componentRendererType - * @return {?} - */ -function elementDef(checkIndex, flags, matchedQueriesDsl, ngContentIndex, childCount, namespaceAndName, fixedAttrs, bindings, outputs, handleEvent, componentView, componentRendererType) { - if (fixedAttrs === void 0) { fixedAttrs = []; } - if (!handleEvent) { - handleEvent = NOOP; - } - var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds; - var /** @type {?} */ ns = /** @type {?} */ ((null)); - var /** @type {?} */ name = /** @type {?} */ ((null)); - if (namespaceAndName) { - _b = splitNamespace(namespaceAndName), ns = _b[0], name = _b[1]; - } - bindings = bindings || []; - var /** @type {?} */ bindingDefs = new Array(bindings.length); - for (var /** @type {?} */ i = 0; i < bindings.length; i++) { - var _c = bindings[i], bindingFlags = _c[0], namespaceAndName_1 = _c[1], suffixOrSecurityContext = _c[2]; - var _d = splitNamespace(namespaceAndName_1), ns_1 = _d[0], name_1 = _d[1]; - var /** @type {?} */ securityContext = /** @type {?} */ ((undefined)); - var /** @type {?} */ suffix = /** @type {?} */ ((undefined)); - switch (bindingFlags & 15 /* Types */) { - case 4 /* TypeElementStyle */: - suffix = /** @type {?} */ (suffixOrSecurityContext); - break; - case 1 /* TypeElementAttribute */: - case 8 /* TypeProperty */: - securityContext = /** @type {?} */ (suffixOrSecurityContext); - break; - } - bindingDefs[i] = - { flags: bindingFlags, ns: ns_1, name: name_1, nonMinifiedName: name_1, securityContext: securityContext, suffix: suffix }; - } - outputs = outputs || []; - var /** @type {?} */ outputDefs = new Array(outputs.length); - for (var /** @type {?} */ i = 0; i < outputs.length; i++) { - var _e = outputs[i], target = _e[0], eventName = _e[1]; - outputDefs[i] = { - type: 0 /* ElementOutput */, - target: /** @type {?} */ (target), eventName: eventName, - propName: null - }; - } - fixedAttrs = fixedAttrs || []; - var /** @type {?} */ attrs = /** @type {?} */ (fixedAttrs.map(function (_a) { - var namespaceAndName = _a[0], value = _a[1]; - var _b = splitNamespace(namespaceAndName), ns = _b[0], name = _b[1]; - return [ns, name, value]; - })); - componentRendererType = resolveRendererType2(componentRendererType); - if (componentView) { - flags |= 33554432 /* ComponentView */; - } - flags |= 1 /* TypeElement */; - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - checkIndex: checkIndex, - flags: flags, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, ngContentIndex: ngContentIndex, childCount: childCount, - bindings: bindingDefs, - bindingFlags: calcBindingFlags(bindingDefs), - outputs: outputDefs, - element: { - ns: ns, - name: name, - attrs: attrs, - template: null, - // will bet set by the view definition - componentProvider: null, - componentView: componentView || null, - componentRendererType: componentRendererType, - publicProviders: null, - allProviders: null, - handleEvent: handleEvent || NOOP, - }, - provider: null, - text: null, - query: null, - ngContent: null - }; - var _b; -} -/** - * @param {?} view - * @param {?} renderHost - * @param {?} def - * @return {?} - */ -function createElement(view, renderHost, def) { - var /** @type {?} */ elDef = /** @type {?} */ ((def.element)); - var /** @type {?} */ rootSelectorOrNode = view.root.selectorOrNode; - var /** @type {?} */ renderer = view.renderer; - var /** @type {?} */ el; - if (view.parent || !rootSelectorOrNode) { - if (elDef.name) { - el = renderer.createElement(elDef.name, elDef.ns); - } - else { - el = renderer.createComment(''); - } - var /** @type {?} */ parentEl = getParentRenderElement(view, renderHost, def); - if (parentEl) { - renderer.appendChild(parentEl, el); - } - } - else { - el = renderer.selectRootElement(rootSelectorOrNode); - } - if (elDef.attrs) { - for (var /** @type {?} */ i = 0; i < elDef.attrs.length; i++) { - var _a = elDef.attrs[i], ns = _a[0], name_2 = _a[1], value = _a[2]; - renderer.setAttribute(el, name_2, value, ns); - } - } - return el; -} -/** - * @param {?} view - * @param {?} compView - * @param {?} def - * @param {?} el - * @return {?} - */ -function listenToElementOutputs(view, compView, def, el) { - for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) { - var /** @type {?} */ output = def.outputs[i]; - var /** @type {?} */ handleEventClosure = renderEventHandlerClosure(view, def.nodeIndex, elementEventFullName(output.target, output.eventName)); - var /** @type {?} */ listenTarget = output.target; - var /** @type {?} */ listenerView = view; - if (output.target === 'component') { - listenTarget = null; - listenerView = compView; - } - var /** @type {?} */ disposable = /** @type {?} */ (listenerView.renderer.listen(listenTarget || el, output.eventName, handleEventClosure)); /** @type {?} */ - ((view.disposables))[def.outputIndex + i] = disposable; - } -} -/** - * @param {?} view - * @param {?} index - * @param {?} eventName - * @return {?} - */ -function renderEventHandlerClosure(view, index, eventName) { - return function (event) { return dispatchEvent(view, index, eventName, event); }; -} -/** - * @param {?} view - * @param {?} def - * @param {?} v0 - * @param {?} v1 - * @param {?} v2 - * @param {?} v3 - * @param {?} v4 - * @param {?} v5 - * @param {?} v6 - * @param {?} v7 - * @param {?} v8 - * @param {?} v9 - * @return {?} - */ -function checkAndUpdateElementInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ bindLen = def.bindings.length; - var /** @type {?} */ changed = false; - if (bindLen > 0 && checkAndUpdateElementValue(view, def, 0, v0)) - changed = true; - if (bindLen > 1 && checkAndUpdateElementValue(view, def, 1, v1)) - changed = true; - if (bindLen > 2 && checkAndUpdateElementValue(view, def, 2, v2)) - changed = true; - if (bindLen > 3 && checkAndUpdateElementValue(view, def, 3, v3)) - changed = true; - if (bindLen > 4 && checkAndUpdateElementValue(view, def, 4, v4)) - changed = true; - if (bindLen > 5 && checkAndUpdateElementValue(view, def, 5, v5)) - changed = true; - if (bindLen > 6 && checkAndUpdateElementValue(view, def, 6, v6)) - changed = true; - if (bindLen > 7 && checkAndUpdateElementValue(view, def, 7, v7)) - changed = true; - if (bindLen > 8 && checkAndUpdateElementValue(view, def, 8, v8)) - changed = true; - if (bindLen > 9 && checkAndUpdateElementValue(view, def, 9, v9)) - changed = true; - return changed; -} -/** - * @param {?} view - * @param {?} def - * @param {?} values - * @return {?} - */ -function checkAndUpdateElementDynamic(view, def, values) { - var /** @type {?} */ changed = false; - for (var /** @type {?} */ i = 0; i < values.length; i++) { - if (checkAndUpdateElementValue(view, def, i, values[i])) - changed = true; - } - return changed; -} -/** - * @param {?} view - * @param {?} def - * @param {?} bindingIdx - * @param {?} value - * @return {?} - */ -function checkAndUpdateElementValue(view, def, bindingIdx, value) { - if (!checkAndUpdateBinding(view, def, bindingIdx, value)) { - return false; - } - var /** @type {?} */ binding = def.bindings[bindingIdx]; - var /** @type {?} */ elData = asElementData(view, def.nodeIndex); - var /** @type {?} */ renderNode$$1 = elData.renderElement; - var /** @type {?} */ name = /** @type {?} */ ((binding.name)); - switch (binding.flags & 15 /* Types */) { - case 1 /* TypeElementAttribute */: - setElementAttribute(view, binding, renderNode$$1, binding.ns, name, value); - break; - case 2 /* TypeElementClass */: - setElementClass(view, renderNode$$1, name, value); - break; - case 4 /* TypeElementStyle */: - setElementStyle(view, binding, renderNode$$1, name, value); - break; - case 8 /* TypeProperty */: - var /** @type {?} */ bindView = (def.flags & 33554432 /* ComponentView */ && - binding.flags & 32 /* SyntheticHostProperty */) ? - elData.componentView : - view; - setElementProperty(bindView, binding, renderNode$$1, name, value); - break; - } - return true; -} -/** - * @param {?} view - * @param {?} binding - * @param {?} renderNode - * @param {?} ns - * @param {?} name - * @param {?} value - * @return {?} - */ -function setElementAttribute(view, binding, renderNode$$1, ns, name, value) { - var /** @type {?} */ securityContext = binding.securityContext; - var /** @type {?} */ renderValue = securityContext ? view.root.sanitizer.sanitize(securityContext, value) : value; - renderValue = renderValue != null ? renderValue.toString() : null; - var /** @type {?} */ renderer = view.renderer; - if (value != null) { - renderer.setAttribute(renderNode$$1, name, renderValue, ns); - } - else { - renderer.removeAttribute(renderNode$$1, name, ns); - } -} -/** - * @param {?} view - * @param {?} renderNode - * @param {?} name - * @param {?} value - * @return {?} - */ -function setElementClass(view, renderNode$$1, name, value) { - var /** @type {?} */ renderer = view.renderer; - if (value) { - renderer.addClass(renderNode$$1, name); - } - else { - renderer.removeClass(renderNode$$1, name); - } -} -/** - * @param {?} view - * @param {?} binding - * @param {?} renderNode - * @param {?} name - * @param {?} value - * @return {?} - */ -function setElementStyle(view, binding, renderNode$$1, name, value) { - var /** @type {?} */ renderValue = view.root.sanitizer.sanitize(SecurityContext.STYLE, /** @type {?} */ (value)); - if (renderValue != null) { - renderValue = renderValue.toString(); - var /** @type {?} */ unit = binding.suffix; - if (unit != null) { - renderValue = renderValue + unit; - } - } - else { - renderValue = null; - } - var /** @type {?} */ renderer = view.renderer; - if (renderValue != null) { - renderer.setStyle(renderNode$$1, name, renderValue); - } - else { - renderer.removeStyle(renderNode$$1, name); - } -} -/** - * @param {?} view - * @param {?} binding - * @param {?} renderNode - * @param {?} name - * @param {?} value - * @return {?} - */ -function setElementProperty(view, binding, renderNode$$1, name, value) { - var /** @type {?} */ securityContext = binding.securityContext; - var /** @type {?} */ renderValue = securityContext ? view.root.sanitizer.sanitize(securityContext, value) : value; - view.renderer.setProperty(renderNode$$1, name, renderValue); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var UNDEFINED_VALUE = new Object(); -var InjectorRefTokenKey$1 = tokenKey(Injector); -var NgModuleRefTokenKey = tokenKey(NgModuleRef); -/** - * @param {?} flags - * @param {?} token - * @param {?} value - * @param {?} deps - * @return {?} - */ -function moduleProvideDef(flags, token, value, deps) { - // Need to resolve forwardRefs as e.g. for `useValue` we - // lowered the expression and then stopped evaluating it, - // i.e. also didn't unwrap it. - value = resolveForwardRef(value); - var /** @type {?} */ depDefs = splitDepsDsl(deps); - return { - // will bet set by the module definition - index: -1, - deps: depDefs, flags: flags, token: token, value: value - }; -} -/** - * @param {?} providers - * @return {?} - */ -function moduleDef(providers) { - var /** @type {?} */ providersByKey = {}; - for (var /** @type {?} */ i = 0; i < providers.length; i++) { - var /** @type {?} */ provider = providers[i]; - provider.index = i; - providersByKey[tokenKey(provider.token)] = provider; - } - return { - // Will be filled later... - factory: null, - providersByKey: providersByKey, - providers: providers - }; -} -/** - * @param {?} data - * @return {?} - */ -function initNgModule(data) { - var /** @type {?} */ def = data._def; - var /** @type {?} */ providers = data._providers = new Array(def.providers.length); - for (var /** @type {?} */ i = 0; i < def.providers.length; i++) { - var /** @type {?} */ provDef = def.providers[i]; - if (!(provDef.flags & 4096 /* LazyProvider */)) { - providers[i] = _createProviderInstance$1(data, provDef); - } - } -} -/** - * @param {?} data - * @param {?} depDef - * @param {?=} notFoundValue - * @return {?} - */ -function resolveNgModuleDep(data, depDef, notFoundValue) { - if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; } - if (depDef.flags & 8 /* Value */) { - return depDef.token; - } - if (depDef.flags & 2 /* Optional */) { - notFoundValue = null; - } - if (depDef.flags & 1 /* SkipSelf */) { - return data._parent.get(depDef.token, notFoundValue); - } - var /** @type {?} */ tokenKey$$1 = depDef.tokenKey; - switch (tokenKey$$1) { - case InjectorRefTokenKey$1: - case NgModuleRefTokenKey: - return data; - } - var /** @type {?} */ providerDef = data._def.providersByKey[tokenKey$$1]; - if (providerDef) { - var /** @type {?} */ providerInstance = data._providers[providerDef.index]; - if (providerInstance === undefined) { - providerInstance = data._providers[providerDef.index] = - _createProviderInstance$1(data, providerDef); - } - return providerInstance === UNDEFINED_VALUE ? undefined : providerInstance; - } - return data._parent.get(depDef.token, notFoundValue); -} -/** - * @param {?} ngModule - * @param {?} providerDef - * @return {?} - */ -function _createProviderInstance$1(ngModule, providerDef) { - var /** @type {?} */ injectable; - switch (providerDef.flags & 201347067 /* Types */) { - case 512 /* TypeClassProvider */: - injectable = _createClass(ngModule, providerDef.value, providerDef.deps); - break; - case 1024 /* TypeFactoryProvider */: - injectable = _callFactory(ngModule, providerDef.value, providerDef.deps); - break; - case 2048 /* TypeUseExistingProvider */: - injectable = resolveNgModuleDep(ngModule, providerDef.deps[0]); - break; - case 256 /* TypeValueProvider */: - injectable = providerDef.value; - break; - } - return injectable === undefined ? UNDEFINED_VALUE : injectable; -} -/** - * @param {?} ngModule - * @param {?} ctor - * @param {?} deps - * @return {?} - */ -function _createClass(ngModule, ctor, deps) { - var /** @type {?} */ len = deps.length; - switch (len) { - case 0: - return new ctor(); - case 1: - return new ctor(resolveNgModuleDep(ngModule, deps[0])); - case 2: - return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1])); - case 3: - return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2])); - default: - var /** @type {?} */ depValues = new Array(len); - for (var /** @type {?} */ i = 0; i < len; i++) { - depValues[i] = resolveNgModuleDep(ngModule, deps[i]); - } - return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))(); - } -} -/** - * @param {?} ngModule - * @param {?} factory - * @param {?} deps - * @return {?} - */ -function _callFactory(ngModule, factory, deps) { - var /** @type {?} */ len = deps.length; - switch (len) { - case 0: - return factory(); - case 1: - return factory(resolveNgModuleDep(ngModule, deps[0])); - case 2: - return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1])); - case 3: - return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2])); - default: - var /** @type {?} */ depValues = Array(len); - for (var /** @type {?} */ i = 0; i < len; i++) { - depValues[i] = resolveNgModuleDep(ngModule, deps[i]); - } - return factory.apply(void 0, depValues); - } -} -/** - * @param {?} ngModule - * @param {?} lifecycles - * @return {?} - */ -function callNgModuleLifecycle(ngModule, lifecycles) { - var /** @type {?} */ def = ngModule._def; - for (var /** @type {?} */ i = 0; i < def.providers.length; i++) { - var /** @type {?} */ provDef = def.providers[i]; - if (provDef.flags & 131072 /* OnDestroy */) { - var /** @type {?} */ instance = ngModule._providers[i]; - if (instance && instance !== UNDEFINED_VALUE) { - instance.ngOnDestroy(); - } - } - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} parentView - * @param {?} elementData - * @param {?} viewIndex - * @param {?} view - * @return {?} - */ -function attachEmbeddedView(parentView, elementData, viewIndex, view) { - var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews; - if (viewIndex === null || viewIndex === undefined) { - viewIndex = embeddedViews.length; - } - view.viewContainerParent = parentView; - addToArray(embeddedViews, /** @type {?} */ ((viewIndex)), view); - attachProjectedView(elementData, view); - Services.dirtyParentQueries(view); - var /** @type {?} */ prevView = /** @type {?} */ ((viewIndex)) > 0 ? embeddedViews[/** @type {?} */ ((viewIndex)) - 1] : null; - renderAttachEmbeddedView(elementData, prevView, view); -} -/** - * @param {?} vcElementData - * @param {?} view - * @return {?} - */ -function attachProjectedView(vcElementData, view) { - var /** @type {?} */ dvcElementData = declaredViewContainer(view); - if (!dvcElementData || dvcElementData === vcElementData || - view.state & 16 /* IsProjectedView */) { - return; - } - // Note: For performance reasons, we - // - add a view to template._projectedViews only 1x throughout its lifetime, - // and remove it not until the view is destroyed. - // (hard, as when a parent view is attached/detached we would need to attach/detach all - // nested projected views as well, even accross component boundaries). - // - don't track the insertion order of views in the projected views array - // (hard, as when the views of the same template are inserted different view containers) - view.state |= 16 /* IsProjectedView */; - var /** @type {?} */ projectedViews = dvcElementData.template._projectedViews; - if (!projectedViews) { - projectedViews = dvcElementData.template._projectedViews = []; - } - projectedViews.push(view); - // Note: we are changing the NodeDef here as we cannot calculate - // the fact whether a template is used for projection during compilation. - markNodeAsProjectedTemplate(/** @type {?} */ ((view.parent)).def, /** @type {?} */ ((view.parentNodeDef))); -} -/** - * @param {?} viewDef - * @param {?} nodeDef - * @return {?} - */ -function markNodeAsProjectedTemplate(viewDef, nodeDef) { - if (nodeDef.flags & 4 /* ProjectedTemplate */) { - return; - } - viewDef.nodeFlags |= 4 /* ProjectedTemplate */; - nodeDef.flags |= 4 /* ProjectedTemplate */; - var /** @type {?} */ parentNodeDef = nodeDef.parent; - while (parentNodeDef) { - parentNodeDef.childFlags |= 4 /* ProjectedTemplate */; - parentNodeDef = parentNodeDef.parent; - } -} -/** - * @param {?} elementData - * @param {?=} viewIndex - * @return {?} - */ -function detachEmbeddedView(elementData, viewIndex) { - var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews; - if (viewIndex == null || viewIndex >= embeddedViews.length) { - viewIndex = embeddedViews.length - 1; - } - if (viewIndex < 0) { - return null; - } - var /** @type {?} */ view = embeddedViews[viewIndex]; - view.viewContainerParent = null; - removeFromArray(embeddedViews, viewIndex); - // See attachProjectedView for why we don't update projectedViews here. - Services.dirtyParentQueries(view); - renderDetachView(view); - return view; -} -/** - * @param {?} view - * @return {?} - */ -function detachProjectedView(view) { - if (!(view.state & 16 /* IsProjectedView */)) { - return; - } - var /** @type {?} */ dvcElementData = declaredViewContainer(view); - if (dvcElementData) { - var /** @type {?} */ projectedViews = dvcElementData.template._projectedViews; - if (projectedViews) { - removeFromArray(projectedViews, projectedViews.indexOf(view)); - Services.dirtyParentQueries(view); - } - } -} -/** - * @param {?} elementData - * @param {?} oldViewIndex - * @param {?} newViewIndex - * @return {?} - */ -function moveEmbeddedView(elementData, oldViewIndex, newViewIndex) { - var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews; - var /** @type {?} */ view = embeddedViews[oldViewIndex]; - removeFromArray(embeddedViews, oldViewIndex); - if (newViewIndex == null) { - newViewIndex = embeddedViews.length; - } - addToArray(embeddedViews, newViewIndex, view); - // Note: Don't need to change projectedViews as the order in there - // as always invalid... - Services.dirtyParentQueries(view); - renderDetachView(view); - var /** @type {?} */ prevView = newViewIndex > 0 ? embeddedViews[newViewIndex - 1] : null; - renderAttachEmbeddedView(elementData, prevView, view); - return view; -} -/** - * @param {?} elementData - * @param {?} prevView - * @param {?} view - * @return {?} - */ -function renderAttachEmbeddedView(elementData, prevView, view) { - var /** @type {?} */ prevRenderNode = prevView ? renderNode(prevView, /** @type {?} */ ((prevView.def.lastRenderRootNode))) : - elementData.renderElement; - var /** @type {?} */ parentNode = view.renderer.parentNode(prevRenderNode); - var /** @type {?} */ nextSibling = view.renderer.nextSibling(prevRenderNode); - // Note: We can't check if `nextSibling` is present, as on WebWorkers it will always be! - // However, browsers automatically do `appendChild` when there is no `nextSibling`. - visitRootRenderNodes(view, 2 /* InsertBefore */, parentNode, nextSibling, undefined); -} -/** - * @param {?} view - * @return {?} - */ -function renderDetachView(view) { - visitRootRenderNodes(view, 3 /* RemoveChild */, null, null, undefined); -} -/** - * @param {?} arr - * @param {?} index - * @param {?} value - * @return {?} - */ -function addToArray(arr, index, value) { - // perf: array.push is faster than array.splice! - if (index >= arr.length) { - arr.push(value); - } - else { - arr.splice(index, 0, value); - } -} -/** - * @param {?} arr - * @param {?} index - * @return {?} - */ -function removeFromArray(arr, index) { - // perf: array.pop is faster than array.splice! - if (index >= arr.length - 1) { - arr.pop(); - } - else { - arr.splice(index, 1); - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -var EMPTY_CONTEXT = new Object(); -/** - * @param {?} selector - * @param {?} componentType - * @param {?} viewDefFactory - * @param {?} inputs - * @param {?} outputs - * @param {?} ngContentSelectors - * @return {?} - */ -function createComponentFactory(selector, componentType, viewDefFactory, inputs, outputs, ngContentSelectors) { - return new ComponentFactory_(selector, componentType, viewDefFactory, inputs, outputs, ngContentSelectors); -} -/** - * @param {?} componentFactory - * @return {?} - */ -function getComponentViewDefinitionFactory(componentFactory) { - return (/** @type {?} */ (componentFactory)).viewDefFactory; -} -var ComponentFactory_ = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(ComponentFactory_, _super); - function ComponentFactory_(selector, componentType, viewDefFactory, _inputs, _outputs, ngContentSelectors) { - var _this = - // Attention: this ctor is called as top level function. - // Putting any logic in here will destroy closure tree shaking! - _super.call(this) || this; - _this.selector = selector; - _this.componentType = componentType; - _this._inputs = _inputs; - _this._outputs = _outputs; - _this.ngContentSelectors = ngContentSelectors; - _this.viewDefFactory = viewDefFactory; - return _this; - } - Object.defineProperty(ComponentFactory_.prototype, "inputs", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ inputsArr = []; - var /** @type {?} */ inputs = /** @type {?} */ ((this._inputs)); - for (var /** @type {?} */ propName in inputs) { - var /** @type {?} */ templateName = inputs[propName]; - inputsArr.push({ propName: propName, templateName: templateName }); - } - return inputsArr; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentFactory_.prototype, "outputs", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ outputsArr = []; - for (var /** @type {?} */ propName in this._outputs) { - var /** @type {?} */ templateName = this._outputs[propName]; - outputsArr.push({ propName: propName, templateName: templateName }); - } - return outputsArr; - }, - enumerable: true, - configurable: true - }); - /** - * Creates a new component. - */ - /** - * Creates a new component. - * @param {?} injector - * @param {?=} projectableNodes - * @param {?=} rootSelectorOrNode - * @param {?=} ngModule - * @return {?} - */ - ComponentFactory_.prototype.create = /** - * Creates a new component. - * @param {?} injector - * @param {?=} projectableNodes - * @param {?=} rootSelectorOrNode - * @param {?=} ngModule - * @return {?} - */ - function (injector, projectableNodes, rootSelectorOrNode, ngModule) { - if (!ngModule) { - throw new Error('ngModule should be provided'); - } - var /** @type {?} */ viewDef = resolveDefinition(this.viewDefFactory); - var /** @type {?} */ componentNodeIndex = /** @type {?} */ ((/** @type {?} */ ((viewDef.nodes[0].element)).componentProvider)).nodeIndex; - var /** @type {?} */ view = Services.createRootView(injector, projectableNodes || [], rootSelectorOrNode, viewDef, ngModule, EMPTY_CONTEXT); - var /** @type {?} */ component = asProviderData(view, componentNodeIndex).instance; - if (rootSelectorOrNode) { - view.renderer.setAttribute(asElementData(view, 0).renderElement, 'ng-version', VERSION.full); - } - return new ComponentRef_(view, new ViewRef_(view), component); - }; - return ComponentFactory_; -}(ComponentFactory)); -var ComponentRef_ = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(ComponentRef_, _super); - function ComponentRef_(_view, _viewRef, _component) { - var _this = _super.call(this) || this; - _this._view = _view; - _this._viewRef = _viewRef; - _this._component = _component; - _this._elDef = _this._view.def.nodes[0]; - _this.hostView = _viewRef; - _this.changeDetectorRef = _viewRef; - _this.instance = _component; - return _this; - } - Object.defineProperty(ComponentRef_.prototype, "location", { - get: /** - * @return {?} - */ - function () { - return new ElementRef(asElementData(this._view, this._elDef.nodeIndex).renderElement); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentRef_.prototype, "injector", { - get: /** - * @return {?} - */ - function () { return new Injector_(this._view, this._elDef); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ComponentRef_.prototype, "componentType", { - get: /** - * @return {?} - */ - function () { return /** @type {?} */ (this._component.constructor); }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ComponentRef_.prototype.destroy = /** - * @return {?} - */ - function () { this._viewRef.destroy(); }; - /** - * @param {?} callback - * @return {?} - */ - ComponentRef_.prototype.onDestroy = /** - * @param {?} callback - * @return {?} - */ - function (callback) { this._viewRef.onDestroy(callback); }; - return ComponentRef_; -}(ComponentRef)); -/** - * @param {?} view - * @param {?} elDef - * @param {?} elData - * @return {?} - */ -function createViewContainerData(view, elDef, elData) { - return new ViewContainerRef_(view, elDef, elData); -} -var ViewContainerRef_ = (function () { - function ViewContainerRef_(_view, _elDef, _data) { - this._view = _view; - this._elDef = _elDef; - this._data = _data; - /** - * \@internal - */ - this._embeddedViews = []; - } - Object.defineProperty(ViewContainerRef_.prototype, "element", { - get: /** - * @return {?} - */ - function () { return new ElementRef(this._data.renderElement); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ViewContainerRef_.prototype, "injector", { - get: /** - * @return {?} - */ - function () { return new Injector_(this._view, this._elDef); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ViewContainerRef_.prototype, "parentInjector", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ view = this._view; - var /** @type {?} */ elDef = this._elDef.parent; - while (!elDef && view) { - elDef = viewParentEl(view); - view = /** @type {?} */ ((view.parent)); - } - return view ? new Injector_(view, elDef) : new Injector_(this._view, null); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ViewContainerRef_.prototype.clear = /** - * @return {?} - */ - function () { - var /** @type {?} */ len = this._embeddedViews.length; - for (var /** @type {?} */ i = len - 1; i >= 0; i--) { - var /** @type {?} */ view = /** @type {?} */ ((detachEmbeddedView(this._data, i))); - Services.destroyView(view); - } - }; - /** - * @param {?} index - * @return {?} - */ - ViewContainerRef_.prototype.get = /** - * @param {?} index - * @return {?} - */ - function (index) { - var /** @type {?} */ view = this._embeddedViews[index]; - if (view) { - var /** @type {?} */ ref = new ViewRef_(view); - ref.attachToViewContainerRef(this); - return ref; - } - return null; - }; - Object.defineProperty(ViewContainerRef_.prototype, "length", { - get: /** - * @return {?} - */ - function () { return this._embeddedViews.length; }, - enumerable: true, - configurable: true - }); - /** - * @template C - * @param {?} templateRef - * @param {?=} context - * @param {?=} index - * @return {?} - */ - ViewContainerRef_.prototype.createEmbeddedView = /** - * @template C - * @param {?} templateRef - * @param {?=} context - * @param {?=} index - * @return {?} - */ - function (templateRef, context, index) { - var /** @type {?} */ viewRef = templateRef.createEmbeddedView(context || /** @type {?} */ ({})); - this.insert(viewRef, index); - return viewRef; - }; - /** - * @template C - * @param {?} componentFactory - * @param {?=} index - * @param {?=} injector - * @param {?=} projectableNodes - * @param {?=} ngModuleRef - * @return {?} - */ - ViewContainerRef_.prototype.createComponent = /** - * @template C - * @param {?} componentFactory - * @param {?=} index - * @param {?=} injector - * @param {?=} projectableNodes - * @param {?=} ngModuleRef - * @return {?} - */ - function (componentFactory, index, injector, projectableNodes, ngModuleRef) { - var /** @type {?} */ contextInjector = injector || this.parentInjector; - if (!ngModuleRef && !(componentFactory instanceof ComponentFactoryBoundToModule)) { - ngModuleRef = contextInjector.get(NgModuleRef); - } - var /** @type {?} */ componentRef = componentFactory.create(contextInjector, projectableNodes, undefined, ngModuleRef); - this.insert(componentRef.hostView, index); - return componentRef; - }; - /** - * @param {?} viewRef - * @param {?=} index - * @return {?} - */ - ViewContainerRef_.prototype.insert = /** - * @param {?} viewRef - * @param {?=} index - * @return {?} - */ - function (viewRef, index) { - if (viewRef.destroyed) { - throw new Error('Cannot insert a destroyed View in a ViewContainer!'); - } - var /** @type {?} */ viewRef_ = /** @type {?} */ (viewRef); - var /** @type {?} */ viewData = viewRef_._view; - attachEmbeddedView(this._view, this._data, index, viewData); - viewRef_.attachToViewContainerRef(this); - return viewRef; - }; - /** - * @param {?} viewRef - * @param {?} currentIndex - * @return {?} - */ - ViewContainerRef_.prototype.move = /** - * @param {?} viewRef - * @param {?} currentIndex - * @return {?} - */ - function (viewRef, currentIndex) { - if (viewRef.destroyed) { - throw new Error('Cannot move a destroyed View in a ViewContainer!'); - } - var /** @type {?} */ previousIndex = this._embeddedViews.indexOf(viewRef._view); - moveEmbeddedView(this._data, previousIndex, currentIndex); - return viewRef; - }; - /** - * @param {?} viewRef - * @return {?} - */ - ViewContainerRef_.prototype.indexOf = /** - * @param {?} viewRef - * @return {?} - */ - function (viewRef) { - return this._embeddedViews.indexOf((/** @type {?} */ (viewRef))._view); - }; - /** - * @param {?=} index - * @return {?} - */ - ViewContainerRef_.prototype.remove = /** - * @param {?=} index - * @return {?} - */ - function (index) { - var /** @type {?} */ viewData = detachEmbeddedView(this._data, index); - if (viewData) { - Services.destroyView(viewData); - } - }; - /** - * @param {?=} index - * @return {?} - */ - ViewContainerRef_.prototype.detach = /** - * @param {?=} index - * @return {?} - */ - function (index) { - var /** @type {?} */ view = detachEmbeddedView(this._data, index); - return view ? new ViewRef_(view) : null; - }; - return ViewContainerRef_; -}()); -/** - * @param {?} view - * @return {?} - */ -function createChangeDetectorRef(view) { - return new ViewRef_(view); -} -var ViewRef_ = (function () { - function ViewRef_(_view) { - this._view = _view; - this._viewContainerRef = null; - this._appRef = null; - } - Object.defineProperty(ViewRef_.prototype, "rootNodes", { - get: /** - * @return {?} - */ - function () { return rootRenderNodes(this._view); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ViewRef_.prototype, "context", { - get: /** - * @return {?} - */ - function () { return this._view.context; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ViewRef_.prototype, "destroyed", { - get: /** - * @return {?} - */ - function () { return (this._view.state & 128 /* Destroyed */) !== 0; }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - ViewRef_.prototype.markForCheck = /** - * @return {?} - */ - function () { markParentViewsForCheck(this._view); }; - /** - * @return {?} - */ - ViewRef_.prototype.detach = /** - * @return {?} - */ - function () { this._view.state &= ~4 /* Attached */; }; - /** - * @return {?} - */ - ViewRef_.prototype.detectChanges = /** - * @return {?} - */ - function () { - var /** @type {?} */ fs = this._view.root.rendererFactory; - if (fs.begin) { - fs.begin(); - } - Services.checkAndUpdateView(this._view); - if (fs.end) { - fs.end(); - } - }; - /** - * @return {?} - */ - ViewRef_.prototype.checkNoChanges = /** - * @return {?} - */ - function () { Services.checkNoChangesView(this._view); }; - /** - * @return {?} - */ - ViewRef_.prototype.reattach = /** - * @return {?} - */ - function () { this._view.state |= 4 /* Attached */; }; - /** - * @param {?} callback - * @return {?} - */ - ViewRef_.prototype.onDestroy = /** - * @param {?} callback - * @return {?} - */ - function (callback) { - if (!this._view.disposables) { - this._view.disposables = []; - } - this._view.disposables.push(/** @type {?} */ (callback)); - }; - /** - * @return {?} - */ - ViewRef_.prototype.destroy = /** - * @return {?} - */ - function () { - if (this._appRef) { - this._appRef.detachView(this); - } - else if (this._viewContainerRef) { - this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)); - } - Services.destroyView(this._view); - }; - /** - * @return {?} - */ - ViewRef_.prototype.detachFromAppRef = /** - * @return {?} - */ - function () { - this._appRef = null; - renderDetachView(this._view); - Services.dirtyParentQueries(this._view); - }; - /** - * @param {?} appRef - * @return {?} - */ - ViewRef_.prototype.attachToAppRef = /** - * @param {?} appRef - * @return {?} - */ - function (appRef) { - if (this._viewContainerRef) { - throw new Error('This view is already attached to a ViewContainer!'); - } - this._appRef = appRef; - }; - /** - * @param {?} vcRef - * @return {?} - */ - ViewRef_.prototype.attachToViewContainerRef = /** - * @param {?} vcRef - * @return {?} - */ - function (vcRef) { - if (this._appRef) { - throw new Error('This view is already attached directly to the ApplicationRef!'); - } - this._viewContainerRef = vcRef; - }; - return ViewRef_; -}()); -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function createTemplateData(view, def) { - return new TemplateRef_(view, def); -} -var TemplateRef_ = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(TemplateRef_, _super); - function TemplateRef_(_parentView, _def) { - var _this = _super.call(this) || this; - _this._parentView = _parentView; - _this._def = _def; - return _this; - } - /** - * @param {?} context - * @return {?} - */ - TemplateRef_.prototype.createEmbeddedView = /** - * @param {?} context - * @return {?} - */ - function (context) { - return new ViewRef_(Services.createEmbeddedView(this._parentView, this._def, /** @type {?} */ ((/** @type {?} */ ((this._def.element)).template)), context)); - }; - Object.defineProperty(TemplateRef_.prototype, "elementRef", { - get: /** - * @return {?} - */ - function () { - return new ElementRef(asElementData(this._parentView, this._def.nodeIndex).renderElement); - }, - enumerable: true, - configurable: true - }); - return TemplateRef_; -}(TemplateRef)); -/** - * @param {?} view - * @param {?} elDef - * @return {?} - */ -function createInjector(view, elDef) { - return new Injector_(view, elDef); -} -var Injector_ = (function () { - function Injector_(view, elDef) { - this.view = view; - this.elDef = elDef; - } - /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - Injector_.prototype.get = /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - function (token, notFoundValue) { - if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; } - var /** @type {?} */ allowPrivateServices = this.elDef ? (this.elDef.flags & 33554432 /* ComponentView */) !== 0 : false; - return Services.resolveDep(this.view, this.elDef, allowPrivateServices, { flags: 0 /* None */, token: token, tokenKey: tokenKey(token) }, notFoundValue); - }; - return Injector_; -}()); -/** - * @param {?} view - * @param {?} index - * @return {?} - */ -function nodeValue(view, index) { - var /** @type {?} */ def = view.def.nodes[index]; - if (def.flags & 1 /* TypeElement */) { - var /** @type {?} */ elData = asElementData(view, def.nodeIndex); - return /** @type {?} */ ((def.element)).template ? elData.template : elData.renderElement; - } - else if (def.flags & 2 /* TypeText */) { - return asTextData(view, def.nodeIndex).renderText; - } - else if (def.flags & (20224 /* CatProvider */ | 16 /* TypePipe */)) { - return asProviderData(view, def.nodeIndex).instance; - } - throw new Error("Illegal state: read nodeValue for node index " + index); -} -/** - * @param {?} view - * @return {?} - */ -function createRendererV1(view) { - return new RendererAdapter(view.renderer); -} -var RendererAdapter = (function () { - function RendererAdapter(delegate) { - this.delegate = delegate; - } - /** - * @param {?} selectorOrNode - * @return {?} - */ - RendererAdapter.prototype.selectRootElement = /** - * @param {?} selectorOrNode - * @return {?} - */ - function (selectorOrNode) { - return this.delegate.selectRootElement(selectorOrNode); - }; - /** - * @param {?} parent - * @param {?} namespaceAndName - * @return {?} - */ - RendererAdapter.prototype.createElement = /** - * @param {?} parent - * @param {?} namespaceAndName - * @return {?} - */ - function (parent, namespaceAndName) { - var _a = splitNamespace(namespaceAndName), ns = _a[0], name = _a[1]; - var /** @type {?} */ el = this.delegate.createElement(name, ns); - if (parent) { - this.delegate.appendChild(parent, el); - } - return el; - }; - /** - * @param {?} hostElement - * @return {?} - */ - RendererAdapter.prototype.createViewRoot = /** - * @param {?} hostElement - * @return {?} - */ - function (hostElement) { return hostElement; }; - /** - * @param {?} parentElement - * @return {?} - */ - RendererAdapter.prototype.createTemplateAnchor = /** - * @param {?} parentElement - * @return {?} - */ - function (parentElement) { - var /** @type {?} */ comment = this.delegate.createComment(''); - if (parentElement) { - this.delegate.appendChild(parentElement, comment); - } - return comment; - }; - /** - * @param {?} parentElement - * @param {?} value - * @return {?} - */ - RendererAdapter.prototype.createText = /** - * @param {?} parentElement - * @param {?} value - * @return {?} - */ - function (parentElement, value) { - var /** @type {?} */ node = this.delegate.createText(value); - if (parentElement) { - this.delegate.appendChild(parentElement, node); - } - return node; - }; - /** - * @param {?} parentElement - * @param {?} nodes - * @return {?} - */ - RendererAdapter.prototype.projectNodes = /** - * @param {?} parentElement - * @param {?} nodes - * @return {?} - */ - function (parentElement, nodes) { - for (var /** @type {?} */ i = 0; i < nodes.length; i++) { - this.delegate.appendChild(parentElement, nodes[i]); - } - }; - /** - * @param {?} node - * @param {?} viewRootNodes - * @return {?} - */ - RendererAdapter.prototype.attachViewAfter = /** - * @param {?} node - * @param {?} viewRootNodes - * @return {?} - */ - function (node, viewRootNodes) { - var /** @type {?} */ parentElement = this.delegate.parentNode(node); - var /** @type {?} */ nextSibling = this.delegate.nextSibling(node); - for (var /** @type {?} */ i = 0; i < viewRootNodes.length; i++) { - this.delegate.insertBefore(parentElement, viewRootNodes[i], nextSibling); - } - }; - /** - * @param {?} viewRootNodes - * @return {?} - */ - RendererAdapter.prototype.detachView = /** - * @param {?} viewRootNodes - * @return {?} - */ - function (viewRootNodes) { - for (var /** @type {?} */ i = 0; i < viewRootNodes.length; i++) { - var /** @type {?} */ node = viewRootNodes[i]; - var /** @type {?} */ parentElement = this.delegate.parentNode(node); - this.delegate.removeChild(parentElement, node); - } - }; - /** - * @param {?} hostElement - * @param {?} viewAllNodes - * @return {?} - */ - RendererAdapter.prototype.destroyView = /** - * @param {?} hostElement - * @param {?} viewAllNodes - * @return {?} - */ - function (hostElement, viewAllNodes) { - for (var /** @type {?} */ i = 0; i < viewAllNodes.length; i++) { - /** @type {?} */ ((this.delegate.destroyNode))(viewAllNodes[i]); - } - }; - /** - * @param {?} renderElement - * @param {?} name - * @param {?} callback - * @return {?} - */ - RendererAdapter.prototype.listen = /** - * @param {?} renderElement - * @param {?} name - * @param {?} callback - * @return {?} - */ - function (renderElement, name, callback) { - return this.delegate.listen(renderElement, name, /** @type {?} */ (callback)); - }; - /** - * @param {?} target - * @param {?} name - * @param {?} callback - * @return {?} - */ - RendererAdapter.prototype.listenGlobal = /** - * @param {?} target - * @param {?} name - * @param {?} callback - * @return {?} - */ - function (target, name, callback) { - return this.delegate.listen(target, name, /** @type {?} */ (callback)); - }; - /** - * @param {?} renderElement - * @param {?} propertyName - * @param {?} propertyValue - * @return {?} - */ - RendererAdapter.prototype.setElementProperty = /** - * @param {?} renderElement - * @param {?} propertyName - * @param {?} propertyValue - * @return {?} - */ - function (renderElement, propertyName, propertyValue) { - this.delegate.setProperty(renderElement, propertyName, propertyValue); - }; - /** - * @param {?} renderElement - * @param {?} namespaceAndName - * @param {?} attributeValue - * @return {?} - */ - RendererAdapter.prototype.setElementAttribute = /** - * @param {?} renderElement - * @param {?} namespaceAndName - * @param {?} attributeValue - * @return {?} - */ - function (renderElement, namespaceAndName, attributeValue) { - var _a = splitNamespace(namespaceAndName), ns = _a[0], name = _a[1]; - if (attributeValue != null) { - this.delegate.setAttribute(renderElement, name, attributeValue, ns); - } - else { - this.delegate.removeAttribute(renderElement, name, ns); - } - }; - /** - * @param {?} renderElement - * @param {?} propertyName - * @param {?} propertyValue - * @return {?} - */ - RendererAdapter.prototype.setBindingDebugInfo = /** - * @param {?} renderElement - * @param {?} propertyName - * @param {?} propertyValue - * @return {?} - */ - function (renderElement, propertyName, propertyValue) { }; - /** - * @param {?} renderElement - * @param {?} className - * @param {?} isAdd - * @return {?} - */ - RendererAdapter.prototype.setElementClass = /** - * @param {?} renderElement - * @param {?} className - * @param {?} isAdd - * @return {?} - */ - function (renderElement, className, isAdd) { - if (isAdd) { - this.delegate.addClass(renderElement, className); - } - else { - this.delegate.removeClass(renderElement, className); - } - }; - /** - * @param {?} renderElement - * @param {?} styleName - * @param {?} styleValue - * @return {?} - */ - RendererAdapter.prototype.setElementStyle = /** - * @param {?} renderElement - * @param {?} styleName - * @param {?} styleValue - * @return {?} - */ - function (renderElement, styleName, styleValue) { - if (styleValue != null) { - this.delegate.setStyle(renderElement, styleName, styleValue); - } - else { - this.delegate.removeStyle(renderElement, styleName); - } - }; - /** - * @param {?} renderElement - * @param {?} methodName - * @param {?} args - * @return {?} - */ - RendererAdapter.prototype.invokeElementMethod = /** - * @param {?} renderElement - * @param {?} methodName - * @param {?} args - * @return {?} - */ - function (renderElement, methodName, args) { - (/** @type {?} */ (renderElement))[methodName].apply(renderElement, args); - }; - /** - * @param {?} renderNode - * @param {?} text - * @return {?} - */ - RendererAdapter.prototype.setText = /** - * @param {?} renderNode - * @param {?} text - * @return {?} - */ - function (renderNode$$1, text) { this.delegate.setValue(renderNode$$1, text); }; - /** - * @return {?} - */ - RendererAdapter.prototype.animate = /** - * @return {?} - */ - function () { throw new Error('Renderer.animate is no longer supported!'); }; - return RendererAdapter; -}()); -/** - * @param {?} moduleType - * @param {?} parent - * @param {?} bootstrapComponents - * @param {?} def - * @return {?} - */ -function createNgModuleRef(moduleType, parent, bootstrapComponents, def) { - return new NgModuleRef_(moduleType, parent, bootstrapComponents, def); -} -var NgModuleRef_ = (function () { - function NgModuleRef_(_moduleType, _parent, _bootstrapComponents, _def) { - this._moduleType = _moduleType; - this._parent = _parent; - this._bootstrapComponents = _bootstrapComponents; - this._def = _def; - this._destroyListeners = []; - this._destroyed = false; - initNgModule(this); - } - /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - NgModuleRef_.prototype.get = /** - * @param {?} token - * @param {?=} notFoundValue - * @return {?} - */ - function (token, notFoundValue) { - if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; } - return resolveNgModuleDep(this, { token: token, tokenKey: tokenKey(token), flags: 0 /* None */ }, notFoundValue); - }; - Object.defineProperty(NgModuleRef_.prototype, "instance", { - get: /** - * @return {?} - */ - function () { return this.get(this._moduleType); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(NgModuleRef_.prototype, "componentFactoryResolver", { - get: /** - * @return {?} - */ - function () { return this.get(ComponentFactoryResolver); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(NgModuleRef_.prototype, "injector", { - get: /** - * @return {?} - */ - function () { return this; }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - NgModuleRef_.prototype.destroy = /** - * @return {?} - */ - function () { - if (this._destroyed) { - throw new Error("The ng module " + stringify(this.instance.constructor) + " has already been destroyed."); - } - this._destroyed = true; - callNgModuleLifecycle(this, 131072 /* OnDestroy */); - this._destroyListeners.forEach(function (listener) { return listener(); }); - }; - /** - * @param {?} callback - * @return {?} - */ - NgModuleRef_.prototype.onDestroy = /** - * @param {?} callback - * @return {?} - */ - function (callback) { this._destroyListeners.push(callback); }; - return NgModuleRef_; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var RendererV1TokenKey = tokenKey(Renderer); -var Renderer2TokenKey = tokenKey(Renderer2); -var ElementRefTokenKey = tokenKey(ElementRef); -var ViewContainerRefTokenKey = tokenKey(ViewContainerRef); -var TemplateRefTokenKey = tokenKey(TemplateRef); -var ChangeDetectorRefTokenKey = tokenKey(ChangeDetectorRef); -var InjectorRefTokenKey = tokenKey(Injector); -/** - * @param {?} checkIndex - * @param {?} flags - * @param {?} matchedQueries - * @param {?} childCount - * @param {?} ctor - * @param {?} deps - * @param {?=} props - * @param {?=} outputs - * @return {?} - */ -function directiveDef(checkIndex, flags, matchedQueries, childCount, ctor, deps, props, outputs) { - var /** @type {?} */ bindings = []; - if (props) { - for (var /** @type {?} */ prop in props) { - var _a = props[prop], bindingIndex = _a[0], nonMinifiedName = _a[1]; - bindings[bindingIndex] = { - flags: 8 /* TypeProperty */, - name: prop, nonMinifiedName: nonMinifiedName, - ns: null, - securityContext: null, - suffix: null - }; - } - } - var /** @type {?} */ outputDefs = []; - if (outputs) { - for (var /** @type {?} */ propName in outputs) { - outputDefs.push({ type: 1 /* DirectiveOutput */, propName: propName, target: null, eventName: outputs[propName] }); - } - } - flags |= 16384 /* TypeDirective */; - return _def(checkIndex, flags, matchedQueries, childCount, ctor, ctor, deps, bindings, outputDefs); -} -/** - * @param {?} flags - * @param {?} ctor - * @param {?} deps - * @return {?} - */ -function pipeDef(flags, ctor, deps) { - flags |= 16 /* TypePipe */; - return _def(-1, flags, null, 0, ctor, ctor, deps); -} -/** - * @param {?} flags - * @param {?} matchedQueries - * @param {?} token - * @param {?} value - * @param {?} deps - * @return {?} - */ -function providerDef(flags, matchedQueries, token, value, deps) { - return _def(-1, flags, matchedQueries, 0, token, value, deps); -} -/** - * @param {?} checkIndex - * @param {?} flags - * @param {?} matchedQueriesDsl - * @param {?} childCount - * @param {?} token - * @param {?} value - * @param {?} deps - * @param {?=} bindings - * @param {?=} outputs - * @return {?} - */ -function _def(checkIndex, flags, matchedQueriesDsl, childCount, token, value, deps, bindings, outputs) { - var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds; - if (!outputs) { - outputs = []; - } - if (!bindings) { - bindings = []; - } - // Need to resolve forwardRefs as e.g. for `useValue` we - // lowered the expression and then stopped evaluating it, - // i.e. also didn't unwrap it. - value = resolveForwardRef(value); - var /** @type {?} */ depDefs = splitDepsDsl(deps); - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - checkIndex: checkIndex, - flags: flags, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, - ngContentIndex: -1, childCount: childCount, bindings: bindings, - bindingFlags: calcBindingFlags(bindings), outputs: outputs, - element: null, - provider: { token: token, value: value, deps: depDefs }, - text: null, - query: null, - ngContent: null - }; -} -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function createProviderInstance(view, def) { - return _createProviderInstance(view, def); -} -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function createPipeInstance(view, def) { - // deps are looked up from component. - var /** @type {?} */ compView = view; - while (compView.parent && !isComponentView(compView)) { - compView = compView.parent; - } - // pipes can see the private services of the component - var /** @type {?} */ allowPrivateServices = true; - // pipes are always eager and classes! - return createClass(/** @type {?} */ ((compView.parent)), /** @type {?} */ ((viewParentEl(compView))), allowPrivateServices, /** @type {?} */ ((def.provider)).value, /** @type {?} */ ((def.provider)).deps); -} -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function createDirectiveInstance(view, def) { - // components can see other private services, other directives can't. - var /** @type {?} */ allowPrivateServices = (def.flags & 32768 /* Component */) > 0; - // directives are always eager and classes! - var /** @type {?} */ instance = createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((def.provider)).value, /** @type {?} */ ((def.provider)).deps); - if (def.outputs.length) { - for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) { - var /** @type {?} */ output = def.outputs[i]; - var /** @type {?} */ subscription = instance[/** @type {?} */ ((output.propName))].subscribe(eventHandlerClosure(view, /** @type {?} */ ((def.parent)).nodeIndex, output.eventName)); /** @type {?} */ - ((view.disposables))[def.outputIndex + i] = subscription.unsubscribe.bind(subscription); - } - } - return instance; -} -/** - * @param {?} view - * @param {?} index - * @param {?} eventName - * @return {?} - */ -function eventHandlerClosure(view, index, eventName) { - return function (event) { return dispatchEvent(view, index, eventName, event); }; -} -/** - * @param {?} view - * @param {?} def - * @param {?} v0 - * @param {?} v1 - * @param {?} v2 - * @param {?} v3 - * @param {?} v4 - * @param {?} v5 - * @param {?} v6 - * @param {?} v7 - * @param {?} v8 - * @param {?} v9 - * @return {?} - */ -function checkAndUpdateDirectiveInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex); - var /** @type {?} */ directive = providerData.instance; - var /** @type {?} */ changed = false; - var /** @type {?} */ changes = /** @type {?} */ ((undefined)); - var /** @type {?} */ bindLen = def.bindings.length; - if (bindLen > 0 && checkBinding(view, def, 0, v0)) { - changed = true; - changes = updateProp(view, providerData, def, 0, v0, changes); - } - if (bindLen > 1 && checkBinding(view, def, 1, v1)) { - changed = true; - changes = updateProp(view, providerData, def, 1, v1, changes); - } - if (bindLen > 2 && checkBinding(view, def, 2, v2)) { - changed = true; - changes = updateProp(view, providerData, def, 2, v2, changes); - } - if (bindLen > 3 && checkBinding(view, def, 3, v3)) { - changed = true; - changes = updateProp(view, providerData, def, 3, v3, changes); - } - if (bindLen > 4 && checkBinding(view, def, 4, v4)) { - changed = true; - changes = updateProp(view, providerData, def, 4, v4, changes); - } - if (bindLen > 5 && checkBinding(view, def, 5, v5)) { - changed = true; - changes = updateProp(view, providerData, def, 5, v5, changes); - } - if (bindLen > 6 && checkBinding(view, def, 6, v6)) { - changed = true; - changes = updateProp(view, providerData, def, 6, v6, changes); - } - if (bindLen > 7 && checkBinding(view, def, 7, v7)) { - changed = true; - changes = updateProp(view, providerData, def, 7, v7, changes); - } - if (bindLen > 8 && checkBinding(view, def, 8, v8)) { - changed = true; - changes = updateProp(view, providerData, def, 8, v8, changes); - } - if (bindLen > 9 && checkBinding(view, def, 9, v9)) { - changed = true; - changes = updateProp(view, providerData, def, 9, v9, changes); - } - if (changes) { - directive.ngOnChanges(changes); - } - if ((view.state & 2 /* FirstCheck */) && (def.flags & 65536 /* OnInit */)) { - directive.ngOnInit(); - } - if (def.flags & 262144 /* DoCheck */) { - directive.ngDoCheck(); - } - return changed; -} -/** - * @param {?} view - * @param {?} def - * @param {?} values - * @return {?} - */ -function checkAndUpdateDirectiveDynamic(view, def, values) { - var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex); - var /** @type {?} */ directive = providerData.instance; - var /** @type {?} */ changed = false; - var /** @type {?} */ changes = /** @type {?} */ ((undefined)); - for (var /** @type {?} */ i = 0; i < values.length; i++) { - if (checkBinding(view, def, i, values[i])) { - changed = true; - changes = updateProp(view, providerData, def, i, values[i], changes); - } - } - if (changes) { - directive.ngOnChanges(changes); - } - if ((view.state & 2 /* FirstCheck */) && (def.flags & 65536 /* OnInit */)) { - directive.ngOnInit(); - } - if (def.flags & 262144 /* DoCheck */) { - directive.ngDoCheck(); - } - return changed; -} -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function _createProviderInstance(view, def) { - // private services can see other private services - var /** @type {?} */ allowPrivateServices = (def.flags & 8192 /* PrivateProvider */) > 0; - var /** @type {?} */ providerDef = def.provider; - switch (def.flags & 201347067 /* Types */) { - case 512 /* TypeClassProvider */: - return createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps); - case 1024 /* TypeFactoryProvider */: - return callFactory(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps); - case 2048 /* TypeUseExistingProvider */: - return resolveDep(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).deps[0]); - case 256 /* TypeValueProvider */: - return /** @type {?} */ ((providerDef)).value; - } -} -/** - * @param {?} view - * @param {?} elDef - * @param {?} allowPrivateServices - * @param {?} ctor - * @param {?} deps - * @return {?} - */ -function createClass(view, elDef, allowPrivateServices, ctor, deps) { - var /** @type {?} */ len = deps.length; - switch (len) { - case 0: - return new ctor(); - case 1: - return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0])); - case 2: - return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1])); - case 3: - return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2])); - default: - var /** @type {?} */ depValues = new Array(len); - for (var /** @type {?} */ i = 0; i < len; i++) { - depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]); - } - return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))(); - } -} -/** - * @param {?} view - * @param {?} elDef - * @param {?} allowPrivateServices - * @param {?} factory - * @param {?} deps - * @return {?} - */ -function callFactory(view, elDef, allowPrivateServices, factory, deps) { - var /** @type {?} */ len = deps.length; - switch (len) { - case 0: - return factory(); - case 1: - return factory(resolveDep(view, elDef, allowPrivateServices, deps[0])); - case 2: - return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1])); - case 3: - return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2])); - default: - var /** @type {?} */ depValues = Array(len); - for (var /** @type {?} */ i = 0; i < len; i++) { - depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]); - } - return factory.apply(void 0, depValues); - } -} -// This default value is when checking the hierarchy for a token. -// -// It means both: -// - the token is not provided by the current injector, -// - only the element injectors should be checked (ie do not check module injectors -// -// mod1 -// / -// el1 mod2 -// \ / -// el2 -// -// When requesting el2.injector.get(token), we should check in the following order and return the -// first found value: -// - el2.injector.get(token, default) -// - el1.injector.get(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) -> do not check the module -// - mod2.injector.get(token, default) -var NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR = {}; -/** - * @param {?} view - * @param {?} elDef - * @param {?} allowPrivateServices - * @param {?} depDef - * @param {?=} notFoundValue - * @return {?} - */ -function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) { - if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; } - if (depDef.flags & 8 /* Value */) { - return depDef.token; - } - var /** @type {?} */ startView = view; - if (depDef.flags & 2 /* Optional */) { - notFoundValue = null; - } - var /** @type {?} */ tokenKey$$1 = depDef.tokenKey; - if (tokenKey$$1 === ChangeDetectorRefTokenKey) { - // directives on the same element as a component should be able to control the change detector - // of that component as well. - allowPrivateServices = !!(elDef && /** @type {?} */ ((elDef.element)).componentView); - } - if (elDef && (depDef.flags & 1 /* SkipSelf */)) { - allowPrivateServices = false; - elDef = /** @type {?} */ ((elDef.parent)); - } - while (view) { - if (elDef) { - switch (tokenKey$$1) { - case RendererV1TokenKey: { - var /** @type {?} */ compView = findCompView(view, elDef, allowPrivateServices); - return createRendererV1(compView); - } - case Renderer2TokenKey: { - var /** @type {?} */ compView = findCompView(view, elDef, allowPrivateServices); - return compView.renderer; - } - case ElementRefTokenKey: - return new ElementRef(asElementData(view, elDef.nodeIndex).renderElement); - case ViewContainerRefTokenKey: - return asElementData(view, elDef.nodeIndex).viewContainer; - case TemplateRefTokenKey: { - if (/** @type {?} */ ((elDef.element)).template) { - return asElementData(view, elDef.nodeIndex).template; - } - break; - } - case ChangeDetectorRefTokenKey: { - var /** @type {?} */ cdView = findCompView(view, elDef, allowPrivateServices); - return createChangeDetectorRef(cdView); - } - case InjectorRefTokenKey: - return createInjector(view, elDef); - default: - var /** @type {?} */ providerDef_1 = /** @type {?} */ (((allowPrivateServices ? /** @type {?} */ ((elDef.element)).allProviders : /** @type {?} */ ((elDef.element)).publicProviders)))[tokenKey$$1]; - if (providerDef_1) { - var /** @type {?} */ providerData = asProviderData(view, providerDef_1.nodeIndex); - if (!providerData) { - providerData = { instance: _createProviderInstance(view, providerDef_1) }; - view.nodes[providerDef_1.nodeIndex] = /** @type {?} */ (providerData); - } - return providerData.instance; - } - } - } - allowPrivateServices = isComponentView(view); - elDef = /** @type {?} */ ((viewParentEl(view))); - view = /** @type {?} */ ((view.parent)); - } - var /** @type {?} */ value = startView.root.injector.get(depDef.token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR); - if (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR || - notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) { - // Return the value from the root element injector when - // - it provides it - // (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) - // - the module injector should not be checked - // (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) - return value; - } - return startView.root.ngModule.injector.get(depDef.token, notFoundValue); -} -/** - * @param {?} view - * @param {?} elDef - * @param {?} allowPrivateServices - * @return {?} - */ -function findCompView(view, elDef, allowPrivateServices) { - var /** @type {?} */ compView; - if (allowPrivateServices) { - compView = asElementData(view, elDef.nodeIndex).componentView; - } - else { - compView = view; - while (compView.parent && !isComponentView(compView)) { - compView = compView.parent; - } - } - return compView; -} -/** - * @param {?} view - * @param {?} providerData - * @param {?} def - * @param {?} bindingIdx - * @param {?} value - * @param {?} changes - * @return {?} - */ -function updateProp(view, providerData, def, bindingIdx, value, changes) { - if (def.flags & 32768 /* Component */) { - var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((def.parent)).nodeIndex).componentView; - if (compView.def.flags & 2 /* OnPush */) { - compView.state |= 8 /* ChecksEnabled */; - } - } - var /** @type {?} */ binding = def.bindings[bindingIdx]; - var /** @type {?} */ propName = /** @type {?} */ ((binding.name)); - // Note: This is still safe with Closure Compiler as - // the user passed in the property name as an object has to `providerDef`, - // so Closure Compiler will have renamed the property correctly already. - providerData.instance[propName] = value; - if (def.flags & 524288 /* OnChanges */) { - changes = changes || {}; - var /** @type {?} */ oldValue = view.oldValues[def.bindingIndex + bindingIdx]; - if (oldValue instanceof WrappedValue) { - oldValue = oldValue.wrapped; - } - var /** @type {?} */ binding_1 = def.bindings[bindingIdx]; - changes[/** @type {?} */ ((binding_1.nonMinifiedName))] = - new SimpleChange(oldValue, value, (view.state & 2 /* FirstCheck */) !== 0); - } - view.oldValues[def.bindingIndex + bindingIdx] = value; - return changes; -} -/** - * @param {?} view - * @param {?} lifecycles - * @return {?} - */ -function callLifecycleHooksChildrenFirst(view, lifecycles) { - if (!(view.def.nodeFlags & lifecycles)) { - return; - } - var /** @type {?} */ nodes = view.def.nodes; - for (var /** @type {?} */ i = 0; i < nodes.length; i++) { - var /** @type {?} */ nodeDef = nodes[i]; - var /** @type {?} */ parent_1 = nodeDef.parent; - if (!parent_1 && nodeDef.flags & lifecycles) { - // matching root node (e.g. a pipe) - callProviderLifecycles(view, i, nodeDef.flags & lifecycles); - } - if ((nodeDef.childFlags & lifecycles) === 0) { - // no child matches one of the lifecycles - i += nodeDef.childCount; - } - while (parent_1 && (parent_1.flags & 1 /* TypeElement */) && - i === parent_1.nodeIndex + parent_1.childCount) { - // last child of an element - if (parent_1.directChildFlags & lifecycles) { - callElementProvidersLifecycles(view, parent_1, lifecycles); - } - parent_1 = parent_1.parent; - } - } -} -/** - * @param {?} view - * @param {?} elDef - * @param {?} lifecycles - * @return {?} - */ -function callElementProvidersLifecycles(view, elDef, lifecycles) { - for (var /** @type {?} */ i = elDef.nodeIndex + 1; i <= elDef.nodeIndex + elDef.childCount; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if (nodeDef.flags & lifecycles) { - callProviderLifecycles(view, i, nodeDef.flags & lifecycles); - } - // only visit direct children - i += nodeDef.childCount; - } -} -/** - * @param {?} view - * @param {?} index - * @param {?} lifecycles - * @return {?} - */ -function callProviderLifecycles(view, index, lifecycles) { - var /** @type {?} */ providerData = asProviderData(view, index); - if (!providerData) { - return; - } - var /** @type {?} */ provider = providerData.instance; - if (!provider) { - return; - } - Services.setCurrentNode(view, index); - if (lifecycles & 1048576 /* AfterContentInit */) { - provider.ngAfterContentInit(); - } - if (lifecycles & 2097152 /* AfterContentChecked */) { - provider.ngAfterContentChecked(); - } - if (lifecycles & 4194304 /* AfterViewInit */) { - provider.ngAfterViewInit(); - } - if (lifecycles & 8388608 /* AfterViewChecked */) { - provider.ngAfterViewChecked(); - } - if (lifecycles & 131072 /* OnDestroy */) { - provider.ngOnDestroy(); - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} flags - * @param {?} id - * @param {?} bindings - * @return {?} - */ -function queryDef(flags, id, bindings) { - var /** @type {?} */ bindingDefs = []; - for (var /** @type {?} */ propName in bindings) { - var /** @type {?} */ bindingType = bindings[propName]; - bindingDefs.push({ propName: propName, bindingType: bindingType }); - } - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - // TODO(vicb): check - checkIndex: -1, flags: flags, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, - ngContentIndex: -1, - matchedQueries: {}, - matchedQueryIds: 0, - references: {}, - childCount: 0, - bindings: [], - bindingFlags: 0, - outputs: [], - element: null, - provider: null, - text: null, - query: { id: id, filterId: filterQueryId(id), bindings: bindingDefs }, - ngContent: null - }; -} -/** - * @return {?} - */ -function createQuery() { - return new QueryList(); -} -/** - * @param {?} view - * @return {?} - */ -function dirtyParentQueries(view) { - var /** @type {?} */ queryIds = view.def.nodeMatchedQueries; - while (view.parent && isEmbeddedView(view)) { - var /** @type {?} */ tplDef = /** @type {?} */ ((view.parentNodeDef)); - view = view.parent; - // content queries - var /** @type {?} */ end = tplDef.nodeIndex + tplDef.childCount; - for (var /** @type {?} */ i = 0; i <= end; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if ((nodeDef.flags & 67108864 /* TypeContentQuery */) && - (nodeDef.flags & 536870912 /* DynamicQuery */) && - (/** @type {?} */ ((nodeDef.query)).filterId & queryIds) === /** @type {?} */ ((nodeDef.query)).filterId) { - asQueryList(view, i).setDirty(); - } - if ((nodeDef.flags & 1 /* TypeElement */ && i + nodeDef.childCount < tplDef.nodeIndex) || - !(nodeDef.childFlags & 67108864 /* TypeContentQuery */) || - !(nodeDef.childFlags & 536870912 /* DynamicQuery */)) { - // skip elements that don't contain the template element or no query. - i += nodeDef.childCount; - } - } - } - // view queries - if (view.def.nodeFlags & 134217728 /* TypeViewQuery */) { - for (var /** @type {?} */ i = 0; i < view.def.nodes.length; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if ((nodeDef.flags & 134217728 /* TypeViewQuery */) && (nodeDef.flags & 536870912 /* DynamicQuery */)) { - asQueryList(view, i).setDirty(); - } - // only visit the root nodes - i += nodeDef.childCount; - } - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @return {?} - */ -function checkAndUpdateQuery(view, nodeDef) { - var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex); - if (!queryList.dirty) { - return; - } - var /** @type {?} */ directiveInstance; - var /** @type {?} */ newValues = /** @type {?} */ ((undefined)); - if (nodeDef.flags & 67108864 /* TypeContentQuery */) { - var /** @type {?} */ elementDef = /** @type {?} */ ((/** @type {?} */ ((nodeDef.parent)).parent)); - newValues = calcQueryValues(view, elementDef.nodeIndex, elementDef.nodeIndex + elementDef.childCount, /** @type {?} */ ((nodeDef.query)), []); - directiveInstance = asProviderData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).instance; - } - else if (nodeDef.flags & 134217728 /* TypeViewQuery */) { - newValues = calcQueryValues(view, 0, view.def.nodes.length - 1, /** @type {?} */ ((nodeDef.query)), []); - directiveInstance = view.component; - } - queryList.reset(newValues); - var /** @type {?} */ bindings = /** @type {?} */ ((nodeDef.query)).bindings; - var /** @type {?} */ notify = false; - for (var /** @type {?} */ i = 0; i < bindings.length; i++) { - var /** @type {?} */ binding = bindings[i]; - var /** @type {?} */ boundValue = void 0; - switch (binding.bindingType) { - case 0 /* First */: - boundValue = queryList.first; - break; - case 1 /* All */: - boundValue = queryList; - notify = true; - break; - } - directiveInstance[binding.propName] = boundValue; - } - if (notify) { - queryList.notifyOnChanges(); - } -} -/** - * @param {?} view - * @param {?} startIndex - * @param {?} endIndex - * @param {?} queryDef - * @param {?} values - * @return {?} - */ -function calcQueryValues(view, startIndex, endIndex, queryDef, values) { - for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - var /** @type {?} */ valueType = nodeDef.matchedQueries[queryDef.id]; - if (valueType != null) { - values.push(getQueryValue(view, nodeDef, valueType)); - } - if (nodeDef.flags & 1 /* TypeElement */ && /** @type {?} */ ((nodeDef.element)).template && - (/** @type {?} */ ((/** @type {?} */ ((nodeDef.element)).template)).nodeMatchedQueries & queryDef.filterId) === - queryDef.filterId) { - var /** @type {?} */ elementData = asElementData(view, i); - // check embedded views that were attached at the place of their template, - // but process child nodes first if some match the query (see issue #16568) - if ((nodeDef.childMatchedQueries & queryDef.filterId) === queryDef.filterId) { - calcQueryValues(view, i + 1, i + nodeDef.childCount, queryDef, values); - i += nodeDef.childCount; - } - if (nodeDef.flags & 16777216 /* EmbeddedViews */) { - var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews; - for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) { - var /** @type {?} */ embeddedView = embeddedViews[k]; - var /** @type {?} */ dvc = declaredViewContainer(embeddedView); - if (dvc && dvc === elementData) { - calcQueryValues(embeddedView, 0, embeddedView.def.nodes.length - 1, queryDef, values); - } - } - } - var /** @type {?} */ projectedViews = elementData.template._projectedViews; - if (projectedViews) { - for (var /** @type {?} */ k = 0; k < projectedViews.length; k++) { - var /** @type {?} */ projectedView = projectedViews[k]; - calcQueryValues(projectedView, 0, projectedView.def.nodes.length - 1, queryDef, values); - } - } - } - if ((nodeDef.childMatchedQueries & queryDef.filterId) !== queryDef.filterId) { - // if no child matches the query, skip the children. - i += nodeDef.childCount; - } - } - return values; -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} queryValueType - * @return {?} - */ -function getQueryValue(view, nodeDef, queryValueType) { - if (queryValueType != null) { - // a match - switch (queryValueType) { - case 1 /* RenderElement */: - return asElementData(view, nodeDef.nodeIndex).renderElement; - case 0 /* ElementRef */: - return new ElementRef(asElementData(view, nodeDef.nodeIndex).renderElement); - case 2 /* TemplateRef */: - return asElementData(view, nodeDef.nodeIndex).template; - case 3 /* ViewContainerRef */: - return asElementData(view, nodeDef.nodeIndex).viewContainer; - case 4 /* Provider */: - return asProviderData(view, nodeDef.nodeIndex).instance; - } - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @param {?} ngContentIndex - * @param {?} index - * @return {?} - */ -function ngContentDef(ngContentIndex, index) { - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - checkIndex: -1, - flags: 8 /* TypeNgContent */, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, - matchedQueries: {}, - matchedQueryIds: 0, - references: {}, ngContentIndex: ngContentIndex, - childCount: 0, - bindings: [], - bindingFlags: 0, - outputs: [], - element: null, - provider: null, - text: null, - query: null, - ngContent: { index: index } - }; -} -/** - * @param {?} view - * @param {?} renderHost - * @param {?} def - * @return {?} - */ -function appendNgContent(view, renderHost, def) { - var /** @type {?} */ parentEl = getParentRenderElement(view, renderHost, def); - if (!parentEl) { - // Nothing to do if there is no parent element. - return; - } - var /** @type {?} */ ngContentIndex = /** @type {?} */ ((def.ngContent)).index; - visitProjectedRenderNodes(view, ngContentIndex, 1 /* AppendChild */, parentEl, null, undefined); -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} checkIndex - * @param {?} argCount - * @return {?} - */ -function purePipeDef(checkIndex, argCount) { - // argCount + 1 to include the pipe as first arg - return _pureExpressionDef(128 /* TypePurePipe */, checkIndex, new Array(argCount + 1)); -} -/** - * @param {?} checkIndex - * @param {?} argCount - * @return {?} - */ -function pureArrayDef(checkIndex, argCount) { - return _pureExpressionDef(32 /* TypePureArray */, checkIndex, new Array(argCount)); -} -/** - * @param {?} checkIndex - * @param {?} propToIndex - * @return {?} - */ -function pureObjectDef(checkIndex, propToIndex) { - var /** @type {?} */ keys = Object.keys(propToIndex); - var /** @type {?} */ nbKeys = keys.length; - var /** @type {?} */ propertyNames = new Array(nbKeys); - for (var /** @type {?} */ i = 0; i < nbKeys; i++) { - var /** @type {?} */ key = keys[i]; - var /** @type {?} */ index = propToIndex[key]; - propertyNames[index] = key; - } - return _pureExpressionDef(64 /* TypePureObject */, checkIndex, propertyNames); -} -/** - * @param {?} flags - * @param {?} checkIndex - * @param {?} propertyNames - * @return {?} - */ -function _pureExpressionDef(flags, checkIndex, propertyNames) { - var /** @type {?} */ bindings = new Array(propertyNames.length); - for (var /** @type {?} */ i = 0; i < propertyNames.length; i++) { - var /** @type {?} */ prop = propertyNames[i]; - bindings[i] = { - flags: 8 /* TypeProperty */, - name: prop, - ns: null, - nonMinifiedName: prop, - securityContext: null, - suffix: null - }; - } - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - checkIndex: checkIndex, - flags: flags, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, - matchedQueries: {}, - matchedQueryIds: 0, - references: {}, - ngContentIndex: -1, - childCount: 0, bindings: bindings, - bindingFlags: calcBindingFlags(bindings), - outputs: [], - element: null, - provider: null, - text: null, - query: null, - ngContent: null - }; -} -/** - * @param {?} view - * @param {?} def - * @return {?} - */ -function createPureExpression(view, def) { - return { value: undefined }; -} -/** - * @param {?} view - * @param {?} def - * @param {?} v0 - * @param {?} v1 - * @param {?} v2 - * @param {?} v3 - * @param {?} v4 - * @param {?} v5 - * @param {?} v6 - * @param {?} v7 - * @param {?} v8 - * @param {?} v9 - * @return {?} - */ -function checkAndUpdatePureExpressionInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ bindings = def.bindings; - var /** @type {?} */ changed = false; - var /** @type {?} */ bindLen = bindings.length; - if (bindLen > 0 && checkAndUpdateBinding(view, def, 0, v0)) - changed = true; - if (bindLen > 1 && checkAndUpdateBinding(view, def, 1, v1)) - changed = true; - if (bindLen > 2 && checkAndUpdateBinding(view, def, 2, v2)) - changed = true; - if (bindLen > 3 && checkAndUpdateBinding(view, def, 3, v3)) - changed = true; - if (bindLen > 4 && checkAndUpdateBinding(view, def, 4, v4)) - changed = true; - if (bindLen > 5 && checkAndUpdateBinding(view, def, 5, v5)) - changed = true; - if (bindLen > 6 && checkAndUpdateBinding(view, def, 6, v6)) - changed = true; - if (bindLen > 7 && checkAndUpdateBinding(view, def, 7, v7)) - changed = true; - if (bindLen > 8 && checkAndUpdateBinding(view, def, 8, v8)) - changed = true; - if (bindLen > 9 && checkAndUpdateBinding(view, def, 9, v9)) - changed = true; - if (changed) { - var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex); - var /** @type {?} */ value = void 0; - switch (def.flags & 201347067 /* Types */) { - case 32 /* TypePureArray */: - value = new Array(bindings.length); - if (bindLen > 0) - value[0] = v0; - if (bindLen > 1) - value[1] = v1; - if (bindLen > 2) - value[2] = v2; - if (bindLen > 3) - value[3] = v3; - if (bindLen > 4) - value[4] = v4; - if (bindLen > 5) - value[5] = v5; - if (bindLen > 6) - value[6] = v6; - if (bindLen > 7) - value[7] = v7; - if (bindLen > 8) - value[8] = v8; - if (bindLen > 9) - value[9] = v9; - break; - case 64 /* TypePureObject */: - value = {}; - if (bindLen > 0) - value[/** @type {?} */ ((bindings[0].name))] = v0; - if (bindLen > 1) - value[/** @type {?} */ ((bindings[1].name))] = v1; - if (bindLen > 2) - value[/** @type {?} */ ((bindings[2].name))] = v2; - if (bindLen > 3) - value[/** @type {?} */ ((bindings[3].name))] = v3; - if (bindLen > 4) - value[/** @type {?} */ ((bindings[4].name))] = v4; - if (bindLen > 5) - value[/** @type {?} */ ((bindings[5].name))] = v5; - if (bindLen > 6) - value[/** @type {?} */ ((bindings[6].name))] = v6; - if (bindLen > 7) - value[/** @type {?} */ ((bindings[7].name))] = v7; - if (bindLen > 8) - value[/** @type {?} */ ((bindings[8].name))] = v8; - if (bindLen > 9) - value[/** @type {?} */ ((bindings[9].name))] = v9; - break; - case 128 /* TypePurePipe */: - var /** @type {?} */ pipe = v0; - switch (bindLen) { - case 1: - value = pipe.transform(v0); - break; - case 2: - value = pipe.transform(v1); - break; - case 3: - value = pipe.transform(v1, v2); - break; - case 4: - value = pipe.transform(v1, v2, v3); - break; - case 5: - value = pipe.transform(v1, v2, v3, v4); - break; - case 6: - value = pipe.transform(v1, v2, v3, v4, v5); - break; - case 7: - value = pipe.transform(v1, v2, v3, v4, v5, v6); - break; - case 8: - value = pipe.transform(v1, v2, v3, v4, v5, v6, v7); - break; - case 9: - value = pipe.transform(v1, v2, v3, v4, v5, v6, v7, v8); - break; - case 10: - value = pipe.transform(v1, v2, v3, v4, v5, v6, v7, v8, v9); - break; - } - break; - } - data.value = value; - } - return changed; -} -/** - * @param {?} view - * @param {?} def - * @param {?} values - * @return {?} - */ -function checkAndUpdatePureExpressionDynamic(view, def, values) { - var /** @type {?} */ bindings = def.bindings; - var /** @type {?} */ changed = false; - for (var /** @type {?} */ i = 0; i < values.length; i++) { - // Note: We need to loop over all values, so that - // the old values are updates as well! - if (checkAndUpdateBinding(view, def, i, values[i])) { - changed = true; - } - } - if (changed) { - var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex); - var /** @type {?} */ value = void 0; - switch (def.flags & 201347067 /* Types */) { - case 32 /* TypePureArray */: - value = values; - break; - case 64 /* TypePureObject */: - value = {}; - for (var /** @type {?} */ i = 0; i < values.length; i++) { - value[/** @type {?} */ ((bindings[i].name))] = values[i]; - } - break; - case 128 /* TypePurePipe */: - var /** @type {?} */ pipe = values[0]; - var /** @type {?} */ params = values.slice(1); - value = pipe.transform.apply(pipe, params); - break; - } - data.value = value; - } - return changed; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} checkIndex - * @param {?} ngContentIndex - * @param {?} staticText - * @return {?} - */ -function textDef(checkIndex, ngContentIndex, staticText) { - var /** @type {?} */ bindings = new Array(staticText.length - 1); - for (var /** @type {?} */ i = 1; i < staticText.length; i++) { - bindings[i - 1] = { - flags: 8 /* TypeProperty */, - name: null, - ns: null, - nonMinifiedName: null, - securityContext: null, - suffix: staticText[i], - }; - } - return { - // will bet set by the view definition - nodeIndex: -1, - parent: null, - renderParent: null, - bindingIndex: -1, - outputIndex: -1, - // regular values - checkIndex: checkIndex, - flags: 2 /* TypeText */, - childFlags: 0, - directChildFlags: 0, - childMatchedQueries: 0, - matchedQueries: {}, - matchedQueryIds: 0, - references: {}, ngContentIndex: ngContentIndex, - childCount: 0, bindings: bindings, - bindingFlags: 8 /* TypeProperty */, - outputs: [], - element: null, - provider: null, - text: { prefix: staticText[0] }, - query: null, - ngContent: null, - }; -} -/** - * @param {?} view - * @param {?} renderHost - * @param {?} def - * @return {?} - */ -function createText(view, renderHost, def) { - var /** @type {?} */ renderNode$$1; - var /** @type {?} */ renderer = view.renderer; - renderNode$$1 = renderer.createText(/** @type {?} */ ((def.text)).prefix); - var /** @type {?} */ parentEl = getParentRenderElement(view, renderHost, def); - if (parentEl) { - renderer.appendChild(parentEl, renderNode$$1); - } - return { renderText: renderNode$$1 }; -} -/** - * @param {?} view - * @param {?} def - * @param {?} v0 - * @param {?} v1 - * @param {?} v2 - * @param {?} v3 - * @param {?} v4 - * @param {?} v5 - * @param {?} v6 - * @param {?} v7 - * @param {?} v8 - * @param {?} v9 - * @return {?} - */ -function checkAndUpdateTextInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ changed = false; - var /** @type {?} */ bindings = def.bindings; - var /** @type {?} */ bindLen = bindings.length; - if (bindLen > 0 && checkAndUpdateBinding(view, def, 0, v0)) - changed = true; - if (bindLen > 1 && checkAndUpdateBinding(view, def, 1, v1)) - changed = true; - if (bindLen > 2 && checkAndUpdateBinding(view, def, 2, v2)) - changed = true; - if (bindLen > 3 && checkAndUpdateBinding(view, def, 3, v3)) - changed = true; - if (bindLen > 4 && checkAndUpdateBinding(view, def, 4, v4)) - changed = true; - if (bindLen > 5 && checkAndUpdateBinding(view, def, 5, v5)) - changed = true; - if (bindLen > 6 && checkAndUpdateBinding(view, def, 6, v6)) - changed = true; - if (bindLen > 7 && checkAndUpdateBinding(view, def, 7, v7)) - changed = true; - if (bindLen > 8 && checkAndUpdateBinding(view, def, 8, v8)) - changed = true; - if (bindLen > 9 && checkAndUpdateBinding(view, def, 9, v9)) - changed = true; - if (changed) { - var /** @type {?} */ value = /** @type {?} */ ((def.text)).prefix; - if (bindLen > 0) - value += _addInterpolationPart(v0, bindings[0]); - if (bindLen > 1) - value += _addInterpolationPart(v1, bindings[1]); - if (bindLen > 2) - value += _addInterpolationPart(v2, bindings[2]); - if (bindLen > 3) - value += _addInterpolationPart(v3, bindings[3]); - if (bindLen > 4) - value += _addInterpolationPart(v4, bindings[4]); - if (bindLen > 5) - value += _addInterpolationPart(v5, bindings[5]); - if (bindLen > 6) - value += _addInterpolationPart(v6, bindings[6]); - if (bindLen > 7) - value += _addInterpolationPart(v7, bindings[7]); - if (bindLen > 8) - value += _addInterpolationPart(v8, bindings[8]); - if (bindLen > 9) - value += _addInterpolationPart(v9, bindings[9]); - var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText; - view.renderer.setValue(renderNode$$1, value); - } - return changed; -} -/** - * @param {?} view - * @param {?} def - * @param {?} values - * @return {?} - */ -function checkAndUpdateTextDynamic(view, def, values) { - var /** @type {?} */ bindings = def.bindings; - var /** @type {?} */ changed = false; - for (var /** @type {?} */ i = 0; i < values.length; i++) { - // Note: We need to loop over all values, so that - // the old values are updates as well! - if (checkAndUpdateBinding(view, def, i, values[i])) { - changed = true; - } - } - if (changed) { - var /** @type {?} */ value = ''; - for (var /** @type {?} */ i = 0; i < values.length; i++) { - value = value + _addInterpolationPart(values[i], bindings[i]); - } - value = /** @type {?} */ ((def.text)).prefix + value; - var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText; - view.renderer.setValue(renderNode$$1, value); - } - return changed; -} -/** - * @param {?} value - * @param {?} binding - * @return {?} - */ -function _addInterpolationPart(value, binding) { - var /** @type {?} */ valueStr = value != null ? value.toString() : ''; - return valueStr + binding.suffix; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @param {?} flags - * @param {?} nodes - * @param {?=} updateDirectives - * @param {?=} updateRenderer - * @return {?} - */ -function viewDef(flags, nodes, updateDirectives, updateRenderer) { - // clone nodes and set auto calculated values - var /** @type {?} */ viewBindingCount = 0; - var /** @type {?} */ viewDisposableCount = 0; - var /** @type {?} */ viewNodeFlags = 0; - var /** @type {?} */ viewRootNodeFlags = 0; - var /** @type {?} */ viewMatchedQueries = 0; - var /** @type {?} */ currentParent = null; - var /** @type {?} */ currentRenderParent = null; - var /** @type {?} */ currentElementHasPublicProviders = false; - var /** @type {?} */ currentElementHasPrivateProviders = false; - var /** @type {?} */ lastRenderRootNode = null; - for (var /** @type {?} */ i = 0; i < nodes.length; i++) { - var /** @type {?} */ node = nodes[i]; - node.nodeIndex = i; - node.parent = currentParent; - node.bindingIndex = viewBindingCount; - node.outputIndex = viewDisposableCount; - node.renderParent = currentRenderParent; - viewNodeFlags |= node.flags; - viewMatchedQueries |= node.matchedQueryIds; - if (node.element) { - var /** @type {?} */ elDef = node.element; - elDef.publicProviders = - currentParent ? /** @type {?} */ ((currentParent.element)).publicProviders : Object.create(null); - elDef.allProviders = elDef.publicProviders; - // Note: We assume that all providers of an element are before any child element! - currentElementHasPublicProviders = false; - currentElementHasPrivateProviders = false; - if (node.element.template) { - viewMatchedQueries |= node.element.template.nodeMatchedQueries; - } - } - validateNode(currentParent, node, nodes.length); - viewBindingCount += node.bindings.length; - viewDisposableCount += node.outputs.length; - if (!currentRenderParent && (node.flags & 3 /* CatRenderNode */)) { - lastRenderRootNode = node; - } - if (node.flags & 20224 /* CatProvider */) { - if (!currentElementHasPublicProviders) { - currentElementHasPublicProviders = true; /** @type {?} */ - ((/** @type {?} */ ((currentParent)).element)).publicProviders = Object.create(/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders); /** @type {?} */ - ((/** @type {?} */ ((currentParent)).element)).allProviders = /** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders; - } - var /** @type {?} */ isPrivateService = (node.flags & 8192 /* PrivateProvider */) !== 0; - var /** @type {?} */ isComponent = (node.flags & 32768 /* Component */) !== 0; - if (!isPrivateService || isComponent) { - /** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders))[tokenKey(/** @type {?} */ ((node.provider)).token)] = node; - } - else { - if (!currentElementHasPrivateProviders) { - currentElementHasPrivateProviders = true; /** @type {?} */ - ((/** @type {?} */ ((currentParent)).element)).allProviders = Object.create(/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders); - } /** @type {?} */ - ((/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).allProviders))[tokenKey(/** @type {?} */ ((node.provider)).token)] = node; - } - if (isComponent) { - /** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).componentProvider = node; - } - } - if (currentParent) { - currentParent.childFlags |= node.flags; - currentParent.directChildFlags |= node.flags; - currentParent.childMatchedQueries |= node.matchedQueryIds; - if (node.element && node.element.template) { - currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries; - } - } - else { - viewRootNodeFlags |= node.flags; - } - if (node.childCount > 0) { - currentParent = node; - if (!isNgContainer(node)) { - currentRenderParent = node; - } - } - else { - // When the current node has no children, check if it is the last children of its parent. - // When it is, propagate the flags up. - // The loop is required because an element could be the last transitive children of several - // elements. We loop to either the root or the highest opened element (= with remaining - // children) - while (currentParent && i === currentParent.nodeIndex + currentParent.childCount) { - var /** @type {?} */ newParent = currentParent.parent; - if (newParent) { - newParent.childFlags |= currentParent.childFlags; - newParent.childMatchedQueries |= currentParent.childMatchedQueries; - } - currentParent = newParent; - // We also need to update the render parent & account for ng-container - if (currentParent && isNgContainer(currentParent)) { - currentRenderParent = currentParent.renderParent; - } - else { - currentRenderParent = currentParent; - } - } - } - } - var /** @type {?} */ handleEvent = function (view, nodeIndex, eventName, event) { return /** @type {?} */ ((/** @type {?} */ ((nodes[nodeIndex].element)).handleEvent))(view, eventName, event); }; - return { - // Will be filled later... - factory: null, - nodeFlags: viewNodeFlags, - rootNodeFlags: viewRootNodeFlags, - nodeMatchedQueries: viewMatchedQueries, flags: flags, - nodes: nodes, - updateDirectives: updateDirectives || NOOP, - updateRenderer: updateRenderer || NOOP, handleEvent: handleEvent, - bindingCount: viewBindingCount, - outputCount: viewDisposableCount, lastRenderRootNode: lastRenderRootNode - }; -} -/** - * @param {?} node - * @return {?} - */ -function isNgContainer(node) { - return (node.flags & 1 /* TypeElement */) !== 0 && /** @type {?} */ ((node.element)).name === null; -} -/** - * @param {?} parent - * @param {?} node - * @param {?} nodeCount - * @return {?} - */ -function validateNode(parent, node, nodeCount) { - var /** @type {?} */ template = node.element && node.element.template; - if (template) { - if (!template.lastRenderRootNode) { - throw new Error("Illegal State: Embedded templates without nodes are not allowed!"); - } - if (template.lastRenderRootNode && - template.lastRenderRootNode.flags & 16777216 /* EmbeddedViews */) { - throw new Error("Illegal State: Last root node of a template can't have embedded views, at index " + node.nodeIndex + "!"); - } - } - if (node.flags & 20224 /* CatProvider */) { - var /** @type {?} */ parentFlags = parent ? parent.flags : 0; - if ((parentFlags & 1 /* TypeElement */) === 0) { - throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index " + node.nodeIndex + "!"); - } - } - if (node.query) { - if (node.flags & 67108864 /* TypeContentQuery */ && - (!parent || (parent.flags & 16384 /* TypeDirective */) === 0)) { - throw new Error("Illegal State: Content Query nodes need to be children of directives, at index " + node.nodeIndex + "!"); - } - if (node.flags & 134217728 /* TypeViewQuery */ && parent) { - throw new Error("Illegal State: View Query nodes have to be top level nodes, at index " + node.nodeIndex + "!"); - } - } - if (node.childCount) { - var /** @type {?} */ parentEnd = parent ? parent.nodeIndex + parent.childCount : nodeCount - 1; - if (node.nodeIndex <= parentEnd && node.nodeIndex + node.childCount > parentEnd) { - throw new Error("Illegal State: childCount of node leads outside of parent, at index " + node.nodeIndex + "!"); - } - } -} -/** - * @param {?} parent - * @param {?} anchorDef - * @param {?} viewDef - * @param {?=} context - * @return {?} - */ -function createEmbeddedView(parent, anchorDef$$1, viewDef, context) { - // embedded views are seen as siblings to the anchor, so we need - // to get the parent of the anchor and use it as parentIndex. - var /** @type {?} */ view = createView(parent.root, parent.renderer, parent, anchorDef$$1, viewDef); - initView(view, parent.component, context); - createViewNodes(view); - return view; -} -/** - * @param {?} root - * @param {?} def - * @param {?=} context - * @return {?} - */ -function createRootView(root, def, context) { - var /** @type {?} */ view = createView(root, root.renderer, null, null, def); - initView(view, context, context); - createViewNodes(view); - return view; -} -/** - * @param {?} parentView - * @param {?} nodeDef - * @param {?} viewDef - * @param {?} hostElement - * @return {?} - */ -function createComponentView(parentView, nodeDef, viewDef, hostElement) { - var /** @type {?} */ rendererType = /** @type {?} */ ((nodeDef.element)).componentRendererType; - var /** @type {?} */ compRenderer; - if (!rendererType) { - compRenderer = parentView.root.renderer; - } - else { - compRenderer = parentView.root.rendererFactory.createRenderer(hostElement, rendererType); - } - return createView(parentView.root, compRenderer, parentView, /** @type {?} */ ((nodeDef.element)).componentProvider, viewDef); -} -/** - * @param {?} root - * @param {?} renderer - * @param {?} parent - * @param {?} parentNodeDef - * @param {?} def - * @return {?} - */ -function createView(root, renderer, parent, parentNodeDef, def) { - var /** @type {?} */ nodes = new Array(def.nodes.length); - var /** @type {?} */ disposables = def.outputCount ? new Array(def.outputCount) : null; - var /** @type {?} */ view = { - def: def, - parent: parent, - viewContainerParent: null, parentNodeDef: parentNodeDef, - context: null, - component: null, nodes: nodes, - state: 13 /* CatInit */, root: root, renderer: renderer, - oldValues: new Array(def.bindingCount), disposables: disposables - }; - return view; -} -/** - * @param {?} view - * @param {?} component - * @param {?} context - * @return {?} - */ -function initView(view, component, context) { - view.component = component; - view.context = context; -} -/** - * @param {?} view - * @return {?} - */ -function createViewNodes(view) { - var /** @type {?} */ renderHost; - if (isComponentView(view)) { - var /** @type {?} */ hostDef = view.parentNodeDef; - renderHost = asElementData(/** @type {?} */ ((view.parent)), /** @type {?} */ ((/** @type {?} */ ((hostDef)).parent)).nodeIndex).renderElement; - } - var /** @type {?} */ def = view.def; - var /** @type {?} */ nodes = view.nodes; - for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) { - var /** @type {?} */ nodeDef = def.nodes[i]; - Services.setCurrentNode(view, i); - var /** @type {?} */ nodeData = void 0; - switch (nodeDef.flags & 201347067 /* Types */) { - case 1 /* TypeElement */: - var /** @type {?} */ el = /** @type {?} */ (createElement(view, renderHost, nodeDef)); - var /** @type {?} */ componentView = /** @type {?} */ ((undefined)); - if (nodeDef.flags & 33554432 /* ComponentView */) { - var /** @type {?} */ compViewDef = resolveDefinition(/** @type {?} */ ((/** @type {?} */ ((nodeDef.element)).componentView))); - componentView = Services.createComponentView(view, nodeDef, compViewDef, el); - } - listenToElementOutputs(view, componentView, nodeDef, el); - nodeData = /** @type {?} */ ({ - renderElement: el, - componentView: componentView, - viewContainer: null, - template: /** @type {?} */ ((nodeDef.element)).template ? createTemplateData(view, nodeDef) : undefined - }); - if (nodeDef.flags & 16777216 /* EmbeddedViews */) { - nodeData.viewContainer = createViewContainerData(view, nodeDef, nodeData); - } - break; - case 2 /* TypeText */: - nodeData = /** @type {?} */ (createText(view, renderHost, nodeDef)); - break; - case 512 /* TypeClassProvider */: - case 1024 /* TypeFactoryProvider */: - case 2048 /* TypeUseExistingProvider */: - case 256 /* TypeValueProvider */: { - nodeData = nodes[i]; - if (!nodeData && !(nodeDef.flags & 4096 /* LazyProvider */)) { - var /** @type {?} */ instance = createProviderInstance(view, nodeDef); - nodeData = /** @type {?} */ ({ instance: instance }); - } - break; - } - case 16 /* TypePipe */: { - var /** @type {?} */ instance = createPipeInstance(view, nodeDef); - nodeData = /** @type {?} */ ({ instance: instance }); - break; - } - case 16384 /* TypeDirective */: { - nodeData = nodes[i]; - if (!nodeData) { - var /** @type {?} */ instance = createDirectiveInstance(view, nodeDef); - nodeData = /** @type {?} */ ({ instance: instance }); - } - if (nodeDef.flags & 32768 /* Component */) { - var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).componentView; - initView(compView, nodeData.instance, nodeData.instance); - } - break; - } - case 32 /* TypePureArray */: - case 64 /* TypePureObject */: - case 128 /* TypePurePipe */: - nodeData = /** @type {?} */ (createPureExpression(view, nodeDef)); - break; - case 67108864 /* TypeContentQuery */: - case 134217728 /* TypeViewQuery */: - nodeData = /** @type {?} */ (createQuery()); - break; - case 8 /* TypeNgContent */: - appendNgContent(view, renderHost, nodeDef); - // no runtime data needed for NgContent... - nodeData = undefined; - break; - } - nodes[i] = nodeData; - } - // Create the ViewData.nodes of component views after we created everything else, - // so that e.g. ng-content works - execComponentViewsAction(view, ViewAction.CreateViewNodes); - // fill static content and view queries - execQueriesAction(view, 67108864 /* TypeContentQuery */ | 134217728 /* TypeViewQuery */, 268435456 /* StaticQuery */, 0 /* CheckAndUpdate */); -} -/** - * @param {?} view - * @return {?} - */ -function checkNoChangesView(view) { - markProjectedViewsForCheck(view); - Services.updateDirectives(view, 1 /* CheckNoChanges */); - execEmbeddedViewsAction(view, ViewAction.CheckNoChanges); - Services.updateRenderer(view, 1 /* CheckNoChanges */); - execComponentViewsAction(view, ViewAction.CheckNoChanges); - // Note: We don't check queries for changes as we didn't do this in v2.x. - // TODO(tbosch): investigate if we can enable the check again in v5.x with a nicer error message. - view.state &= ~(64 /* CheckProjectedViews */ | 32 /* CheckProjectedView */); -} -/** - * @param {?} view - * @return {?} - */ -function checkAndUpdateView(view) { - if (view.state & 1 /* BeforeFirstCheck */) { - view.state &= ~1 /* BeforeFirstCheck */; - view.state |= 2 /* FirstCheck */; - } - else { - view.state &= ~2 /* FirstCheck */; - } - markProjectedViewsForCheck(view); - Services.updateDirectives(view, 0 /* CheckAndUpdate */); - execEmbeddedViewsAction(view, ViewAction.CheckAndUpdate); - execQueriesAction(view, 67108864 /* TypeContentQuery */, 536870912 /* DynamicQuery */, 0 /* CheckAndUpdate */); - callLifecycleHooksChildrenFirst(view, 2097152 /* AfterContentChecked */ | - (view.state & 2 /* FirstCheck */ ? 1048576 /* AfterContentInit */ : 0)); - Services.updateRenderer(view, 0 /* CheckAndUpdate */); - execComponentViewsAction(view, ViewAction.CheckAndUpdate); - execQueriesAction(view, 134217728 /* TypeViewQuery */, 536870912 /* DynamicQuery */, 0 /* CheckAndUpdate */); - callLifecycleHooksChildrenFirst(view, 8388608 /* AfterViewChecked */ | - (view.state & 2 /* FirstCheck */ ? 4194304 /* AfterViewInit */ : 0)); - if (view.def.flags & 2 /* OnPush */) { - view.state &= ~8 /* ChecksEnabled */; - } - view.state &= ~(64 /* CheckProjectedViews */ | 32 /* CheckProjectedView */); -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} argStyle - * @param {?=} v0 - * @param {?=} v1 - * @param {?=} v2 - * @param {?=} v3 - * @param {?=} v4 - * @param {?=} v5 - * @param {?=} v6 - * @param {?=} v7 - * @param {?=} v8 - * @param {?=} v9 - * @return {?} - */ -function checkAndUpdateNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - if (argStyle === 0 /* Inline */) { - return checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - } - else { - return checkAndUpdateNodeDynamic(view, nodeDef, v0); - } -} -/** - * @param {?} view - * @return {?} - */ -function markProjectedViewsForCheck(view) { - var /** @type {?} */ def = view.def; - if (!(def.nodeFlags & 4 /* ProjectedTemplate */)) { - return; - } - for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) { - var /** @type {?} */ nodeDef = def.nodes[i]; - if (nodeDef.flags & 4 /* ProjectedTemplate */) { - var /** @type {?} */ projectedViews = asElementData(view, i).template._projectedViews; - if (projectedViews) { - for (var /** @type {?} */ i_1 = 0; i_1 < projectedViews.length; i_1++) { - var /** @type {?} */ projectedView = projectedViews[i_1]; - projectedView.state |= 32 /* CheckProjectedView */; - markParentViewsForCheckProjectedViews(projectedView, view); - } - } - } - else if ((nodeDef.childFlags & 4 /* ProjectedTemplate */) === 0) { - // a parent with leafs - // no child is a component, - // then skip the children - i += nodeDef.childCount; - } - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?=} v0 - * @param {?=} v1 - * @param {?=} v2 - * @param {?=} v3 - * @param {?=} v4 - * @param {?=} v5 - * @param {?=} v6 - * @param {?=} v7 - * @param {?=} v8 - * @param {?=} v9 - * @return {?} - */ -function checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - switch (nodeDef.flags & 201347067 /* Types */) { - case 1 /* TypeElement */: - return checkAndUpdateElementInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - case 2 /* TypeText */: - return checkAndUpdateTextInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - case 16384 /* TypeDirective */: - return checkAndUpdateDirectiveInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - case 32 /* TypePureArray */: - case 64 /* TypePureObject */: - case 128 /* TypePurePipe */: - return checkAndUpdatePureExpressionInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - default: - throw 'unreachable'; - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} values - * @return {?} - */ -function checkAndUpdateNodeDynamic(view, nodeDef, values) { - switch (nodeDef.flags & 201347067 /* Types */) { - case 1 /* TypeElement */: - return checkAndUpdateElementDynamic(view, nodeDef, values); - case 2 /* TypeText */: - return checkAndUpdateTextDynamic(view, nodeDef, values); - case 16384 /* TypeDirective */: - return checkAndUpdateDirectiveDynamic(view, nodeDef, values); - case 32 /* TypePureArray */: - case 64 /* TypePureObject */: - case 128 /* TypePurePipe */: - return checkAndUpdatePureExpressionDynamic(view, nodeDef, values); - default: - throw 'unreachable'; - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} argStyle - * @param {?=} v0 - * @param {?=} v1 - * @param {?=} v2 - * @param {?=} v3 - * @param {?=} v4 - * @param {?=} v5 - * @param {?=} v6 - * @param {?=} v7 - * @param {?=} v8 - * @param {?=} v9 - * @return {?} - */ -function checkNoChangesNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - if (argStyle === 0 /* Inline */) { - checkNoChangesNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - } - else { - checkNoChangesNodeDynamic(view, nodeDef, v0); - } - // Returning false is ok here as we would have thrown in case of a change. - return false; -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} v0 - * @param {?} v1 - * @param {?} v2 - * @param {?} v3 - * @param {?} v4 - * @param {?} v5 - * @param {?} v6 - * @param {?} v7 - * @param {?} v8 - * @param {?} v9 - * @return {?} - */ -function checkNoChangesNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ bindLen = nodeDef.bindings.length; - if (bindLen > 0) - checkBindingNoChanges(view, nodeDef, 0, v0); - if (bindLen > 1) - checkBindingNoChanges(view, nodeDef, 1, v1); - if (bindLen > 2) - checkBindingNoChanges(view, nodeDef, 2, v2); - if (bindLen > 3) - checkBindingNoChanges(view, nodeDef, 3, v3); - if (bindLen > 4) - checkBindingNoChanges(view, nodeDef, 4, v4); - if (bindLen > 5) - checkBindingNoChanges(view, nodeDef, 5, v5); - if (bindLen > 6) - checkBindingNoChanges(view, nodeDef, 6, v6); - if (bindLen > 7) - checkBindingNoChanges(view, nodeDef, 7, v7); - if (bindLen > 8) - checkBindingNoChanges(view, nodeDef, 8, v8); - if (bindLen > 9) - checkBindingNoChanges(view, nodeDef, 9, v9); -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} values - * @return {?} - */ -function checkNoChangesNodeDynamic(view, nodeDef, values) { - for (var /** @type {?} */ i = 0; i < values.length; i++) { - checkBindingNoChanges(view, nodeDef, i, values[i]); - } -} -/** - * Workaround https://github.com/angular/tsickle/issues/497 - * @suppress {misplacedTypeAnnotation} - * @param {?} view - * @param {?} nodeDef - * @return {?} - */ -function checkNoChangesQuery(view, nodeDef) { - var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex); - if (queryList.dirty) { - throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, nodeDef.nodeIndex), "Query " + (/** @type {?} */ ((nodeDef.query))).id + " not dirty", "Query " + (/** @type {?} */ ((nodeDef.query))).id + " dirty", (view.state & 1 /* BeforeFirstCheck */) !== 0); - } -} -/** - * @param {?} view - * @return {?} - */ -function destroyView(view) { - if (view.state & 128 /* Destroyed */) { - return; - } - execEmbeddedViewsAction(view, ViewAction.Destroy); - execComponentViewsAction(view, ViewAction.Destroy); - callLifecycleHooksChildrenFirst(view, 131072 /* OnDestroy */); - if (view.disposables) { - for (var /** @type {?} */ i = 0; i < view.disposables.length; i++) { - view.disposables[i](); - } - } - detachProjectedView(view); - if (view.renderer.destroyNode) { - destroyViewNodes(view); - } - if (isComponentView(view)) { - view.renderer.destroy(); - } - view.state |= 128 /* Destroyed */; -} -/** - * @param {?} view - * @return {?} - */ -function destroyViewNodes(view) { - var /** @type {?} */ len = view.def.nodes.length; - for (var /** @type {?} */ i = 0; i < len; i++) { - var /** @type {?} */ def = view.def.nodes[i]; - if (def.flags & 1 /* TypeElement */) { - /** @type {?} */ ((view.renderer.destroyNode))(asElementData(view, i).renderElement); - } - else if (def.flags & 2 /* TypeText */) { - /** @type {?} */ ((view.renderer.destroyNode))(asTextData(view, i).renderText); - } - else if (def.flags & 67108864 /* TypeContentQuery */ || def.flags & 134217728 /* TypeViewQuery */) { - asQueryList(view, i).destroy(); - } - } -} -/** @enum {number} */ -var ViewAction = { - CreateViewNodes: 0, - CheckNoChanges: 1, - CheckNoChangesProjectedViews: 2, - CheckAndUpdate: 3, - CheckAndUpdateProjectedViews: 4, - Destroy: 5, -}; -ViewAction[ViewAction.CreateViewNodes] = "CreateViewNodes"; -ViewAction[ViewAction.CheckNoChanges] = "CheckNoChanges"; -ViewAction[ViewAction.CheckNoChangesProjectedViews] = "CheckNoChangesProjectedViews"; -ViewAction[ViewAction.CheckAndUpdate] = "CheckAndUpdate"; -ViewAction[ViewAction.CheckAndUpdateProjectedViews] = "CheckAndUpdateProjectedViews"; -ViewAction[ViewAction.Destroy] = "Destroy"; -/** - * @param {?} view - * @param {?} action - * @return {?} - */ -function execComponentViewsAction(view, action) { - var /** @type {?} */ def = view.def; - if (!(def.nodeFlags & 33554432 /* ComponentView */)) { - return; - } - for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) { - var /** @type {?} */ nodeDef = def.nodes[i]; - if (nodeDef.flags & 33554432 /* ComponentView */) { - // a leaf - callViewAction(asElementData(view, i).componentView, action); - } - else if ((nodeDef.childFlags & 33554432 /* ComponentView */) === 0) { - // a parent with leafs - // no child is a component, - // then skip the children - i += nodeDef.childCount; - } - } -} -/** - * @param {?} view - * @param {?} action - * @return {?} - */ -function execEmbeddedViewsAction(view, action) { - var /** @type {?} */ def = view.def; - if (!(def.nodeFlags & 16777216 /* EmbeddedViews */)) { - return; - } - for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) { - var /** @type {?} */ nodeDef = def.nodes[i]; - if (nodeDef.flags & 16777216 /* EmbeddedViews */) { - // a leaf - var /** @type {?} */ embeddedViews = /** @type {?} */ ((asElementData(view, i).viewContainer))._embeddedViews; - for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) { - callViewAction(embeddedViews[k], action); - } - } - else if ((nodeDef.childFlags & 16777216 /* EmbeddedViews */) === 0) { - // a parent with leafs - // no child is a component, - // then skip the children - i += nodeDef.childCount; - } - } -} -/** - * @param {?} view - * @param {?} action - * @return {?} - */ -function callViewAction(view, action) { - var /** @type {?} */ viewState = view.state; - switch (action) { - case ViewAction.CheckNoChanges: - if ((viewState & 128 /* Destroyed */) === 0) { - if ((viewState & 12 /* CatDetectChanges */) === 12 /* CatDetectChanges */) { - checkNoChangesView(view); - } - else if (viewState & 64 /* CheckProjectedViews */) { - execProjectedViewsAction(view, ViewAction.CheckNoChangesProjectedViews); - } - } - break; - case ViewAction.CheckNoChangesProjectedViews: - if ((viewState & 128 /* Destroyed */) === 0) { - if (viewState & 32 /* CheckProjectedView */) { - checkNoChangesView(view); - } - else if (viewState & 64 /* CheckProjectedViews */) { - execProjectedViewsAction(view, action); - } - } - break; - case ViewAction.CheckAndUpdate: - if ((viewState & 128 /* Destroyed */) === 0) { - if ((viewState & 12 /* CatDetectChanges */) === 12 /* CatDetectChanges */) { - checkAndUpdateView(view); - } - else if (viewState & 64 /* CheckProjectedViews */) { - execProjectedViewsAction(view, ViewAction.CheckAndUpdateProjectedViews); - } - } - break; - case ViewAction.CheckAndUpdateProjectedViews: - if ((viewState & 128 /* Destroyed */) === 0) { - if (viewState & 32 /* CheckProjectedView */) { - checkAndUpdateView(view); - } - else if (viewState & 64 /* CheckProjectedViews */) { - execProjectedViewsAction(view, action); - } - } - break; - case ViewAction.Destroy: - // Note: destroyView recurses over all views, - // so we don't need to special case projected views here. - destroyView(view); - break; - case ViewAction.CreateViewNodes: - createViewNodes(view); - break; - } -} -/** - * @param {?} view - * @param {?} action - * @return {?} - */ -function execProjectedViewsAction(view, action) { - execEmbeddedViewsAction(view, action); - execComponentViewsAction(view, action); -} -/** - * @param {?} view - * @param {?} queryFlags - * @param {?} staticDynamicQueryFlag - * @param {?} checkType - * @return {?} - */ -function execQueriesAction(view, queryFlags, staticDynamicQueryFlag, checkType) { - if (!(view.def.nodeFlags & queryFlags) || !(view.def.nodeFlags & staticDynamicQueryFlag)) { - return; - } - var /** @type {?} */ nodeCount = view.def.nodes.length; - for (var /** @type {?} */ i = 0; i < nodeCount; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if ((nodeDef.flags & queryFlags) && (nodeDef.flags & staticDynamicQueryFlag)) { - Services.setCurrentNode(view, nodeDef.nodeIndex); - switch (checkType) { - case 0 /* CheckAndUpdate */: - checkAndUpdateQuery(view, nodeDef); - break; - case 1 /* CheckNoChanges */: - checkNoChangesQuery(view, nodeDef); - break; - } - } - if (!(nodeDef.childFlags & queryFlags) || !(nodeDef.childFlags & staticDynamicQueryFlag)) { - // no child has a matching query - // then skip the children - i += nodeDef.childCount; - } - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var initialized = false; -/** - * @return {?} - */ -function initServicesIfNeeded() { - if (initialized) { - return; - } - initialized = true; - var /** @type {?} */ services = isDevMode() ? createDebugServices() : createProdServices(); - Services.setCurrentNode = services.setCurrentNode; - Services.createRootView = services.createRootView; - Services.createEmbeddedView = services.createEmbeddedView; - Services.createComponentView = services.createComponentView; - Services.createNgModuleRef = services.createNgModuleRef; - Services.overrideProvider = services.overrideProvider; - Services.clearProviderOverrides = services.clearProviderOverrides; - Services.checkAndUpdateView = services.checkAndUpdateView; - Services.checkNoChangesView = services.checkNoChangesView; - Services.destroyView = services.destroyView; - Services.resolveDep = resolveDep; - Services.createDebugContext = services.createDebugContext; - Services.handleEvent = services.handleEvent; - Services.updateDirectives = services.updateDirectives; - Services.updateRenderer = services.updateRenderer; - Services.dirtyParentQueries = dirtyParentQueries; -} -/** - * @return {?} - */ -function createProdServices() { - return { - setCurrentNode: function () { }, - createRootView: createProdRootView, - createEmbeddedView: createEmbeddedView, - createComponentView: createComponentView, - createNgModuleRef: createNgModuleRef, - overrideProvider: NOOP, - clearProviderOverrides: NOOP, - checkAndUpdateView: checkAndUpdateView, - checkNoChangesView: checkNoChangesView, - destroyView: destroyView, - createDebugContext: function (view, nodeIndex) { return new DebugContext_(view, nodeIndex); }, - handleEvent: function (view, nodeIndex, eventName, event) { - return view.def.handleEvent(view, nodeIndex, eventName, event); - }, - updateDirectives: function (view, checkType) { - return view.def.updateDirectives(checkType === 0 /* CheckAndUpdate */ ? prodCheckAndUpdateNode : - prodCheckNoChangesNode, view); - }, - updateRenderer: function (view, checkType) { - return view.def.updateRenderer(checkType === 0 /* CheckAndUpdate */ ? prodCheckAndUpdateNode : - prodCheckNoChangesNode, view); - }, - }; -} -/** - * @return {?} - */ -function createDebugServices() { - return { - setCurrentNode: debugSetCurrentNode, - createRootView: debugCreateRootView, - createEmbeddedView: debugCreateEmbeddedView, - createComponentView: debugCreateComponentView, - createNgModuleRef: debugCreateNgModuleRef, - overrideProvider: debugOverrideProvider, - clearProviderOverrides: debugClearProviderOverrides, - checkAndUpdateView: debugCheckAndUpdateView, - checkNoChangesView: debugCheckNoChangesView, - destroyView: debugDestroyView, - createDebugContext: function (view, nodeIndex) { return new DebugContext_(view, nodeIndex); }, - handleEvent: debugHandleEvent, - updateDirectives: debugUpdateDirectives, - updateRenderer: debugUpdateRenderer, - }; -} -/** - * @param {?} elInjector - * @param {?} projectableNodes - * @param {?} rootSelectorOrNode - * @param {?} def - * @param {?} ngModule - * @param {?=} context - * @return {?} - */ -function createProdRootView(elInjector, projectableNodes, rootSelectorOrNode, def, ngModule, context) { - var /** @type {?} */ rendererFactory = ngModule.injector.get(RendererFactory2); - return createRootView(createRootData(elInjector, ngModule, rendererFactory, projectableNodes, rootSelectorOrNode), def, context); -} -/** - * @param {?} elInjector - * @param {?} projectableNodes - * @param {?} rootSelectorOrNode - * @param {?} def - * @param {?} ngModule - * @param {?=} context - * @return {?} - */ -function debugCreateRootView(elInjector, projectableNodes, rootSelectorOrNode, def, ngModule, context) { - var /** @type {?} */ rendererFactory = ngModule.injector.get(RendererFactory2); - var /** @type {?} */ root = createRootData(elInjector, ngModule, new DebugRendererFactory2(rendererFactory), projectableNodes, rootSelectorOrNode); - var /** @type {?} */ defWithOverride = applyProviderOverridesToView(def); - return callWithDebugContext(DebugAction.create, createRootView, null, [root, defWithOverride, context]); -} -/** - * @param {?} elInjector - * @param {?} ngModule - * @param {?} rendererFactory - * @param {?} projectableNodes - * @param {?} rootSelectorOrNode - * @return {?} - */ -function createRootData(elInjector, ngModule, rendererFactory, projectableNodes, rootSelectorOrNode) { - var /** @type {?} */ sanitizer = ngModule.injector.get(Sanitizer); - var /** @type {?} */ errorHandler = ngModule.injector.get(ErrorHandler); - var /** @type {?} */ renderer = rendererFactory.createRenderer(null, null); - return { - ngModule: ngModule, - injector: elInjector, projectableNodes: projectableNodes, - selectorOrNode: rootSelectorOrNode, sanitizer: sanitizer, rendererFactory: rendererFactory, renderer: renderer, errorHandler: errorHandler - }; -} -/** - * @param {?} parentView - * @param {?} anchorDef - * @param {?} viewDef - * @param {?=} context - * @return {?} - */ -function debugCreateEmbeddedView(parentView, anchorDef, viewDef$$1, context) { - var /** @type {?} */ defWithOverride = applyProviderOverridesToView(viewDef$$1); - return callWithDebugContext(DebugAction.create, createEmbeddedView, null, [parentView, anchorDef, defWithOverride, context]); -} -/** - * @param {?} parentView - * @param {?} nodeDef - * @param {?} viewDef - * @param {?} hostElement - * @return {?} - */ -function debugCreateComponentView(parentView, nodeDef, viewDef$$1, hostElement) { - var /** @type {?} */ defWithOverride = applyProviderOverridesToView(viewDef$$1); - return callWithDebugContext(DebugAction.create, createComponentView, null, [parentView, nodeDef, defWithOverride, hostElement]); -} -/** - * @param {?} moduleType - * @param {?} parentInjector - * @param {?} bootstrapComponents - * @param {?} def - * @return {?} - */ -function debugCreateNgModuleRef(moduleType, parentInjector, bootstrapComponents, def) { - var /** @type {?} */ defWithOverride = applyProviderOverridesToNgModule(def); - return createNgModuleRef(moduleType, parentInjector, bootstrapComponents, defWithOverride); -} -var providerOverrides = new Map(); -/** - * @param {?} override - * @return {?} - */ -function debugOverrideProvider(override) { - providerOverrides.set(override.token, override); -} -/** - * @return {?} - */ -function debugClearProviderOverrides() { - providerOverrides.clear(); -} -/** - * @param {?} def - * @return {?} - */ -function applyProviderOverridesToView(def) { - if (providerOverrides.size === 0) { - return def; - } - var /** @type {?} */ elementIndicesWithOverwrittenProviders = findElementIndicesWithOverwrittenProviders(def); - if (elementIndicesWithOverwrittenProviders.length === 0) { - return def; - } - // clone the whole view definition, - // as it maintains references between the nodes that are hard to update. - def = /** @type {?} */ ((def.factory))(function () { return NOOP; }); - for (var /** @type {?} */ i = 0; i < elementIndicesWithOverwrittenProviders.length; i++) { - applyProviderOverridesToElement(def, elementIndicesWithOverwrittenProviders[i]); - } - return def; - /** - * @param {?} def - * @return {?} - */ - function findElementIndicesWithOverwrittenProviders(def) { - var /** @type {?} */ elIndicesWithOverwrittenProviders = []; - var /** @type {?} */ lastElementDef = null; - for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) { - var /** @type {?} */ nodeDef = def.nodes[i]; - if (nodeDef.flags & 1 /* TypeElement */) { - lastElementDef = nodeDef; - } - if (lastElementDef && nodeDef.flags & 3840 /* CatProviderNoDirective */ && - providerOverrides.has(/** @type {?} */ ((nodeDef.provider)).token)) { - elIndicesWithOverwrittenProviders.push(/** @type {?} */ ((lastElementDef)).nodeIndex); - lastElementDef = null; - } - } - return elIndicesWithOverwrittenProviders; - } - /** - * @param {?} viewDef - * @param {?} elIndex - * @return {?} - */ - function applyProviderOverridesToElement(viewDef$$1, elIndex) { - for (var /** @type {?} */ i = elIndex + 1; i < viewDef$$1.nodes.length; i++) { - var /** @type {?} */ nodeDef = viewDef$$1.nodes[i]; - if (nodeDef.flags & 1 /* TypeElement */) { - // stop at the next element - return; - } - if (nodeDef.flags & 3840 /* CatProviderNoDirective */) { - var /** @type {?} */ provider = /** @type {?} */ ((nodeDef.provider)); - var /** @type {?} */ override = providerOverrides.get(provider.token); - if (override) { - nodeDef.flags = (nodeDef.flags & ~3840 /* CatProviderNoDirective */) | override.flags; - provider.deps = splitDepsDsl(override.deps); - provider.value = override.value; - } - } - } - } -} -/** - * @param {?} def - * @return {?} - */ -function applyProviderOverridesToNgModule(def) { - var _a = calcHasOverrides(def), hasOverrides = _a.hasOverrides, hasDeprecatedOverrides = _a.hasDeprecatedOverrides; - if (!hasOverrides) { - return def; - } - // clone the whole view definition, - // as it maintains references between the nodes that are hard to update. - def = /** @type {?} */ ((def.factory))(function () { return NOOP; }); - applyProviderOverrides(def); - return def; - /** - * @param {?} def - * @return {?} - */ - function calcHasOverrides(def) { - var /** @type {?} */ hasOverrides = false; - var /** @type {?} */ hasDeprecatedOverrides = false; - if (providerOverrides.size === 0) { - return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides }; - } - def.providers.forEach(function (node) { - var /** @type {?} */ override = providerOverrides.get(node.token); - if ((node.flags & 3840 /* CatProviderNoDirective */) && override) { - hasOverrides = true; - hasDeprecatedOverrides = hasDeprecatedOverrides || override.deprecatedBehavior; - } - }); - return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides }; - } - /** - * @param {?} def - * @return {?} - */ - function applyProviderOverrides(def) { - for (var /** @type {?} */ i = 0; i < def.providers.length; i++) { - var /** @type {?} */ provider = def.providers[i]; - if (hasDeprecatedOverrides) { - // We had a bug where me made - // all providers lazy. Keep this logic behind a flag - // for migrating existing users. - provider.flags |= 4096 /* LazyProvider */; - } - var /** @type {?} */ override = providerOverrides.get(provider.token); - if (override) { - provider.flags = (provider.flags & ~3840 /* CatProviderNoDirective */) | override.flags; - provider.deps = splitDepsDsl(override.deps); - provider.value = override.value; - } - } - } -} -/** - * @param {?} view - * @param {?} checkIndex - * @param {?} argStyle - * @param {?=} v0 - * @param {?=} v1 - * @param {?=} v2 - * @param {?=} v3 - * @param {?=} v4 - * @param {?=} v5 - * @param {?=} v6 - * @param {?=} v7 - * @param {?=} v8 - * @param {?=} v9 - * @return {?} - */ -function prodCheckAndUpdateNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ nodeDef = view.def.nodes[checkIndex]; - checkAndUpdateNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - return (nodeDef.flags & 224 /* CatPureExpression */) ? - asPureExpressionData(view, checkIndex).value : - undefined; -} -/** - * @param {?} view - * @param {?} checkIndex - * @param {?} argStyle - * @param {?=} v0 - * @param {?=} v1 - * @param {?=} v2 - * @param {?=} v3 - * @param {?=} v4 - * @param {?=} v5 - * @param {?=} v6 - * @param {?=} v7 - * @param {?=} v8 - * @param {?=} v9 - * @return {?} - */ -function prodCheckNoChangesNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) { - var /** @type {?} */ nodeDef = view.def.nodes[checkIndex]; - checkNoChangesNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); - return (nodeDef.flags & 224 /* CatPureExpression */) ? - asPureExpressionData(view, checkIndex).value : - undefined; -} -/** - * @param {?} view - * @return {?} - */ -function debugCheckAndUpdateView(view) { - return callWithDebugContext(DebugAction.detectChanges, checkAndUpdateView, null, [view]); -} -/** - * @param {?} view - * @return {?} - */ -function debugCheckNoChangesView(view) { - return callWithDebugContext(DebugAction.checkNoChanges, checkNoChangesView, null, [view]); -} -/** - * @param {?} view - * @return {?} - */ -function debugDestroyView(view) { - return callWithDebugContext(DebugAction.destroy, destroyView, null, [view]); -} -/** @enum {number} */ -var DebugAction = { - create: 0, - detectChanges: 1, - checkNoChanges: 2, - destroy: 3, - handleEvent: 4, -}; -DebugAction[DebugAction.create] = "create"; -DebugAction[DebugAction.detectChanges] = "detectChanges"; -DebugAction[DebugAction.checkNoChanges] = "checkNoChanges"; -DebugAction[DebugAction.destroy] = "destroy"; -DebugAction[DebugAction.handleEvent] = "handleEvent"; -var _currentAction; -var _currentView; -var _currentNodeIndex; -/** - * @param {?} view - * @param {?} nodeIndex - * @return {?} - */ -function debugSetCurrentNode(view, nodeIndex) { - _currentView = view; - _currentNodeIndex = nodeIndex; -} -/** - * @param {?} view - * @param {?} nodeIndex - * @param {?} eventName - * @param {?} event - * @return {?} - */ -function debugHandleEvent(view, nodeIndex, eventName, event) { - debugSetCurrentNode(view, nodeIndex); - return callWithDebugContext(DebugAction.handleEvent, view.def.handleEvent, null, [view, nodeIndex, eventName, event]); -} -/** - * @param {?} view - * @param {?} checkType - * @return {?} - */ -function debugUpdateDirectives(view, checkType) { - if (view.state & 128 /* Destroyed */) { - throw viewDestroyedError(DebugAction[_currentAction]); - } - debugSetCurrentNode(view, nextDirectiveWithBinding(view, 0)); - return view.def.updateDirectives(debugCheckDirectivesFn, view); - /** - * @param {?} view - * @param {?} nodeIndex - * @param {?} argStyle - * @param {...?} values - * @return {?} - */ - function debugCheckDirectivesFn(view, nodeIndex, argStyle) { - var values = []; - for (var _i = 3; _i < arguments.length; _i++) { - values[_i - 3] = arguments[_i]; - } - var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex]; - if (checkType === 0 /* CheckAndUpdate */) { - debugCheckAndUpdateNode(view, nodeDef, argStyle, values); - } - else { - debugCheckNoChangesNode(view, nodeDef, argStyle, values); - } - if (nodeDef.flags & 16384 /* TypeDirective */) { - debugSetCurrentNode(view, nextDirectiveWithBinding(view, nodeIndex)); - } - return (nodeDef.flags & 224 /* CatPureExpression */) ? - asPureExpressionData(view, nodeDef.nodeIndex).value : - undefined; - } -} -/** - * @param {?} view - * @param {?} checkType - * @return {?} - */ -function debugUpdateRenderer(view, checkType) { - if (view.state & 128 /* Destroyed */) { - throw viewDestroyedError(DebugAction[_currentAction]); - } - debugSetCurrentNode(view, nextRenderNodeWithBinding(view, 0)); - return view.def.updateRenderer(debugCheckRenderNodeFn, view); - /** - * @param {?} view - * @param {?} nodeIndex - * @param {?} argStyle - * @param {...?} values - * @return {?} - */ - function debugCheckRenderNodeFn(view, nodeIndex, argStyle) { - var values = []; - for (var _i = 3; _i < arguments.length; _i++) { - values[_i - 3] = arguments[_i]; - } - var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex]; - if (checkType === 0 /* CheckAndUpdate */) { - debugCheckAndUpdateNode(view, nodeDef, argStyle, values); - } - else { - debugCheckNoChangesNode(view, nodeDef, argStyle, values); - } - if (nodeDef.flags & 3 /* CatRenderNode */) { - debugSetCurrentNode(view, nextRenderNodeWithBinding(view, nodeIndex)); - } - return (nodeDef.flags & 224 /* CatPureExpression */) ? - asPureExpressionData(view, nodeDef.nodeIndex).value : - undefined; - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} argStyle - * @param {?} givenValues - * @return {?} - */ -function debugCheckAndUpdateNode(view, nodeDef, argStyle, givenValues) { - var /** @type {?} */ changed = (/** @type {?} */ (checkAndUpdateNode)).apply(void 0, [view, nodeDef, argStyle].concat(givenValues)); - if (changed) { - var /** @type {?} */ values = argStyle === 1 /* Dynamic */ ? givenValues[0] : givenValues; - if (nodeDef.flags & 16384 /* TypeDirective */) { - var /** @type {?} */ bindingValues = {}; - for (var /** @type {?} */ i = 0; i < nodeDef.bindings.length; i++) { - var /** @type {?} */ binding = nodeDef.bindings[i]; - var /** @type {?} */ value = values[i]; - if (binding.flags & 8 /* TypeProperty */) { - bindingValues[normalizeDebugBindingName(/** @type {?} */ ((binding.nonMinifiedName)))] = - normalizeDebugBindingValue(value); - } - } - var /** @type {?} */ elDef = /** @type {?} */ ((nodeDef.parent)); - var /** @type {?} */ el = asElementData(view, elDef.nodeIndex).renderElement; - if (!/** @type {?} */ ((elDef.element)).name) { - // a comment. - view.renderer.setValue(el, "bindings=" + JSON.stringify(bindingValues, null, 2)); - } - else { - // a regular element. - for (var /** @type {?} */ attr in bindingValues) { - var /** @type {?} */ value = bindingValues[attr]; - if (value != null) { - view.renderer.setAttribute(el, attr, value); - } - else { - view.renderer.removeAttribute(el, attr); - } - } - } - } - } -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} argStyle - * @param {?} values - * @return {?} - */ -function debugCheckNoChangesNode(view, nodeDef, argStyle, values) { - (/** @type {?} */ (checkNoChangesNode)).apply(void 0, [view, nodeDef, argStyle].concat(values)); -} -/** - * @param {?} name - * @return {?} - */ -function normalizeDebugBindingName(name) { - // Attribute names with `$` (eg `x-y$`) are valid per spec, but unsupported by some browsers - name = camelCaseToDashCase(name.replace(/[$@]/g, '_')); - return "ng-reflect-" + name; -} -var CAMEL_CASE_REGEXP = /([A-Z])/g; -/** - * @param {?} input - * @return {?} - */ -function camelCaseToDashCase(input) { - return input.replace(CAMEL_CASE_REGEXP, function () { - var m = []; - for (var _i = 0; _i < arguments.length; _i++) { - m[_i] = arguments[_i]; - } - return '-' + m[1].toLowerCase(); - }); -} -/** - * @param {?} value - * @return {?} - */ -function normalizeDebugBindingValue(value) { - try { - // Limit the size of the value as otherwise the DOM just gets polluted. - return value != null ? value.toString().slice(0, 30) : value; - } - catch (/** @type {?} */ e) { - return '[ERROR] Exception while trying to serialize the value'; - } -} -/** - * @param {?} view - * @param {?} nodeIndex - * @return {?} - */ -function nextDirectiveWithBinding(view, nodeIndex) { - for (var /** @type {?} */ i = nodeIndex; i < view.def.nodes.length; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if (nodeDef.flags & 16384 /* TypeDirective */ && nodeDef.bindings && nodeDef.bindings.length) { - return i; - } - } - return null; -} -/** - * @param {?} view - * @param {?} nodeIndex - * @return {?} - */ -function nextRenderNodeWithBinding(view, nodeIndex) { - for (var /** @type {?} */ i = nodeIndex; i < view.def.nodes.length; i++) { - var /** @type {?} */ nodeDef = view.def.nodes[i]; - if ((nodeDef.flags & 3 /* CatRenderNode */) && nodeDef.bindings && nodeDef.bindings.length) { - return i; - } - } - return null; -} -var DebugContext_ = (function () { - function DebugContext_(view, nodeIndex) { - this.view = view; - this.nodeIndex = nodeIndex; - if (nodeIndex == null) { - this.nodeIndex = nodeIndex = 0; - } - this.nodeDef = view.def.nodes[nodeIndex]; - var /** @type {?} */ elDef = this.nodeDef; - var /** @type {?} */ elView = view; - while (elDef && (elDef.flags & 1 /* TypeElement */) === 0) { - elDef = /** @type {?} */ ((elDef.parent)); - } - if (!elDef) { - while (!elDef && elView) { - elDef = /** @type {?} */ ((viewParentEl(elView))); - elView = /** @type {?} */ ((elView.parent)); - } - } - this.elDef = elDef; - this.elView = elView; - } - Object.defineProperty(DebugContext_.prototype, "elOrCompView", { - get: /** - * @return {?} - */ - function () { - // Has to be done lazily as we use the DebugContext also during creation of elements... - return asElementData(this.elView, this.elDef.nodeIndex).componentView || this.view; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "injector", { - get: /** - * @return {?} - */ - function () { return createInjector(this.elView, this.elDef); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "component", { - get: /** - * @return {?} - */ - function () { return this.elOrCompView.component; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "context", { - get: /** - * @return {?} - */ - function () { return this.elOrCompView.context; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "providerTokens", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ tokens = []; - if (this.elDef) { - for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) { - var /** @type {?} */ childDef = this.elView.def.nodes[i]; - if (childDef.flags & 20224 /* CatProvider */) { - tokens.push(/** @type {?} */ ((childDef.provider)).token); - } - i += childDef.childCount; - } - } - return tokens; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "references", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ references = {}; - if (this.elDef) { - collectReferences(this.elView, this.elDef, references); - for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) { - var /** @type {?} */ childDef = this.elView.def.nodes[i]; - if (childDef.flags & 20224 /* CatProvider */) { - collectReferences(this.elView, childDef, references); - } - i += childDef.childCount; - } - } - return references; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "componentRenderElement", { - get: /** - * @return {?} - */ - function () { - var /** @type {?} */ elData = findHostElement(this.elOrCompView); - return elData ? elData.renderElement : undefined; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DebugContext_.prototype, "renderNode", { - get: /** - * @return {?} - */ - function () { - return this.nodeDef.flags & 2 /* TypeText */ ? renderNode(this.view, this.nodeDef) : - renderNode(this.elView, this.elDef); - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} console - * @param {...?} values - * @return {?} - */ - DebugContext_.prototype.logError = /** - * @param {?} console - * @param {...?} values - * @return {?} - */ - function (console) { - var values = []; - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - var /** @type {?} */ logViewDef; - var /** @type {?} */ logNodeIndex; - if (this.nodeDef.flags & 2 /* TypeText */) { - logViewDef = this.view.def; - logNodeIndex = this.nodeDef.nodeIndex; - } - else { - logViewDef = this.elView.def; - logNodeIndex = this.elDef.nodeIndex; - } - // Note: we only generate a log function for text and element nodes - // to make the generated code as small as possible. - var /** @type {?} */ renderNodeIndex = getRenderNodeIndex(logViewDef, logNodeIndex); - var /** @type {?} */ currRenderNodeIndex = -1; - var /** @type {?} */ nodeLogger = function () { - currRenderNodeIndex++; - if (currRenderNodeIndex === renderNodeIndex) { - return (_a = console.error).bind.apply(_a, [console].concat(values)); - } - else { - return NOOP; - } - var _a; - }; /** @type {?} */ - ((logViewDef.factory))(nodeLogger); - if (currRenderNodeIndex < renderNodeIndex) { - console.error('Illegal state: the ViewDefinitionFactory did not call the logger!'); - console.error.apply(console, values); - } - }; - return DebugContext_; -}()); -/** - * @param {?} viewDef - * @param {?} nodeIndex - * @return {?} - */ -function getRenderNodeIndex(viewDef$$1, nodeIndex) { - var /** @type {?} */ renderNodeIndex = -1; - for (var /** @type {?} */ i = 0; i <= nodeIndex; i++) { - var /** @type {?} */ nodeDef = viewDef$$1.nodes[i]; - if (nodeDef.flags & 3 /* CatRenderNode */) { - renderNodeIndex++; - } - } - return renderNodeIndex; -} -/** - * @param {?} view - * @return {?} - */ -function findHostElement(view) { - while (view && !isComponentView(view)) { - view = /** @type {?} */ ((view.parent)); - } - if (view.parent) { - return asElementData(view.parent, /** @type {?} */ ((viewParentEl(view))).nodeIndex); - } - return null; -} -/** - * @param {?} view - * @param {?} nodeDef - * @param {?} references - * @return {?} - */ -function collectReferences(view, nodeDef, references) { - for (var /** @type {?} */ refName in nodeDef.references) { - references[refName] = getQueryValue(view, nodeDef, nodeDef.references[refName]); - } -} -/** - * @param {?} action - * @param {?} fn - * @param {?} self - * @param {?} args - * @return {?} - */ -function callWithDebugContext(action, fn, self, args) { - var /** @type {?} */ oldAction = _currentAction; - var /** @type {?} */ oldView = _currentView; - var /** @type {?} */ oldNodeIndex = _currentNodeIndex; - try { - _currentAction = action; - var /** @type {?} */ result = fn.apply(self, args); - _currentView = oldView; - _currentNodeIndex = oldNodeIndex; - _currentAction = oldAction; - return result; - } - catch (/** @type {?} */ e) { - if (isViewDebugError(e) || !_currentView) { - throw e; - } - throw viewWrappedDebugError(e, /** @type {?} */ ((getCurrentDebugContext()))); - } -} -/** - * @return {?} - */ -function getCurrentDebugContext() { - return _currentView ? new DebugContext_(_currentView, _currentNodeIndex) : null; -} -var DebugRendererFactory2 = (function () { - function DebugRendererFactory2(delegate) { - this.delegate = delegate; - } - /** - * @param {?} element - * @param {?} renderData - * @return {?} - */ - DebugRendererFactory2.prototype.createRenderer = /** - * @param {?} element - * @param {?} renderData - * @return {?} - */ - function (element, renderData) { - return new DebugRenderer2(this.delegate.createRenderer(element, renderData)); - }; - /** - * @return {?} - */ - DebugRendererFactory2.prototype.begin = /** - * @return {?} - */ - function () { - if (this.delegate.begin) { - this.delegate.begin(); - } - }; - /** - * @return {?} - */ - DebugRendererFactory2.prototype.end = /** - * @return {?} - */ - function () { - if (this.delegate.end) { - this.delegate.end(); - } - }; - /** - * @return {?} - */ - DebugRendererFactory2.prototype.whenRenderingDone = /** - * @return {?} - */ - function () { - if (this.delegate.whenRenderingDone) { - return this.delegate.whenRenderingDone(); - } - return Promise.resolve(null); - }; - return DebugRendererFactory2; -}()); -var DebugRenderer2 = (function () { - function DebugRenderer2(delegate) { - this.delegate = delegate; - } - Object.defineProperty(DebugRenderer2.prototype, "data", { - get: /** - * @return {?} - */ - function () { return this.delegate.data; }, - enumerable: true, - configurable: true - }); - /** - * @param {?} node - * @return {?} - */ - DebugRenderer2.prototype.destroyNode = /** - * @param {?} node - * @return {?} - */ - function (node) { - removeDebugNodeFromIndex(/** @type {?} */ ((getDebugNode(node)))); - if (this.delegate.destroyNode) { - this.delegate.destroyNode(node); - } - }; - /** - * @return {?} - */ - DebugRenderer2.prototype.destroy = /** - * @return {?} - */ - function () { this.delegate.destroy(); }; - /** - * @param {?} name - * @param {?=} namespace - * @return {?} - */ - DebugRenderer2.prototype.createElement = /** - * @param {?} name - * @param {?=} namespace - * @return {?} - */ - function (name, namespace) { - var /** @type {?} */ el = this.delegate.createElement(name, namespace); - var /** @type {?} */ debugCtx = getCurrentDebugContext(); - if (debugCtx) { - var /** @type {?} */ debugEl = new DebugElement(el, null, debugCtx); - debugEl.name = name; - indexDebugNode(debugEl); - } - return el; - }; - /** - * @param {?} value - * @return {?} - */ - DebugRenderer2.prototype.createComment = /** - * @param {?} value - * @return {?} - */ - function (value) { - var /** @type {?} */ comment = this.delegate.createComment(value); - var /** @type {?} */ debugCtx = getCurrentDebugContext(); - if (debugCtx) { - indexDebugNode(new DebugNode(comment, null, debugCtx)); - } - return comment; - }; - /** - * @param {?} value - * @return {?} - */ - DebugRenderer2.prototype.createText = /** - * @param {?} value - * @return {?} - */ - function (value) { - var /** @type {?} */ text = this.delegate.createText(value); - var /** @type {?} */ debugCtx = getCurrentDebugContext(); - if (debugCtx) { - indexDebugNode(new DebugNode(text, null, debugCtx)); - } - return text; - }; - /** - * @param {?} parent - * @param {?} newChild - * @return {?} - */ - DebugRenderer2.prototype.appendChild = /** - * @param {?} parent - * @param {?} newChild - * @return {?} - */ - function (parent, newChild) { - var /** @type {?} */ debugEl = getDebugNode(parent); - var /** @type {?} */ debugChildEl = getDebugNode(newChild); - if (debugEl && debugChildEl && debugEl instanceof DebugElement) { - debugEl.addChild(debugChildEl); - } - this.delegate.appendChild(parent, newChild); - }; - /** - * @param {?} parent - * @param {?} newChild - * @param {?} refChild - * @return {?} - */ - DebugRenderer2.prototype.insertBefore = /** - * @param {?} parent - * @param {?} newChild - * @param {?} refChild - * @return {?} - */ - function (parent, newChild, refChild) { - var /** @type {?} */ debugEl = getDebugNode(parent); - var /** @type {?} */ debugChildEl = getDebugNode(newChild); - var /** @type {?} */ debugRefEl = /** @type {?} */ ((getDebugNode(refChild))); - if (debugEl && debugChildEl && debugEl instanceof DebugElement) { - debugEl.insertBefore(debugRefEl, debugChildEl); - } - this.delegate.insertBefore(parent, newChild, refChild); - }; - /** - * @param {?} parent - * @param {?} oldChild - * @return {?} - */ - DebugRenderer2.prototype.removeChild = /** - * @param {?} parent - * @param {?} oldChild - * @return {?} - */ - function (parent, oldChild) { - var /** @type {?} */ debugEl = getDebugNode(parent); - var /** @type {?} */ debugChildEl = getDebugNode(oldChild); - if (debugEl && debugChildEl && debugEl instanceof DebugElement) { - debugEl.removeChild(debugChildEl); - } - this.delegate.removeChild(parent, oldChild); - }; - /** - * @param {?} selectorOrNode - * @return {?} - */ - DebugRenderer2.prototype.selectRootElement = /** - * @param {?} selectorOrNode - * @return {?} - */ - function (selectorOrNode) { - var /** @type {?} */ el = this.delegate.selectRootElement(selectorOrNode); - var /** @type {?} */ debugCtx = getCurrentDebugContext(); - if (debugCtx) { - indexDebugNode(new DebugElement(el, null, debugCtx)); - } - return el; - }; - /** - * @param {?} el - * @param {?} name - * @param {?} value - * @param {?=} namespace - * @return {?} - */ - DebugRenderer2.prototype.setAttribute = /** - * @param {?} el - * @param {?} name - * @param {?} value - * @param {?=} namespace - * @return {?} - */ - function (el, name, value, namespace) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - var /** @type {?} */ fullName = namespace ? namespace + ':' + name : name; - debugEl.attributes[fullName] = value; - } - this.delegate.setAttribute(el, name, value, namespace); - }; - /** - * @param {?} el - * @param {?} name - * @param {?=} namespace - * @return {?} - */ - DebugRenderer2.prototype.removeAttribute = /** - * @param {?} el - * @param {?} name - * @param {?=} namespace - * @return {?} - */ - function (el, name, namespace) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - var /** @type {?} */ fullName = namespace ? namespace + ':' + name : name; - debugEl.attributes[fullName] = null; - } - this.delegate.removeAttribute(el, name, namespace); - }; - /** - * @param {?} el - * @param {?} name - * @return {?} - */ - DebugRenderer2.prototype.addClass = /** - * @param {?} el - * @param {?} name - * @return {?} - */ - function (el, name) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - debugEl.classes[name] = true; - } - this.delegate.addClass(el, name); - }; - /** - * @param {?} el - * @param {?} name - * @return {?} - */ - DebugRenderer2.prototype.removeClass = /** - * @param {?} el - * @param {?} name - * @return {?} - */ - function (el, name) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - debugEl.classes[name] = false; - } - this.delegate.removeClass(el, name); - }; - /** - * @param {?} el - * @param {?} style - * @param {?} value - * @param {?} flags - * @return {?} - */ - DebugRenderer2.prototype.setStyle = /** - * @param {?} el - * @param {?} style - * @param {?} value - * @param {?} flags - * @return {?} - */ - function (el, style, value, flags) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - debugEl.styles[style] = value; - } - this.delegate.setStyle(el, style, value, flags); - }; - /** - * @param {?} el - * @param {?} style - * @param {?} flags - * @return {?} - */ - DebugRenderer2.prototype.removeStyle = /** - * @param {?} el - * @param {?} style - * @param {?} flags - * @return {?} - */ - function (el, style, flags) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - debugEl.styles[style] = null; - } - this.delegate.removeStyle(el, style, flags); - }; - /** - * @param {?} el - * @param {?} name - * @param {?} value - * @return {?} - */ - DebugRenderer2.prototype.setProperty = /** - * @param {?} el - * @param {?} name - * @param {?} value - * @return {?} - */ - function (el, name, value) { - var /** @type {?} */ debugEl = getDebugNode(el); - if (debugEl && debugEl instanceof DebugElement) { - debugEl.properties[name] = value; - } - this.delegate.setProperty(el, name, value); - }; - /** - * @param {?} target - * @param {?} eventName - * @param {?} callback - * @return {?} - */ - DebugRenderer2.prototype.listen = /** - * @param {?} target - * @param {?} eventName - * @param {?} callback - * @return {?} - */ - function (target, eventName, callback) { - if (typeof target !== 'string') { - var /** @type {?} */ debugEl = getDebugNode(target); - if (debugEl) { - debugEl.listeners.push(new EventListener(eventName, callback)); - } - } - return this.delegate.listen(target, eventName, callback); - }; - /** - * @param {?} node - * @return {?} - */ - DebugRenderer2.prototype.parentNode = /** - * @param {?} node - * @return {?} - */ - function (node) { return this.delegate.parentNode(node); }; - /** - * @param {?} node - * @return {?} - */ - DebugRenderer2.prototype.nextSibling = /** - * @param {?} node - * @return {?} - */ - function (node) { return this.delegate.nextSibling(node); }; - /** - * @param {?} node - * @param {?} value - * @return {?} - */ - DebugRenderer2.prototype.setValue = /** - * @param {?} node - * @param {?} value - * @return {?} - */ - function (node, value) { return this.delegate.setValue(node, value); }; - return DebugRenderer2; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} override - * @return {?} - */ -function overrideProvider(override) { - initServicesIfNeeded(); - return Services.overrideProvider(override); -} -/** - * @return {?} - */ -function clearProviderOverrides() { - initServicesIfNeeded(); - return Services.clearProviderOverrides(); -} -/** - * @param {?} ngModuleType - * @param {?} bootstrapComponents - * @param {?} defFactory - * @return {?} - */ -function createNgModuleFactory(ngModuleType, bootstrapComponents, defFactory) { - return new NgModuleFactory_(ngModuleType, bootstrapComponents, defFactory); -} -var NgModuleFactory_ = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(NgModuleFactory_, _super); - function NgModuleFactory_(moduleType, _bootstrapComponents, _ngModuleDefFactory) { - var _this = - // Attention: this ctor is called as top level function. - // Putting any logic in here will destroy closure tree shaking! - _super.call(this) || this; - _this.moduleType = moduleType; - _this._bootstrapComponents = _bootstrapComponents; - _this._ngModuleDefFactory = _ngModuleDefFactory; - return _this; - } - /** - * @param {?} parentInjector - * @return {?} - */ - NgModuleFactory_.prototype.create = /** - * @param {?} parentInjector - * @return {?} - */ - function (parentInjector) { - initServicesIfNeeded(); - var /** @type {?} */ def = resolveDefinition(this._ngModuleDefFactory); - return Services.createNgModuleRef(this.moduleType, parentInjector || Injector.NULL, this._bootstrapComponents, def); - }; - return NgModuleFactory_; -}(NgModuleFactory)); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - * @record - */ - -/** - * \@experimental Animation support is experimental. - */ - -/** - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link trigger trigger animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link state state animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link transition transition animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * \@experimental Animation support is experimental. - * @record - */ - -/** - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link keyframes keyframes animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link style style animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link animate animate animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link animateChild animateChild animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link useAnimation useAnimation animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link sequence sequence animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link group group animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * Metadata representing the entry of animations. Instances of this interface are provided via the - * animation DSL when the {\@link stagger stagger animation function} is called. - * - * \@experimental Animation support is experimental. - * @record - */ - -/** - * `trigger` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the - * {\@link Component#animations component animations metadata page} to gain a better - * understanding of how animations in Angular are used. - * - * `trigger` Creates an animation trigger which will a list of {\@link state state} and - * {\@link transition transition} entries that will be evaluated when the expression - * bound to the trigger changes. - * - * Triggers are registered within the component annotation data under the - * {\@link Component#animations animations section}. An animation trigger can be placed on an element - * within a template by referencing the name of the trigger followed by the expression value that - * the - * trigger is bound to (in the form of `[\@triggerName]="expression"`. - * - * Animation trigger bindings strigify values and then match the previous and current values against - * any linked transitions. If a boolean value is provided into the trigger binding then it will both - * be represented as `1` or `true` and `0` or `false` for a true and false boolean values - * respectively. - * - * ### Usage - * - * `trigger` will create an animation trigger reference based on the provided `name` value. The - * provided `animation` value is expected to be an array consisting of {\@link state state} and - * {\@link transition transition} declarations. - * - * ```typescript - * \@Component({ - * selector: 'my-component', - * templateUrl: 'my-component-tpl.html', - * animations: [ - * trigger("myAnimationTrigger", [ - * state(...), - * state(...), - * transition(...), - * transition(...) - * ]) - * ] - * }) - * class MyComponent { - * myStatusExp = "something"; - * } - * ``` - * - * The template associated with this component will make use of the `myAnimationTrigger` animation - * trigger by binding to an element within its template code. - * - * ```html - * - *
    ...
    - * ``` - * - * ## Disable Animations - * A special animation control binding called `\@.disabled` can be placed on an element which will - * then disable animations for any inner animation triggers situated within the element as well as - * any animations on the element itself. - * - * When true, the `\@.disabled` binding will prevent all animations from rendering. The example - * below shows how to use this feature: - * - * ```ts - * \@Component({ - * selector: 'my-component', - * template: ` - *
    - *
    - *
    - * `, - * animations: [ - * trigger("childAnimation", [ - * // ... - * ]) - * ] - * }) - * class MyComponent { - * isDisabled = true; - * exp = '...'; - * } - * ``` - * - * The `\@childAnimation` trigger will not animate because `\@.disabled` prevents it from happening - * (when true). - * - * Note that `\@.disbled` will only disable all animations (this means any animations running on - * the same element will also be disabled). - * - * ### Disabling Animations Application-wide - * When an area of the template is set to have animations disabled, **all** inner components will - * also have their animations disabled as well. This means that all animations for an angular - * application can be disabled by placing a host binding set on `\@.disabled` on the topmost Angular - * component. - * - * ```ts - * import {Component, HostBinding} from '\@angular/core'; - * - * \@Component({ - * selector: 'app-component', - * templateUrl: 'app.component.html', - * }) - * class AppComponent { - * \@HostBinding('\@.disabled') - * public animationsDisabled = true; - * } - * ``` - * - * ### What about animations that us `query()` and `animateChild()`? - * Despite inner animations being disabled, a parent animation can {\@link query query} for inner - * elements located in disabled areas of the template and still animate them as it sees fit. This is - * also the case for when a sub animation is queried by a parent and then later animated using {\@link - * animateChild animateChild}. - * - * \@experimental Animation support is experimental. - * @param {?} name - * @param {?} definitions - * @return {?} - */ -function trigger$1(name, definitions) { - return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} }; -} -/** - * `animate` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `animate` specifies an animation step that will apply the provided `styles` data for a given - * amount of time based on the provided `timing` expression value. Calls to `animate` are expected - * to be used within {\@link sequence an animation sequence}, {\@link group group}, or {\@link - * transition transition}. - * - * ### Usage - * - * The `animate` function accepts two input parameters: `timing` and `styles`: - * - * - `timing` is a string based value that can be a combination of a duration with optional delay - * and easing values. The format for the expression breaks down to `duration delay easing` - * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000, - * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the - * `duration` value in millisecond form. - * - `styles` is the style input data which can either be a call to {\@link style style} or {\@link - * keyframes keyframes}. If left empty then the styles from the destination state will be collected - * and used (this is useful when describing an animation step that will complete an animation by - * {\@link transition#the-final-animate-call animating to the final state}). - * - * ```typescript - * // various functions for specifying timing data - * animate(500, style(...)) - * animate("1s", style(...)) - * animate("100ms 0.5s", style(...)) - * animate("5s ease", style(...)) - * animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...)) - * - * // either style() of keyframes() can be used - * animate(500, style({ background: "red" })) - * animate(500, keyframes([ - * style({ background: "blue" })), - * style({ background: "red" })) - * ]) - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} timings - * @param {?=} styles - * @return {?} - */ -function animate$1(timings, styles) { - if (styles === void 0) { styles = null; } - return { type: 4 /* Animate */, styles: styles, timings: timings }; -} -/** - * `group` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are - * useful when a series of styles must be animated/closed off at different starting/ending times. - * - * The `group` function can either be used within a {\@link sequence sequence} or a {\@link transition - * transition} and it will only continue to the next instruction once all of the inner animation - * steps have completed. - * - * ### Usage - * - * The `steps` data that is passed into the `group` animation function can either consist of {\@link - * style style} or {\@link animate animate} function calls. Each call to `style()` or `animate()` - * within a group will be executed instantly (use {\@link keyframes keyframes} or a {\@link - * animate#usage animate() with a delay value} to offset styles to be applied at a later time). - * - * ```typescript - * group([ - * animate("1s", { background: "black" })) - * animate("2s", { color: "white" })) - * ]) - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} steps - * @param {?=} options - * @return {?} - */ -function group$1(steps, options) { - if (options === void 0) { options = null; } - return { type: 3 /* Group */, steps: steps, options: options }; -} -/** - * `sequence` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by - * default when an array is passed as animation data into {\@link transition transition}.) - * - * The `sequence` function can either be used within a {\@link group group} or a {\@link transition - * transition} and it will only continue to the next instruction once each of the inner animation - * steps have completed. - * - * To perform animation styling in parallel with other animation steps then have a look at the - * {\@link group group} animation function. - * - * ### Usage - * - * The `steps` data that is passed into the `sequence` animation function can either consist of - * {\@link style style} or {\@link animate animate} function calls. A call to `style()` will apply the - * provided styling data immediately while a call to `animate()` will apply its styling data over a - * given time depending on its timing data. - * - * ```typescript - * sequence([ - * style({ opacity: 0 })), - * animate("1s", { opacity: 1 })) - * ]) - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} steps - * @param {?=} options - * @return {?} - */ -function sequence$1(steps, options) { - if (options === void 0) { options = null; } - return { type: 2 /* Sequence */, steps: steps, options: options }; -} -/** - * `style` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `style` declares a key/value object containing CSS properties/styles that can then be used for - * {\@link state animation states}, within an {\@link sequence animation sequence}, or as styling data - * for both {\@link animate animate} and {\@link keyframes keyframes}. - * - * ### Usage - * - * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs - * to be defined. - * - * ```typescript - * // string values are used for css properties - * style({ background: "red", color: "blue" }) - * - * // numerical (pixel) values are also supported - * style({ width: 100, height: 0 }) - * ``` - * - * #### Auto-styles (using `*`) - * - * When an asterix (`*`) character is used as a value then it will be detected from the element - * being animated and applied as animation data when the animation starts. - * - * This feature proves useful for a state depending on layout and/or environment factors; in such - * cases the styles are calculated just before the animation starts. - * - * ```typescript - * // the steps below will animate from 0 to the - * // actual height of the element - * style({ height: 0 }), - * animate("1s", style({ height: "*" })) - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} tokens - * @return {?} - */ -function style$1(tokens) { - return { type: 6 /* Style */, styles: tokens, offset: null }; -} -/** - * `state` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `state` declares an animation state within the given trigger. When a state is active within a - * component then its associated styles will persist on the element that the trigger is attached to - * (even when the animation ends). - * - * To animate between states, have a look at the animation {\@link transition transition} DSL - * function. To register states to an animation trigger please have a look at the {\@link trigger - * trigger} function. - * - * #### The `void` state - * - * The `void` state value is a reserved word that angular uses to determine when the element is not - * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the - * associated element is void). - * - * #### The `*` (default) state - * - * The `*` state (when styled) is a fallback state that will be used if the state that is being - * animated is not declared within the trigger. - * - * ### Usage - * - * `state` will declare an animation state with its associated styles - * within the given trigger. - * - * - `stateNameExpr` can be one or more state names separated by commas. - * - `styles` refers to the {\@link style styling data} that will be persisted on the element once - * the state has been reached. - * - * ```typescript - * // "void" is a reserved name for a state and is used to represent - * // the state in which an element is detached from from the application. - * state("void", style({ height: 0 })) - * - * // user-defined states - * state("closed", style({ height: 0 })) - * state("open, visible", style({ height: "*" })) - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} name - * @param {?} styles - * @param {?=} options - * @return {?} - */ -function state$1(name, styles, options) { - return { type: 0 /* State */, name: name, styles: styles, options: options }; -} -/** - * `keyframes` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `keyframes` specifies a collection of {\@link style style} entries each optionally characterized - * by an `offset` value. - * - * ### Usage - * - * The `keyframes` animation function is designed to be used alongside the {\@link animate animate} - * animation function. Instead of applying animations from where they are currently to their - * destination, keyframes can describe how each style entry is applied and at what point within the - * animation arc (much like CSS Keyframe Animations do). - * - * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what - * percentage of the animate time the styles will be applied. - * - * ```typescript - * // the provided offset values describe when each backgroundColor value is applied. - * animate("5s", keyframes([ - * style({ backgroundColor: "red", offset: 0 }), - * style({ backgroundColor: "blue", offset: 0.2 }), - * style({ backgroundColor: "orange", offset: 0.3 }), - * style({ backgroundColor: "black", offset: 1 }) - * ])) - * ``` - * - * Alternatively, if there are no `offset` values used within the style entries then the offsets - * will be calculated automatically. - * - * ```typescript - * animate("5s", keyframes([ - * style({ backgroundColor: "red" }) // offset = 0 - * style({ backgroundColor: "blue" }) // offset = 0.33 - * style({ backgroundColor: "orange" }) // offset = 0.66 - * style({ backgroundColor: "black" }) // offset = 1 - * ])) - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} steps - * @return {?} - */ -function keyframes$1(steps) { - return { type: 5 /* Keyframes */, steps: steps }; -} -/** - * `transition` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. If this information is new, please navigate to the {\@link - * Component#animations component animations metadata page} to gain a better understanding of - * how animations in Angular are used. - * - * `transition` declares the {\@link sequence sequence of animation steps} that will be run when the - * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 => - * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting - * and/or ending state). - * - * A function can also be provided as the `stateChangeExpr` argument for a transition and this - * function will be executed each time a state change occurs. If the value returned within the - * function is true then the associated animation will be run. - * - * Animation transitions are placed within an {\@link trigger animation trigger}. For an transition - * to animate to a state value and persist its styles then one or more {\@link state animation - * states} is expected to be defined. - * - * ### Usage - * - * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on - * what the previous state is and what the current state has become. In other words, if a transition - * is defined that matches the old/current state criteria then the associated animation will be - * triggered. - * - * ```typescript - * // all transition/state changes are defined within an animation trigger - * trigger("myAnimationTrigger", [ - * // if a state is defined then its styles will be persisted when the - * // animation has fully completed itself - * state("on", style({ background: "green" })), - * state("off", style({ background: "grey" })), - * - * // a transition animation that will be kicked off when the state value - * // bound to "myAnimationTrigger" changes from "on" to "off" - * transition("on => off", animate(500)), - * - * // it is also possible to do run the same animation for both directions - * transition("on <=> off", animate(500)), - * - * // or to define multiple states pairs separated by commas - * transition("on => off, off => void", animate(500)), - * - * // this is a catch-all state change for when an element is inserted into - * // the page and the destination state is unknown - * transition("void => *", [ - * style({ opacity: 0 }), - * animate(500) - * ]), - * - * // this will capture a state change between any states - * transition("* => *", animate("1s 0s")), - * - * // you can also go full out and include a function - * transition((fromState, toState) => { - * // when `true` then it will allow the animation below to be invoked - * return fromState == "off" && toState == "on"; - * }, animate("1s 0s")) - * ]) - * ``` - * - * The template associated with this component will make use of the `myAnimationTrigger` animation - * trigger by binding to an element within its template code. - * - * ```html - * - *
    ...
    - * ``` - * - * #### The final `animate` call - * - * If the final step within the transition steps is a call to `animate()` that **only** uses a - * timing value with **no style data** then it will be automatically used as the final animation arc - * for the element to animate itself to the final state. This involves an automatic mix of - * adding/removing CSS styles so that the element will be in the exact state it should be for the - * applied state to be presented correctly. - * - * ``` - * // start off by hiding the element, but make sure that it animates properly to whatever state - * // is currently active for "myAnimationTrigger" - * transition("void => *", [ - * style({ opacity: 0 }), - * animate(500) - * ]) - * ``` - * - * ### Using :enter and :leave - * - * Given that enter (insertion) and leave (removal) animations are so common, the `transition` - * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `* - * => void` state changes. - * - * ``` - * transition(":enter", [ - * style({ opacity: 0 }), - * animate(500, style({ opacity: 1 })) - * ]), - * transition(":leave", [ - * animate(500, style({ opacity: 0 })) - * ]) - * ``` - * - * ### Boolean values - * if a trigger binding value is a boolean value then it can be matched using a transition - * expression that compares `true` and `false` or `1` and `0`. - * - * ``` - * // in the template - *
    ...
    - * - * // in the component metadata - * trigger('openClose', [ - * state('true', style({ height: '*' })), - * state('false', style({ height: '0px' })), - * transition('false <=> true', animate(500)) - * ]) - * ``` - * - * ### Using :increment and :decrement - * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases - * can be used to kick off a transition when a numeric value has increased or decreased in value. - * - * ``` - * import {group, animate, query, transition, style, trigger} from '\@angular/animations'; - * import {Component} from '\@angular/core'; - * - * \@Component({ - * selector: 'banner-carousel-component', - * styles: [` - * .banner-container { - * position:relative; - * height:500px; - * overflow:hidden; - * } - * .banner-container > .banner { - * position:absolute; - * left:0; - * top:0; - * font-size:200px; - * line-height:500px; - * font-weight:bold; - * text-align:center; - * width:100%; - * } - * `], - * template: ` - * - * - *
    - * - * ` - * animations: [ - * trigger('bannerAnimation', [ - * transition(":increment", group([ - * query(':enter', [ - * style({ left: '100%' }), - * animate('0.5s ease-out', style('*')) - * ]), - * query(':leave', [ - * animate('0.5s ease-out', style({ left: '-100%' })) - * ]) - * ])), - * transition(":decrement", group([ - * query(':enter', [ - * style({ left: '-100%' }), - * animate('0.5s ease-out', style('*')) - * ]), - * query(':leave', [ - * animate('0.5s ease-out', style({ left: '100%' })) - * ]) - * ])), - * ]) - * ] - * }) - * class BannerCarouselComponent { - * allBanners: string[] = ['1', '2', '3', '4']; - * selectedIndex: number = 0; - * - * get banners() { - * return [this.allBanners[this.selectedIndex]]; - * } - * - * previous() { - * this.selectedIndex = Math.max(this.selectedIndex - 1, 0); - * } - * - * next() { - * this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1); - * } - * } - * ``` - * - * {\@example core/animation/ts/dsl/animation_example.ts region='Component'} - * - * \@experimental Animation support is experimental. - * @param {?} stateChangeExpr - * @param {?} steps - * @param {?=} options - * @return {?} - */ -function transition$1(stateChangeExpr, steps, options) { - if (options === void 0) { options = null; } - return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options }; -} -/** - * `animation` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. - * - * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later - * invoked in another animation or sequence. Reusable animations are designed to make use of - * animation parameters and the produced animation can be used via the `useAnimation` method. - * - * ``` - * var fadeAnimation = animation([ - * style({ opacity: '{{ start }}' }), - * animate('{{ time }}', - * style({ opacity: '{{ end }}'})) - * ], { params: { time: '1000ms', start: 0, end: 1 }}); - * ``` - * - * If parameters are attached to an animation then they act as **default parameter values**. When an - * animation is invoked via `useAnimation` then parameter values are allowed to be passed in - * directly. If any of the passed in parameter values are missing then the default values will be - * used. - * - * ``` - * useAnimation(fadeAnimation, { - * params: { - * time: '2s', - * start: 1, - * end: 0 - * } - * }) - * ``` - * - * If one or more parameter values are missing before animated then an error will be thrown. - * - * \@experimental Animation support is experimental. - * @param {?} steps - * @param {?=} options - * @return {?} - */ - -/** - * `animateChild` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. It works by allowing a queried element to execute its own - * animation within the animation sequence. - * - * Each time an animation is triggered in angular, the parent animation - * will always get priority and any child animations will be blocked. In order - * for a child animation to run, the parent animation must query each of the elements - * containing child animations and then allow the animations to run using `animateChild`. - * - * The example HTML code below shows both parent and child elements that have animation - * triggers that will execute at the same time. - * - * ```html - * - * - *
    - * - *
    - *
    Hello
    - *
    - * one - *
    - *
    - * two - *
    - *
    - * three - *
    - *
    - * ``` - * - * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate - * because it has priority. However, using `query` and `animateChild` each of the inner animations - * can also fire: - * - * ```ts - * // parent-child.component.ts - * import {trigger, transition, animate, style, query, animateChild} from '\@angular/animations'; - * \@Component({ - * selector: 'parent-child-component', - * animations: [ - * trigger('parentAnimation', [ - * transition('false => true', [ - * query('header', [ - * style({ opacity: 0 }), - * animate(500, style({ opacity: 1 })) - * ]), - * query('\@childAnimation', [ - * animateChild() - * ]) - * ]) - * ]), - * trigger('childAnimation', [ - * transition('false => true', [ - * style({ opacity: 0 }), - * animate(500, style({ opacity: 1 })) - * ]) - * ]) - * ] - * }) - * class ParentChildCmp { - * exp: boolean = false; - * } - * ``` - * - * In the animation code above, when the `parentAnimation` transition kicks off it first queries to - * find the header element and fades it in. It then finds each of the sub elements that contain the - * `\@childAnimation` trigger and then allows for their animations to fire. - * - * This example can be further extended by using stagger: - * - * ```ts - * query('\@childAnimation', stagger(100, [ - * animateChild() - * ])) - * ``` - * - * Now each of the sub animations start off with respect to the `100ms` staggering step. - * - * ## The first frame of child animations - * When sub animations are executed using `animateChild` the animation engine will always apply the - * first frame of every sub animation immediately at the start of the animation sequence. This way - * the parent animation does not need to set any initial styling data on the sub elements before the - * sub animations kick off. - * - * In the example above the first frame of the `childAnimation`'s `false => true` transition - * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation` - * animation transition sequence starts. Only then when the `\@childAnimation` is queried and called - * with `animateChild` will it then animate to its destination of `opacity: 1`. - * - * Note that this feature designed to be used alongside {\@link query query()} and it will only work - * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes - * and transitions are not handled by this API). - * - * \@experimental Animation support is experimental. - * @param {?=} options - * @return {?} - */ - -/** - * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. It is used to kick off a reusable animation that is created using {\@link - * animation animation()}. - * - * \@experimental Animation support is experimental. - * @param {?} animation - * @param {?=} options - * @return {?} - */ - -/** - * `query` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. - * - * query() is used to find one or more inner elements within the current element that is - * being animated within the sequence. The provided animation steps are applied - * to the queried element (by default, an array is provided, then this will be - * treated as an animation sequence). - * - * ### Usage - * - * query() is designed to collect mutiple elements and works internally by using - * `element.querySelectorAll`. An additional options object can be provided which - * can be used to limit the total amount of items to be collected. - * - * ```js - * query('div', [ - * animate(...), - * animate(...) - * ], { limit: 1 }) - * ``` - * - * query(), by default, will throw an error when zero items are found. If a query - * has the `optional` flag set to true then this error will be ignored. - * - * ```js - * query('.some-element-that-may-not-be-there', [ - * animate(...), - * animate(...) - * ], { optional: true }) - * ``` - * - * ### Special Selector Values - * - * The selector value within a query can collect elements that contain angular-specific - * characteristics - * using special pseudo-selectors tokens. - * - * These include: - * - * - Querying for newly inserted/removed elements using `query(":enter")`/`query(":leave")` - * - Querying all currently animating elements using `query(":animating")` - * - Querying elements that contain an animation trigger using `query("\@triggerName")` - * - Querying all elements that contain an animation triggers using `query("\@*")` - * - Including the current element into the animation sequence using `query(":self")` - * - * - * Each of these pseudo-selector tokens can be merged together into a combined query selector - * string: - * - * ``` - * query(':self, .record:enter, .record:leave, \@subTrigger', [...]) - * ``` - * - * ### Demo - * - * ``` - * \@Component({ - * selector: 'inner', - * template: ` - *
    - *

    Title

    - *
    - * Blah blah blah - *
    - *
    - * `, - * animations: [ - * trigger('queryAnimation', [ - * transition('* => goAnimate', [ - * // hide the inner elements - * query('h1', style({ opacity: 0 })), - * query('.content', style({ opacity: 0 })), - * - * // animate the inner elements in, one by one - * query('h1', animate(1000, style({ opacity: 1 })), - * query('.content', animate(1000, style({ opacity: 1 })), - * ]) - * ]) - * ] - * }) - * class Cmp { - * exp = ''; - * - * goAnimate() { - * this.exp = 'goAnimate'; - * } - * } - * ``` - * - * \@experimental Animation support is experimental. - * @param {?} selector - * @param {?} animation - * @param {?=} options - * @return {?} - */ - -/** - * `stagger` is an animation-specific function that is designed to be used inside of Angular's - * animation DSL language. It is designed to be used inside of an animation {\@link query query()} - * and works by issuing a timing gap between after each queried item is animated. - * - * ### Usage - * - * In the example below there is a container element that wraps a list of items stamped out - * by an ngFor. The container element contains an animation trigger that will later be set - * to query for each of the inner items. - * - * ```html - * - * - *
    - *
    - *
    - * {{ item }} - *
    - *
    - * ``` - * - * The component code for this looks as such: - * - * ```ts - * import {trigger, transition, style, animate, query, stagger} from '\@angular/animations'; - * \@Component({ - * templateUrl: 'list.component.html', - * animations: [ - * trigger('listAnimation', [ - * //... - * ]) - * ] - * }) - * class ListComponent { - * items = []; - * - * showItems() { - * this.items = [0,1,2,3,4]; - * } - * - * hideItems() { - * this.items = []; - * } - * - * toggle() { - * this.items.length ? this.hideItems() : this.showItems(); - * } - * } - * ``` - * - * And now for the animation trigger code: - * - * ```ts - * trigger('listAnimation', [ - * transition('* => *', [ // each time the binding value changes - * query(':leave', [ - * stagger(100, [ - * animate('0.5s', style({ opacity: 0 })) - * ]) - * ]), - * query(':enter', [ - * style({ opacity: 0 }), - * stagger(100, [ - * animate('0.5s', style({ opacity: 1 })) - * ]) - * ]) - * ]) - * ]) - * ``` - * - * Now each time the items are added/removed then either the opacity - * fade-in animation will run or each removed item will be faded out. - * When either of these animations occur then a stagger effect will be - * applied after each item's animation is started. - * - * \@experimental Animation support is experimental. - * @param {?} timings - * @param {?} animation - * @return {?} - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - */ -var AUTO_STYLE = '*'; -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @record - */ - -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} name - * @param {?} definitions - * @return {?} - */ -function trigger$$1(name, definitions) { - return trigger$1(name, definitions); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} timings - * @param {?=} styles - * @return {?} - */ -function animate$$1(timings, styles) { - return animate$1(timings, styles); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} steps - * @return {?} - */ -function group$$1(steps) { - return group$1(steps); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} steps - * @return {?} - */ -function sequence$$1(steps) { - return sequence$1(steps); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} tokens - * @return {?} - */ -function style$$1(tokens) { - return style$1(tokens); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} name - * @param {?} styles - * @return {?} - */ -function state$$1(name, styles) { - return state$1(name, styles); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} steps - * @return {?} - */ -function keyframes$$1(steps) { - return keyframes$1(steps); -} -/** - * @deprecated This symbol has moved. Please Import from \@angular/animations instead! - * @param {?} stateChangeExpr - * @param {?} steps - * @return {?} - */ -function transition$$1(stateChangeExpr, steps) { - return transition$1(stateChangeExpr, steps); -} -/** - * @deprecated This has been renamed to `AnimationEvent`. Please import it from \@angular/animations. - * @record - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @module - * @description - * Entry point from which you should import all public core APIs. - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @module - * @description - * Entry point for all public APIs of this package. - */ - -// This file only reexports content of the `src` folder. Keep it that way. - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Generated bundle index. Do not edit. - */ - - -//# sourceMappingURL=core.js.map - -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(207))) - -/***/ }), -/* 1 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = __extends; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __assign; }); -/* unused harmony export __rest */ -/* unused harmony export __decorate */ -/* unused harmony export __param */ -/* unused harmony export __metadata */ -/* unused harmony export __awaiter */ -/* unused harmony export __generator */ -/* unused harmony export __exportStar */ -/* unused harmony export __values */ -/* unused harmony export __read */ -/* unused harmony export __spread */ -/* unused harmony export __await */ -/* unused harmony export __asyncGenerator */ -/* unused harmony export __asyncDelegator */ -/* unused harmony export __asyncValues */ -/* unused harmony export __makeTemplateObject */ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -/* global Reflect, Promise */ - -var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - -function __extends(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} - -function __values(o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; - if (m) return m.call(o); - return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator]; - return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator](); -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - - -/***/ }), -/* 2 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Config; }); -/* harmony export (immutable) */ __webpack_exports__["c"] = setupConfig; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ConfigToken; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_util__ = __webpack_require__(3); - - -/** - * @name Config - * @demo /docs/demos/src/config/ - * @description - * The Config lets you configure your entire app or specific platforms. - * You can set the tab placement, icon mode, animations, and more here. - * - * ```ts - * import { IonicApp, IonicModule } from 'ionic-angular'; - * - * @NgModule({ - * declarations: [ MyApp ], - * imports: [ - * BrowserModule, - * IonicModule.forRoot(MyApp, { - * backButtonText: 'Go Back', - * iconMode: 'ios', - * modalEnter: 'modal-slide-in', - * modalLeave: 'modal-slide-out', - * tabsPlacement: 'bottom', - * pageTransition: 'ios-transition' - * }, {} - * )], - * bootstrap: [IonicApp], - * entryComponents: [ MyApp ], - * providers: [] - * }) - * ``` - * - * - * Config can be overwritten at multiple levels allowing for more granular configuration. - * Below is an example where an app can override any setting we want based on a platform. - * - * ```ts - * import { IonicModule } from 'ionic-angular'; - * - * @NgModule({ - * ... - * imports: [ - * BrowserModule, - * IonicModule.forRoot(MyApp, { - * tabsPlacement: 'bottom', - * platforms: { - * ios: { - * tabsPlacement: 'top', - * } - * } - * }, {} - * )], - * ... - * }) - * ``` - * - * We could also configure these values at a component level. Take `tabsPlacement`, - * we can configure this as a property on our `ion-tabs`. - * - * ```html - * - * - * - * ``` - * - * The last way we could configure is through URL query strings. This is useful for testing - * while in the browser. Simply add `?ionic=` to the url. - * - * ```bash - * http://localhost:8100/?ionicTabsPlacement=bottom - * ``` - * - * Any value can be added to config, and looked up at a later in any component. - * - * ```js - * config.set('ios', 'favoriteColor', 'green'); - * - * // from any page in your app: - * config.get('favoriteColor'); // 'green' when iOS - * ``` - * - * - * A config value can come from anywhere and be anything, but there are default - * values for each mode. The [theming](../../../theming/platform-specific-styles/) - * documentation has a chart of the default mode configuration. The following - * chart displays each property with a description of what it controls. - * - * - * | Config Property | Type | Details | - * |--------------------------|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| - * | `activator` | `string` | Used for buttons, changes the effect of pressing on a button. Available options: `"ripple"`, `"highlight"`. | - * | `actionSheetEnter` | `string` | The name of the transition to use while an action sheet is presented. | - * | `actionSheetLeave` | `string` | The name of the transition to use while an action sheet is dismissed. | - * | `alertEnter` | `string` | The name of the transition to use while an alert is presented. | - * | `alertLeave` | `string` | The name of the transition to use while an alert is dismissed. | - * | `backButtonText` | `string` | The text to display by the back button icon in the navbar. | - * | `backButtonIcon` | `string` | The icon to use as the back button icon. | - * | `iconMode` | `string` | The mode to use for all icons throughout the application. Available options: `"ios"`, `"md"` | - * | `locationStrategy` | `string` | Set to 'path' to remove hashbangs when using Deeplinking. | - * | `loadingEnter` | `string` | The name of the transition to use while a loading indicator is presented. | - * | `loadingLeave` | `string` | The name of the transition to use while a loading indicator is dismissed. | - * | `menuType` | `string` | Type of menu to display. Available options: `"overlay"`, `"reveal"`, `"push"`. | - * | `modalEnter` | `string` | The name of the transition to use while a modal is presented. | - * | `modalLeave` | `string` | The name of the transition to use while a modal is dismiss. | - * | `mode` | `string` | The mode to use throughout the application. | - * | `pageTransition` | `string` | The name of the transition to use while changing pages. Available options: `"ios-transition"`, `"md-transition"`, `"wp-transition"`. | - * | `pickerEnter` | `string` | The name of the transition to use while a picker is presented. | - * | `pickerLeave` | `string` | The name of the transition to use while a picker is dismissed. | - * | `popoverEnter` | `string` | The name of the transition to use while a popover is presented. | - * | `popoverLeave` | `string` | The name of the transition to use while a popover is dismissed. - * | `scrollAssist` | `boolean` | Used to avoid the input to be hidden by the keyboard if it's near the bottom of the page. - * | `scrollPadding` | `boolean` | Used to remove the extra padding on ion-content when keyboard is displayed. - * | `spinner` | `string` | The default spinner to use when a name is not defined. | - * | `statusbarPadding` | `boolean` | Whether to hide extra padding for statusbar. | - * | `swipeBackEnabled` | `boolean` | Whether native iOS swipe to go back functionality is enabled. | - * | `tabsHighlight` | `boolean` | Whether to show a highlight line under the tab when it is selected. | - * | `tabsLayout` | `string` | The layout to use for all tabs. Available options: `"icon-top"`, `"icon-start"`, `"icon-end"`, `"icon-bottom"`, `"icon-hide"`, `"title-hide"`. | - * | `tabsPlacement` | `string` | The position of the tabs relative to the content. Available options: `"top"`, `"bottom"` | - * | `tabsHideOnSubPages` | `boolean` | Whether to hide the tabs on child pages or not. If `true` it will not show the tabs on child pages. | - * | `toastEnter` | `string` | The name of the transition to use while a toast is presented. | - * | `toastLeave` | `string` | The name of the transition to use while a toast is dismissed. | - * -**/ -var Config = (function () { - function Config() { - this._c = {}; - this._s = {}; - this._modes = {}; - this._trns = {}; - } - /** - * @hidden - */ - Config.prototype.init = function (config, plt) { - this._s = config && Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["k" /* isObject */])(config) && !Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["e" /* isArray */])(config) ? config : {}; - this.plt = plt; - }; - /** - * @name get - * @description - * Returns a single config value, given a key. - * - * @param {string} [key] - the key for the config value - * @param {any} [fallbackValue] - a fallback value to use when the config - * value was not found, or is config value is `null`. Fallback value - * defaults to `null`. - */ - Config.prototype.get = function (key, fallbackValue) { - if (fallbackValue === void 0) { fallbackValue = null; } - var platform = this.plt; - if (!Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(this._c[key])) { - if (!Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(key)) { - throw 'config key is not defined'; - } - // if the value was already set this will all be skipped - // if there was no user config then it'll check each of - // the user config's platforms, which already contains - // settings from default platform configs - var userPlatformValue = undefined; - var userDefaultValue = this._s[key]; - var userPlatformModeValue = undefined; - var userDefaultModeValue = undefined; - var platformValue = undefined; - var platformModeValue = undefined; - var configObj = null; - if (platform) { - var queryStringValue = platform.getQueryParam('ionic' + key); - if (Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(queryStringValue)) { - return this._c[key] = (queryStringValue === 'true' ? true : queryStringValue === 'false' ? false : queryStringValue); - } - // check the platform settings object for this value - // loop though each of the active platforms - // array of active platforms, which also knows the hierarchy, - // with the last one the most important - var activePlatformKeys = platform.platforms(); - // loop through all of the active platforms we're on - for (var i = 0, ilen = activePlatformKeys.length; i < ilen; i++) { - // get user defined platform values - if (this._s.platforms) { - configObj = this._s.platforms[activePlatformKeys[i]]; - if (configObj) { - if (Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(configObj[key])) { - userPlatformValue = configObj[key]; - } - configObj = this.getModeConfig(configObj.mode); - if (configObj && Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(configObj[key])) { - userPlatformModeValue = configObj[key]; - } - } - } - // get default platform's setting - configObj = platform.getPlatformConfig(activePlatformKeys[i]); - if (configObj && configObj.settings) { - if (Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(configObj.settings[key])) { - // found a setting for this platform - platformValue = configObj.settings[key]; - } - configObj = this.getModeConfig(configObj.settings.mode); - if (configObj && Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(configObj[key])) { - // found setting for this platform's mode - platformModeValue = configObj[key]; - } - } - } - } - configObj = this.getModeConfig(this._s.mode); - if (configObj && Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(configObj[key])) { - userDefaultModeValue = configObj[key]; - } - // cache the value - this._c[key] = Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(userPlatformValue) ? userPlatformValue : - Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(userDefaultValue) ? userDefaultValue : - Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(userPlatformModeValue) ? userPlatformModeValue : - Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(userDefaultModeValue) ? userDefaultModeValue : - Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(platformValue) ? platformValue : - Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["h" /* isDefined */])(platformModeValue) ? platformModeValue : - null; - } - // return key's value - // either it came directly from the user config - // or it was from the users platform configs - // or it was from the default platform configs - // in that order - var rtnVal = this._c[key]; - if (Object(__WEBPACK_IMPORTED_MODULE_1__util_util__["i" /* isFunction */])(rtnVal)) { - rtnVal = rtnVal(platform); - } - return (rtnVal !== null ? rtnVal : fallbackValue); - }; - /** - * @name getBoolean - * @description - * Same as `get()`, however always returns a boolean value. If the - * value from `get()` is `null`, then it'll return the `fallbackValue` - * which defaults to `false`. Otherwise, `getBoolean()` will return - * if the config value is truthy or not. It also returns `true` if - * the config value was the string value `"true"`. - * @param {string} [key] - the key for the config value - * @param {boolean} [fallbackValue] - a fallback value to use when the config - * value was `null`. Fallback value defaults to `false`. - */ - Config.prototype.getBoolean = function (key, fallbackValue) { - if (fallbackValue === void 0) { fallbackValue = false; } - var val = this.get(key); - if (val === null) { - return fallbackValue; - } - if (typeof val === 'string') { - return val === 'true'; - } - return !!val; - }; - /** - * @name getNumber - * @description - * Same as `get()`, however always returns a number value. Uses `parseFloat()` - * on the value received from `get()`. If the result from the parse is `NaN`, - * then it will return the value passed to `fallbackValue`. If no fallback - * value was provided then it'll default to returning `NaN` when the result - * is not a valid number. - * @param {string} [key] - the key for the config value - * @param {number} [fallbackValue] - a fallback value to use when the config - * value turned out to be `NaN`. Fallback value defaults to `NaN`. - */ - Config.prototype.getNumber = function (key, fallbackValue) { - if (fallbackValue === void 0) { fallbackValue = NaN; } - var val = parseFloat(this.get(key)); - return isNaN(val) ? fallbackValue : val; - }; - /** - * @name set - * @description - * Sets a single config value. - * - * @param {string} [platform] - The platform (either 'ios' or 'android') that the config value should apply to. Leaving this blank will apply the config value to all platforms. - * @param {string} [key] - The key used to look up the value at a later point in time. - * @param {string} [value] - The config value being stored. - */ - Config.prototype.set = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var arg0 = args[0]; - var arg1 = args[1]; - switch (args.length) { - case 2: - // set('key', 'value') = set key/value pair - // arg1 = value - this._s[arg0] = arg1; - delete this._c[arg0]; // clear cache - break; - case 3: - // setting('ios', 'key', 'value') = set key/value pair for platform - // arg0 = platform - // arg1 = key - // arg2 = value - this._s.platforms = this._s.platforms || {}; - this._s.platforms[arg0] = this._s.platforms[arg0] || {}; - this._s.platforms[arg0][arg1] = args[2]; - delete this._c[arg1]; // clear cache - break; - } - return this; - }; - /** - * @hidden - * @name settings() - * @description - */ - Config.prototype.settings = function (arg0, arg1) { - switch (arguments.length) { - case 0: - return this._s; - case 1: - // settings({...}) - this._s = arg0; - this._c = {}; // clear cache - break; - case 2: - // settings('ios', {...}) - this._s.platforms = this._s.platforms || {}; - this._s.platforms[arg0] = arg1; - this._c = {}; // clear cache - break; - } - return this; - }; - /** - * @hidden - */ - Config.prototype.setModeConfig = function (modeName, modeConfig) { - this._modes[modeName] = modeConfig; - }; - /** - * @hidden - */ - Config.prototype.getModeConfig = function (modeName) { - return this._modes[modeName] || null; - }; - /** - * @hidden - */ - Config.prototype.setTransition = function (trnsName, trnsClass) { - this._trns[trnsName] = trnsClass; - }; - /** - * @hidden - */ - Config.prototype.getTransition = function (trnsName) { - return this._trns[trnsName] || null; - }; - return Config; -}()); - -/** - * @hidden - */ -function setupConfig(userConfig, plt) { - var config = new Config(); - config.init(userConfig, plt); - // add the config obj to the window - var win = plt.win(); - win['Ionic'] = win['Ionic'] || {}; - win['Ionic']['config'] = config; - return config; -} -/** - * @hidden - */ -var ConfigToken = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["C" /* InjectionToken */]('USERCONFIG'); -//# sourceMappingURL=config.js.map - -/***/ }), -/* 3 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = clamp; -/* harmony export (immutable) */ __webpack_exports__["b"] = deepCopy; -/* harmony export (immutable) */ __webpack_exports__["c"] = deepEqual; -/* unused harmony export debounce */ -/* unused harmony export normalizeURL */ -/* harmony export (immutable) */ __webpack_exports__["d"] = defaults; -/* unused harmony export isBoolean */ -/* harmony export (immutable) */ __webpack_exports__["n"] = isString; -/* harmony export (immutable) */ __webpack_exports__["j"] = isNumber; -/* harmony export (immutable) */ __webpack_exports__["i"] = isFunction; -/* harmony export (immutable) */ __webpack_exports__["h"] = isDefined; -/* harmony export (immutable) */ __webpack_exports__["p"] = isUndefined; -/* harmony export (immutable) */ __webpack_exports__["l"] = isPresent; -/* harmony export (immutable) */ __webpack_exports__["f"] = isBlank; -/* harmony export (immutable) */ __webpack_exports__["k"] = isObject; -/* harmony export (immutable) */ __webpack_exports__["e"] = isArray; -/* unused harmony export isPrimitive */ -/* harmony export (immutable) */ __webpack_exports__["o"] = isTrueProperty; -/* harmony export (immutable) */ __webpack_exports__["g"] = isCheckedProperty; -/* harmony export (immutable) */ __webpack_exports__["m"] = isRightSide; -/* harmony export (immutable) */ __webpack_exports__["r"] = reorderArray; -/* harmony export (immutable) */ __webpack_exports__["q"] = removeArrayItem; -/* harmony export (immutable) */ __webpack_exports__["t"] = swipeShouldReset; -/* harmony export (immutable) */ __webpack_exports__["s"] = requestIonicCallback; -/* unused harmony export assert */ -/* unused harmony export runInDev */ -/** - * @hidden - * Given a min and max, restrict the given number - * to the range. - * @param min the minimum - * @param n the value - * @param max the maximum - */ -function clamp(min, n, max) { - return Math.max(min, Math.min(n, max)); -} -/** @hidden */ -function deepCopy(obj) { - return JSON.parse(JSON.stringify(obj)); -} -/** @hidden */ -function deepEqual(a, b) { - if (a === b) { - return true; - } - return JSON.stringify(a) === JSON.stringify(b); -} -/** @hidden */ -function debounce(fn, wait, immediate) { - if (immediate === void 0) { immediate = false; } - var timeout, args, context, timestamp, result; - return function () { - context = this; - args = arguments; - timestamp = Date.now(); - var later = function () { - var last = Date.now() - timestamp; - if (last < wait) { - timeout = setTimeout(later, wait - last); - } - else { - timeout = null; - if (!immediate) - result = fn.apply(context, args); - } - }; - var callNow = immediate && !timeout; - if (!timeout) { - timeout = setTimeout(later, wait); - } - if (callNow) - result = fn.apply(context, args); - return result; - }; -} -/** - * @hidden - * Rewrites an absolute URL so it works across file and http based engines - */ -function normalizeURL(url) { - var ionic = window['Ionic']; - if (ionic && ionic.normalizeURL) { - return ionic.normalizeURL(url); - } - return url; -} -/** - * @hidden - * Apply default arguments if they don't exist in - * the first object. - * @param {any} dest the destination to apply defaults to. - */ -function defaults(dest) { - var _args = []; - for (var _i = 1; _i < arguments.length; _i++) { - _args[_i - 1] = arguments[_i]; - } - for (var i = arguments.length - 1; i >= 1; i--) { - var source = arguments[i]; - if (source) { - for (var key in source) { - if (source.hasOwnProperty(key) && !dest.hasOwnProperty(key)) { - dest[key] = source[key]; - } - } - } - } - return dest; -} -/** @hidden */ -function isBoolean(val) { return typeof val === 'boolean'; } -/** @hidden */ -function isString(val) { return typeof val === 'string'; } -/** @hidden */ -function isNumber(val) { return typeof val === 'number'; } -/** @hidden */ -function isFunction(val) { return typeof val === 'function'; } -/** @hidden */ -function isDefined(val) { return typeof val !== 'undefined'; } -/** @hidden */ -function isUndefined(val) { return typeof val === 'undefined'; } -/** @hidden */ -function isPresent(val) { return val !== undefined && val !== null; } -/** @hidden */ -function isBlank(val) { return val === undefined || val === null; } -/** @hidden */ -function isObject(val) { return typeof val === 'object'; } -/** @hidden */ -function isArray(val) { return Array.isArray(val); } -/** @hidden */ -function isPrimitive(val) { - return isString(val) || isBoolean(val) || (isNumber(val) && !isNaN(val)); -} -/** @hidden */ -function isTrueProperty(val) { - if (typeof val === 'string') { - val = val.toLowerCase().trim(); - return (val === 'true' || val === 'on' || val === ''); - } - return !!val; -} -/** @hidden */ -function isCheckedProperty(a, b) { - if (a === undefined || a === null || a === '') { - return (b === undefined || b === null || b === ''); - } - else if (a === true || a === 'true') { - return (b === true || b === 'true'); - } - else if (a === false || a === 'false') { - return (b === false || b === 'false'); - } - else if (a === 0 || a === '0') { - return (b === 0 || b === '0'); - } - // not using strict comparison on purpose - return (a == b); // tslint:disable-line -} -/** - * @hidden - * Given a side, return if it should be on the right - * based on the value of dir - * @param side the side - * @param isRTL whether the application dir is rtl - * @param defaultRight whether the default side is right - */ -function isRightSide(side, isRTL, defaultRight) { - if (defaultRight === void 0) { defaultRight = false; } - switch (side) { - case 'right': return true; - case 'left': return false; - case 'end': return !isRTL; - case 'start': return isRTL; - default: return defaultRight ? !isRTL : isRTL; - } -} -/** @hidden */ -function reorderArray(array, indexes) { - var element = array[indexes.from]; - array.splice(indexes.from, 1); - array.splice(indexes.to, 0, element); - return array; -} -/** @hidden */ -function removeArrayItem(array, item) { - var index = array.indexOf(item); - return !!~index && !!array.splice(index, 1); -} -/** @hidden */ -function swipeShouldReset(isResetDirection, isMovingFast, isOnResetZone) { - // The logic required to know when the sliding item should close (openAmount=0) - // depends on three booleans (isCloseDirection, isMovingFast, isOnCloseZone) - // and it ended up being too complicated to be written manually without errors - // so the truth table is attached below: (0=false, 1=true) - // isCloseDirection | isMovingFast | isOnCloseZone || shouldClose - // 0 | 0 | 0 || 0 - // 0 | 0 | 1 || 1 - // 0 | 1 | 0 || 0 - // 0 | 1 | 1 || 0 - // 1 | 0 | 0 || 0 - // 1 | 0 | 1 || 1 - // 1 | 1 | 0 || 1 - // 1 | 1 | 1 || 1 - // The resulting expression was generated by resolving the K-map (Karnaugh map): - var shouldClose = (!isMovingFast && isOnResetZone) || (isResetDirection && isMovingFast); - return shouldClose; -} -/** @hidden */ -var ASSERT_ENABLED = true; -/** @hidden */ -function _runInDev(fn) { - if (ASSERT_ENABLED === true) { - return fn(); - } -} -/** @hidden */ -function _assert(actual, reason) { - if (!actual && ASSERT_ENABLED === true) { - var message = 'IONIC ASSERT: ' + reason; - console.error(message); - debugger; // tslint:disable-line - throw new Error(message); - } -} -/** @hidden */ -function requestIonicCallback(functionToLazy) { - if ('requestIdleCallback' in window) { - return window.requestIdleCallback(functionToLazy); - } - else { - return setTimeout(functionToLazy, 500); - } -} -/** @hidden */ - -/** @hidden */ - -//# sourceMappingURL=util.js.map - -/***/ }), -/* 4 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* unused harmony export AbstractControlDirective */ -/* unused harmony export AbstractFormGroupDirective */ -/* unused harmony export CheckboxControlValueAccessor */ -/* unused harmony export ControlContainer */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return NG_VALUE_ACCESSOR; }); -/* unused harmony export COMPOSITION_BUFFER_MODE */ -/* unused harmony export DefaultValueAccessor */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return NgControl; }); -/* unused harmony export NgControlStatus */ -/* unused harmony export NgControlStatusGroup */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return NgForm; }); -/* unused harmony export NgModel */ -/* unused harmony export NgModelGroup */ -/* unused harmony export RadioControlValueAccessor */ -/* unused harmony export FormControlDirective */ -/* unused harmony export FormControlName */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return FormGroupDirective; }); -/* unused harmony export FormArrayName */ -/* unused harmony export FormGroupName */ -/* unused harmony export NgSelectOption */ -/* unused harmony export SelectControlValueAccessor */ -/* unused harmony export SelectMultipleControlValueAccessor */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CheckboxRequiredValidator; }); -/* unused harmony export EmailValidator */ -/* unused harmony export MaxLengthValidator */ -/* unused harmony export MinLengthValidator */ -/* unused harmony export PatternValidator */ -/* unused harmony export RequiredValidator */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return FormBuilder; }); -/* unused harmony export AbstractControl */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return FormArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return FormControl; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return FormGroup; }); -/* unused harmony export NG_ASYNC_VALIDATORS */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return NG_VALIDATORS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return Validators; }); -/* unused harmony export VERSION */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return FormsModule; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return ReactiveFormsModule; }); -/* unused harmony export ɵba */ -/* unused harmony export ɵz */ -/* unused harmony export ɵx */ -/* unused harmony export ɵy */ -/* unused harmony export ɵa */ -/* unused harmony export ɵb */ -/* unused harmony export ɵc */ -/* unused harmony export ɵd */ -/* unused harmony export ɵe */ -/* unused harmony export ɵf */ -/* unused harmony export ɵg */ -/* unused harmony export ɵbf */ -/* unused harmony export ɵbb */ -/* unused harmony export ɵbc */ -/* unused harmony export ɵh */ -/* unused harmony export ɵi */ -/* unused harmony export ɵbd */ -/* unused harmony export ɵbe */ -/* unused harmony export ɵj */ -/* unused harmony export ɵk */ -/* unused harmony export ɵl */ -/* unused harmony export ɵn */ -/* unused harmony export ɵm */ -/* unused harmony export ɵo */ -/* unused harmony export ɵq */ -/* unused harmony export ɵp */ -/* unused harmony export ɵs */ -/* unused harmony export ɵt */ -/* unused harmony export ɵv */ -/* unused harmony export ɵu */ -/* unused harmony export ɵw */ -/* unused harmony export ɵr */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin__ = __webpack_require__(259); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__ = __webpack_require__(541); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__ = __webpack_require__(260); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__ = __webpack_require__(45); -/** - * @license Angular v5.0.3 - * (c) 2010-2017 Google, Inc. https://angular.io/ - * License: MIT - */ - - - - - - - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * Base class for control directives. - * - * Only used internally in the forms module. - * - * \@stable - * @abstract - */ -var AbstractControlDirective = (function () { - function AbstractControlDirective() { - } - Object.defineProperty(AbstractControlDirective.prototype, "value", { - /** The value of the control. */ - get: /** - * The value of the control. - * @return {?} - */ - function () { return this.control ? this.control.value : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "valid", { - /** - * A control is `valid` when its `status === VALID`. - * - * In order to have this status, the control must have passed all its - * validation checks. - */ - get: /** - * A control is `valid` when its `status === VALID`. - * - * In order to have this status, the control must have passed all its - * validation checks. - * @return {?} - */ - function () { return this.control ? this.control.valid : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "invalid", { - /** - * A control is `invalid` when its `status === INVALID`. - * - * In order to have this status, the control must have failed - * at least one of its validation checks. - */ - get: /** - * A control is `invalid` when its `status === INVALID`. - * - * In order to have this status, the control must have failed - * at least one of its validation checks. - * @return {?} - */ - function () { return this.control ? this.control.invalid : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "pending", { - /** - * A control is `pending` when its `status === PENDING`. - * - * In order to have this status, the control must be in the - * middle of conducting a validation check. - */ - get: /** - * A control is `pending` when its `status === PENDING`. - * - * In order to have this status, the control must be in the - * middle of conducting a validation check. - * @return {?} - */ - function () { return this.control ? this.control.pending : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "disabled", { - /** - * A control is `disabled` when its `status === DISABLED`. - * - * Disabled controls are exempt from validation checks and - * are not included in the aggregate value of their ancestor - * controls. - */ - get: /** - * A control is `disabled` when its `status === DISABLED`. - * - * Disabled controls are exempt from validation checks and - * are not included in the aggregate value of their ancestor - * controls. - * @return {?} - */ - function () { return this.control ? this.control.disabled : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "enabled", { - /** - * A control is `enabled` as long as its `status !== DISABLED`. - * - * In other words, it has a status of `VALID`, `INVALID`, or - * `PENDING`. - */ - get: /** - * A control is `enabled` as long as its `status !== DISABLED`. - * - * In other words, it has a status of `VALID`, `INVALID`, or - * `PENDING`. - * @return {?} - */ - function () { return this.control ? this.control.enabled : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "errors", { - /** - * Returns any errors generated by failing validation. If there - * are no errors, it will return null. - */ - get: /** - * Returns any errors generated by failing validation. If there - * are no errors, it will return null. - * @return {?} - */ - function () { return this.control ? this.control.errors : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "pristine", { - /** - * A control is `pristine` if the user has not yet changed - * the value in the UI. - * - * Note that programmatic changes to a control's value will - * *not* mark it dirty. - */ - get: /** - * A control is `pristine` if the user has not yet changed - * the value in the UI. - * - * Note that programmatic changes to a control's value will - * *not* mark it dirty. - * @return {?} - */ - function () { return this.control ? this.control.pristine : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "dirty", { - /** - * A control is `dirty` if the user has changed the value - * in the UI. - * - * Note that programmatic changes to a control's value will - * *not* mark it dirty. - */ - get: /** - * A control is `dirty` if the user has changed the value - * in the UI. - * - * Note that programmatic changes to a control's value will - * *not* mark it dirty. - * @return {?} - */ - function () { return this.control ? this.control.dirty : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "touched", { - /** - * A control is marked `touched` once the user has triggered - * a `blur` event on it. - */ - get: /** - * A control is marked `touched` once the user has triggered - * a `blur` event on it. - * @return {?} - */ - function () { return this.control ? this.control.touched : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "status", { - get: /** - * @return {?} - */ - function () { return this.control ? this.control.status : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "untouched", { - /** - * A control is `untouched` if the user has not yet triggered - * a `blur` event on it. - */ - get: /** - * A control is `untouched` if the user has not yet triggered - * a `blur` event on it. - * @return {?} - */ - function () { return this.control ? this.control.untouched : null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "statusChanges", { - /** - * Emits an event every time the validation status of the control - * is re-calculated. - */ - get: /** - * Emits an event every time the validation status of the control - * is re-calculated. - * @return {?} - */ - function () { - return this.control ? this.control.statusChanges : null; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "valueChanges", { - /** - * Emits an event every time the value of the control changes, in - * the UI or programmatically. - */ - get: /** - * Emits an event every time the value of the control changes, in - * the UI or programmatically. - * @return {?} - */ - function () { - return this.control ? this.control.valueChanges : null; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(AbstractControlDirective.prototype, "path", { - /** - * Returns an array that represents the path from the top-level form - * to this control. Each index is the string name of the control on - * that level. - */ - get: /** - * Returns an array that represents the path from the top-level form - * to this control. Each index is the string name of the control on - * that level. - * @return {?} - */ - function () { return null; }, - enumerable: true, - configurable: true - }); - /** - * Resets the form control. This means by default: - * - * * it is marked as `pristine` - * * it is marked as `untouched` - * * value is set to null - * - * For more information, see {@link AbstractControl}. - */ - /** - * Resets the form control. This means by default: - * - * * it is marked as `pristine` - * * it is marked as `untouched` - * * value is set to null - * - * For more information, see {\@link AbstractControl}. - * @param {?=} value - * @return {?} - */ - AbstractControlDirective.prototype.reset = /** - * Resets the form control. This means by default: - * - * * it is marked as `pristine` - * * it is marked as `untouched` - * * value is set to null - * - * For more information, see {\@link AbstractControl}. - * @param {?=} value - * @return {?} - */ - function (value) { - if (value === void 0) { value = undefined; } - if (this.control) - this.control.reset(value); - }; - /** - * Returns true if the control with the given path has the error specified. Otherwise - * returns false. - * - * If no path is given, it checks for the error on the present control. - */ - /** - * Returns true if the control with the given path has the error specified. Otherwise - * returns false. - * - * If no path is given, it checks for the error on the present control. - * @param {?} errorCode - * @param {?=} path - * @return {?} - */ - AbstractControlDirective.prototype.hasError = /** - * Returns true if the control with the given path has the error specified. Otherwise - * returns false. - * - * If no path is given, it checks for the error on the present control. - * @param {?} errorCode - * @param {?=} path - * @return {?} - */ - function (errorCode, path) { - return this.control ? this.control.hasError(errorCode, path) : false; - }; - /** - * Returns error data if the control with the given path has the error specified. Otherwise - * returns null or undefined. - * - * If no path is given, it checks for the error on the present control. - */ - /** - * Returns error data if the control with the given path has the error specified. Otherwise - * returns null or undefined. - * - * If no path is given, it checks for the error on the present control. - * @param {?} errorCode - * @param {?=} path - * @return {?} - */ - AbstractControlDirective.prototype.getError = /** - * Returns error data if the control with the given path has the error specified. Otherwise - * returns null or undefined. - * - * If no path is given, it checks for the error on the present control. - * @param {?} errorCode - * @param {?=} path - * @return {?} - */ - function (errorCode, path) { - return this.control ? this.control.getError(errorCode, path) : null; - }; - return AbstractControlDirective; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A directive that contains multiple {\@link NgControl}s. - * - * Only used by the forms module. - * - * \@stable - * @abstract - */ -var ControlContainer = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(ControlContainer, _super); - function ControlContainer() { - return _super !== null && _super.apply(this, arguments) || this; - } - Object.defineProperty(ControlContainer.prototype, "formDirective", { - /** - * Get the form to which this container belongs. - */ - get: /** - * Get the form to which this container belongs. - * @return {?} - */ - function () { return null; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ControlContainer.prototype, "path", { - /** - * Get the path to this container. - */ - get: /** - * Get the path to this container. - * @return {?} - */ - function () { return null; }, - enumerable: true, - configurable: true - }); - return ControlContainer; -}(AbstractControlDirective)); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @param {?} value - * @return {?} - */ -function isEmptyInputValue(value) { - // we don't check for string here so it also works with arrays - return value == null || value.length === 0; -} -/** - * Providers for validators to be used for {\@link FormControl}s in a form. - * - * Provide this using `multi: true` to add validators. - * - * \@stable - */ -var NG_VALIDATORS = new __WEBPACK_IMPORTED_MODULE_1__angular_core__["C" /* InjectionToken */]('NgValidators'); -/** - * Providers for asynchronous validators to be used for {\@link FormControl}s - * in a form. - * - * Provide this using `multi: true` to add validators. - * - * See {\@link NG_VALIDATORS} for more details. - * - * \@stable - */ -var NG_ASYNC_VALIDATORS = new __WEBPACK_IMPORTED_MODULE_1__angular_core__["C" /* InjectionToken */]('NgAsyncValidators'); -var EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/; -/** - * Provides a set of validators used by form controls. - * - * A validator is a function that processes a {\@link FormControl} or collection of - * controls and returns a map of errors. A null map means that validation has passed. - * - * ### Example - * - * ```typescript - * var loginControl = new FormControl("", Validators.required) - * ``` - * - * \@stable - */ -var Validators = (function () { - function Validators() { - } - /** - * Validator that requires controls to have a value greater than a number. - */ - /** - * Validator that requires controls to have a value greater than a number. - * @param {?} min - * @return {?} - */ - Validators.min = /** - * Validator that requires controls to have a value greater than a number. - * @param {?} min - * @return {?} - */ - function (min) { - return function (control) { - if (isEmptyInputValue(control.value) || isEmptyInputValue(min)) { - return null; // don't validate empty values to allow optional controls - } - var /** @type {?} */ value = parseFloat(control.value); - // Controls with NaN values after parsing should be treated as not having a - // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min - return !isNaN(value) && value < min ? { 'min': { 'min': min, 'actual': control.value } } : null; - }; - }; - /** - * Validator that requires controls to have a value less than a number. - */ - /** - * Validator that requires controls to have a value less than a number. - * @param {?} max - * @return {?} - */ - Validators.max = /** - * Validator that requires controls to have a value less than a number. - * @param {?} max - * @return {?} - */ - function (max) { - return function (control) { - if (isEmptyInputValue(control.value) || isEmptyInputValue(max)) { - return null; // don't validate empty values to allow optional controls - } - var /** @type {?} */ value = parseFloat(control.value); - // Controls with NaN values after parsing should be treated as not having a - // maximum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-max - return !isNaN(value) && value > max ? { 'max': { 'max': max, 'actual': control.value } } : null; - }; - }; - /** - * Validator that requires controls to have a non-empty value. - */ - /** - * Validator that requires controls to have a non-empty value. - * @param {?} control - * @return {?} - */ - Validators.required = /** - * Validator that requires controls to have a non-empty value. - * @param {?} control - * @return {?} - */ - function (control) { - return isEmptyInputValue(control.value) ? { 'required': true } : null; - }; - /** - * Validator that requires control value to be true. - */ - /** - * Validator that requires control value to be true. - * @param {?} control - * @return {?} - */ - Validators.requiredTrue = /** - * Validator that requires control value to be true. - * @param {?} control - * @return {?} - */ - function (control) { - return control.value === true ? null : { 'required': true }; - }; - /** - * Validator that performs email validation. - */ - /** - * Validator that performs email validation. - * @param {?} control - * @return {?} - */ - Validators.email = /** - * Validator that performs email validation. - * @param {?} control - * @return {?} - */ - function (control) { - return EMAIL_REGEXP.test(control.value) ? null : { 'email': true }; - }; - /** - * Validator that requires controls to have a value of a minimum length. - */ - /** - * Validator that requires controls to have a value of a minimum length. - * @param {?} minLength - * @return {?} - */ - Validators.minLength = /** - * Validator that requires controls to have a value of a minimum length. - * @param {?} minLength - * @return {?} - */ - function (minLength) { - return function (control) { - if (isEmptyInputValue(control.value)) { - return null; // don't validate empty values to allow optional controls - } - var /** @type {?} */ length = control.value ? control.value.length : 0; - return length < minLength ? - { 'minlength': { 'requiredLength': minLength, 'actualLength': length } } : - null; - }; - }; - /** - * Validator that requires controls to have a value of a maximum length. - */ - /** - * Validator that requires controls to have a value of a maximum length. - * @param {?} maxLength - * @return {?} - */ - Validators.maxLength = /** - * Validator that requires controls to have a value of a maximum length. - * @param {?} maxLength - * @return {?} - */ - function (maxLength) { - return function (control) { - var /** @type {?} */ length = control.value ? control.value.length : 0; - return length > maxLength ? - { 'maxlength': { 'requiredLength': maxLength, 'actualLength': length } } : - null; - }; - }; - /** - * Validator that requires a control to match a regex to its value. - */ - /** - * Validator that requires a control to match a regex to its value. - * @param {?} pattern - * @return {?} - */ - Validators.pattern = /** - * Validator that requires a control to match a regex to its value. - * @param {?} pattern - * @return {?} - */ - function (pattern) { - if (!pattern) - return Validators.nullValidator; - var /** @type {?} */ regex; - var /** @type {?} */ regexStr; - if (typeof pattern === 'string') { - regexStr = "^" + pattern + "$"; - regex = new RegExp(regexStr); - } - else { - regexStr = pattern.toString(); - regex = pattern; - } - return function (control) { - if (isEmptyInputValue(control.value)) { - return null; // don't validate empty values to allow optional controls - } - var /** @type {?} */ value = control.value; - return regex.test(value) ? null : - { 'pattern': { 'requiredPattern': regexStr, 'actualValue': value } }; - }; - }; - /** - * No-op validator. - */ - /** - * No-op validator. - * @param {?} c - * @return {?} - */ - Validators.nullValidator = /** - * No-op validator. - * @param {?} c - * @return {?} - */ - function (c) { return null; }; - /** - * @param {?} validators - * @return {?} - */ - Validators.compose = /** - * @param {?} validators - * @return {?} - */ - function (validators) { - if (!validators) - return null; - var /** @type {?} */ presentValidators = /** @type {?} */ (validators.filter(isPresent)); - if (presentValidators.length == 0) - return null; - return function (control) { - return _mergeErrors(_executeValidators(control, presentValidators)); - }; - }; - /** - * @param {?} validators - * @return {?} - */ - Validators.composeAsync = /** - * @param {?} validators - * @return {?} - */ - function (validators) { - if (!validators) - return null; - var /** @type {?} */ presentValidators = /** @type {?} */ (validators.filter(isPresent)); - if (presentValidators.length == 0) - return null; - return function (control) { - var /** @type {?} */ observables = _executeAsyncValidators(control, presentValidators).map(toObservable); - return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__["map"].call(Object(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin__["forkJoin"])(observables), _mergeErrors); - }; - }; - return Validators; -}()); -/** - * @param {?} o - * @return {?} - */ -function isPresent(o) { - return o != null; -} -/** - * @param {?} r - * @return {?} - */ -function toObservable(r) { - var /** @type {?} */ obs = Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_37" /* ɵisPromise */])(r) ? Object(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__["fromPromise"])(r) : r; - if (!(Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_36" /* ɵisObservable */])(obs))) { - throw new Error("Expected validator to return Promise or Observable."); - } - return obs; -} -/** - * @param {?} control - * @param {?} validators - * @return {?} - */ -function _executeValidators(control, validators) { - return validators.map(function (v) { return v(control); }); -} -/** - * @param {?} control - * @param {?} validators - * @return {?} - */ -function _executeAsyncValidators(control, validators) { - return validators.map(function (v) { return v(control); }); -} -/** - * @param {?} arrayOfErrors - * @return {?} - */ -function _mergeErrors(arrayOfErrors) { - var /** @type {?} */ res = arrayOfErrors.reduce(function (res, errors) { - return errors != null ? Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */])({}, /** @type {?} */ ((res)), errors) : /** @type {?} */ ((res)); - }, {}); - return Object.keys(res).length === 0 ? null : res; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * A `ControlValueAccessor` acts as a bridge between the Angular forms API and a - * native element in the DOM. - * - * Implement this interface if you want to create a custom form control directive - * that integrates with Angular forms. - * - * \@stable - * @record - */ - -/** - * Used to provide a {\@link ControlValueAccessor} for form controls. - * - * See {\@link DefaultValueAccessor} for how to implement one. - * \@stable - */ -var NG_VALUE_ACCESSOR = new __WEBPACK_IMPORTED_MODULE_1__angular_core__["C" /* InjectionToken */]('NgValueAccessor'); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var CHECKBOX_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* forwardRef */])(function () { return CheckboxControlValueAccessor; }), - multi: true, -}; -/** - * The accessor for writing a value and listening to changes on a checkbox input element. - * - * ### Example - * ``` - * - * ``` - * - * \@stable - */ -var CheckboxControlValueAccessor = (function () { - function CheckboxControlValueAccessor(_renderer, _elementRef) { - this._renderer = _renderer; - this._elementRef = _elementRef; - this.onChange = function (_) { }; - this.onTouched = function () { }; - } - /** - * @param {?} value - * @return {?} - */ - CheckboxControlValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - this._renderer.setProperty(this._elementRef.nativeElement, 'checked', value); - }; - /** - * @param {?} fn - * @return {?} - */ - CheckboxControlValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onChange = fn; }; - /** - * @param {?} fn - * @return {?} - */ - CheckboxControlValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - CheckboxControlValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - CheckboxControlValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]', - host: { '(change)': 'onChange($event.target.checked)', '(blur)': 'onTouched()' }, - providers: [CHECKBOX_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - CheckboxControlValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - ]; }; - return CheckboxControlValueAccessor; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var DEFAULT_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* forwardRef */])(function () { return DefaultValueAccessor; }), - multi: true -}; -/** - * We must check whether the agent is Android because composition events - * behave differently between iOS and Android. - * @return {?} - */ -function _isAndroid() { - var /** @type {?} */ userAgent = Object(__WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__["i" /* ɵgetDOM */])() ? Object(__WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__["i" /* ɵgetDOM */])().getUserAgent() : ''; - return /android (\d+)/.test(userAgent.toLowerCase()); -} -/** - * Turn this mode on if you want form directives to buffer IME input until compositionend - * \@experimental - */ -var COMPOSITION_BUFFER_MODE = new __WEBPACK_IMPORTED_MODULE_1__angular_core__["C" /* InjectionToken */]('CompositionEventMode'); -/** - * The default accessor for writing a value and listening to changes that is used by the - * {\@link NgModel}, {\@link FormControlDirective}, and {\@link FormControlName} directives. - * - * ### Example - * ``` - * - * ``` - * - * \@stable - */ -var DefaultValueAccessor = (function () { - function DefaultValueAccessor(_renderer, _elementRef, _compositionMode) { - this._renderer = _renderer; - this._elementRef = _elementRef; - this._compositionMode = _compositionMode; - this.onChange = function (_) { }; - this.onTouched = function () { }; - /** - * Whether the user is creating a composition string (IME events). - */ - this._composing = false; - if (this._compositionMode == null) { - this._compositionMode = !_isAndroid(); - } - } - /** - * @param {?} value - * @return {?} - */ - DefaultValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - var /** @type {?} */ normalizedValue = value == null ? '' : value; - this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue); - }; - /** - * @param {?} fn - * @return {?} - */ - DefaultValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onChange = fn; }; - /** - * @param {?} fn - * @return {?} - */ - DefaultValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - DefaultValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - /** @internal */ - /** - * \@internal - * @param {?} value - * @return {?} - */ - DefaultValueAccessor.prototype._handleInput = /** - * \@internal - * @param {?} value - * @return {?} - */ - function (value) { - if (!this._compositionMode || (this._compositionMode && !this._composing)) { - this.onChange(value); - } - }; - /** @internal */ - /** - * \@internal - * @return {?} - */ - DefaultValueAccessor.prototype._compositionStart = /** - * \@internal - * @return {?} - */ - function () { this._composing = true; }; - /** @internal */ - /** - * \@internal - * @param {?} value - * @return {?} - */ - DefaultValueAccessor.prototype._compositionEnd = /** - * \@internal - * @param {?} value - * @return {?} - */ - function (value) { - this._composing = false; - this._compositionMode && this.onChange(value); - }; - DefaultValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]', - // TODO: vsavkin replace the above selector with the one below it once - // https://github.com/angular/angular/issues/3011 is implemented - // selector: '[ngModel],[formControl],[formControlName]', - host: { - '(input)': '_handleInput($event.target.value)', - '(blur)': 'onTouched()', - '(compositionstart)': '_compositionStart()', - '(compositionend)': '_compositionEnd($event.target.value)' - }, - providers: [DEFAULT_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - DefaultValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["O" /* Optional */] }, { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["A" /* Inject */], args: [COMPOSITION_BUFFER_MODE,] },] }, - ]; }; - return DefaultValueAccessor; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @param {?} validator - * @return {?} - */ -function normalizeValidator(validator) { - if ((/** @type {?} */ (validator)).validate) { - return function (c) { return (/** @type {?} */ (validator)).validate(c); }; - } - else { - return /** @type {?} */ (validator); - } -} -/** - * @param {?} validator - * @return {?} - */ -function normalizeAsyncValidator(validator) { - if ((/** @type {?} */ (validator)).validate) { - return function (c) { return (/** @type {?} */ (validator)).validate(c); }; - } - else { - return /** @type {?} */ (validator); - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var NUMBER_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* forwardRef */])(function () { return NumberValueAccessor; }), - multi: true -}; -/** - * The accessor for writing a number value and listening to changes that is used by the - * {\@link NgModel}, {\@link FormControlDirective}, and {\@link FormControlName} directives. - * - * ### Example - * ``` - * - * ``` - */ -var NumberValueAccessor = (function () { - function NumberValueAccessor(_renderer, _elementRef) { - this._renderer = _renderer; - this._elementRef = _elementRef; - this.onChange = function (_) { }; - this.onTouched = function () { }; - } - /** - * @param {?} value - * @return {?} - */ - NumberValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - // The value needs to be normalized for IE9, otherwise it is set to 'null' when null - var /** @type {?} */ normalizedValue = value == null ? '' : value; - this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue); - }; - /** - * @param {?} fn - * @return {?} - */ - NumberValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); }; - }; - /** - * @param {?} fn - * @return {?} - */ - NumberValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - NumberValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - NumberValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]', - host: { - '(change)': 'onChange($event.target.value)', - '(input)': 'onChange($event.target.value)', - '(blur)': 'onTouched()' - }, - providers: [NUMBER_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - NumberValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - ]; }; - return NumberValueAccessor; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @return {?} - */ -function unimplemented() { - throw new Error('unimplemented'); -} -/** - * A base class that all control directive extend. - * It binds a {\@link FormControl} object to a DOM element. - * - * Used internally by Angular forms. - * - * \@stable - * @abstract - */ -var NgControl = (function (_super) { - Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __extends */])(NgControl, _super); - function NgControl() { - var _this = _super !== null && _super.apply(this, arguments) || this; - /** - * \@internal - */ - _this._parent = null; - _this.name = null; - _this.valueAccessor = null; - /** - * \@internal - */ - _this._rawValidators = []; - /** - * \@internal - */ - _this._rawAsyncValidators = []; - return _this; - } - Object.defineProperty(NgControl.prototype, "validator", { - get: /** - * @return {?} - */ - function () { return /** @type {?} */ (unimplemented()); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(NgControl.prototype, "asyncValidator", { - get: /** - * @return {?} - */ - function () { return /** @type {?} */ (unimplemented()); }, - enumerable: true, - configurable: true - }); - return NgControl; -}(AbstractControlDirective)); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var RADIO_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* forwardRef */])(function () { return RadioControlValueAccessor; }), - multi: true -}; -/** - * Internal class used by Angular to uncheck radio buttons with the matching name. - */ -var RadioControlRegistry = (function () { - function RadioControlRegistry() { - this._accessors = []; - } - /** - * @param {?} control - * @param {?} accessor - * @return {?} - */ - RadioControlRegistry.prototype.add = /** - * @param {?} control - * @param {?} accessor - * @return {?} - */ - function (control, accessor) { - this._accessors.push([control, accessor]); - }; - /** - * @param {?} accessor - * @return {?} - */ - RadioControlRegistry.prototype.remove = /** - * @param {?} accessor - * @return {?} - */ - function (accessor) { - for (var /** @type {?} */ i = this._accessors.length - 1; i >= 0; --i) { - if (this._accessors[i][1] === accessor) { - this._accessors.splice(i, 1); - return; - } - } - }; - /** - * @param {?} accessor - * @return {?} - */ - RadioControlRegistry.prototype.select = /** - * @param {?} accessor - * @return {?} - */ - function (accessor) { - var _this = this; - this._accessors.forEach(function (c) { - if (_this._isSameGroup(c, accessor) && c[1] !== accessor) { - c[1].fireUncheck(accessor.value); - } - }); - }; - /** - * @param {?} controlPair - * @param {?} accessor - * @return {?} - */ - RadioControlRegistry.prototype._isSameGroup = /** - * @param {?} controlPair - * @param {?} accessor - * @return {?} - */ - function (controlPair, accessor) { - if (!controlPair[0].control) - return false; - return controlPair[0]._parent === accessor._control._parent && - controlPair[1].name === accessor.name; - }; - RadioControlRegistry.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */] }, - ]; - /** @nocollapse */ - RadioControlRegistry.ctorParameters = function () { return []; }; - return RadioControlRegistry; -}()); -/** - * \@whatItDoes Writes radio control values and listens to radio control changes. - * - * Used by {\@link NgModel}, {\@link FormControlDirective}, and {\@link FormControlName} - * to keep the view synced with the {\@link FormControl} model. - * - * \@howToUse - * - * If you have imported the {\@link FormsModule} or the {\@link ReactiveFormsModule}, this - * value accessor will be active on any radio control that has a form directive. You do - * **not** need to add a special selector to activate it. - * - * ### How to use radio buttons with form directives - * - * To use radio buttons in a template-driven form, you'll want to ensure that radio buttons - * in the same group have the same `name` attribute. Radio buttons with different `name` - * attributes do not affect each other. - * - * {\@example forms/ts/radioButtons/radio_button_example.ts region='TemplateDriven'} - * - * When using radio buttons in a reactive form, radio buttons in the same group should have the - * same `formControlName`. You can also add a `name` attribute, but it's optional. - * - * {\@example forms/ts/reactiveRadioButtons/reactive_radio_button_example.ts region='Reactive'} - * - * * **npm package**: `\@angular/forms` - * - * \@stable - */ -var RadioControlValueAccessor = (function () { - function RadioControlValueAccessor(_renderer, _elementRef, _registry, _injector) { - this._renderer = _renderer; - this._elementRef = _elementRef; - this._registry = _registry; - this._injector = _injector; - this.onChange = function () { }; - this.onTouched = function () { }; - } - /** - * @return {?} - */ - RadioControlValueAccessor.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this._control = this._injector.get(NgControl); - this._checkName(); - this._registry.add(this._control, this); - }; - /** - * @return {?} - */ - RadioControlValueAccessor.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { this._registry.remove(this); }; - /** - * @param {?} value - * @return {?} - */ - RadioControlValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - this._state = value === this.value; - this._renderer.setProperty(this._elementRef.nativeElement, 'checked', this._state); - }; - /** - * @param {?} fn - * @return {?} - */ - RadioControlValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var _this = this; - this._fn = fn; - this.onChange = function () { - fn(_this.value); - _this._registry.select(_this); - }; - }; - /** - * @param {?} value - * @return {?} - */ - RadioControlValueAccessor.prototype.fireUncheck = /** - * @param {?} value - * @return {?} - */ - function (value) { this.writeValue(value); }; - /** - * @param {?} fn - * @return {?} - */ - RadioControlValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - RadioControlValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - /** - * @return {?} - */ - RadioControlValueAccessor.prototype._checkName = /** - * @return {?} - */ - function () { - if (this.name && this.formControlName && this.name !== this.formControlName) { - this._throwNameError(); - } - if (!this.name && this.formControlName) - this.name = this.formControlName; - }; - /** - * @return {?} - */ - RadioControlValueAccessor.prototype._throwNameError = /** - * @return {?} - */ - function () { - throw new Error("\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n "); - }; - RadioControlValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]', - host: { '(change)': 'onChange()', '(blur)': 'onTouched()' }, - providers: [RADIO_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - RadioControlValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - { type: RadioControlRegistry, }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["D" /* Injector */], }, - ]; }; - RadioControlValueAccessor.propDecorators = { - "name": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["E" /* Input */] },], - "formControlName": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["E" /* Input */] },], - "value": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["E" /* Input */] },], - }; - return RadioControlValueAccessor; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var RANGE_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* forwardRef */])(function () { return RangeValueAccessor; }), - multi: true -}; -/** - * The accessor for writing a range value and listening to changes that is used by the - * {\@link NgModel}, {\@link FormControlDirective}, and {\@link FormControlName} directives. - * - * ### Example - * ``` - * - * ``` - */ -var RangeValueAccessor = (function () { - function RangeValueAccessor(_renderer, _elementRef) { - this._renderer = _renderer; - this._elementRef = _elementRef; - this.onChange = function (_) { }; - this.onTouched = function () { }; - } - /** - * @param {?} value - * @return {?} - */ - RangeValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - this._renderer.setProperty(this._elementRef.nativeElement, 'value', parseFloat(value)); - }; - /** - * @param {?} fn - * @return {?} - */ - RangeValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); }; - }; - /** - * @param {?} fn - * @return {?} - */ - RangeValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - RangeValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - RangeValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]', - host: { - '(change)': 'onChange($event.target.value)', - '(input)': 'onChange($event.target.value)', - '(blur)': 'onTouched()' - }, - providers: [RANGE_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - RangeValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - ]; }; - return RangeValueAccessor; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes} checked by tsc - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var SELECT_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* forwardRef */])(function () { return SelectControlValueAccessor; }), - multi: true -}; -/** - * @param {?} id - * @param {?} value - * @return {?} - */ -function _buildValueString(id, value) { - if (id == null) - return "" + value; - if (value && typeof value === 'object') - value = 'Object'; - return (id + ": " + value).slice(0, 50); -} -/** - * @param {?} valueString - * @return {?} - */ -function _extractId(valueString) { - return valueString.split(':')[0]; -} -/** - * \@whatItDoes Writes values and listens to changes on a select element. - * - * Used by {\@link NgModel}, {\@link FormControlDirective}, and {\@link FormControlName} - * to keep the view synced with the {\@link FormControl} model. - * - * \@howToUse - * - * If you have imported the {\@link FormsModule} or the {\@link ReactiveFormsModule}, this - * value accessor will be active on any select control that has a form directive. You do - * **not** need to add a special selector to activate it. - * - * ### How to use select controls with form directives - * - * To use a select in a template-driven form, simply add an `ngModel` and a `name` - * attribute to the main `` tag. Like in the former example, you have the - * choice of binding to the `value` or `ngValue` property on the select's options. - * - * {\@example forms/ts/reactiveSelectControl/reactive_select_control_example.ts region='Component'} - * - * ### Caveat: Option selection - * - * Angular uses object identity to select option. It's possible for the identities of items - * to change while the data does not. This can happen, for example, if the items are produced - * from an RPC to the server, and that RPC is re-run. Even if the data hasn't changed, the - * second response will produce objects with different identities. - * - * To customize the default option comparison algorithm, ` - * - * - * - * compareFn(c1: Country, c2: Country): boolean { - * return c1 && c2 ? c1.id === c2.id : c1 === c2; - * } - * ``` - * - * Note: We listen to the 'change' event because 'input' events aren't fired - * for selects in Firefox and IE: - * https://bugzilla.mozilla.org/show_bug.cgi?id=1024350 - * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4660045/ - * - * * **npm package**: `\@angular/forms` - * - * \@stable - */ -var SelectControlValueAccessor = (function () { - function SelectControlValueAccessor(_renderer, _elementRef) { - this._renderer = _renderer; - this._elementRef = _elementRef; - /** - * \@internal - */ - this._optionMap = new Map(); - /** - * \@internal - */ - this._idCounter = 0; - this.onChange = function (_) { }; - this.onTouched = function () { }; - this._compareWith = __WEBPACK_IMPORTED_MODULE_1__angular_core__["_38" /* ɵlooseIdentical */]; - } - Object.defineProperty(SelectControlValueAccessor.prototype, "compareWith", { - set: /** - * @param {?} fn - * @return {?} - */ - function (fn) { - if (typeof fn !== 'function') { - throw new Error("compareWith must be a function, but received " + JSON.stringify(fn)); - } - this._compareWith = fn; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} value - * @return {?} - */ - SelectControlValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - this.value = value; - var /** @type {?} */ id = this._getOptionId(value); - if (id == null) { - this._renderer.setProperty(this._elementRef.nativeElement, 'selectedIndex', -1); - } - var /** @type {?} */ valueString = _buildValueString(id, value); - this._renderer.setProperty(this._elementRef.nativeElement, 'value', valueString); - }; - /** - * @param {?} fn - * @return {?} - */ - SelectControlValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var _this = this; - this.onChange = function (valueString) { - _this.value = _this._getOptionValue(valueString); - fn(_this.value); - }; - }; - /** - * @param {?} fn - * @return {?} - */ - SelectControlValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - SelectControlValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - /** @internal */ - /** - * \@internal - * @return {?} - */ - SelectControlValueAccessor.prototype._registerOption = /** - * \@internal - * @return {?} - */ - function () { return (this._idCounter++).toString(); }; - /** @internal */ - /** - * \@internal - * @param {?} value - * @return {?} - */ - SelectControlValueAccessor.prototype._getOptionId = /** - * \@internal - * @param {?} value - * @return {?} - */ - function (value) { - for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) { - var id = _a[_i]; - if (this._compareWith(this._optionMap.get(id), value)) - return id; - } - return null; - }; - /** @internal */ - /** - * \@internal - * @param {?} valueString - * @return {?} - */ - SelectControlValueAccessor.prototype._getOptionValue = /** - * \@internal - * @param {?} valueString - * @return {?} - */ - function (valueString) { - var /** @type {?} */ id = _extractId(valueString); - return this._optionMap.has(id) ? this._optionMap.get(id) : valueString; - }; - SelectControlValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]', - host: { '(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()' }, - providers: [SELECT_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - SelectControlValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - ]; }; - SelectControlValueAccessor.propDecorators = { - "compareWith": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["E" /* Input */] },], - }; - return SelectControlValueAccessor; -}()); -/** - * \@whatItDoes Marks ` - * - * - * compareFn(c1: Country, c2: Country): boolean { - * return c1 && c2 ? c1.id === c2.id : c1 === c2; - * } - * ``` - * - * \@stable - */ -var SelectMultipleControlValueAccessor = (function () { - function SelectMultipleControlValueAccessor(_renderer, _elementRef) { - this._renderer = _renderer; - this._elementRef = _elementRef; - /** - * \@internal - */ - this._optionMap = new Map(); - /** - * \@internal - */ - this._idCounter = 0; - this.onChange = function (_) { }; - this.onTouched = function () { }; - this._compareWith = __WEBPACK_IMPORTED_MODULE_1__angular_core__["_38" /* ɵlooseIdentical */]; - } - Object.defineProperty(SelectMultipleControlValueAccessor.prototype, "compareWith", { - set: /** - * @param {?} fn - * @return {?} - */ - function (fn) { - if (typeof fn !== 'function') { - throw new Error("compareWith must be a function, but received " + JSON.stringify(fn)); - } - this._compareWith = fn; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} value - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype.writeValue = /** - * @param {?} value - * @return {?} - */ - function (value) { - var _this = this; - this.value = value; - var /** @type {?} */ optionSelectedStateSetter; - if (Array.isArray(value)) { - // convert values to ids - var /** @type {?} */ ids_1 = value.map(function (v) { return _this._getOptionId(v); }); - optionSelectedStateSetter = function (opt, o) { opt._setSelected(ids_1.indexOf(o.toString()) > -1); }; - } - else { - optionSelectedStateSetter = function (opt, o) { opt._setSelected(false); }; - } - this._optionMap.forEach(optionSelectedStateSetter); - }; - /** - * @param {?} fn - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype.registerOnChange = /** - * @param {?} fn - * @return {?} - */ - function (fn) { - var _this = this; - this.onChange = function (_) { - var /** @type {?} */ selected = []; - if (_.hasOwnProperty('selectedOptions')) { - var /** @type {?} */ options = _.selectedOptions; - for (var /** @type {?} */ i = 0; i < options.length; i++) { - var /** @type {?} */ opt = options.item(i); - var /** @type {?} */ val = _this._getOptionValue(opt.value); - selected.push(val); - } - } - else { - var /** @type {?} */ options = /** @type {?} */ (_.options); - for (var /** @type {?} */ i = 0; i < options.length; i++) { - var /** @type {?} */ opt = options.item(i); - if (opt.selected) { - var /** @type {?} */ val = _this._getOptionValue(opt.value); - selected.push(val); - } - } - } - _this.value = selected; - fn(selected); - }; - }; - /** - * @param {?} fn - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype.registerOnTouched = /** - * @param {?} fn - * @return {?} - */ - function (fn) { this.onTouched = fn; }; - /** - * @param {?} isDisabled - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype.setDisabledState = /** - * @param {?} isDisabled - * @return {?} - */ - function (isDisabled) { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - }; - /** @internal */ - /** - * \@internal - * @param {?} value - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype._registerOption = /** - * \@internal - * @param {?} value - * @return {?} - */ - function (value) { - var /** @type {?} */ id = (this._idCounter++).toString(); - this._optionMap.set(id, value); - return id; - }; - /** @internal */ - /** - * \@internal - * @param {?} value - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype._getOptionId = /** - * \@internal - * @param {?} value - * @return {?} - */ - function (value) { - for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) { - var id = _a[_i]; - if (this._compareWith(/** @type {?} */ ((this._optionMap.get(id)))._value, value)) - return id; - } - return null; - }; - /** @internal */ - /** - * \@internal - * @param {?} valueString - * @return {?} - */ - SelectMultipleControlValueAccessor.prototype._getOptionValue = /** - * \@internal - * @param {?} valueString - * @return {?} - */ - function (valueString) { - var /** @type {?} */ id = _extractId$1(valueString); - return this._optionMap.has(id) ? /** @type {?} */ ((this._optionMap.get(id)))._value : valueString; - }; - SelectMultipleControlValueAccessor.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["s" /* Directive */], args: [{ - selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]', - host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' }, - providers: [SELECT_MULTIPLE_VALUE_ACCESSOR] - },] }, - ]; - /** @nocollapse */ - SelectMultipleControlValueAccessor.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["X" /* Renderer2 */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - ]; }; - SelectMultipleControlValueAccessor.propDecorators = { - "compareWith": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["E" /* Input */] },], - }; - return SelectMultipleControlValueAccessor; -}()); -/** - * Marks `