diff --git a/.sourcemaps/main.js.map b/.sourcemaps/main.js.map index a9c49065..c641eea2 100755 --- a/.sourcemaps/main.js.map +++ b/.sourcemaps/main.js.map @@ -1 +1 @@ -{"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/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/input/bounced-reject/bounced-reject.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/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConstantsProvider } from '../constants/constants';\r\n\r\n/*\r\n Generated class for the QuestionCategoryProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class QuestionCategoryProvider {\r\napiurl:any;\r\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\r\n console.log('Hello QuestionCategoryProvider Provider');\r\n this.apiurl = constant.apiurl();\r\n }\r\n \r\n \r\n getLoadTemplate(pdid)\r\n {\r\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\r\n }\r\n saveQusetion(saveData)\r\n {\r\n let records = {'records':[saveData]};\r\n return this.http.post(this.apiurl+'savePDQuestions',records);\r\n }\r\n\r\n \r\n getAnswerTemplate(qustDetails)\r\n {\r\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\r\n }\r\n\r\n /***\r\n * Get PD Questions dropdown api\r\n * sriram\r\n */\r\n getcommondrop(tableName)\r\n {\r\n let masters = {'master_name':tableName}\r\n return this.http.post(this.apiurl+'getListOfMaster',masters);\r\n }\r\n\r\n saveForm(records)\r\n { let record = {'records':records};\r\n return this.http.post(this.apiurl+'savePDFormDetails',record);\r\n }\r\n\r\n retiverForm(records)\r\n {\r\n return this.http.post(this.apiurl+'getPDFormDetails',records);\r\n }\r\n\r\n /**Assessed Form Details API */\r\n saveassessedForms(api,saveData)\r\n {\r\n return this.http.post(this.apiurl+api,saveData);\r\n }\r\n\r\n retiverassessedForm(api,records)\r\n {\r\n return this.http.post(this.apiurl+api,records);\r\n }\r\n\r\n updatePdApplicant(editData: any) {\r\n // editData.fk_updatedby = this._aws.getlocale();\r\n // editData.updatedon = currentdate;\r\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\r\n\r\n \r\n}\r\n\r\ngetEndUseForLoan(pdid:any){\r\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetCompaniesListsForBusiness(pdid:any){\r\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetStateWiseCities(stateid:any){\r\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\r\n}\r\ngetAllPersonsName(pdid:any){\r\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\r\n \r\n}\r\ngetStateCityDetails(){\r\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\r\n}\r\ngetAssetsWithLoanFromBusiness(pdid:any){\r\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\r\n\r\n}\r\n\r\n\r\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\r\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\r\n}\r\n\r\n/** For Stock Details \r\n * To Get The Products With TypeofActivity From Business \r\n **/\r\nstockFormAccess(pdid: any,companyid: any) {\r\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\r\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\r\n}\r\n\r\n\r\n\r\n/*****Save Images */\r\nsavePDImages(imagesDetails)\r\n{ \r\n let record = {'records':imagesDetails};\r\n return this.http.post(this.apiurl+'savePDPhotos',record);\r\n}\r\ngetFamilyDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdQuestionPage } from '../pd-question/pd-question';\r\nimport Chart from 'chart.js';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\r\n\r\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\r\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\r\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\r\n/**\r\n * Generated class for the PdQuestionCategoryPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-category',\r\n templateUrl: 'pd-question-category.html',\r\n})\r\nexport class PdQuestionCategoryPage {\r\n searchTempForm: any;\r\n searchQuestion: any;\r\n viewchange: boolean;\r\n templateAccess: boolean;\r\n bgColortempForm: any=[];\r\n bgColorqustCat: any=[];\r\n // @ViewChild('doughnutCanvas') doughnutCanvas;\r\n pdinfo: any;\r\nquestionList:any;\r\nquestionCate:any;\r\nquestionCateAccess:boolean = null;\r\nquestionfinishedList:any =[];\r\npddetails:any;\r\noverallqustioncountAccess:boolean = true;\r\ndoughnutChart: any;\r\ncompletedAccess:any;\r\nsearchitem:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\r\n this.pddetails = this.navParams.get('pdDetails');\r\n console.log(\"Pd\",this.pddetails);\r\n \r\n \r\n }\r\n\r\n ionViewCanEnter()\r\n {\r\n this.getcategoryList(); \r\n }\r\n // doughuntChart()\r\n // {\r\n // console.log(this.doughnutCanvas);\r\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\r\n \r\n // type: 'doughnut',\r\n // data: {\r\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\r\n // datasets: [{\r\n // label: '# of Votes',\r\n // data: [12],\r\n // backgroundColor: [\r\n // // 'rgba(255, 99, 132, 0.2)',\r\n // 'rgba(54, 162, 235, 0.2)',\r\n // // 'rgba(255, 206, 86, 0.2)',\r\n // // 'rgba(75, 192, 192, 0.2)',\r\n // // 'rgba(153, 102, 255, 0.2)',\r\n // // 'rgba(255, 159, 64, 0.2)'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\",\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\"\r\n // ]\r\n // }]\r\n // }\r\n\r\n // });\r\n // }\r\n ionViewDidLoad() {\r\n this.shared.refresh();\r\n //this.doughuntChart();\r\n console.log('ionViewDidLoad PdQuestionCategoryPage');\r\n }\r\n \r\n getcategoryList()\r\n {\r\n let j = 1;\r\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\r\n {\r\n this.questionCate = res;\r\n if(this.questionCate.dataStatus == true)\r\n {\r\n \r\n this.questionCate = this.questionCate.records;\r\n //console.log(this.questionCate.counts);\r\n this.random_ng_past(); \r\n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\r\n {\r\n this.questionCateAccess = true;\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchQuestion = this.questionCate.question_answers;\r\n\r\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)\r\n {\r\n this.overallqustioncountAccess = false;\r\n }else\r\n {\r\n this.overallqustioncountAccess = true;\r\n }\r\n \r\n //console.log(this.questionCate);\r\n \r\n \r\n \r\n // console.log(this.questionfinishedList);\r\n \r\n }else if(this.questionCate.template_forms!='')\r\n {\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchTempForm = this.questionCate.template_forms\r\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)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n }\r\n else\r\n {\r\n this.questionCateAccess = false;\r\n this.templateAccess = false; \r\n this.questionCate = \"No Template Available\";\r\n }\r\n }\r\n })\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.questionCate.question_answers){\r\n var a = Math.floor(Math.random() * 256);\r\n var b = Math.floor(Math.random() * 256);\r\n var c = Math.floor(Math.random() * 256);\r\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\r\n \r\n }\r\n for(let id of this.questionCate.template_forms){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n questionsTag(categroyId){\r\n \r\n this.pdinfo = this.pddetails; \r\n console.log('data',categroyId); \r\n \r\n console.log('pdinfo',this.pdinfo);\r\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\r\n //console.log(this.questionCate);\r\n // if(this.questionCate.questions.length !=\"0\"){\r\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\r\n \r\n // }else\r\n // {\r\n // this.getcategoryList();\r\n // this.toast.pdTriggerappmessage('No Question Available');\r\n // }\r\n }\r\n\r\n tempQustionTag(categroyId)\r\n {\r\n this.pdinfo = this.pddetails; \r\n console.log('data',categroyId); \r\n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\r\n if(categroyId ==5)\r\n {\r\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n \r\n }else if(categroyId==12){\r\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }else if(categroyId==10)\r\n {\r\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==8){\r\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==13)\r\n {\r\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n \r\n }else if(categroyId==7)\r\n {\r\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n\r\n }else if(categroyId==6)\r\n {\r\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==4){\r\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==9){\r\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==3){\r\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==11)\r\n {\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==14)\r\n {\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==2)\r\n {\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId ==17)\r\n {\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }\r\n else if(categroyId==16)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==15)\r\n {\r\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==18)\r\n {\r\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==19)\r\n {\r\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }\r\n else if(categroyId==20)\r\n {\r\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n }\r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n // this.questionCate = this.searchQuestion;\r\n // this.questionCate.template_forms = this.searchTempForm;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n console.log(this.searchQuestion);\r\n if(this.searchQuestion !== undefined){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\r\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n // return true;\r\n // }\r\n // })\r\n // console.log(this.questionCate);\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\r\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n// return true;\r\n// }\r\n// })\r\n console.log(this.questionCate);\r\n }\r\n }\r\n}\r\n completed()\r\n {\r\n let users = this.aws.getlocale();\r\n \r\n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\r\n \r\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.completedAccess = res;\r\n if(this.completedAccess.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage);\r\n }\r\n })\r\n }\r\n doRefresh(refresher) {\r\n this.questionCate = [];\r\n this.questionfinishedList = [];\r\n console.log('Begin async operation', refresher);\r\n this.shared.refresh();\r\n this.getcategoryList();\r\n setTimeout(() => {\r\n console.log('Async operation has ended');\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\n\r\n/**\r\n * Generated class for the OtpPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-otp',\r\n templateUrl: 'otp.html',\r\n})\r\nexport class OtpPage {\r\n\r\n \r\n timeLimit: any;\r\n reason_otp: any;\r\n users: any;\r\n timerOn: boolean = true;\r\n balance_time: string;\r\n otpStatus: any;\r\n pin:any;\r\n otpStatusAccess:boolean = true;\r\n applicatentDetails: any;\r\n commonImage:any;\r\n maxtime: any=30;\r\n \r\n reasonForm:FormGroup\r\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) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.reasonForm = this.fb.group(\r\n {\r\n reason:[null,Validators.compose([Validators.required])],\r\n others_reason:[null],\r\n })\r\n this.getDropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad OtpPage');\r\n }\r\n ionViewDidEnter(){\r\n //this.Menu.enable(false);\r\n this.timer(120);\r\n }\r\n ionViewWillLeave(){\r\n //this.Menu.enable(true);\r\n clearTimeout(this.timeLimit);\r\n }\r\n getDropdown()\r\n {\r\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\r\n console.log(this.reason_otp);\r\n \r\n }\r\n })\r\n }\r\n checkotp(otp)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n console.log(\"Otp\",res)\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }\r\n\r\n timer(remaining) {\r\n // console.log(remaining);\r\n let m:any = Math.floor(remaining / 60);\r\n let s:any = remaining % 60;\r\n \r\n m = m < 10 ? '0' + m : m;\r\n s = s < 10 ? '0' + s : s;\r\n // var balance_time = m + ':' + s;\r\n this.balance_time = m + ':' + s;\r\n remaining -=1;\r\n // console.log(this.balance_time);\r\n if(remaining >= 0 && this.timerOn) {\r\n this.timeLimit = setTimeout(()=> {\r\n this.timer(remaining);\r\n }, 1000);\r\n return;\r\n }\r\n \r\n if(!this.timerOn) {\r\n // Do validate stuff here\r\n return;\r\n }\r\n \r\n // Do timeout stuff here\r\n this.users = this.aws.getlocale();\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'OTP Expired ',\r\n message: 'Do you want sure resend OTP',\r\n buttons: [\r\n {\r\n text: 'OTP Without Start',\r\n \r\n handler: () => {\r\n \r\n this.otpStatusAccess = false;\r\n }\r\n },\r\n {\r\n text: 'Resend OTP',\r\n handler: () => {\r\n \r\n \r\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users};\r\n console.log(data);\r\n this.pddetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n \r\n })\r\n // console.log('Buy clicked');\r\n \r\n } \r\n }\r\n \r\n ]\r\n });\r\n alert.present();\r\n }\r\n \r\n saveotpreasno()\r\n {\r\n console.log(this.reasonForm.value);\r\n if(this.reasonForm.valid)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Camera } from '@ionic-native/camera';\r\n/*\r\n Generated class for the CameraProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class CameraProvider {\r\n\r\n constructor(public http: HttpClient,public camera:Camera) {\r\n console.log('Hello CameraProvider Provider');\r\n }\r\n getpicture() \r\n {\r\n const options = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 500,\r\n correctOrientation: true\r\n };\r\n\r\n // If set to crop, restricts the image to a square of 600 by 600\r\n \r\n\r\n return this.camera.getPicture(options).then(imageData => {\r\n const base64Image = 'data:image/png;base64,' + imageData;\r\n // console.log(base64Image);\r\n return base64Image;\r\n }, error => {\r\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionSupplierInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-supplier-info',\r\n templateUrl: 'pd-question-supplier-info.html',\r\n})\r\n\r\nexport class PdQuestionSupplierInfoPage {\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n company_id: any;\r\n form_id: any;\r\n questionDetails: any;\r\n supplierInfoForm: FormGroup;\r\n\r\n business_manufacturingProducts: any = [];\r\n business_tradingProducts: any = [];\r\n m_titleList: any = [];\r\n m_paymentList: any = [];\r\n m_companyRelationShipList: any = [];\r\n\r\n noRecordsFound: Boolean = false;\r\n public submitted = false;\r\n errorMessage: any = '';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider) {\r\n\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id = this.pdDetails.company_id;\r\n this.users = this.aws.getlocale();\r\n\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropList();\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\r\n }\r\n\r\n\r\n serviceProviderForm: Boolean = false;\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdDetails.pd_id;\r\n params.pd_form_id = this.form_id;\r\n params.company_id = this.company_id;\r\n\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus'] == true) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\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);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n this.initTradingProductsDetails(api_trading_products);\r\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);\r\n }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\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);\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [''],\r\n manufacturing_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: [''],\r\n manufacturing_frequency_of_purchase: [''],\r\n person_stdcode: [''],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [''],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\r\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\r\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\r\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\r\n person_stdcode: [records.person_stdcode || null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline || null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n person_title_name: [records.person_title_name],\r\n person_designation: [records.person_designation],\r\n other_person_designation: [records.other_person_designation],\r\n trade_supplier_name: [records.trade_supplier_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\r\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [records.person_stdcode],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.m_companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n\r\n saveSupplierInfo(FormValues) {\r\n\r\n var answerFormValues = FormValues;\r\n\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n e == 1 ? '' : '';\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n e == 1 ? '' : '';\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n checkCard(e, flag, index) {\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n }\r\n\r\n selectedPaymentTerms(items, e, flag) {\r\n if (flag == 2) {\r\n if (e == 3) {\r\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\r\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['trade_product_credit_days_from'].clearValidators();\r\n items.controls['trade_product_credit_days_from'].setValue('');\r\n items.controls['trade_product_credit_days_to'].clearValidators();\r\n items.controls['trade_product_credit_days_to'].setValue('');\r\n }\r\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\r\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\r\n }\r\n else if (flag == 1) {\r\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\r\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['manufacturing_credit_days_from'].clearValidators();\r\n items.controls['manufacturing_credit_days_from'].setValue('');\r\n items.controls['manufacturing_credit_days_to'].clearValidators();\r\n items.controls['manufacturing_credit_days_to'].setValue('');\r\n }\r\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\r\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\r\n }\r\n }\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionStockInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-stock-info',\r\n templateUrl: 'pd-question-stock-info.html',\r\n})\r\nexport class PdQuestionStockInfoPage {\r\n\r\n uomData: any;\r\n rawmaterial: any;\r\n users: any;\r\n formDetails: any;\r\n pdDetails: any;\r\n company_id : any;\r\n pdid:any;\r\n stockForm: FormGroup;\r\n noRecordsFound: Boolean;\r\n errorMessage: any = '';\r\n M_rawValueInWords : any = []; \r\n M_goodsValueInWords : any = [];\r\n R_tradedGoodsValueInWords : any = [];\r\n T_tradedGoodsValueInWords : any = [];\r\n mrmCommentFlag:any=[];\r\n mfgCommentFlag:any=[];\r\n rtrdCommentFlag:any=[];\r\n wtrdCommentFlag:any=[];\r\n serviceProviderForm: Boolean = false;\r\n suppliers_raw_materials : any = [];\r\n suppliers_retail_trade_details : any = [];\r\n suppliers_wholesale_trade_details : any = [];\r\n suppliers_finished_goods : any =[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.pdid=this.pdDetails.pd_id;\r\n this.qustCat.stockFormAccess(this.pdid,this.company_id).subscribe(data => {\r\n if(data.dataStatus == true){\r\n this.initstockForm(data.record);\r\n }\r\n else if(data.dataStatus == false)\r\n {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropdown();\r\n }\r\n\r\n public initstockForm(record){\r\n let api = Object.keys(record.from_business).map(function (key) {\r\n return record.from_business[key];\r\n });\r\n let rm_api = record.from_supplier;\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(value => {\r\n if (value['status'] == 200) {\r\n let dataForm = value['records']; \r\n if(dataForm !== undefined) {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [dataForm.stock_remarks],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(api)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(api)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n let manufacturing_temparr = [];\r\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials; \r\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods; \r\n this.initManufacturingDetails(manufacturing_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n let retail_temparr = [];\r\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\r\n this.initRetailDetails(retail_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n let trading_temparr = [];\r\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\r\n this.initTradingDetails(trading_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n else{\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(record.from_business)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record.from_business)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.suppliers_finished_goods = val.products;\r\n this.initManufacturingDetails(null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.suppliers_wholesale_trade_details =val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(record.from_business)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record.from_business)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.suppliers_finished_goods = val.products;\r\n this.suppliers_raw_materials = rm_api;\r\n this.initManufacturingDetails(null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.suppliers_retail_trade_details= val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n } \r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\r\n }\r\n\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if(data['dataStatus']==true){\r\n this.uomData = data['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(record) {\r\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let rm_arr = record.from_supplier;\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n retailForm: Boolean = false;\r\n retailFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3);\r\n if (arr.length > 0) {\r\n // if(arr.products != undefined){\r\n this.retailForm = true;\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n }); \r\n // }else{\r\n // this.retailForm = false;\r\n // return;\r\n // } \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // console.log('val',val);\r\n // console.log('tradingForm',this.tradingForm);\r\n let arr = val.filter(data => data.type_of_activity_id == 4);\r\n \r\n if (arr.length > 0) {\r\n // console.log(arr.products);\r\n // if(arr.products === undefined){\r\n // console.log(arr.products);\r\n // this.tradingForm = false;\r\n // return;\r\n // }\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n }); \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingDetails(datas) {\r\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; \r\n if(datas === null){\r\n if(this.suppliers_raw_materials.length > 0){\r\n this.suppliers_raw_materials.forEach(val => {\r\n let Ref_RawMaterials : any = {'raw_name': val,\r\n 'stock_observed':'',\r\n 'raw_quantity': '',\r\n 'raw_uom': '',\r\n 'other_uom': '',\r\n 'raw_value': '',\r\n 'is_sufficiant_raw': '',\r\n 'rawmaterial_remarks':''};\r\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials)); \r\n });\r\n }\r\n else{ \r\n rawMaterial.push(this.createRawmaterial(null)); \r\n } \r\n if(this.suppliers_finished_goods.length > 0){\r\n this.suppliers_finished_goods.forEach(val => {\r\n let Ref_Finished_Goods : any = {'goods_name': val,\r\n 'goods_observed': '',\r\n 'goods_quantity': '',\r\n 'goods_uom': '',\r\n 'goods_other_uom': '',\r\n 'goods_value': '',\r\n 'is_sufficiant_goods': '',\r\n 'finishedgoods_remarks':''};\r\n finishedGoods.push(this.createGoods(Ref_Finished_Goods)); \r\n });\r\n }\r\n else{ \r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n } else {\r\n if(datas.manufacturing_raw_materials != undefined){\r\n datas.manufacturing_raw_materials.forEach((val,index) => {\r\n if(val.raw_value){\r\n this.inWords(val.raw_value,1,index);\r\n }\r\n this.checkComments(val.is_sufficiant_raw,1,index);\r\n rawMaterial.push(this.createRawmaterial(val)); \r\n });\r\n }\r\n else{\r\n rawMaterial.push(this.createRawmaterial(null)); \r\n }\r\n if(datas.manufacturing_finished_goods != undefined){ \r\n datas.manufacturing_finished_goods.forEach((val,index) => {\r\n if(val.goods_value){\r\n this.inWords(val.goods_value,2,index);\r\n }\r\n this.checkComments(val.is_sufficiant_goods,2,index);\r\n finishedGoods.push(this.createGoods(val)); \r\n \r\n });\r\n }\r\n else{\r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createRawmaterial(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n raw_name: [''],\r\n stock_observed:[''],\r\n raw_quantity: [''],\r\n raw_uom: [''],\r\n other_uom : [''],\r\n raw_value: [''],\r\n is_sufficiant_raw: [''],\r\n rawmaterial_remarks:['']\r\n })\r\n } else { \r\n return this.fb.group({\r\n raw_name: [records.raw_name],\r\n stock_observed:[records.stock_observed],\r\n raw_quantity: [records.raw_quantity],\r\n raw_uom: [records.raw_uom],\r\n other_uom : [records.other_uom],\r\n raw_value: [records.raw_value],\r\n is_sufficiant_raw: [records.is_sufficiant_raw],\r\n rawmaterial_remarks:[records.rawmaterial_remarks]\r\n })\r\n }\r\n }\r\n \r\n initRetailDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n if(datas === null){\r\n if(this.suppliers_retail_trade_details.length > 0){\r\n // this.rawMaterialAccess = true;\r\n this.suppliers_retail_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n } else {\r\n if(datas.retail_traded_goods !== undefined){\r\n datas.retail_traded_goods.forEach((val,index) => {\r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,3,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,3,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n\r\n createGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n goods_name: [''],\r\n goods_observed: [''],\r\n goods_quantity: [''],\r\n goods_uom: [''],\r\n goods_other_uom: [''],\r\n goods_value: [''],\r\n is_sufficiant_goods: [''],\r\n finishedgoods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n goods_name: [records.goods_name],\r\n goods_observed: [records.goods_observed],\r\n goods_quantity: [records.goods_quantity],\r\n goods_uom: [records.goods_uom],\r\n goods_other_uom: [records.goods_other_uom],\r\n goods_value: [records.goods_value],\r\n is_sufficiant_goods: [records.is_sufficiant_goods],\r\n finishedgoods_remarks:[records.finishedgoods_remarks]\r\n })\r\n }\r\n }\r\n\r\n initTradingDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; \r\n if(datas === null){\r\n if(this.suppliers_wholesale_trade_details.length > 0){\r\n this.suppliers_wholesale_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n\r\n } else {\r\n if(datas.trading_traded_goods !==undefined)\r\n {\r\n datas.trading_traded_goods.forEach((val,index) => { \r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,4,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,4,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createTradedGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n traded_goods_name: [''],\r\n traded_goods_observed: [''],\r\n traded_goods_quantity: [''],\r\n traded_goods_uom: [''],\r\n traded_goods_other_uom: [''],\r\n estimated_traded_goods_value: [''],\r\n is_sufficiant_traded_goods: [''],\r\n traded_goods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n traded_goods_name: [records.traded_goods_name],\r\n traded_goods_observed: [records.traded_goods_observed],\r\n traded_goods_quantity: [records.traded_goods_quantity],\r\n traded_goods_uom: [records.traded_goods_uom],\r\n traded_goods_other_uom: [records.traded_goods_other_uom],\r\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\r\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\r\n traded_goods_remarks:[records.traded_goods_remarks]\r\n })\r\n }\r\n }\r\n \r\n /** Manufacturing -> To Add More Raw Material Details */\r\n addRawMaterials(flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.push(this.createRawmaterial(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Raw Material Details */\r\n deleteRawMaterials(index,flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Finished Goods */\r\n addGoods(flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.push(this.createGoods(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Finished Goods */\r\n deleteGoods(index,flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To Add More trade Goods\r\n * Case 2 wholesale Traded -> To Add More trade Goods\r\n */\r\n addTradedGoods(flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To remove trade Goods\r\n * Case 2 wholesale Traded -> To remove trade Goods\r\n */\r\n deleteTradedGoods(index,flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n \r\n //const control = this.stockForm.controls['traded_goods'];\r\n\r\n }\r\n\r\n checkComments(e,flag,index){\r\n if(flag == 1 && e=='no'){\r\n this.mrmCommentFlag[index] = true;\r\n }\r\n else if(flag == 1 && e!='no'){\r\n this.mrmCommentFlag[index] = false;\r\n }\r\n if(flag == 2 && e=='no'){\r\n this.mfgCommentFlag[index] = true;\r\n }\r\n else if(flag == 2 && e!='no'){\r\n this.mfgCommentFlag[index] = false;\r\n }\r\n if(flag == 3 && e=='no'){\r\n this.rtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 3 && e!='no'){\r\n this.rtrdCommentFlag[index] = false;\r\n }\r\n if(flag == 4 && e=='no'){\r\n this.wtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 4 && e!='no'){\r\n this.wtrdCommentFlag[index] = false;\r\n }\r\n }\r\n\r\n /** To Save/Edited Popup Data */\r\n saveStockInfo(answerFormValues) {\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if(responsed['status'] == 200) { \r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }else{\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); \r\n }\r\n });\r\n }\r\n\r\n inWords(e,flag:number,i){\r\n switch(flag){\r\n case 1 :\r\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 2 : \r\n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 3 : \r\n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 4 : \r\n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n}\r\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 } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\r\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionFinancialInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-financial-info',\r\n templateUrl: 'pd-question-financial-info.html',\r\n})\r\nexport class PdQuestionFinancialInfoPage {\r\n \r\n public financialForm: FormGroup;\r\n\r\n pdDetails:any;\r\n FormId:any;\r\n users:any;\r\n company_id:any;\r\n isDisplay:boolean;\r\n customerCommentsFlag:boolean;\r\n FY_annualSalesInwords: any =[]\r\n FY_netProfitAmtInwords: any=[]\r\n FY_netLossAmtInwords: any=[]\r\n AV_annualSalesInwords: any=[]\r\n AV_netProfitAmtInwords: any=[]\r\n AV_netLossAmtInwords: any=[]\r\n AV_netProfitAmtFrmInwords: any=[]\r\n AV_netProfitAmtToInwords: any=[]\r\n AV_netLossAmtFrmInwords: any=[]\r\n AV_netLossAmtToInwords: any=[]\r\n AV_SalesFrmInwords: any=[]\r\n AV_SalesToInwords: any=[]\r\n AV_SalesInwords: any=[];\r\n AV_marginProfitAmtInwords: any=[];\r\n AV_marginLossAmtInwords: any=[];\r\n formDetails: any;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.FormId = this.formDetails.form_id;\r\n // this.FormId=this.navParams.get('FormId');\r\n this.company_id=this.pdDetails.company_id\r\n this.users=this.aws.getlocale();\r\n console.log(\"Pd\",this.pdDetails);\r\n console.log(\"Form \",this.FormId)\r\n this.initFinancialForm()\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\r\n this.getDetails()\r\n }\r\n\r\n selectedStatement(e :any):void{\r\n\r\n if(e == 'yes'){\r\n\r\n this.isDisplay = true;\r\n this.financialForm.controls['is_financial_customer'].setValue('');\r\n \r\n }\r\n else if(e == 'no'){\r\n\r\n this.isDisplay = false;\r\n this.financialForm.controls['is_financial_customer'].setValue('no');\r\n // this.selectedFinancialCustomer('no');\r\n \r\n const statementControl = this.financialForm.controls['date_per_financial'];\r\n \r\n while (statementControl.length !== 0) {\r\n statementControl.removeAt(0);\r\n }\r\n\r\n this.financialForm.controls['financial_starting_year'].setValue('');\r\n this.financialForm.controls['financial_no_of_year'].setValue('');\r\n\r\n // alert((new Date()).getFullYear());\r\n // let year1 = (new Date()).getFullYear();\r\n // let year2 = ((new Date()).getFullYear() + 1); \r\n // let Year = year1 +'-'+ year2;\r\n \r\n }\r\n\r\n}\r\n /** fin customer data from Fin statement*/\r\n selectedFinancialCustomer(e: any): void {\r\n if(e == 'yes'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n }\r\n else if (e == 'no'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n }\r\n }\r\n\r\n selectedProfitOrLossType(e,detail){\r\n \r\n if(e.value == 1){\r\n detail.controls.financial_net_loss.setValue('');\r\n detail.controls.financial_margin_of_loss.setValue('');\r\n }\r\n else if(e.value == 2){\r\n detail.controls.financial_net_profit.setValue('');\r\n detail.controls.financial_margin_of_profit.setValue('');\r\n }\r\n}\r\n\r\n\r\n /** For Auto-generating FinYear */\r\n dynamicalFinYear($event){\r\n \r\n let e = $event.target.value;\r\n if(e == 1){\r\n this.customerCommentsFlag = false;\r\n }\r\n else{\r\n this.customerCommentsFlag = true;\r\n }\r\n\r\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\r\n\r\n const control = this.financialForm.controls['date_per_financial'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\r\n control.push(this.createDate(Year));\r\n }\r\n }\r\n}\r\n\r\n\r\n initFinancialForm(){\r\n this.financialForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n company_id: this.company_id,\r\n fk_createdby: this.users,\r\n financial_remarks: [''],\r\n is_financial_statements:[''],\r\n is_financial_customer:[''],\r\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n financial_no_of_year : [''],\r\n financial_reason: [''],\r\n financial_customer:[''],\r\n // same_as_financial_statements:[''],\r\n date_per_financial: this.fb.array([]),\r\n estimated_value: this.fb.array([])\r\n });\r\n }\r\n createDate(date){\r\n return this.fb.group({\r\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\r\n finanical_profit_or_loss:[''],\r\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_margin_of_profit: [''],\r\n financial_margin_of_loss: [''],\r\n financial_variation: [''],\r\n financial_profit_to_sale_variation:[''],\r\n financial_annualsales_variation : [''],\r\n })\r\n }\r\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\r\n createValue(date) {\r\n return this.fb.group({\r\n \r\n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n estimate_sales_from: [''],\r\n estimate_sales_to: [''],\r\n estimate_sales_average: [''],\r\n estimate_profit_or_loss:[''],\r\n estimate_net_margin_availablity:[''],\r\n estimate_profit_range_from:[''],\r\n estimate_profit_range_to:[''],\r\n estimate_profit_margin_percent:[''],\r\n estimate_profit_margin:[''],\r\n estimate_net_profit_from:[''],\r\n estimate_net_profit_to:[''],\r\n estimate_net_profit_percent:[''],\r\n estimate_net_profit:[''],\r\n estimate_loss_range_from:[''],\r\n estimate_loss_range_to:[''],\r\n estimate_loss_margin_percent:[''],\r\n estimate_loss_margin:[''],\r\n estimate_net_loss_from:[''],\r\n estimate_net_loss_to:[''],\r\n estimate_net_loss_percent:[''],\r\n estimate_net_loss:[''],\r\n estimate_reason_for_loss:['']\r\n\r\n });\r\n}\r\nsubmitDetails(){\r\n \r\n \r\n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n}\r\n let records=this.financialForm.value;\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n if(res['status']== 200){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop()\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\r\n })\r\n}\r\n getDetails(){\r\n const financeDate=this.financialForm.controls['date_per_financial']\r\n //financeDate.push(this.createDate(''))\r\n const estimate= this.financialForm.controls['estimated_value']\r\n //estimate.push(this.createValue(''))\r\n let params:any={}\r\n params.pd_id=this.pdDetails.pd_id\r\n params.pd_form_id=this.FormId\r\n params.company_id=this.company_id\r\n this.qustCat.retiverForm(params).subscribe(value=>{\r\n if(value['dataStatus']==true){\r\n let retrieveData=value['records'];\r\n if(value['records'].is_financial_statements == 'yes'){\r\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\r\n return value['records'].date_per_financial[key]\r\n })\r\n if(result.length>0){\r\n this.customerCommentsFlag=result.length == 1 ? false : true\r\n result.forEach((val,index)=>{\r\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\r\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\r\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\r\n financeDate.push(this.createDate(''));\r\n });\r\n retrieveData.date_per_financial=result;\r\n }\r\n else{\r\n financeDate.push(this.createDate(''))\r\n }\r\n }\r\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\r\n return value['records'].estimated_value[key]\r\n });\r\n if(result_val.length>0){\r\n result_val.forEach((val,index)=>{\r\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\r\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\r\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\r\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\r\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\r\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\r\n estimate.push(this.createValue(''))\r\n });\r\n retrieveData.estimated_value=result_val\r\n }\r\n else{\r\n estimate.push(this.createValue(''));\r\n }\r\n retrieveData.pdid=this.pdDetails.pd_id\r\n retrieveData.company_id=this.company_id\r\n retrieveData.fk_createdby=this.users\r\n retrieveData.formid=this.FormId\r\n this.financialForm.setValue(retrieveData)\r\n }\r\n else {\r\n //financial_date.push(this.createDate());\r\n //estimated_val.push(this.createValue(''));\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * New Calculation for Finanical Statement \r\n **/\r\n calculationForFinanicalStatement(){\r\n \r\n let parentArray = this.financialForm.controls['date_per_financial'];\r\n // let prev_annual_sale : any = '';\r\n // let prev_profit_margin : any = '';\r\n // let prev_loss_margin : any = '';\r\n // let prev_profit_amt : any = '';\r\n // let prev_loss_amt : any = '';\r\n // let profit_margin : any = '';\r\n // let loss_margin : any = '';\r\n // let annual_sale : any = '';\r\n // let profit_amt : any = '';\r\n // let loss_amt : any = '';\r\n let prev_annual_sale : any = '';\r\n let prev_profit_margin : any = [];\r\n let prev_loss_margin : any = [];\r\n let prev_profit_amt : any = '';\r\n let prev_loss_amt : any = '';\r\n let profit_margin : any = '';\r\n let loss_margin : any = '';\r\n let annual_sale : any = '';\r\n let profit_amt : any = '';\r\n let loss_amt : any = '';\r\n\r\n parentArray.value.forEach((val,index) => {\r\n\r\n let childArray : any = parentArray.controls[index];\r\n annual_sale = val.financial_annual_sale;\r\n \r\n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \r\n * Label name = \" Sale Variation from Previous Year in % \"\r\n */\r\n \r\n if (index != 0) { \r\n if(annual_sale != ''){\r\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\r\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\r\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\r\n }\r\n }\r\n else{\r\n childArray.controls.financial_annualsales_variation.setValue(0.00);\r\n }\r\n \r\n\r\n prev_annual_sale = annual_sale;\r\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\r\n\r\n\r\n profit_amt = val.financial_net_profit;\r\n loss_amt = val.financial_net_loss;\r\n\r\n /** Calculating Profit's Variation - STARTS HERE\r\n * Label name = \"Profit Variation from Previous Year in %\"\r\n */\r\n if((profit_amt != '' || loss_amt != '') && index != 0) {\r\n if(+profit_amt > +annual_sale){\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n } \r\n else{\r\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\r\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\r\n\r\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; \r\n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\r\n childArray.controls.financial_variation.setValue(final_variation);\r\n\r\n }\r\n }\r\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\r\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\r\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \r\n * Label name = \"Net Profit to Sales in % (or) Net Loss to Sales in % \r\n **/\r\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\r\n \r\n if(SelectedlossOrProfit == 1){\r\n\r\n loss_margin = '';\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_profit != '') {\r\n if(+profit_amt>+annual_sale){\r\n // alert(\"profit is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"profit is greater than Annual Sale \")\r\n childArray.controls.financial_net_profit.setValue(0);\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\r\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\r\n \r\n }\r\n }\r\n }\r\n else if(SelectedlossOrProfit == 2){\r\n profit_margin = '';\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_loss != '') {\r\n if(+val.financial_net_loss>+annual_sale){\r\n // alert(\"Loss is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"Loss is greater than Annual Sale \")\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n if(+loss_amt>+annual_sale){\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n \r\n\r\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\r\n\r\n\r\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\r\n \r\n }\r\n }\r\n }\r\n\r\n prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\r\n prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\r\n \r\n // if(index != 0 ){\r\n \r\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; \r\n \r\n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\r\n \r\n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\r\n\r\n // }\r\n\r\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Sales's Profit Variation \r\n * Label name = \"Variation of Profit % over sales\"\r\n **/\r\n \r\n if ((profit_margin != '' || loss_margin != '') && index != 0) {\r\n \r\n\r\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\r\n profit_margin = profit_margin !== undefined ? profit_margin:0;\r\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\r\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\r\n\r\n \r\n if(annual_sale != ''){\r\n\r\n \r\n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\r\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\r\n let c = b * 100;\r\n \r\n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\r\n \r\n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\r\n }\r\n }\r\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\r\n\r\n\r\n });\r\n }\r\n\r\n confirmAlert(i, details){\r\n\r\n let estimate_sales_from = +details.value.estimate_sales_from;\r\n let estimate_sales_to = +details.value.estimate_sales_to;\r\n\r\n if (estimate_sales_from != null && estimate_sales_to != null){\r\n \r\n if(+estimate_sales_from>+estimate_sales_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_sales_to.setValue('');\r\n details.controls.estimate_sales_average.setValue('');\r\n return;\r\n }\r\n\r\n let C = (estimate_sales_to - estimate_sales_from)\r\n let D = (C / estimate_sales_from) * 100;\r\n \r\n if(estimate_sales_from <= 5000000){\r\n if(D > 20){\r\n var r = confirm(\"Given Sales Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\r\n if(D > 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 10000000){\r\n if(D > 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n\r\n // if(D >= 30){\r\n // var r = confirm(\"Given Sales Range is greater than 30%\");\r\n // if (r == true) {\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \r\n // }else{\r\n // details.controls.estimate_sales_to.setValue('');\r\n // return;\r\n // }\r\n // }\r\n // else{\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\r\n // }\r\n }\r\n this.calculateSalesAverage(i, details);\r\n }\r\n\r\n calculateSalesAverage(i, details){\r\n \r\n let estimate_sales_from = details.value.estimate_sales_from;\r\n let estimate_sales_to = details.value.estimate_sales_to;\r\n\r\n if(estimate_sales_from != '' && estimate_sales_to != ''){\r\n\r\n let range1 = +estimate_sales_from/10;\r\n \r\n let lower = (+estimate_sales_from)+range1;\r\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\r\n\r\n if(lower > higer){\r\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue('');\r\n }\r\n\r\n }\r\n calculateMarginProfit( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\r\n if(+estimate_profit_range_from > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_profit_range_to = details.value.estimate_profit_range_to;\r\n \r\n if(+estimate_profit_range_to > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n\r\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\r\n if(+estimate_profit_range_from>+estimate_profit_range_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \r\n let Profit_Average = (profit_percent*sales_average)/100;\r\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n }else{\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n }\r\n \r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\r\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n calculateProfitAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n //alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\r\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\r\n\r\n if(+estimate_net_profit_to>+sales_average){\r\n \r\n //alert(\"Given Profit is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n\r\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\r\n if(+estimate_net_profit_from>+estimate_net_profit_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n \r\n let C = (estimate_net_profit_to - estimate_net_profit_from)\r\n let D = (C / estimate_net_profit_from) * 100;\r\n \r\n let range1 = +estimate_net_profit_from/10;\r\n \r\n let lower = (+estimate_net_profit_from)+range1;\r\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\r\n\r\n if(estimate_net_profit_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_profit_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n \r\n }\r\n \r\n}\r\n\r\ncalculateMarginLoss( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n // else{\r\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\r\n if(+estimate_loss_range_from > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_loss_range_to = details.value.estimate_loss_range_to;\r\n if(+estimate_loss_range_to > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n\r\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\r\n \r\n if(+estimate_loss_range_from>+estimate_loss_range_to){\r\n //alert(\"Given Loss Percent is more than 100\");\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n \r\n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\r\n let loss_Average = (loss_percent*sales_average)/100;\r\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\r\n\r\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\r\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\r\n \r\n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n \r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }else{\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n } \r\n \r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }\r\n\r\n}\r\n\r\n\r\ncalculateLossAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\r\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\r\n\r\n if(+estimate_net_loss_to > +sales_average){\r\n \r\n // alert(\"Given Loss is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\r\n if(+estimate_net_loss_from > +estimate_net_loss_to){\r\n //alert(\"Given To value is Lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n \r\n // if(+estimate_net_loss_to > +estimate_net_loss_from){\r\n // alert(\"loss is greater than sales\");\r\n // details.controls.estimate_net_loss_to.setValue('');\r\n // details.controls.estimate_net_loss.setValue('');\r\n // details.controls.estimate_net_loss_percent.setValue('');\r\n // return;\r\n // }\r\n \r\n \r\n let C = (estimate_net_loss_to - estimate_net_loss_from)\r\n let D = (C / estimate_net_loss_from) * 100;\r\n \r\n let range1 = +estimate_net_loss_from/10;\r\n \r\n let lower = (+estimate_net_loss_from)+range1;\r\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\r\n\r\n if(estimate_net_loss_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_loss_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n \r\n }\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n \r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n\r\n \r\n\r\n\r\n \r\n\r\n /** On Key Press Event For Input Field */\r\n keyPress(event: any) {\r\n //const pattern = /[0-9\\-\\.\\ ]/;\r\n const pattern = /[0-9\\.]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n\r\n switch(flag){\r\n case 1 :\r\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\r\n break;\r\n case 2 : \r\n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\r\n break;\r\n case 3 : \r\n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\r\n break;\r\n case 4 : \r\n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 : \r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 6 : \r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 7 : \r\n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 8 : \r\n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 9 : \r\n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 10 : \r\n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 11 : \r\n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 12 : \r\n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionClientInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-client-info',\r\n templateUrl: 'pd-question-client-info.html',\r\n})\r\nexport class PdQuestionClientInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n pdid: any;\r\n company_id: any;\r\n questionDetails: any;\r\n clientInfoForm: FormGroup;\r\n\r\n\r\n\r\n\r\n public submitted = false;\r\n\r\n public m_paymentType = [];\r\n\r\n companyRelationShipList: any = [];\r\n\r\n titleList: any = [];\r\n noRecordsFound: Boolean = false;\r\n errorMessage: any = '';\r\n m_manufacturingProducts: any = [];\r\n m_tradingProducts: any = [];\r\n m_suplierProducts: any = [];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid = this.pdDetails.pd_id;\r\n this.company_id = this.pdDetails.company_id;\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\r\n\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n });\r\n\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\r\n }\r\n\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus']) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n // Load form details for manufacturing\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\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);\r\n }\r\n\r\n // Load form details for the wholeshale trading details\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n\r\n this.initTradingProductsDetails(api_trading_products);\r\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);\r\n }\r\n\r\n // Load form details for the service provider prduct details \r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n // return dataForm.service_products[key];\r\n // });\r\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\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);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n return dataForm.service_products[key];\r\n });\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.initServiceProviderProductsDetails(null);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // let arr = val.filter(data => data.type_of_activity_id == 4);\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n serviceProviderForm: Boolean = false;\r\n serviceProviderFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 5);\r\n if (arr.length > 0) {\r\n this.serviceProviderForm = true;\r\n return this.fb.group({\r\n service_products: this.fb.array([]),\r\n service_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initManufacturingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_product_name: [''],\r\n manufacturing_client_name: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n // manufacturing_credit_days: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_product_name: [records.manufacturing_product_name || null],\r\n manufacturing_client_name: [records.manufacturing_client_name || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\r\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initTradingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_client_name: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n trade_client_name: [records.trade_client_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n initServiceProviderProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n if (datas === null) {\r\n control.push(this.initServiceProviderProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\r\n control.push(this.initServiceProviderProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initServiceProviderProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initServiceProviderProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n service_provider_product_name: [''],\r\n service_provider_client_name: [''],\r\n service_provider_product_contact_person_name: [''],\r\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [''],\r\n service_provider_product_payment_mode: [''],\r\n service_provider_product_frequency_of_purchase: [''],\r\n service_provider_product_credit_days_from: [''],\r\n service_provider_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n service_provider_product_name: [records.service_provider_product_name],\r\n service_provider_client_name: [records.service_provider_client_name],\r\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\r\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\r\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\r\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\r\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\r\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoreServiceProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n\r\n control.push(this.initServiceProviderProducts(null));\r\n }\r\n\r\n removeServiceProduct(inx): void {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n // saveclientDetails(answerData)\r\n // {\r\n // let records:any ={};\r\n\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId.form_id;\r\n // records.fk_createdby = this.users;\r\n\r\n // records.client_details = answerData.clientArray;\r\n\r\n // this.qustCat.saveForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.navCtrl.pop();\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n /** To Save/Edited Popup Data */\r\n saveClientInfo(answerFormValues) {\r\n // console.log(answerFormValues);\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n if (answerFormValues.manufacturing_details[0] == null) {\r\n delete answerFormValues['manufacturing_details'];\r\n }\r\n if (answerFormValues.trade_details[0] == null) {\r\n delete answerFormValues['trade_details'];\r\n }\r\n if (answerFormValues.service_provider_details[0] == null) {\r\n delete answerFormValues['service_provider_details'];\r\n }\r\n\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 3) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n spCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n spCounter: any = [];\r\n checkCard(e, flag, index) {\r\n\r\n if (flag == 3 && e == 3) {\r\n this.spCounter[index] = 1;\r\n }\r\n else if (flag == 3 && e != 3) {\r\n this.spCounter[index] = 0;\r\n }\r\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\r\n this.spCreditCardFlag = SP > 0 ? true : false;\r\n\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n\r\n }\r\n\r\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';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/*\r\n Generated class for the ConstantsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ConstantsProvider {\r\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\r\n constructor(public http: HttpClient) {\r\n console.log('Hello ConstantsProvider Provider');\r\n }\r\n\r\n apiurl()\r\n {\r\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\r\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\r\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\r\n return devapiurl;\r\n }\r\n\r\n getcurrentDate()\r\n {\r\n var today = new Date();\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\r\n var time = today.getHours() + \":\" + today.getMinutes();\r\n let CurrentDate = date+\"T00:00\";\r\n return CurrentDate.toString();\r\n }\r\n \r\n convertNumberToWords(amount) {\r\n var words = new Array();\r\n words[0] = '';\r\n words[1] = 'One';\r\n words[2] = 'Two';\r\n words[3] = 'Three';\r\n words[4] = 'Four';\r\n words[5] = 'Five';\r\n words[6] = 'Six';\r\n words[7] = 'Seven';\r\n words[8] = 'Eight';\r\n words[9] = 'Nine';\r\n words[10] = 'Ten';\r\n words[11] = 'Eleven';\r\n words[12] = 'Twelve';\r\n words[13] = 'Thirteen';\r\n words[14] = 'Fourteen';\r\n words[15] = 'Fifteen';\r\n words[16] = 'Sixteen';\r\n words[17] = 'Seventeen';\r\n words[18] = 'Eighteen';\r\n words[19] = 'Nineteen';\r\n words[20] = 'Twenty';\r\n words[30] = 'Thirty';\r\n words[40] = 'Forty';\r\n words[50] = 'Fifty';\r\n words[60] = 'Sixty';\r\n words[70] = 'Seventy';\r\n words[80] = 'Eighty';\r\n words[90] = 'Ninety';\r\n amount = amount.toString();\r\n var atemp = amount.split(\".\");\r\n var number = atemp[0].split(\",\").join(\"\");\r\n var n_length = number.length;\r\n let value:any = \"\";\r\n var words_string = \"\";\r\n if (n_length <= 9) {\r\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n var received_n_array = new Array();\r\n for (var i = 0; i < n_length; i++) {\r\n received_n_array[i] = number.substr(i, 1);\r\n }\r\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n n_array[i] = received_n_array[j];\r\n }\r\n for (var i = 0, j = 1; i < 9; i++, j++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n if (n_array[i] == 1) {\r\n n_array[j] = 10 + parseInt(n_array[j]);\r\n n_array[i] = 0;\r\n }\r\n }\r\n }\r\n value = \"\";\r\n for (var i = 0; i < 9; i++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n value = n_array[i] * 10;\r\n } else {\r\n value = n_array[i];\r\n }\r\n if (value != 0) {\r\n words_string += words[value] + \" \";\r\n }\r\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Crores \";\r\n }\r\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Lakhs \";\r\n }\r\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Thousand \";\r\n }\r\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n words_string += \"Hundred and \";\r\n } else if (i == 6 && value != 0) {\r\n words_string += \"Hundred \";\r\n }\r\n }\r\n words_string = words_string.split(\" \").join(\" \");\r\n }\r\n return words_string;\r\n}\r\n}\r\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 = 244;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 244\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 = 287;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 287\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\nimport { AlertController } from 'ionic-angular';\r\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\r\n// import { GridPage } from '../grid/grid';\r\n\r\n\r\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\r\nimport { Camera } from '@ionic-native/camera';\r\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n// import { CustomValidators } from 'ng2-validation';\r\n\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PasswordPage } from '../password/password';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage {\r\n users: any;\r\nchangepass: FormGroup;\r\nemail: string;\r\npassword: string;\r\nnewpassword: any;\r\nconfirmPassword: any;\r\nchangePassword: any;\r\nstatus: Boolean = false;\r\nconfig: MatDialogConfig = {\r\n disableClose: false,\r\n width: '',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n};\r\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\r\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\r\n,public toast:ToastProvider) {\r\n \r\n}\r\nngOnInit(){\r\n //this.loggedInCheck();\r\n \r\n}\r\nionViewDidEnter(){\r\n this.Menu.enable(false);\r\n}\r\nionViewWillLeave(){\r\n this.Menu.enable(true);\r\n}\r\n/**\r\n* @param email\r\n* @param password\r\n* AWS login service\r\n*/\r\nlogin() {\r\n // console.log(this.email);\r\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\r\n let auth = { 'Username': this.email, 'Password': this.password };\r\n this.aws.dologin(auth).subscribe(awsres => {\r\n let userid = this.aws.getlocale();\r\n \r\n this.aws.getuserprofile(userid).subscribe(usersres=>\r\n {\r\n this.users = usersres; \r\n \r\n if (this.users.dataStatus == true) {\r\n \r\n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\r\n this.navCtrl.setRoot(PdListPage);\r\n \r\n }else\r\n {\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n\r\n \r\n }\r\n });\r\n }, err => {\r\n console.log(JSON.stringify(err.message));\r\n if (err.message == \"New password is required.\") {\r\n //console.log(\"if\");\r\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\r\n } else {\r\n console.log(JSON.stringify(err.message));\r\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\r\n\r\n }\r\n //alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter Email or Password');\r\n }\r\n}\r\n/**\r\n * New password set\r\n * Defalut aws function \r\n * @param email password,newpassword\r\n */\r\n// newpassopen() {\r\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result !== undefined) {\r\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\r\n// console.log(auth);\r\n// this.aws.dologin(auth).subscribe(res => {\r\n// console.log(res);\r\n// // this.router.navigate(['/home']);\r\n// }, err => {\r\n// // alert(err.message);\r\n\r\n// })\r\n// }\r\n// });\r\n// }\r\n\r\nforgotopen() {\r\n this.status = true;\r\n}\r\n\r\n\r\nforgotpassword() {\r\n\r\n let auth = { 'Username': this.email };\r\n console.log(auth);\r\n // this.aws.userforgotpass(auth).subscribe(res => {\r\n // console.log(res);\r\n\r\n // })\r\n}\r\nloggedInCheck(){\r\n //alert(this.shared.isLoggedIn);\r\n if(this.shared.isLoggedIn){\r\n alert(\"if\");\r\n // this.router.navigate(['/home']);\r\n return false;\r\n }else{\r\n alert(\"else\");\r\n \r\n return true;\r\n }\r\n}\r\n\r\n}\r\n\r\n// ======================= END ==============================\r\n/**\r\n* New password Dialog\r\n*/\r\n\r\n// const newpassword = new FormControl('', Validators.required);\r\n// const confirmPassword = new FormControl('');\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
New Password Change.
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n//
\r\n// \r\n// \r\n// \r\n\r\n// Passwords do not math.\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class NewPasswordDialog {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
Forgot Password
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class ForgotPass {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n// }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \r\nimport { AuthPage } from '../auth/auth';\r\n\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { OtpPage } from '../otp/otp';\r\n\r\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\r\nimport {DatePipe } from '@angular/common';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\r\n\r\n/**\r\n * Generated class for the InputPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19);\r\n\r\n\r\n@Component({\r\n selector: 'page-input',\r\n templateUrl: 'input.html',\r\n})\r\n\r\n\r\nexport class InputPage {\r\n enableStartPD: boolean;\r\n diffInHours: number;\r\n updatestarted: any;\r\n updateinitiated: any;\r\n appdata: any;\r\n users: any;\r\n initiatedAccess: boolean = false;\r\n scheduleAccess: boolean = false;\r\napplicatentDetails:any;\r\nmaxdate :any;\r\npipe = new DatePipe('en-US');\r\nupdateStatus:any;\r\nscheduleDate:any;\r\nupdateSchedule:any;\r\nacceptedAccess:boolean = false;\r\nstartedAccess:boolean = false;\r\ntimeOut:any = 15*1000;\r\ntimeInterval:any;\r\ncurrentPosPDofficer:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,public constant:ConstantsProvider) {\r\n\r\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\r\n \r\n /***Header value pass */\r\n this.statusBar.styleDefault();\r\n \r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\r\n \r\n \r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n \r\n this.getFullPD();\r\n \r\n \r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n \r\n this.initiatedAccess = true;\r\n }\r\n //console.log(this.initiatedAccess);\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.getenableAccuracy();\r\n \r\n }\r\n this.users = this.aws.getlocale();\r\n }\r\n\r\n \r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad InputPage');\r\n }\r\n ionViewCanLeave()\r\n {\r\n clearInterval(this.timeInterval);\r\n }\r\n locationnavicate(address)\r\n {\r\n this.launchNavigator.navigate(address);\r\n }\r\n\r\n getFullPD()\r\n {\r\n let records = {'pdid':this.applicatentDetails.pd_id};\r\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n // console.log()\r\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \r\n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\r\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\r\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\r\n console.log(diffInHours);\r\n if(diffInHours <=-4){\r\n this.enableStartPD=true;\r\n }\r\n else\r\n {\r\n this.enableStartPD = false;\r\n }\r\n } \r\n })\r\n \r\n }\r\n pdStatus(status,appdetails)\r\n {\r\n let data :any;\r\n \r\n if(status == 'BOUNCED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }else if(status == 'ACCEPTED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.scheduleAccess = true;\r\n \r\n }else\r\n {\r\n this.scheduleAccess = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n pdschedule(scheduledate,appdetails)\r\n {\r\n \r\n let data :any;\r\n console.log(scheduledate);\r\n let schDate = scheduledate.slice(0,19).replace('T',' ');\r\n console.log(schDate);\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateSchedule = res;\r\n if(this.updateSchedule.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.initiatedAccess = true;\r\n }\r\n });\r\n }\r\n\r\n getenableAccuracy()\r\n {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.getcurrentLocation();\r\n },\r\n error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n getcurrentLocation() \r\n {\r\n let data:any;\r\n let options = {\r\n frequency: 3000, \r\n enableHighAccuracy: true,\r\n timeOut:1000,\r\n };\r\n \r\n this.timeInterval = setInterval(()=>{\r\n this.currentPosPDofficer = '';\r\n this.geolocation.getCurrentPosition(options).then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n if((resp as Geoposition).coords !=undefined){\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\r\n console.log(this.currentPosPDofficer);\r\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\r\n {\r\n // this.updateinitiated = res;\r\n // if(this.updateinitiated.dataStatus == true)\r\n // { \r\n // // this.getNewpdupdate();\r\n // // this.startedAccess = true;\r\n // }else\r\n // {\r\n // this.startedAccess = false;\r\n // }\r\n })\r\n }\r\n }).catch((error)=>{\r\n this.toast.pdTriggerappmessage(error.message);\r\n })\r\n \r\n },this.timeOut);\r\n }\r\n pdreschedule()\r\n {\r\n this.scheduleAccess = true;\r\n this.initiatedAccess = false;\r\n }\r\n pdinitiated(appdetails)\r\n { let data:any;\r\n\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n \r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\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};\r\n\r\n\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateinitiated = res;\r\n if(this.updateinitiated.dataStatus == true)\r\n { \r\n this.getNewpdupdate();\r\n this.getcurrentLocation();\r\n this.startedAccess = true;\r\n }else\r\n {\r\n this.startedAccess = false;\r\n }\r\n })\r\n }).catch((error) => {\r\n console.log('Error getting location', error);\r\n });\r\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n\r\n startPdDiscussion(appdetails)\r\n {\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'Starting PD Officer',\r\n message: 'Do you want sure PD officer Start',\r\n buttons: [\r\n {\r\n text: 'No',\r\n role: 'cancel',\r\n handler: () => {\r\n \r\n // console.log('Cancel clicked');\r\n // this.toast.pdTriggerappmessage('')\r\n }\r\n },\r\n {\r\n text: 'YES',\r\n handler: () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n \r\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};\r\n console.log(data);\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {this.updatestarted = res;\r\n if(this.updatestarted.dataStatus == true)\r\n {\r\n clearInterval(this.timeInterval);\r\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\r\n }\r\n \r\n })\r\n // console.log('Buy clicked');\r\n })\r\n } \r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n getNewpdupdate()\r\n {\r\n this.acceptedAccess = false;\r\n this.initiatedAccess = false;\r\n this.scheduleAccess = false;\r\n this.startedAccess = false;\r\n this.pdDetails.getpddetails(this.users).subscribe(res=>\r\n {\r\n this.appdata = res;\r\n if(this.appdata.dataStatus == true)\r\n {\r\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n this.initiatedAccess = true;\r\n this.getFullPD();\r\n }\r\n\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n camerasetup()\r\n {\r\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\n\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question',\r\n templateUrl: 'pd-question.html',\r\n})\r\nexport class PdQuestionPage {\r\n \r\n docqustid: any;\r\n docName: any = [];\r\n docArray: any = [];\r\n imageArray:any = [];\r\n questionCate: any;\r\n qustCate: any;\r\n pdinfo: any;\r\n items: FormArray;\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= false;\r\n isLeft:boolean= false;\r\n tabs:any=[];\r\n \r\n questionDetails: any;\r\n questionAnswer:FormGroup;\r\n questionanotherData:FormGroup;\r\n userid:any;\r\n questionId:any;\r\n qustType:any;\r\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) {\r\n \r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n\r\n \r\n this.questionAnswer = this.fb.group(\r\n {\r\n answerDetails:[null],\r\n items:this.fb.array([]),\r\n })\r\n this.questionanotherData = this.fb.group(\r\n {\r\n questionRemarks:[null]\r\n })\r\n this.getpdQuestionDetails();\r\n this.userid = this.aws.getlocale();\r\n}\r\n\r\n ionViewDidLoad() {\r\n // console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n ionViewWillLeave() {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n //console.log(1);\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n // console.log(82,this.isLeft);\r\n // console.log(this.isLeft,this.isRight);\r\n // let answerDetails = this.questionAnswer.value;\r\n // console.log(answerDetails);\r\n // let remarks = this.questionanotherData.value;\r\n if(this.isLeft)\r\n {\r\n console.log(this.isLeft);\r\n //this.prev(answerDetails,remarks,this.questionDetails);\r\n }\r\n if(this.isRight)\r\n {\r\n console.log(this.isRight);\r\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\r\n }\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n \r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n \r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n \r\n this.isLeft=false;\r\n this.isRight=false;\r\n \r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n \r\n \r\n }\r\n /**\r\n * Pd Discussion Qustion Load\r\n */\r\n getpdQuestionDetails()\r\n {\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n console.log('157',this.questionDetails);\r\n this.pdinfo = this.navParams.get('pdDetails');\r\n console.log(this.pdinfo);\r\n for(let qustimage of this.questionDetails.questions)\r\n { \r\n if(qustimage.images !==undefined){\r\n for(let image of qustimage.images)\r\n {\r\n image.questionId = qustimage.fk_question_id; \r\n this.docArray.push(image);\r\n }\r\n for(let answers of qustimage.answers)\r\n {\r\n if(qustimage.fk_question_answertype == 3)\r\n {\r\n this.items = this.questionAnswer.get('items') as FormArray;\r\n \r\n this.items.push(this.getquestionAnswer(answers));\r\n \r\n \r\n }\r\n }\r\n console.log(this.questionAnswer.get('items')['controls']);\r\n }\r\n }\r\n console.log(this.docArray);\r\n for(let i=1;i<=this.questionDetails.questions_count;i++){\r\n let j = i.toString();\r\n this.tabs.push(j);\r\n }\r\n }\r\n\r\ngetquestionAnswer(answers)\r\n{\r\n return this.fb.group(\r\n {\r\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\r\n \"pd_answer_id\":answers.question_answer_id,\r\n \"pd_answer\": answers.answer,\r\n \"pd_answer_weightage\": answers.template_answer_weightage,\r\n \"fk_pd_id\":this.pdinfo.pd_id,\r\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\r\n \"checkbox\":(answers.isactive == null?false:true)\r\n \r\n \r\n })\r\n}\r\n // count = 0;\r\n getDocUpload(qustid)\r\n {\r\n //console.log('right',this.isRight,'left',this.isLeft);\r\n // this.docqustid = qustId;\r\n // console.log(this.count);\r\n // console.log(qustid);\r\n this.camera.getpicture().then(res=>\r\n {\r\n if(res !== undefined){\r\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\r\n }\r\n });\r\n // this.count++;\r\n }\r\n docnames(name,id,image,qustid)\r\n {\r\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\r\n }\r\n removeimage(index){\r\n //for(let i=0;i<=this.igrimage.length;i++){\r\n //if(this.igrimage[i]== this.igrimage[index]){\r\n this.docArray.splice(index,1);\r\n //}\r\n //}\r\n }\r\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\r\n {\r\n console.log(answerDetails);\r\n \r\n //console.log(this.docArray);\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n console.log('if');\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n //console.log(answerDetails.answerDetails);\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n console.log(this.imageArray);\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n console.log(qt_id);\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n\t\t\"fk_pd_id\": pd_id,\r\n\t\t\"fk_category_id\": catid,\r\n\t\t\"fk_question_id\": qut_id,\r\n\t\t\"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n\t\t\"pd_answer\": pd_answer,\r\n\t\t\"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n\t\t\r\n\t\t\"fk_createdon\": createon,\r\n\t\t\"createdby\": createdby,\r\n\t\t\"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n //console.log(this.docArray);\r\n \r\n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n // {\r\n // this.qustCate = res;\r\n // if(this.qustCate.dataStatus == true){\r\n // this.SwipedTabsSlider.slideNext();\r\n // this.docArray = [];\r\n // this.getcategoryList(qt_id,pd_id);\r\n // console.log(this.docArray);\r\n // }\r\n // })\r\n // }else\r\n // {\r\n \r\n // this.SwipedTabsSlider.slideNext(); \r\n }\r\n } \r\n\r\n getcategoryList(qustinfo,pdId)\r\n {\r\n console.log(\"252\",qustinfo);\r\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\r\n };\r\n let answerData:any;\r\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\r\n {\r\n answerData = res;\r\n if(answerData.dataStatus == true)\r\n {\r\n \r\n // answerData = answerData.records;\r\n // console.log('303',answerData);\r\n // console.log('304',this.questionDetails);\r\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\r\n // eachquestion['answers'] = answerData.answers; \r\n \r\n // this.questionDetails =\r\n // console.log(this.questionDetails);\r\n // this.imageArray = answerData.images;\r\n // for(let docs of this.imageArray)\r\n // {\r\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\r\n // }\r\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\r\n }\r\n });\r\n }\r\n prev(answerDetails,questionRemarks,questionDetails) {\r\n //console.log(this.docArray);\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n console.log('if');\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n //console.log(answerDetails.answerDetails);\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n console.log(this.imageArray);\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n console.log(qt_id);\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n \"fk_pd_id\": pd_id,\r\n \"fk_category_id\": catid,\r\n \"fk_question_id\": qut_id,\r\n \"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n \"pd_answer\": pd_answer,\r\n \"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n \r\n \"fk_createdon\": createon,\r\n \"createdby\": createdby,\r\n \"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n //console.log(this.docArray);\r\n \r\n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n {\r\n this.qustCate = res;\r\n if(this.qustCate.dataStatus == true){\r\n this.SwipedTabsSlider.slidePrev();\r\n this.docArray = [];\r\n this.getcategoryList(qt_id,pd_id);\r\n console.log(this.docArray);\r\n }\r\n })\r\n }else{\r\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\r\n this.SwipedTabsSlider.slidePrev();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { Observable } from 'rxjs';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n/**\r\n * Generated class for the PdQuestionAddressPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-address',\r\n templateUrl: 'pd-question-address.html',\r\n})\r\nexport class PdQuestionAddressPage {\r\n\r\n // additional_premises: any=[];\r\n // bussiness_address_type: any=[];\r\n // formPremisesCityArray: any=[];\r\n // tempArr: any[];\r\n // cityData: any = [];\r\n // PremisesLabel: any=[];\r\n // formPremisesArray: any=[];\r\n // z:number = 0;\r\n \r\n // PremisesOtherFlag: boolean;\r\n CITY: any;\r\n residence: any;\r\n FormId: any;\r\n getaddressDetails: any;\r\n users: any;\r\n address: string;\r\n custBehaviour: any;\r\n cmtlocality: any;\r\n\r\n placeholderName : any = 'Estimated area of the (Address Type)';\r\n premisesRentAmtInwords:any=[];\r\n rentAmtInwords : any ;\r\n\r\n locality: any = [];\r\n pdlocation: any = [];\r\n pdDetails: any;\r\n questionDetails: any;\r\n pdQuestionAddress:FormGroup;\r\n addressTypes:any=[];\r\n addressRemarksAccess:boolean = false;\r\n items:FormArray;\r\n pdState: any;\r\n pdCity: any;\r\n pdPincode: any;\r\n pdOtherPincode: any;\r\n cityData: any=[];\r\n pincodeData: any=[];\r\n stateData: any=[];\r\n uomData: any=[];\r\n // counts:number = 1;\r\n\r\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) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n \r\n this.FormId = this.navParams.get('FormId');\r\n\r\n this.users = this.aws.getlocale();\r\n\r\n if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\r\n this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\r\n }else{\r\n this.address = this.pdDetails.addressline1+', - , -'; \r\n }\r\n this.pdState = this.pdDetails.fk_state;\r\n this.getCityAndPincodeDetails(this.pdState);\r\n this.pdCity = this.pdDetails.fk_city;\r\n this.pdPincode = this.pdDetails.pincode_id;\r\n console.log('this.pdPincode', this.pdPincode);\r\n this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\r\n \r\n this.getdropdownlist();\r\n\r\n this.pdQuestionAddress = this.fb.group(\r\n {\r\n address: [this.address],\r\n state:[this.pdState != '' ? this.pdState : ''],\r\n city:[this.pdCity != '' ? this.pdCity : ''],\r\n pincode:[this.pdPincode != '' ? this.pdPincode : ''],\r\n pincode_others:[this.pdOtherPincode != '' ? this.pdOtherPincode : '', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n address_type: [null],\r\n address_type_others:[null],\r\n locality: [null],\r\n locality_others: [null],\r\n locality_mixuse: [''],\r\n pd_location: [null],\r\n comment_locality: [null],\r\n other_comment_locality : [null],\r\n estimated_area: [''],\r\n uom: [null],\r\n uom_others: [null],\r\n //customer_behaviour: [null],\r\n // neighbourhood: this.fb.array([]),\r\n address_form_remark:[null],\r\n // address_ownership:[null],\r\n // other_ownership:[null],\r\n // rent_amt:[null],\r\n // other_premises_bussiness_activity : [null],\r\n // bussiness_activity_remark:[null],\r\n // bussiness_activity:[null],\r\n // bussiness_address_type:[null],\r\n // bussiness_address_type_others:[null], \r\n // business_years:[null],\r\n // business_month:[null],\r\n // additional_address_units: this.fb.array([]),\r\n \r\n });\r\n this.getaddressForm(); \r\n }\r\n\r\n ionViewDidLoad() {\r\n //this.addUnits();\r\n console.log('ionViewDidLoad PdQuestionAddressPage');\r\n }\r\n\r\n ionViewWillLeave()\r\n {\r\n \r\n\r\n // let method = this.alerCtrl.create({\t\t\t\r\n // message: 'Do You Want Save',\r\n // buttons: [\r\n // {\r\n // text: 'Save',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // console.log('Save clicked');\r\n // }\r\n // },\r\n // {\r\n // text: 'Cancel',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // console.log('Cancel clicked');\r\n // this.navCtrl.pop(); \r\n // }\r\n // }\r\n // ]\r\n // });\r\n // method.present()\r\n \r\n \r\n // console.log(this.pdQuestionAddress.dirty);\r\n }\r\n\r\n /** To Get City And Pincode Data For Address Form \r\n * Param 'stateID' -> selected StateId\r\n */\r\n getCityAndPincodeDetails(stateID: string) {\r\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData = data.records.cities;\r\n this.pincodeData = data.records.pincode;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getdropdownlist()\r\n {\r\n // this.addressTypes = [\r\n \r\n // {'id':'Office','Name':'Office'},\r\n // {'id':'Clinic','Name':'Clinic'},\r\n // {'id':'Factory','Name':'Factory'},\r\n // {'id':'Warehouse','Name':'Warehouse'},\r\n // {'id':'Shop','Name':'Shop'},\r\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\r\n // {'id':'Residence','Name':'Residence'},\r\n // {'id':'OTHERS','Name':'OTHERS'}\r\n // ];\r\n\r\n \r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \r\n }\r\n \r\n })\r\n \r\n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\r\n {\r\n this.pdlocation = res;\r\n if(this.pdlocation.dataStatus == true)\r\n {\r\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\r\n {\r\n this.cmtlocality = res;\r\n if(this.cmtlocality.dataStatus ==true)\r\n {\r\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\r\n }\r\n });\r\n\r\n \r\n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\r\n // {\r\n // this.custBehaviour = res;\r\n // if(this.custBehaviour.dataStatus == true)\r\n // {\r\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\r\n // }\r\n // })\r\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.locality = res['records'].filter(loc=>loc.isactive==1);\r\n }\r\n })\r\n\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.residence = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('CITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.CITY = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\r\n this.stateData=res['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\r\n this.uomData=res['records'].filter(val=>val.isactive == 1)\r\n })\r\n \r\n }\r\n\r\n // checkaddress(value)\r\n // {\r\n // // console.log(value);\r\n // if(value==\"OTHERS\")\r\n // {\r\n // this.addressRemarksAccess = true;\r\n // }else\r\n // {\r\n // this.addressRemarksAccess = false;\r\n // }\r\n // }\r\n\r\n // createItem(): FormGroup {\r\n // return this.fb.group({\r\n // name: [null],\r\n // do_you_know: [null],\r\n // how_long: [null],\r\n // is_owner: [null],\r\n // });\r\n // };\r\n \r\n createUnits(val): FormGroup {\r\n if(val==null){\r\n return this.fb.group({\r\n no_of_additional_units: [''],\r\n premises_type: [''],\r\n premises_type_others: [''],\r\n premises_city: [''],\r\n // premises_ownership: [''],\r\n //premises_ownership_others: [''],\r\n //premises_rent_amt:[''],\r\n premises_remarks: [''],\r\n });\r\n }\r\n else{\r\n \r\n return this.fb.group({\r\n no_of_additional_units: [val.no_of_additional_units],\r\n premises_type: [val.premises_type],\r\n premises_type_others: [val.premises_type_others],\r\n premises_city: [val.premises_city],\r\n // premises_ownership: [val.premises_ownership],\r\n // premises_ownership_others: [val.other_ownership],\r\n // premises_rent_amt:[val.rent_amt],\r\n premises_remarks: [val.premises_remarks],\r\n });\r\n \r\n }\r\n }\r\n\r\n addUnits() {\r\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n this.items.push(this.createUnits(null));\r\n}\r\n\r\n\r\n removeUnits(i){\r\n this.items.removeAt(i);\r\n }\r\n\r\n ConvertMonthintoYear(e){\r\n \r\n let business_year = this.pdQuestionAddress.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n }\r\n /** On Key Press Event For Numbers */\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n \r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i){ \r\n console.log(e);\r\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n \r\n }\r\n\r\n inWordsForRent(e){\r\n //console.log(e);\r\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\r\n }\r\n\r\n selectedAddressType(e: any){\r\n this.placeholderName = 'Estimated area of the ' + e;\r\n }\r\n\r\n\r\n savepdQuestion(answerData)\r\n {\r\n console.log(answerData);\r\n let records: any = {};\r\n records.address = answerData.address;\r\n if(answerData.address_type_others != null){\r\n records.address_type_others = answerData.address_type_others;\r\n }\r\n records.state =answerData.state\r\n records.city = answerData.city\r\n\r\n records.pincode = answerData.pincode\r\n records.pincode_others = answerData.pincode== 1 ?\r\n this.pdQuestionAddress.controls.pincode_others.value : '';\r\n\r\n records.address_type = answerData.address_type;\r\n records.locality = answerData.locality;\r\n \r\n records.locality_others = answerData.locality == 1 ?\r\n this.pdQuestionAddress.controls.locality_others.value : '';\r\n\r\n records.locality_mixuse = answerData.locality == 5 ?\r\n this.pdQuestionAddress.controls.locality_mixuse.value : '';\r\n\r\n records.pd_location = answerData.pd_location;\r\n records.comment_locality = answerData.comment_locality;\r\n records.other_comment_locality = answerData.other_comment_locality;\r\n records.estimated_area = answerData.estimated_area;\r\n\r\n records.uom = answerData.uom;\r\n records.uom_others = answerData.uom == 1 ?\r\n this.pdQuestionAddress.controls.uom_others.value : '';\r\n // records.customer_behaviour = answerData.customer_behaviour;\r\n // records.neighbourhood = answerData.neighbourhood;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.address_form_remark = answerData.address_form_remark;\r\n // records.address_ownership = answerData.address_ownership;\r\n // records.other_ownership = answerData.other_ownership;\r\n // records.rent_amt = answerData.rent_amt;\r\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\r\n // records.bussiness_activity = answerData.bussiness_activity;\r\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\r\n // records.business_years = answerData.business_years;\r\n // records.business_month = answerData.business_month;\r\n // console.log(\"Additional Units\",this.pdQuestionAddress.controls.additional_address_units.value);\r\n // console.log(\"item\",this.items)\r\n // records.additional_address_units = answerData.additional_address_units;\r\n \r\n \r\n console.log('params', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n // console.log('data', data);\r\n // let params: any = {};\r\n // params.pd_id = '250';\r\n // params.pd_form_id = '250';\r\n // console.log('param', params);\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n\r\n },err=>{\r\n this.toast.pdTriggerappmessage('Something went wrong ');\r\n });\r\n }\r\n\r\n getaddressForm()\r\n {\r\n \r\n let res:any;\r\n\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n this.getaddressDetails = res;\r\n \r\n if(this.getaddressDetails.dataStatus ==true){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records;\r\n if(this.getaddressDetails.additional_address_units != null){\r\n var result = Object.keys(res['records'].additional_address_units).map(function(key) {\r\n // return res['records'].additional_address_units[key];\r\n //for slicing the automatically created\r\n \r\n });\r\n //this.removeUnits(0);\r\n }\r\n\r\n let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n\r\n this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\r\n this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\r\n\r\n if (this.getaddressDetails.state != '') {\r\n this.getCityAndPincodeDetails(this.getaddressDetails.state);\r\n this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\r\n this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\r\n if (this.getaddressDetails.pincode == 1) {\r\n this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\r\n this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\r\n this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\r\n }\r\n }\r\n this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\r\n this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\r\n let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\r\n this.selectedAddressType(selectedAddressType);\r\n\r\n if(this.getaddressDetails.address_type != null) {\r\n this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\r\n this.selectedAddressType(this.getaddressDetails.address_type_others);\r\n }\r\n\r\n this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\r\n\r\n if(this.getaddressDetails.comment_locality != null){\r\n this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\r\n }\r\n // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\r\n this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\r\n if(this.getaddressDetails.locality == 1 ){\r\n this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\r\n }\r\n if(this.getaddressDetails.locality == 5){\r\n this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\r\n }\r\n \r\n this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\r\n this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\r\n if (this.getaddressDetails.uom == 1) {\r\n this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\r\n this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\r\n this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\r\n }\r\n this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\r\n // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\r\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\r\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\r\n // if(this.getaddressDetails.rent_amt != null){\r\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\r\n // }\r\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // } \r\n // else{\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\r\n // }\r\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\r\n\r\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\r\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\r\n \r\n \r\n console.log(this.getaddressDetails.additional_address_units);\r\n\r\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\r\n \r\n if (result.length == 0) {\r\n console.log(\"0\")\r\n control.push(this.createUnits(null));\r\n } else {*/\r\n console.log(\"1\",this.getaddressDetails.additional_address_units)\r\n //for(let val of this.getaddressDetails.additional_address_units){\r\n //control.push(this.createUnits(val));\r\n //}\r\n //result.forEach((datas,index) => {\r\n // console.log(datas);\r\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\r\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\r\n \r\n //});\r\n \r\n //}\r\n \r\n // }\r\n\r\n }\r\n });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionEmpInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-emp-info',\r\n templateUrl: 'pd-question-emp-info.html',\r\n})\r\nexport class PdQuestionEmpInfoPage {\r\n questionDetails: any;\r\n pdDetails: any;\r\n empInfo:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n\r\n this.empInfo = this.fb.group(\r\n {\r\n nameOfEmp:[null],\r\n yearWithEmp:[null],\r\n empMet:[null],\r\n designationOfEmp:[null],\r\n salaryConfirm:[null],\r\n actualSalary:[null],\r\n attRegisterSeen:[null],\r\n salaryRegisterSeen:[null]\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.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 * 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})\nexport class PdQuestionCurrentLoansPage {\n public applicants: 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\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) {\n this.applicants=[]\n // console.log(\"before\",this.applicants)\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;\n \n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n\n this.getdropdown();\n // this.applicants.push\n console.log(this.applicants);\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 console.log(\"Entering company List\")\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log(\"company List\",data['records'])\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 console.log(\"Company applicant\",this.mergeCompanyApplicant)\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 \n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n console.log(this.mergeCompanyApplicant);\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 \n }\n \n exitsCheck(val)\n { \n console.log(val);\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 // console.log(+e.value);\n // console.log(i);\n \n // alert('function in');\n \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 // console.log(this.placeholderName);\n}\n\nsubmitCurrentloan(answerData) {\n console.log(answerData);\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 console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\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 console.log(\"res\",res['records']);\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 console.log(\"Function result\",res['records'].loan_details[key]);\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 console.log(\"Datas\",datas)\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 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 // console.log('else part',value.status);\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\n // console.log(data);\n\n if(data.dataStatus == true){\n \n // console.log(data.record);\n \n let AssetData = data.record;\n \n // console.log(AssetData.business_assets);\n // console.log(AssetData.other_assests);\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 });\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 })\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 \n if(val.mode == 1){\n let data;\n val.details.forEach((v,index) => {\n data = v.any_other_assets;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 2){\n let data;\n val.details.forEach((v,index) => {\n data = v.property_type_name;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 3){\n let data;\n val.details.forEach((v,index) => {\n data = v.manufacturer_model_vehicle;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 4){\n let data;\n val.details.forEach((v,index) => {\n data = v.equipment_manufacturing_description;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 6){\n labelarray[index] = ' : '+val.owner_name+' - '+ val.mode_name;\n }\n if(val.mode == 7){\n let data;\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 let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\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 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 // console.log('else,else.part');\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-loans',\r\n templateUrl: 'pd-question-loans.html',\r\n})\r\nexport class PdQuestionLoansPage {\r\n enduse: any = [];\r\n propertyType: any;\r\n mortagetypeAccess: boolean;\r\n mortageAccess: boolean = false;\r\n mortageCardAccess: boolean;\r\n topUpAmtInWords: any;\r\n ownContributionInWords: any;\r\n valAsPerAgmtInWords: any;\r\n balTxrfAmtInWords: any;\r\n loanAmtInWords: any;\r\n\r\n emiAmtInWords:any;\r\n emvAmtInWords:any;\r\n\r\n m_btLenderList: any;\r\n applicants: any;\r\n m_endUseofLoad: any;\r\n m_sourceofamount: any;\r\n m_mortageTypeProperty: any;\r\n m_statusofCunstruction: any;\r\n ownerNames: any=[];\r\n isOtherPurpose: boolean=false;\r\n endUserList: any=[];\r\n pdDetails: any;\r\n FormId: any;\r\n productAbbr:any;\r\n loanDetailsForm: FormGroup;\r\n users: any;\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any;\r\n m_endUseOFTopUpList:any=[]\r\n isContribution: boolean = false;\r\n\r\n \r\n isOtherSource: boolean = false;\r\n isPLSource: boolean = false;\r\n\r\n sourceList:any=[];\r\n pdid:number;\r\n m_endUseForLoan:any;\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdDetails);\r\n this.applicants = this.pdDetails.applicat_details\r\n this.productAbbr = this.pdDetails.product_abbr;\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.getDropdown();\r\n this.loanDetailsForm = this.fb.group({\r\n loan_amount: [this.pdDetails.loan_amount],\r\n end_use: ['', Validators.compose([Validators.required])],\r\n end_use_other: [''],\r\n is_transfer: ['', Validators.compose([Validators.required])],\r\n //is_topup: ['', Validators.compose([Validators.required])],\r\n // is_topup: [''],\r\n balance_transfer_amount: [''],\r\n topup_amount: [''],\r\n end_use_topup:[''],\r\n other_end_use_topup:[''],\r\n lender: [''],\r\n other_bt_lender : [''],\r\n own_contribution: ['', Validators.compose([Validators.required])],\r\n source: [''],\r\n //personal_loan_source:[''],\r\n other_source:[''],\r\n //lender_name_type: [''],\r\n emi_level: ['', Validators.compose([Validators.required])],\r\n property_type: ['', Validators.compose([Validators.required])],\r\n property_type_others:[''],\r\n owner_name: ['', Validators.compose([Validators.required])],\r\n construction_status: ['', Validators.compose([Validators.required])],\r\n //percentage_of_construction : [''],\r\n emv_per_customer: ['', Validators.compose([Validators.required])],\r\n //value_per_agreement: ['', Validators.compose([Validators.required])],\r\n loandetails_remarks: ['', Validators.compose([Validators.required])],\r\n });\r\n \r\n console.log(75,this.pdDetails.product_abbr);\r\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\r\n {\r\n this.mortagetypeAccess = true;\r\n }else\r\n {\r\n this.mortagetypeAccess = false;\r\n }\r\n console.log(this.mortagetypeAccess);\r\n \r\n \r\n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\r\n this.isContribution = true;\r\n }\r\n \r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLoansPage');\r\n this.getLoanDetails();\r\n }\r\n\r\n\r\n getDropdown() {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n })\r\n this.qustCat.getEndUseForLoan(this.pdid).subscribe(data=>{\r\n \r\n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\r\n data => {\r\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n // console.log(data['records']);\r\n let that = this;\r\n this.m_mortageTypeProperty = data['records'].filter(\r\n function(data){\r\n \r\n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\r\n {\r\n return data;\r\n \r\n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\r\n {\r\n return data;\r\n }else\r\n {\r\n return ;\r\n }\r\n });\r\n console.log(this.m_mortageTypeProperty);\r\n // this.mortage_type(this.propertyType);\r\n }\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\r\n data => {\r\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\r\n });\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\r\n subdata => {\r\n if(subdata['dataStatus']==true){\r\n let that = this;\r\n this.m_endUseofLoad = subdata['records'].filter(\r\n function(data)\r\n {\r\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\r\n {\r\n return data;\r\n }\r\n });\r\n this.endUserChange(this.enduse);\r\n }\r\n });\r\n \r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n })\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n if(this.productAbbr != 'LAP'){\r\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\r\n }\r\n }\r\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\r\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\r\n })\r\n \r\n \r\n console.log(\"complete\")\r\n \r\n }\r\n\r\n selectedBalancesTransferChanges(event: any){\r\n // console.log('First Time',event);\r\n // console.log('First Time Value',event.value);\r\n // if(event.value == 'no') { \r\n // this.loanDetailsForm.controls['is_topup'].clearValidators();\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // this.loanDetailsForm.controls['is_topup'].setValue('');\r\n // console.log('no',event.value);\r\n //}\r\n //else if(event.value == 'yes'){\r\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // console.log('yes',event.value);\r\n // }\r\n if (event.value == 'no') {\r\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n\r\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \r\n this.loanDetailsForm.controls['lender'].setValue('');\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\r\n this.topUpAmtInWords=''\r\n\r\n }\r\n else if (event.value == 'yes') {\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n this.loanDetailsForm.controls['source'].clearValidators();\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.isOtherSource = false;\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n \r\n }\r\n\r\n}\r\n \r\n mortage_type(mortage_value)\r\n {\r\n \r\n console.log(mortage_value);\r\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\r\n console.log(mortagetypes);\r\n var property_name=mortagetypes.property_name\r\n if(property_name=='Others (Please Specify)')\r\n {\r\n this.mortageAccess = true;\r\n }else\r\n {\r\n this.mortageAccess = false; \r\n }\r\n \r\n \r\n }\r\n compareObjects(o1: any, o2: any){\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n \r\n }\r\n\r\n\r\n loanCalc()\r\n {\r\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\r\n let loanAmount = this.loanDetailsForm.value.loan_amount;\r\n let topupAmt ;\r\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\r\n {\r\n topupAmt = loanAmount - BtAmount;\r\n }\r\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n }\r\n endUserChange(event) {\r\n console.log(\"change\",this.m_endUseForLoan);\r\n //this.endUserList = [];\r\n event.forEach(option => {\r\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\r\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\r\n this.endUserList.push({ end_use: option });\r\n console.log(201,othresData);\r\n if (othresData == 'others') {\r\n \r\n this.isOtherPurpose = true;\r\n return ;\r\n }else\r\n {\r\n //console.log('else');\r\n this.isOtherPurpose = false;\r\n \r\n }\r\n });\r\n console.log(this.endUserList);\r\n }\r\n ownerNameChange(event) {\r\n this.ownerNames = [];\r\n event.value.forEach(option => {\r\n this.ownerNames.push({ owner_name: option });\r\n });\r\n }\r\n sourceChange(evt) {\r\n // console.log('source Changed Values',evt);\r\n\r\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\r\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\r\n\r\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\r\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\r\n\r\n this.sourceList = [];\r\n\r\n evt.forEach(option => {\r\n this.sourceList.push({source: option});\r\n });\r\n}\r\n inWords(e,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 2 : \r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 3 :\r\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 4 :\r\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 :\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 6:\r\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 7:\r\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n default:\r\n break;\r\n }\r\n}\r\n submitLoanDetails() {\r\n // console.log(answerData);\r\n // console.log(this.endUserList);\r\n // if(this.loanDetailsForm.valid){\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\r\n \r\n // get end user final group data\r\n let dataEnd_user_data = [];\r\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\r\n dataEnd_user_data.push({end_use: element})\r\n });\r\n records.end_use_group = dataEnd_user_data;\r\n\r\n if (this.isOtherPurpose) {\r\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\r\n }\r\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\r\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\r\n }\r\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\r\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\r\n \r\n let dataSource_list=[];\r\n if(this.loanDetailsForm.controls['source'].value != '')\r\n {\r\n \r\n this.loanDetailsForm.controls['source'].value.forEach(element => {\r\n dataSource_list.push({sources : element})\r\n });\r\n }\r\n records.source_group=dataSource_list;\r\n \r\n }\r\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\r\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\r\n //}\r\n if(records.topup_amount > 0){\r\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\r\n if(records.end_use_topup == 1){\r\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\r\n }\r\n }\r\n \r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.lender = this.loanDetailsForm.controls['lender'].value;\r\n }\r\n if(this.loanDetailsForm.controls['lender'].value == 1){\r\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\r\n } \r\n \r\n \r\n\r\n \r\n /* records.source = this.loanDetailsForm.controls['source'].value;\r\n if (this.loanDetailsForm.controls['source'].value == 'other') {\r\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\r\n }*/\r\n if(this.isOtherSource){\r\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\r\n }\r\n else{\r\n records.other_source = ''; \r\n }\r\n \r\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\r\n if(this.mortageCardAccess == true){\r\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\r\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\r\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\r\n };\r\n // records.owner_name_group = this.ownerNames;\r\n // console.log(this.loanDetailsForm.controls['owner_name'].value);\r\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\r\n let dataOwner_name = [];\r\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\r\n dataOwner_name.push({owner_name: element})\r\n });\r\n records.owner_name_group = dataOwner_name;\r\n }\r\n else{\r\n records.owner_name_group='';\r\n }\r\n \r\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\r\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\r\n \r\n }else{\r\n records.property_type = null;\r\n records.property_type_others = null;\r\n records.owner_name_group = null;\r\n records.construction_status = null;\r\n records.emv_per_customer = null;\r\n }\r\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\r\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\r\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\r\n console.log('data', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n console.log('data', data);\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.notifier.notify('success', 'Saved Successfully.');\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter The All Field');\r\n // }\r\n }\r\n\r\n getLoanDetails() {\r\n console.log(\"Entering LoanDetails GEt\");\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n console.log('value', value);\r\n if (value['dataStatus'] == true) {\r\n let loanDetails = value['records'];\r\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\r\n return loanDetails.end_use_group[key];\r\n });\r\n \r\n\r\n //this.enduse\r\n result.forEach(val => {\r\n this.enduse.push(val.end_use);\r\n //this.endUserList.push({'end_use':val.end_use});\r\n });\r\n let ownername: any = [];\r\n if(loanDetails.owner_name_group != null){\r\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\r\n return loanDetails.owner_name_group[key];\r\n });\r\n owner.forEach(val => {\r\n ownername.push(val.owner_name);\r\n this.ownerNames.push({'end_use':val.end_use});\r\n });\r\n }\r\n // console.log('enduse', enduse);\r\n console.log('ownername', loanDetails);\r\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\r\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\r\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\r\n this.endUserChange(this.enduse);\r\n\r\n if (loanDetails.end_use_other!='') {\r\n //this.endUserChange(this.enduse);\r\n // this.isOtherPurpose=true;\r\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\r\n }\r\n \r\n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \r\n if(loanDetails.topup_amount > 0){\r\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\r\n if (loanDetails.end_use_topup == 1) {\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\r\n }\r\n } \r\n }\r\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n }\r\n if (loanDetails.lender) {\r\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\r\n }\r\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\r\n if(loanDetails.own_contribution)\r\n {\r\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\r\n }\r\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\r\n if(loanDetails.is_transfer!='yes')\r\n {\r\n let source=Object.keys(loanDetails.source_group).map(function(key){\r\n return loanDetails.source_group[key];\r\n });\r\n let dbsourcelist:any=[];\r\n source.forEach(val=>{\r\n dbsourcelist.push(val.sources);\r\n });\r\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\r\n this.sourceChange(dbsourcelist);\r\n if(loanDetails.other_source) {\r\n // this.isOtherSource = true;\r\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\r\n }\r\n \r\n \r\n }\r\n\r\n/* if (loanDetails.lender_name_type) {\r\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\r\n }*/\r\n \r\n if(loanDetails.emi_level){\r\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\r\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\r\n }\r\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \r\n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\r\n this.propertyType =loanDetails.property_type;\r\n if(loanDetails.property_type !=null){\r\n this.mortage_type(this.propertyType);\r\n console.log(\"mortageCardAccess\",this.mortageCardAccess);\r\n if(this.mortageCardAccess == true){\r\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \r\n // this.mortage_type(loanDetails.property_type_others);\r\n \r\n }\r\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\r\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\r\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\r\n if(loanDetails.emv_per_customer)\r\n {\r\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\r\n }\r\n }\r\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\r\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\r\n } else {\r\n\r\n }\r\n })\r\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\r\n this.mortageCardAccess = false;\r\n this.loanDetailsForm.controls['owner_name'].setValue('');\r\n this.loanDetailsForm.controls['owner_name'].clearValidators();\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }else{\r\n this.mortageCardAccess = true;\r\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-banking',\r\n templateUrl: 'pd-question-banking.html',\r\n // changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PdQuestionBankingPage {\r\n \r\n m_btLenderList: any;\r\n applicants: any ;\r\n salaryField: boolean;\r\n FormId: any;\r\n accountType: any;\r\n users: any;\r\n bankDetails:FormGroup;\r\n pdDetails: any;\r\n pdid:any;\r\n bankitems:FormArray;\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n limitCaseFlag: any=[];\r\n amtInwords: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\r\n //this.applicants.pop();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n \r\n console.log(this.pdDetails);\r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.bankDetails = this.fb.group(\r\n {\r\n bankitems:this.fb.array([]),\r\n banking_form_remark:[null],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBankingPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n // let modifyCompanyList : any=[];\r\n // if(this.existCompanyList.length>0){\r\n // modifyCompanyList = this.existCompanyList.map(element => {\r\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n // });\r\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n // console.log(\"Company applicant\",this.mergeCompanyApplicant)\r\n //}\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n console.log(this.mergeCompanyApplicant);\r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n\r\n/** Amount InWords */\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n //console.log(itemrow);\r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n bank_name: [''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n //is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n \r\n addBankDetails() {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem(''));\r\n \r\n //console.log(this.pdQuestionAddress.get('items')['controls']);\r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n\r\n if(this.bankitems.length==1){\r\n this.bankitems.reset();\r\n }\r\n else\r\n this.bankitems.removeAt(i);\r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.banking_details = answerData.bankitems;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n console.log('data', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n console.log('data', data);\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n //console.log(answerData);\r\n }\r\n\r\n retiveBankDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n if(result.length ==0){\r\n console.log(\"Data=0\")\r\n this.bankitems.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n console.log(\"Data>0\")\r\n \r\n \r\n result.forEach((datas,index)=>\r\n {\r\n this.selectedAccTypeChanges(+datas.account_type,index)\r\n if(datas.limit != ''){\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n } \r\n // this.selectedBorrower(datas.applicant_name,index);\r\n this.bankitems.push(this.createBankItem(''));\r\n })\r\n this.bankDetails.controls['bankitems'].setValue(result);\r\n }\r\n \r\n \r\n }else\r\n {\r\n console.log(\"Data False\")\r\n this.addBankDetails();\r\n }\r\n });\r\n \r\n }\r\n}\r\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 console.log(\"applicant details\",this.selected_person);\n console.log('Pd Applicant',this.pdDetails);\n this.users = this.aws.getlocale();\n //console.log('aws',this.users);\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_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_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 // console.log('family full records',val);\n \n let inx=control.length-1;\n //this.getNumberOfFamilyMemberDetails(inx);\n this.initFamilyMembersDetails(inx, val.family_members_details);\n console.log(control);\n \n // console.log('control family',inx);\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 // console.log(\"Controls for family members \",control.length);\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 // console.log(\"family member control\",control);\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 console.log(\"length\",control)\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 // console.log(\"Array\",datavalue);\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\n //console.log(\"form0\",formData['total_number_of_family_members']);\n if(formData['total_number_of_family_members'].valid)\n {\n let totmem=formData['total_number_of_family_members'].value;\n console.log(\"Tot num\",totmem);\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n console.log(\"Form Fields\",control.length)\n if(totmem>=control.length){\n let len=totmem-control.length;\n //console.log(\"if\",len);\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 console.log(\"dataff\",control);\n control.push(this.initFamilyMembersDetails());\n */ \n //console.log(formData['1']);\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 //console.log('data', 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 console.log(\"E value\",e);\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 console.log(data.status);\n this.cityData[i] = data.records.cities; \n this.pincodeData[i] = data.records.pincode;\n console.log(this.cityData);\n }\n });\n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', 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 console.log(120,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 console.log(134,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 console.log(familystatus);\n console.log(count);\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 console.log(answerData);\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 console.log('params', records);\n this.qustCat.saveForm(records).subscribe(res=>\n {\n //console.log(res);\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 console.log(\"family details\",records.family_details);\n //console.log(\"Records\",records);\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 //console.log(JSON.stringify(records));\n this.qustCat.saveForm(records).subscribe(res=>{\n // console.log(\"Result\",);\n\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n this.navCtrl.pop();\n \n },err=>{\n console.log(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 console.log('params', records);\n this.qustCat.saveForm(records).subscribe(res=>\n {\n //console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })*/\n}\n\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 let newControlLength: number;\n let oldControlLength: number = control.length;\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 newControlLength = data.length;\n let index: number = 0;\n while(index < oldControlLength)\n {\n control.removeAt(index);\n index++;\n }\n oldControlLength = newControlLength\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\n let index: number = 0;\n while(index < oldControlLength)\n {\n control.removeAt(index);\n index++;\n }\n oldControlLength = 1;\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 console.log(\"Family Details\",res.record)\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 // console.log('familyMembersGeneralForm',familyMembersGeneralForm);\n });\n Temparr.push(datas);\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 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(\"result\",JSON.stringify(res));\n \n console.log(\"datastatus\",res['dataStatus']);\n \n if(res['status']==200){\n console.log(\"getValue records\",res['records'].family_details);\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 else{\n console.log(\"no data\");\n this.initFamilyDetails(null);\n \n }\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\n \n //console.log(\"datastatus number\",res[0].status)\n },err=>{\n console.log(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 //console.log(non_earning);\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 console.log(earning);\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 console.log(189);\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n console.log(192);\n if(earning.length==0)\n {\n this.addearningMembers();\n console.log('if');\n }else\n {\n earning.forEach(datas => {\n this.count++;\n this.items.push(this.createMembers());\n });\n console.log('else',earning);\n console.log(this.items);\n this.familyForm.controls['earningMembers'].setValue(earning);\n \n }\n //console.log(201,earning);\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssestsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assests',\r\n templateUrl: 'pd-question-assests.html',\r\n})\r\nexport class PdQuestionAssestsPage {\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n m_relation: any;\r\n applicants: any ;\r\n users: any;\r\n FormId: any;\r\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\r\n m_investmentType: { 'id': string; 'name': string; }[];\r\n m_insuranceType: { 'id': string; 'name': string; }[];\r\n m_propertyType: { 'id': string; 'name': string; }[];\r\n m_assets_type: { 'id': string; 'name': string; }[];\r\n pdDetails: any;\r\n assetItem: any;\r\n items:FormArray;\r\n AssetsDetailsForm:FormGroup;\r\n details:FormArray;\r\n FormList:boolean = false;\r\n loadDetails:boolean = true;\r\n assestInfo:any;\r\n\r\n appxMarketAmtInwords: any=[];\r\n OtherAppxMarketAmtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n OtherEmiAmtInwords: any=[];\r\n PremiumPaidInwords: any=[];\r\n OtherPremiumPaidInwords: any=[];\r\n SumAssuredInwords: any=[];\r\n OtherSumAssuredInwords: any=[];\r\n AmtInvestInwords: any=[];\r\n OtherAmtInvestInwords: any;\r\n AssetValueInwords: any=[];\r\n OtherAssetValueInwords: any=[];\r\n B_emiAmtInwords: any=[];\r\n O_emiAmtInwords: any=[];\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n pdid:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\r\n \r\n this.assestInfo = \"busass\";\r\n this.FormId = this.navParams.get('FormId');\r\n console.log(this.FormId);\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.AssetsDetailsForm = this.fb.group(\r\n {\r\n assets_details:this.fb.array([]),\r\n // business_assets_details:this.fb.array([]),\r\n assets_form_remark:['']\r\n \r\n })\r\n \r\n this.getAssetDetails();\r\n this.getdropList();\r\n //this. addAsset(1);\r\n this.loadDetails = true;\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssestsPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n\r\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_propertyType = res['records'];\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_investmentType = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.m_insuranceType =res['records'];\r\n }\r\n })\r\n \r\n \r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_relation = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n console.log(\"Company applicant\",this.mergeCompanyApplicant)\r\n }\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n console.log(\"Applicants\",this.mergeCompanyApplicant);\r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n })\r\n \r\n \r\n \r\n \r\n }\r\n createAsset() : FormGroup\r\n {\r\n return this.fb.group(\r\n {\r\n assets_mode: [null],\r\n details: this.fb.array([]),\r\n approximate_market_value: [null],\r\n name_of_the_owner: [''],\r\n other_owner:[''],\r\n // purchase_year: [null],\r\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n vintage_personal : [''],\r\n // purchase_month: [null],\r\n emi: [null],\r\n // emi_paid: [null],\r\n // elapsed_tenure: [null],\r\n // balance_tenure: [null],\r\n // original_loan_tenure :[null],\r\n });\r\n }\r\n\r\n addAsset(flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n this.assetItem.push(this.createAsset());\r\n }\r\n }\r\n\r\n deleteAsset(i,flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n if(this.assetItem.length==1)\r\n {\r\n this.AssetsDetailsForm.controls['assets_details'].reset();\r\n }else{\r\n this.assetItem.removeAt(i);\r\n } \r\n }\r\n }\r\n \r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n \r\n\r\n loanCalc(details ,flag)\r\n {\r\n if(flag == 1){\r\n //console.log(details.value); \r\n let ElapsedValues;\r\n \r\n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\r\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n show: boolean;\r\n selectedAssetsType(e: any, i: any,flag : any): void {\r\n console.log(e);\r\n console.log(i);\r\n console.log(flag);\r\n let val = i;\r\n if(flag == 1){\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n }\r\n \r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n \r\n control.push(this.loadEquipmentManufacturingDescription());\r\n \r\n break;\r\n }\r\n case '5': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadConsumerDurableDescription());\r\n break;\r\n }\r\n case '6': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInsuranceDescription());\r\n break;\r\n }\r\n case '7': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInvestDescription());\r\n break;\r\n }\r\n case '8': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: ['']\r\n });\r\n }\r\n\r\n loadJwellDescription() {\r\n return this.fb.group({\r\n \r\n });\r\n }\r\n\r\n loadConsumerDurableDescription() {\r\n return this.fb.group({\r\n consumer_durable_description: [null]\r\n });\r\n }\r\n \r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n otherAssetsDescription() {\r\n \r\n return this.fb.group({\r\n any_other_assets: [''],\r\n //any_other_asset_value:[''],\r\n //any_other_asset_loan:['']\r\n });\r\n }\r\n\r\n loadInsuranceDescription() {\r\n return this.fb.group({\r\n insurance_type: [null],\r\n premium_paid: [null],\r\n frequency_mode: [null],\r\n other_frequency_mode:[null],\r\n sum_assured: [null],\r\n members_coverd: [null]\r\n });\r\n }\r\n\r\n loadInvestDescription() {\r\n return this.fb.group({\r\n investments_type: [''],\r\n other_investments_type:[''],\r\n in_which_organisation:[''],\r\n amount_of_invest: [''],\r\n bank_name: ['']\r\n });\r\n }\r\n\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n //manufacturer_model: [''],\r\n manufacturer_model_vehicle: ['']\r\n });\r\n }\r\n\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n\r\n load_Two_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_two_weeler: ['']\r\n });\r\n }\r\n\r\n\r\n\r\n loadPropertyWithData(data) {\r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type]\r\n });\r\n }\r\n\r\n loadJwellDescriptionWithData(data) {\r\n return this.fb.group({\r\n // jwell_description: [data.jwell_description]\r\n });\r\n }\r\n\r\n loadConsumerDurableDescriptionWithData(data) {\r\n return this.fb.group({\r\n consumer_durable_description: [data.consumer_durable_description]\r\n });\r\n }\r\n\r\n otherAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n //any_other_asset_value : [data.any_other_asset_value],\r\n //any_other_asset_loan:[data.any_other_asset_loan]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_value : [data.any_other_asset_value],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadInsuranceDescriptionWithData(data) {\r\n return this.fb.group({\r\n //insurance_type: [data.insurance_type],\r\n premium_paid: [data.premium_paid],\r\n frequency_mode: [data.frequency_mode],\r\n other_frequency_mode:[data.other_frequency_mode],\r\n sum_assured: [data.sum_assured],\r\n members_coverd: [data.members_coverd]\r\n });\r\n }\r\n\r\n loadInvestDescriptionWithData(data) {\r\n return this.fb.group({\r\n investments_type: [data.investments_type],\r\n other_investments_type:[data.other_investments_type],\r\n in_which_organisation:[data.in_which_organisation],\r\n amount_of_invest: [data.amount_of_invest],\r\n bank_name: [data.bank_name]\r\n });\r\n }\r\n\r\n \r\n\r\n load_Four_WeelerWithData(data) {\r\n return this.fb.group({\r\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n\r\n load_Two_WeelerWithData(data) {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n saveAssetDetails(answerData)\r\n {\r\n console.log(answerData);\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n // answerData.assets_details.map(val => {\r\n // if (val.emi == 'no') {\r\n // val.emi_paid = '';\r\n // val.elapsed_tenure = '';\r\n // val.balance_tenure = '';\r\n // val.original_loan_tenure ='';\r\n // }\r\n // });\r\n \r\n answerData.pdid = this.pdDetails.pd_id;\r\n answerData.formid = this.FormId.form_id;\r\n answerData.fk_createdby = this.users;\r\n console.log('final',answerData);\r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n }\r\n apiLoadFinish:boolean = false;\r\n getAssetDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\r\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n return res['records'].assets_details[key];\r\n });\r\n \r\n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n if (assetArray.length > 0) {\r\n for (let val of assetArray) {\r\n let vals = {\r\n assets_mode: val.assets_mode,\r\n approximate_market_value: val.approximate_market_value,\r\n name_of_the_owner: val.name_of_the_owner,\r\n other_owner:val.other_owner,\r\n purchase_year: val.purchase_year,\r\n vintage_personal:val.vintage_personal,\r\n // purchase_month: val.purchase_month,\r\n emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n //assets_form_remark:val.assets_form_remark\r\n };\r\n const control = this.AssetsDetailsForm.controls['assets_details'];\r\n control.push(this.initDetailsWithdata(vals));\r\n \r\n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\r\n }\r\n \r\n }\r\n // if (busarray.length > 0) {\r\n // for (let val of busarray) {\r\n // let vals = {\r\n // assets_mode: val.assets_mode,\r\n // approximate_market_value: val.approximate_market_value,\r\n // name_of_the_owner: val.name_of_the_owner,\r\n // purchase_year: val.purchase_year,\r\n // purchase_month: val.purchase_month,\r\n // emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n // };\r\n // const control = this.AssetsDetailsForm.controls['assets_details'];\r\n // control.push(this.initBusinessDetailsWithdata(vals));\r\n \r\n // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1);\r\n // }\r\n \r\n // }\r\n this.apiLoadFinish = true;\r\n console.log(assetArray);\r\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\r\n }else{\r\n this.apiLoadFinish = true;\r\n this.addAsset(1);\r\n // this.addAsset(2);\r\n }\r\n })\r\n }\r\n\r\n \r\n \r\n \r\n\r\n\r\n initDetailsWithdata(data) {\r\n return this.fb.group({\r\n assets_mode: [data.assets_mode],\r\n details: this.fb.array([]),\r\n approximate_market_value: [data.approximate_market_value],\r\n name_of_the_owner: [data.name_of_the_owner],\r\n other_owner:[data.other_owner || ''],\r\n vintage_personal:[data.vintage_personal],\r\n // purchase_year: [data.purchase_year],\r\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n // purchase_month: [data.purchase_month],\r\n emi: [data.emi || 0],\r\n // emi_paid: [data.emi_paid || ''],\r\n // elapsed_tenure: [data.elapsed_tenure || ''],\r\n // balance_tenure: [data.balance_tenure || ''],\r\n // original_loan_tenure:[data.original_loan_tenure ||''],\r\n //assets_form_remark:[data.assets_form_remark || '']\r\n });\r\n }\r\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\r\n let val = i;\r\n // var data = Object.keys(datas).map(function (key) {\r\n // return datas[key];\r\n // });\r\n // alert(JSON.stringify(datas));\r\n let data = datas;\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n switch (assets_details_mode) {\r\n case '1': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'any_other_assets': datas.any_other_assets,\r\n 'name_of_the_owner':datas.name_of_the_owner,\r\n 'other_owner':datas.other_owner,\r\n //'relation':datas.relation,\r\n // 'any_other_asset_value' : datas.any_other_asset_value,\r\n //'any_other_asset_loan' : datas.any_other_asset_loan,\r\n };\r\n //this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value);\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(array_data));\r\n break;\r\n }\r\n \r\n case '2': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadPropertyWithData(array_data));\r\n break;\r\n }\r\n case '3': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.load_Four_WeelerWithData(array_data));\r\n break;\r\n }\r\n case '4': {\r\n let array_data:any\r\n data.forEach((datas,i)=>{\r\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\r\n })\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '5': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\r\n break;\r\n }\r\n case '6': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { \r\n 'premium_paid': datas.premium_paid,\r\n 'frequency_mode': datas.frequency_mode,\r\n 'other_frequency_mode':datas.other_frequency_mode,\r\n 'sum_assured': datas.sum_assured,\r\n 'members_coverd': datas.members_coverd\r\n };\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\r\n \r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInsuranceDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '7': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\r\n array_data = { 'investments_type': datas.investments_type,\r\n 'other_investments_type' : datas.other_investments_type,\r\n 'in_which_organisation':datas.in_which_organisation,\r\n 'amount_of_invest': datas.amount_of_invest,\r\n 'bank_name': datas.bank_name };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInvestDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '8': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(data));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** On Key Press Event For Number only Accepting */\r\n keyPress(event: any) {\r\n const pattern = /[0-9\\-\\.\\ ]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 3 :\r\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 4 :\r\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 5 :\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 6 :\r\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 7 :\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 8 :\r\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 9 :\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 10 :\r\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 11 :\r\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 12 :\r\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 13:\r\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 14:\r\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\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 } 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 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 constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider, public constant:ConstantsProvider) {\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n console.log(\"pdid\",this.pdid);\n this.FormId = this.navParams.get('FormId');\n this.getFrequency();\n this.users = this.aws.getlocale();\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 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 }else{\n this.incomeDetails.removeAt(index);\n }\n}\ncheckotherDetails(val)\n{\n console.log(\"Change\",val)\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 // console.log(\"Form\",this.otherIncomeForm)\n // console.log(\"Length\",control.length)\n // for(let i=0;i{\n // console.log(\"income earn\",res)\n if(res['dataStatus']==true)\n {\n console.log(\"income Earned by\",res);\n this.incomeEarnedBy=res['record'];\n //console.log(\"res\",res['record'])\n }\n })\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', 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}\ninWords(val,i){\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n}\nsubmitOtherIncome(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.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\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 console.log(124,res);\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 console.log('if');\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n //console.log(res);\n return res['records'].income_details[key];\n\n });\n console.log(this.otherIncomeDetails);\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 this.incomeDetails.push(this.createDetail());\n // console.log(\"Amount\",this.otherIncomeDetails.income_details.amount);\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n \n }else\n {\n console.log('else');\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionPersonalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-personal-info',\r\n templateUrl: 'pd-question-personal-info.html',\r\n})\r\nexport class PdQuestionPersonalInfoPage implements OnInit{\r\n\r\n questionDetails: any;\r\n pdDetails: any;\r\n users: any;\r\n _personalForm: FormGroup;\r\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\r\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\r\n relationShipList:any=[];\r\n \r\n form_id:number;\r\n \r\n\r\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\r\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\r\n \r\n public mainApplicantDetails :any=[];\r\n public coApplicantDetails :any=[];\r\n \r\n errorMessage:any;\r\n //coItem:any;\r\n //mainItem:any;\r\n\r\n repeat:number=3;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n console.log(this.pdDetails);\r\n \r\n \r\n // this.getRelationMaster();\r\n \r\n \r\n \r\n }\r\n ngOnInit() {\r\n \r\n this.loadPDDetails();\r\n this.getRelationMaster();\r\n this.mainApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 1);\r\n // console.log(this.mainApplicantDetails)\r\n this.coApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 0);\r\n }\r\n\r\n // load form pd details\r\n loadPDDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\r\n \r\n this.qustCat.retiverForm(records).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.loadFormWithIDData(data['records']);\r\n \r\n }\r\n else{\r\n let defaultMainApp=[];\r\n let defaultCoApp=[];\r\n // generate default main applicant form details\r\n if(this.mainApplicantDetails.length>0){ \r\n for(let j=0;j this.errorMessage = error);\r\n}\r\n\r\nloadDataStatus: boolean = false;\r\n\r\nloadFormWithIDData(data) {\r\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\r\n return data.main_applicant_details[key];\r\n});\r\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\r\n return data.co_applicant_details[key];\r\n});\r\n\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n relation_ans:new FormControl(item.relation_ans, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark: [data.personal_info_form_remark]\r\n });\r\n //console.log(this._personalForm);\r\n this.loadDataStatus = true;\r\n}\r\n\r\n loadFormData(mainApp,coApp){\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n \r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.coApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.coApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\r\n relation_id:new FormControl(5),\r\n relation_ans:new FormControl(null, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark:null\r\n });\r\n //console.log(this._personalForm);\r\nthis.loadDataStatus = true;\r\n }\r\n\r\n //get pd main applicant array values \r\n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\r\n\r\n // get pd co applicant array values\r\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\r\n\r\n // get relation master details\r\n getRelationMaster(){\r\n let relation =\"RELATIONSHIPS\";\r\n this.qustCat.getcommondrop(relation).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.relationShipList=data['records'];\r\n \r\n }\r\n}, error => this.errorMessage = error);\r\n}\r\n\r\n// submit forms details\r\nsubmitPersonalForm(formData:any) {\r\n if(this._personalForm.valid){\r\n let main_applicantDetails:any=[];\r\n let co_applicantDetails:any=[];\r\n\r\n formData.mainItem.forEach((element,key) => {\r\n if(key==0){\r\n main_applicantDetails.push({\r\n \"name_ans\":element.name_ans,\r\n \"age_ans\":element.age_ans,\r\n \"entity_ans\":element.entity_ans,\r\n \"qualification_ans\":element.qualification_ans,\r\n \"earning_ans\":element.earning_ans, \r\n })\r\n }\r\n \r\n });\r\n formData.coItem.forEach((Coelement,Cokey) => {\r\n co_applicantDetails.push({\r\n\r\n \"name_ans\":Coelement.name_ans,\r\n \"age_ans\":Coelement.age_ans,\r\n \"qualification_ans\":Coelement.qualification_ans,\r\n \"entity_ans\":Coelement.entity_ans,\r\n \"earning_ans\":Coelement.earning_ans, \r\n \"relation_ans\":Coelement.relation_ans, \r\n })\r\n \r\n });\r\n\r\n let save_details:any={\r\n \"pdid\" : this.pdDetails.pd_id,\r\n \"formid\" : '341',\r\n \"fk_createdby\":this.users,\r\n \"main_applicant_details\":main_applicantDetails,\r\n \"co_applicant_details\":co_applicantDetails,\r\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\r\n };\r\n console.log(save_details);\r\n this.qustCat.saveForm(save_details).subscribe(result => {\r\n if (result['dataStatus']==true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.notifier.notify('success', 'Success.');\r\n }\r\n else {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n }\r\n }, error => {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n });\r\n }\r\n}\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionRentalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-rental-info',\r\n templateUrl: 'pd-question-rental-info.html',\r\n})\r\nexport class PdQuestionRentalInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n FormId: any;\r\n rentalForms:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.rentalForms = this.fb.group(\r\n {\r\n person_met:[null,Validators.compose([Validators.required])],\r\n property_own:[null,Validators.compose([Validators.required])],\r\n nature_property:[null,Validators.compose([Validators.required])],\r\n nature_others:[null],\r\n rental_home:this.fb.array([])\r\n })\r\n this.getRentalDetails();\r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\r\n }\r\n\r\n createrentalHome()\r\n {\r\n return this.fb.group(\r\n {\r\n complete_add:[null,Validators.compose([Validators.required])],\r\n area_of_property:[null,Validators.compose([Validators.required])],\r\n structure_property:[null,Validators.compose([Validators.required])],\r\n total_room:[null,Validators.compose([Validators.required])],\r\n is_rent:[null,Validators.compose([Validators.required])],\r\n date_agreement:[null,Validators.compose([Validators.required])],\r\n date_validity:[null,Validators.compose([Validators.required])],\r\n rent_agreement:[null,Validators.compose([Validators.required])],\r\n actual_rent:[null,Validators.compose([Validators.required])],\r\n photo_areegment:[null,Validators.compose([Validators.required])],\r\n property_photographs:[null],\r\n bank:[null,Validators.compose([Validators.required])],\r\n cash:[null,Validators.compose([Validators.required])],\r\n rent_each_floor:[null,Validators.compose([Validators.required])],\r\n total_rent:[null,Validators.compose([Validators.required])],\r\n related_doc_owner:[null,Validators.compose([Validators.required])],\r\n details_tenants:this.fb.array([]),\r\n third_party_check:[null,Validators.compose([Validators.required])],\r\n })\r\n }\r\n\r\n createTenantsDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n name:[null,Validators.compose([Validators.required])],\r\n mobile_no:[null,Validators.compose([Validators.required])],\r\n tenants_seen:[null,Validators.compose([Validators.required])],\r\n tenants_con_owner:[null,Validators.compose([Validators.required])],\r\n rent_paid:[null,Validators.compose([Validators.required])],\r\n staying_since:[null,Validators.compose([Validators.required])],\r\n \r\n });\r\n }\r\n\r\n addrentalHome()\r\n {\r\n const control = this.rentalForms.get('rental_home') as FormArray;\r\n control.push(this.createrentalHome());\r\n this.addTenantsDetails(0);\r\n }\r\n\r\n addTenantsDetails(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\r\n \r\n // console.log(rent); \r\n console.log(control);\r\n // control.controls.splice(0);\r\n control.push(this.createTenantsDetails());\r\n\r\n }\r\n\r\n deleteTenantsDetails(rentIndex,TenantsIndex)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\r\n \r\n control.removeAt(TenantsIndex);\r\n }\r\n\r\n deleterentalHome(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n if(control.length==1)\r\n {\r\n this.rentalForms.controls['rental_home'].reset();\r\n }else\r\n {\r\n control.removeAt(i);\r\n }\r\n }\r\n saveRentalDetails(answerData)\r\n {\r\n //console.log(answerData);\r\n let records:any={}\r\n console.log(this.rentalForms.value);\r\n \r\n \r\n// if(this.rentalForms.valid){\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.person_met = answerData.person_met;\r\n records.property_own = answerData.property_own;\r\n records.nature_property = answerData.nature_property;\r\n if(answerData.nature_property=='others')\r\n {\r\n records.nature_others = answerData.nature_others\r\n }\r\n records.rental_home = answerData.rental_home;\r\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\r\n console.log('data',records);\r\n\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter All Field');\r\n // }\r\n }\r\n\r\n getRentalDetails()\r\n {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n let rentalDetails = res['records'];\r\n var rentalData = Object.keys(res['records'].rental_home\r\n ).map(function(key) {\r\n //console.log(res);\r\n return res['records'].rental_home\r\n [key];\r\n\r\n });\r\n var tanantsData = [];\r\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n var tanantscontrol; \r\n rentalData.forEach((val,index)=>\r\n {\r\n \r\n console.log(index);\r\n // console.log(val);\r\n // this.addrentalHome();\r\n console.log(control);\r\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\r\n // {\r\n \r\n \r\n // return val.details_tenants[key];\r\n // }));\r\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\r\n {\r\n \r\n \r\n return val.details_tenants[key];\r\n });\r\n control.push(this.createrentalHome()); \r\n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \r\n \r\n rentalData[index].details_tenants.forEach((val,key)=>\r\n {\r\n //rentalData[index].details_tenants = val;\r\n \r\n // rentalData[index].details_tenants = [key];\r\n tanantscontrol.push(this.createTenantsDetails());\r\n });\r\n \r\n // console.log(182,control.controls[index].get('details_tenants'));\r\n // control[index].details_tenants =tanantscontrol; \r\n });\r\n // console.log(rentalData);\r\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\r\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\r\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\r\n if(rentalDetails.nature_property=='others'){\r\n this.rentalForms.controls['nature_others'].\r\n setValue(rentalDetails.nature_others);\r\n }\r\n \r\n this.rentalForms.controls['rental_home'].setValue(rentalData); \r\n console.log(this.rentalForms); \r\n }else\r\n {\r\n this.addrentalHome();\r\n // this.addTenantsDetails(0);\r\n }\r\n })\r\n }\r\n createTenantsDetailswithData(index,data)\r\n {\r\n return this.fb.group(\r\n {\r\n name:[data.name],\r\n mobile_no:[data.mobile_no],\r\n tenants_seen:[data.tenants_seen],\r\n tenants_con_owner:[data.tenants_con_owner],\r\n rent_paid:[data.rent_paid],\r\n staying_since:[data.staying_since]\r\n });\r\n }\r\n\r\n validateAllFormFields(formGroup: any) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n \r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control);\r\n } else if (control instanceof FormArray) { \r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDashPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-dash',\r\n templateUrl: 'pd-question-assessed-dash.html',\r\n})\r\nexport class PdQuestionAssessedDashPage {\r\n\r\n businessIncome: boolean;\r\n grossAccess: boolean;\r\n finalAccess: boolean;\r\n finalExpense: any;\r\n finalIncome: any;\r\n finalData: any;\r\n houseExpenseData: boolean;\r\n businessData: boolean;\r\n salesData: boolean;\r\n purchaseData: boolean;\r\n grossprofit: any;\r\n assessedProcess: boolean;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n calc_type_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n mode:[null,Validators.compose([Validators.required])],\r\n margin:[null],\r\n fk_createdby:[this.users],\r\n fk_updatedby:[null],\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getassessedIncome(); \r\n }\r\n getViewPage(pageId)\r\n {\r\n\r\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\r\n }\r\n\r\n saveAssessedForm(answerData)\r\n {\r\n console.log(this.assessedForm.value);\r\n if(this.assessedForm.valid)\r\n {\r\n \r\n \r\n \r\n let records = {'records':this.assessedForm.value};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.getassessedIncome();\r\n }else\r\n {\r\n\r\n }\r\n })\r\n \r\n }\r\n }\r\n\r\n getassessedIncome()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.assessedProcess = true;\r\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\r\n if(res['records'].purchase_details.length !=0)\r\n {\r\n this.purchaseData = true;\r\n }\r\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)\r\n {\r\n this.salesData = true;\r\n }\r\n if(res['records'].business_expenses.length !=0)\r\n {\r\n this.businessData = true;\r\n }\r\n if(res['records'].house_hold_expenses.length !=0)\r\n {\r\n this.houseExpenseData = true;\r\n }\r\n if(res['records'].othre_business_income.length !=0)\r\n {\r\n this.businessIncome = true;\r\n }\r\n console.log(res['records'].final_data.length);\r\n if(res['records'].final_data.length !=0){\r\n this.finalAccess = true;\r\n this.finalData = res['records'].final_data[0]; \r\n this.finalIncome = this.finalData.income;\r\n this.finalExpense = this.finalData.expense; \r\n }\r\n console.log(this.grossprofit);\r\n if(this.grossprofit !==undefined)\r\n {\r\n this.grossAccess = true;\r\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\r\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\r\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\r\n }\r\n \r\n }else\r\n {\r\n this.assessedProcess = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { FormatWidth } from '@angular/common';\r\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-info',\r\n templateUrl: 'pd-question-assessed-info.html',\r\n})\r\nexport class PdQuestionAssessedInfoPage {\r\n\r\n busissnessIncome: any;\r\n mode: any;\r\n grossprofitCalc: any;\r\n houseHold_details: any;\r\n grandHouseExpenseTotal: any;\r\n houseannual: any=[];\r\n businessExpenses_details: any;\r\n grandExpenseTotal: any;\r\n expenseannual: any=[];\r\n businessExpenses: any;\r\n purchse_details: any;\r\n sales_item_month_value: any=[];\r\n sales_wise_month_headers:any = [];\r\n sales_month_wise_data:any = [];\r\n sales_item_value: any;\r\n grandpurchaseTotal: any=null;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n users: any;\r\n pageId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n FormName:any;\r\n annual:any = [];\r\n rawMaterialForm:FormGroup;\r\n BuissnessForm:FormGroup;\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pageId = this.navParams.get('pageId');\r\n\r\n switch(this.pageId)\r\n {\r\n case 1:\r\n this.FormName = \"Sales Page\";\r\n break;\r\n case 2:\r\n this.FormName = \"Purchase Page\";\r\n break;\r\n case 3:\r\n this.FormName = \"Business Expense Page\";\r\n break;\r\n case 4:\r\n this.FormName = \"House Hold Page\";\r\n break;\r\n default:\r\n this.FormName = \"Question Page\";\r\n break;\r\n }\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n sdc_id:[null],\r\n sales_declared_by_customer:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n margin_per:[null],\r\n margin_value:[null],\r\n isactive:[1],\r\n fk_createdby:[this.users],\r\n \r\n });\r\n \r\n \r\n \r\n \r\n // this.getdropList();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\r\n }\r\n\r\n\r\n \r\n \r\n\r\n ionViewDidEnter() {\r\n \r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getAssessedDetails(); \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n getMarginCalc()\r\n {\r\n let margin_per = this.assessedForm.controls['margin_per'].value;\r\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\r\n if(margin_per !=null && sales_declared_by_customer !=null)\r\n {\r\n let value = sales_declared_by_customer * (margin_per/100);\r\n this.assessedForm.controls['margin_value'].setValue(value);\r\n }\r\n }\r\n\r\n saveData(answerData)\r\n {\r\n let records:any = {};\r\n\r\n records ={'records':answerData};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\r\n {\r\n // console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.getAssessedDetails();\r\n }\r\n })\r\n }\r\n \r\n getAssessedDetails()\r\n {\r\n this.sales_item_month_value = [];\r\n this.sales_month_wise_data = [];\r\n this.sales_item_value= [];\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let sales_value = res['records'].sales_declared_by_customer[0];\r\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\r\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\r\n this.purchse_details = res['records'].purchase_details; \r\n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\r\n this.mode = this.grossprofitCalc.mode;\r\n console.log(this.grossprofitCalc);\r\n var result = this.purchse_details.reduce(function(p, c) {\r\n \r\n return p;\r\n },[]);\r\n console.log(result);\r\n\r\n\r\n this.businessExpenses_details = res['records'].business_expenses;\r\n this.houseHold_details = res['records'].house_hold_expenses;\r\n this.busissnessIncome = res['records'].othre_business_income;\r\n // console.log(this.sales_item_month_value);\r\n // this.getpurchaseDetails(this.purchse_details);\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\r\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\r\n let listItems: any=[];\r\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\r\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\r\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\r\n \r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\r\n });\r\n\r\n\r\n console.log(this.sales_month_wise_data);\r\n if(sales_value!==undefined){\r\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\r\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\r\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\r\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\r\n \r\n }\r\n \r\n }\r\n })\r\n\r\n }\r\n\r\n /**\r\n * Add Assessed Forms\r\n */\r\n\r\n AddAssessedForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n\r\n editDetails(salesCal)\r\n {\r\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n editAllDetails(AllsalesData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \r\n }\r\n\r\n /**Assessed Daily Form Details */\r\n\r\n AddAssessedDailyForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\r\n }\r\n editAssessedDailyForm(simId)\r\n {\r\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\r\n console.log(dailySaleDetails);\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\r\n \r\n }\r\n\r\n /**purchase Details Forms */\r\n AddPurchaseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \r\n \r\n }\r\n\r\n editPurchaseDetails(purchaseCal)\r\n {\r\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \r\n \r\n }\r\n editPurchaseAllDetails(AllpurchaseData)\r\n {\r\n console.log('260',AllpurchaseData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \r\n }\r\n \r\n\r\n /**Business Expense */\r\n AddExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editExpenseAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \r\n }\r\n \r\n\r\n /** Household Expenses Details */\r\n AddHouseExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editHouseExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editHouseExpenseAllDetails(AllExpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \r\n }\r\n\r\n /**\r\n * Income Details\r\n */\r\n AddIncomeForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \r\n \r\n }\r\n\r\n editIncomeDetails(expenseCal)\r\n {\r\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \r\n \r\n }\r\n editIncomeAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \r\n }\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedSalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-sales',\r\n templateUrl: 'pd-question-assessed-sales.html',\r\n})\r\nexport class PdQuestionAssessedSalesPage {\r\n\r\n grossprofitCalc: any;\r\n salesData: any =[];\r\n annual: any=[];\r\n grandTotal: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n assessedForm: FormGroup;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n \r\n salesCalItemwise:this.fb.array([]),\r\n });\r\n this.salesData = this.navParams.get('sales');\r\n if(this.salesData!=null)\r\n {\r\n this.getSalesItemData(this.salesData);\r\n }else\r\n {\r\n this.addSalesCal();\r\n }\r\n // this.addSalesCal();\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n createSalesCal()\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n\r\n sales_item:[null,Validators.compose([Validators.required])],\r\n sales_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_sale_value:[null],\r\n margin_per:[null],\r\n margin_per_uom:[null],\r\n margin_final_value:[null],\r\n });\r\n }\r\n\r\n addSalesCal()\r\n {\r\n if(this.assessedForm.valid){\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n control.push(this.createSalesCal());\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the all fields');\r\n }\r\n }\r\n \r\n removeSalesCal(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n console.log(this.grandTotal);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(i);\r\n this.addSalesCal(); \r\n } else{\r\n control.removeAt(i);\r\n }\r\n }\r\n /**\r\n * frequency Type \r\n * 1.Weekly no need\r\n * 2.Daily 250\r\n * 3.Yearly \r\n * 4.Hourly no need\r\n * 5.Monthly 12\r\n * 6.none\r\n * 7.none\r\n * 8.none\r\n */\r\n salecalculat(index,details)\r\n {\r\n // console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let salesQty = details.value.sales_qty;\r\n let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,salesQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(salesQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (salesQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (salesQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (salesQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\r\n }\r\n \r\n \r\n \r\n \r\n console.log(this.annual);\r\n }\r\n\r\n getSalesCalc(details)\r\n {\r\n // console.log(details);\r\n let margin_per = details.value.margin_per;\r\n let margin_amount = details.value.margin_per_uom;\r\n let annual_sale_value = details.value.annual_sale_value;\r\n let sales_qty = details.value.sales_qty;\r\n // console.log(sales_qty,margin_amount);\r\n let value:any = '';\r\n if(margin_per !=null || margin_amount !=null){\r\n if(margin_per !=null)\r\n {\r\n value = +annual_sale_value * (+margin_per/100);\r\n }else\r\n {\r\n console.log('else');\r\n value = +sales_qty* +margin_amount;\r\n }\r\n console.log(value);\r\n details.controls['margin_final_value'].setValue(value);\r\n }\r\n }\r\n saveData(answerData)\r\n {\r\n let records = {'records':answerData.salesCalItemwise};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n }\r\n \r\n getSalesItemData(salesData)\r\n {\r\n console.log(salesData);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n\r\n salesData.forEach((sale,index)=>{\r\n \r\n this.annual[index] = sale.annual_sale_value\r\n control.push(this.createSaleswithData(sale));\r\n })\r\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\r\n // console.log(control);\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }\r\n\r\n createSaleswithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[data.sci_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\r\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_sale_value:[data.annual_sale_value],\r\n margin_per:[data.margin_per],\r\n margin_per_uom:[data.margin_per_uom],\r\n margin_final_value:[data.margin_final_value],\r\n });\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDailySalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-daily-sales',\r\n templateUrl: 'pd-question-assessed-daily-sales.html',\r\n})\r\nexport class PdQuestionAssessedDailySalesPage {\r\n\r\n currentDate: string;\r\n grossprofitCalc: any;\r\n salesDaily: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n salesDailyForm: FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.salesDaily = this.navParams.get('salesDaily');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\r\n console.log(this.currentDate);\r\n this.salesDailyForm = this.fb.group(\r\n {\r\n sales_product: this.fb.array([]),\r\n })\r\n if (this.salesDaily != null) {\r\n this.getDailySalesData(this.salesDaily);\r\n } else {\r\n this.adddailySalaesProduct();\r\n\r\n }\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\r\n }\r\n\r\n createdailysalesProduct() {\r\n return this.fb.group(\r\n {\r\n sim_id: [null],\r\n sales_item: [null, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n margin_per: [null],\r\n margin_value: [null],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n });\r\n }\r\n createdailyChildSaleProduct() {\r\n return this.fb.group({\r\n simc_id: [null],\r\n fk_sim_id: [null],\r\n sales_date: [null, Validators.compose([Validators.required])],\r\n sales_value: [null, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n }\r\n temparr = [];\r\n tempdate = [];\r\n getSalesCalc(subchild,child,key) {\r\n console.log(key);\r\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\r\n let totalitemmargin = child.value.margin_per;\r\n \r\n if (totalitemmargin != null && subchild.value.sales_value !=null) {\r\n let loopAccess = false;\r\n let loopindex = 0;\r\n if (this.tempdate.length != 0) {\r\n for (var i = 0; i < this.tempdate.length; i++) {\r\n\r\n if (this.tempdate[i].month == saledate) {\r\n loopAccess = true;\r\n loopindex = i;\r\n }\r\n }\r\n\r\n if (loopAccess) {\r\n\r\n // console.log(loopAccess,loopindex);\r\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\r\n this.temparr.push(subchild.value.sales_value);\r\n loopAccess = false;\r\n loopindex = 0;\r\n // console.log('merge');\r\n } else {\r\n // console.log(loopAccess,loopindex); \r\n // console.log('push');\r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n\r\n } else {\r\n // console.log('else')\r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\r\n this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n let totalMonth = 12 / this.tempdate.length;\r\n console.log(this.tempdate);\r\n\r\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\r\n console.log(tempgrandTotal);\r\n // let value = tempgrandTotal * (totalitemmargin / 100);\r\n let value = tempgrandTotal*totalMonth ;\r\n console.log(value);\r\n let grandValue = value * (totalitemmargin / 100);\r\n child.controls['margin_value'].setValue(grandValue);\r\n \r\n }\r\n \r\n }\r\n adddailySalaesProduct() {\r\n this.tempdate = [];\r\n if (this.salesDailyForm.valid) {\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n control.push(this.createdailysalesProduct());\r\n // console.log(control.length);\r\n this.adddailyChildSaleProduct(control.length - 1);\r\n }\r\n }\r\n adddailyChildSaleProduct(index) {\r\n // if(this.salesDailyForm.valid){\r\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\r\n\r\n control.push(this.createdailyChildSaleProduct());\r\n // }\r\n }\r\n\r\n deletedailySalesProduct(index) {\r\n console.log(index);\r\n this.tempdate.slice(index,1);\r\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\r\n if (control.length == 1) {\r\n this.salesDailyForm.controls['sales_product'].reset();\r\n } else {\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\r\n this.tempdate = [];\r\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(saleChildIndex);\r\n this.adddailyChildSaleProduct(saleIndex); \r\n }else{\r\n control.removeAt(saleChildIndex);\r\n }\r\n }\r\n saveData(answerData) {\r\n if (this.salesDailyForm.valid) {\r\n let records = { 'records': answerData.sales_product };\r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\r\n if (res['dataStatus'] == true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n getDailySalesData(dailySalesData) {\r\n console.log(dailySalesData);\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n let salesChildControl;\r\n let salesChildControlarr = [];\r\n dailySalesData.forEach((val, index) => {\r\n\r\n control.push(this.dailySalesWithData(val));\r\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\r\n\r\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\r\n\r\n salesChildControlarr[index].forEach((vals, i) => {\r\n vals.forEach((item, key) => {\r\n let saleDate = new Date(item.sales_date);\r\n\r\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\r\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\r\n })\r\n\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n dailySalesWithData(data) {\r\n\r\n return this.fb.group(\r\n {\r\n sim_id: [data.sim_id],\r\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n margin_per: [data.margin_per],\r\n margin_value: [data.margin_value],\r\n })\r\n }\r\n dailySalesChildWithData(data, fk_id) {\r\n\r\n\r\n return this.fb.group(\r\n {\r\n simc_id: [data.simc_id],\r\n fk_sim_id: [fk_id],\r\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\r\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedPurchasePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-purchase',\r\n templateUrl: 'pd-question-assessed-purchase.html',\r\n})\r\nexport class PdQuestionAssessedPurchasePage {\r\n purchaseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n businessExpenses: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n annual: any = [];\r\n grandpurchaseTotal: any;\r\n rawMaterialForm:FormGroup;\r\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.purchaseDetails = this.navParams.get('purchase');\r\n this.users = this.aws.getlocale();\r\n this.rawMaterialForm = this.fb.group(\r\n {\r\n purchase:this.fb.array([]),\r\n });\r\n if(this.purchaseDetails!=null)\r\n {\r\n this.getpurchaseDetails(this.purchaseDetails);\r\n }else\r\n {\r\n this.addPurchaseDetails();\r\n }\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\r\n }\r\n\r\n\r\n createPurchaseDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[null,Validators.compose([Validators.required])],\r\n purchase_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_purchase_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n }\r\n })\r\n }\r\n addPurchaseDetails()\r\n {\r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.push(this.createPurchaseDetails());\r\n }\r\n\r\n deletePurchaseDetails(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.removeAt(i); \r\n }\r\n\r\n\r\n salecalculat(index,details)\r\n {\r\n console.log(this.grandpurchaseTotal);\r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let purchaseQty = details.value.purchase_qty;\r\n let UOM = details.value.rate_per_unit;\r\n console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(purchaseQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (purchaseQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (purchaseQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (purchaseQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\r\n }\r\n }\r\n savepurchaseData(answerData)\r\n {\r\n if(this.rawMaterialForm.valid){\r\n let records = {'records':answerData.purchase};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.getAssessedDetails();\r\n \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getpurchaseDetails(purchaseDetails)\r\n {\r\n console.log('function in',purchaseDetails);\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \r\n console.log(control); \r\n if(purchaseDetails.length ==0)\r\n {\r\n console.log('if');\r\n this.addPurchaseDetails();\r\n }else{\r\n console.log('else');\r\n purchaseDetails.forEach((val,index)=>\r\n {\r\n // console.log(index);\r\n control.push(this.createPurchasewithData(val));\r\n this.annual[index] = val.annual_purchase_value;\r\n });\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\r\n }\r\n // console.log(control); \r\n \r\n }\r\n\r\n createPurchasewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[data.purchase_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\r\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business',\r\n templateUrl: 'pd-question-assessed-business.html',\r\n})\r\nexport class PdQuestionAssessedBusinessPage {\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n grandpurchaseTotal(arg0: any): any {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n grandExpenseTotal: any=[];\r\n expenseannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessExpenses:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busExpense:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\r\n }\r\n\r\n\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[null,Validators.compose([Validators.required])],\r\n expense_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_expenses_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.expenseannual.splice(i,1); \r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busExpensecalculat(index,details)\r\n {\r\n \r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n // console.log(answerData);\r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busExpense};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.expenseannual[index] = val.annual_expenses_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[data.pd_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\r\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedHouseholdPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-household',\r\n templateUrl: 'pd-question-assessed-household.html',\r\n})\r\nexport class PdQuestionAssessedHouseholdPage {\r\n\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n houseExpenseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n houseannual: any =[];\r\n grandHouseExpenseTotal: any=[];\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.houseExpenseDetails = this.navParams.get('FormId');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.houseHoldForm = this.fb.group(\r\n {\r\n houseExpense:this.fb.array([]),\r\n });\r\n if(this.expenseDetails !=null)\r\n {\r\n this.getHouseholdExpense(this.expenseDetails);\r\n }else\r\n {\r\n this.addHouseExpenses();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n createHouseExpense()\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[null],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [null,Validators.compose([Validators.required])],\r\n\t\t expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n\r\n addHouseExpenses()\r\n {\r\n \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n\r\n control.push(this.createHouseExpense());\r\n }\r\n\r\n deleteHouseExpense(i)\r\n {\r\n this.houseannual.splice(i,1); \r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n control.removeAt(i) \r\n }\r\n houseExpensecalculat(index,details)\r\n {\r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(details);\r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n console.log(this.grandHouseExpenseTotal); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n saveHouseExpenseData(answerData)\r\n {\r\n if(this.houseHoldForm.valid)\r\n {\r\n let records = {'records':answerData.houseExpense};\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n getHouseholdExpense(houseExpesneDetails)\r\n {\r\n if(houseExpesneDetails.length==0)\r\n {\r\n this.addHouseExpenses(); \r\n }else\r\n {\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \r\n houseExpesneDetails.forEach((val,index)=>\r\n {\r\n this.houseannual[index] = val.annual_expense_value;\r\n control.push(this.createHouseholdwithData(val));\r\n \r\n });\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createHouseholdwithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[data.household_expense_id],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\r\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business-income',\r\n templateUrl: 'pd-question-assessed-business-income.html',\r\n})\r\nexport class PdQuestionAssessedBusinessIncomePage {\r\n m_freqOfPurchase: any = [];\r\n expenseDetails: any;\r\n \r\n grandIncomeTotal: any=[];\r\n incomeannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessIncome:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('income');\r\n console.log(this.expenseDetails);\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busIncome:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\r\n }\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[null,Validators.compose([Validators.required])],\r\n income_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_income_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[null],\r\n other_frequncy_item:[null],\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.incomeannual.splice(i,1); \r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busIncomecalculate(index,details)\r\n {\r\n \r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let incomeValue = details.value.income_value;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual:any;\r\n if(incomeValue!=null && incomeValue !=null){\r\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \r\n if(frequencyId==1)\r\n {\r\n console.log(frequency_factor.mutiple_factor);\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==2)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==5)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==7)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==8)\r\n {\r\n annual = (incomeValue);\r\n this.incomeannual[index] = annual; \r\n details.controls['annual_income_value'].setValue(annual); \r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n // console.log(answerData);\r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busIncome};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.incomeannual[index] = val.annual_income_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[data.pd_business_income_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\r\n income_value:[data.income_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[data.other_income_item],\r\n other_frequncy_item:[data.other_frequncy_item],\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionLenderRepresentativePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-lender-representative',\r\n templateUrl: 'pd-question-lender-representative.html',\r\n})\r\nexport class PdQuestionLenderRepresentativePage {\r\n\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n representativeForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.representativeForm = this.fb.group({\r\n pdid:[this.pdDetails.pd_id],\r\n formid:[this.FormId.form_id],\r\n fk_createdby:[this.users],\r\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\r\n representative_remarks: ['', Validators.compose([Validators.required])],\r\n lender_representative_details: this.fb.array([]),\r\n });\r\n this.getLenderReDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\r\n }\r\n \r\n createlenReDetails()\r\n {\r\n return this.fb.group({\r\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\r\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n selectedLoanChanges(e): void {\r\n if (e.value == 'Yes') {\r\n const control = this.representativeForm.controls['lender_representative_details'];\r\n control.push(this.createlenReDetails());\r\n } else if (e.value == 'No') {\r\n const arr = this.representativeForm.controls.lender_representative_details;\r\n arr.removeAt(0);\r\n }\r\n }\r\n\r\n sumbitData(answerData)\r\n { \r\n if(this.representativeForm.valid)\r\n {\r\n let records = this.representativeForm.value;\r\n \r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getLenderReDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let lenderReDetails = res['records'];\r\n if(lenderReDetails.lender_representative_accompany=='Yes'){\r\n\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n\r\n\r\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\r\n {\r\n return res['records'].lender_representative_details[key];\r\n });\r\n console.log(lender_represent_details);\r\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \r\n lender_represent_details.forEach(val=>\r\n {\r\n control.push(this.createlenReDetails());\r\n })\r\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\r\n\r\n }else\r\n {\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\r\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { DatePipe} from '@angular/common';\r\nimport {PdPipe} from './../../../pipes/pd/pd';\r\nimport { removeSummaryDuplicates } from '@angular/compiler';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-info',\r\n templateUrl: 'pd-question-general-info.html',\r\n providers:[PdPipe],\r\n})\r\nexport class PdQuestionGeneralInfoPage {\r\n pipe=new DatePipe('en-US');\r\n // person_name:any;\r\n qualification_name:any;\r\n individuals_order_id:any;\r\n is_new:any;\r\n pd_co_applicant_id:any;\r\n lengthv:any;\r\n qual_name:any;\r\n curr_qualification_name;\r\n curr_business_name;\r\n \r\n\r\n applicant_name: any;\r\n otherapp: any;\r\n fetch_related_details: any = [];\r\n checkApplicantExist: any;\r\n pd_applicants_details: any = [];\r\n companyRelationShipList: any;\r\n qualificationList:any;\r\n businessEntityTypeList:any;\r\n relationShipList: any;\r\n titleList:any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n generalForm:FormGroup;\r\n fulldata:any\r\n public buttonClick:boolean;\r\n public h_companies:boolean\r\n datav:any;\r\n individualsListBothCase:any;\r\n individualsList:any;\r\n companyList:any;\r\n i:number;\r\n data_all:any;\r\n maxDate:any;\r\n OldData:any=[];\r\n OldData_indi:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\r\n this.maxDate = new Date();\r\n // console.log(this.maxDate);\r\n this.pd_applicants_details = []; \r\n this.pd_applicants_details.pop(); \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n //console.log(\"Full pd\",this.pdDetails);\r\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\r\n //this.maxDate=new Date(get_max_date)\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n // console.log(this.pdDetails);\r\n this.users = this.aws.getlocale();\r\n this.getdropdown();\r\n \r\n this.generalForm = this.fb.group({\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n applicant_list: this.fb.array([]),\r\n applicant_relation: this.fb.array([]),\r\n list_value:this.fb.array([]),\r\n company_value:this.fb.array([]),\r\n individuals:this.fb.array([]),\r\n companies:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n company_with_relationships:this.fb.array([]),\r\n \r\n general_remark:''\r\n });\r\n \r\n //this.initIndividuals();\r\n this.pd_applicants_details = this.pdDetails.applicat_details;\r\n // console.log(this.pd_applicants_details);\r\n // console.log(this.pd_applicants_details);\r\n \r\n \r\n \r\n // this.getcoapplicantDetails();\r\n this.buttonClick=false;\r\n this.h_companies=false;\r\n // this.initCompanies()\r\n this.datav=[{\r\n name:\"fairoj\",\r\n id:1\r\n },\r\n {\r\n name:\"ff\",\r\n id:2\r\n }\r\n \r\n ]\r\n //this.fulldata=this.generalForm.value\r\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['list_value'];\r\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\r\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\r\n this.fulldata=control.value;\r\n //control.controls.length\r\n //control.push()\r\n // console.log(\"individualsListBothCase\",this.individualsListBothCase);\r\n });\r\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['company_value'];\r\n this.companyList=control.value.filter(element=>element.company_name )\r\n })\r\n this.i=0;\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n // this.pd_applicants_details.pop();\r\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\r\n this.getGeneralForm()\r\n }\r\n\r\n initlistv(data,purpose) :void\r\n {\r\n // console.log(\"full data length\",this.lengthv.individuals.length);\r\n //console.log(\"gne data\",data)\r\n const control=this.generalForm.controls['list_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[this.lengthv.individuals.length+1],\r\n is_new:true,\r\n is_active:true,\r\n pd_co_applicant_id:[this.lengthv.individuals.length+1], \r\n \r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n if(purpose=='get'){\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[val.individuals_order_id],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n pd_co_applicant_id:[val.pd_co_applicant_id] , \r\n \r\n \r\n \r\n \r\n\r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n}\r\n\r\n qualificationById(data):string{\r\n //console.log(\"qualification List\",this.qualificationList.length)\r\n //console.log(\"value\",data)\r\n console.log(\"qual List inside fun\",this.qualificationList);\r\n for(let i of this.qualificationList){\r\n if(data==i.qualification_id){\r\n this.qual_name=i.qualification_name\r\n //console.log(\"i\",this.qual_name)\r\n return this.qual_name\r\n }\r\n }\r\n \r\n }\r\n initCompanyValue(data,purpose):void{\r\n const control=this.generalForm.controls['company_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n \r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[this.lengthv.companies.length+1],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:true,\r\n is_active:true,\r\n company_messrs_name:['M/s'],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n if(purpose=='get')\r\n {\r\n for(let val of data)\r\n {\r\n \r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[val.company_order_id],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n company_messrs_name:[val.company_messrs_name],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n //console.log(\"finished company Value\");\r\n this.h_companies=false;\r\n }\r\n }\r\n }\r\n businessEntityById(val):string{\r\n //console.log(\"qualification List\",this.qualificationList.length)\r\n // console.log(\"value\",val)\r\n console.log(\"businessEntity List inside fun\",this.businessEntityTypeList)\r\n for(let v of this.businessEntityTypeList){\r\n if(val==v.business_entity_type_id){\r\n var name=v.business_entity_type_name\r\n // console.log(\"i\",v.business_entity_type_name)\r\n return name\r\n }\r\n }\r\n \r\n }\r\n \r\n\r\n initIndividuals():void{\r\n let formData : FormGroup=this.fb.group({\r\n applicant_name:['',Validators.required],\r\n is_person_met:false,\r\n is_applicant:false,\r\n age:['',Validators.required],\r\n qualification:['',Validators.required],\r\n course_name:[''],\r\n applicant_title_name:['']\r\n\r\n });\r\n \r\n const control=this.generalForm.controls['individuals'];\r\n control.controls=[]\r\n control.push(formData);\r\n \r\n \r\n }\r\n initCompanies():void{\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[''],\r\n is_company_applicant:false,\r\n business_entity_type:[''],\r\n business_entity_type_other:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_date_object:['']\r\n });\r\n const control=this.generalForm.controls['companies'];\r\n control.controls=[]\r\n control.push(formData)\r\n }\r\n initPersonRelationship(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[''],\r\n applicant_name:[''],\r\n relationship:[''],\r\n relation_to:[''],\r\n individuals_order_id:[this.lengthv.persons_with_relationships.length+1],\r\n \r\n });\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value)\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[val.pd_co_applicant_id],\r\n applicant_name:[val.applicant_name],\r\n relationship:[val.relationship],\r\n relation_to:[val.relation_to],\r\n });\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n initCompanyRelationShip(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[''],\r\n company_relationship:[''],\r\n relation_to_company:[''],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value){\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n company_relationship:[val.company_relationship],\r\n relation_to_company:[val.relation_to_company],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n add():void{\r\n \r\n this.initIndividuals();\r\n }\r\ndata:any;\r\ncart=[];\r\ndatajson:any;\r\ndataobj:any;\r\n\r\n addRec(v){\r\n //console.log(\"v\",v);\r\n if(v=='1')\r\n {\r\n this.buttonClick=!this.buttonClick;\r\n this.initIndividuals();\r\n }\r\n if(v=='2')\r\n {\r\n this.h_companies=!this.h_companies;\r\n this.initCompanies();\r\n }\r\n }\r\n \r\n delete(v):void{\r\n // const control=this.generalForm.controls['individuals'];\r\n //control.removeAt(i);\r\n //this.data=this.generalForm.value.individuals;\r\n /* console.log(\"Data First\",this.data);\r\n this.cart.push(this.generalForm.value.individuals);\r\n this.data=Object.assign(this.cart);\r\n console.log(\"Cart\",this.cart);\r\n // this.data=Object.assign(this.generalForm.value.individuals)\r\n this.datajson=JSON.stringify(this.cart)\r\n console.log(\"dataobj\",this.dataobj)\r\n console.log(\"data\",this.data);\r\n console.log(\"datajson\",this.datajson)*/\r\n if(v=='1')\r\n {\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initlistv(this.generalForm.value.individuals,'ins')\r\n this.initPersonRelationship('');\r\n }\r\n }\r\n else if(v=='2')\r\n {\r\n if(!this.generalForm.controls['companies'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initCompanyValue(this.generalForm.value.companies,'ins')\r\n }\r\n }\r\n \r\n }\r\n removeList(i,index){\r\n if(index=='1')\r\n {\r\n //For List List_value(Individuals)\r\n const control=this.generalForm.controls['list_value'];\r\n control.value[i].is_active=false;\r\n this.OldData_indi.push(control.value[i])\r\n control.removeAt(i);\r\n //For Person RelationShip auto Delete\r\n // const control1=this.generalForm.controls['persons_with_relationships'];\r\n //control1.removeAt(i);\r\n \r\n }\r\n if(index==2){\r\n //For Company_values(Companies)\r\n const control=this.generalForm.controls['company_value']\r\n control.value[i].is_active=false\r\n var vla=control.value[i]\r\n this.OldData.push(vla);\r\n //console.log(vla);\r\n //console.log(this.OldData);\r\n control.removeAt(i);\r\n \r\n\r\n // let control: any = this.generalForm.get('companies') as FormArray;\r\n //this.generalForm.controls['companies']\r\n //control.controls['is_active'].setValue(false);\r\n //control.controls[i].clearValidators();\r\n //control.controls[i].updateValueAndValidity();\r\n //control.clear\r\n // control.controls[i].is_active.setValue(false);\r\n /* control.controls[i].controls.company_name.clearValidators();\r\n control.controls[i].controls.company_name.updateValueAndValidity();\r\n control.controls[i].controls.business_years.clearValidators();\r\n control.controls[i].controls.business_years.updateValueAndValidity();\r\n control.controls[i].controls.business_entity_type.clearValidators();\r\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\r\n }\r\n if(index==\"companyrel\")\r\n {\r\n //For company_relationship\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.removeAt(i);\r\n }\r\n }\r\n \r\n \r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\r\n if(res['dataStatus']==true)\r\n {\r\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\r\n //console.log(\"qualificationList\",this.qualificationList)\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\r\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\r\n });\r\n\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.titleList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n }\r\n\r\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\r\n {\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n if(checkApplicantExist.length > 0)\r\n {\r\n checkApplicantExist.forEach(val => {\r\n applicantControl.push(this.createApplicant(val));\r\n });\r\n \r\n }\r\n if(exist_applicant_relation.length > 0){\r\n exist_applicant_relation.forEach(val => {\r\n // console.log(val);\r\n relationControl.push(this.createApplicantRelation(val));\r\n //push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }\r\n }\r\n\r\n createApplicant(elementValue:any){\r\n return this.fb.group({\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name],\r\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\r\n });\r\n }\r\n\r\n coapplicantChange(event,index,item)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n if(item.exist_status.value)\r\n {\r\n if(item.pd_co_applicant_id.value==0){\r\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\r\n modal.onDidDismiss(data => {\r\n if(data!=1){\r\n data.otherName.forEach(val=>\r\n {\r\n\r\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':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n \r\n }\r\n });\r\n modal.present();\r\n }else\r\n {\r\n \r\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':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(item.applicant_name.value);\r\n }\r\n }\r\n else\r\n {\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let pos_id = relationControl.value.map(e=> \r\n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\r\n // console.log(pos_id,item.pd_co_applicant_id.value);\r\n if(item.pd_co_applicant_id.value !=0){\r\n relationControl.removeAt(pos_id);\r\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\r\n this.fetch_related_details.splice(pos_name, 1); \r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n }\r\n // remove related to details\r\n \r\n }\r\n\r\n }\r\n\r\n createApplicantRelation(elementValue: any) {\r\n //console.log('function in 156'); \r\n return this.fb.group({\r\n \r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\r\n company_relationship: [elementValue.company_relationship],\r\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\r\n relationship: [elementValue.relationship],\r\n });\r\n }\r\n // temparr=[];\r\n removereferance(index)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n \r\n \r\n relationControl.removeAt(index);\r\n // this.temparr = [];\r\n \r\n }\r\n // createApplicateOthers()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // Name:\r\n // })\r\n // }\r\n ConvertMonthintoYearforBusiness(e,controlIndex){\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control = control.controls[controlIndex];\r\n let business_year = control.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n control.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\ngetDateObjects(values: any, controlIndex) {\r\n // console.log(\"Date Change Action\",values);\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control.controls['business_years']=''\r\n control.controls['business_month']=''\r\n control = control.controls[controlIndex];\r\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\r\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\r\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\r\n let diff: number = Math.floor(diffInMs / 1000);\r\n diff /= (60 * 60 * 24 * 30);\r\n diff=Math.abs(Math.round(diff));\r\n control.controls['business_years'].setValue(0);\r\n control.controls['business_month'].setValue(0);\r\n \r\n if(diff){\r\n control.controls['business_years'].setValue(Math.floor(diff / 12));\r\n control.controls['business_month'].setValue(Math.floor(diff % 12));\r\n }\r\n\r\n}\r\n submitData(answerData)\r\n {\r\n \r\n console.log(\"Answer\",answerData);\r\n let saveRecords:any={}\r\n var valuesData_indi:any=[]\r\n\r\n var valuesData:any=[]\r\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\r\n return answerData.list_value[key]\r\n })\r\n existData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n if(this.OldData_indi.length>0){\r\n this.OldData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n }\r\n\r\n var existData=Object.keys(answerData.company_value).map(function(key){\r\n return answerData.company_value[key]\r\n })\r\n existData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n if(this.OldData.length>0){\r\n this.OldData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n }\r\n \r\n saveRecords.individuals=valuesData_indi;\r\n saveRecords.companies=valuesData\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.fk_createdby=this.users;\r\n \r\n \r\n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\r\n saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.general_remark=answerData.general_remark;\r\n console.log(\"save Records\",saveRecords);\r\n \r\n \r\n \r\n //console.log(\"saveR\",saveRecords)\r\n //console.log(\"Save\",valuesData)\r\n \r\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\r\n if(dataResult['dataStatus']==true){\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n //console.log(\"Error\",)\r\n }\r\n })\r\n \r\n /* Old Data\r\n console.log(\"Answer Data\",answerData);\r\n if(this.generalForm.valid)\r\n {\r\n let saveRecords:any = {}\r\n let applicantList:any=[];\r\n let applicantRelationList:any=[];\r\n // this for applicant list for selected\r\n answerData.applicant_list.forEach((element,key) => {\r\n if(element.exist_status==1){\r\n applicantList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n }) \r\n }\r\n });\r\n // this is for selected applicant relation \r\n answerData.applicant_relation.forEach((element,key) => {\r\n applicantRelationList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n \"company_name\":element.company_name,\r\n \"company_relationship\":element.company_relationship,\r\n \"applicant_relation_to\":element.applicant_relation_to,\r\n \"relationship\":element.relationship,\r\n }) \r\n });\r\n \r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.general_remark=answerData.general_remark;\r\n saveRecords.selected_applicant=applicantList;\r\n saveRecords.applicant_relation=applicantRelationList;\r\n saveRecords.fk_createdby = this.users;\r\n console.log(saveRecords);\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n } \r\n })\r\n }*/\r\n }\r\n\r\n getGeneralForm()\r\n {\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n this.data_all=res['records'];\r\n var exist_companies:any;\r\n let companyControl = this.generalForm.get('companies') as FormArray;\r\n companyControl.controls=[]\r\n if(res['dataStatus']==true)\r\n {\r\n // console.log(\"Getting DAta\",res);\r\n \r\n this.lengthv=this.data_all;\r\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\r\n //console.log(\"1\")\r\n this.initlistv(this.data_all.individuals,'get')\r\n\r\n /* var arrlist_indi:any=[] \r\n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\r\n return res['records'].individuals[key];\r\n }) \r\n if(exist_individuals.length>0){\r\n exist_individuals.forEach((element)=>{\r\n if(element.is_active != false){\r\n arrlist_indi.push(element);\r\n }\r\n })\r\n }*/\r\n // console.log(\"2\")\r\n \r\n \r\n \r\n\r\n var arraylis:any=[]\r\n exist_companies=Object.keys(res['records'].companies).map(function(key){\r\n return res['records'].companies[key];\r\n })\r\n if(exist_companies.length>0){\r\n exist_companies.forEach((element,cindex)=>{\r\n if(element.is_active!=false){\r\n arraylis.push(element);\r\n }\r\n else{\r\n this.OldData.push(element);\r\n }\r\n })\r\n \r\n }\r\n //console.log(exist_companies);\r\n //console.log(\"Old Data\",this.OldData);\r\n this.initCompanyValue(arraylis,'get');\r\n // console.log(\"3\")\r\n \r\n if(this.data_all.persons_with_relationships != ''){\r\n // console.log(\"Entering personwithRelation\")\r\n this.initPersonRelationship(this.data_all.persons_with_relationships);\r\n //console.log(\"4\")\r\n }\r\n\r\n if(this.data_all.company_with_relationships != ''){\r\n this.initCompanyRelationShip(this.data_all.company_with_relationships);\r\n // console.log(\"5\")\r\n }\r\n \r\n }\r\n else{\r\n // console.log(\"Error\");\r\n }\r\n })\r\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n console.log('function in');\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n let generalDetails = res['records'];\r\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\r\n\r\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\r\n {\r\n console.log(key);\r\n return res['records'].applicant_relation[key];\r\n });\r\n\r\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\r\n {\r\n return res['records'].selected_applicant[key].pd_co_applicant_id;\r\n });\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\r\n let checkApplicantExist =actual_applicant.map((id, index) => {\r\n if (selected_applicant.indexOf(id) < 0) {\r\n this.pd_applicants_details[index].exist_status=0;\r\n return this.pd_applicants_details[index];\r\n }\r\n else{\r\n this.pd_applicants_details[index].exist_status=1;\r\n this.pd_applicants_details[index].applicant_relation_to='';\r\n this.pd_applicants_details[index].relation='';\r\n return this.pd_applicants_details[index];\r\n }\r\n }).filter(item => item != undefined);\r\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\r\n }else\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n }\r\n })*/\r\n }\r\n createCompanies(elementValue:any) {\r\n return this.fb.group({\r\n company_order_id: [elementValue.company_order_id],\r\n company_name: [elementValue.company_name,],\r\n company_messrs_name: ['M/s'],\r\n is_company_applicant:[elementValue.is_company_applicant],\r\n business_entity_type :[elementValue.business_entity_type,Validators.required],\r\n business_years: [elementValue.business_years, Validators.required],\r\n business_month: [elementValue.business_month],\r\n business_date_object: [elementValue.business_date_object],\r\n is_active: [elementValue.is_active],\r\n is_new:[elementValue.is_new],\r\n \r\n });\r\n }\r\n \r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-other-applicant',\r\n templateUrl: 'pd-question-general-other-applicant.html',\r\n})\r\nexport class PdQuestionGeneralOtherApplicantPage {\r\n otherForm:FormGroup;\r\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\r\n this.otherForm = this.fb.group(\r\n {\r\n otherName:this.fb.array([]),\r\n })\r\n this.addmore();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\r\n }\r\n\r\n createName(elementValue:any)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name, Validators.required],\r\n })\r\n }\r\n\r\n addmore()\r\n {\r\n if(this.otherForm.valid)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n control.push(this.createName(this.applicantInfo));\r\n }\r\n }\r\n\r\n deleteappdata(index)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n if(control.length==1){\r\n control.reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.viewCtrl.dismiss(1); \r\n }\r\n submitData(answerData)\r\n {\r\n if(this.otherForm.valid){\r\n this.viewCtrl.dismiss(this.otherForm.value);\r\n }\r\n }\r\n\r\n\r\n}\r\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';\r\n\r\n/**\r\n * Generated class for the PdPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'pdPipe',\r\n})\r\nexport class PdPipe implements PipeTransform {\r\n /**\r\n * Takes a value and makes it lowercase.\r\n */\r\n transform(value: any, searchItem:any):any {\r\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\r\n if(findExistIndex.length>0){\r\n let check = value.filter(function(fVal){\r\n return !findExistIndex.some(function(sVal){\r\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\r\n }\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionNeighbourHoodPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-neighbour-hood',\r\n templateUrl: 'pd-question-neighbour-hood.html',\r\n})\r\nexport class PdQuestionNeighbourHoodPage {\r\n\r\n frequency: any;\r\n relationBusiness: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n neighbourhoodForm:FormGroup;\r\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\r\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\r\n {'id': 2,'name': \"Negative\"},\r\n {'id': 3,'name': \"Insufficient information provided\"}];\r\n\r\n amtInWords:any=[];\r\n applicants:any;\r\n isDisplay:any = [];\r\n isDisplay2:any = [];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(\"Pd\",this.pdDetails)\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.neighbourhoodForm = this.fb.group(\r\n {\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n check_type:0,\r\n neighbourhood_list: this.fb.array([]),\r\n neighbourhood_status:[''],\r\n referencecheck_list: this.fb.array([]),\r\n neighbour_reference_remark:'' \r\n })\r\n // console.log(this.pdDetails);\r\n this.users = this.aws.getlocale();\r\n this.getneighbourhood();\r\n \r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionNeighbourHoodPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n inWords(val,i)\r\n {\r\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n }\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e,flag){\r\n if(flag == 2){\r\n\r\n let year = itemrow.controls.year_relation_applicant.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag == 1){\r\n \r\n let year = itemrow.controls.how_long_do_know_in_year.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\r\n }\r\n}\r\n\r\ntoggleVisibility(e,index,flag){ \r\n console.log(e,index);\r\n let val\r\n \r\n if(flag == 1){\r\n // console.log(\"val\",val);\r\n this.isDisplay[index] = e;\r\n }\r\n else if(flag==2){\r\n this.isDisplay2[index] = e;\r\n }\r\n}\r\n\r\ncheckOthers(values){\r\n console.log(\"check other value\",values)\r\n if(values!=null) {\r\n return values==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n createreferance()\r\n {\r\n return this.fb.group({\r\n reference_name: [null],\r\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n statecode:[null],\r\n landline: [null],\r\n location:[null],\r\n relationship_with:[null],\r\n others:[null],\r\n year_relation_applicant:[null],\r\n months_relation_applicant:[null],\r\n business_volume_amount:[null],\r\n business_volume_unit:[null],\r\n others_unit:[null],\r\n reference_final_remarks:[null],\r\n specify_final_remark:[null]\r\n });\r\n }\r\n addreferance()\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n control.push(this.createreferance());\r\n }\r\n\r\n removereferance(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n createNeighbourhood(){\r\n return this.fb.group({\r\n neighbourhood_name: [null],\r\n do_know: [''],\r\n \r\n how_long_do_know_in_year: [''],\r\n how_long_do_know_in_month:[''],\r\n organisation_owner: [''],\r\n is_applicant_owner:[''],\r\n other_organisation_owner:[''],\r\n did_not_know_the_business_operation:[''],\r\n did_not_know_the_owner:[''],\r\n });\r\n }\r\n\r\n addneighbourhood()\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n control.push(this.createNeighbourhood());\r\n }\r\n\r\n removeneighbourhood(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n submitData(answerData)\r\n {\r\n \r\n \r\n console.log(answerData);\r\n \r\n let saveRecords:any = {}\r\n let referencecheck_list:any=[];\r\n let neighbourhood_list:any=[];\r\n if(answerData.check_type==0){\r\n answerData.neighbourhood_list.forEach((element,key) => {\r\n neighbourhood_list.push({\r\n \"neighbourhood_name\":element.neighbourhood_name,\r\n \"do_know\":element.do_know,\r\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\r\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\r\n \"is_applicant_owner\":element.is_applicant_owner,\r\n \"organisation_owner\":element.organisation_owner,\r\n \"other_organisation_owner\":element.other_organisation_owner,\r\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\r\n \"did_not_know_the_owner\":element.did_not_know_the_owner\r\n }) \r\n });\r\n saveRecords.neighbourhood_list=neighbourhood_list;\r\n \r\n }\r\n else{\r\n // this for referencecheck_list for selected\r\n answerData.referencecheck_list.forEach((element,key) => {\r\n referencecheck_list.push({\r\n \"reference_name\":element.reference_name,\r\n \"mobile\":element.mobile,\r\n \"landline\":element.statecode+'-'+element.landline,\r\n \"location\":element.location,\r\n \"relationship_with\":element.relationship_with,\r\n \"others\":element.others,\r\n \"year_relation_applicant\":element.year_relation_applicant,\r\n \"months_relation_applicant\":element.months_relation_applicant,\r\n \"business_volume_amount\":element.business_volume_amount,\r\n \"business_volume_unit\":element.business_volume_unit,\r\n \"others_unit\":element.others_unit,\r\n \"reference_final_remarks\":element.reference_final_remarks,\r\n \"specify_final_remark\":element.specify_final_remark\r\n }) \r\n });\r\n saveRecords.referencecheck_list=referencecheck_list;\r\n \r\n }\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.check_type=answerData.check_type;\r\n saveRecords.fk_createdby = this.users;\r\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\r\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\r\n console.log(saveRecords);\r\n\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n \r\n }\r\n\r\n getneighbourhood()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \r\n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let neighbourDetails = res['records'];\r\n console.log(\"neighbour Status\",neighbourDetails)\r\n // neighbourDetails.neighbourhood_list.=''\r\n \r\n if(neighbourDetails.check_type==0)\r\n {\r\n \r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\r\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\r\n {\r\n return res['records'].neighbourhood_list[key];\r\n });\r\n console.log(\"data\")\r\n neighbourhood_list.forEach((element,index)=>\r\n {\r\n console.log(\"did_not Know\",element.did_not_know_the_business_operation)\r\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\r\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\r\n neicontrol.push(this.createNeighbourhood());\r\n });\r\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\r\n \r\n\r\n }else\r\n {\r\n this.addneighbourhood();\r\n }\r\n if(neighbourDetails.check_type==1)\r\n {\r\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\r\n {\r\n return res['records'].referencecheck_list[key];\r\n });\r\n console.log(referencecheck_list);\r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n referencecheck_list.forEach((val,index)=>\r\n {\r\n let statecodesearch = val.landline.search(\"-\");\r\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\r\n console.log(val);\r\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\r\n control.push(this.createreferance());\r\n this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\r\n });\r\n console.log(referencecheck_list);\r\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\r\n \r\n }else\r\n {\r\n this.addreferance();\r\n }\r\n }else\r\n {\r\n this.addneighbourhood();\r\n this.addreferance();\r\n }\r\n })\r\n }\r\n\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder} from '@angular/forms';\r\n// import { t } from '@angular/core/src/render3';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionFinalRemarkPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-final-remark',\r\n templateUrl: 'pd-question-final-remark.html',\r\n})\r\nexport class PdQuestionFinalRemarkPage {\r\n\r\n m_remarkTypeCustomerBehaviour:any=[];\r\n\r\n users:any;\r\n pdDetails:any;\r\n pdid:any;\r\n FormId:any;\r\n _finalRemarkForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=aws.getlocale()\r\n console.log(\"form Id\",this.FormId);\r\n \r\n this._finalRemarkForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId.form_id],\r\n final_custormer_remark_type:[null],\r\n final_other_customer_behaviour:[null],\r\n is_service_provided:[null],\r\n final_form_remarks:[null]\r\n })\r\n this.getDropDown();\r\n this.getFinalRemark();\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\r\n console.log(\"drop\",res);\r\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\r\n })\r\n}\r\n getFinalRemark(){\r\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\r\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n console.log(\"Data get\",data['records'])\r\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\r\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\r\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\r\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\r\n }\r\n })\r\n }\r\n saveFinalRemark(){\r\n if(this._finalRemarkForm.invalid){\r\n return\r\n }\r\n else{\r\n var answerData=this._finalRemarkForm.value\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n console.log(JSON.stringify(answerData));\r\n this.qustcat.saveForm(answerData).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessGroupPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-group',\r\n templateUrl: 'pd-question-business-group.html',\r\n})\r\nexport class PdQuestionBusinessGroupPage {\r\n \r\n FormId: any;\r\n pdDetails: any = [];\r\n existCompanyList: any = [];\r\n waitLoading:boolean;\r\n\r\n constructor(public navCtrl: NavController, \r\n public navParams: NavParams,\r\n public qustCat:QuestionCategoryProvider){\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.getCompanyListForBusiness();\r\n\r\n }\r\n \r\n /** To Get General Form's Company List */\r\n getCompanyListForBusiness(): void{\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList = data.records.filter(val =>val.is_active);\r\n this.waitLoading = true;\r\n }\r\n else {\r\n this.waitLoading = false;\r\n }\r\n })\r\n }\r\n\r\n /** To Get Related Form Details */\r\n OnSelectBusinessGroupForms(details: any, company: any) {\r\n \r\n this.pdDetails.company_id = company.company_order_id;\r\n this.pdDetails.company_name = company.company_name;\r\n this.pdDetails.business_entity_type = company.business_entity_type;\r\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\r\n this.pdDetails.business_years = company.business_years;\r\n this.pdDetails.business_month = company.business_month;\r\n \r\n if(details.form_id==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==2){\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==11){\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==13){\r\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==14){\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==15){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==21){\r\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==22){\r\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { createPipe } from '@angular/compiler/src/core';\r\nimport { elementAt } from 'rxjs/operators';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-info',\r\n templateUrl: 'pd-question-business-info.html',\r\n})\r\nexport class PdQuestionBusinessInfoPage {\r\n stateList:any=[];\r\n users: any;formdetails:any;\r\n FormId: any;\r\n pdDetails: any;\r\n businessForm:FormGroup;\r\n applicants:any=[];\r\n businessEntityTypeList: any ={\r\n business_entity_type_id:String,\r\n business_entity_type_name:String,\r\n sourcsection_labeleName:String\r\n }; \r\n generalExistEntityType:string\r\n generalExistEntityType_other:string;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n pdid:any;\r\n step:number\r\n\r\n relationData: any = [];\r\n industryData: any = [];\r\n activityData: any = [];\r\n relativeNames: any;\r\n companyRelationShipList:any=[]\r\n countryDataList:any=[]\r\n exist_status:any;\r\n \r\n filterCityList : any = [];\r\n errorMessage:any=[];\r\n appxSalaryAmtInwords:any;\r\n titleData:any=[]\r\n personsList:any=[]\r\n \r\n ManufacturingChecked: boolean;\r\n RetailedChecked: boolean;\r\n WholeSalesChecked: boolean;\r\n ServiceChecked: boolean;\r\n ExportFlag: boolean=false;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.getStateCityDet();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n console.log(\"pdails\",this.pdDetails)\r\n this.formdetails = this.navParams.get('formDetails');\r\n console.log(this.formdetails)\r\n this.FormId = this.formdetails.form_id;\r\n this.users = this.aws.getlocale();\r\n //console.log(\"pd\",this.pdDetails);\r\n this.applicants=this.pdDetails.applicat_details;\r\n console.log(\"Applicants\",this.applicants)\r\n this.generalExistEntityType=this.pdDetails.business_entity_type\r\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\r\n this.generalExistBusinessYear=this.pdDetails.business_years\r\n this.step=0\r\n \r\n \r\n \r\n // this.initBusinessForm();\r\n // this.getBuisnessDetails();\r\n \r\n this.businessForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId],\r\n company_id: this.pdDetails.company_id,\r\n partners:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n select_business_activity_type:this.fb.array([]),\r\n manufacturing_activity_details:this.fb.array([]),\r\n retail_trading_activity_details:this.fb.array([]),\r\n wholesale_trading_activity_details:this.fb.array([]),\r\n service_provider_activity_details:this.fb.array([]),\r\n others_activity_details:this.fb.array([]),\r\n export_sale_of_total_sales:[''],\r\n //applicant_use_mobile_wallets:[''],\r\n //applicant_use_pos_machines:[''],\r\n seasonality:[''],\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n employees_appx_salary:[''],\r\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n shop_eat_act_cert: [''],\r\n gst_Regn_cert: [''],\r\n //export_import_cert: [''],\r\n // factory_cert: [''],\r\n //practice_cert: [''],\r\n pf_regn: [''],\r\n esic_regn: [''],\r\n other_documents: [''],\r\n documents: this.fb.array([]),\r\n business_remarks:['']\r\n\r\n\r\n\r\n \r\n })\r\n this.getdropdown();\r\n \r\n// this.initBusinessForm();\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\r\n \r\n \r\n \r\n }\r\n getdropdown() {\r\n \r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\r\n // console.log('data', data);\r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.relationData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\r\n // console.log('data', data);\r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.industryData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\r\n // console.log('data', data);\r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.activityData.push(val);\r\n }\r\n })\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\r\n let filterList=data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\r\n this.businessEntityTypeList.business_entity_type_id=filterList[0].business_entity_type_id==1;\r\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\r\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\r\n\r\n\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\r\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n \r\n // console.log(\"stateList first\",this.stateList);\r\n \r\n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\r\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\r\n //console.log(\"countryDataList\",this.countryDataList)\r\n });\r\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\r\n this.titleData=data['records'].filter(val=>val.isactive==1);\r\n })\r\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\r\n if(data.dataStatus){\r\n console.log(\"Person List\",data)\r\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\r\n console.log(\"Person List\",this.personsList)\r\n }\r\n })\r\n \r\n}\r\ngetStateCityDet(){\r\nthis.qustCat.getStateCityDetails().subscribe(data=>{\r\n \r\n // console.log(\"data first23\",data.records) \r\n this.stateList=data.records\r\n // console.log(\"stateListFun\",this.stateList)\r\n this.getDetails();\r\n });\r\n \r\n \r\n}\r\n getDetails(){\r\n // console.log(\"get State\",this.stateList);\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = 13\r\n params.company_id = this.pdDetails.company_id;\r\n this.qustCat.retiverForm(params).subscribe(data=>{\r\n let businessVal=data['records']\r\n let constVal: any;\r\n // console.log(\"datavalue\",businessVal)\r\n \r\n const Partnr:any = this.businessForm.controls['partners'];\r\n \r\n const control1:any = this.businessForm.controls['persons_with_relationships'];\r\n \r\n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\r\n \r\n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\r\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\r\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\r\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\r\n const othersControl:any=this.businessForm.controls['others_activity_details'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n //retailControl.push(this.manufactureDetails());\r\n //manufacture_details.push(this.manufactureDetails())\r\n // console.log(\"Manufacture\",manufacture_details);\r\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\r\n //india_sales.push(this.indiaSalesDone())\r\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\r\n // country_sale.push(this.createCountrySale());\r\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\r\n //max_sale_state.push(this.maxSaleState())\r\n\r\n if(data['status']==200){\r\n let DocArray: any;\r\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\r\n return data['records'].partners[key];\r\n })\r\n // console.log(\"PartnrArray\",PartnrArray)\r\n if(PartnrArray.length==0){\r\n Partnr.push(this.createPartners())\r\n }\r\n else{\r\n PartnrArray.forEach((datas,key) => {\r\n Partnr.push(this.createPartners());\r\n if(datas.partner_name=='Others') {\r\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\r\n }\r\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\r\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else {\r\n Partnr.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n });\r\n }\r\n if(data['records'].persons_with_relationships){\r\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\r\n return data['records'].persons_with_relationships[key];\r\n })\r\n if(PartnrArray1.length>0){\r\n PartnrArray1.forEach((datas,key)=>{\r\n control1.push(this.createRelationShip());\r\n })\r\n businessVal.persons_with_relationships=PartnrArray1\r\n \r\n }\r\n else{\r\n //control1.push(this.createRelationShip());\r\n businessVal.persons_with_relationships=[]\r\n }\r\n }\r\n else{\r\n businessVal.persons_with_relationships=[]\r\n \r\n }\r\n \r\n\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n businessVal.pdid = this.pdid;\r\n businessVal.formid = 13;\r\n businessVal.company_id = this.pdDetails.company_id;\r\n businessVal.fk_createdby = this.users;\r\n //businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n // businessVal.persons_with_relationships=PartnrArray1\r\n businessVal.documents=DocArray\r\n \r\n if(businessVal.employees_appx_salary){\r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\r\n }\r\n \r\n console.log(\"pa\",this.businessForm.controls['partners']['controls'])\r\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\r\n // this.businessForm.setValue(businessVal);\r\n //this.businessForm.value.seasonality\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\r\n let exist_activity_data: any=[];\r\n if(data['records'].select_business_activity_type){\r\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\r\n return data['records'].select_business_activity_type[key].type_of_activity_id;\r\n });\r\n }\r\n \r\n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\r\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\r\n if (exist_activity_data.indexOf(id) < 0) {\r\n activityData[index].exist_status=0;\r\n return activityData[index];\r\n }\r\n else{\r\n activityData[index].exist_status=1;\r\n return activityData[index];\r\n }\r\n }).filter(item => item != undefined);\r\n // console.log(\"exist act\",exist_activity_data);\r\n // console.log('activityData',activityData)\r\n // console.log(this.businessForm.controls['select_business_activity_type'])\r\n if(check_exist_businees_activity.length > 0)\r\n {\r\n check_exist_businees_activity.forEach((val,index) => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\r\n \r\n });\r\n // console.log(\"exist business act\",check_exist_businees_activity)\r\n businessVal.select_business_activity_type=check_exist_businees_activity;\r\n }\r\n // business_activity.push(this.createBusinessActivity())\r\n \r\n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\r\n // console.log(\"Entering Manufacture Details\");\r\n if(data['records'].manufacturing_activity_details){\r\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\r\n return data['records'].manufacturing_activity_details[key];\r\n });\r\n if(selectedManufacturing.length>0){\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n \r\n selectedManufacturing.forEach((element,index)=>{\r\n manufacture_details.push(this.manufactureDetails())\r\n if(element.area_of_sale=='Within India'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n })\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n \r\n }\r\n });\r\n businessVal.manufacturing_activity_details=selectedManufacturing;\r\n // console.log(\"data\")\r\n \r\n }\r\n else{\r\n // console.log(\"no data \")\r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n }\r\n else{\r\n // console.log(\"no data last\")\r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n // console.log(\"exit\")\r\n if(data['records'].retail_trading_activity_details){ \r\n\r\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\r\n return data['records'].retail_trading_activity_details[key];\r\n });\r\n if(selectedRetail.length > 0) {\r\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedRetail.forEach((element,index)=>{\r\n retailControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n });\r\n businessVal.retail_trading_activity_details=selectedRetail;\r\n }\r\n else{\r\n businessVal.retail_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.retail_trading_activity_details=[];\r\n }\r\n console.log(\"retail finish\")\r\n\r\n // update whole sale details\r\n if(data['records'].wholesale_trading_activity_details){ \r\n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\r\n return data['records'].wholesale_trading_activity_details[key];\r\n });\r\n if(selectedWholesale.length > 0) {\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedWholesale.forEach((element,index)=>{\r\n wholesaleControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n \r\n });\r\n businessVal.wholesale_trading_activity_details=selectedWholesale;\r\n }\r\n else{\r\n businessVal.wholesale_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.wholesale_trading_activity_details=[];\r\n\r\n } \r\n console.log(\"whole Sale finish\")\r\n \r\n if(data['records'].service_provider_activity_details){\r\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\r\n return data['records'].service_provider_activity_details[key];\r\n })\r\n if(selectedService.length > 0) {\r\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n \r\n selectedService.forEach((element,index)=>{\r\n \r\n serviceProviderControl.push(this.manufactureDetails());\r\n \r\n if(element.area_of_sale=='Within India'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n \r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n\r\n \r\n }\r\n });\r\n // console.log(\"data\",selectedService)\r\n businessVal.service_provider_activity_details=selectedService;\r\n \r\n }\r\n else{\r\n businessVal.service_provider_activity_details=[];\r\n console.log(\"no data\")\r\n } \r\n }\r\n else {\r\n businessVal.service_provider_activity_details=[];\r\n\r\n }\r\n console.log(\"Service finish\")\r\n if(data['records'].others_activity_details){ \r\n\r\n // update others activity details\r\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\r\n return data['records'].others_activity_details[key];\r\n });\r\n if(selectedOthers.length > 0) {\r\n selectedOthers.forEach((element,index)=>{\r\n othersControl.push(this.createOthersActivity());\r\n });\r\n businessVal.others_activity_details=selectedOthers;\r\n }\r\n else{\r\n businessVal.others_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.others_activity_details=[];\r\n\r\n } \r\n console.log(\"Others finish\")\r\n // dynamically add form group control\r\n if(data['dataStatus']){\r\n \r\n if(data['records'].seasonality.toUpperCase()=='YES'){\r\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\r\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\r\n\r\n } \r\n\r\n console.log(\"Seasonality\");\r\n console.log('businessVal',businessVal)\r\n // this.businessForm.controls['partners'].setValue(PartnrArray);\r\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\r\n \r\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\r\n console.log(\"inserting..\")\r\n \r\n this.businessForm.setValue(businessVal);\r\n console.log(\"Finish\")\r\n \r\n }\r\n else{\r\n Partnr.push(this.createPartners());\r\n control1.push(this.createRelationShip())\r\n \r\n //otherDoc.push(this.createDocument());\r\n\r\n // find business activity type businees activity type list\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\r\n if(activityData.length > 0)\r\n {\r\n activityData.forEach(val => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n });\r\n }\r\n\r\n }\r\n})\r\n // change business sessional\r\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\r\n });\r\n // console.log(\"getDetails exit\")\r\n \r\n }\r\n\r\n filterCity(datasource: any,filterid:number) {\r\n //console.log(\"datasource\",datasource)\r\n // console.log(\"Filter Id\",filterid)\r\n //console.log(\"State List\" ,this.stateList)\r\n \r\n if(filterid){\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n return filter.length > 0 ? filter[0].cities : [];\r\n }\r\n}\r\n\r\n // filter max sale options\r\n filterMaxSaleState(datasource: any,filterValues:any){\r\n this.filterCityList = filterValues;\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\r\n let setStateFilter: any=[];\r\n setStateFilter = getStateValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n return datasource[findIndex];\r\n });\r\n return setStateFilter.length > 0 ? setStateFilter : [];\r\n }\r\n }\r\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \r\n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\r\n existCities = [].concat.apply([], existCities);\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n \r\n let setCityFilter = filterValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n findIndex = datasource[findIndex].cities;\r\n return findIndex;\r\n });\r\n \r\n let merged = [].concat.apply([], setCityFilter);\r\n // console.log(merged)\r\n if(merged.length>0){\r\n let check: any = merged.filter(function(fVal){\r\n return existCities.some(function(sVal){\r\n return fVal.city_id==sVal;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n else {\r\n return [];\r\n }\r\n}\r\n\r\n\r\ncheckTotalEmployee(FormData){\r\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\r\n }\r\n checkWithExistBusinessYear(e,i){\r\n if(e > this.generalExistBusinessYear){\r\n this.errorMessage[i] = \"Higher than Business Vintage\";\r\n }\r\n else{\r\n this.errorMessage[i] = '';\r\n }\r\n }\r\n\r\n// businees activity type change event\r\nchangeBusinessActivity(event: any){\r\n \r\n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.controls = [];\r\n manufacturingControl.setValue([]); \r\n console.log(\"true\");\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n \r\n \r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.controls = [];\r\n retailControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.controls = [];\r\n wholesaleControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.controls = [];\r\n serviceControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.controls = [];\r\n othersControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // check activity type for make dosument sighted filed dynamically\r\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');\r\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');\r\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');\r\n // check activity for extra question make dynamic\r\n \r\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');\r\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');\r\n\r\n if(this.ManufacturingChecked && this.RetailedChecked && this.WholeSalesChecked && this.ServiceChecked){\r\n this.ExportFlag = false;\r\n }\r\n}\r\n\r\n\r\nchangeManufacturingAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n // change retail options\r\n changeRetailAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n// change whole options\r\nchangeWholesaleAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n// change service provider \r\nchangeServiceArea(getDetails: any, getIndex) {\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n\r\nchangePanIndiaOptions(type,selectedIndex,value) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n console.log(\"clicked yes\");\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==3){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==4){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n}\r\n\r\n // update partner group other form control\r\n changePartnerGroup(value,key) {\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\r\n }\r\n\r\n createDesignation(): FormGroup {\r\n return this.fb.group({\r\n sec_name: ['', Validators.compose([Validators.required])],\r\n sec_designation: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n getWorkExperience(event, key) {\r\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\r\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n if(total_experience > current_experience) {\r\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else if(total_experience < current_experience) {\r\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n\r\n else {\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n // let total ;\r\n // if(control.length > 0){\r\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\r\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\r\n // this.businessForm.controls.business_years.updateValueAndValidity();\r\n // }\r\n}\r\nConvertMonthintoYear(itemrow,e){\r\n\r\n let year = itemrow.controls.current_business_experiance_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n\r\n\r\n\r\ncreatePartners(): FormGroup {\r\n return this.fb.group({\r\n partner_name: ['', Validators.compose([Validators.required])],\r\n // partner_other_name:[''],\r\n shareholding:[''],\r\n started_business:[''],\r\n current_business_experiance_year:[''],\r\n current_business_experiance_month:[''],\r\n total_business_experiance:[''],\r\n total_business_previous_experience:['']\r\n /* shareholding: ['', Validators.compose([Validators.required])],\r\n current_business_experiance: ['', Validators.compose([Validators.required])],\r\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\r\n });\r\n}\r\ncreateRelationShip(): FormGroup {\r\n return this.fb.group({\r\n family_member_salutation:[''],\r\n family_member_name:[''],\r\n other_family_relationship_id:[''],\r\n relation_to_id:[''],\r\n relationship_with_company_id:[''],\r\n started_business:['']\r\n });\r\n}\r\ncreateBusinessActivity(details):FormGroup {\r\n return this.fb.group({\r\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\r\n name: [details.name, Validators.compose([Validators.required])],\r\n exist_status:[details.exist_status==1 ? true : false]\r\n });\r\n}\r\ncreateServiceActivity(): FormGroup {\r\n return this.fb.group({\r\n main_products: ['', Validators.compose([Validators.required])],\r\n area_of_sale: ['', Validators.compose([Validators.required])],\r\n description: ['']\r\n });\r\n}\r\ncreateOthersActivity(): FormGroup {\r\n return this.fb.group({\r\n others_details: ['', Validators.compose([Validators.required])]\r\n });\r\n}\r\nmanufactureDetails():FormGroup{\r\n return this.fb.group({\r\n main_products:[''],\r\n area_of_sale:[''],\r\n description:['']\r\n // pan_india_options:[''],\r\n // india_where_sale_done:this.fb.array([]),\r\n //max_sale_state_name:this.fb.array([]),\r\n //countries_where_export_done:this.fb.array([])\r\n })\r\n}\r\nindiaSalesDone():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\nmaxSaleState():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\ncreateDocument() {\r\n return this.fb.group({\r\n document: ['']\r\n });\r\n}\r\naddDesignation() {\r\n const control = this.businessForm.controls['designation'];\r\n control.push(this.createDesignation());\r\n}\r\ndeleteDesignation(index) {\r\n const control = this.businessForm.controls['designation'];\r\n if(control.length==1){\r\n this.businessForm.controls['designation'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddPartnerDetails(event) {\r\n const control = this.businessForm.controls['partners'];\r\n event.stopPropagation()\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createPartners());\r\n}\r\naddPersonRelationship(event){\r\n event.stopPropagation()\r\n const control=this.businessForm.controls['persons_with_relationships']\r\n let length=control.length\r\n this.step=length\r\n control.push(this.createRelationShip());\r\n}\r\ndeletePersonRelationship(index){\r\n const control=this.businessForm.controls['persons_with_relationships'];\r\n control.removeAt(index)\r\n}\r\ndeletePartnerDetails(index) {\r\n const control = this.businessForm.controls['partners'];\r\n if(control.length==1){\r\n this.businessForm.controls['partners'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddMoreManufacturing() {\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n}\r\naddMoreRetail(){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n}\r\naddMoreWholesale() {\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n}\r\ncreateCountrySale() {\r\n return this.fb.group({\r\n country_name: ['',Validators.compose([Validators.required])],\r\n approx_sale: ['', Validators.compose([Validators.required])]\r\n }); \r\n}\r\n\r\naddMoreState(mindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n \r\n\r\n}\r\nremoveState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n\r\naddRetailMoreState(rindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n}\r\nremoveRetailState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n// add more whole sale state\r\naddWholesaleMoreState(windex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n\r\n}\r\n// remove for whole sale\r\nremoveWholesaleState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n // add more service provider\r\n addServiceMoreState(sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n }\r\n addMoreServiceprovider() {\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n addMoreOthersActivity(){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // remove service provider\r\n\r\nremoveServiceState(mindex,sindex,type){\r\n if(type==1){\r\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\r\n control1.removeAt(sindex)\r\n }\r\n}\r\naddDocuments() {\r\n const control = this.businessForm.controls['documents'];\r\n control.push(this.createDocument());\r\n}\r\ndeleteDocuments(index) {\r\n const control = this.businessForm.controls['documents'];\r\n if(control.length==1){\r\n this.businessForm.controls['documents'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\n\r\nrelationChanged(event) {\r\n this.relativeNames = [];\r\n event.value.forEach(option => {\r\n this.relativeNames.push({member: option});\r\n });\r\n}\r\n\r\n public initBusinessForm(): void {\r\n this.businessForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId.form_id,\r\n fk_createdby: this.users,\r\n profession_name: ['', Validators.compose([Validators.required])],\r\n business_years: ['', Validators.compose([Validators.required])],\r\n industry: ['', Validators.compose([Validators.required])],\r\n type_of_activity: ['', Validators.compose([Validators.required])],\r\n seasonality: ['', Validators.compose([Validators.required])],\r\n designation: this.fb.array([]),\r\n partners: this.fb.array([]),\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n officer_permanent: ['', Validators.compose([Validators.required])],\r\n officer_temporary: ['', Validators.compose([Validators.required])],\r\n invested_amount: ['', Validators.compose([Validators.required])],\r\n working_capital: ['', Validators.compose([Validators.required])],\r\n is_service_provided: ['', Validators.compose([Validators.required])],\r\n ownership_setup: ['', Validators.compose([Validators.required])],\r\n ownership_others: [''],\r\n rent_paid: [''],\r\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\r\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\r\n export_import_cert: ['', Validators.compose([Validators.required])],\r\n factory_cert: ['', Validators.compose([Validators.required])],\r\n practice_cert: ['', Validators.compose([Validators.required])],\r\n pf_regn: ['', Validators.compose([Validators.required])],\r\n esic_regn: ['', Validators.compose([Validators.required])],\r\n other_documents: ['', Validators.compose([Validators.required])],\r\n documents: this.fb.array([]),\r\n business_remarks: ['', Validators.compose([Validators.required])],\r\n who_started: ['', Validators.compose([Validators.required])],\r\n main_person: ['', Validators.compose([Validators.required])],\r\n other_main_person: [''],\r\n family_members_involved: ['', Validators.compose([Validators.required])],\r\n before_business: ['', Validators.compose([Validators.required])],\r\n any_delays: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\n\r\nsubmitDetails() {\r\n console.log(\"First\",this.businessForm.value);\r\n let family: any = [];\r\n console.log(this.FormId)\r\n let design: any;\r\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\r\n let records:any;\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId;\r\n // records.fk_createdby = this.users;\r\n records=this.businessForm.value;\r\n console.log(\"Records\",records)\r\n //if(records.persons_with_relationships=='')\r\n if (records.other_documents == 'no') {\r\n delete records.documents;\r\n }\r\n if (records.rent_paid == '') {\r\n delete records.rent_paid;\r\n }\r\n if (records.ownership_others == '') {\r\n delete records.ownership_others;\r\n }\r\n // records.family_members_involved = this.relativeNames;\r\n //console.log('recordss', records);\r\n\r\n let validationFlag : number = 0;\r\n\r\n //type 1: Checking manufacturing_activity_details \r\n if(records.manufacturing_activity_details.length > 0){\r\n\r\n records.manufacturing_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale!= \"Within India\"){ \r\n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n //type 3 checking wholesale_trading_activity_details\r\n if(records.wholesale_trading_activity_details.length > 0){\r\n\r\n records.wholesale_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //type 2 checking retail_trading_activity_details\r\n if(records.retail_trading_activity_details.length > 0){\r\n\r\n records.retail_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n //type 4 checking service_provider_activity_details\r\n if(records.service_provider_activity_details.length > 0){\r\n\r\n records.service_provider_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){\r\n \r\n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //validationFlag is greater then 0 means its display the notifer as warning\r\n if(validationFlag > 0){\r\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\r\n return;\r\n }\r\n\r\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n });\r\n}\r\n getBuisnessDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \r\n this.qustCat.retiverForm(records).subscribe(data => {\r\n let businessVal = data['records'];\r\n // console.log('data', businessVal);\r\n let constVal: any;\r\n const Desgn = this.businessForm.controls['designation'];\r\n const Partnr = this.businessForm.controls['partners'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n\r\n if (data['status'] == 200) {\r\n let DocArray: any;\r\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\r\n return data['records'].designation[key];\r\n });\r\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\r\n return data['records'].partners[key];\r\n });\r\n\r\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\r\n return data['records'].family_members_involved[key];\r\n });\r\n let enduse: any = [];\r\n let existRelative: any =[];\r\n selectedMembers.forEach(val => {\r\n enduse.push(val.member);\r\n existRelative.push(val);\r\n });\r\n this.relativeNames = existRelative;\r\n if (DesgnArray.length == 0) {\r\n Desgn.push(this.createDesignation());\r\n } else {\r\n DesgnArray.forEach(datas => {\r\n Desgn.push(this.createDesignation());\r\n });\r\n \r\n }\r\n if (PartnrArray.length == 0) {\r\n Partnr.push(this.createPartners());\r\n } else {\r\n PartnrArray.forEach(datas => {\r\n Partnr.push(this.createPartners());\r\n });\r\n }\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n if (data['records'].ownership_setup != 'others') {\r\n businessVal.ownership_others = '';\r\n }\r\n if (data['records'].ownership_setup != 'rented') {\r\n businessVal.rent_paid = '';\r\n }\r\n businessVal.family_members_involved = enduse;\r\n businessVal.pdid = this.pdDetails.pd_id;\r\n businessVal.formid = this.FormId.form_id;\r\n businessVal.fk_createdby = this.users;\r\n businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n businessVal.documents = DocArray;\r\n\r\n this.businessForm.setValue(businessVal);\r\n } else {\r\n Desgn.push(this.createDesignation());\r\n Partnr.push(this.createPartners());\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n });\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n}\r\ninWords(e,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n }\r\n }\r\n ManufacturingCounterArray: any = [];\r\nRetailCounterArray: any = [];\r\nWholeSaleCounterArray: any = [];\r\nServiceCounterArray: any = [];\r\n\r\n CheckExport(value,stringFlag,index){\r\n //this.ExportFlag=false\r\n const parentControl = this.businessForm.controls['select_business_activity_type'];\r\n const childControl = parentControl.controls[0];\r\n // console.log('parentControl',parentControl);\r\n // console.log('parentControl.controls',parentControl.controls);\r\n // console.log('childControl',childControl.value);\r\n // console.log('childControl',childControl.value.exist_status);\r\n\r\n // childControl.forEach((datas,index) => {\r\n \r\n // console.log(datas);\r\n // // exist_status==true && event.value.type_of_activity_id\r\n // console.log(datas[index].);\r\n // console.log(datas[index].controls.exist_status.value);\r\n // });\r\n\r\n console.log('CheckExport');\r\n console.log(value,stringFlag,index);\r\n\r\n console.log(this.ManufacturingChecked , this.RetailedChecked , this.WholeSalesChecked , this.ServiceChecked);\r\n \r\n if(!this.ManufacturingChecked){\r\n if(stringFlag == 'MActivity' && value != \"Within India\"){\r\n this.ManufacturingCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'MActivity' && value != \"Within India\"){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.RetailedChecked){ \r\n if(stringFlag == 'RActivity' && value != \"Within India\"){\r\n this.RetailCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'RActivity' && value != \"Within India\"){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.WholeSalesChecked){\r\n if(stringFlag == 'WActivity' && value != \"Within India\"){\r\n this.WholeSaleCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'WActivity' && value != \"Within India\"){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n \r\n if(!this.ServiceChecked){\r\n \r\n if(stringFlag == 'SPActivity' && value != \"Within India\")\r\n { \r\n this.ServiceCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'SPActivity' && value != \"Within India\"){\r\n this.ServiceCounterArray[index] = 0;\r\n }\r\n\r\n }else if(stringFlag == 'SPActivity'){\r\n this.ServiceCounterArray[index] = 0;\r\n } \r\n\r\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n console.log(SumOfManufacturingCounter,this.ManufacturingCounterArray);\r\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n // console.log(SumOfRetailCounter , this.RetailCounterArray);\r\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n // console.log(SumOfWholeSaleCounter,this.WholeSaleCounterArray);\r\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\r\n // console.log(SumOfServiceCounter,this.ServiceCounterArray);\r\n\r\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\r\n \r\n\r\n this.ExportFlag = overallCounter > 0 ? true : false ;\r\n console.log('overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ' , overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter);\r\n console.log('Current Flag Status : ',this.ExportFlag );\r\n}\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\r\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessAssetsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-assets',\r\n templateUrl: 'pd-question-business-assets.html',\r\n})\r\nexport class PdQuestionBusinessAssetsPage {\r\n currentYear:any=new Date().getFullYear();\r\n\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n\r\n company_id:any;\r\n pdDetails:any;\r\n formDetails : any;\r\n users:any;\r\n _businessAssetsQuesFrom:FormGroup;\r\n m_assets_type:any;\r\n m_propertyType:any;\r\n AssetValueInwords:any=[];\r\n appxMarketAmtInwords:any=[];\r\n RentAmtInwords:any=[]\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any=[]\r\n applicants:any;\r\n data_all:any;\r\n CustSegAbbr: any;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n yearErrorMessage: any;\r\n monthErrorMessage: any;\r\n addressLabel: string;\r\n placeholderName : any = 'Was any business activity seen at the Address Type during PD visit?';\r\n m_address_type:any=[]\r\n pageTitle: string;\r\n main_applicant: any;\r\n lender_applicant_id: any;\r\n subproduct_abbr: any;\r\n customer_segment_abbr: any;\r\n RentAmtInwordsForAddress: any =[];\r\n appxMarketAmtInwordsForAddress: any =[];\r\n isOtherOwnerForAddress : boolean = false;\r\n isOtherOwner: boolean = false;\r\n public m_vehicle_type = [];\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n \r\n \r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users=this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n this.generalExistBusinessYear = this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\r\n this.main_applicant = this.pdDetails.applicant_name;\r\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\r\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n \r\n this.getDetails()\r\n this.getDropDown()\r\n \r\n \r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id;\r\n params.pd_form_id='5'\r\n\r\n this.qustcat.retiverForm(params).subscribe(data => {\r\n if(data['status'] == 200) {\r\n // console.log(\"form record 5\",data.records);\r\n \r\n this.addressLabel = '';\r\n \r\n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data['records'].address_type)[0];\r\n let address = data['records'].address;\r\n let addressType = data['records'].address_type != 1 ? selectedAddressType.address_type : data['records'].address_type_others;\r\n \r\n this.placeholderName = 'Was any business activity seen at the '+addressType+' during PD visit?';\r\n this.addressLabel = \" : \"+address+' / '+addressType ;\r\n \r\n }\r\n });\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\r\n }\r\n getDropDown(){\r\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\r\n data => {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n })\r\n \r\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\r\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\r\n // console.log(this.m_assets_type)\r\n })\r\n\r\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\r\n })\r\n\r\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\r\n // console.log(\"existCompanyList\",this.existCompanyList)\r\n }\r\n \r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n })\r\n\r\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\r\n })\r\n \r\n }\r\n apiLoadFinish:boolean=false\r\n getDetails(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id\r\n params.company_id=this.company_id\r\n params.pd_form_id=22\r\n this.qustcat.retiverForm(params).subscribe(res=>{\r\n \r\n if(res['dataStatus']==true){\r\n // console.log(\"records\",res['records'])\r\n //this.data_all=res['records']\r\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\r\n return res['records'].business_assets_details[key]\r\n });\r\n console.log(\"Asset Form\",assestArray);\r\n //this.formLoadData(assestArray)\r\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\r\n if(assestArray.length>0){\r\n for(let val of assestArray){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\r\n }\r\n }*/\r\n this.formLoadData(res['records'])\r\n }\r\n\r\n \r\n else{\r\n this.formLoadData(null);\r\n }\r\n this.apiLoadFinish=true\r\n console.log(\"success\");\r\n \r\n })\r\n //this.formLoadData(null);\r\n \r\n }\r\n \r\n formLoadData(data){\r\n if(data==null){\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n business_assets_for_address: this.fb.array([\r\n this.createBusinessAssetsForAddress()]),\r\n business_assets_details : this.fb.array([\r\n this.initBusinessDetails(),\r\n ]),\r\n business_assets_form_remark:['']\r\n });\r\n \r\n }\r\n else{\r\n // console.log(\"Data Here\");\r\n let value=data;\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n business_years:[value.business_years],\r\n business_month:[value.business_month],\r\n business_address_availability:[value.business_address_availability],\r\n business_is_pd_visited:[value.business_is_pd_visited],\r\n business_pd_visited_remark:[value.business_pd_visited_remark],\r\n business_assets_for_address: this.fb.array([]),\r\n business_assets_details : this.fb.array([]),\r\n business_assets_form_remark:[value.business_assets_form_remark || '']\r\n });\r\n if (value.business_address_availability == 'yes') {\r\n // console.log(value.business_assets_for_address);\r\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n }\r\n else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n } \r\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n initBusinessDetails(){\r\n return this.fb.group({\r\n business_assets_mode:[''],\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [''],\r\n business_ownership_type:[''],\r\n business_monthly_rented_amt:[''],\r\n business_name_of_the_owner: [],\r\n business_name_of_the_other_owner: [],\r\n business_vintage: [''],\r\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [''],\r\n \r\n })\r\n }\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: ['']\r\n });\r\n }\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n\r\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n addAssetDetails(e) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetails());\r\n \r\n }\r\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n removeAssetsDetails(i: number) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.removeAt(i);\r\n\r\n}\r\n\r\ncreateBusinessAssetsForAddress(): FormGroup {\r\n return this.fb.group({\r\n business_approximate_market_value: [''],\r\n business_ownership_type: [''],\r\n business_monthly_rented_amt: [''],\r\n business_name_of_the_owner: [''],\r\n business_name_of_the_other_owner: [''],\r\n business_vintage: [''],\r\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: ['']\r\n });\r\n}\r\n\r\n selectedAssetsType(e: any, i: any): void {\r\n let val = i;\r\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n arr.controls.splice(0);\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n let val = i;\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n \r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadPropertyWithData(data) { \r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n });\r\n }\r\n load_Four_WeelerWithData(data){\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n })\r\n }\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadDetails:boolean\r\n addBusinessAssetsForAddress(data) {\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n });\r\n if (result.length > 0) {\r\n result.forEach((datas, index) => {\r\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\r\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\r\n let Avaliablity = 1;\r\n // console.log(datas.business_name_of_the_owner);\r\n if(datas.business_name_of_the_owner.length > 0){\r\n datas.business_name_of_the_owner.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\r\n });\r\n\r\n for (let val of result) {\r\n let vals = {\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type: val.business_ownership_type,\r\n business_monthly_rented_amt: val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_vintage: val.business_vintage,\r\n business_purchase_year: val.business_purchase_year,\r\n business_emi: val.business_emi\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddressWithData(vals));\r\n }\r\n } else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n }\r\n }\r\n addBusinessAssetsDetailsWithData(supp_data){\r\n var result=Object.keys(supp_data).map(function(key){\r\n return supp_data[key];\r\n })\r\n // console.log(\"Result\",result)\r\n if(result.length>0){\r\n result.forEach((datas,index)=>{\r\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\r\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\r\n });\r\n for(let val of result){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type:val.business_ownership_type,\r\n business_monthly_rented_amt:val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\r\n }\r\n // console.log(\"Add Business Details exit\");\r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n createBusinessAssetsForAddressWithData(data): FormGroup {\r\n return this.fb.group({\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type: [data.business_ownership_type],\r\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\r\n business_vintage: [data.business_vintage],\r\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [data.business_emi]\r\n });\r\n }\r\n\r\n initBusinessDetailsWithdata(data) {\r\n // console.log(\"initBusinessDetailsWithdata\",data)\r\n\r\n let formGroup= this.fb.group({\r\n business_assets_mode: [data.business_assets_mode],\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type : [data.business_ownership_type],\r\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\r\n // relation: [data.relation || ''],\r\n business_vintage: [data. business_vintage],\r\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n // purchase_month: [data.purchase_month],\r\n business_emi: [data.business_emi || ''],\r\n });\r\n return formGroup;\r\n }\r\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\r\n // console.log(\"Asset Mode business asset\",assets_details_mode)\r\n // console.log(\"setBusinessAssetsDetailsWithData\",datas)\r\n let val = i;\r\n let data = datas;\r\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n control.controls.splice(0);\r\n\r\n switch (assets_details_mode) {\r\n case '2': {\r\n let business_property_datas : any;\r\n data.forEach((datas,i) => {\r\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 };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadPropertyWithData(business_property_datas));\r\n break;\r\n }\r\n case '3': {\r\n let business_Four_Weeler_datas : any;\r\n data.forEach((datas,i) => {\r\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\r\n break;\r\n }\r\n case '4': {\r\n let equipment_manufacturing_description_datas : any;\r\n data.forEach((datas,i) => {\r\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\r\n break;\r\n }\r\n \r\n case '1': {\r\n let array_datas : any;\r\n data.forEach((datas,i) => {\r\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\r\n array_datas = {\r\n 'any_other_assets': datas.any_other_assets,\r\n // 'any_other_asset_value': datas.any_other_asset_value,\r\n 'any_other_asset_loan': datas.any_other_asset_loan,\r\n };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public paymentModeTextBox: number;\r\n selectedPM(e) {\r\n this.paymentModeTextBox = e.value;\r\n // this.f.supplier_details.controls.get('payment_mode_value');\r\n }\r\n\r\n public freqPurchaseTextBox: number;\r\n selectedFreqPurchase(e) {\r\n this.freqPurchaseTextBox = e.value;\r\n }\r\n \r\n\r\n onSubmit(){\r\n var answerData=this._businessAssetsQuesFrom.value;\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n\r\n this.qustcat.saveForm(answerData).subscribe(result=>{\r\n if(result['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\r\n }\r\n })\r\n \r\n }\r\n // calculate vintage and purchase {}\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 2) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n if (type == 3) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n\r\n // // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n\r\n setRequiredValidation(value, item, flag) {\r\n\r\n if (flag == 1) {\r\n if (value == 'yes') {\r\n this._businessAssetsQuesFrom.controls.business_years.setValidators([Validators.required]);\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.setValidators([Validators.required]);\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n }\r\n else {\r\n this._businessAssetsQuesFrom.controls.business_years.clearValidators();\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.clearValidators();\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n }\r\n this._businessAssetsQuesFrom.controls.business_years.updateValueAndValidity();\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n\r\n\r\n }\r\n // if(flag == 2){\r\n // value==1\r\n // ? item.controls.premises_type_others.setValidators([Validators.required])\r\n // : item.controls.premises_type_others.clearValidators();\r\n // item.controls.premises_type_others.updateValueAndValidity();\r\n // }\r\n if (flag == 3) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwner = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwner = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n\r\n // value == 0\r\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\r\n // : item.controls.business_name_of_the_other_owner.clearValidators();\r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n }\r\n if (flag == 5) {\r\n value == 1\r\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\r\n : item.controls.other_vehicle_type.clearValidators();\r\n item.controls.other_vehicle_type.updateValueAndValidity();\r\n }\r\n if (flag == 6) {\r\n value == 1\r\n ? item.controls.other_property_type.setValidators([Validators.required])\r\n : item.controls.other_property_type.clearValidators();\r\n item.controls.other_property_type.updateValueAndValidity();\r\n\r\n value != ''\r\n ? item.controls.address_of_the_property.setValidators([Validators.required])\r\n : item.controls.address_of_the_property.clearValidators();\r\n item.controls.address_of_the_property.updateValueAndValidity();\r\n }\r\n if (flag == 7) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if(flag == 8){\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n // console.log('true');\r\n Avaliablity = option.id;\r\n }\r\n });\r\n // isOtherOwner: boolean = false;\r\n if(Avaliablity == 0){\r\n // console.log(Avaliablity);\r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwnerForAddress = true;\r\n }else{\r\n // console.log(Avaliablity);\r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwnerForAddress = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n \r\n }\r\n\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(e){\r\n\r\n let business_year = this._businessAssetsQuesFrom.controls.business_years.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n let Year = +business_year + +Math.floor(converted_year);\r\n \r\n if(Year > this.generalExistBusinessYear){\r\n this.yearErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\r\n \r\n }\r\n else{\r\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\r\n {\r\n this.monthErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\r\n \r\n }else{\r\n this.monthErrorMessage = '';\r\n this.yearErrorMessage = '';\r\n this._businessAssetsQuesFrom.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n }\r\n\r\n checkWithExistBusinessYear(e){\r\n \r\n if(+e > this.generalExistBusinessYear){\r\n this.yearErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n \r\n }\r\n else{\r\n this.yearErrorMessage = '';\r\n }\r\n }\r\n\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1:\r\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 : \r\n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 3:\r\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 9:\r\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 10:\r\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\n// import { QueryState } from '@angular/core/src/render3/interfaces';\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-banking',\r\n templateUrl: 'pd-question-business-banking.html',\r\n})\r\nexport class PdQuestionBusinessBankingPage {\r\npdDetails:any;\r\nm_btLenderList: any;\r\napplicants: any \r\nsalaryField: boolean;\r\nformDetails: any;\r\nform_id:any;\r\naccountType: any;\r\nusers: any;\r\nbankingForm:FormGroup;\r\npublic pd_cus_segment:string\r\ncompany_id:any;\r\n\r\npdid:any;\r\nitemRows:FormArray;\r\n\r\nexistCompanyList: any=[];\r\nmergeCompanyApplicant: any=[];\r\nstep:number\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n limitCaseFlag: any=[];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails')\r\n // console.log(\"pd\",this.pdDetails);\r\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\r\n this.pdid=this.pdDetails.pd_id;\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id=this.pdDetails.company_id\r\n // console.log(\" business bank Form Id fetched\",this.form_id);\r\n // console.log(\" business bank Form Details\",this.formDetails);\r\n // console.log(\" business bank Form Id\",this.formDetails.form_id);\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n //console.log(this.pdDetails);\r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.step=0\r\n this.bankingForm = this.fb.group(\r\n {\r\n itemRows:this.fb.array([]),\r\n banking_form_remark:[''],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\r\n }\r\n getdropdown(){\r\n \r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n console.log(\"Company applicant\",this.mergeCompanyApplicant)\r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n console.log(this.mergeCompanyApplicant);\r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n //console.log(itemrow);\r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n /** Amount InWords */\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setRequiredValidation(value,item,flag) {\r\n console.log(item);\r\n console.log(value);\r\n console.log(flag);\r\n \r\n if(flag == 1){\r\n value==0\r\n ? item.controls.other_applicant.setValidators([Validators.required])\r\n : item.controls.other_applicant.clearValidators();\r\n item.controls.other_applicant.updateValueAndValidity();\r\n }\r\n if(flag == 2){\r\n value==1\r\n ? item.controls.other_bank.setValidators([Validators.required])\r\n : item.controls.other_bank.clearValidators();\r\n item.controls.other_bank.updateValueAndValidity();\r\n }\r\n \r\n }\r\n\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n \r\n bank_name: [''],\r\n \r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n addBankDetails(index,event) {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n event.stopPropagation()\r\n const control = this.bankingForm.controls['itemRows'];\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createBankItem(''));\r\n \r\n //console.log(this.pdQuestionAddress.get('items')['controls']);\r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\r\n \r\n this.itemRows.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n const control = this.bankingForm.controls['itemRows'];\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else\r\n // console.log('index value -', index);\r\n \r\n control.removeAt(i);\r\n }\r\n \r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n retiveBankDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\r\n const control = this.bankingForm.controls['itemRows'];\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n console.log(\"retrieve data\",res['records']);\r\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n \r\n \r\n if(result.length == 0){\r\n console.log(\"DAta Status 0\")\r\n control.push(this.createBankItem(''))\r\n }else\r\n {\r\n console.log(\"DAta Status >1\")\r\n result.forEach((datas,index)=>\r\n {\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n if(datas.limit != ''){\r\n console.log(\"Datas\",datas);\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n }\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n control.push(this.createBankItem(''));\r\n })\r\n \r\n this.bankingForm.controls['itemRows'].setValue(result);\r\n } \r\n }else\r\n {\r\n console.log(\"DAta Status False\");\r\n control.push(this.createBankItem(''));\r\n }\r\n });\r\n \r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.form_id;\r\n records.fk_createdby = this.users;\r\n records.company_id=this.company_id;\r\n records.banking_details = answerData.itemRows;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n console.log('data', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n console.log('data', data);\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n })\r\n //console.log(answerData);\r\n }\r\n \r\n\r\n \r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdGeneralImagesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-general-images',\r\n templateUrl: 'pd-general-images.html',\r\n})\r\nexport class PdGeneralImagesPage {\r\n\r\n cameraArr:any = [];\r\n applicatentDetails: any;\r\n count:any = 0;\r\n saveAccess:boolean =false;\r\n FormId:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdGeneralImagesPage');\r\n }\r\n \r\n takePicture()\r\n {\r\n this.camera.getpicture().then(image=>\r\n {\r\n this.count = this.count+1;\r\n \r\n this.cameraArr.push({'image':image,'name':''});\r\n });\r\n }\r\n\r\n removeimage(i)\r\n {\r\n this.count = this.count - 1; \r\n this.cameraArr.splice(i,1);\r\n }\r\n\r\n docnames(doc,i,img)\r\n {\r\n \r\n this.cameraArr[i] = {'image':img,'Name':doc};\r\n // console.log(JSON.stringify(this.pddocdata)); \r\n }\r\n savePDImages()\r\n {\r\n \r\n this.saveAccess = true;\r\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\r\n records.images = this.cameraArr;\r\n this.qustCat.savePDImages(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.saveAccess = false;\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } \r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\r\n/*\r\n Generated class for the DatabaseProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class DatabaseProvider {\r\n database:SQLiteObject;\r\n constructor(public http: HttpClient,public sql:SQLite) {\r\n console.log('Hello DatabaseProvider Provider');\r\n this.createnewdb();\r\n }\r\n\r\n createnewdb()\r\n {\r\n // alert('function in');\r\n this.sql.create(\r\n {\r\n name:'sinnedge',\r\n location:'defalut',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \r\n {\r\n // alert('db create');\r\n this.getuserDetails();\r\n })\r\n .catch(e => console.log(e));\r\n })\r\n }\r\n getuserDetails()\r\n {\r\n // alert('getusers');\r\n this.sql.create(\r\n {\r\n name:'sineedge',\r\n location:'default',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\r\n {\r\n console.log(res);\r\n })\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the PasswordPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-password',\r\n templateUrl: 'password.html',\r\n})\r\nexport class PasswordPage {\r\n commonImage: string;\r\n newpassword: any;\r\n confirmPassword: any;\r\n pin:any;\r\n Username:any;\r\n Password:any;\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.Username = this.navParams.get('Username');\r\n this.Password = this.navParams.get('Password');\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PasswordPage');\r\n }\r\n setNewPassword(newpass)\r\n {\r\n if(newpass !='' && newpass !=null && newpass !== undefined){\r\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\r\n console.log(auth);\r\n this.aws.dologin(auth).subscribe(res => {\r\n console.log(res);\r\n this.navCtrl.setRoot(PdListPage);\r\n // this.router.navigate(['/home']);\r\n }, err => {\r\n this.toast.pdTriggerappmessage(err.message);\r\n // alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the new Password');\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\n\r\nimport { LoadingProvider } from '../../providers/common-provider/loading';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the AuthPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n \r\n\r\n@Component({\r\n selector: 'page-auth',\r\n templateUrl: 'auth.html',\r\n})\r\nexport class AuthPage {\r\n pinAccess: any;\r\n newpindetails: any;\r\n userDetails: any;\r\npin:any;\r\n mpinaccess:boolean =false;\r\n newpassword:any;\r\n ConfirmPassword:any;\r\n commonImage:any;\r\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) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.shared.refresh();\r\n this.getuserDetails();\r\n \r\n\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad AuthPage');\r\n }\r\n ionViewDidEnter(){\r\n this.Menu.enable(false);\r\n }\r\n ionViewWillLeave(){\r\n this.Menu.enable(true);\r\n }\r\n getuserDetails()\r\n {\r\n this.loadingCtrl.pdloader('loading...');\r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.loadingCtrl.loading.dismiss();\r\n this.userDetails = this.userDetails.records;\r\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\r\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\r\n if(this.userDetails[0].mpin ==null)\r\n {\r\n \r\n this.mpinaccess = true;\r\n \r\n }else\r\n {\r\n this.mpinaccess = false;\r\n }\r\n }else{\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n }else{\r\n this.toast.pdTriggerappmessage('')\r\n }\r\n //console.log(this.mpinaccess);\r\n });\r\n }\r\n setnewpin(newpin)\r\n {\r\n console.log(\"set Pin\")\r\n this.aws.userpinupdate(newpin).subscribe(res=>\r\n {\r\n this.newpindetails = res;\r\n if(this.newpindetails.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n /**Finger print */\r\n \r\n checkpin(pin) {\r\n console.log(\"Check pin\",pin);\r\n if(pin !='' && pin !=null)\r\n {\r\n if(this.userDetails[0].mpin == pin)\r\n {\r\n console.log(\"Entering List page\")\r\n this.navCtrl.setRoot(PdListPage);\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\r\n }\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The PIN');\r\n }\r\n\r\n \r\n \r\n }\r\n checkfingerprint()\r\n {\r\n console.log(\"Check Finger\");\r\n this.faio.show({\r\n clientId: 'Fingerprint-Demo',\r\n clientSecret: 'password', // Only Android\r\n localizedFallbackTitle: 'Use Pin', // Only iOS\r\n localizedReason: 'Please authenticate',\r\n disableBackup:true,\r\n })\r\n .then((result: any) => {\r\n this.navCtrl.setRoot(PdListPage);\r\n })\r\n .catch((error: any) => {\r\n this.toast.pdTriggerappmessage('err: '+ error);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadingController } from 'ionic-angular';\r\n/*\r\n Generated class for the LoadingProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class LoadingProvider {\r\n\r\n loading: any;\r\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\r\n console.log('Hello LoadingProvider Provider');\r\n }\r\n\r\n pdloader(content)\r\n {\r\n this.loading = this.loadingCtrl.create({\r\n content: content\r\n });\r\n\r\n this.loading.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\n\r\nimport { MyApp } from './app.component';\r\n\r\n\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { SQLite } from '@ionic-native/sqlite';\r\nimport { DatabaseProvider } from '../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthGuard } from '../providers/_guard/auth.guard';\r\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { ConstantsProvider } from '../providers/constants/constants';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\r\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\r\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\r\nimport { InputPage } from '../pages/input/input';\r\nimport { ToastProvider } from '../providers/common-provider/toast';\r\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\n\r\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\r\nimport { OtpPage } from '../pages/otp/otp';\r\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\r\n\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\r\nimport { CameraProvider } from '../providers/common-provider/camera';\r\nimport { LoadingProvider } from '../providers/common-provider/loading';\r\nimport { Camera } from '@ionic-native/camera';\r\n\r\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\r\n\r\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\r\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { Geolocation } from '@ionic-native/geolocation';\r\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { DatePicker } from '@ionic-native/date-picker';\r\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\r\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\r\n\r\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\r\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport { PdPipe } from '../pipes/pd/pd';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\r\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\r\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n ],\r\n imports: [\r\n BrowserModule,ReactiveFormsModule,FormsModule,\r\n IonicModule.forRoot(MyApp),\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,HttpClientModule,IonicImageViewerModule\r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n \r\n ],\r\n providers: [\r\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\r\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\r\n {\r\n provide:HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: IonicErrorHandler\r\n },LaunchNavigator,\r\n AwsServiceProvider,\r\n QuestionCategoryProvider,\r\n CameraProvider,Camera,\r\n PdPipe,\r\n LoadingProvider,Geolocation,\r\n DatabaseProvider\r\n ]\r\n})\r\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { Nav, Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { MethodCall } from '@angular/compiler';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { AuthPage } from '../pages/auth/auth';\r\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n userDetails: any;\r\n userAccess:boolean = false;\r\n @ViewChild(Nav) nav: Nav;\r\n\r\n rootPage: any = LoginPage;\r\n\r\n pages: Array<{title: string,icon:any, method: any}>;\r\n\r\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider) {\r\n this.initializeApp();\r\n\r\n // used for an example of ngFor and navigation\r\n this.pages = [ \r\n // { title: 'Home', component: HomePage, icon: 'home' },\r\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\r\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\r\n ];\r\n\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n // Okay, so the platform is ready and our plugins are available.\r\n // Here you can do any higher level native things you might need.\r\n this.statusBar.styleDefault();\r\n if (this.platform.is('android')) {\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n \r\n }\r\n this.splashScreen.hide();\r\n\r\n this.shared.getAccessToken().then(()=>{\r\n this.getuserDetails();\r\n this.rootPage = AuthPage\r\n }).catch(()=>{\r\n setTimeout(() => {\r\n this.rootPage = LoginPage;\r\n }, 1000);\r\n });\r\n })\r\n }\r\n\r\n \r\n getuserDetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.userAccess = true;\r\n this.userDetails = this.userDetails.records[0];\r\n \r\n }\r\n \r\n });\r\n }\r\n menulist(id){\r\n //alert();\r\n switch(id)\r\n {\r\n case 1:\r\n this.nav.setRoot(PdListPage);\r\n break;\r\n case 2:\r\n this.AWS.logout().subscribe(()=>{\r\n \r\n this.nav.setRoot(LoginPage);\r\n });\r\n break;\r\n case 3:\r\n break;\r\n case 4:\r\n break;\r\n}\r\n}\r\n logout()\r\n {\r\n // this.aws.logout();\r\n this.nav.setRoot(LoginPage);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\r\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n \r\n constructor() { \r\n\r\n \r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // // if (this.shared.getToken()) {\r\n // alert(\"if\");\r\n // // this.router.navigate(['']);\r\n // return true\r\n // } else {\r\n // alert(\"else\");\r\n // this.router.navigate(['/login']);\r\n // return false;\r\n // }\r\n // }\r\n getlogin(){\r\n // if (this.shared.getToken()) {\r\n // // alert(\"if\");\r\n // //alert();\r\n // return true;\r\n // } else {\r\n // // alert(\"else\");\r\n \r\n // //this.myGlobalServiceNav.setRoot(LoginPage);\r\n // this.shared.isloggin = false;\r\n // return false;\r\n \r\n \r\n // }\r\n }\r\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n \r\n \r\n // }\r\n\r\n // public getToken(): string {\r\n // return localStorage.getItem('token');\r\n // }\r\n\r\n // public logOut() {\r\n // localStorage.clear();\r\n // if(localStorage.getItem('token') === null){\r\n // this.router.navigate(['/login']);\r\n // }\r\n // }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\n// import { AuthGuard } from './auth.guard';\r\nimport { Observable, of} from 'rxjs';\r\n\r\n// import { Router } from '@angular/router';\r\n\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor{\r\n constructor(public shared:CognitoServiceProvider ) {\r\n \r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // request = request.clone({\r\n // setHeaders: {\r\n // Authorization: `${this.auth.getToken()}`\r\n // }\r\n // });\r\n let token:any;\r\n this.shared.refresh();\r\n token = this.shared.getToken() || null;\r\n \r\n token = token.getIdToken().getJwtToken();\r\n \r\n //console.log(token);\r\n let requests = request.clone({\r\n headers:new HttpHeaders({\r\n \r\n 'Authorization': 'sparqvenba2018',\r\n 'Token':token,\r\n 'From':'1',\r\n \r\n \r\n }) \r\n \r\n });\r\n \r\n return next.handle(requests).pipe(\r\n catchError(this.handleError('role', []))\r\n )\r\n }\r\n\r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n if(error instanceof HttpErrorResponse){\r\n console.error(\"Error: \" + error.status);\r\n if(error.status == 401){\r\n localStorage.clear();\r\n // this.router.navigate(['/authentication/login']);\r\n }\r\n return of(result as T);\r\n }\r\n };\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\r\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the GoogleplaytabPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-googleplaytab',\r\n templateUrl: 'googleplaytab.html',\r\n})\r\nexport class GoogleplaytabPage {\r\n\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= true;\r\n isLeft:boolean= true;\r\n tabs:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\r\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n \r\n}\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n\r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n\r\n this.isLeft=false;\r\n this.isRight=false;\r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n \r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the PdAllocationPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-allocation',\r\n templateUrl: 'pd-allocation.html',\r\n})\r\nexport class PdAllocationPage {\r\npdFullDetails:any = [];\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n \r\n this.pdFullDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdFullDetails);\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdAllocationPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PdListPage } from '../../pd-list/pd-list';\r\n\r\n/**\r\n * Generated class for the BouncedRejectPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-bounced-reject',\r\n templateUrl: 'bounced-reject.html',\r\n})\r\nexport class BouncedRejectPage {\r\n\r\n users: any;\r\n bounseMaster: any;\r\n pdDetails: any;\r\n status: any;\r\n bounce_reason:any;\r\n bounce_reason_others:any = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('appdetails');\r\n this.status = this.navParams.get('status');\r\n this.users = this.aws.getlocale();\r\n this.getDropdown();\r\n \r\n }\r\n\r\n getDropdown()\r\n {\r\n \r\n \r\n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\r\n console.log(this.bounseMaster);\r\n }\r\n })\r\n \r\n }\r\n updatePDStatus()\r\n {\r\n if(this.bounce_reason !=null)\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business',\r\n templateUrl: 'pd-question-business.html',\r\n})\r\nexport class PdQuestionBusinessPage {\r\n pdDetails:any;\r\n pdid:any;\r\n users:any;\r\n FormId:any;\r\n existCompanyList:any=[]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=this.aws.getlocale\r\n\r\n this.getDropDown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\r\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\r\n console.log(this.existCompanyList);\r\n })\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionSalaryInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-salary-info',\r\n templateUrl: 'pd-question-salary-info.html',\r\n})\r\nexport class PdQuestionSalaryInfoPage {\r\n\r\n salaryDetails:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.salaryDetails = this.fb.group(\r\n {\r\n gross:[null],\r\n netTakeHome:[null],\r\n bounsIncentive:[null],\r\n salaryDate:[null],\r\n anydelays:[null], \r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\r\n }\r\n\r\n}\r\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';\r\n\r\n// import { CanActivateChild, Router } from '@angular/router';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\n\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { BehaviorSubject,Observable,of } from 'rxjs';\r\n\r\nconst sineedge_poolData = { \r\n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\r\n};\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"\",\r\n ClientId: \"\"\r\n}\r\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"\";\r\n// serviceProvider\r\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\r\n// const apiurl = \"http://localhost/sparqapi/api/\";\r\n\r\n@Injectable()\r\n\r\nexport class CognitoServiceProvider {\r\n public loggedIn :boolean = false;\r\n // public static _REGION = environment.region;\r\n\r\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\r\n // public static _USER_POOL_ID = environment.UserPoolId;\r\n // public static _CLIENT_ID = environment.ClientId;\r\n\r\n // public static _POOL_DATA: any = {\r\n // UserPoolId: CognitoService._USER_POOL_ID,\r\n // ClientId: CognitoService._CLIENT_ID\r\n // };\r\n \r\n\r\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\r\nisloggin:boolean = false; \r\n\r\n\r\n \r\n\r\n \r\n constructor() { \r\n \r\n }\r\n getCurrentUser() {\r\n \r\n return sineedgedevUserpool.getCurrentUser();\r\n}\r\n get isLoggedIn() {\r\n if(sineedgedevUserpool.getCurrentUser() !=null){\r\n this.loggedIn = true;\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n return this.loggedIn; // {2}\r\n }\r\n \r\nrefresh() {\r\n let tokenexp:boolean;\r\n \r\n if(this.getCurrentUser() !=null){\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n }\r\n\r\n else {\r\n if (session.isValid()) {\r\n tokenexp = session.isValid();\r\n of(tokenexp)\r\n console.log(\"CognitoUtil: refreshed successfully\");\r\n \r\n } else {\r\n tokenexp = session.isValid();\r\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\r\n \r\n }\r\n }\r\n \r\n return tokenexp;\r\n \r\n });\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n}\r\ngetAccessToken(){\r\n this.refresh();\r\n return new Promise((resolve, reject) => {\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n //console.log(JSON.stringify(this.getCurrentUser()));\r\n // console.log('76 if');\r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n jwttoken ='';\r\n // console.log('81 if')\r\n reject(err);\r\n }\r\n else {\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n resolve();\r\n } else {\r\n \r\n }\r\n }\r\n });\r\n }\r\n else {\r\n //console.log(\"else\");\r\n reject();\r\n }\r\n});\r\n}\r\n\r\ngetToken():any {\r\n let isloggin = false;\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n isloggin = false;\r\n //console.log('81 if')\r\n }\r\n else {\r\n //alert('function else');\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n isloggin = true;\r\n } else {\r\n \r\n isloggin = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // console.log(\"else\");\r\n isloggin = false;\r\n }\r\n return jwttoken;\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n\r\n\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { CognitoServiceProvider } from './cognito.service';\r\nimport { ConstantsProvider } from '../constants/constants';\r\nimport { UrlResolver } from '@angular/compiler';\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"ap-south-1_K57yPaWxV\",\r\n ClientId: \"\"\r\n}\r\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\r\n\r\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Injectable()\r\nexport class AwsServiceProvider {\r\napiurl:any;\r\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\r\n this.apiurl = con.apiurl();\r\n }\r\n\r\n dologin(authenticationData) {\r\n // alert();\r\n //(authenticationData);\r\n const authenticationDetails = new AuthenticationDetails(authenticationData);\r\n let Newpassword = authenticationData.newpassword;\r\n let attributesData = [];\r\n const userData = {\r\n Username: authenticationData.Username, // User email id\r\n Pool: sineedgedevUserpool // user Pool ID\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observer => {\r\n cognitoUser.authenticateUser(authenticationDetails, {\r\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \r\n cognitoUser.completeNewPasswordChallenge(\r\n Newpassword,\r\n attributesData,\r\n {\r\n onSuccess: function (result) {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n onFailure: function (err) {\r\n //(err);\r\n observer.error(err);\r\n //LoginComponent.prototype.open();\r\n }\r\n }\r\n );\r\n },\r\n onSuccess: function (result) { // success user login\r\n // let accessToken = result.getAccessToken().getJwtToken();\r\n ////(result);\r\n //window.localStorage.setItem('Currentuser', '1');\r\n observer.next(result);\r\n observer.complete();\r\n this.shared.isloggin = true;\r\n },\r\n onFailure: function (err) { // error user login\r\n\r\n //alert(err.message);\r\n observer.error(err);\r\n }\r\n });\r\n });\r\n }\r\n userforgotpass(auth) {\r\n ////(auth);\r\n const userData = {\r\n Username: auth.Username,\r\n Pool: sineedgedevUserpool\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observe => {\r\n cognitoUser.forgotPassword({\r\n onSuccess: function (data) {\r\n // successfully initiated reset password request\r\n //('CodeDeliveryData from forgotPassword: ' + data);\r\n observe.next(data);\r\n },\r\n onFailure: function (err) {\r\n alert(err.message || JSON.stringify(err));\r\n },\r\n //Optional automatic callback\r\n inputVerificationCode: function (data) {\r\n //('Code sent to: ' + data);\r\n var verificationCode = prompt('Please input verification code ', '');\r\n var newPassword = prompt('Enter new password ', '');\r\n cognitoUser.confirmPassword(verificationCode, newPassword, {\r\n onSuccess() {\r\n //('Password confirmed!');\r\n },\r\n onFailure(err) {\r\n //('Password not confirmed!');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n /**\r\n * End of the function \r\n */\r\n\r\n /**\r\n * Logout function\r\n */\r\n logout(){\r\n \r\n return Observable.create(observe=>{\r\n this.shared.getCurrentUser().signOut(); \r\n \r\n observe.next();\r\n \r\n observe.complete();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Config function\r\n */\r\n // getconfig() {\r\n // let session:any = this.shared.getAccessToken() || \"\";\r\n \r\n // let config = \"\";\r\n // config += AWS.config.region = \"ap-south-1\";\r\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\r\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\r\n // Logins: {\r\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\r\n // .getIdToken()\r\n // .getJwtToken()\r\n // }\r\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\r\n // });\r\n // return config;\r\n // }\r\n\r\n getlocale(){\r\n let session:any = this.shared.getToken() || null;\r\n let userid = session.idToken.payload.locale;\r\n return userid;\r\n }\r\n getuserprofile(userid)\r\n {\r\n \r\n \r\n // alert();\r\n \r\n //console.log(cogusers.idToken.payload.locale);\r\n let roles = {'userid':userid}; \r\n \r\n \r\n // let request = new RequestOptions({headers:headers});\r\n return this.http.post(this.apiurl+'getUsersDetails',roles);\r\n \r\n }\r\n\r\n userpinupdate(pin)\r\n {\r\n let userid = this.getlocale(); \r\n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\r\n let formdata = new FormData();\r\n \r\n formdata.append('records',JSON.stringify(records));\r\n return this.http.post(this.apiurl+'updateExistUser',formdata);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { InputPage } from '../input/input';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { parseDate } from 'ionic-angular/util/datetime-util';\r\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\r\nimport { OtpPage } from '../otp/otp';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { DatabaseProvider } from '../../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n/**\r\n * Generated class for the PdListPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-list',\r\n templateUrl: 'pd-list.html',\r\n})\r\nexport class PdListPage {\r\n\r\n searchinprogress: any;\r\n searchpast: any;\r\n pdschduleDetails: any;\r\n bgColorPast: any = [];\r\n bgColor: any = [];\r\n pdinprogress: any=[];\r\n pdlistdetails: any=[];\r\n viewchange: boolean;\r\n pdlist:any = \"inpro\";\r\n pdlistaccess:boolean = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\r\n //this.getlenderpddetails(); \r\n // this.getpdTriggerdetails();\r\n console.log(\"Entered\")\r\n }\r\n\r\n ionViewDidLoad() {\r\n \r\n console.log('ionViewDidLoad PdListPage');\r\n this.db.getuserDetails();\r\n this.setpermission();\r\n }\r\n ionViewCanEnter()\r\n {\r\n console.log(\"Pd list ionViewCanEnter\")\r\n this.getpdTriggerdetails();\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n this.pdinprogress = this.pdinprogress;\r\n this.pdschduleDetails = this.pdschduleDetails;\r\n }\r\n \r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n console.log(searchbar);\r\n this.pdinprogress = this.searchinprogress;\r\n this.pdschduleDetails = this.searchpast;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n \r\n if(this.pdlist == \"inpro\"){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n this.pdinprogress = this.searchinprogress.filter((v) => {\r\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) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n console.log(q.trim());\r\n console.log(this.pdlistdetails);\r\n return ;\r\n }else{\r\n this.pdschduleDetails = this.searchpast.filter((v) => {\r\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\r\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) {\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n })\r\n }\r\n \r\n}\r\n}\r\n newpage(){\r\n this.navCtrl.push(InputPage);\r\n }\r\n getpdTriggerdetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n console.log(\"User\",userid)\r\n\r\n this.pdofficer.getpddetails(userid).subscribe(res=>\r\n {\r\n this.pdlistdetails = res;\r\n if(this.pdlistdetails.dataStatus == true)\r\n {\r\n console.log(this.pdlistdetails);\r\n this.pdlistaccess = true;\r\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);\r\n this.searchpast = this.pdschduleDetails;\r\n // console.log(65,this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"STARTED\" || sch.pd_status == \"INPROGRESS\" || sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" && sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\"));\r\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\r\n this.searchinprogress = this.pdinprogress;\r\n console.log(this.pdinprogress);\r\n this.random_bg_color();\r\n this.random_ng_past();\r\n }else\r\n {\r\n this.pdlistaccess = false;\r\n this.pdlistdetails = \"No Records Found\";\r\n }\r\n })\r\n }\r\n\r\n random_bg_color() {\r\n for(let id of this.pdinprogress){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n \r\n return this.bgColor;\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.pdschduleDetails){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n doRefresh(refresher) {\r\n this.bgColor = [];\r\n this.pdschduleDetails = [];\r\n this.pdinprogress = [];\r\n console.log('Begin async operation', refresher);\r\n this.shared.refresh();\r\n this.getpdTriggerdetails();\r\n setTimeout(() => {\r\n console.log('Async operation has ended');\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n \r\n PdAllocation(pddetails)\r\n {\r\n \r\n if(pddetails.pd_status == 'STARTED')\r\n {\r\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\r\n }else if(pddetails.pd_status == 'INPROGRESS'){\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':pddetails});\r\n }else{\r\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\r\n }\r\n }\r\n\r\n setpermission()\r\n {\r\n // let permission = this.androidPermissions.PERMISSION; \r\n // let premission_list = [\r\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\r\n // permission.CAMERA,\r\n\r\n\r\n // ];\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {ConstantsProvider} from '../constants/constants';\r\n\r\n/*\r\n Generated class for the PdtriggerProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\r\n@Injectable()\r\nexport class PdtriggerProvider {\r\n apiurl:any;\r\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\r\n this.apiurl = constants.apiurl();\r\n console.log('Hello PdtriggerProvider Provider');\r\n }\r\n\r\n \r\n\r\n /**get dropdonw list */\r\n\r\n /**Get list of PD Trigger */\r\n\r\n getpddetails(userid)\r\n { \r\n console.log(userid);\r\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\r\n }\r\n\r\n getFullPDdetails(pdid)\r\n {\r\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\r\n }\r\n\r\n updatepdStatus(dataStatus)\r\n {\r\n let records = {'records':dataStatus};\r\n return this.http.post(this.apiurl+'updatePDMaster',records);\r\n }\r\n\r\n saveCurrentLocation(data)\r\n {\r\n let records = {'records':data};\r\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\r\n }\r\n\r\n checkotp(otpDetails)\r\n {\r\n let records = {'records':otpDetails};\r\n return this.http.post(this.apiurl+'checkOTP',records); \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Toast, ToastController } from 'ionic-angular';\r\n\r\n/*\r\n Generated class for the ToastProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ToastProvider {\r\n\r\n constructor(public http: HttpClient,public toast:ToastController) {\r\n console.log('Hello ToastProvider Provider');\r\n }\r\n pdTriggerappmessage(mess){\r\n let valalert = this.toast.create({\r\n message:mess, \r\n duration: 3000, \r\n position: 'bottom',\r\n dismissOnPageChange: true,\r\n });\r\n\r\n valalert.present();\r\n} \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file +{"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/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/input/bounced-reject/bounced-reject.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/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConstantsProvider } from '../constants/constants';\r\n\r\n/*\r\n Generated class for the QuestionCategoryProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class QuestionCategoryProvider {\r\napiurl:any;\r\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\r\n console.log('Hello QuestionCategoryProvider Provider');\r\n this.apiurl = constant.apiurl();\r\n }\r\n \r\n \r\n getLoadTemplate(pdid)\r\n {\r\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\r\n }\r\n saveQusetion(saveData)\r\n {\r\n let records = {'records':[saveData]};\r\n return this.http.post(this.apiurl+'savePDQuestions',records);\r\n }\r\n\r\n \r\n getAnswerTemplate(qustDetails)\r\n {\r\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\r\n }\r\n\r\n /***\r\n * Get PD Questions dropdown api\r\n * sriram\r\n */\r\n getcommondrop(tableName)\r\n {\r\n let masters = {'master_name':tableName}\r\n return this.http.post(this.apiurl+'getListOfMaster',masters);\r\n }\r\n\r\n saveForm(records)\r\n { let record = {'records':records};\r\n return this.http.post(this.apiurl+'savePDFormDetails',record);\r\n }\r\n\r\n retiverForm(records)\r\n {\r\n return this.http.post(this.apiurl+'getPDFormDetails',records);\r\n }\r\n\r\n /**Assessed Form Details API */\r\n saveassessedForms(api,saveData)\r\n {\r\n return this.http.post(this.apiurl+api,saveData);\r\n }\r\n\r\n retiverassessedForm(api,records)\r\n {\r\n return this.http.post(this.apiurl+api,records);\r\n }\r\n\r\n updatePdApplicant(editData: any) {\r\n // editData.fk_updatedby = this._aws.getlocale();\r\n // editData.updatedon = currentdate;\r\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\r\n\r\n \r\n}\r\n\r\ngetEndUseForLoan(pdid:any){\r\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetCompaniesListsForBusiness(pdid:any){\r\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetStateWiseCities(stateid:any){\r\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\r\n}\r\ngetAllPersonsName(pdid:any){\r\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\r\n \r\n}\r\ngetStateCityDetails(){\r\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\r\n}\r\ngetAssetsWithLoanFromBusiness(pdid:any){\r\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\r\n\r\n}\r\n\r\n\r\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\r\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\r\n}\r\n\r\n/** For Stock Details \r\n * To Get The Products With TypeofActivity From Business \r\n **/\r\nstockFormAccess(pdid: any,companyid: any) {\r\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\r\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\r\n}\r\n\r\n\r\n\r\n/*****Save Images */\r\nsavePDImages(imagesDetails)\r\n{ \r\n let record = {'records':imagesDetails};\r\n return this.http.post(this.apiurl+'savePDPhotos',record);\r\n}\r\ngetFamilyDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdQuestionPage } from '../pd-question/pd-question';\r\nimport Chart from 'chart.js';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\r\n\r\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\r\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\r\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\r\n/**\r\n * Generated class for the PdQuestionCategoryPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-category',\r\n templateUrl: 'pd-question-category.html',\r\n})\r\nexport class PdQuestionCategoryPage {\r\n searchTempForm: any;\r\n searchQuestion: any;\r\n viewchange: boolean;\r\n templateAccess: boolean;\r\n bgColortempForm: any=[];\r\n bgColorqustCat: any=[];\r\n // @ViewChild('doughnutCanvas') doughnutCanvas;\r\n pdinfo: any;\r\nquestionList:any;\r\nquestionCate:any;\r\nquestionCateAccess:boolean = null;\r\nquestionfinishedList:any =[];\r\npddetails:any;\r\noverallqustioncountAccess:boolean = true;\r\ndoughnutChart: any;\r\ncompletedAccess:any;\r\nsearchitem:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\r\n this.pddetails = this.navParams.get('pdDetails');\r\n \r\n \r\n }\r\n\r\n ionViewCanEnter()\r\n {\r\n this.getcategoryList(); \r\n }\r\n // doughuntChart()\r\n // {\r\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\r\n \r\n // type: 'doughnut',\r\n // data: {\r\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\r\n // datasets: [{\r\n // label: '# of Votes',\r\n // data: [12],\r\n // backgroundColor: [\r\n // // 'rgba(255, 99, 132, 0.2)',\r\n // 'rgba(54, 162, 235, 0.2)',\r\n // // 'rgba(255, 206, 86, 0.2)',\r\n // // 'rgba(75, 192, 192, 0.2)',\r\n // // 'rgba(153, 102, 255, 0.2)',\r\n // // 'rgba(255, 159, 64, 0.2)'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\",\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\"\r\n // ]\r\n // }]\r\n // }\r\n\r\n // });\r\n // }\r\n ionViewDidLoad() {\r\n this.shared.refresh();\r\n //this.doughuntChart();\r\n console.log('ionViewDidLoad PdQuestionCategoryPage');\r\n }\r\n \r\n getcategoryList()\r\n {\r\n let j = 1;\r\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\r\n {\r\n this.questionCate = res;\r\n if(this.questionCate.dataStatus == true)\r\n {\r\n \r\n this.questionCate = this.questionCate.records;\r\n this.random_ng_past(); \r\n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\r\n {\r\n this.questionCateAccess = true;\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchQuestion = this.questionCate.question_answers;\r\n\r\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)\r\n {\r\n this.overallqustioncountAccess = false;\r\n }else\r\n {\r\n this.overallqustioncountAccess = true;\r\n }\r\n \r\n \r\n \r\n \r\n \r\n }else if(this.questionCate.template_forms!='')\r\n {\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchTempForm = this.questionCate.template_forms\r\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)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n }\r\n else\r\n {\r\n this.questionCateAccess = false;\r\n this.templateAccess = false; \r\n this.questionCate = \"No Template Available\";\r\n }\r\n }\r\n })\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.questionCate.question_answers){\r\n var a = Math.floor(Math.random() * 256);\r\n var b = Math.floor(Math.random() * 256);\r\n var c = Math.floor(Math.random() * 256);\r\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\r\n \r\n }\r\n for(let id of this.questionCate.template_forms){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n questionsTag(categroyId){\r\n \r\n this.pdinfo = this.pddetails; \r\n \r\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\r\n // if(this.questionCate.questions.length !=\"0\"){\r\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\r\n \r\n // }else\r\n // {\r\n // this.getcategoryList();\r\n // this.toast.pdTriggerappmessage('No Question Available');\r\n // }\r\n }\r\n\r\n tempQustionTag(categroyId)\r\n {\r\n this.pdinfo = this.pddetails; \r\n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\r\n if(categroyId ==5)\r\n {\r\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n \r\n }else if(categroyId==12){\r\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }else if(categroyId==10)\r\n {\r\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==8){\r\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==13)\r\n {\r\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n \r\n }else if(categroyId==7)\r\n {\r\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n\r\n }else if(categroyId==6)\r\n {\r\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==4){\r\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==9){\r\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==3){\r\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==11)\r\n {\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==14)\r\n {\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==2)\r\n {\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId ==17)\r\n {\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }\r\n else if(categroyId==16)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==15)\r\n {\r\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==18)\r\n {\r\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==19)\r\n {\r\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }\r\n else if(categroyId==20)\r\n {\r\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n }\r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n // this.questionCate = this.searchQuestion;\r\n // this.questionCate.template_forms = this.searchTempForm;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n if(this.searchQuestion !== undefined){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\r\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n // return true;\r\n // }\r\n // })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\r\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n// return true;\r\n// }\r\n// })\r\n }\r\n }\r\n}\r\n completed()\r\n {\r\n let users = this.aws.getlocale();\r\n \r\n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\r\n \r\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.completedAccess = res;\r\n if(this.completedAccess.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage);\r\n }\r\n })\r\n }\r\n doRefresh(refresher) {\r\n this.questionCate = [];\r\n this.questionfinishedList = [];\r\n this.shared.refresh();\r\n this.getcategoryList();\r\n setTimeout(() => {\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\n\r\n/**\r\n * Generated class for the OtpPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-otp',\r\n templateUrl: 'otp.html',\r\n})\r\nexport class OtpPage {\r\n\r\n \r\n timeLimit: any;\r\n reason_otp: any;\r\n users: any;\r\n timerOn: boolean = true;\r\n balance_time: string;\r\n otpStatus: any;\r\n pin:any;\r\n otpStatusAccess:boolean = true;\r\n applicatentDetails: any;\r\n commonImage:any;\r\n maxtime: any=30;\r\n \r\n reasonForm:FormGroup\r\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) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.reasonForm = this.fb.group(\r\n {\r\n reason:[null,Validators.compose([Validators.required])],\r\n others_reason:[null],\r\n })\r\n this.getDropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad OtpPage');\r\n }\r\n ionViewDidEnter(){\r\n //this.Menu.enable(false);\r\n this.timer(120);\r\n }\r\n ionViewWillLeave(){\r\n //this.Menu.enable(true);\r\n clearTimeout(this.timeLimit);\r\n }\r\n getDropdown()\r\n {\r\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\r\n console.log(this.reason_otp);\r\n \r\n }\r\n })\r\n }\r\n checkotp(otp)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n console.log(\"Otp\",res)\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }\r\n\r\n timer(remaining) {\r\n // console.log(remaining);\r\n let m:any = Math.floor(remaining / 60);\r\n let s:any = remaining % 60;\r\n \r\n m = m < 10 ? '0' + m : m;\r\n s = s < 10 ? '0' + s : s;\r\n // var balance_time = m + ':' + s;\r\n this.balance_time = m + ':' + s;\r\n remaining -=1;\r\n // console.log(this.balance_time);\r\n if(remaining >= 0 && this.timerOn) {\r\n this.timeLimit = setTimeout(()=> {\r\n this.timer(remaining);\r\n }, 1000);\r\n return;\r\n }\r\n \r\n if(!this.timerOn) {\r\n // Do validate stuff here\r\n return;\r\n }\r\n \r\n // Do timeout stuff here\r\n this.users = this.aws.getlocale();\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'OTP Expired ',\r\n message: 'Do you want sure resend OTP',\r\n buttons: [\r\n {\r\n text: 'OTP Without Start',\r\n \r\n handler: () => {\r\n \r\n this.otpStatusAccess = false;\r\n }\r\n },\r\n {\r\n text: 'Resend OTP',\r\n handler: () => {\r\n \r\n \r\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users};\r\n console.log(data);\r\n this.pddetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n \r\n })\r\n // console.log('Buy clicked');\r\n \r\n } \r\n }\r\n \r\n ]\r\n });\r\n alert.present();\r\n }\r\n \r\n saveotpreasno()\r\n {\r\n console.log(this.reasonForm.value);\r\n if(this.reasonForm.valid)\r\n {\r\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};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Camera } from '@ionic-native/camera';\r\n/*\r\n Generated class for the CameraProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class CameraProvider {\r\n\r\n constructor(public http: HttpClient,public camera:Camera) {\r\n console.log('Hello CameraProvider Provider');\r\n }\r\n getpicture() \r\n {\r\n const options = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 500,\r\n correctOrientation: true\r\n };\r\n\r\n // If set to crop, restricts the image to a square of 600 by 600\r\n \r\n\r\n return this.camera.getPicture(options).then(imageData => {\r\n const base64Image = 'data:image/png;base64,' + imageData;\r\n // console.log(base64Image);\r\n return base64Image;\r\n }, error => {\r\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionSupplierInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-supplier-info',\r\n templateUrl: 'pd-question-supplier-info.html',\r\n})\r\n\r\nexport class PdQuestionSupplierInfoPage {\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n company_id: any;\r\n form_id: any;\r\n questionDetails: any;\r\n supplierInfoForm: FormGroup;\r\n\r\n business_manufacturingProducts: any = [];\r\n business_tradingProducts: any = [];\r\n m_titleList: any = [];\r\n m_paymentList: any = [];\r\n m_companyRelationShipList: any = [];\r\n\r\n noRecordsFound: Boolean = false;\r\n public submitted = false;\r\n errorMessage: any = '';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider) {\r\n\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id = this.pdDetails.company_id;\r\n this.users = this.aws.getlocale();\r\n\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropList();\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\r\n }\r\n\r\n\r\n serviceProviderForm: Boolean = false;\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdDetails.pd_id;\r\n params.pd_form_id = this.form_id;\r\n params.company_id = this.company_id;\r\n\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus'] == true) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\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);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n this.initTradingProductsDetails(api_trading_products);\r\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);\r\n }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\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);\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [''],\r\n manufacturing_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: [''],\r\n manufacturing_frequency_of_purchase: [''],\r\n person_stdcode: [''],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [''],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\r\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\r\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\r\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\r\n person_stdcode: [records.person_stdcode || null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline || null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n person_title_name: [records.person_title_name],\r\n person_designation: [records.person_designation],\r\n other_person_designation: [records.other_person_designation],\r\n trade_supplier_name: [records.trade_supplier_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\r\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [records.person_stdcode],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.m_companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n\r\n saveSupplierInfo(FormValues) {\r\n\r\n var answerFormValues = FormValues;\r\n\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n e == 1 ? '' : '';\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n e == 1 ? '' : '';\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n checkCard(e, flag, index) {\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n }\r\n\r\n selectedPaymentTerms(items, e, flag) {\r\n if (flag == 2) {\r\n if (e == 3) {\r\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\r\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['trade_product_credit_days_from'].clearValidators();\r\n items.controls['trade_product_credit_days_from'].setValue('');\r\n items.controls['trade_product_credit_days_to'].clearValidators();\r\n items.controls['trade_product_credit_days_to'].setValue('');\r\n }\r\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\r\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\r\n }\r\n else if (flag == 1) {\r\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\r\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['manufacturing_credit_days_from'].clearValidators();\r\n items.controls['manufacturing_credit_days_from'].setValue('');\r\n items.controls['manufacturing_credit_days_to'].clearValidators();\r\n items.controls['manufacturing_credit_days_to'].setValue('');\r\n }\r\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\r\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\r\n }\r\n }\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionStockInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-stock-info',\r\n templateUrl: 'pd-question-stock-info.html',\r\n})\r\nexport class PdQuestionStockInfoPage {\r\n\r\n uomData: any;\r\n rawmaterial: any;\r\n users: any;\r\n formDetails: any;\r\n pdDetails: any;\r\n company_id : any;\r\n pdid:any;\r\n stockForm: FormGroup;\r\n noRecordsFound: Boolean;\r\n errorMessage: any = '';\r\n M_rawValueInWords : any = []; \r\n M_goodsValueInWords : any = [];\r\n R_tradedGoodsValueInWords : any = [];\r\n T_tradedGoodsValueInWords : any = [];\r\n mrmCommentFlag:any=[];\r\n mfgCommentFlag:any=[];\r\n rtrdCommentFlag:any=[];\r\n wtrdCommentFlag:any=[];\r\n serviceProviderForm: Boolean = false;\r\n suppliers_raw_materials : any = [];\r\n suppliers_retail_trade_details : any = [];\r\n suppliers_wholesale_trade_details : any = [];\r\n suppliers_finished_goods : any =[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.pdid=this.pdDetails.pd_id;\r\n this.qustCat.stockFormAccess(this.pdid,this.company_id).subscribe(data => {\r\n if(data.dataStatus == true){\r\n this.initstockForm(data.record);\r\n }\r\n else if(data.dataStatus == false)\r\n {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropdown();\r\n }\r\n\r\n public initstockForm(record){\r\n let api = Object.keys(record.from_business).map(function (key) {\r\n return record.from_business[key];\r\n });\r\n let rm_api = record.from_supplier;\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(value => {\r\n if (value['status'] == 200) {\r\n let dataForm = value['records']; \r\n if(dataForm !== undefined) {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [dataForm.stock_remarks],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(api)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(api)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n let manufacturing_temparr = [];\r\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials; \r\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods; \r\n this.initManufacturingDetails(manufacturing_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n let retail_temparr = [];\r\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\r\n this.initRetailDetails(retail_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n let trading_temparr = [];\r\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\r\n this.initTradingDetails(trading_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n else{\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(record.from_business)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record.from_business)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.suppliers_finished_goods = val.products;\r\n this.initManufacturingDetails(null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.suppliers_wholesale_trade_details =val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(record.from_business)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record.from_business)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.suppliers_finished_goods = val.products;\r\n this.suppliers_raw_materials = rm_api;\r\n this.initManufacturingDetails(null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.suppliers_retail_trade_details= val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n } \r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\r\n }\r\n\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if(data['dataStatus']==true){\r\n this.uomData = data['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(record) {\r\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let rm_arr = record.from_supplier;\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n retailForm: Boolean = false;\r\n retailFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3);\r\n if (arr.length > 0) {\r\n // if(arr.products != undefined){\r\n this.retailForm = true;\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n }); \r\n // }else{\r\n // this.retailForm = false;\r\n // return;\r\n // } \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n \r\n let arr = val.filter(data => data.type_of_activity_id == 4);\r\n \r\n if (arr.length > 0) {\r\n \r\n // if(arr.products === undefined){\r\n \r\n // this.tradingForm = false;\r\n // return;\r\n // }\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n }); \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingDetails(datas) {\r\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; \r\n if(datas === null){\r\n if(this.suppliers_raw_materials.length > 0){\r\n this.suppliers_raw_materials.forEach(val => {\r\n let Ref_RawMaterials : any = {'raw_name': val,\r\n 'stock_observed':'',\r\n 'raw_quantity': '',\r\n 'raw_uom': '',\r\n 'other_uom': '',\r\n 'raw_value': '',\r\n 'is_sufficiant_raw': '',\r\n 'rawmaterial_remarks':''};\r\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials)); \r\n });\r\n }\r\n else{ \r\n rawMaterial.push(this.createRawmaterial(null)); \r\n } \r\n if(this.suppliers_finished_goods.length > 0){\r\n this.suppliers_finished_goods.forEach(val => {\r\n let Ref_Finished_Goods : any = {'goods_name': val,\r\n 'goods_observed': '',\r\n 'goods_quantity': '',\r\n 'goods_uom': '',\r\n 'goods_other_uom': '',\r\n 'goods_value': '',\r\n 'is_sufficiant_goods': '',\r\n 'finishedgoods_remarks':''};\r\n finishedGoods.push(this.createGoods(Ref_Finished_Goods)); \r\n });\r\n }\r\n else{ \r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n } else {\r\n if(datas.manufacturing_raw_materials != undefined){\r\n datas.manufacturing_raw_materials.forEach((val,index) => {\r\n if(val.raw_value){\r\n this.inWords(val.raw_value,1,index);\r\n }\r\n this.checkComments(val.is_sufficiant_raw,1,index);\r\n rawMaterial.push(this.createRawmaterial(val)); \r\n });\r\n }\r\n else{\r\n rawMaterial.push(this.createRawmaterial(null)); \r\n }\r\n if(datas.manufacturing_finished_goods != undefined){ \r\n datas.manufacturing_finished_goods.forEach((val,index) => {\r\n if(val.goods_value){\r\n this.inWords(val.goods_value,2,index);\r\n }\r\n this.checkComments(val.is_sufficiant_goods,2,index);\r\n finishedGoods.push(this.createGoods(val)); \r\n \r\n });\r\n }\r\n else{\r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createRawmaterial(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n raw_name: [''],\r\n stock_observed:[''],\r\n raw_quantity: [''],\r\n raw_uom: [''],\r\n other_uom : [''],\r\n raw_value: [''],\r\n is_sufficiant_raw: [''],\r\n rawmaterial_remarks:['']\r\n })\r\n } else { \r\n return this.fb.group({\r\n raw_name: [records.raw_name],\r\n stock_observed:[records.stock_observed],\r\n raw_quantity: [records.raw_quantity],\r\n raw_uom: [records.raw_uom],\r\n other_uom : [records.other_uom],\r\n raw_value: [records.raw_value],\r\n is_sufficiant_raw: [records.is_sufficiant_raw],\r\n rawmaterial_remarks:[records.rawmaterial_remarks]\r\n })\r\n }\r\n }\r\n \r\n initRetailDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n if(datas === null){\r\n if(this.suppliers_retail_trade_details.length > 0){\r\n // this.rawMaterialAccess = true;\r\n this.suppliers_retail_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n } else {\r\n if(datas.retail_traded_goods !== undefined){\r\n datas.retail_traded_goods.forEach((val,index) => {\r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,3,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,3,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n\r\n createGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n goods_name: [''],\r\n goods_observed: [''],\r\n goods_quantity: [''],\r\n goods_uom: [''],\r\n goods_other_uom: [''],\r\n goods_value: [''],\r\n is_sufficiant_goods: [''],\r\n finishedgoods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n goods_name: [records.goods_name],\r\n goods_observed: [records.goods_observed],\r\n goods_quantity: [records.goods_quantity],\r\n goods_uom: [records.goods_uom],\r\n goods_other_uom: [records.goods_other_uom],\r\n goods_value: [records.goods_value],\r\n is_sufficiant_goods: [records.is_sufficiant_goods],\r\n finishedgoods_remarks:[records.finishedgoods_remarks]\r\n })\r\n }\r\n }\r\n\r\n initTradingDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; \r\n if(datas === null){\r\n if(this.suppliers_wholesale_trade_details.length > 0){\r\n this.suppliers_wholesale_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n\r\n } else {\r\n if(datas.trading_traded_goods !==undefined)\r\n {\r\n datas.trading_traded_goods.forEach((val,index) => { \r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,4,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,4,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createTradedGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n traded_goods_name: [''],\r\n traded_goods_observed: [''],\r\n traded_goods_quantity: [''],\r\n traded_goods_uom: [''],\r\n traded_goods_other_uom: [''],\r\n estimated_traded_goods_value: [''],\r\n is_sufficiant_traded_goods: [''],\r\n traded_goods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n traded_goods_name: [records.traded_goods_name],\r\n traded_goods_observed: [records.traded_goods_observed],\r\n traded_goods_quantity: [records.traded_goods_quantity],\r\n traded_goods_uom: [records.traded_goods_uom],\r\n traded_goods_other_uom: [records.traded_goods_other_uom],\r\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\r\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\r\n traded_goods_remarks:[records.traded_goods_remarks]\r\n })\r\n }\r\n }\r\n \r\n /** Manufacturing -> To Add More Raw Material Details */\r\n addRawMaterials(flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.push(this.createRawmaterial(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Raw Material Details */\r\n deleteRawMaterials(index,flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Finished Goods */\r\n addGoods(flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.push(this.createGoods(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Finished Goods */\r\n deleteGoods(index,flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To Add More trade Goods\r\n * Case 2 wholesale Traded -> To Add More trade Goods\r\n */\r\n addTradedGoods(flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To remove trade Goods\r\n * Case 2 wholesale Traded -> To remove trade Goods\r\n */\r\n deleteTradedGoods(index,flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n \r\n //const control = this.stockForm.controls['traded_goods'];\r\n\r\n }\r\n\r\n checkComments(e,flag,index){\r\n if(flag == 1 && e=='no'){\r\n this.mrmCommentFlag[index] = true;\r\n }\r\n else if(flag == 1 && e!='no'){\r\n this.mrmCommentFlag[index] = false;\r\n }\r\n if(flag == 2 && e=='no'){\r\n this.mfgCommentFlag[index] = true;\r\n }\r\n else if(flag == 2 && e!='no'){\r\n this.mfgCommentFlag[index] = false;\r\n }\r\n if(flag == 3 && e=='no'){\r\n this.rtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 3 && e!='no'){\r\n this.rtrdCommentFlag[index] = false;\r\n }\r\n if(flag == 4 && e=='no'){\r\n this.wtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 4 && e!='no'){\r\n this.wtrdCommentFlag[index] = false;\r\n }\r\n }\r\n\r\n /** To Save/Edited Popup Data */\r\n saveStockInfo(answerFormValues) {\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if(responsed['status'] == 200) { \r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }else{\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); \r\n }\r\n });\r\n }\r\n\r\n inWords(e,flag:number,i){\r\n switch(flag){\r\n case 1 :\r\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 2 : \r\n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 3 : \r\n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 4 : \r\n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n}\r\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 } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\r\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionFinancialInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-financial-info',\r\n templateUrl: 'pd-question-financial-info.html',\r\n})\r\nexport class PdQuestionFinancialInfoPage {\r\n \r\n public financialForm: FormGroup;\r\n\r\n pdDetails:any;\r\n FormId:any;\r\n users:any;\r\n company_id:any;\r\n isDisplay:boolean;\r\n customerCommentsFlag:boolean;\r\n FY_annualSalesInwords: any =[]\r\n FY_netProfitAmtInwords: any=[]\r\n FY_netLossAmtInwords: any=[]\r\n AV_annualSalesInwords: any=[]\r\n AV_netProfitAmtInwords: any=[]\r\n AV_netLossAmtInwords: any=[]\r\n AV_netProfitAmtFrmInwords: any=[]\r\n AV_netProfitAmtToInwords: any=[]\r\n AV_netLossAmtFrmInwords: any=[]\r\n AV_netLossAmtToInwords: any=[]\r\n AV_SalesFrmInwords: any=[]\r\n AV_SalesToInwords: any=[]\r\n AV_SalesInwords: any=[];\r\n AV_marginProfitAmtInwords: any=[];\r\n AV_marginLossAmtInwords: any=[];\r\n formDetails: any;\r\n\r\n av : any =[{id:6, name:'Letter of Credit'},\r\n {id:2, name:'Bank Guarantee'},\r\n {id:3, name:'Cash Credit Limit'},\r\n {id:7, name:'OD Limit'},\r\n {id:4, name:'Factoring'},\r\n {id:5, name:'Forfaiting'},\r\n {id:1, name:'Others'}]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.FormId = this.formDetails.form_id;\r\n // this.FormId=this.navParams.get('FormId');\r\n this.company_id=this.pdDetails.company_id\r\n this.users=this.aws.getlocale();\r\n \r\n this.initFinancialForm()\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\r\n this.getDetails()\r\n }\r\n\r\n selectedStatement(e :any):void{\r\n\r\n if(e == 'yes'){\r\n\r\n this.isDisplay = true;\r\n this.financialForm.controls['is_financial_customer'].setValue('');\r\n \r\n }\r\n else if(e == 'no'){\r\n\r\n this.isDisplay = false;\r\n this.financialForm.controls['is_financial_customer'].setValue('no');\r\n // this.selectedFinancialCustomer('no');\r\n \r\n const statementControl = this.financialForm.controls['date_per_financial'];\r\n \r\n while (statementControl.length !== 0) {\r\n statementControl.removeAt(0);\r\n }\r\n\r\n this.financialForm.controls['financial_starting_year'].setValue('');\r\n this.financialForm.controls['financial_no_of_year'].setValue('');\r\n\r\n // alert((new Date()).getFullYear());\r\n // let year1 = (new Date()).getFullYear();\r\n // let year2 = ((new Date()).getFullYear() + 1); \r\n // let Year = year1 +'-'+ year2;\r\n \r\n }\r\n\r\n}\r\n /** fin customer data from Fin statement*/\r\n selectedFinancialCustomer(e: any): void {\r\n if(e == 'yes'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n }\r\n else if (e == 'no'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n }\r\n }\r\n\r\n selectedProfitOrLossType(e,detail){\r\n \r\n if(e.value == 1){\r\n detail.controls.financial_net_loss.setValue('');\r\n detail.controls.financial_margin_of_loss.setValue('');\r\n }\r\n else if(e.value == 2){\r\n detail.controls.financial_net_profit.setValue('');\r\n detail.controls.financial_margin_of_profit.setValue('');\r\n }\r\n}\r\n\r\n\r\n /** For Auto-generating FinYear */\r\n dynamicalFinYear($event){\r\n \r\n let e = $event.target.value;\r\n if(e == 1){\r\n this.customerCommentsFlag = false;\r\n }\r\n else{\r\n this.customerCommentsFlag = true;\r\n }\r\n\r\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\r\n\r\n const control = this.financialForm.controls['date_per_financial'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\r\n control.push(this.createDate(Year));\r\n }\r\n }\r\n}\r\n\r\n\r\n initFinancialForm(){\r\n this.financialForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n company_id: this.company_id,\r\n fk_createdby: this.users,\r\n financial_remarks: [''],\r\n is_financial_statements:[''],\r\n is_financial_customer:[''],\r\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n financial_no_of_year : [''],\r\n financial_reason: [''],\r\n financial_customer:[''],\r\n // same_as_financial_statements:[''],\r\n date_per_financial: this.fb.array([]),\r\n estimated_value: this.fb.array([])\r\n });\r\n }\r\n createDate(date){\r\n return this.fb.group({\r\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\r\n finanical_profit_or_loss:[''],\r\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_margin_of_profit: [''],\r\n financial_margin_of_loss: [''],\r\n financial_variation: [''],\r\n financial_profit_to_sale_variation:[''],\r\n financial_annualsales_variation : [''],\r\n })\r\n }\r\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\r\n createValue(date) {\r\n return this.fb.group({\r\n \r\n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n estimate_sales_from: [''],\r\n estimate_sales_to: [''],\r\n estimate_sales_average: [''],\r\n estimate_profit_or_loss:[''],\r\n estimate_net_margin_availablity:[''],\r\n estimate_profit_range_from:[''],\r\n estimate_profit_range_to:[''],\r\n estimate_profit_margin_percent:[''],\r\n estimate_profit_margin:[''],\r\n estimate_net_profit_from:[''],\r\n estimate_net_profit_to:[''],\r\n estimate_net_profit_percent:[''],\r\n estimate_net_profit:[''],\r\n estimate_loss_range_from:[''],\r\n estimate_loss_range_to:[''],\r\n estimate_loss_margin_percent:[''],\r\n estimate_loss_margin:[''],\r\n estimate_net_loss_from:[''],\r\n estimate_net_loss_to:[''],\r\n estimate_net_loss_percent:[''],\r\n estimate_net_loss:[''],\r\n estimate_reason_for_loss:[''],\r\n estimate_receive_the_money_in_days:[''],\r\n estimate_pay_the_money_in_days:[''],\r\n estimate_unsold_stock_lies_in_days:[''],\r\n estimate_working_capital_facilities_availed:[''],\r\n reason_for_working_capital_facilities_availed:[''],\r\n is_there_working_capital_available:['']\r\n\r\n });\r\n}\r\nsubmitDetails(){\r\n \r\n \r\n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n}\r\n let records=this.financialForm.value;\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n if(res['status']== 200){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop()\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\r\n })\r\n}\r\n getDetails(){\r\n const financeDate=this.financialForm.controls['date_per_financial']\r\n //financeDate.push(this.createDate(''))\r\n const estimate= this.financialForm.controls['estimated_value']\r\n //estimate.push(this.createValue(''))\r\n let params:any={}\r\n params.pd_id=this.pdDetails.pd_id\r\n params.pd_form_id=this.FormId\r\n params.company_id=this.company_id\r\n this.qustCat.retiverForm(params).subscribe(value=>{\r\n if(value['dataStatus']==true){\r\n let retrieveData=value['records'];\r\n if(value['records'].is_financial_statements == 'yes'){\r\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\r\n return value['records'].date_per_financial[key]\r\n })\r\n if(result.length>0){\r\n this.customerCommentsFlag=result.length == 1 ? false : true\r\n result.forEach((val,index)=>{\r\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\r\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\r\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\r\n financeDate.push(this.createDate(''));\r\n });\r\n retrieveData.date_per_financial=result;\r\n }\r\n else{\r\n financeDate.push(this.createDate(''))\r\n }\r\n }\r\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\r\n return value['records'].estimated_value[key]\r\n });\r\n if(result_val.length>0){\r\n result_val.forEach((val,index)=>{\r\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\r\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\r\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\r\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\r\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\r\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\r\n estimate.push(this.createValue(''))\r\n });\r\n retrieveData.estimated_value=result_val\r\n }\r\n else{\r\n estimate.push(this.createValue(''));\r\n }\r\n retrieveData.pdid=this.pdDetails.pd_id\r\n retrieveData.company_id=this.company_id\r\n retrieveData.fk_createdby=this.users\r\n retrieveData.formid=this.FormId\r\n this.financialForm.setValue(retrieveData)\r\n }\r\n else {\r\n //financial_date.push(this.createDate());\r\n //estimated_val.push(this.createValue(''));\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * New Calculation for Finanical Statement \r\n **/\r\n calculationForFinanicalStatement(){\r\n \r\n let parentArray = this.financialForm.controls['date_per_financial'];\r\n // let prev_annual_sale : any = '';\r\n // let prev_profit_margin : any = '';\r\n // let prev_loss_margin : any = '';\r\n // let prev_profit_amt : any = '';\r\n // let prev_loss_amt : any = '';\r\n // let profit_margin : any = '';\r\n // let loss_margin : any = '';\r\n // let annual_sale : any = '';\r\n // let profit_amt : any = '';\r\n // let loss_amt : any = '';\r\n let prev_annual_sale : any = '';\r\n let prev_profit_margin : any = [];\r\n let prev_loss_margin : any = [];\r\n let prev_profit_amt : any = '';\r\n let prev_loss_amt : any = '';\r\n let profit_margin : any = '';\r\n let loss_margin : any = '';\r\n let annual_sale : any = '';\r\n let profit_amt : any = '';\r\n let loss_amt : any = '';\r\n\r\n parentArray.value.forEach((val,index) => {\r\n\r\n let childArray : any = parentArray.controls[index];\r\n annual_sale = val.financial_annual_sale;\r\n \r\n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \r\n * Label name = \" Sale Variation from Previous Year in % \"\r\n */\r\n \r\n if (index != 0) { \r\n if(annual_sale != ''){\r\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\r\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\r\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\r\n }\r\n }\r\n else{\r\n childArray.controls.financial_annualsales_variation.setValue(0.00);\r\n }\r\n \r\n\r\n prev_annual_sale = annual_sale;\r\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\r\n\r\n\r\n profit_amt = val.financial_net_profit;\r\n loss_amt = val.financial_net_loss;\r\n\r\n /** Calculating Profit's Variation - STARTS HERE\r\n * Label name = \"Profit Variation from Previous Year in %\"\r\n */\r\n if((profit_amt != '' || loss_amt != '') && index != 0) {\r\n if(+profit_amt > +annual_sale){\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n } \r\n else{\r\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\r\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\r\n\r\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; \r\n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\r\n childArray.controls.financial_variation.setValue(final_variation);\r\n\r\n }\r\n }\r\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\r\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\r\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \r\n * Label name = \"Net Profit to Sales in % (or) Net Loss to Sales in % \r\n **/\r\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\r\n \r\n if(SelectedlossOrProfit == 1){\r\n\r\n loss_margin = '';\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_profit != '') {\r\n if(+profit_amt>+annual_sale){\r\n // alert(\"profit is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"profit is greater than Annual Sale \")\r\n childArray.controls.financial_net_profit.setValue(0);\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\r\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\r\n \r\n }\r\n }\r\n }\r\n else if(SelectedlossOrProfit == 2){\r\n profit_margin = '';\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_loss != '') {\r\n if(+val.financial_net_loss>+annual_sale){\r\n // alert(\"Loss is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"Loss is greater than Annual Sale \")\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n if(+loss_amt>+annual_sale){\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n \r\n\r\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\r\n\r\n\r\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\r\n \r\n }\r\n }\r\n }\r\n\r\n prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\r\n prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\r\n \r\n // if(index != 0 ){\r\n \r\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; \r\n \r\n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\r\n \r\n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\r\n\r\n // }\r\n\r\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Sales's Profit Variation \r\n * Label name = \"Variation of Profit % over sales\"\r\n **/\r\n \r\n if ((profit_margin != '' || loss_margin != '') && index != 0) {\r\n \r\n\r\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\r\n profit_margin = profit_margin !== undefined ? profit_margin:0;\r\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\r\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\r\n\r\n \r\n if(annual_sale != ''){\r\n\r\n \r\n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\r\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\r\n let c = b * 100;\r\n \r\n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\r\n \r\n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\r\n }\r\n }\r\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\r\n\r\n\r\n });\r\n }\r\n\r\n confirmAlert(i, details){\r\n\r\n let estimate_sales_from = +details.value.estimate_sales_from;\r\n let estimate_sales_to = +details.value.estimate_sales_to;\r\n\r\n if (estimate_sales_from != null && estimate_sales_to != null){\r\n \r\n if(+estimate_sales_from>+estimate_sales_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_sales_to.setValue('');\r\n details.controls.estimate_sales_average.setValue('');\r\n return;\r\n }\r\n\r\n let C = (estimate_sales_to - estimate_sales_from)\r\n let D = (C / estimate_sales_from) * 100;\r\n \r\n if(estimate_sales_from <= 5000000){\r\n if(D > 20){\r\n var r = confirm(\"Given Sales Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\r\n if(D > 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 10000000){\r\n if(D > 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n\r\n // if(D >= 30){\r\n // var r = confirm(\"Given Sales Range is greater than 30%\");\r\n // if (r == true) {\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \r\n // }else{\r\n // details.controls.estimate_sales_to.setValue('');\r\n // return;\r\n // }\r\n // }\r\n // else{\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\r\n // }\r\n }\r\n this.calculateSalesAverage(i, details);\r\n }\r\n\r\n calculateSalesAverage(i, details){\r\n \r\n let estimate_sales_from = details.value.estimate_sales_from;\r\n let estimate_sales_to = details.value.estimate_sales_to;\r\n\r\n if(estimate_sales_from != '' && estimate_sales_to != ''){\r\n\r\n let range1 = +estimate_sales_from/10;\r\n \r\n let lower = (+estimate_sales_from)+range1;\r\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\r\n\r\n if(lower > higer){\r\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue('');\r\n }\r\n\r\n }\r\n calculateMarginProfit( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\r\n if(+estimate_profit_range_from > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_profit_range_to = details.value.estimate_profit_range_to;\r\n \r\n if(+estimate_profit_range_to > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n\r\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\r\n if(+estimate_profit_range_from>+estimate_profit_range_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \r\n let Profit_Average = (profit_percent*sales_average)/100;\r\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n }else{\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n }\r\n \r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\r\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n calculateProfitAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n //alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\r\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\r\n\r\n if(+estimate_net_profit_to>+sales_average){\r\n \r\n //alert(\"Given Profit is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n\r\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\r\n if(+estimate_net_profit_from>+estimate_net_profit_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n \r\n let C = (estimate_net_profit_to - estimate_net_profit_from)\r\n let D = (C / estimate_net_profit_from) * 100;\r\n \r\n let range1 = +estimate_net_profit_from/10;\r\n \r\n let lower = (+estimate_net_profit_from)+range1;\r\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\r\n\r\n if(estimate_net_profit_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_profit_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n \r\n }\r\n \r\n}\r\n\r\ncalculateMarginLoss( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n // else{\r\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\r\n if(+estimate_loss_range_from > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_loss_range_to = details.value.estimate_loss_range_to;\r\n if(+estimate_loss_range_to > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n\r\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\r\n \r\n if(+estimate_loss_range_from>+estimate_loss_range_to){\r\n //alert(\"Given Loss Percent is more than 100\");\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n \r\n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\r\n let loss_Average = (loss_percent*sales_average)/100;\r\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\r\n\r\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\r\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\r\n \r\n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n \r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }else{\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n } \r\n \r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }\r\n\r\n}\r\n\r\n\r\ncalculateLossAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\r\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\r\n\r\n if(+estimate_net_loss_to > +sales_average){\r\n \r\n // alert(\"Given Loss is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\r\n if(+estimate_net_loss_from > +estimate_net_loss_to){\r\n //alert(\"Given To value is Lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n \r\n // if(+estimate_net_loss_to > +estimate_net_loss_from){\r\n // alert(\"loss is greater than sales\");\r\n // details.controls.estimate_net_loss_to.setValue('');\r\n // details.controls.estimate_net_loss.setValue('');\r\n // details.controls.estimate_net_loss_percent.setValue('');\r\n // return;\r\n // }\r\n \r\n \r\n let C = (estimate_net_loss_to - estimate_net_loss_from)\r\n let D = (C / estimate_net_loss_from) * 100;\r\n \r\n let range1 = +estimate_net_loss_from/10;\r\n \r\n let lower = (+estimate_net_loss_from)+range1;\r\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\r\n\r\n if(estimate_net_loss_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_loss_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n \r\n }\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n \r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n\r\n \r\n\r\n\r\n \r\n\r\n /** On Key Press Event For Input Field */\r\n keyPress(event: any) {\r\n //const pattern = /[0-9\\-\\.\\ ]/;\r\n const pattern = /[0-9\\.]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n\r\n switch(flag){\r\n case 1 :\r\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\r\n break;\r\n case 2 : \r\n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\r\n break;\r\n case 3 : \r\n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\r\n break;\r\n case 4 : \r\n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 : \r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 6 : \r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 7 : \r\n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 8 : \r\n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 9 : \r\n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 10 : \r\n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 11 : \r\n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 12 : \r\n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionClientInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-client-info',\r\n templateUrl: 'pd-question-client-info.html',\r\n})\r\nexport class PdQuestionClientInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n pdid: any;\r\n company_id: any;\r\n questionDetails: any;\r\n clientInfoForm: FormGroup;\r\n\r\n\r\n\r\n\r\n public submitted = false;\r\n\r\n public m_paymentType = [];\r\n\r\n companyRelationShipList: any = [];\r\n\r\n titleList: any = [];\r\n noRecordsFound: Boolean = false;\r\n errorMessage: any = '';\r\n m_manufacturingProducts: any = [];\r\n m_tradingProducts: any = [];\r\n m_suplierProducts: any = [];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid = this.pdDetails.pd_id;\r\n this.company_id = this.pdDetails.company_id;\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\r\n\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n });\r\n\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\r\n }\r\n\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus']) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n // Load form details for manufacturing\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n \r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\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);\r\n }\r\n\r\n // Load form details for the wholeshale trading details\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n\r\n this.initTradingProductsDetails(api_trading_products);\r\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);\r\n }\r\n\r\n // Load form details for the service provider prduct details \r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n // return dataForm.service_products[key];\r\n // });\r\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\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);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n return dataForm.service_products[key];\r\n });\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.initServiceProviderProductsDetails(null);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // let arr = val.filter(data => data.type_of_activity_id == 4);\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n serviceProviderForm: Boolean = false;\r\n serviceProviderFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 5);\r\n if (arr.length > 0) {\r\n this.serviceProviderForm = true;\r\n return this.fb.group({\r\n service_products: this.fb.array([]),\r\n service_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initManufacturingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_product_name: [''],\r\n manufacturing_client_name: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n // manufacturing_credit_days: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_product_name: [records.manufacturing_product_name || null],\r\n manufacturing_client_name: [records.manufacturing_client_name || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\r\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initTradingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_client_name: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n trade_client_name: [records.trade_client_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n initServiceProviderProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n if (datas === null) {\r\n control.push(this.initServiceProviderProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\r\n control.push(this.initServiceProviderProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initServiceProviderProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initServiceProviderProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n service_provider_product_name: [''],\r\n service_provider_client_name: [''],\r\n service_provider_product_contact_person_name: [''],\r\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [''],\r\n service_provider_product_payment_mode: [''],\r\n service_provider_product_frequency_of_purchase: [''],\r\n service_provider_product_credit_days_from: [''],\r\n service_provider_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n service_provider_product_name: [records.service_provider_product_name],\r\n service_provider_client_name: [records.service_provider_client_name],\r\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\r\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\r\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\r\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\r\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\r\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoreServiceProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n\r\n control.push(this.initServiceProviderProducts(null));\r\n }\r\n\r\n removeServiceProduct(inx): void {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n // saveclientDetails(answerData)\r\n // {\r\n // let records:any ={};\r\n\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId.form_id;\r\n // records.fk_createdby = this.users;\r\n\r\n // records.client_details = answerData.clientArray;\r\n\r\n // this.qustCat.saveForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.navCtrl.pop();\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n /** To Save/Edited Popup Data */\r\n saveClientInfo(answerFormValues) {\r\n \r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n if (answerFormValues.manufacturing_details[0] == null) {\r\n delete answerFormValues['manufacturing_details'];\r\n }\r\n if (answerFormValues.trade_details[0] == null) {\r\n delete answerFormValues['trade_details'];\r\n }\r\n if (answerFormValues.service_provider_details[0] == null) {\r\n delete answerFormValues['service_provider_details'];\r\n }\r\n\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 3) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n spCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n spCounter: any = [];\r\n checkCard(e, flag, index) {\r\n\r\n if (flag == 3 && e == 3) {\r\n this.spCounter[index] = 1;\r\n }\r\n else if (flag == 3 && e != 3) {\r\n this.spCounter[index] = 0;\r\n }\r\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\r\n this.spCreditCardFlag = SP > 0 ? true : false;\r\n\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n\r\n }\r\n\r\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';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/*\r\n Generated class for the ConstantsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ConstantsProvider {\r\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\r\n constructor(public http: HttpClient) {\r\n console.log('Hello ConstantsProvider Provider');\r\n }\r\n\r\n apiurl()\r\n {\r\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\r\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\r\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\r\n return devapiurl;\r\n }\r\n\r\n getcurrentDate()\r\n {\r\n var today = new Date();\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\r\n var time = today.getHours() + \":\" + today.getMinutes();\r\n let CurrentDate = date+\"T00:00\";\r\n return CurrentDate.toString();\r\n }\r\n \r\n convertNumberToWords(amount) {\r\n var words = new Array();\r\n words[0] = '';\r\n words[1] = 'One';\r\n words[2] = 'Two';\r\n words[3] = 'Three';\r\n words[4] = 'Four';\r\n words[5] = 'Five';\r\n words[6] = 'Six';\r\n words[7] = 'Seven';\r\n words[8] = 'Eight';\r\n words[9] = 'Nine';\r\n words[10] = 'Ten';\r\n words[11] = 'Eleven';\r\n words[12] = 'Twelve';\r\n words[13] = 'Thirteen';\r\n words[14] = 'Fourteen';\r\n words[15] = 'Fifteen';\r\n words[16] = 'Sixteen';\r\n words[17] = 'Seventeen';\r\n words[18] = 'Eighteen';\r\n words[19] = 'Nineteen';\r\n words[20] = 'Twenty';\r\n words[30] = 'Thirty';\r\n words[40] = 'Forty';\r\n words[50] = 'Fifty';\r\n words[60] = 'Sixty';\r\n words[70] = 'Seventy';\r\n words[80] = 'Eighty';\r\n words[90] = 'Ninety';\r\n amount = amount.toString();\r\n var atemp = amount.split(\".\");\r\n var number = atemp[0].split(\",\").join(\"\");\r\n var n_length = number.length;\r\n let value:any = \"\";\r\n var words_string = \"\";\r\n if (n_length <= 9) {\r\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n var received_n_array = new Array();\r\n for (var i = 0; i < n_length; i++) {\r\n received_n_array[i] = number.substr(i, 1);\r\n }\r\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n n_array[i] = received_n_array[j];\r\n }\r\n for (var i = 0, j = 1; i < 9; i++, j++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n if (n_array[i] == 1) {\r\n n_array[j] = 10 + parseInt(n_array[j]);\r\n n_array[i] = 0;\r\n }\r\n }\r\n }\r\n value = \"\";\r\n for (var i = 0; i < 9; i++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n value = n_array[i] * 10;\r\n } else {\r\n value = n_array[i];\r\n }\r\n if (value != 0) {\r\n words_string += words[value] + \" \";\r\n }\r\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Crores \";\r\n }\r\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Lakhs \";\r\n }\r\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Thousand \";\r\n }\r\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n words_string += \"Hundred and \";\r\n } else if (i == 6 && value != 0) {\r\n words_string += \"Hundred \";\r\n }\r\n }\r\n words_string = words_string.split(\" \").join(\" \");\r\n }\r\n return words_string;\r\n}\r\n}\r\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 = 244;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 244\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 = 287;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 287\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\nimport { AlertController } from 'ionic-angular';\r\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\r\n// import { GridPage } from '../grid/grid';\r\n\r\n\r\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\r\nimport { Camera } from '@ionic-native/camera';\r\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n// import { CustomValidators } from 'ng2-validation';\r\n\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PasswordPage } from '../password/password';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage {\r\n users: any;\r\nchangepass: FormGroup;\r\nemail: string;\r\npassword: string;\r\nnewpassword: any;\r\nconfirmPassword: any;\r\nchangePassword: any;\r\nstatus: Boolean = false;\r\nconfig: MatDialogConfig = {\r\n disableClose: false,\r\n width: '',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n};\r\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\r\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\r\n,public toast:ToastProvider) {\r\n \r\n}\r\nngOnInit(){\r\n //this.loggedInCheck();\r\n \r\n}\r\nionViewDidEnter(){\r\n this.Menu.enable(false);\r\n}\r\nionViewWillLeave(){\r\n this.Menu.enable(true);\r\n}\r\n/**\r\n* @param email\r\n* @param password\r\n* AWS login service\r\n*/\r\nlogin() {\r\n // console.log(this.email);\r\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\r\n let auth = { 'Username': this.email, 'Password': this.password };\r\n this.aws.dologin(auth).subscribe(awsres => {\r\n let userid = this.aws.getlocale();\r\n \r\n this.aws.getuserprofile(userid).subscribe(usersres=>\r\n {\r\n this.users = usersres; \r\n \r\n if (this.users.dataStatus == true) {\r\n \r\n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\r\n this.navCtrl.setRoot(PdListPage);\r\n \r\n }else\r\n {\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n\r\n \r\n }\r\n });\r\n }, err => {\r\n console.log(JSON.stringify(err.message));\r\n if (err.message == \"New password is required.\") {\r\n //console.log(\"if\");\r\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\r\n } else {\r\n console.log(JSON.stringify(err.message));\r\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\r\n\r\n }\r\n //alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter Email or Password');\r\n }\r\n}\r\n/**\r\n * New password set\r\n * Defalut aws function \r\n * @param email password,newpassword\r\n */\r\n// newpassopen() {\r\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result !== undefined) {\r\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\r\n// console.log(auth);\r\n// this.aws.dologin(auth).subscribe(res => {\r\n// console.log(res);\r\n// // this.router.navigate(['/home']);\r\n// }, err => {\r\n// // alert(err.message);\r\n\r\n// })\r\n// }\r\n// });\r\n// }\r\n\r\nforgotopen() {\r\n this.status = true;\r\n}\r\n\r\n\r\nforgotpassword() {\r\n\r\n let auth = { 'Username': this.email };\r\n console.log(auth);\r\n // this.aws.userforgotpass(auth).subscribe(res => {\r\n // console.log(res);\r\n\r\n // })\r\n}\r\nloggedInCheck(){\r\n //alert(this.shared.isLoggedIn);\r\n if(this.shared.isLoggedIn){\r\n alert(\"if\");\r\n // this.router.navigate(['/home']);\r\n return false;\r\n }else{\r\n alert(\"else\");\r\n \r\n return true;\r\n }\r\n}\r\n\r\n}\r\n\r\n// ======================= END ==============================\r\n/**\r\n* New password Dialog\r\n*/\r\n\r\n// const newpassword = new FormControl('', Validators.required);\r\n// const confirmPassword = new FormControl('');\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
New Password Change.
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n//
\r\n// \r\n// \r\n// \r\n\r\n// Passwords do not math.\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class NewPasswordDialog {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
Forgot Password
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class ForgotPass {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n// }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \r\nimport { AuthPage } from '../auth/auth';\r\n\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { OtpPage } from '../otp/otp';\r\n\r\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\r\nimport {DatePipe } from '@angular/common';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\r\n\r\n/**\r\n * Generated class for the InputPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19);\r\n\r\n\r\n@Component({\r\n selector: 'page-input',\r\n templateUrl: 'input.html',\r\n})\r\n\r\n\r\nexport class InputPage {\r\n enableStartPD: boolean;\r\n diffInHours: number;\r\n updatestarted: any;\r\n updateinitiated: any;\r\n appdata: any;\r\n users: any;\r\n initiatedAccess: boolean = false;\r\n scheduleAccess: boolean = false;\r\napplicatentDetails:any;\r\nmaxdate :any;\r\npipe = new DatePipe('en-US');\r\nupdateStatus:any;\r\nscheduleDate:any;\r\nupdateSchedule:any;\r\nacceptedAccess:boolean = false;\r\nstartedAccess:boolean = false;\r\ntimeOut:any = 15*1000;\r\ntimeInterval:any;\r\ncurrentPosPDofficer:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,public constant:ConstantsProvider) {\r\n\r\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\r\n \r\n /***Header value pass */\r\n this.statusBar.styleDefault();\r\n \r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\r\n \r\n \r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n \r\n this.getFullPD();\r\n \r\n \r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n \r\n this.initiatedAccess = true;\r\n }\r\n //console.log(this.initiatedAccess);\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.getenableAccuracy();\r\n \r\n }\r\n this.users = this.aws.getlocale();\r\n }\r\n\r\n \r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad InputPage');\r\n }\r\n ionViewCanLeave()\r\n {\r\n clearInterval(this.timeInterval);\r\n }\r\n locationnavicate(address)\r\n {\r\n this.launchNavigator.navigate(address);\r\n }\r\n\r\n getFullPD()\r\n {\r\n let records = {'pdid':this.applicatentDetails.pd_id};\r\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n // console.log()\r\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \r\n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\r\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\r\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\r\n console.log(diffInHours);\r\n if(diffInHours <=-4){\r\n this.enableStartPD=true;\r\n }\r\n else\r\n {\r\n this.enableStartPD = false;\r\n }\r\n } \r\n })\r\n \r\n }\r\n pdStatus(status,appdetails)\r\n {\r\n let data :any;\r\n \r\n if(status == 'BOUNCED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }else if(status == 'ACCEPTED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.scheduleAccess = true;\r\n \r\n }else\r\n {\r\n this.scheduleAccess = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n pdschedule(scheduledate,appdetails)\r\n {\r\n \r\n let data :any;\r\n console.log(scheduledate);\r\n let schDate = scheduledate.slice(0,19).replace('T',' ');\r\n console.log(schDate);\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateSchedule = res;\r\n if(this.updateSchedule.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.initiatedAccess = true;\r\n }\r\n });\r\n }\r\n\r\n getenableAccuracy()\r\n {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.getcurrentLocation();\r\n },\r\n error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n getcurrentLocation() \r\n {\r\n let data:any;\r\n let options = {\r\n frequency: 3000, \r\n enableHighAccuracy: true,\r\n timeOut:1000,\r\n };\r\n \r\n this.timeInterval = setInterval(()=>{\r\n this.currentPosPDofficer = '';\r\n this.geolocation.getCurrentPosition(options).then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n if((resp as Geoposition).coords !=undefined){\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\r\n console.log(this.currentPosPDofficer);\r\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\r\n {\r\n // this.updateinitiated = res;\r\n // if(this.updateinitiated.dataStatus == true)\r\n // { \r\n // // this.getNewpdupdate();\r\n // // this.startedAccess = true;\r\n // }else\r\n // {\r\n // this.startedAccess = false;\r\n // }\r\n })\r\n }\r\n }).catch((error)=>{\r\n this.toast.pdTriggerappmessage(error.message);\r\n })\r\n \r\n },this.timeOut);\r\n }\r\n pdreschedule()\r\n {\r\n this.scheduleAccess = true;\r\n this.initiatedAccess = false;\r\n }\r\n pdinitiated(appdetails)\r\n { let data:any;\r\n\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n \r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\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};\r\n\r\n\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateinitiated = res;\r\n if(this.updateinitiated.dataStatus == true)\r\n { \r\n this.getNewpdupdate();\r\n this.getcurrentLocation();\r\n this.startedAccess = true;\r\n }else\r\n {\r\n this.startedAccess = false;\r\n }\r\n })\r\n }).catch((error) => {\r\n console.log('Error getting location', error);\r\n });\r\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n\r\n startPdDiscussion(appdetails)\r\n {\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'Starting PD Officer',\r\n message: 'Do you want sure PD officer Start',\r\n buttons: [\r\n {\r\n text: 'No',\r\n role: 'cancel',\r\n handler: () => {\r\n \r\n // console.log('Cancel clicked');\r\n // this.toast.pdTriggerappmessage('')\r\n }\r\n },\r\n {\r\n text: 'YES',\r\n handler: () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n \r\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};\r\n console.log(data);\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {this.updatestarted = res;\r\n if(this.updatestarted.dataStatus == true)\r\n {\r\n clearInterval(this.timeInterval);\r\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\r\n }\r\n \r\n })\r\n // console.log('Buy clicked');\r\n })\r\n } \r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n getNewpdupdate()\r\n {\r\n this.acceptedAccess = false;\r\n this.initiatedAccess = false;\r\n this.scheduleAccess = false;\r\n this.startedAccess = false;\r\n this.pdDetails.getpddetails(this.users).subscribe(res=>\r\n {\r\n this.appdata = res;\r\n if(this.appdata.dataStatus == true)\r\n {\r\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n this.initiatedAccess = true;\r\n this.getFullPD();\r\n }\r\n\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n camerasetup()\r\n {\r\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\n\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question',\r\n templateUrl: 'pd-question.html',\r\n})\r\nexport class PdQuestionPage {\r\n \r\n docqustid: any;\r\n docName: any = [];\r\n docArray: any = [];\r\n imageArray:any = [];\r\n questionCate: any;\r\n qustCate: any;\r\n pdinfo: any;\r\n items: FormArray;\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= false;\r\n isLeft:boolean= false;\r\n tabs:any=[];\r\n \r\n questionDetails: any;\r\n questionAnswer:FormGroup;\r\n questionanotherData:FormGroup;\r\n userid:any;\r\n questionId:any;\r\n qustType:any;\r\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) {\r\n \r\n this.screenWidth_px=platform.width();\r\n\r\n \r\n this.questionAnswer = this.fb.group(\r\n {\r\n answerDetails:[null],\r\n items:this.fb.array([]),\r\n })\r\n this.questionanotherData = this.fb.group(\r\n {\r\n questionRemarks:[null]\r\n })\r\n this.getpdQuestionDetails();\r\n this.userid = this.aws.getlocale();\r\n}\r\n\r\n ionViewDidLoad() {\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n ionViewWillLeave() {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n // let answerDetails = this.questionAnswer.value;\r\n // let remarks = this.questionanotherData.value;\r\n if(this.isLeft)\r\n {\r\n //this.prev(answerDetails,remarks,this.questionDetails);\r\n }\r\n if(this.isRight)\r\n {\r\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\r\n }\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n \r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n \r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n \r\n this.isLeft=false;\r\n this.isRight=false;\r\n \r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n \r\n \r\n }\r\n /**\r\n * Pd Discussion Qustion Load\r\n */\r\n getpdQuestionDetails()\r\n {\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdinfo = this.navParams.get('pdDetails');\r\n for(let qustimage of this.questionDetails.questions)\r\n { \r\n if(qustimage.images !==undefined){\r\n for(let image of qustimage.images)\r\n {\r\n image.questionId = qustimage.fk_question_id; \r\n this.docArray.push(image);\r\n }\r\n for(let answers of qustimage.answers)\r\n {\r\n if(qustimage.fk_question_answertype == 3)\r\n {\r\n this.items = this.questionAnswer.get('items') as FormArray;\r\n \r\n this.items.push(this.getquestionAnswer(answers));\r\n \r\n \r\n }\r\n }\r\n }\r\n }\r\n for(let i=1;i<=this.questionDetails.questions_count;i++){\r\n let j = i.toString();\r\n this.tabs.push(j);\r\n }\r\n }\r\n\r\ngetquestionAnswer(answers)\r\n{\r\n return this.fb.group(\r\n {\r\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\r\n \"pd_answer_id\":answers.question_answer_id,\r\n \"pd_answer\": answers.answer,\r\n \"pd_answer_weightage\": answers.template_answer_weightage,\r\n \"fk_pd_id\":this.pdinfo.pd_id,\r\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\r\n \"checkbox\":(answers.isactive == null?false:true)\r\n \r\n \r\n })\r\n}\r\n // count = 0;\r\n getDocUpload(qustid)\r\n {\r\n // this.docqustid = qustId;\r\n this.camera.getpicture().then(res=>\r\n {\r\n if(res !== undefined){\r\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\r\n }\r\n });\r\n // this.count++;\r\n }\r\n docnames(name,id,image,qustid)\r\n {\r\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\r\n }\r\n removeimage(index){\r\n //for(let i=0;i<=this.igrimage.length;i++){\r\n //if(this.igrimage[i]== this.igrimage[index]){\r\n this.docArray.splice(index,1);\r\n //}\r\n //}\r\n }\r\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\r\n {\r\n \r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n\t\t\"fk_pd_id\": pd_id,\r\n\t\t\"fk_category_id\": catid,\r\n\t\t\"fk_question_id\": qut_id,\r\n\t\t\"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n\t\t\"pd_answer\": pd_answer,\r\n\t\t\"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n\t\t\r\n\t\t\"fk_createdon\": createon,\r\n\t\t\"createdby\": createdby,\r\n\t\t\"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n // {\r\n // this.qustCate = res;\r\n // if(this.qustCate.dataStatus == true){\r\n // this.SwipedTabsSlider.slideNext();\r\n // this.docArray = [];\r\n // this.getcategoryList(qt_id,pd_id);\r\n // }\r\n // })\r\n // }else\r\n // {\r\n \r\n // this.SwipedTabsSlider.slideNext(); \r\n }\r\n } \r\n\r\n getcategoryList(qustinfo,pdId)\r\n {\r\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\r\n };\r\n let answerData:any;\r\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\r\n {\r\n answerData = res;\r\n if(answerData.dataStatus == true)\r\n {\r\n \r\n // answerData = answerData.records;\r\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\r\n // eachquestion['answers'] = answerData.answers; \r\n \r\n // this.questionDetails =\r\n // this.imageArray = answerData.images;\r\n // for(let docs of this.imageArray)\r\n // {\r\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\r\n // }\r\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\r\n }\r\n });\r\n }\r\n prev(answerDetails,questionRemarks,questionDetails) {\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n \"fk_pd_id\": pd_id,\r\n \"fk_category_id\": catid,\r\n \"fk_question_id\": qut_id,\r\n \"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n \"pd_answer\": pd_answer,\r\n \"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n \r\n \"fk_createdon\": createon,\r\n \"createdby\": createdby,\r\n \"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n {\r\n this.qustCate = res;\r\n if(this.qustCate.dataStatus == true){\r\n this.SwipedTabsSlider.slidePrev();\r\n this.docArray = [];\r\n this.getcategoryList(qt_id,pd_id);\r\n }\r\n })\r\n }else{\r\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\r\n this.SwipedTabsSlider.slidePrev();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { Observable } from 'rxjs';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n/**\r\n * Generated class for the PdQuestionAddressPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-address',\r\n templateUrl: 'pd-question-address.html',\r\n})\r\nexport class PdQuestionAddressPage {\r\n\r\n // additional_premises: any=[];\r\n // bussiness_address_type: any=[];\r\n // formPremisesCityArray: any=[];\r\n // tempArr: any[];\r\n // cityData: any = [];\r\n // PremisesLabel: any=[];\r\n // formPremisesArray: any=[];\r\n // z:number = 0;\r\n \r\n // PremisesOtherFlag: boolean;\r\n CITY: any;\r\n residence: any;\r\n FormId: any;\r\n getaddressDetails: any;\r\n users: any;\r\n address: string;\r\n custBehaviour: any;\r\n cmtlocality: any;\r\n\r\n placeholderName : any = 'Estimated area of the (Address Type)';\r\n premisesRentAmtInwords:any=[];\r\n rentAmtInwords : any ;\r\n\r\n locality: any = [];\r\n pdlocation: any = [];\r\n pdDetails: any;\r\n questionDetails: any;\r\n pdQuestionAddress:FormGroup;\r\n addressTypes:any=[];\r\n addressRemarksAccess:boolean = false;\r\n items:FormArray;\r\n pdState: any;\r\n pdCity: any;\r\n pdPincode: any;\r\n pdOtherPincode: any;\r\n cityData: any=[];\r\n pincodeData: any=[];\r\n stateData: any=[];\r\n uomData: any=[];\r\n // counts:number = 1;\r\n\r\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) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n \r\n this.FormId = this.navParams.get('FormId');\r\n\r\n this.users = this.aws.getlocale();\r\n\r\n if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\r\n this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\r\n }else{\r\n this.address = this.pdDetails.addressline1+', - , -'; \r\n }\r\n this.pdState = this.pdDetails.fk_state;\r\n this.getCityAndPincodeDetails(this.pdState);\r\n this.pdCity = this.pdDetails.fk_city;\r\n this.pdPincode = this.pdDetails.pincode_id;\r\n \r\n this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\r\n \r\n this.getdropdownlist();\r\n\r\n this.pdQuestionAddress = this.fb.group(\r\n {\r\n address: [this.address],\r\n state:[this.pdState != '' ? this.pdState : ''],\r\n city:[this.pdCity != '' ? this.pdCity : ''],\r\n pincode:[this.pdPincode != '' ? this.pdPincode : ''],\r\n pincode_others:[this.pdOtherPincode != '' ? this.pdOtherPincode : '', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n address_type: [null],\r\n address_type_others:[null],\r\n locality: [null],\r\n locality_others: [null],\r\n locality_mixuse: [''],\r\n pd_location: [null],\r\n comment_locality: [null],\r\n other_comment_locality : [null],\r\n estimated_area: [''],\r\n uom: [null],\r\n uom_others: [null],\r\n //customer_behaviour: [null],\r\n // neighbourhood: this.fb.array([]),\r\n address_form_remark:[null],\r\n // address_ownership:[null],\r\n // other_ownership:[null],\r\n // rent_amt:[null],\r\n // other_premises_bussiness_activity : [null],\r\n // bussiness_activity_remark:[null],\r\n // bussiness_activity:[null],\r\n // bussiness_address_type:[null],\r\n // bussiness_address_type_others:[null], \r\n // business_years:[null],\r\n // business_month:[null],\r\n // additional_address_units: this.fb.array([]),\r\n \r\n });\r\n this.getaddressForm(); \r\n }\r\n\r\n ionViewDidLoad() {\r\n //this.addUnits();\r\n console.log(\"ionViewDidLoad PdQuestionAddressPage\")\r\n \r\n }\r\n\r\n ionViewWillLeave()\r\n {\r\n \r\n\r\n // let method = this.alerCtrl.create({\t\t\t\r\n // message: 'Do You Want Save',\r\n // buttons: [\r\n // {\r\n // text: 'Save',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // }\r\n // },\r\n // {\r\n // text: 'Cancel',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // this.navCtrl.pop(); \r\n // }\r\n // }\r\n // ]\r\n // });\r\n // method.present()\r\n \r\n \r\n \r\n }\r\n\r\n /** To Get City And Pincode Data For Address Form \r\n * Param 'stateID' -> selected StateId\r\n */\r\n getCityAndPincodeDetails(stateID: string) {\r\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData = data.records.cities;\r\n this.pincodeData = data.records.pincode;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getdropdownlist()\r\n {\r\n // this.addressTypes = [\r\n \r\n // {'id':'Office','Name':'Office'},\r\n // {'id':'Clinic','Name':'Clinic'},\r\n // {'id':'Factory','Name':'Factory'},\r\n // {'id':'Warehouse','Name':'Warehouse'},\r\n // {'id':'Shop','Name':'Shop'},\r\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\r\n // {'id':'Residence','Name':'Residence'},\r\n // {'id':'OTHERS','Name':'OTHERS'}\r\n // ];\r\n\r\n \r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \r\n }\r\n \r\n })\r\n \r\n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\r\n {\r\n this.pdlocation = res;\r\n if(this.pdlocation.dataStatus == true)\r\n {\r\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\r\n {\r\n this.cmtlocality = res;\r\n if(this.cmtlocality.dataStatus ==true)\r\n {\r\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\r\n }\r\n });\r\n\r\n \r\n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\r\n // {\r\n // this.custBehaviour = res;\r\n // if(this.custBehaviour.dataStatus == true)\r\n // {\r\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\r\n // }\r\n // })\r\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.locality = res['records'].filter(loc=>loc.isactive==1);\r\n }\r\n })\r\n\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.residence = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('CITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.CITY = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\r\n this.stateData=res['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\r\n this.uomData=res['records'].filter(val=>val.isactive == 1)\r\n })\r\n \r\n }\r\n\r\n // checkaddress(value)\r\n // {\r\n // \r\n // if(value==\"OTHERS\")\r\n // {\r\n // this.addressRemarksAccess = true;\r\n // }else\r\n // {\r\n // this.addressRemarksAccess = false;\r\n // }\r\n // }\r\n\r\n // createItem(): FormGroup {\r\n // return this.fb.group({\r\n // name: [null],\r\n // do_you_know: [null],\r\n // how_long: [null],\r\n // is_owner: [null],\r\n // });\r\n // };\r\n \r\n createUnits(val): FormGroup {\r\n if(val==null){\r\n return this.fb.group({\r\n no_of_additional_units: [''],\r\n premises_type: [''],\r\n premises_type_others: [''],\r\n premises_city: [''],\r\n // premises_ownership: [''],\r\n //premises_ownership_others: [''],\r\n //premises_rent_amt:[''],\r\n premises_remarks: [''],\r\n });\r\n }\r\n else{\r\n \r\n return this.fb.group({\r\n no_of_additional_units: [val.no_of_additional_units],\r\n premises_type: [val.premises_type],\r\n premises_type_others: [val.premises_type_others],\r\n premises_city: [val.premises_city],\r\n // premises_ownership: [val.premises_ownership],\r\n // premises_ownership_others: [val.other_ownership],\r\n // premises_rent_amt:[val.rent_amt],\r\n premises_remarks: [val.premises_remarks],\r\n });\r\n \r\n }\r\n }\r\n\r\n addUnits() {\r\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n this.items.push(this.createUnits(null));\r\n}\r\n\r\n\r\n removeUnits(i){\r\n this.items.removeAt(i);\r\n }\r\n\r\n ConvertMonthintoYear(e){\r\n \r\n let business_year = this.pdQuestionAddress.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n }\r\n /** On Key Press Event For Numbers */\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n \r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i){ \r\n \r\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n \r\n }\r\n\r\n inWordsForRent(e){\r\n \r\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\r\n }\r\n\r\n selectedAddressType(e: any){\r\n this.placeholderName = 'Estimated area of the ' + e;\r\n }\r\n\r\n\r\n savepdQuestion(answerData)\r\n {\r\n let records: any = {};\r\n records.address = answerData.address;\r\n if(answerData.address_type_others != null){\r\n records.address_type_others = answerData.address_type_others;\r\n }\r\n records.state =answerData.state\r\n records.city = answerData.city\r\n\r\n records.pincode = answerData.pincode\r\n records.pincode_others = answerData.pincode== 1 ?\r\n this.pdQuestionAddress.controls.pincode_others.value : '';\r\n\r\n records.address_type = answerData.address_type;\r\n records.locality = answerData.locality;\r\n \r\n records.locality_others = answerData.locality == 1 ?\r\n this.pdQuestionAddress.controls.locality_others.value : '';\r\n\r\n records.locality_mixuse = answerData.locality == 5 ?\r\n this.pdQuestionAddress.controls.locality_mixuse.value : '';\r\n\r\n records.pd_location = answerData.pd_location;\r\n records.comment_locality = answerData.comment_locality;\r\n records.other_comment_locality = answerData.other_comment_locality;\r\n records.estimated_area = answerData.estimated_area;\r\n\r\n records.uom = answerData.uom;\r\n records.uom_others = answerData.uom == 1 ?\r\n this.pdQuestionAddress.controls.uom_others.value : '';\r\n // records.customer_behaviour = answerData.customer_behaviour;\r\n // records.neighbourhood = answerData.neighbourhood;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.address_form_remark = answerData.address_form_remark;\r\n // records.address_ownership = answerData.address_ownership;\r\n // records.other_ownership = answerData.other_ownership;\r\n // records.rent_amt = answerData.rent_amt;\r\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\r\n // records.bussiness_activity = answerData.bussiness_activity;\r\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\r\n // records.business_years = answerData.business_years;\r\n // records.business_month = answerData.business_month;\r\n \r\n // records.additional_address_units = answerData.additional_address_units;\r\n \r\n \r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n // let params: any = {};\r\n // params.pd_id = '250';\r\n // params.pd_form_id = '250';\r\n \r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n\r\n },err=>{\r\n this.toast.pdTriggerappmessage('Something went wrong ');\r\n });\r\n }\r\n\r\n getaddressForm()\r\n {\r\n \r\n let res:any;\r\n\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n this.getaddressDetails = res;\r\n \r\n if(this.getaddressDetails.dataStatus ==true){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records;\r\n if(this.getaddressDetails.additional_address_units != null){\r\n var result = Object.keys(res['records'].additional_address_units).map(function(key) {\r\n // return res['records'].additional_address_units[key];\r\n //for slicing the automatically created\r\n \r\n });\r\n //this.removeUnits(0);\r\n }\r\n\r\n let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n\r\n this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\r\n this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\r\n\r\n if (this.getaddressDetails.state != '') {\r\n this.getCityAndPincodeDetails(this.getaddressDetails.state);\r\n this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\r\n this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\r\n if (this.getaddressDetails.pincode == 1) {\r\n this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\r\n this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\r\n this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\r\n }\r\n }\r\n this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\r\n this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\r\n let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\r\n this.selectedAddressType(selectedAddressType);\r\n\r\n if(this.getaddressDetails.address_type != null) {\r\n this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\r\n this.selectedAddressType(this.getaddressDetails.address_type_others);\r\n }\r\n\r\n this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\r\n\r\n if(this.getaddressDetails.comment_locality != null){\r\n this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\r\n }\r\n // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\r\n this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\r\n if(this.getaddressDetails.locality == 1 ){\r\n this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\r\n }\r\n if(this.getaddressDetails.locality == 5){\r\n this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\r\n }\r\n \r\n this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\r\n this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\r\n if (this.getaddressDetails.uom == 1) {\r\n this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\r\n this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\r\n this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\r\n }\r\n this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\r\n // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\r\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\r\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\r\n // if(this.getaddressDetails.rent_amt != null){\r\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\r\n // }\r\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // } \r\n // else{\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\r\n // }\r\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\r\n\r\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\r\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\r\n \r\n \r\n \r\n\r\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\r\n \r\n if (result.length == 0) {\r\n \r\n control.push(this.createUnits(null));\r\n } else {*/\r\n \r\n //for(let val of this.getaddressDetails.additional_address_units){\r\n //control.push(this.createUnits(val));\r\n //}\r\n //result.forEach((datas,index) => {\r\n \r\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\r\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\r\n \r\n //});\r\n \r\n //}\r\n \r\n // }\r\n\r\n }\r\n });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionEmpInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-emp-info',\r\n templateUrl: 'pd-question-emp-info.html',\r\n})\r\nexport class PdQuestionEmpInfoPage {\r\n questionDetails: any;\r\n pdDetails: any;\r\n empInfo:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n\r\n this.empInfo = this.fb.group(\r\n {\r\n nameOfEmp:[null],\r\n yearWithEmp:[null],\r\n empMet:[null],\r\n designationOfEmp:[null],\r\n salaryConfirm:[null],\r\n actualSalary:[null],\r\n attRegisterSeen:[null],\r\n salaryRegisterSeen:[null]\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.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 * 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})\nexport class PdQuestionCurrentLoansPage {\n public applicants: 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\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) {\n this.applicants=[]\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;\n \n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n\n this.getdropdown();\n // this.applicants.push\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 \n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 \n }\n \n exitsCheck(val)\n { \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n \n // alert('function in');\n \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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n}\n\nsubmitCurrentloan(answerData) {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n\n if(data.dataStatus == true){\n \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n \n let AssetData = data.record;\n \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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 });\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 })\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 \n if(val.mode == 1){\n let data;\n val.details.forEach((v,index) => {\n data = v.any_other_assets;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 2){\n let data;\n val.details.forEach((v,index) => {\n data = v.property_type_name;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 3){\n let data;\n val.details.forEach((v,index) => {\n data = v.manufacturer_model_vehicle;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 4){\n let data;\n val.details.forEach((v,index) => {\n data = v.equipment_manufacturing_description;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 6){\n labelarray[index] = ' : '+val.owner_name+' - '+ val.mode_name;\n }\n if(val.mode == 7){\n let data;\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 let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\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 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 console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-loans',\r\n templateUrl: 'pd-question-loans.html',\r\n})\r\nexport class PdQuestionLoansPage {\r\n enduse: any = [];\r\n propertyType: any;\r\n mortagetypeAccess: boolean;\r\n mortageAccess: boolean = false;\r\n mortageCardAccess: boolean;\r\n topUpAmtInWords: any;\r\n ownContributionInWords: any;\r\n valAsPerAgmtInWords: any;\r\n balTxrfAmtInWords: any;\r\n loanAmtInWords: any;\r\n\r\n emiAmtInWords:any;\r\n emvAmtInWords:any;\r\n\r\n m_btLenderList: any;\r\n applicants: any;\r\n m_endUseofLoad: any;\r\n m_sourceofamount: any;\r\n m_mortageTypeProperty: any;\r\n m_statusofCunstruction: any;\r\n ownerNames: any=[];\r\n isOtherPurpose: boolean=false;\r\n endUserList: any=[];\r\n pdDetails: any;\r\n FormId: any;\r\n productAbbr:any;\r\n loanDetailsForm: FormGroup;\r\n users: any;\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any;\r\n m_endUseOFTopUpList:any=[]\r\n isContribution: boolean = false;\r\n\r\n \r\n isOtherSource: boolean = false;\r\n isPLSource: boolean = false;\r\n\r\n sourceList:any=[];\r\n pdid:number;\r\n m_endUseForLoan:any;\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.applicants = this.pdDetails.applicat_details\r\n this.productAbbr = this.pdDetails.product_abbr;\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.getDropdown();\r\n this.loanDetailsForm = this.fb.group({\r\n loan_amount: [this.pdDetails.loan_amount],\r\n end_use: ['', Validators.compose([Validators.required])],\r\n end_use_other: [''],\r\n is_transfer: ['', Validators.compose([Validators.required])],\r\n //is_topup: ['', Validators.compose([Validators.required])],\r\n // is_topup: [''],\r\n balance_transfer_amount: [''],\r\n topup_amount: [''],\r\n end_use_topup:[''],\r\n other_end_use_topup:[''],\r\n lender: [''],\r\n other_bt_lender : [''],\r\n own_contribution: ['', Validators.compose([Validators.required])],\r\n source: [''],\r\n //personal_loan_source:[''],\r\n other_source:[''],\r\n //lender_name_type: [''],\r\n emi_level: ['', Validators.compose([Validators.required])],\r\n property_type: ['', Validators.compose([Validators.required])],\r\n property_type_others:[''],\r\n owner_name: ['', Validators.compose([Validators.required])],\r\n construction_status: ['', Validators.compose([Validators.required])],\r\n //percentage_of_construction : [''],\r\n emv_per_customer: ['', Validators.compose([Validators.required])],\r\n //value_per_agreement: ['', Validators.compose([Validators.required])],\r\n loandetails_remarks: ['', Validators.compose([Validators.required])],\r\n });\r\n \r\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\r\n {\r\n this.mortagetypeAccess = true;\r\n }else\r\n {\r\n this.mortagetypeAccess = false;\r\n }\r\n \r\n \r\n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\r\n this.isContribution = true;\r\n }\r\n \r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console .log('ionViewDidLoad PdQuestionLoansPage');\r\n this.getLoanDetails();\r\n }\r\n\r\n\r\n getDropdown() {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n })\r\n this.qustCat.getEndUseForLoan(this.pdid).subscribe(data=>{\r\n \r\n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\r\n data => {\r\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n let that = this;\r\n this.m_mortageTypeProperty = data['records'].filter(\r\n function(data){\r\n \r\n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\r\n {\r\n return data;\r\n \r\n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\r\n {\r\n return data;\r\n }else\r\n {\r\n return ;\r\n }\r\n });\r\n // this.mortage_type(this.propertyType);\r\n }\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\r\n data => {\r\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\r\n });\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\r\n subdata => {\r\n if(subdata['dataStatus']==true){\r\n let that = this;\r\n this.m_endUseofLoad = subdata['records'].filter(\r\n function(data)\r\n {\r\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\r\n {\r\n return data;\r\n }\r\n });\r\n this.endUserChange(this.enduse);\r\n }\r\n });\r\n \r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n })\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n if(this.productAbbr != 'LAP'){\r\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\r\n }\r\n }\r\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\r\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\r\n })\r\n \r\n \r\n \r\n }\r\n\r\n selectedBalancesTransferChanges(event: any){\r\n // if(event.value == 'no') { \r\n // this.loanDetailsForm.controls['is_topup'].clearValidators();\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // this.loanDetailsForm.controls['is_topup'].setValue('');\r\n //}\r\n //else if(event.value == 'yes'){\r\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // }\r\n if (event.value == 'no') {\r\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n\r\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \r\n this.loanDetailsForm.controls['lender'].setValue('');\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\r\n this.topUpAmtInWords=''\r\n\r\n }\r\n else if (event.value == 'yes') {\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n this.loanDetailsForm.controls['source'].clearValidators();\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.isOtherSource = false;\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n \r\n }\r\n\r\n}\r\n \r\n mortage_type(mortage_value)\r\n {\r\n \r\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\r\n var property_name=mortagetypes.property_name\r\n if(property_name=='Others (Please Specify)')\r\n {\r\n this.mortageAccess = true;\r\n }else\r\n {\r\n this.mortageAccess = false; \r\n }\r\n \r\n \r\n }\r\n compareObjects(o1: any, o2: any){\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n \r\n }\r\n\r\n\r\n loanCalc()\r\n {\r\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\r\n let loanAmount = this.loanDetailsForm.value.loan_amount;\r\n let topupAmt ;\r\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\r\n {\r\n topupAmt = loanAmount - BtAmount;\r\n }\r\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n }\r\n endUserChange(event) {\r\n //this.endUserList = [];\r\n event.forEach(option => {\r\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\r\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\r\n this.endUserList.push({ end_use: option });\r\n if (othresData == 'others') {\r\n \r\n this.isOtherPurpose = true;\r\n return ;\r\n }else\r\n {\r\n this.isOtherPurpose = false;\r\n \r\n }\r\n });\r\n }\r\n ownerNameChange(event) {\r\n this.ownerNames = [];\r\n event.value.forEach(option => {\r\n this.ownerNames.push({ owner_name: option });\r\n });\r\n }\r\n sourceChange(evt) {\r\n\r\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\r\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\r\n\r\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\r\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\r\n\r\n this.sourceList = [];\r\n\r\n evt.forEach(option => {\r\n this.sourceList.push({source: option});\r\n });\r\n}\r\n inWords(e,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 2 : \r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 3 :\r\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 4 :\r\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 :\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 6:\r\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 7:\r\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n default:\r\n break;\r\n }\r\n}\r\n submitLoanDetails() {\r\n // if(this.loanDetailsForm.valid){\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\r\n \r\n // get end user final group data\r\n let dataEnd_user_data = [];\r\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\r\n dataEnd_user_data.push({end_use: element})\r\n });\r\n records.end_use_group = dataEnd_user_data;\r\n\r\n if (this.isOtherPurpose) {\r\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\r\n }\r\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\r\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\r\n }\r\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\r\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\r\n \r\n let dataSource_list=[];\r\n if(this.loanDetailsForm.controls['source'].value != '')\r\n {\r\n \r\n this.loanDetailsForm.controls['source'].value.forEach(element => {\r\n dataSource_list.push({sources : element})\r\n });\r\n }\r\n records.source_group=dataSource_list;\r\n \r\n }\r\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\r\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\r\n //}\r\n if(records.topup_amount > 0){\r\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\r\n if(records.end_use_topup == 1){\r\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\r\n }\r\n }\r\n \r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.lender = this.loanDetailsForm.controls['lender'].value;\r\n }\r\n if(this.loanDetailsForm.controls['lender'].value == 1){\r\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\r\n } \r\n \r\n \r\n\r\n \r\n /* records.source = this.loanDetailsForm.controls['source'].value;\r\n if (this.loanDetailsForm.controls['source'].value == 'other') {\r\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\r\n }*/\r\n if(this.isOtherSource){\r\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\r\n }\r\n else{\r\n records.other_source = ''; \r\n }\r\n \r\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\r\n if(this.mortageCardAccess == true){\r\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\r\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\r\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\r\n };\r\n // records.owner_name_group = this.ownerNames;\r\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\r\n let dataOwner_name = [];\r\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\r\n dataOwner_name.push({owner_name: element})\r\n });\r\n records.owner_name_group = dataOwner_name;\r\n }\r\n else{\r\n records.owner_name_group='';\r\n }\r\n \r\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\r\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\r\n \r\n }else{\r\n records.property_type = null;\r\n records.property_type_others = null;\r\n records.owner_name_group = null;\r\n records.construction_status = null;\r\n records.emv_per_customer = null;\r\n }\r\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\r\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\r\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.notifier.notify('success', 'Saved Successfully.');\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter The All Field');\r\n // }\r\n }\r\n\r\n getLoanDetails() {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n let loanDetails = value['records'];\r\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\r\n return loanDetails.end_use_group[key];\r\n });\r\n \r\n\r\n //this.enduse\r\n result.forEach(val => {\r\n this.enduse.push(val.end_use);\r\n //this.endUserList.push({'end_use':val.end_use});\r\n });\r\n let ownername: any = [];\r\n if(loanDetails.owner_name_group != null){\r\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\r\n return loanDetails.owner_name_group[key];\r\n });\r\n owner.forEach(val => {\r\n ownername.push(val.owner_name);\r\n this.ownerNames.push({'end_use':val.end_use});\r\n });\r\n }\r\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\r\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\r\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\r\n this.endUserChange(this.enduse);\r\n\r\n if (loanDetails.end_use_other!='') {\r\n //this.endUserChange(this.enduse);\r\n // this.isOtherPurpose=true;\r\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\r\n }\r\n \r\n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \r\n if(loanDetails.topup_amount > 0){\r\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\r\n if (loanDetails.end_use_topup == 1) {\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\r\n }\r\n } \r\n }\r\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n }\r\n if (loanDetails.lender) {\r\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\r\n }\r\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\r\n if(loanDetails.own_contribution)\r\n {\r\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\r\n }\r\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\r\n if(loanDetails.is_transfer!='yes')\r\n {\r\n let source=Object.keys(loanDetails.source_group).map(function(key){\r\n return loanDetails.source_group[key];\r\n });\r\n let dbsourcelist:any=[];\r\n source.forEach(val=>{\r\n dbsourcelist.push(val.sources);\r\n });\r\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\r\n this.sourceChange(dbsourcelist);\r\n if(loanDetails.other_source) {\r\n // this.isOtherSource = true;\r\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\r\n }\r\n \r\n \r\n }\r\n\r\n/* if (loanDetails.lender_name_type) {\r\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\r\n }*/\r\n \r\n if(loanDetails.emi_level){\r\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\r\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\r\n }\r\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \r\n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\r\n this.propertyType =loanDetails.property_type;\r\n if(loanDetails.property_type !=null){\r\n this.mortage_type(this.propertyType);\r\n if(this.mortageCardAccess == true){\r\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \r\n // this.mortage_type(loanDetails.property_type_others);\r\n \r\n }\r\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\r\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\r\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\r\n if(loanDetails.emv_per_customer)\r\n {\r\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\r\n }\r\n }\r\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\r\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\r\n } else {\r\n\r\n }\r\n })\r\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\r\n this.mortageCardAccess = false;\r\n this.loanDetailsForm.controls['owner_name'].setValue('');\r\n this.loanDetailsForm.controls['owner_name'].clearValidators();\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }else{\r\n this.mortageCardAccess = true;\r\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-banking',\r\n templateUrl: 'pd-question-banking.html',\r\n // changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PdQuestionBankingPage {\r\n \r\n m_btLenderList: any;\r\n applicants: any ;\r\n salaryField: boolean;\r\n FormId: any;\r\n accountType: any;\r\n users: any;\r\n bankDetails:FormGroup;\r\n pdDetails: any;\r\n pdid:any;\r\n bankitems:FormArray;\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n limitCaseFlag: any=[];\r\n amtInwords: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\r\n //this.applicants.pop();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n \r\n \r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.bankDetails = this.fb.group(\r\n {\r\n bankitems:this.fb.array([]),\r\n banking_form_remark:[null],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBankingPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n // let modifyCompanyList : any=[];\r\n // if(this.existCompanyList.length>0){\r\n // modifyCompanyList = this.existCompanyList.map(element => {\r\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n // });\r\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n //}\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n\r\n/** Amount InWords */\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n \r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n bank_name: [''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n //is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n \r\n addBankDetails() {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n\r\n if(this.bankitems.length==1){\r\n this.bankitems.reset();\r\n }\r\n else\r\n this.bankitems.removeAt(i);\r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.banking_details = answerData.bankitems;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n \r\n }\r\n\r\n retiveBankDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n if(result.length ==0){\r\n \r\n this.bankitems.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n \r\n \r\n \r\n result.forEach((datas,index)=>\r\n {\r\n this.selectedAccTypeChanges(+datas.account_type,index)\r\n if(datas.limit != ''){\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n } \r\n // this.selectedBorrower(datas.applicant_name,index);\r\n this.bankitems.push(this.createBankItem(''));\r\n })\r\n this.bankDetails.controls['bankitems'].setValue(result);\r\n }\r\n \r\n \r\n }else\r\n {\r\n \r\n this.addBankDetails();\r\n }\r\n });\r\n \r\n }\r\n}\r\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_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_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 this.navCtrl.pop();\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}\n\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 let newControlLength: number;\n let oldControlLength: number = control.length;\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 newControlLength = data.length;\n let index: number = 0;\n while(index < oldControlLength)\n {\n control.removeAt(index);\n index++;\n }\n oldControlLength = newControlLength\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\n let index: number = 0;\n while(index < oldControlLength)\n {\n control.removeAt(index);\n index++;\n }\n oldControlLength = 1;\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 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 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 \n \n if(res['status']==200){\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 else{\n this.initFamilyDetails(null);\n \n }\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\n \n },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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssestsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assests',\r\n templateUrl: 'pd-question-assests.html',\r\n})\r\nexport class PdQuestionAssestsPage {\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n m_relation: any;\r\n applicants: any ;\r\n users: any;\r\n FormId: any;\r\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\r\n m_investmentType: { 'id': string; 'name': string; }[];\r\n m_insuranceType: { 'id': string; 'name': string; }[];\r\n m_propertyType: { 'id': string; 'name': string; }[];\r\n m_assets_type: { 'id': string; 'name': string; }[];\r\n pdDetails: any;\r\n assetItem: any;\r\n items:FormArray;\r\n AssetsDetailsForm:FormGroup;\r\n details:FormArray;\r\n FormList:boolean = false;\r\n loadDetails:boolean = true;\r\n assestInfo:any;\r\n\r\n appxMarketAmtInwords: any=[];\r\n OtherAppxMarketAmtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n OtherEmiAmtInwords: any=[];\r\n PremiumPaidInwords: any=[];\r\n OtherPremiumPaidInwords: any=[];\r\n SumAssuredInwords: any=[];\r\n OtherSumAssuredInwords: any=[];\r\n AmtInvestInwords: any=[];\r\n OtherAmtInvestInwords: any;\r\n AssetValueInwords: any=[];\r\n OtherAssetValueInwords: any=[];\r\n B_emiAmtInwords: any=[];\r\n O_emiAmtInwords: any=[];\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n pdid:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\r\n \r\n this.assestInfo = \"busass\";\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.AssetsDetailsForm = this.fb.group(\r\n {\r\n assets_details:this.fb.array([]),\r\n // business_assets_details:this.fb.array([]),\r\n assets_form_remark:['']\r\n \r\n })\r\n \r\n this.getAssetDetails();\r\n this.getdropList();\r\n //this. addAsset(1);\r\n this.loadDetails = true;\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssestsPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n\r\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_propertyType = res['records'];\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_investmentType = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.m_insuranceType =res['records'];\r\n }\r\n })\r\n \r\n \r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_relation = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n })\r\n \r\n \r\n \r\n \r\n }\r\n createAsset() : FormGroup\r\n {\r\n return this.fb.group(\r\n {\r\n assets_mode: [null],\r\n details: this.fb.array([]),\r\n approximate_market_value: [null],\r\n name_of_the_owner: [''],\r\n other_owner:[''],\r\n // purchase_year: [null],\r\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n vintage_personal : [''],\r\n // purchase_month: [null],\r\n emi: [null],\r\n // emi_paid: [null],\r\n // elapsed_tenure: [null],\r\n // balance_tenure: [null],\r\n // original_loan_tenure :[null],\r\n });\r\n }\r\n\r\n addAsset(flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n this.assetItem.push(this.createAsset());\r\n }\r\n }\r\n\r\n deleteAsset(i,flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n if(this.assetItem.length==1)\r\n {\r\n this.AssetsDetailsForm.controls['assets_details'].reset();\r\n }else{\r\n this.assetItem.removeAt(i);\r\n } \r\n }\r\n }\r\n \r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n \r\n\r\n loanCalc(details ,flag)\r\n {\r\n if(flag == 1){\r\n \r\n let ElapsedValues;\r\n \r\n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\r\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n show: boolean;\r\n selectedAssetsType(e: any, i: any,flag : any): void {\r\n \r\n let val = i;\r\n if(flag == 1){\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n }\r\n \r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n \r\n control.push(this.loadEquipmentManufacturingDescription());\r\n \r\n break;\r\n }\r\n case '5': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadConsumerDurableDescription());\r\n break;\r\n }\r\n case '6': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInsuranceDescription());\r\n break;\r\n }\r\n case '7': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInvestDescription());\r\n break;\r\n }\r\n case '8': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: ['']\r\n });\r\n }\r\n\r\n loadJwellDescription() {\r\n return this.fb.group({\r\n \r\n });\r\n }\r\n\r\n loadConsumerDurableDescription() {\r\n return this.fb.group({\r\n consumer_durable_description: [null]\r\n });\r\n }\r\n \r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n otherAssetsDescription() {\r\n \r\n return this.fb.group({\r\n any_other_assets: [''],\r\n //any_other_asset_value:[''],\r\n //any_other_asset_loan:['']\r\n });\r\n }\r\n\r\n loadInsuranceDescription() {\r\n return this.fb.group({\r\n insurance_type: [null],\r\n premium_paid: [null],\r\n frequency_mode: [null],\r\n other_frequency_mode:[null],\r\n sum_assured: [null],\r\n members_coverd: [null]\r\n });\r\n }\r\n\r\n loadInvestDescription() {\r\n return this.fb.group({\r\n investments_type: [''],\r\n other_investments_type:[''],\r\n in_which_organisation:[''],\r\n amount_of_invest: [''],\r\n bank_name: ['']\r\n });\r\n }\r\n\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n //manufacturer_model: [''],\r\n manufacturer_model_vehicle: ['']\r\n });\r\n }\r\n\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n\r\n load_Two_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_two_weeler: ['']\r\n });\r\n }\r\n\r\n\r\n\r\n loadPropertyWithData(data) {\r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type]\r\n });\r\n }\r\n\r\n loadJwellDescriptionWithData(data) {\r\n return this.fb.group({\r\n // jwell_description: [data.jwell_description]\r\n });\r\n }\r\n\r\n loadConsumerDurableDescriptionWithData(data) {\r\n return this.fb.group({\r\n consumer_durable_description: [data.consumer_durable_description]\r\n });\r\n }\r\n\r\n otherAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n //any_other_asset_value : [data.any_other_asset_value],\r\n //any_other_asset_loan:[data.any_other_asset_loan]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_value : [data.any_other_asset_value],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadInsuranceDescriptionWithData(data) {\r\n return this.fb.group({\r\n //insurance_type: [data.insurance_type],\r\n premium_paid: [data.premium_paid],\r\n frequency_mode: [data.frequency_mode],\r\n other_frequency_mode:[data.other_frequency_mode],\r\n sum_assured: [data.sum_assured],\r\n members_coverd: [data.members_coverd]\r\n });\r\n }\r\n\r\n loadInvestDescriptionWithData(data) {\r\n return this.fb.group({\r\n investments_type: [data.investments_type],\r\n other_investments_type:[data.other_investments_type],\r\n in_which_organisation:[data.in_which_organisation],\r\n amount_of_invest: [data.amount_of_invest],\r\n bank_name: [data.bank_name]\r\n });\r\n }\r\n\r\n \r\n\r\n load_Four_WeelerWithData(data) {\r\n return this.fb.group({\r\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n\r\n load_Two_WeelerWithData(data) {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n saveAssetDetails(answerData)\r\n {\r\n \r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n // answerData.assets_details.map(val => {\r\n // if (val.emi == 'no') {\r\n // val.emi_paid = '';\r\n // val.elapsed_tenure = '';\r\n // val.balance_tenure = '';\r\n // val.original_loan_tenure ='';\r\n // }\r\n // });\r\n \r\n answerData.pdid = this.pdDetails.pd_id;\r\n answerData.formid = this.FormId.form_id;\r\n answerData.fk_createdby = this.users;\r\n \r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n }\r\n apiLoadFinish:boolean = false;\r\n getAssetDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\r\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n return res['records'].assets_details[key];\r\n });\r\n \r\n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n if (assetArray.length > 0) {\r\n for (let val of assetArray) {\r\n let vals = {\r\n assets_mode: val.assets_mode,\r\n approximate_market_value: val.approximate_market_value,\r\n name_of_the_owner: val.name_of_the_owner,\r\n other_owner:val.other_owner,\r\n purchase_year: val.purchase_year,\r\n vintage_personal:val.vintage_personal,\r\n // purchase_month: val.purchase_month,\r\n emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n //assets_form_remark:val.assets_form_remark\r\n };\r\n const control = this.AssetsDetailsForm.controls['assets_details'];\r\n control.push(this.initDetailsWithdata(vals));\r\n \r\n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\r\n }\r\n \r\n }\r\n // if (busarray.length > 0) {\r\n // for (let val of busarray) {\r\n // let vals = {\r\n // assets_mode: val.assets_mode,\r\n // approximate_market_value: val.approximate_market_value,\r\n // name_of_the_owner: val.name_of_the_owner,\r\n // purchase_year: val.purchase_year,\r\n // purchase_month: val.purchase_month,\r\n // emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n // };\r\n // const control = this.AssetsDetailsForm.controls['assets_details'];\r\n // control.push(this.initBusinessDetailsWithdata(vals));\r\n \r\n // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1);\r\n // }\r\n \r\n // }\r\n this.apiLoadFinish = true;\r\n \r\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\r\n }else{\r\n this.apiLoadFinish = true;\r\n this.addAsset(1);\r\n // this.addAsset(2);\r\n }\r\n })\r\n }\r\n\r\n \r\n \r\n \r\n\r\n\r\n initDetailsWithdata(data) {\r\n return this.fb.group({\r\n assets_mode: [data.assets_mode],\r\n details: this.fb.array([]),\r\n approximate_market_value: [data.approximate_market_value],\r\n name_of_the_owner: [data.name_of_the_owner],\r\n other_owner:[data.other_owner || ''],\r\n vintage_personal:[data.vintage_personal],\r\n // purchase_year: [data.purchase_year],\r\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n // purchase_month: [data.purchase_month],\r\n emi: [data.emi || 0],\r\n // emi_paid: [data.emi_paid || ''],\r\n // elapsed_tenure: [data.elapsed_tenure || ''],\r\n // balance_tenure: [data.balance_tenure || ''],\r\n // original_loan_tenure:[data.original_loan_tenure ||''],\r\n //assets_form_remark:[data.assets_form_remark || '']\r\n });\r\n }\r\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\r\n let val = i;\r\n // var data = Object.keys(datas).map(function (key) {\r\n // return datas[key];\r\n // });\r\n // alert(JSON.stringify(datas));\r\n let data = datas;\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n switch (assets_details_mode) {\r\n case '1': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'any_other_assets': datas.any_other_assets,\r\n 'name_of_the_owner':datas.name_of_the_owner,\r\n 'other_owner':datas.other_owner,\r\n //'relation':datas.relation,\r\n // 'any_other_asset_value' : datas.any_other_asset_value,\r\n //'any_other_asset_loan' : datas.any_other_asset_loan,\r\n };\r\n //this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value);\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(array_data));\r\n break;\r\n }\r\n \r\n case '2': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadPropertyWithData(array_data));\r\n break;\r\n }\r\n case '3': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.load_Four_WeelerWithData(array_data));\r\n break;\r\n }\r\n case '4': {\r\n let array_data:any\r\n data.forEach((datas,i)=>{\r\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\r\n })\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '5': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\r\n break;\r\n }\r\n case '6': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { \r\n 'premium_paid': datas.premium_paid,\r\n 'frequency_mode': datas.frequency_mode,\r\n 'other_frequency_mode':datas.other_frequency_mode,\r\n 'sum_assured': datas.sum_assured,\r\n 'members_coverd': datas.members_coverd\r\n };\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\r\n \r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInsuranceDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '7': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\r\n array_data = { 'investments_type': datas.investments_type,\r\n 'other_investments_type' : datas.other_investments_type,\r\n 'in_which_organisation':datas.in_which_organisation,\r\n 'amount_of_invest': datas.amount_of_invest,\r\n 'bank_name': datas.bank_name };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInvestDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '8': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(data));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** On Key Press Event For Number only Accepting */\r\n keyPress(event: any) {\r\n const pattern = /[0-9\\-\\.\\ ]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 3 :\r\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 4 :\r\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 5 :\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 6 :\r\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 7 :\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 8 :\r\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 9 :\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 10 :\r\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 11 :\r\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 12 :\r\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 13:\r\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 14:\r\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\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 } 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 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 constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider, public constant:ConstantsProvider) {\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.getFrequency();\n this.users = this.aws.getlocale();\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 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 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}\ninWords(val,i){\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n}\nsubmitOtherIncome(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.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 this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\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 this.incomeDetails.push(this.createDetail());\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionPersonalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-personal-info',\r\n templateUrl: 'pd-question-personal-info.html',\r\n})\r\nexport class PdQuestionPersonalInfoPage implements OnInit{\r\n\r\n questionDetails: any;\r\n pdDetails: any;\r\n users: any;\r\n _personalForm: FormGroup;\r\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\r\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\r\n relationShipList:any=[];\r\n \r\n form_id:number;\r\n \r\n\r\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\r\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\r\n \r\n public mainApplicantDetails :any=[];\r\n public coApplicantDetails :any=[];\r\n \r\n errorMessage:any;\r\n //coItem:any;\r\n //mainItem:any;\r\n\r\n repeat:number=3;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n // this.getRelationMaster();\r\n \r\n \r\n \r\n }\r\n ngOnInit() {\r\n \r\n this.loadPDDetails();\r\n this.getRelationMaster();\r\n this.mainApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 1);\r\n this.coApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 0);\r\n }\r\n\r\n // load form pd details\r\n loadPDDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\r\n \r\n this.qustCat.retiverForm(records).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.loadFormWithIDData(data['records']);\r\n \r\n }\r\n else{\r\n let defaultMainApp=[];\r\n let defaultCoApp=[];\r\n // generate default main applicant form details\r\n if(this.mainApplicantDetails.length>0){ \r\n for(let j=0;j this.errorMessage = error);\r\n}\r\n\r\nloadDataStatus: boolean = false;\r\n\r\nloadFormWithIDData(data) {\r\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\r\n return data.main_applicant_details[key];\r\n});\r\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\r\n return data.co_applicant_details[key];\r\n});\r\n\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n relation_ans:new FormControl(item.relation_ans, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark: [data.personal_info_form_remark]\r\n });\r\n this.loadDataStatus = true;\r\n}\r\n\r\n loadFormData(mainApp,coApp){\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n \r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.coApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.coApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\r\n relation_id:new FormControl(5),\r\n relation_ans:new FormControl(null, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark:null\r\n });\r\nthis.loadDataStatus = true;\r\n }\r\n\r\n //get pd main applicant array values \r\n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\r\n\r\n // get pd co applicant array values\r\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\r\n\r\n // get relation master details\r\n getRelationMaster(){\r\n let relation =\"RELATIONSHIPS\";\r\n this.qustCat.getcommondrop(relation).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.relationShipList=data['records'];\r\n \r\n }\r\n}, error => this.errorMessage = error);\r\n}\r\n\r\n// submit forms details\r\nsubmitPersonalForm(formData:any) {\r\n if(this._personalForm.valid){\r\n let main_applicantDetails:any=[];\r\n let co_applicantDetails:any=[];\r\n\r\n formData.mainItem.forEach((element,key) => {\r\n if(key==0){\r\n main_applicantDetails.push({\r\n \"name_ans\":element.name_ans,\r\n \"age_ans\":element.age_ans,\r\n \"entity_ans\":element.entity_ans,\r\n \"qualification_ans\":element.qualification_ans,\r\n \"earning_ans\":element.earning_ans, \r\n })\r\n }\r\n \r\n });\r\n formData.coItem.forEach((Coelement,Cokey) => {\r\n co_applicantDetails.push({\r\n\r\n \"name_ans\":Coelement.name_ans,\r\n \"age_ans\":Coelement.age_ans,\r\n \"qualification_ans\":Coelement.qualification_ans,\r\n \"entity_ans\":Coelement.entity_ans,\r\n \"earning_ans\":Coelement.earning_ans, \r\n \"relation_ans\":Coelement.relation_ans, \r\n })\r\n \r\n });\r\n\r\n let save_details:any={\r\n \"pdid\" : this.pdDetails.pd_id,\r\n \"formid\" : '341',\r\n \"fk_createdby\":this.users,\r\n \"main_applicant_details\":main_applicantDetails,\r\n \"co_applicant_details\":co_applicantDetails,\r\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\r\n };\r\n this.qustCat.saveForm(save_details).subscribe(result => {\r\n if (result['dataStatus']==true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.notifier.notify('success', 'Success.');\r\n }\r\n else {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n }\r\n }, error => {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n });\r\n }\r\n}\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionRentalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-rental-info',\r\n templateUrl: 'pd-question-rental-info.html',\r\n})\r\nexport class PdQuestionRentalInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n FormId: any;\r\n rentalForms:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.rentalForms = this.fb.group(\r\n {\r\n person_met:[null,Validators.compose([Validators.required])],\r\n property_own:[null,Validators.compose([Validators.required])],\r\n nature_property:[null,Validators.compose([Validators.required])],\r\n nature_others:[null],\r\n rental_home:this.fb.array([])\r\n })\r\n this.getRentalDetails();\r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\r\n }\r\n\r\n createrentalHome()\r\n {\r\n return this.fb.group(\r\n {\r\n complete_add:[null,Validators.compose([Validators.required])],\r\n area_of_property:[null,Validators.compose([Validators.required])],\r\n structure_property:[null,Validators.compose([Validators.required])],\r\n total_room:[null,Validators.compose([Validators.required])],\r\n is_rent:[null,Validators.compose([Validators.required])],\r\n date_agreement:[null,Validators.compose([Validators.required])],\r\n date_validity:[null,Validators.compose([Validators.required])],\r\n rent_agreement:[null,Validators.compose([Validators.required])],\r\n actual_rent:[null,Validators.compose([Validators.required])],\r\n photo_areegment:[null,Validators.compose([Validators.required])],\r\n property_photographs:[null],\r\n bank:[null,Validators.compose([Validators.required])],\r\n cash:[null,Validators.compose([Validators.required])],\r\n rent_each_floor:[null,Validators.compose([Validators.required])],\r\n total_rent:[null,Validators.compose([Validators.required])],\r\n related_doc_owner:[null,Validators.compose([Validators.required])],\r\n details_tenants:this.fb.array([]),\r\n third_party_check:[null,Validators.compose([Validators.required])],\r\n })\r\n }\r\n\r\n createTenantsDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n name:[null,Validators.compose([Validators.required])],\r\n mobile_no:[null,Validators.compose([Validators.required])],\r\n tenants_seen:[null,Validators.compose([Validators.required])],\r\n tenants_con_owner:[null,Validators.compose([Validators.required])],\r\n rent_paid:[null,Validators.compose([Validators.required])],\r\n staying_since:[null,Validators.compose([Validators.required])],\r\n \r\n });\r\n }\r\n\r\n addrentalHome()\r\n {\r\n const control = this.rentalForms.get('rental_home') as FormArray;\r\n control.push(this.createrentalHome());\r\n this.addTenantsDetails(0);\r\n }\r\n\r\n addTenantsDetails(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\r\n \r\n // control.controls.splice(0);\r\n control.push(this.createTenantsDetails());\r\n\r\n }\r\n\r\n deleteTenantsDetails(rentIndex,TenantsIndex)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\r\n \r\n control.removeAt(TenantsIndex);\r\n }\r\n\r\n deleterentalHome(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n if(control.length==1)\r\n {\r\n this.rentalForms.controls['rental_home'].reset();\r\n }else\r\n {\r\n control.removeAt(i);\r\n }\r\n }\r\n saveRentalDetails(answerData)\r\n {\r\n let records:any={}\r\n \r\n \r\n// if(this.rentalForms.valid){\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.person_met = answerData.person_met;\r\n records.property_own = answerData.property_own;\r\n records.nature_property = answerData.nature_property;\r\n if(answerData.nature_property=='others')\r\n {\r\n records.nature_others = answerData.nature_others\r\n }\r\n records.rental_home = answerData.rental_home;\r\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\r\n\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter All Field');\r\n // }\r\n }\r\n\r\n getRentalDetails()\r\n {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let rentalDetails = res['records'];\r\n var rentalData = Object.keys(res['records'].rental_home\r\n ).map(function(key) {\r\n return res['records'].rental_home\r\n [key];\r\n\r\n });\r\n var tanantsData = [];\r\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n var tanantscontrol; \r\n rentalData.forEach((val,index)=>\r\n {\r\n \r\n // this.addrentalHome();\r\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\r\n // {\r\n \r\n \r\n // return val.details_tenants[key];\r\n // }));\r\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\r\n {\r\n \r\n \r\n return val.details_tenants[key];\r\n });\r\n control.push(this.createrentalHome()); \r\n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \r\n \r\n rentalData[index].details_tenants.forEach((val,key)=>\r\n {\r\n //rentalData[index].details_tenants = val;\r\n \r\n // rentalData[index].details_tenants = [key];\r\n tanantscontrol.push(this.createTenantsDetails());\r\n });\r\n \r\n // control[index].details_tenants =tanantscontrol; \r\n });\r\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\r\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\r\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\r\n if(rentalDetails.nature_property=='others'){\r\n this.rentalForms.controls['nature_others'].\r\n setValue(rentalDetails.nature_others);\r\n }\r\n \r\n this.rentalForms.controls['rental_home'].setValue(rentalData); \r\n }else\r\n {\r\n this.addrentalHome();\r\n // this.addTenantsDetails(0);\r\n }\r\n })\r\n }\r\n createTenantsDetailswithData(index,data)\r\n {\r\n return this.fb.group(\r\n {\r\n name:[data.name],\r\n mobile_no:[data.mobile_no],\r\n tenants_seen:[data.tenants_seen],\r\n tenants_con_owner:[data.tenants_con_owner],\r\n rent_paid:[data.rent_paid],\r\n staying_since:[data.staying_since]\r\n });\r\n }\r\n\r\n validateAllFormFields(formGroup: any) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n \r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control);\r\n } else if (control instanceof FormArray) { \r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDashPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-dash',\r\n templateUrl: 'pd-question-assessed-dash.html',\r\n})\r\nexport class PdQuestionAssessedDashPage {\r\n\r\n businessIncome: boolean;\r\n grossAccess: boolean;\r\n finalAccess: boolean;\r\n finalExpense: any;\r\n finalIncome: any;\r\n finalData: any;\r\n houseExpenseData: boolean;\r\n businessData: boolean;\r\n salesData: boolean;\r\n purchaseData: boolean;\r\n grossprofit: any;\r\n assessedProcess: boolean;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n calc_type_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n mode:[null,Validators.compose([Validators.required])],\r\n margin:[null],\r\n fk_createdby:[this.users],\r\n fk_updatedby:[null],\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getassessedIncome(); \r\n }\r\n getViewPage(pageId)\r\n {\r\n\r\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\r\n }\r\n\r\n saveAssessedForm(answerData)\r\n {\r\n \r\n if(this.assessedForm.valid)\r\n {\r\n \r\n \r\n \r\n let records = {'records':this.assessedForm.value};\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.getassessedIncome();\r\n }else\r\n {\r\n\r\n }\r\n })\r\n \r\n }\r\n }\r\n\r\n getassessedIncome()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.assessedProcess = true;\r\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\r\n if(res['records'].purchase_details.length !=0)\r\n {\r\n this.purchaseData = true;\r\n }\r\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)\r\n {\r\n this.salesData = true;\r\n }\r\n if(res['records'].business_expenses.length !=0)\r\n {\r\n this.businessData = true;\r\n }\r\n if(res['records'].house_hold_expenses.length !=0)\r\n {\r\n this.houseExpenseData = true;\r\n }\r\n if(res['records'].othre_business_income.length !=0)\r\n {\r\n this.businessIncome = true;\r\n }\r\n \r\n if(res['records'].final_data.length !=0){\r\n this.finalAccess = true;\r\n this.finalData = res['records'].final_data[0]; \r\n this.finalIncome = this.finalData.income;\r\n this.finalExpense = this.finalData.expense; \r\n }\r\n \r\n if(this.grossprofit !==undefined)\r\n {\r\n this.grossAccess = true;\r\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\r\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\r\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\r\n }\r\n \r\n }else\r\n {\r\n this.assessedProcess = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { FormatWidth } from '@angular/common';\r\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-info',\r\n templateUrl: 'pd-question-assessed-info.html',\r\n})\r\nexport class PdQuestionAssessedInfoPage {\r\n\r\n busissnessIncome: any;\r\n mode: any;\r\n grossprofitCalc: any;\r\n houseHold_details: any;\r\n grandHouseExpenseTotal: any;\r\n houseannual: any=[];\r\n businessExpenses_details: any;\r\n grandExpenseTotal: any;\r\n expenseannual: any=[];\r\n businessExpenses: any;\r\n purchse_details: any;\r\n sales_item_month_value: any=[];\r\n sales_wise_month_headers:any = [];\r\n sales_month_wise_data:any = [];\r\n sales_item_value: any;\r\n grandpurchaseTotal: any=null;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n users: any;\r\n pageId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n FormName:any;\r\n annual:any = [];\r\n rawMaterialForm:FormGroup;\r\n BuissnessForm:FormGroup;\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pageId = this.navParams.get('pageId');\r\n\r\n switch(this.pageId)\r\n {\r\n case 1:\r\n this.FormName = \"Sales Page\";\r\n break;\r\n case 2:\r\n this.FormName = \"Purchase Page\";\r\n break;\r\n case 3:\r\n this.FormName = \"Business Expense Page\";\r\n break;\r\n case 4:\r\n this.FormName = \"House Hold Page\";\r\n break;\r\n default:\r\n this.FormName = \"Question Page\";\r\n break;\r\n }\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n sdc_id:[null],\r\n sales_declared_by_customer:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n margin_per:[null],\r\n margin_value:[null],\r\n isactive:[1],\r\n fk_createdby:[this.users],\r\n \r\n });\r\n \r\n \r\n \r\n \r\n // this.getdropList();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\r\n }\r\n\r\n\r\n \r\n \r\n\r\n ionViewDidEnter() {\r\n \r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getAssessedDetails(); \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n getMarginCalc()\r\n {\r\n let margin_per = this.assessedForm.controls['margin_per'].value;\r\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\r\n if(margin_per !=null && sales_declared_by_customer !=null)\r\n {\r\n let value = sales_declared_by_customer * (margin_per/100);\r\n this.assessedForm.controls['margin_value'].setValue(value);\r\n }\r\n }\r\n\r\n saveData(answerData)\r\n {\r\n let records:any = {};\r\n\r\n records ={'records':answerData};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\r\n {\r\n // console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.getAssessedDetails();\r\n }\r\n })\r\n }\r\n \r\n getAssessedDetails()\r\n {\r\n this.sales_item_month_value = [];\r\n this.sales_month_wise_data = [];\r\n this.sales_item_value= [];\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let sales_value = res['records'].sales_declared_by_customer[0];\r\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\r\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\r\n this.purchse_details = res['records'].purchase_details; \r\n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\r\n this.mode = this.grossprofitCalc.mode;\r\n console.log(this.grossprofitCalc);\r\n var result = this.purchse_details.reduce(function(p, c) {\r\n \r\n return p;\r\n },[]);\r\n console.log(result);\r\n\r\n\r\n this.businessExpenses_details = res['records'].business_expenses;\r\n this.houseHold_details = res['records'].house_hold_expenses;\r\n this.busissnessIncome = res['records'].othre_business_income;\r\n // console.log(this.sales_item_month_value);\r\n // this.getpurchaseDetails(this.purchse_details);\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\r\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\r\n let listItems: any=[];\r\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\r\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\r\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\r\n \r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\r\n });\r\n\r\n\r\n console.log(this.sales_month_wise_data);\r\n if(sales_value!==undefined){\r\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\r\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\r\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\r\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\r\n \r\n }\r\n \r\n }\r\n })\r\n\r\n }\r\n\r\n /**\r\n * Add Assessed Forms\r\n */\r\n\r\n AddAssessedForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n\r\n editDetails(salesCal)\r\n {\r\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n editAllDetails(AllsalesData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \r\n }\r\n\r\n /**Assessed Daily Form Details */\r\n\r\n AddAssessedDailyForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\r\n }\r\n editAssessedDailyForm(simId)\r\n {\r\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\r\n console.log(dailySaleDetails);\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\r\n \r\n }\r\n\r\n /**purchase Details Forms */\r\n AddPurchaseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \r\n \r\n }\r\n\r\n editPurchaseDetails(purchaseCal)\r\n {\r\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \r\n \r\n }\r\n editPurchaseAllDetails(AllpurchaseData)\r\n {\r\n console.log('260',AllpurchaseData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \r\n }\r\n \r\n\r\n /**Business Expense */\r\n AddExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editExpenseAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \r\n }\r\n \r\n\r\n /** Household Expenses Details */\r\n AddHouseExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editHouseExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editHouseExpenseAllDetails(AllExpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \r\n }\r\n\r\n /**\r\n * Income Details\r\n */\r\n AddIncomeForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \r\n \r\n }\r\n\r\n editIncomeDetails(expenseCal)\r\n {\r\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \r\n \r\n }\r\n editIncomeAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \r\n }\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedSalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-sales',\r\n templateUrl: 'pd-question-assessed-sales.html',\r\n})\r\nexport class PdQuestionAssessedSalesPage {\r\n\r\n grossprofitCalc: any;\r\n salesData: any =[];\r\n annual: any=[];\r\n grandTotal: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n assessedForm: FormGroup;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n \r\n salesCalItemwise:this.fb.array([]),\r\n });\r\n this.salesData = this.navParams.get('sales');\r\n if(this.salesData!=null)\r\n {\r\n this.getSalesItemData(this.salesData);\r\n }else\r\n {\r\n this.addSalesCal();\r\n }\r\n // this.addSalesCal();\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n createSalesCal()\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n\r\n sales_item:[null,Validators.compose([Validators.required])],\r\n sales_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_sale_value:[null],\r\n margin_per:[null],\r\n margin_per_uom:[null],\r\n margin_final_value:[null],\r\n });\r\n }\r\n\r\n addSalesCal()\r\n {\r\n if(this.assessedForm.valid){\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n control.push(this.createSalesCal());\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the all fields');\r\n }\r\n }\r\n \r\n removeSalesCal(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n console.log(this.grandTotal);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(i);\r\n this.addSalesCal(); \r\n } else{\r\n control.removeAt(i);\r\n }\r\n }\r\n /**\r\n * frequency Type \r\n * 1.Weekly no need\r\n * 2.Daily 250\r\n * 3.Yearly \r\n * 4.Hourly no need\r\n * 5.Monthly 12\r\n * 6.none\r\n * 7.none\r\n * 8.none\r\n */\r\n salecalculat(index,details)\r\n {\r\n // console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let salesQty = details.value.sales_qty;\r\n let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,salesQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(salesQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (salesQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (salesQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (salesQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\r\n }\r\n \r\n \r\n \r\n \r\n console.log(this.annual);\r\n }\r\n\r\n getSalesCalc(details)\r\n {\r\n // console.log(details);\r\n let margin_per = details.value.margin_per;\r\n let margin_amount = details.value.margin_per_uom;\r\n let annual_sale_value = details.value.annual_sale_value;\r\n let sales_qty = details.value.sales_qty;\r\n // console.log(sales_qty,margin_amount);\r\n let value:any = '';\r\n if(margin_per !=null || margin_amount !=null){\r\n if(margin_per !=null)\r\n {\r\n value = +annual_sale_value * (+margin_per/100);\r\n }else\r\n {\r\n console.log('else');\r\n value = +sales_qty* +margin_amount;\r\n }\r\n console.log(value);\r\n details.controls['margin_final_value'].setValue(value);\r\n }\r\n }\r\n saveData(answerData)\r\n {\r\n let records = {'records':answerData.salesCalItemwise};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n }\r\n \r\n getSalesItemData(salesData)\r\n {\r\n console.log(salesData);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n\r\n salesData.forEach((sale,index)=>{\r\n \r\n this.annual[index] = sale.annual_sale_value\r\n control.push(this.createSaleswithData(sale));\r\n })\r\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\r\n // console.log(control);\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }\r\n\r\n createSaleswithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[data.sci_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\r\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_sale_value:[data.annual_sale_value],\r\n margin_per:[data.margin_per],\r\n margin_per_uom:[data.margin_per_uom],\r\n margin_final_value:[data.margin_final_value],\r\n });\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDailySalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-daily-sales',\r\n templateUrl: 'pd-question-assessed-daily-sales.html',\r\n})\r\nexport class PdQuestionAssessedDailySalesPage {\r\n\r\n currentDate: string;\r\n grossprofitCalc: any;\r\n salesDaily: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n salesDailyForm: FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.salesDaily = this.navParams.get('salesDaily');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\r\n \r\n this.salesDailyForm = this.fb.group(\r\n {\r\n sales_product: this.fb.array([]),\r\n })\r\n if (this.salesDaily != null) {\r\n this.getDailySalesData(this.salesDaily);\r\n } else {\r\n this.adddailySalaesProduct();\r\n\r\n }\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\r\n }\r\n\r\n createdailysalesProduct() {\r\n return this.fb.group(\r\n {\r\n sim_id: [null],\r\n sales_item: [null, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n margin_per: [null],\r\n margin_value: [null],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n });\r\n }\r\n createdailyChildSaleProduct() {\r\n return this.fb.group({\r\n simc_id: [null],\r\n fk_sim_id: [null],\r\n sales_date: [null, Validators.compose([Validators.required])],\r\n sales_value: [null, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n }\r\n temparr = [];\r\n tempdate = [];\r\n getSalesCalc(subchild,child,key) {\r\n \r\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\r\n let totalitemmargin = child.value.margin_per;\r\n \r\n if (totalitemmargin != null && subchild.value.sales_value !=null) {\r\n let loopAccess = false;\r\n let loopindex = 0;\r\n if (this.tempdate.length != 0) {\r\n for (var i = 0; i < this.tempdate.length; i++) {\r\n\r\n if (this.tempdate[i].month == saledate) {\r\n loopAccess = true;\r\n loopindex = i;\r\n }\r\n }\r\n\r\n if (loopAccess) {\r\n\r\n \r\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\r\n this.temparr.push(subchild.value.sales_value);\r\n loopAccess = false;\r\n loopindex = 0;\r\n \r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n\r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\r\n this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n let totalMonth = 12 / this.tempdate.length;\r\n \r\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\r\n \r\n // let value = tempgrandTotal * (totalitemmargin / 100);\r\n let value = tempgrandTotal*totalMonth ;\r\n \r\n let grandValue = value * (totalitemmargin / 100);\r\n child.controls['margin_value'].setValue(grandValue);\r\n \r\n }\r\n \r\n }\r\n adddailySalaesProduct() {\r\n this.tempdate = [];\r\n if (this.salesDailyForm.valid) {\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n control.push(this.createdailysalesProduct());\r\n \r\n this.adddailyChildSaleProduct(control.length - 1);\r\n }\r\n }\r\n adddailyChildSaleProduct(index) {\r\n // if(this.salesDailyForm.valid){\r\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\r\n\r\n control.push(this.createdailyChildSaleProduct());\r\n // }\r\n }\r\n\r\n deletedailySalesProduct(index) {\r\n \r\n this.tempdate.slice(index,1);\r\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\r\n if (control.length == 1) {\r\n this.salesDailyForm.controls['sales_product'].reset();\r\n } else {\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\r\n this.tempdate = [];\r\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(saleChildIndex);\r\n this.adddailyChildSaleProduct(saleIndex); \r\n }else{\r\n control.removeAt(saleChildIndex);\r\n }\r\n }\r\n saveData(answerData) {\r\n if (this.salesDailyForm.valid) {\r\n let records = { 'records': answerData.sales_product };\r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\r\n if (res['dataStatus'] == true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n getDailySalesData(dailySalesData) {\r\n \r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n let salesChildControl;\r\n let salesChildControlarr = [];\r\n dailySalesData.forEach((val, index) => {\r\n\r\n control.push(this.dailySalesWithData(val));\r\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\r\n\r\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\r\n\r\n salesChildControlarr[index].forEach((vals, i) => {\r\n vals.forEach((item, key) => {\r\n let saleDate = new Date(item.sales_date);\r\n\r\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\r\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\r\n })\r\n\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n dailySalesWithData(data) {\r\n\r\n return this.fb.group(\r\n {\r\n sim_id: [data.sim_id],\r\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n margin_per: [data.margin_per],\r\n margin_value: [data.margin_value],\r\n })\r\n }\r\n dailySalesChildWithData(data, fk_id) {\r\n\r\n\r\n return this.fb.group(\r\n {\r\n simc_id: [data.simc_id],\r\n fk_sim_id: [fk_id],\r\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\r\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedPurchasePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-purchase',\r\n templateUrl: 'pd-question-assessed-purchase.html',\r\n})\r\nexport class PdQuestionAssessedPurchasePage {\r\n purchaseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n businessExpenses: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n annual: any = [];\r\n grandpurchaseTotal: any;\r\n rawMaterialForm:FormGroup;\r\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.purchaseDetails = this.navParams.get('purchase');\r\n this.users = this.aws.getlocale();\r\n this.rawMaterialForm = this.fb.group(\r\n {\r\n purchase:this.fb.array([]),\r\n });\r\n if(this.purchaseDetails!=null)\r\n {\r\n this.getpurchaseDetails(this.purchaseDetails);\r\n }else\r\n {\r\n this.addPurchaseDetails();\r\n }\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\r\n }\r\n\r\n\r\n createPurchaseDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[null,Validators.compose([Validators.required])],\r\n purchase_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_purchase_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n }\r\n })\r\n }\r\n addPurchaseDetails()\r\n {\r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.push(this.createPurchaseDetails());\r\n }\r\n\r\n deletePurchaseDetails(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.removeAt(i); \r\n }\r\n\r\n\r\n salecalculat(index,details)\r\n {\r\n console.log(this.grandpurchaseTotal);\r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let purchaseQty = details.value.purchase_qty;\r\n let UOM = details.value.rate_per_unit;\r\n console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(purchaseQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (purchaseQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (purchaseQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (purchaseQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\r\n }\r\n }\r\n savepurchaseData(answerData)\r\n {\r\n if(this.rawMaterialForm.valid){\r\n let records = {'records':answerData.purchase};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.getAssessedDetails();\r\n \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getpurchaseDetails(purchaseDetails)\r\n {\r\n console.log('function in',purchaseDetails);\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \r\n console.log(control); \r\n if(purchaseDetails.length ==0)\r\n {\r\n console.log('if');\r\n this.addPurchaseDetails();\r\n }else{\r\n console.log('else');\r\n purchaseDetails.forEach((val,index)=>\r\n {\r\n // console.log(index);\r\n control.push(this.createPurchasewithData(val));\r\n this.annual[index] = val.annual_purchase_value;\r\n });\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\r\n }\r\n // console.log(control); \r\n \r\n }\r\n\r\n createPurchasewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[data.purchase_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\r\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business',\r\n templateUrl: 'pd-question-assessed-business.html',\r\n})\r\nexport class PdQuestionAssessedBusinessPage {\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n grandpurchaseTotal(arg0: any): any {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n grandExpenseTotal: any=[];\r\n expenseannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessExpenses:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busExpense:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\r\n }\r\n\r\n\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[null,Validators.compose([Validators.required])],\r\n expense_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_expenses_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.expenseannual.splice(i,1); \r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busExpensecalculat(index,details)\r\n {\r\n \r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n let UOM = details.value.rate_per_unit;\r\n \r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busExpense};\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.expenseannual[index] = val.annual_expenses_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[data.pd_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\r\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedHouseholdPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-household',\r\n templateUrl: 'pd-question-assessed-household.html',\r\n})\r\nexport class PdQuestionAssessedHouseholdPage {\r\n\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n houseExpenseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n houseannual: any =[];\r\n grandHouseExpenseTotal: any=[];\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.houseExpenseDetails = this.navParams.get('FormId');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.houseHoldForm = this.fb.group(\r\n {\r\n houseExpense:this.fb.array([]),\r\n });\r\n if(this.expenseDetails !=null)\r\n {\r\n this.getHouseholdExpense(this.expenseDetails);\r\n }else\r\n {\r\n this.addHouseExpenses();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n createHouseExpense()\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[null],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [null,Validators.compose([Validators.required])],\r\n\t\t expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n\r\n addHouseExpenses()\r\n {\r\n \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n\r\n control.push(this.createHouseExpense());\r\n }\r\n\r\n deleteHouseExpense(i)\r\n {\r\n this.houseannual.splice(i,1); \r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n control.removeAt(i) \r\n }\r\n houseExpensecalculat(index,details)\r\n {\r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(details);\r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n console.log(this.grandHouseExpenseTotal); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n saveHouseExpenseData(answerData)\r\n {\r\n if(this.houseHoldForm.valid)\r\n {\r\n let records = {'records':answerData.houseExpense};\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n getHouseholdExpense(houseExpesneDetails)\r\n {\r\n if(houseExpesneDetails.length==0)\r\n {\r\n this.addHouseExpenses(); \r\n }else\r\n {\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \r\n houseExpesneDetails.forEach((val,index)=>\r\n {\r\n this.houseannual[index] = val.annual_expense_value;\r\n control.push(this.createHouseholdwithData(val));\r\n \r\n });\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createHouseholdwithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[data.household_expense_id],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\r\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business-income',\r\n templateUrl: 'pd-question-assessed-business-income.html',\r\n})\r\nexport class PdQuestionAssessedBusinessIncomePage {\r\n m_freqOfPurchase: any = [];\r\n expenseDetails: any;\r\n \r\n grandIncomeTotal: any=[];\r\n incomeannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessIncome:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('income');\r\n \r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busIncome:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\r\n }\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[null,Validators.compose([Validators.required])],\r\n income_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_income_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[null],\r\n other_frequncy_item:[null],\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.incomeannual.splice(i,1); \r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busIncomecalculate(index,details)\r\n {\r\n \r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let incomeValue = details.value.income_value;\r\n // let UOM = details.value.rate_per_unit;\r\n \r\n let annual:any;\r\n if(incomeValue!=null && incomeValue !=null){\r\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \r\n if(frequencyId==1)\r\n {\r\n \r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==2)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==5)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==7)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==8)\r\n {\r\n annual = (incomeValue);\r\n this.incomeannual[index] = annual; \r\n details.controls['annual_income_value'].setValue(annual); \r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busIncome};\r\n \r\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.incomeannual[index] = val.annual_income_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[data.pd_business_income_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\r\n income_value:[data.income_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[data.other_income_item],\r\n other_frequncy_item:[data.other_frequncy_item],\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionLenderRepresentativePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-lender-representative',\r\n templateUrl: 'pd-question-lender-representative.html',\r\n})\r\nexport class PdQuestionLenderRepresentativePage {\r\n\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n representativeForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.representativeForm = this.fb.group({\r\n pdid:[this.pdDetails.pd_id],\r\n formid:[this.FormId.form_id],\r\n fk_createdby:[this.users],\r\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\r\n representative_remarks: ['', Validators.compose([Validators.required])],\r\n lender_representative_details: this.fb.array([]),\r\n });\r\n this.getLenderReDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\r\n }\r\n \r\n createlenReDetails()\r\n {\r\n return this.fb.group({\r\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\r\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n selectedLoanChanges(e): void {\r\n if (e.value == 'Yes') {\r\n const control = this.representativeForm.controls['lender_representative_details'];\r\n control.push(this.createlenReDetails());\r\n } else if (e.value == 'No') {\r\n const arr = this.representativeForm.controls.lender_representative_details;\r\n arr.removeAt(0);\r\n }\r\n }\r\n\r\n sumbitData(answerData)\r\n { \r\n if(this.representativeForm.valid)\r\n {\r\n let records = this.representativeForm.value;\r\n \r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getLenderReDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let lenderReDetails = res['records'];\r\n if(lenderReDetails.lender_representative_accompany=='Yes'){\r\n\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n\r\n\r\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\r\n {\r\n return res['records'].lender_representative_details[key];\r\n });\r\n \r\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \r\n lender_represent_details.forEach(val=>\r\n {\r\n control.push(this.createlenReDetails());\r\n })\r\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\r\n\r\n }else\r\n {\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\r\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { DatePipe} from '@angular/common';\r\nimport {PdPipe} from './../../../pipes/pd/pd';\r\nimport { removeSummaryDuplicates } from '@angular/compiler';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-info',\r\n templateUrl: 'pd-question-general-info.html',\r\n providers:[PdPipe],\r\n})\r\nexport class PdQuestionGeneralInfoPage {\r\n pipe=new DatePipe('en-US');\r\n // person_name:any;\r\n qualification_name:any;\r\n individuals_order_id:any;\r\n is_new:any;\r\n pd_co_applicant_id:any;\r\n lengthv:any;\r\n qual_name:any;\r\n curr_qualification_name;\r\n curr_business_name;\r\n \r\n\r\n applicant_name: any;\r\n otherapp: any;\r\n fetch_related_details: any = [];\r\n checkApplicantExist: any;\r\n pd_applicants_details: any = [];\r\n companyRelationShipList: any;\r\n qualificationList:any;\r\n businessEntityTypeList:any;\r\n relationShipList: any;\r\n titleList:any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n generalForm:FormGroup;\r\n fulldata:any\r\n public buttonClick:boolean;\r\n public h_companies:boolean\r\n datav:any;\r\n individualsListBothCase:any;\r\n individualsList:any;\r\n companyList:any;\r\n i:number;\r\n data_all:any;\r\n maxDate:any;\r\n OldData:any=[];\r\n OldData_indi:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\r\n this.maxDate = new Date();\r\n this.pd_applicants_details = []; \r\n this.pd_applicants_details.pop(); \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\r\n //this.maxDate=new Date(get_max_date)\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.getdropdown();\r\n \r\n this.generalForm = this.fb.group({\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n applicant_list: this.fb.array([]),\r\n applicant_relation: this.fb.array([]),\r\n list_value:this.fb.array([]),\r\n company_value:this.fb.array([]),\r\n individuals:this.fb.array([]),\r\n companies:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n company_with_relationships:this.fb.array([]),\r\n \r\n general_remark:''\r\n });\r\n \r\n //this.initIndividuals();\r\n this.pd_applicants_details = this.pdDetails.applicat_details;\r\n \r\n \r\n \r\n // this.getcoapplicantDetails();\r\n this.buttonClick=false;\r\n this.h_companies=false;\r\n // this.initCompanies()\r\n this.datav=[{\r\n name:\"fairoj\",\r\n id:1\r\n },\r\n {\r\n name:\"ff\",\r\n id:2\r\n }\r\n \r\n ]\r\n //this.fulldata=this.generalForm.value\r\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['list_value'];\r\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\r\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\r\n this.fulldata=control.value;\r\n //control.controls.length\r\n //control.push()\r\n });\r\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['company_value'];\r\n this.companyList=control.value.filter(element=>element.company_name )\r\n })\r\n this.i=0;\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n // this.pd_applicants_details.pop();\r\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\r\n this.getGeneralForm()\r\n }\r\n\r\n initlistv(data,purpose) :void\r\n {\r\n const control=this.generalForm.controls['list_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[this.lengthv.individuals.length+1],\r\n is_new:true,\r\n is_active:true,\r\n pd_co_applicant_id:[this.lengthv.individuals.length+1], \r\n \r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n if(purpose=='get'){\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[val.individuals_order_id],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n pd_co_applicant_id:[val.pd_co_applicant_id] , \r\n \r\n \r\n \r\n \r\n\r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n}\r\n\r\n qualificationById(data):string{\r\n for(let i of this.qualificationList){\r\n if(data==i.qualification_id){\r\n this.qual_name=i.qualification_name\r\n return this.qual_name\r\n }\r\n }\r\n \r\n }\r\n initCompanyValue(data,purpose):void{\r\n const control=this.generalForm.controls['company_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n \r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[this.lengthv.companies.length+1],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:true,\r\n is_active:true,\r\n company_messrs_name:['M/s'],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n if(purpose=='get')\r\n {\r\n for(let val of data)\r\n {\r\n \r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[val.company_order_id],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n company_messrs_name:[val.company_messrs_name],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n }\r\n businessEntityById(val):string{\r\n for(let v of this.businessEntityTypeList){\r\n if(val==v.business_entity_type_id){\r\n var name=v.business_entity_type_name\r\n return name\r\n }\r\n }\r\n \r\n }\r\n \r\n\r\n initIndividuals():void{\r\n let formData : FormGroup=this.fb.group({\r\n applicant_name:['',Validators.required],\r\n is_person_met:false,\r\n is_applicant:false,\r\n age:['',Validators.required],\r\n qualification:['',Validators.required],\r\n course_name:[''],\r\n applicant_title_name:['']\r\n\r\n });\r\n \r\n const control=this.generalForm.controls['individuals'];\r\n control.controls=[]\r\n control.push(formData);\r\n \r\n \r\n }\r\n initCompanies():void{\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[''],\r\n is_company_applicant:false,\r\n business_entity_type:[''],\r\n business_entity_type_other:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_date_object:['']\r\n });\r\n const control=this.generalForm.controls['companies'];\r\n control.controls=[]\r\n control.push(formData)\r\n }\r\n initPersonRelationship(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[''],\r\n applicant_name:[''],\r\n relationship:[''],\r\n relation_to:[''],\r\n individuals_order_id:[this.lengthv.persons_with_relationships.length+1],\r\n \r\n });\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value)\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[val.pd_co_applicant_id],\r\n applicant_name:[val.applicant_name],\r\n relationship:[val.relationship],\r\n relation_to:[val.relation_to],\r\n });\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n initCompanyRelationShip(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[''],\r\n company_relationship:[''],\r\n relation_to_company:[''],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value){\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n company_relationship:[val.company_relationship],\r\n relation_to_company:[val.relation_to_company],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n add():void{\r\n \r\n this.initIndividuals();\r\n }\r\ndata:any;\r\ncart=[];\r\ndatajson:any;\r\ndataobj:any;\r\n\r\n addRec(v){\r\n if(v=='1')\r\n {\r\n this.buttonClick=!this.buttonClick;\r\n this.initIndividuals();\r\n }\r\n if(v=='2')\r\n {\r\n this.h_companies=!this.h_companies;\r\n this.initCompanies();\r\n }\r\n }\r\n \r\n delete(v):void{\r\n // const control=this.generalForm.controls['individuals'];\r\n //control.removeAt(i);\r\n //this.data=this.generalForm.value.individuals;\r\n this.cart.push(this.generalForm.value.individuals);\r\n this.data=Object.assign(this.cart);\r\n // this.data=Object.assign(this.generalForm.value.individuals)\r\n this.datajson=JSON.stringify(this.cart)\r\n if(v=='1')\r\n {\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initlistv(this.generalForm.value.individuals,'ins')\r\n this.initPersonRelationship('');\r\n }\r\n }\r\n else if(v=='2')\r\n {\r\n if(!this.generalForm.controls['companies'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initCompanyValue(this.generalForm.value.companies,'ins')\r\n }\r\n }\r\n \r\n }\r\n removeList(i,index){\r\n if(index=='1')\r\n {\r\n //For List List_value(Individuals)\r\n const control=this.generalForm.controls['list_value'];\r\n control.value[i].is_active=false;\r\n this.OldData_indi.push(control.value[i])\r\n control.removeAt(i);\r\n //For Person RelationShip auto Delete\r\n // const control1=this.generalForm.controls['persons_with_relationships'];\r\n //control1.removeAt(i);\r\n \r\n }\r\n if(index==2){\r\n //For Company_values(Companies)\r\n const control=this.generalForm.controls['company_value']\r\n control.value[i].is_active=false\r\n var vla=control.value[i]\r\n this.OldData.push(vla);\r\n control.removeAt(i);\r\n \r\n\r\n // let control: any = this.generalForm.get('companies') as FormArray;\r\n //this.generalForm.controls['companies']\r\n //control.controls['is_active'].setValue(false);\r\n //control.controls[i].clearValidators();\r\n //control.controls[i].updateValueAndValidity();\r\n //control.clear\r\n // control.controls[i].is_active.setValue(false);\r\n /* control.controls[i].controls.company_name.clearValidators();\r\n control.controls[i].controls.company_name.updateValueAndValidity();\r\n control.controls[i].controls.business_years.clearValidators();\r\n control.controls[i].controls.business_years.updateValueAndValidity();\r\n control.controls[i].controls.business_entity_type.clearValidators();\r\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\r\n }\r\n if(index==\"companyrel\")\r\n {\r\n //For company_relationship\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.removeAt(i);\r\n }\r\n }\r\n \r\n \r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\r\n if(res['dataStatus']==true)\r\n {\r\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\r\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\r\n });\r\n\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.titleList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n }\r\n\r\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\r\n {\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n if(checkApplicantExist.length > 0)\r\n {\r\n checkApplicantExist.forEach(val => {\r\n applicantControl.push(this.createApplicant(val));\r\n });\r\n \r\n }\r\n if(exist_applicant_relation.length > 0){\r\n exist_applicant_relation.forEach(val => {\r\n relationControl.push(this.createApplicantRelation(val));\r\n //push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }\r\n }\r\n\r\n createApplicant(elementValue:any){\r\n return this.fb.group({\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name],\r\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\r\n });\r\n }\r\n\r\n coapplicantChange(event,index,item)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n if(item.exist_status.value)\r\n {\r\n if(item.pd_co_applicant_id.value==0){\r\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\r\n modal.onDidDismiss(data => {\r\n if(data!=1){\r\n data.otherName.forEach(val=>\r\n {\r\n\r\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':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n \r\n }\r\n });\r\n modal.present();\r\n }else\r\n {\r\n \r\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':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(item.applicant_name.value);\r\n }\r\n }\r\n else\r\n {\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let pos_id = relationControl.value.map(e=> \r\n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\r\n if(item.pd_co_applicant_id.value !=0){\r\n relationControl.removeAt(pos_id);\r\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\r\n this.fetch_related_details.splice(pos_name, 1); \r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n }\r\n // remove related to details\r\n \r\n }\r\n\r\n }\r\n\r\n createApplicantRelation(elementValue: any) {\r\n return this.fb.group({\r\n \r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\r\n company_relationship: [elementValue.company_relationship],\r\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\r\n relationship: [elementValue.relationship],\r\n });\r\n }\r\n // temparr=[];\r\n removereferance(index)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n \r\n \r\n relationControl.removeAt(index);\r\n // this.temparr = [];\r\n \r\n }\r\n // createApplicateOthers()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // Name:\r\n // })\r\n // }\r\n ConvertMonthintoYearforBusiness(e,controlIndex){\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control = control.controls[controlIndex];\r\n let business_year = control.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n control.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\ngetDateObjects(values: any, controlIndex) {\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control.controls['business_years']=''\r\n control.controls['business_month']=''\r\n control = control.controls[controlIndex];\r\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\r\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\r\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\r\n let diff: number = Math.floor(diffInMs / 1000);\r\n diff /= (60 * 60 * 24 * 30);\r\n diff=Math.abs(Math.round(diff));\r\n control.controls['business_years'].setValue(0);\r\n control.controls['business_month'].setValue(0);\r\n \r\n if(diff){\r\n control.controls['business_years'].setValue(Math.floor(diff / 12));\r\n control.controls['business_month'].setValue(Math.floor(diff % 12));\r\n }\r\n\r\n}\r\n submitData(answerData)\r\n {\r\n \r\n let saveRecords:any={}\r\n var valuesData_indi:any=[]\r\n\r\n var valuesData:any=[]\r\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\r\n return answerData.list_value[key]\r\n })\r\n existData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n if(this.OldData_indi.length>0){\r\n this.OldData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n }\r\n\r\n var existData=Object.keys(answerData.company_value).map(function(key){\r\n return answerData.company_value[key]\r\n })\r\n existData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n if(this.OldData.length>0){\r\n this.OldData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n }\r\n \r\n saveRecords.individuals=valuesData_indi;\r\n saveRecords.companies=valuesData\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.fk_createdby=this.users;\r\n \r\n \r\n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\r\n saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.general_remark=answerData.general_remark;\r\n \r\n \r\n \r\n \r\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\r\n if(dataResult['dataStatus']==true){\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n })\r\n \r\n /* Old Data\r\n if(this.generalForm.valid)\r\n {\r\n let saveRecords:any = {}\r\n let applicantList:any=[];\r\n let applicantRelationList:any=[];\r\n // this for applicant list for selected\r\n answerData.applicant_list.forEach((element,key) => {\r\n if(element.exist_status==1){\r\n applicantList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n }) \r\n }\r\n });\r\n // this is for selected applicant relation \r\n answerData.applicant_relation.forEach((element,key) => {\r\n applicantRelationList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n \"company_name\":element.company_name,\r\n \"company_relationship\":element.company_relationship,\r\n \"applicant_relation_to\":element.applicant_relation_to,\r\n \"relationship\":element.relationship,\r\n }) \r\n });\r\n \r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.general_remark=answerData.general_remark;\r\n saveRecords.selected_applicant=applicantList;\r\n saveRecords.applicant_relation=applicantRelationList;\r\n saveRecords.fk_createdby = this.users;\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n } \r\n })\r\n }*/\r\n }\r\n\r\n getGeneralForm()\r\n {\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n this.data_all=res['records'];\r\n var exist_companies:any;\r\n let companyControl = this.generalForm.get('companies') as FormArray;\r\n companyControl.controls=[]\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.lengthv=this.data_all;\r\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\r\n this.initlistv(this.data_all.individuals,'get')\r\n\r\n /* var arrlist_indi:any=[] \r\n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\r\n return res['records'].individuals[key];\r\n }) \r\n if(exist_individuals.length>0){\r\n exist_individuals.forEach((element)=>{\r\n if(element.is_active != false){\r\n arrlist_indi.push(element);\r\n }\r\n })\r\n }*/\r\n \r\n \r\n \r\n\r\n var arraylis:any=[]\r\n exist_companies=Object.keys(res['records'].companies).map(function(key){\r\n return res['records'].companies[key];\r\n })\r\n if(exist_companies.length>0){\r\n exist_companies.forEach((element,cindex)=>{\r\n if(element.is_active!=false){\r\n arraylis.push(element);\r\n }\r\n else{\r\n this.OldData.push(element);\r\n }\r\n })\r\n \r\n }\r\n this.initCompanyValue(arraylis,'get');\r\n \r\n if(this.data_all.persons_with_relationships != ''){\r\n this.initPersonRelationship(this.data_all.persons_with_relationships);\r\n }\r\n\r\n if(this.data_all.company_with_relationships != ''){\r\n this.initCompanyRelationShip(this.data_all.company_with_relationships);\r\n }\r\n \r\n }\r\n else{\r\n }\r\n })\r\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n let generalDetails = res['records'];\r\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\r\n\r\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\r\n {\r\n return res['records'].applicant_relation[key];\r\n });\r\n\r\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\r\n {\r\n return res['records'].selected_applicant[key].pd_co_applicant_id;\r\n });\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\r\n let checkApplicantExist =actual_applicant.map((id, index) => {\r\n if (selected_applicant.indexOf(id) < 0) {\r\n this.pd_applicants_details[index].exist_status=0;\r\n return this.pd_applicants_details[index];\r\n }\r\n else{\r\n this.pd_applicants_details[index].exist_status=1;\r\n this.pd_applicants_details[index].applicant_relation_to='';\r\n this.pd_applicants_details[index].relation='';\r\n return this.pd_applicants_details[index];\r\n }\r\n }).filter(item => item != undefined);\r\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\r\n }else\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n }\r\n })*/\r\n }\r\n createCompanies(elementValue:any) {\r\n return this.fb.group({\r\n company_order_id: [elementValue.company_order_id],\r\n company_name: [elementValue.company_name,],\r\n company_messrs_name: ['M/s'],\r\n is_company_applicant:[elementValue.is_company_applicant],\r\n business_entity_type :[elementValue.business_entity_type,Validators.required],\r\n business_years: [elementValue.business_years, Validators.required],\r\n business_month: [elementValue.business_month],\r\n business_date_object: [elementValue.business_date_object],\r\n is_active: [elementValue.is_active],\r\n is_new:[elementValue.is_new],\r\n \r\n });\r\n }\r\n \r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-other-applicant',\r\n templateUrl: 'pd-question-general-other-applicant.html',\r\n})\r\nexport class PdQuestionGeneralOtherApplicantPage {\r\n otherForm:FormGroup;\r\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\r\n this.otherForm = this.fb.group(\r\n {\r\n otherName:this.fb.array([]),\r\n })\r\n this.addmore();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\r\n }\r\n\r\n createName(elementValue:any)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name, Validators.required],\r\n })\r\n }\r\n\r\n addmore()\r\n {\r\n if(this.otherForm.valid)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n control.push(this.createName(this.applicantInfo));\r\n }\r\n }\r\n\r\n deleteappdata(index)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n if(control.length==1){\r\n control.reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.viewCtrl.dismiss(1); \r\n }\r\n submitData(answerData)\r\n {\r\n if(this.otherForm.valid){\r\n this.viewCtrl.dismiss(this.otherForm.value);\r\n }\r\n }\r\n\r\n\r\n}\r\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';\r\n\r\n/**\r\n * Generated class for the PdPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'pdPipe',\r\n})\r\nexport class PdPipe implements PipeTransform {\r\n /**\r\n * Takes a value and makes it lowercase.\r\n */\r\n transform(value: any, searchItem:any):any {\r\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\r\n if(findExistIndex.length>0){\r\n let check = value.filter(function(fVal){\r\n return !findExistIndex.some(function(sVal){\r\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\r\n }\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionNeighbourHoodPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-neighbour-hood',\r\n templateUrl: 'pd-question-neighbour-hood.html',\r\n})\r\nexport class PdQuestionNeighbourHoodPage {\r\n\r\n frequency: any;\r\n relationBusiness: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n neighbourhoodForm:FormGroup;\r\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\r\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\r\n {'id': 2,'name': \"Negative\"},\r\n {'id': 3,'name': \"Insufficient information provided\"}];\r\n\r\n amtInWords:any=[];\r\n applicants:any;\r\n isDisplay:any = [];\r\n isDisplay2:any = [];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.neighbourhoodForm = this.fb.group(\r\n {\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n check_type:0,\r\n neighbourhood_list: this.fb.array([]),\r\n neighbourhood_status:[''],\r\n referencecheck_list: this.fb.array([]),\r\n neighbour_reference_remark:'' \r\n })\r\n this.users = this.aws.getlocale();\r\n this.getneighbourhood();\r\n \r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console .log('ionViewDidLoad PdQuestionNeighbourHoodPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n inWords(val,i)\r\n {\r\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n }\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e,flag){\r\n if(flag == 2){\r\n\r\n let year = itemrow.controls.year_relation_applicant.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag == 1){\r\n \r\n let year = itemrow.controls.how_long_do_know_in_year.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\r\n }\r\n}\r\n\r\ntoggleVisibility(e,index,flag){ \r\n let val\r\n \r\n if(flag == 1){\r\n this.isDisplay[index] = e;\r\n }\r\n else if(flag==2){\r\n this.isDisplay2[index] = e;\r\n }\r\n}\r\n\r\ncheckOthers(values){\r\n if(values!=null) {\r\n return values==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n createreferance()\r\n {\r\n return this.fb.group({\r\n reference_name: [null],\r\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n statecode:[null],\r\n landline: [null],\r\n location:[null],\r\n relationship_with:[null],\r\n others:[null],\r\n year_relation_applicant:[null],\r\n months_relation_applicant:[null],\r\n business_volume_amount:[null],\r\n business_volume_unit:[null],\r\n others_unit:[null],\r\n reference_final_remarks:[null],\r\n specify_final_remark:[null]\r\n });\r\n }\r\n addreferance()\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n control.push(this.createreferance());\r\n }\r\n\r\n removereferance(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n createNeighbourhood(){\r\n return this.fb.group({\r\n neighbourhood_name: [null],\r\n do_know: [''],\r\n \r\n how_long_do_know_in_year: [''],\r\n how_long_do_know_in_month:[''],\r\n organisation_owner: [''],\r\n is_applicant_owner:[''],\r\n other_organisation_owner:[''],\r\n did_not_know_the_business_operation:[''],\r\n did_not_know_the_owner:[''],\r\n });\r\n }\r\n\r\n addneighbourhood()\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n control.push(this.createNeighbourhood());\r\n }\r\n\r\n removeneighbourhood(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n submitData(answerData)\r\n {\r\n \r\n \r\n \r\n let saveRecords:any = {}\r\n let referencecheck_list:any=[];\r\n let neighbourhood_list:any=[];\r\n if(answerData.check_type==0){\r\n answerData.neighbourhood_list.forEach((element,key) => {\r\n neighbourhood_list.push({\r\n \"neighbourhood_name\":element.neighbourhood_name,\r\n \"do_know\":element.do_know,\r\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\r\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\r\n \"is_applicant_owner\":element.is_applicant_owner,\r\n \"organisation_owner\":element.organisation_owner,\r\n \"other_organisation_owner\":element.other_organisation_owner,\r\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\r\n \"did_not_know_the_owner\":element.did_not_know_the_owner\r\n }) \r\n });\r\n saveRecords.neighbourhood_list=neighbourhood_list;\r\n \r\n }\r\n else{\r\n // this for referencecheck_list for selected\r\n answerData.referencecheck_list.forEach((element,key) => {\r\n referencecheck_list.push({\r\n \"reference_name\":element.reference_name,\r\n \"mobile\":element.mobile,\r\n \"landline\":element.statecode+'-'+element.landline,\r\n \"location\":element.location,\r\n \"relationship_with\":element.relationship_with,\r\n \"others\":element.others,\r\n \"year_relation_applicant\":element.year_relation_applicant,\r\n \"months_relation_applicant\":element.months_relation_applicant,\r\n \"business_volume_amount\":element.business_volume_amount,\r\n \"business_volume_unit\":element.business_volume_unit,\r\n \"others_unit\":element.others_unit,\r\n \"reference_final_remarks\":element.reference_final_remarks,\r\n \"specify_final_remark\":element.specify_final_remark\r\n }) \r\n });\r\n saveRecords.referencecheck_list=referencecheck_list;\r\n \r\n }\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.check_type=answerData.check_type;\r\n saveRecords.fk_createdby = this.users;\r\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\r\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\r\n\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n \r\n }\r\n\r\n getneighbourhood()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \r\n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let neighbourDetails = res['records'];\r\n // neighbourDetails.neighbourhood_list.=''\r\n \r\n if(neighbourDetails.check_type==0)\r\n {\r\n \r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\r\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\r\n {\r\n return res['records'].neighbourhood_list[key];\r\n });\r\n neighbourhood_list.forEach((element,index)=>\r\n {\r\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\r\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\r\n neicontrol.push(this.createNeighbourhood());\r\n });\r\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\r\n \r\n\r\n }else\r\n {\r\n this.addneighbourhood();\r\n }\r\n if(neighbourDetails.check_type==1)\r\n {\r\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\r\n {\r\n return res['records'].referencecheck_list[key];\r\n });\r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n referencecheck_list.forEach((val,index)=>\r\n {\r\n let statecodesearch = val.landline.search(\"-\");\r\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\r\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\r\n control.push(this.createreferance());\r\n this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\r\n });\r\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\r\n \r\n }else\r\n {\r\n this.addreferance();\r\n }\r\n }else\r\n {\r\n this.addneighbourhood();\r\n this.addreferance();\r\n }\r\n })\r\n }\r\n\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,Validators} from '@angular/forms';\r\n// import { t } from '@angular/core/src/render3';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionFinalRemarkPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-final-remark',\r\n templateUrl: 'pd-question-final-remark.html',\r\n})\r\nexport class PdQuestionFinalRemarkPage {\r\n\r\n m_remarkTypeCustomerBehaviour:any=[];\r\n\r\n users:any;\r\n pdDetails:any;\r\n pdid:any;\r\n FormId:any;\r\n _finalRemarkForm:FormGroup;\r\n m_recommendationList: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=aws.getlocale()\r\n \r\n this._finalRemarkForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId.form_id],\r\n final_custormer_remark_type:[null],\r\n final_other_customer_behaviour:[null],\r\n is_service_provided:[null],\r\n final_form_remarks:[null],\r\n pd_officers_recommendation:[null],\r\n others_pd_officers_recommendation:[''],\r\n enter_reason_for_negative:[''],\r\n enter_reason_for_refer_to_credit:[''],\r\n \r\n })\r\n this.getDropDown();\r\n this.getFinalRemark();\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\r\n \r\n }\r\ngetDropDown(){\r\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\r\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\r\n })\r\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\r\n this.m_recommendationList=res['records']\r\n })\r\n}\r\nRecommendationChange(e){\r\n\r\n if(e==1){\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValue('');\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue('');\r\n }\r\n if(e==2){\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n \r\n this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValue('');\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue('');\r\n\r\n }\r\n if(e==3){\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue('');\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n if(e==4){\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValue('');\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n }\r\n}\r\n\r\n getFinalRemark(){\r\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\r\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\r\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\r\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\r\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\r\n }\r\n })\r\n }\r\n saveFinalRemark(){\r\n if(this._finalRemarkForm.invalid){\r\n return\r\n }\r\n else{\r\n var answerData=this._finalRemarkForm.value\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n this.qustcat.saveForm(answerData).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessGroupPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-group',\r\n templateUrl: 'pd-question-business-group.html',\r\n})\r\nexport class PdQuestionBusinessGroupPage {\r\n \r\n FormId: any;\r\n pdDetails: any = [];\r\n existCompanyList: any = [];\r\n waitLoading:boolean;\r\n\r\n constructor(public navCtrl: NavController, \r\n public navParams: NavParams,\r\n public qustCat:QuestionCategoryProvider){\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.getCompanyListForBusiness();\r\n\r\n }\r\n \r\n /** To Get General Form's Company List */\r\n getCompanyListForBusiness(): void{\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList = data.records.filter(val =>val.is_active);\r\n this.waitLoading = true;\r\n }\r\n else {\r\n this.waitLoading = false;\r\n }\r\n })\r\n }\r\n\r\n /** To Get Related Form Details */\r\n OnSelectBusinessGroupForms(details: any, company: any) {\r\n \r\n this.pdDetails.company_id = company.company_order_id;\r\n this.pdDetails.company_name = company.company_name;\r\n this.pdDetails.business_entity_type = company.business_entity_type;\r\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\r\n this.pdDetails.business_years = company.business_years;\r\n this.pdDetails.business_month = company.business_month;\r\n \r\n if(details.form_id==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n }\r\n if(details.form_id==2){\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==11){\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==13){\r\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==14){\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==15){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==21){\r\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==22){\r\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n\r\n\r\n}\r\n\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { createPipe } from '@angular/compiler/src/core';\r\nimport { elementAt } from 'rxjs/operators';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-info',\r\n templateUrl: 'pd-question-business-info.html',\r\n})\r\nexport class PdQuestionBusinessInfoPage {\r\n stateList:any=[];\r\n users: any;formdetails:any;\r\n FormId: any;\r\n pdDetails: any;\r\n businessForm:FormGroup;\r\n applicants:any=[];\r\n businessEntityTypeList: any ={\r\n business_entity_type_id:String,\r\n business_entity_type_name:String,\r\n sourcsection_labeleName:String\r\n }; \r\n generalExistEntityType:string\r\n generalExistEntityType_other:string;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n pdid:any;\r\n step:number\r\n\r\n relationData: any = [];\r\n industryData: any = [];\r\n activityData: any = [];\r\n relativeNames: any;\r\n companyRelationShipList:any=[]\r\n countryDataList:any=[]\r\n exist_status:any;\r\n \r\n filterCityList : any = [];\r\n errorMessage:any=[];\r\n appxSalaryAmtInwords:any;\r\n titleData:any=[]\r\n personsList:any=[]\r\n \r\n ManufacturingChecked: boolean;\r\n RetailedChecked: boolean;\r\n WholeSalesChecked: boolean;\r\n ServiceChecked: boolean;\r\n ExportFlag: boolean=false;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.getStateCityDet();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n \r\n this.formdetails = this.navParams.get('formDetails');\r\n \r\n this.FormId = this.formdetails.form_id;\r\n this.users = this.aws.getlocale();\r\n \r\n this.applicants=this.pdDetails.applicat_details;\r\n \r\n this.generalExistEntityType=this.pdDetails.business_entity_type\r\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\r\n this.generalExistBusinessYear=this.pdDetails.business_years\r\n this.step=0\r\n \r\n \r\n \r\n // this.initBusinessForm();\r\n // this.getBuisnessDetails();\r\n \r\n this.businessForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId],\r\n company_id: this.pdDetails.company_id,\r\n partners:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n select_business_activity_type:this.fb.array([]),\r\n manufacturing_activity_details:this.fb.array([]),\r\n retail_trading_activity_details:this.fb.array([]),\r\n wholesale_trading_activity_details:this.fb.array([]),\r\n service_provider_activity_details:this.fb.array([]),\r\n others_activity_details:this.fb.array([]),\r\n export_sale_of_total_sales:[''],\r\n //applicant_use_mobile_wallets:[''],\r\n //applicant_use_pos_machines:[''],\r\n seasonality:[''],\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n employees_appx_salary:[''],\r\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n shop_eat_act_cert: [''],\r\n gst_Regn_cert: [''],\r\n //export_import_cert: [''],\r\n // factory_cert: [''],\r\n //practice_cert: [''],\r\n pf_regn: [''],\r\n esic_regn: [''],\r\n other_documents: [''],\r\n documents: this.fb.array([]),\r\n business_remarks:['']\r\n\r\n\r\n\r\n \r\n })\r\n this.getdropdown();\r\n \r\n// this.initBusinessForm();\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\r\n \r\n \r\n \r\n }\r\n getdropdown() {\r\n \r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.relationData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.industryData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.activityData.push(val);\r\n }\r\n })\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\r\n let filterList=data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\r\n this.businessEntityTypeList.business_entity_type_id=filterList[0].business_entity_type_id==1;\r\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\r\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\r\n\r\n\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\r\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n \r\n \r\n \r\n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\r\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\r\n this.titleData=data['records'].filter(val=>val.isactive==1);\r\n })\r\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\r\n if(data.dataStatus){\r\n \r\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\r\n \r\n }\r\n })\r\n \r\n}\r\ngetStateCityDet(){\r\nthis.qustCat.getStateCityDetails().subscribe(data=>{\r\n \r\n\r\n this.stateList=data.records\r\n \r\n this.getDetails();\r\n });\r\n \r\n \r\n}\r\n getDetails(){\r\n \r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = 13\r\n params.company_id = this.pdDetails.company_id;\r\n this.qustCat.retiverForm(params).subscribe(data=>{\r\n let businessVal=data['records']\r\n let constVal: any;\r\n \r\n \r\n const Partnr:any = this.businessForm.controls['partners'];\r\n \r\n const control1:any = this.businessForm.controls['persons_with_relationships'];\r\n \r\n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\r\n \r\n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\r\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\r\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\r\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\r\n const othersControl:any=this.businessForm.controls['others_activity_details'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n //retailControl.push(this.manufactureDetails());\r\n //manufacture_details.push(this.manufactureDetails())\r\n \r\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\r\n //india_sales.push(this.indiaSalesDone())\r\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\r\n // country_sale.push(this.createCountrySale());\r\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\r\n //max_sale_state.push(this.maxSaleState())\r\n\r\n if(data['status']==200){\r\n let DocArray: any;\r\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\r\n return data['records'].partners[key];\r\n })\r\n \r\n if(PartnrArray.length==0){\r\n Partnr.push(this.createPartners())\r\n }\r\n else{\r\n PartnrArray.forEach((datas,key) => {\r\n Partnr.push(this.createPartners());\r\n if(datas.partner_name=='Others') {\r\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\r\n }\r\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\r\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else {\r\n Partnr.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n });\r\n }\r\n if(data['records'].persons_with_relationships){\r\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\r\n return data['records'].persons_with_relationships[key];\r\n })\r\n if(PartnrArray1.length>0){\r\n PartnrArray1.forEach((datas,key)=>{\r\n control1.push(this.createRelationShip());\r\n })\r\n businessVal.persons_with_relationships=PartnrArray1\r\n \r\n }\r\n else{\r\n //control1.push(this.createRelationShip());\r\n businessVal.persons_with_relationships=[]\r\n }\r\n }\r\n else{\r\n businessVal.persons_with_relationships=[]\r\n \r\n }\r\n \r\n\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n businessVal.pdid = this.pdid;\r\n businessVal.formid = 13;\r\n businessVal.company_id = this.pdDetails.company_id;\r\n businessVal.fk_createdby = this.users;\r\n //businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n // businessVal.persons_with_relationships=PartnrArray1\r\n businessVal.documents=DocArray\r\n \r\n if(businessVal.employees_appx_salary){\r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\r\n }\r\n \r\n \r\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\r\n // this.businessForm.setValue(businessVal);\r\n //this.businessForm.value.seasonality\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\r\n let exist_activity_data: any=[];\r\n if(data['records'].select_business_activity_type){\r\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\r\n return data['records'].select_business_activity_type[key].type_of_activity_id;\r\n });\r\n }\r\n \r\n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\r\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\r\n if (exist_activity_data.indexOf(id) < 0) {\r\n activityData[index].exist_status=0;\r\n return activityData[index];\r\n }\r\n else{\r\n activityData[index].exist_status=1;\r\n return activityData[index];\r\n }\r\n }).filter(item => item != undefined);\r\n \r\n if(check_exist_businees_activity.length > 0)\r\n {\r\n check_exist_businees_activity.forEach((val,index) => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\r\n \r\n });\r\n \r\n businessVal.select_business_activity_type=check_exist_businees_activity;\r\n }\r\n // business_activity.push(this.createBusinessActivity())\r\n \r\n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\r\n \r\n if(data['records'].manufacturing_activity_details){\r\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\r\n return data['records'].manufacturing_activity_details[key];\r\n });\r\n if(selectedManufacturing.length>0){\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n \r\n selectedManufacturing.forEach((element,index)=>{\r\n manufacture_details.push(this.manufactureDetails())\r\n if(element.area_of_sale=='Within India'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n })\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n \r\n }\r\n });\r\n businessVal.manufacturing_activity_details=selectedManufacturing;\r\n \r\n \r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n \r\n if(data['records'].retail_trading_activity_details){ \r\n\r\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\r\n return data['records'].retail_trading_activity_details[key];\r\n });\r\n if(selectedRetail.length > 0) {\r\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedRetail.forEach((element,index)=>{\r\n retailControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n });\r\n businessVal.retail_trading_activity_details=selectedRetail;\r\n }\r\n else{\r\n businessVal.retail_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.retail_trading_activity_details=[];\r\n }\r\n \r\n\r\n // update whole sale details\r\n if(data['records'].wholesale_trading_activity_details){ \r\n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\r\n return data['records'].wholesale_trading_activity_details[key];\r\n });\r\n if(selectedWholesale.length > 0) {\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedWholesale.forEach((element,index)=>{\r\n wholesaleControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n \r\n });\r\n businessVal.wholesale_trading_activity_details=selectedWholesale;\r\n }\r\n else{\r\n businessVal.wholesale_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.wholesale_trading_activity_details=[];\r\n\r\n } \r\n \r\n \r\n if(data['records'].service_provider_activity_details){\r\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\r\n return data['records'].service_provider_activity_details[key];\r\n })\r\n if(selectedService.length > 0) {\r\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n \r\n selectedService.forEach((element,index)=>{\r\n \r\n serviceProviderControl.push(this.manufactureDetails());\r\n \r\n if(element.area_of_sale=='Within India'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n \r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n\r\n \r\n }\r\n });\r\n \r\n \r\n businessVal.service_provider_activity_details=selectedService;\r\n \r\n }\r\n else{\r\n businessVal.service_provider_activity_details=[];\r\n \r\n } \r\n }\r\n else {\r\n businessVal.service_provider_activity_details=[];\r\n\r\n }\r\n \r\n if(data['records'].others_activity_details){ \r\n\r\n // update others activity details\r\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\r\n return data['records'].others_activity_details[key];\r\n });\r\n if(selectedOthers.length > 0) {\r\n selectedOthers.forEach((element,index)=>{\r\n othersControl.push(this.createOthersActivity());\r\n });\r\n businessVal.others_activity_details=selectedOthers;\r\n }\r\n else{\r\n businessVal.others_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.others_activity_details=[];\r\n\r\n } \r\n \r\n // dynamically add form group control\r\n if(data['dataStatus']){\r\n \r\n if(data['records'].seasonality.toUpperCase()=='YES'){\r\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\r\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\r\n\r\n } \r\n\r\n // this.businessForm.controls['partners'].setValue(PartnrArray);\r\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\r\n \r\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\r\n \r\n \r\n this.businessForm.setValue(businessVal);\r\n \r\n \r\n }\r\n else{\r\n Partnr.push(this.createPartners());\r\n control1.push(this.createRelationShip())\r\n \r\n //otherDoc.push(this.createDocument());\r\n\r\n // find business activity type businees activity type list\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\r\n if(activityData.length > 0)\r\n {\r\n activityData.forEach(val => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n });\r\n }\r\n\r\n }\r\n})\r\n // change business sessional\r\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\r\n });\r\n \r\n \r\n }\r\n\r\n filterCity(datasource: any,filterid:number) {\r\n \r\n \r\n if(filterid){\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n return filter.length > 0 ? filter[0].cities : [];\r\n }\r\n}\r\n\r\n // filter max sale options\r\n filterMaxSaleState(datasource: any,filterValues:any){\r\n this.filterCityList = filterValues;\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\r\n let setStateFilter: any=[];\r\n setStateFilter = getStateValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n return datasource[findIndex];\r\n });\r\n return setStateFilter.length > 0 ? setStateFilter : [];\r\n }\r\n }\r\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \r\n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\r\n existCities = [].concat.apply([], existCities);\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n \r\n let setCityFilter = filterValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n findIndex = datasource[findIndex].cities;\r\n return findIndex;\r\n });\r\n \r\n let merged = [].concat.apply([], setCityFilter);\r\n \r\n if(merged.length>0){\r\n let check: any = merged.filter(function(fVal){\r\n return existCities.some(function(sVal){\r\n return fVal.city_id==sVal;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n else {\r\n return [];\r\n }\r\n}\r\n\r\n\r\ncheckTotalEmployee(FormData){\r\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\r\n }\r\n checkWithExistBusinessYear(e,i){\r\n if(e > this.generalExistBusinessYear){\r\n this.errorMessage[i] = \"Higher than Business Vintage\";\r\n }\r\n else{\r\n this.errorMessage[i] = '';\r\n }\r\n }\r\n\r\n// businees activity type change event\r\nchangeBusinessActivity(event: any){\r\n \r\n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.controls = [];\r\n manufacturingControl.setValue([]); \r\n \r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n \r\n \r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.controls = [];\r\n retailControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.controls = [];\r\n wholesaleControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.controls = [];\r\n serviceControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.controls = [];\r\n othersControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // check activity type for make dosument sighted filed dynamically\r\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');\r\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');\r\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');\r\n // check activity for extra question make dynamic\r\n \r\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');\r\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');\r\n\r\n if(this.ManufacturingChecked && this.RetailedChecked && this.WholeSalesChecked && this.ServiceChecked){\r\n this.ExportFlag = false;\r\n }\r\n}\r\n\r\n\r\nchangeManufacturingAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n // change retail options\r\n changeRetailAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n// change whole options\r\nchangeWholesaleAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n// change service provider \r\nchangeServiceArea(getDetails: any, getIndex) {\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n\r\nchangePanIndiaOptions(type,selectedIndex,value) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n \r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==3){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==4){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n}\r\n\r\n // update partner group other form control\r\n changePartnerGroup(value,key) {\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\r\n }\r\n\r\n createDesignation(): FormGroup {\r\n return this.fb.group({\r\n sec_name: ['', Validators.compose([Validators.required])],\r\n sec_designation: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n getWorkExperience(event, key) {\r\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\r\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n if(total_experience > current_experience) {\r\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else if(total_experience < current_experience) {\r\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n\r\n else {\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n // let total ;\r\n // if(control.length > 0){\r\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\r\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\r\n // this.businessForm.controls.business_years.updateValueAndValidity();\r\n // }\r\n}\r\nConvertMonthintoYear(itemrow,e){\r\n\r\n let year = itemrow.controls.current_business_experiance_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n\r\n\r\n\r\ncreatePartners(): FormGroup {\r\n return this.fb.group({\r\n partner_name: ['', Validators.compose([Validators.required])],\r\n // partner_other_name:[''],\r\n shareholding:[''],\r\n started_business:[''],\r\n current_business_experiance_year:[''],\r\n current_business_experiance_month:[''],\r\n total_business_experiance:[''],\r\n total_business_previous_experience:['']\r\n /* shareholding: ['', Validators.compose([Validators.required])],\r\n current_business_experiance: ['', Validators.compose([Validators.required])],\r\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\r\n });\r\n}\r\ncreateRelationShip(): FormGroup {\r\n return this.fb.group({\r\n family_member_salutation:[''],\r\n family_member_name:[''],\r\n other_family_relationship_id:[''],\r\n relation_to_id:[''],\r\n relationship_with_company_id:[''],\r\n started_business:['']\r\n });\r\n}\r\ncreateBusinessActivity(details):FormGroup {\r\n return this.fb.group({\r\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\r\n name: [details.name, Validators.compose([Validators.required])],\r\n exist_status:[details.exist_status==1 ? true : false]\r\n });\r\n}\r\ncreateServiceActivity(): FormGroup {\r\n return this.fb.group({\r\n main_products: ['', Validators.compose([Validators.required])],\r\n area_of_sale: ['', Validators.compose([Validators.required])],\r\n description: ['']\r\n });\r\n}\r\ncreateOthersActivity(): FormGroup {\r\n return this.fb.group({\r\n others_details: ['', Validators.compose([Validators.required])]\r\n });\r\n}\r\nmanufactureDetails():FormGroup{\r\n return this.fb.group({\r\n main_products:[''],\r\n area_of_sale:[''],\r\n description:['']\r\n // pan_india_options:[''],\r\n // india_where_sale_done:this.fb.array([]),\r\n //max_sale_state_name:this.fb.array([]),\r\n //countries_where_export_done:this.fb.array([])\r\n })\r\n}\r\nindiaSalesDone():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\nmaxSaleState():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\ncreateDocument() {\r\n return this.fb.group({\r\n document: ['']\r\n });\r\n}\r\naddDesignation() {\r\n const control = this.businessForm.controls['designation'];\r\n control.push(this.createDesignation());\r\n}\r\ndeleteDesignation(index) {\r\n const control = this.businessForm.controls['designation'];\r\n if(control.length==1){\r\n this.businessForm.controls['designation'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddPartnerDetails(event) {\r\n const control = this.businessForm.controls['partners'];\r\n event.stopPropagation()\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createPartners());\r\n}\r\naddPersonRelationship(event){\r\n event.stopPropagation()\r\n const control=this.businessForm.controls['persons_with_relationships']\r\n let length=control.length\r\n this.step=length\r\n control.push(this.createRelationShip());\r\n}\r\ndeletePersonRelationship(index){\r\n const control=this.businessForm.controls['persons_with_relationships'];\r\n control.removeAt(index)\r\n}\r\ndeletePartnerDetails(index) {\r\n const control = this.businessForm.controls['partners'];\r\n if(control.length==1){\r\n this.businessForm.controls['partners'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddMoreManufacturing() {\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n}\r\naddMoreRetail(){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n}\r\naddMoreWholesale() {\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n}\r\ncreateCountrySale() {\r\n return this.fb.group({\r\n country_name: ['',Validators.compose([Validators.required])],\r\n approx_sale: ['', Validators.compose([Validators.required])]\r\n }); \r\n}\r\n\r\naddMoreState(mindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n \r\n\r\n}\r\nremoveState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n\r\naddRetailMoreState(rindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n}\r\nremoveRetailState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n// add more whole sale state\r\naddWholesaleMoreState(windex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n\r\n}\r\n// remove for whole sale\r\nremoveWholesaleState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n // add more service provider\r\n addServiceMoreState(sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n }\r\n addMoreServiceprovider() {\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n addMoreOthersActivity(){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // remove service provider\r\n\r\nremoveServiceState(mindex,sindex,type){\r\n if(type==1){\r\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\r\n control1.removeAt(sindex)\r\n }\r\n}\r\naddDocuments() {\r\n const control = this.businessForm.controls['documents'];\r\n control.push(this.createDocument());\r\n}\r\ndeleteDocuments(index) {\r\n const control = this.businessForm.controls['documents'];\r\n if(control.length==1){\r\n this.businessForm.controls['documents'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\n\r\nrelationChanged(event) {\r\n this.relativeNames = [];\r\n event.value.forEach(option => {\r\n this.relativeNames.push({member: option});\r\n });\r\n}\r\n\r\n public initBusinessForm(): void {\r\n this.businessForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId.form_id,\r\n fk_createdby: this.users,\r\n profession_name: ['', Validators.compose([Validators.required])],\r\n business_years: ['', Validators.compose([Validators.required])],\r\n industry: ['', Validators.compose([Validators.required])],\r\n type_of_activity: ['', Validators.compose([Validators.required])],\r\n seasonality: ['', Validators.compose([Validators.required])],\r\n designation: this.fb.array([]),\r\n partners: this.fb.array([]),\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n officer_permanent: ['', Validators.compose([Validators.required])],\r\n officer_temporary: ['', Validators.compose([Validators.required])],\r\n invested_amount: ['', Validators.compose([Validators.required])],\r\n working_capital: ['', Validators.compose([Validators.required])],\r\n is_service_provided: ['', Validators.compose([Validators.required])],\r\n ownership_setup: ['', Validators.compose([Validators.required])],\r\n ownership_others: [''],\r\n rent_paid: [''],\r\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\r\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\r\n export_import_cert: ['', Validators.compose([Validators.required])],\r\n factory_cert: ['', Validators.compose([Validators.required])],\r\n practice_cert: ['', Validators.compose([Validators.required])],\r\n pf_regn: ['', Validators.compose([Validators.required])],\r\n esic_regn: ['', Validators.compose([Validators.required])],\r\n other_documents: ['', Validators.compose([Validators.required])],\r\n documents: this.fb.array([]),\r\n business_remarks: ['', Validators.compose([Validators.required])],\r\n who_started: ['', Validators.compose([Validators.required])],\r\n main_person: ['', Validators.compose([Validators.required])],\r\n other_main_person: [''],\r\n family_members_involved: ['', Validators.compose([Validators.required])],\r\n before_business: ['', Validators.compose([Validators.required])],\r\n any_delays: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\n\r\nsubmitDetails() {\r\n \r\n let family: any = [];\r\n \r\n let design: any;\r\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\r\n let records:any;\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId;\r\n // records.fk_createdby = this.users;\r\n records=this.businessForm.value;\r\n\r\n //if(records.persons_with_relationships=='')\r\n if (records.other_documents == 'no') {\r\n delete records.documents;\r\n }\r\n if (records.rent_paid == '') {\r\n delete records.rent_paid;\r\n }\r\n if (records.ownership_others == '') {\r\n delete records.ownership_others;\r\n }\r\n // records.family_members_involved = this.relativeNames;\r\n \r\n\r\n let validationFlag : number = 0;\r\n\r\n //type 1: Checking manufacturing_activity_details \r\n if(records.manufacturing_activity_details.length > 0){\r\n\r\n records.manufacturing_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale!= \"Within India\"){ \r\n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n //type 3 checking wholesale_trading_activity_details\r\n if(records.wholesale_trading_activity_details.length > 0){\r\n\r\n records.wholesale_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //type 2 checking retail_trading_activity_details\r\n if(records.retail_trading_activity_details.length > 0){\r\n\r\n records.retail_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n //type 4 checking service_provider_activity_details\r\n if(records.service_provider_activity_details.length > 0){\r\n\r\n records.service_provider_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){\r\n \r\n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //validationFlag is greater then 0 means its display the notifer as warning\r\n if(validationFlag > 0){\r\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\r\n return;\r\n }\r\n\r\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n });\r\n}\r\n getBuisnessDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \r\n this.qustCat.retiverForm(records).subscribe(data => {\r\n let businessVal = data['records'];\r\n \r\n let constVal: any;\r\n const Desgn = this.businessForm.controls['designation'];\r\n const Partnr = this.businessForm.controls['partners'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n\r\n if (data['status'] == 200) {\r\n let DocArray: any;\r\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\r\n return data['records'].designation[key];\r\n });\r\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\r\n return data['records'].partners[key];\r\n });\r\n\r\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\r\n return data['records'].family_members_involved[key];\r\n });\r\n let enduse: any = [];\r\n let existRelative: any =[];\r\n selectedMembers.forEach(val => {\r\n enduse.push(val.member);\r\n existRelative.push(val);\r\n });\r\n this.relativeNames = existRelative;\r\n if (DesgnArray.length == 0) {\r\n Desgn.push(this.createDesignation());\r\n } else {\r\n DesgnArray.forEach(datas => {\r\n Desgn.push(this.createDesignation());\r\n });\r\n \r\n }\r\n if (PartnrArray.length == 0) {\r\n Partnr.push(this.createPartners());\r\n } else {\r\n PartnrArray.forEach(datas => {\r\n Partnr.push(this.createPartners());\r\n });\r\n }\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n if (data['records'].ownership_setup != 'others') {\r\n businessVal.ownership_others = '';\r\n }\r\n if (data['records'].ownership_setup != 'rented') {\r\n businessVal.rent_paid = '';\r\n }\r\n businessVal.family_members_involved = enduse;\r\n businessVal.pdid = this.pdDetails.pd_id;\r\n businessVal.formid = this.FormId.form_id;\r\n businessVal.fk_createdby = this.users;\r\n businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n businessVal.documents = DocArray;\r\n\r\n this.businessForm.setValue(businessVal);\r\n } else {\r\n Desgn.push(this.createDesignation());\r\n Partnr.push(this.createPartners());\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n });\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n}\r\ninWords(e,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n }\r\n }\r\n ManufacturingCounterArray: any = [];\r\nRetailCounterArray: any = [];\r\nWholeSaleCounterArray: any = [];\r\nServiceCounterArray: any = [];\r\n\r\n CheckExport(value,stringFlag,index){\r\n //this.ExportFlag=false\r\n const parentControl = this.businessForm.controls['select_business_activity_type'];\r\n const childControl = parentControl.controls[0];\r\n\r\n\r\n // childControl.forEach((datas,index) => {\r\n \r\n \r\n // // exist_status==true && event.value.type_of_activity_id\r\n\r\n // });\r\n\r\n \r\n\r\n \r\n \r\n if(!this.ManufacturingChecked){\r\n if(stringFlag == 'MActivity' && value != \"Within India\"){\r\n this.ManufacturingCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'MActivity' && value != \"Within India\"){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.RetailedChecked){ \r\n if(stringFlag == 'RActivity' && value != \"Within India\"){\r\n this.RetailCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'RActivity' && value != \"Within India\"){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.WholeSalesChecked){\r\n if(stringFlag == 'WActivity' && value != \"Within India\"){\r\n this.WholeSaleCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'WActivity' && value != \"Within India\"){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n \r\n if(!this.ServiceChecked){\r\n \r\n if(stringFlag == 'SPActivity' && value != \"Within India\")\r\n { \r\n this.ServiceCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'SPActivity' && value != \"Within India\"){\r\n this.ServiceCounterArray[index] = 0;\r\n }\r\n\r\n }else if(stringFlag == 'SPActivity'){\r\n this.ServiceCounterArray[index] = 0;\r\n } \r\n\r\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n\r\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\r\n \r\n\r\n this.ExportFlag = overallCounter > 0 ? true : false ;\r\n\r\n}\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\r\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessAssetsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-assets',\r\n templateUrl: 'pd-question-business-assets.html',\r\n})\r\nexport class PdQuestionBusinessAssetsPage {\r\n currentYear:any=new Date().getFullYear();\r\n\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n\r\n company_id:any;\r\n pdDetails:any;\r\n formDetails : any;\r\n users:any;\r\n _businessAssetsQuesFrom:FormGroup;\r\n m_assets_type:any;\r\n m_propertyType:any;\r\n AssetValueInwords:any=[];\r\n appxMarketAmtInwords:any=[];\r\n RentAmtInwords:any=[]\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any=[]\r\n applicants:any;\r\n data_all:any;\r\n CustSegAbbr: any;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n yearErrorMessage: any;\r\n monthErrorMessage: any;\r\n addressLabel: string;\r\n placeholderName : any = 'Was any business activity seen at the Address Type during PD visit?';\r\n m_address_type:any=[]\r\n pageTitle: string;\r\n main_applicant: any;\r\n lender_applicant_id: any;\r\n subproduct_abbr: any;\r\n customer_segment_abbr: any;\r\n RentAmtInwordsForAddress: any =[];\r\n appxMarketAmtInwordsForAddress: any =[];\r\n isOtherOwnerForAddress : boolean = false;\r\n isOtherOwner: boolean = false;\r\n public m_vehicle_type = [];\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n \r\n \r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users=this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n this.generalExistBusinessYear = this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\r\n this.main_applicant = this.pdDetails.applicant_name;\r\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\r\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n \r\n this.getDetails()\r\n this.getDropDown()\r\n \r\n \r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id;\r\n params.pd_form_id='5'\r\n\r\n this.qustcat.retiverForm(params).subscribe(data => {\r\n if(data['status'] == 200) {\r\n \r\n \r\n this.addressLabel = '';\r\n \r\n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data['records'].address_type)[0];\r\n let address = data['records'].address;\r\n let addressType = data['records'].address_type != 1 ? selectedAddressType.address_type : data['records'].address_type_others;\r\n \r\n this.placeholderName = 'Was any business activity seen at the '+addressType+' during PD visit?';\r\n this.addressLabel = \" : \"+address+' / '+addressType ;\r\n \r\n }\r\n });\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\r\n }\r\n getDropDown(){\r\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\r\n data => {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n })\r\n \r\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\r\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\r\n \r\n })\r\n\r\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\r\n })\r\n\r\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\r\n \r\n }\r\n \r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n })\r\n\r\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\r\n })\r\n \r\n }\r\n apiLoadFinish:boolean=false\r\n getDetails(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id\r\n params.company_id=this.company_id\r\n params.pd_form_id=22\r\n this.qustcat.retiverForm(params).subscribe(res=>{\r\n \r\n if(res['dataStatus']==true){\r\n \r\n //this.data_all=res['records']\r\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\r\n return res['records'].business_assets_details[key]\r\n });\r\n \r\n //this.formLoadData(assestArray)\r\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\r\n if(assestArray.length>0){\r\n for(let val of assestArray){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\r\n }\r\n }*/\r\n this.formLoadData(res['records'])\r\n }\r\n\r\n \r\n else{\r\n this.formLoadData(null);\r\n }\r\n this.apiLoadFinish=true\r\n \r\n \r\n })\r\n //this.formLoadData(null);\r\n \r\n }\r\n \r\n formLoadData(data){\r\n if(data==null){\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n business_assets_for_address: this.fb.array([\r\n this.createBusinessAssetsForAddress()]),\r\n business_assets_details : this.fb.array([\r\n this.initBusinessDetails(),\r\n ]),\r\n business_assets_form_remark:['']\r\n });\r\n \r\n }\r\n else{\r\n \r\n let value=data;\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n business_years:[value.business_years],\r\n business_month:[value.business_month],\r\n business_address_availability:[value.business_address_availability],\r\n business_is_pd_visited:[value.business_is_pd_visited],\r\n business_pd_visited_remark:[value.business_pd_visited_remark],\r\n business_assets_for_address: this.fb.array([]),\r\n business_assets_details : this.fb.array([]),\r\n business_assets_form_remark:[value.business_assets_form_remark || '']\r\n });\r\n if (value.business_address_availability == 'yes') {\r\n \r\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n }\r\n else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n } \r\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n initBusinessDetails(){\r\n return this.fb.group({\r\n business_assets_mode:[''],\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [''],\r\n business_ownership_type:[''],\r\n business_monthly_rented_amt:[''],\r\n business_name_of_the_owner: [],\r\n business_name_of_the_other_owner: [],\r\n business_vintage: [''],\r\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [''],\r\n \r\n })\r\n }\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: ['']\r\n });\r\n }\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n\r\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n addAssetDetails(e) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetails());\r\n \r\n }\r\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n removeAssetsDetails(i: number) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.removeAt(i);\r\n\r\n}\r\n\r\ncreateBusinessAssetsForAddress(): FormGroup {\r\n return this.fb.group({\r\n business_approximate_market_value: [''],\r\n business_ownership_type: [''],\r\n business_monthly_rented_amt: [''],\r\n business_name_of_the_owner: [''],\r\n business_name_of_the_other_owner: [''],\r\n business_vintage: [''],\r\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: ['']\r\n });\r\n}\r\n\r\n selectedAssetsType(e: any, i: any): void {\r\n let val = i;\r\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n arr.controls.splice(0);\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n let val = i;\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n \r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadPropertyWithData(data) { \r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n });\r\n }\r\n load_Four_WeelerWithData(data){\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n })\r\n }\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadDetails:boolean\r\n addBusinessAssetsForAddress(data) {\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n });\r\n if (result.length > 0) {\r\n result.forEach((datas, index) => {\r\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\r\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\r\n let Avaliablity = 1;\r\n \r\n if(datas.business_name_of_the_owner.length > 0){\r\n datas.business_name_of_the_owner.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\r\n });\r\n\r\n for (let val of result) {\r\n let vals = {\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type: val.business_ownership_type,\r\n business_monthly_rented_amt: val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_vintage: val.business_vintage,\r\n business_purchase_year: val.business_purchase_year,\r\n business_emi: val.business_emi\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddressWithData(vals));\r\n }\r\n } else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n }\r\n }\r\n addBusinessAssetsDetailsWithData(supp_data){\r\n var result=Object.keys(supp_data).map(function(key){\r\n return supp_data[key];\r\n })\r\n \r\n if(result.length>0){\r\n result.forEach((datas,index)=>{\r\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\r\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\r\n });\r\n for(let val of result){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type:val.business_ownership_type,\r\n business_monthly_rented_amt:val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\r\n }\r\n \r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n createBusinessAssetsForAddressWithData(data): FormGroup {\r\n return this.fb.group({\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type: [data.business_ownership_type],\r\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\r\n business_vintage: [data.business_vintage],\r\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [data.business_emi]\r\n });\r\n }\r\n\r\n initBusinessDetailsWithdata(data) {\r\n \r\n\r\n let formGroup= this.fb.group({\r\n business_assets_mode: [data.business_assets_mode],\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type : [data.business_ownership_type],\r\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\r\n // relation: [data.relation || ''],\r\n business_vintage: [data. business_vintage],\r\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n // purchase_month: [data.purchase_month],\r\n business_emi: [data.business_emi || ''],\r\n });\r\n return formGroup;\r\n }\r\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\r\n \r\n let val = i;\r\n let data = datas;\r\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n control.controls.splice(0);\r\n\r\n switch (assets_details_mode) {\r\n case '2': {\r\n let business_property_datas : any;\r\n data.forEach((datas,i) => {\r\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 };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadPropertyWithData(business_property_datas));\r\n break;\r\n }\r\n case '3': {\r\n let business_Four_Weeler_datas : any;\r\n data.forEach((datas,i) => {\r\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\r\n break;\r\n }\r\n case '4': {\r\n let equipment_manufacturing_description_datas : any;\r\n data.forEach((datas,i) => {\r\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\r\n break;\r\n }\r\n \r\n case '1': {\r\n let array_datas : any;\r\n data.forEach((datas,i) => {\r\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\r\n array_datas = {\r\n 'any_other_assets': datas.any_other_assets,\r\n // 'any_other_asset_value': datas.any_other_asset_value,\r\n 'any_other_asset_loan': datas.any_other_asset_loan,\r\n };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public paymentModeTextBox: number;\r\n selectedPM(e) {\r\n this.paymentModeTextBox = e.value;\r\n // this.f.supplier_details.controls.get('payment_mode_value');\r\n }\r\n\r\n public freqPurchaseTextBox: number;\r\n selectedFreqPurchase(e) {\r\n this.freqPurchaseTextBox = e.value;\r\n }\r\n \r\n\r\n onSubmit(){\r\n var answerData=this._businessAssetsQuesFrom.value;\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n\r\n this.qustcat.saveForm(answerData).subscribe(result=>{\r\n if(result['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\r\n }\r\n })\r\n \r\n }\r\n // calculate vintage and purchase {}\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 2) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n if (type == 3) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n\r\n // // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n\r\n setRequiredValidation(value, item, flag) {\r\n\r\n if (flag == 1) {\r\n if (value == 'yes') {\r\n this._businessAssetsQuesFrom.controls.business_years.setValidators([Validators.required]);\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.setValidators([Validators.required]);\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n }\r\n else {\r\n this._businessAssetsQuesFrom.controls.business_years.clearValidators();\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.clearValidators();\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n }\r\n this._businessAssetsQuesFrom.controls.business_years.updateValueAndValidity();\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n\r\n\r\n }\r\n // if(flag == 2){\r\n // value==1\r\n // ? item.controls.premises_type_others.setValidators([Validators.required])\r\n // : item.controls.premises_type_others.clearValidators();\r\n // item.controls.premises_type_others.updateValueAndValidity();\r\n // }\r\n if (flag == 3) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwner = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwner = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n\r\n // value == 0\r\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\r\n // : item.controls.business_name_of_the_other_owner.clearValidators();\r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n }\r\n if (flag == 5) {\r\n value == 1\r\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\r\n : item.controls.other_vehicle_type.clearValidators();\r\n item.controls.other_vehicle_type.updateValueAndValidity();\r\n }\r\n if (flag == 6) {\r\n value == 1\r\n ? item.controls.other_property_type.setValidators([Validators.required])\r\n : item.controls.other_property_type.clearValidators();\r\n item.controls.other_property_type.updateValueAndValidity();\r\n\r\n value != ''\r\n ? item.controls.address_of_the_property.setValidators([Validators.required])\r\n : item.controls.address_of_the_property.clearValidators();\r\n item.controls.address_of_the_property.updateValueAndValidity();\r\n }\r\n if (flag == 7) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if(flag == 8){\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n \r\n Avaliablity = option.id;\r\n }\r\n });\r\n // isOtherOwner: boolean = false;\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwnerForAddress = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwnerForAddress = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n \r\n }\r\n\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(e){\r\n\r\n let business_year = this._businessAssetsQuesFrom.controls.business_years.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n let Year = +business_year + +Math.floor(converted_year);\r\n \r\n if(Year > this.generalExistBusinessYear){\r\n this.yearErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\r\n \r\n }\r\n else{\r\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\r\n {\r\n this.monthErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\r\n \r\n }else{\r\n this.monthErrorMessage = '';\r\n this.yearErrorMessage = '';\r\n this._businessAssetsQuesFrom.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n }\r\n\r\n checkWithExistBusinessYear(e){\r\n \r\n if(+e > this.generalExistBusinessYear){\r\n this.yearErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n \r\n }\r\n else{\r\n this.yearErrorMessage = '';\r\n }\r\n }\r\n\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1:\r\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 : \r\n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 3:\r\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 9:\r\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 10:\r\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\n// import { QueryState } from '@angular/core/src/render3/interfaces';\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-banking',\r\n templateUrl: 'pd-question-business-banking.html',\r\n})\r\nexport class PdQuestionBusinessBankingPage {\r\npdDetails:any;\r\nm_btLenderList: any;\r\napplicants: any \r\nsalaryField: boolean;\r\nformDetails: any;\r\nform_id:any;\r\naccountType: any;\r\nusers: any;\r\nbankingForm:FormGroup;\r\npublic pd_cus_segment:string\r\ncompany_id:any;\r\n\r\npdid:any;\r\nitemRows:FormArray;\r\n\r\nexistCompanyList: any=[];\r\nmergeCompanyApplicant: any=[];\r\nstep:number\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n limitCaseFlag: any=[];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails')\r\n \r\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\r\n this.pdid=this.pdDetails.pd_id;\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id=this.pdDetails.company_id\r\n \r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n\r\n this.users = this.aws.getlocale();\r\n this.step=0\r\n this.bankingForm = this.fb.group(\r\n {\r\n itemRows:this.fb.array([]),\r\n banking_form_remark:[''],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\r\n }\r\n getdropdown(){\r\n \r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n \r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n /** Amount InWords */\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setRequiredValidation(value,item,flag) {\r\n \r\n \r\n if(flag == 1){\r\n value==0\r\n ? item.controls.other_applicant.setValidators([Validators.required])\r\n : item.controls.other_applicant.clearValidators();\r\n item.controls.other_applicant.updateValueAndValidity();\r\n }\r\n if(flag == 2){\r\n value==1\r\n ? item.controls.other_bank.setValidators([Validators.required])\r\n : item.controls.other_bank.clearValidators();\r\n item.controls.other_bank.updateValueAndValidity();\r\n }\r\n \r\n }\r\n\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n \r\n bank_name: [''],\r\n \r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n addBankDetails(index,event) {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n event.stopPropagation()\r\n const control = this.bankingForm.controls['itemRows'];\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\r\n \r\n this.itemRows.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n const control = this.bankingForm.controls['itemRows'];\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else\r\n \r\n \r\n control.removeAt(i);\r\n }\r\n \r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n retiveBankDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\r\n const control = this.bankingForm.controls['itemRows'];\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n \r\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n \r\n \r\n if(result.length == 0){\r\n \r\n control.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n result.forEach((datas,index)=>\r\n {\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n if(datas.limit != ''){\r\n \r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n }\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n control.push(this.createBankItem(''));\r\n })\r\n \r\n this.bankingForm.controls['itemRows'].setValue(result);\r\n } \r\n }else\r\n {\r\n \r\n control.push(this.createBankItem(''));\r\n }\r\n });\r\n \r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.form_id;\r\n records.fk_createdby = this.users;\r\n records.company_id=this.company_id;\r\n records.banking_details = answerData.itemRows;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n })\r\n \r\n }\r\n \r\n\r\n \r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdGeneralImagesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-general-images',\r\n templateUrl: 'pd-general-images.html',\r\n})\r\nexport class PdGeneralImagesPage {\r\n\r\n cameraArr:any = [];\r\n applicatentDetails: any;\r\n count:any = 0;\r\n saveAccess:boolean =false;\r\n FormId:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdGeneralImagesPage');\r\n }\r\n \r\n takePicture()\r\n {\r\n this.camera.getpicture().then(image=>\r\n {\r\n this.count = this.count+1;\r\n \r\n this.cameraArr.push({'image':image,'name':''});\r\n });\r\n }\r\n\r\n removeimage(i)\r\n {\r\n this.count = this.count - 1; \r\n this.cameraArr.splice(i,1);\r\n }\r\n\r\n docnames(doc,i,img)\r\n {\r\n \r\n this.cameraArr[i] = {'image':img,'Name':doc};\r\n // console.log(JSON.stringify(this.pddocdata)); \r\n }\r\n savePDImages()\r\n {\r\n \r\n this.saveAccess = true;\r\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\r\n records.images = this.cameraArr;\r\n this.qustCat.savePDImages(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.saveAccess = false;\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } \r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\r\n/*\r\n Generated class for the DatabaseProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class DatabaseProvider {\r\n database:SQLiteObject;\r\n constructor(public http: HttpClient,public sql:SQLite) {\r\n console.log('Hello DatabaseProvider Provider');\r\n this.createnewdb();\r\n }\r\n\r\n createnewdb()\r\n {\r\n // alert('function in');\r\n this.sql.create(\r\n {\r\n name:'sinnedge',\r\n location:'defalut',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \r\n {\r\n // alert('db create');\r\n this.getuserDetails();\r\n })\r\n .catch(e => console.log(e));\r\n })\r\n }\r\n getuserDetails()\r\n {\r\n // alert('getusers');\r\n this.sql.create(\r\n {\r\n name:'sineedge',\r\n location:'default',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\r\n {\r\n console.log(res);\r\n })\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the PasswordPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-password',\r\n templateUrl: 'password.html',\r\n})\r\nexport class PasswordPage {\r\n commonImage: string;\r\n newpassword: any;\r\n confirmPassword: any;\r\n pin:any;\r\n Username:any;\r\n Password:any;\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.Username = this.navParams.get('Username');\r\n this.Password = this.navParams.get('Password');\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PasswordPage');\r\n }\r\n setNewPassword(newpass)\r\n {\r\n if(newpass !='' && newpass !=null && newpass !== undefined){\r\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\r\n console.log(auth);\r\n this.aws.dologin(auth).subscribe(res => {\r\n console.log(res);\r\n this.navCtrl.setRoot(PdListPage);\r\n // this.router.navigate(['/home']);\r\n }, err => {\r\n this.toast.pdTriggerappmessage(err.message);\r\n // alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the new Password');\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\n\r\nimport { LoadingProvider } from '../../providers/common-provider/loading';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the AuthPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n \r\n\r\n@Component({\r\n selector: 'page-auth',\r\n templateUrl: 'auth.html',\r\n})\r\nexport class AuthPage {\r\n pinAccess: any;\r\n newpindetails: any;\r\n userDetails: any;\r\npin:any;\r\n mpinaccess:boolean =false;\r\n newpassword:any;\r\n ConfirmPassword:any;\r\n commonImage:any;\r\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) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.shared.refresh();\r\n this.getuserDetails();\r\n \r\n\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad AuthPage');\r\n }\r\n ionViewDidEnter(){\r\n this.Menu.enable(false);\r\n }\r\n ionViewWillLeave(){\r\n this.Menu.enable(true);\r\n }\r\n getuserDetails()\r\n {\r\n this.loadingCtrl.pdloader('loading...');\r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.loadingCtrl.loading.dismiss();\r\n this.userDetails = this.userDetails.records;\r\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\r\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\r\n if(this.userDetails[0].mpin ==null)\r\n {\r\n \r\n this.mpinaccess = true;\r\n \r\n }else\r\n {\r\n this.mpinaccess = false;\r\n }\r\n }else{\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n }else{\r\n this.toast.pdTriggerappmessage('')\r\n }\r\n //console.log(this.mpinaccess);\r\n });\r\n }\r\n setnewpin(newpin)\r\n {\r\n console.log(\"set Pin\")\r\n this.aws.userpinupdate(newpin).subscribe(res=>\r\n {\r\n this.newpindetails = res;\r\n if(this.newpindetails.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n /**Finger print */\r\n \r\n checkpin(pin) {\r\n console.log(\"Check pin\",pin);\r\n if(pin !='' && pin !=null)\r\n {\r\n if(this.userDetails[0].mpin == pin)\r\n {\r\n console.log(\"Entering List page\")\r\n this.navCtrl.setRoot(PdListPage);\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\r\n }\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The PIN');\r\n }\r\n\r\n \r\n \r\n }\r\n checkfingerprint()\r\n {\r\n console.log(\"Check Finger\");\r\n this.faio.show({\r\n clientId: 'Fingerprint-Demo',\r\n clientSecret: 'password', // Only Android\r\n localizedFallbackTitle: 'Use Pin', // Only iOS\r\n localizedReason: 'Please authenticate',\r\n disableBackup:true,\r\n })\r\n .then((result: any) => {\r\n this.navCtrl.setRoot(PdListPage);\r\n })\r\n .catch((error: any) => {\r\n this.toast.pdTriggerappmessage('err: '+ error);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadingController } from 'ionic-angular';\r\n/*\r\n Generated class for the LoadingProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class LoadingProvider {\r\n\r\n loading: any;\r\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\r\n console.log('Hello LoadingProvider Provider');\r\n }\r\n\r\n pdloader(content)\r\n {\r\n this.loading = this.loadingCtrl.create({\r\n content: content\r\n });\r\n\r\n this.loading.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\n\r\nimport { MyApp } from './app.component';\r\n\r\n\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { SQLite } from '@ionic-native/sqlite';\r\nimport { DatabaseProvider } from '../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthGuard } from '../providers/_guard/auth.guard';\r\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { ConstantsProvider } from '../providers/constants/constants';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\r\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\r\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\r\nimport { InputPage } from '../pages/input/input';\r\nimport { ToastProvider } from '../providers/common-provider/toast';\r\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\n\r\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\r\nimport { OtpPage } from '../pages/otp/otp';\r\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\r\n\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\r\nimport { CameraProvider } from '../providers/common-provider/camera';\r\nimport { LoadingProvider } from '../providers/common-provider/loading';\r\nimport { Camera } from '@ionic-native/camera';\r\n\r\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\r\n\r\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\r\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { Geolocation } from '@ionic-native/geolocation';\r\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { DatePicker } from '@ionic-native/date-picker';\r\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\r\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\r\n\r\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\r\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport { PdPipe } from '../pipes/pd/pd';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\r\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\r\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n ],\r\n imports: [\r\n BrowserModule,ReactiveFormsModule,FormsModule,\r\n IonicModule.forRoot(MyApp),\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,HttpClientModule,IonicImageViewerModule\r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n \r\n ],\r\n providers: [\r\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\r\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\r\n {\r\n provide:HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: IonicErrorHandler\r\n },LaunchNavigator,\r\n AwsServiceProvider,\r\n QuestionCategoryProvider,\r\n CameraProvider,Camera,\r\n PdPipe,\r\n LoadingProvider,Geolocation,\r\n DatabaseProvider\r\n ]\r\n})\r\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { Nav, Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { MethodCall } from '@angular/compiler';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { AuthPage } from '../pages/auth/auth';\r\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n userDetails: any;\r\n userAccess:boolean = false;\r\n @ViewChild(Nav) nav: Nav;\r\n\r\n rootPage: any = LoginPage;\r\n\r\n pages: Array<{title: string,icon:any, method: any}>;\r\n\r\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider) {\r\n this.initializeApp();\r\n\r\n // used for an example of ngFor and navigation\r\n this.pages = [ \r\n // { title: 'Home', component: HomePage, icon: 'home' },\r\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\r\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\r\n ];\r\n\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n // Okay, so the platform is ready and our plugins are available.\r\n // Here you can do any higher level native things you might need.\r\n this.statusBar.styleDefault();\r\n if (this.platform.is('android')) {\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n \r\n }\r\n this.splashScreen.hide();\r\n\r\n this.shared.getAccessToken().then(()=>{\r\n this.getuserDetails();\r\n this.rootPage = AuthPage\r\n }).catch(()=>{\r\n setTimeout(() => {\r\n this.rootPage = LoginPage;\r\n }, 1000);\r\n });\r\n })\r\n }\r\n\r\n \r\n getuserDetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.userAccess = true;\r\n this.userDetails = this.userDetails.records[0];\r\n \r\n }\r\n \r\n });\r\n }\r\n menulist(id){\r\n //alert();\r\n switch(id)\r\n {\r\n case 1:\r\n this.nav.setRoot(PdListPage);\r\n break;\r\n case 2:\r\n this.AWS.logout().subscribe(()=>{\r\n \r\n this.nav.setRoot(LoginPage);\r\n });\r\n break;\r\n case 3:\r\n break;\r\n case 4:\r\n break;\r\n}\r\n}\r\n logout()\r\n {\r\n // this.aws.logout();\r\n this.nav.setRoot(LoginPage);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\r\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n \r\n constructor() { \r\n\r\n \r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // // if (this.shared.getToken()) {\r\n // alert(\"if\");\r\n // // this.router.navigate(['']);\r\n // return true\r\n // } else {\r\n // alert(\"else\");\r\n // this.router.navigate(['/login']);\r\n // return false;\r\n // }\r\n // }\r\n getlogin(){\r\n // if (this.shared.getToken()) {\r\n // // alert(\"if\");\r\n // //alert();\r\n // return true;\r\n // } else {\r\n // // alert(\"else\");\r\n \r\n // //this.myGlobalServiceNav.setRoot(LoginPage);\r\n // this.shared.isloggin = false;\r\n // return false;\r\n \r\n \r\n // }\r\n }\r\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n \r\n \r\n // }\r\n\r\n // public getToken(): string {\r\n // return localStorage.getItem('token');\r\n // }\r\n\r\n // public logOut() {\r\n // localStorage.clear();\r\n // if(localStorage.getItem('token') === null){\r\n // this.router.navigate(['/login']);\r\n // }\r\n // }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\n// import { AuthGuard } from './auth.guard';\r\nimport { Observable, of} from 'rxjs';\r\n\r\n// import { Router } from '@angular/router';\r\n\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor{\r\n constructor(public shared:CognitoServiceProvider ) {\r\n \r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // request = request.clone({\r\n // setHeaders: {\r\n // Authorization: `${this.auth.getToken()}`\r\n // }\r\n // });\r\n let token:any;\r\n this.shared.refresh();\r\n token = this.shared.getToken() || null;\r\n \r\n token = token.getIdToken().getJwtToken();\r\n \r\n //console.log(token);\r\n let requests = request.clone({\r\n headers:new HttpHeaders({\r\n \r\n 'Authorization': 'sparqvenba2018',\r\n 'Token':token,\r\n 'From':'1',\r\n \r\n \r\n }) \r\n \r\n });\r\n \r\n return next.handle(requests).pipe(\r\n catchError(this.handleError('role', []))\r\n )\r\n }\r\n\r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n if(error instanceof HttpErrorResponse){\r\n console.error(\"Error: \" + error.status);\r\n if(error.status == 401){\r\n localStorage.clear();\r\n // this.router.navigate(['/authentication/login']);\r\n }\r\n return of(result as T);\r\n }\r\n };\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\r\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the GoogleplaytabPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-googleplaytab',\r\n templateUrl: 'googleplaytab.html',\r\n})\r\nexport class GoogleplaytabPage {\r\n\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= true;\r\n isLeft:boolean= true;\r\n tabs:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\r\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n \r\n}\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n\r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n\r\n this.isLeft=false;\r\n this.isRight=false;\r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n \r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the PdAllocationPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-allocation',\r\n templateUrl: 'pd-allocation.html',\r\n})\r\nexport class PdAllocationPage {\r\npdFullDetails:any = [];\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n \r\n this.pdFullDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdFullDetails);\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdAllocationPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PdListPage } from '../../pd-list/pd-list';\r\n\r\n/**\r\n * Generated class for the BouncedRejectPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-bounced-reject',\r\n templateUrl: 'bounced-reject.html',\r\n})\r\nexport class BouncedRejectPage {\r\n\r\n users: any;\r\n bounseMaster: any;\r\n pdDetails: any;\r\n status: any;\r\n bounce_reason:any;\r\n bounce_reason_others:any = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('appdetails');\r\n this.status = this.navParams.get('status');\r\n this.users = this.aws.getlocale();\r\n this.getDropdown();\r\n \r\n }\r\n\r\n getDropdown()\r\n {\r\n \r\n \r\n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\r\n console.log(this.bounseMaster);\r\n }\r\n })\r\n \r\n }\r\n updatePDStatus()\r\n {\r\n if(this.bounce_reason !=null)\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business',\r\n templateUrl: 'pd-question-business.html',\r\n})\r\nexport class PdQuestionBusinessPage {\r\n pdDetails:any;\r\n pdid:any;\r\n users:any;\r\n FormId:any;\r\n existCompanyList:any=[]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=this.aws.getlocale\r\n\r\n this.getDropDown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\r\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\r\n console.log(this.existCompanyList);\r\n })\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionSalaryInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-salary-info',\r\n templateUrl: 'pd-question-salary-info.html',\r\n})\r\nexport class PdQuestionSalaryInfoPage {\r\n\r\n salaryDetails:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.salaryDetails = this.fb.group(\r\n {\r\n gross:[null],\r\n netTakeHome:[null],\r\n bounsIncentive:[null],\r\n salaryDate:[null],\r\n anydelays:[null], \r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\r\n }\r\n\r\n}\r\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';\r\n\r\n// import { CanActivateChild, Router } from '@angular/router';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\n\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { BehaviorSubject,Observable,of } from 'rxjs';\r\n\r\nconst sineedge_poolData = { \r\n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\r\n};\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"\",\r\n ClientId: \"\"\r\n}\r\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"\";\r\n// serviceProvider\r\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\r\n// const apiurl = \"http://localhost/sparqapi/api/\";\r\n\r\n@Injectable()\r\n\r\nexport class CognitoServiceProvider {\r\n public loggedIn :boolean = false;\r\n // public static _REGION = environment.region;\r\n\r\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\r\n // public static _USER_POOL_ID = environment.UserPoolId;\r\n // public static _CLIENT_ID = environment.ClientId;\r\n\r\n // public static _POOL_DATA: any = {\r\n // UserPoolId: CognitoService._USER_POOL_ID,\r\n // ClientId: CognitoService._CLIENT_ID\r\n // };\r\n \r\n\r\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\r\nisloggin:boolean = false; \r\n\r\n\r\n \r\n\r\n \r\n constructor() { \r\n \r\n }\r\n getCurrentUser() {\r\n \r\n return sineedgedevUserpool.getCurrentUser();\r\n}\r\n get isLoggedIn() {\r\n if(sineedgedevUserpool.getCurrentUser() !=null){\r\n this.loggedIn = true;\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n return this.loggedIn; // {2}\r\n }\r\n \r\nrefresh() {\r\n let tokenexp:boolean;\r\n \r\n if(this.getCurrentUser() !=null){\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n }\r\n\r\n else {\r\n if (session.isValid()) {\r\n tokenexp = session.isValid();\r\n of(tokenexp)\r\n console.log(\"CognitoUtil: refreshed successfully\");\r\n \r\n } else {\r\n tokenexp = session.isValid();\r\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\r\n \r\n }\r\n }\r\n \r\n return tokenexp;\r\n \r\n });\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n}\r\ngetAccessToken(){\r\n this.refresh();\r\n return new Promise((resolve, reject) => {\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n //console.log(JSON.stringify(this.getCurrentUser()));\r\n // console.log('76 if');\r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n jwttoken ='';\r\n // console.log('81 if')\r\n reject(err);\r\n }\r\n else {\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n resolve();\r\n } else {\r\n \r\n }\r\n }\r\n });\r\n }\r\n else {\r\n //console.log(\"else\");\r\n reject();\r\n }\r\n});\r\n}\r\n\r\ngetToken():any {\r\n let isloggin = false;\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n isloggin = false;\r\n //console.log('81 if')\r\n }\r\n else {\r\n //alert('function else');\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n isloggin = true;\r\n } else {\r\n \r\n isloggin = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // console.log(\"else\");\r\n isloggin = false;\r\n }\r\n return jwttoken;\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n\r\n\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { CognitoServiceProvider } from './cognito.service';\r\nimport { ConstantsProvider } from '../constants/constants';\r\nimport { UrlResolver } from '@angular/compiler';\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"ap-south-1_K57yPaWxV\",\r\n ClientId: \"\"\r\n}\r\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\r\n\r\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Injectable()\r\nexport class AwsServiceProvider {\r\napiurl:any;\r\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\r\n this.apiurl = con.apiurl();\r\n }\r\n\r\n dologin(authenticationData) {\r\n // alert();\r\n //(authenticationData);\r\n const authenticationDetails = new AuthenticationDetails(authenticationData);\r\n let Newpassword = authenticationData.newpassword;\r\n let attributesData = [];\r\n const userData = {\r\n Username: authenticationData.Username, // User email id\r\n Pool: sineedgedevUserpool // user Pool ID\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observer => {\r\n cognitoUser.authenticateUser(authenticationDetails, {\r\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \r\n cognitoUser.completeNewPasswordChallenge(\r\n Newpassword,\r\n attributesData,\r\n {\r\n onSuccess: function (result) {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n onFailure: function (err) {\r\n //(err);\r\n observer.error(err);\r\n //LoginComponent.prototype.open();\r\n }\r\n }\r\n );\r\n },\r\n onSuccess: function (result) { // success user login\r\n // let accessToken = result.getAccessToken().getJwtToken();\r\n ////(result);\r\n //window.localStorage.setItem('Currentuser', '1');\r\n observer.next(result);\r\n observer.complete();\r\n this.shared.isloggin = true;\r\n },\r\n onFailure: function (err) { // error user login\r\n\r\n //alert(err.message);\r\n observer.error(err);\r\n }\r\n });\r\n });\r\n }\r\n userforgotpass(auth) {\r\n ////(auth);\r\n const userData = {\r\n Username: auth.Username,\r\n Pool: sineedgedevUserpool\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observe => {\r\n cognitoUser.forgotPassword({\r\n onSuccess: function (data) {\r\n // successfully initiated reset password request\r\n //('CodeDeliveryData from forgotPassword: ' + data);\r\n observe.next(data);\r\n },\r\n onFailure: function (err) {\r\n alert(err.message || JSON.stringify(err));\r\n },\r\n //Optional automatic callback\r\n inputVerificationCode: function (data) {\r\n //('Code sent to: ' + data);\r\n var verificationCode = prompt('Please input verification code ', '');\r\n var newPassword = prompt('Enter new password ', '');\r\n cognitoUser.confirmPassword(verificationCode, newPassword, {\r\n onSuccess() {\r\n //('Password confirmed!');\r\n },\r\n onFailure(err) {\r\n //('Password not confirmed!');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n /**\r\n * End of the function \r\n */\r\n\r\n /**\r\n * Logout function\r\n */\r\n logout(){\r\n \r\n return Observable.create(observe=>{\r\n this.shared.getCurrentUser().signOut(); \r\n \r\n observe.next();\r\n \r\n observe.complete();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Config function\r\n */\r\n // getconfig() {\r\n // let session:any = this.shared.getAccessToken() || \"\";\r\n \r\n // let config = \"\";\r\n // config += AWS.config.region = \"ap-south-1\";\r\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\r\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\r\n // Logins: {\r\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\r\n // .getIdToken()\r\n // .getJwtToken()\r\n // }\r\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\r\n // });\r\n // return config;\r\n // }\r\n\r\n getlocale(){\r\n let session:any = this.shared.getToken() || null;\r\n let userid = session.idToken.payload.locale;\r\n return userid;\r\n }\r\n getuserprofile(userid)\r\n {\r\n \r\n \r\n // alert();\r\n \r\n //console.log(cogusers.idToken.payload.locale);\r\n let roles = {'userid':userid}; \r\n \r\n \r\n // let request = new RequestOptions({headers:headers});\r\n return this.http.post(this.apiurl+'getUsersDetails',roles);\r\n \r\n }\r\n\r\n userpinupdate(pin)\r\n {\r\n let userid = this.getlocale(); \r\n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\r\n let formdata = new FormData();\r\n \r\n formdata.append('records',JSON.stringify(records));\r\n return this.http.post(this.apiurl+'updateExistUser',formdata);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { InputPage } from '../input/input';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { parseDate } from 'ionic-angular/util/datetime-util';\r\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\r\nimport { OtpPage } from '../otp/otp';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { DatabaseProvider } from '../../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n/**\r\n * Generated class for the PdListPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-list',\r\n templateUrl: 'pd-list.html',\r\n})\r\nexport class PdListPage {\r\n\r\n searchinprogress: any;\r\n searchpast: any;\r\n pdschduleDetails: any;\r\n bgColorPast: any = [];\r\n bgColor: any = [];\r\n pdinprogress: any=[];\r\n pdlistdetails: any=[];\r\n viewchange: boolean;\r\n pdlist:any = \"inpro\";\r\n pdlistaccess:boolean = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\r\n //this.getlenderpddetails(); \r\n // this.getpdTriggerdetails();\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n \r\n console.log('ionViewDidLoad PdListPage');\r\n this.db.getuserDetails();\r\n this.setpermission();\r\n }\r\n ionViewCanEnter()\r\n {\r\n console.log(\"Pd list ionViewCanEnter\")\r\n this.getpdTriggerdetails();\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n this.pdinprogress = this.pdinprogress;\r\n this.pdschduleDetails = this.pdschduleDetails;\r\n }\r\n \r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n \r\n this.pdinprogress = this.searchinprogress;\r\n this.pdschduleDetails = this.searchpast;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n \r\n if(this.pdlist == \"inpro\"){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n this.pdinprogress = this.searchinprogress.filter((v) => {\r\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) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n \r\n return ;\r\n }else{\r\n this.pdschduleDetails = this.searchpast.filter((v) => {\r\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\r\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) {\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n })\r\n }\r\n \r\n}\r\n}\r\n newpage(){\r\n this.navCtrl.push(InputPage);\r\n }\r\n getpdTriggerdetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n //.log(\"User\",userid)\r\n\r\n this.pdofficer.getpddetails(userid).subscribe(res=>\r\n {\r\n this.pdlistdetails = res;\r\n if(this.pdlistdetails.dataStatus == true)\r\n {\r\n \r\n \r\n this.pdlistaccess = true;\r\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);\r\n this.searchpast = this.pdschduleDetails;\r\n \r\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\r\n this.searchinprogress = this.pdinprogress;\r\n \r\n this.random_bg_color();\r\n this.random_ng_past();\r\n }else\r\n {\r\n this.pdlistaccess = false;\r\n this.pdlistdetails = \"No Records Found\";\r\n }\r\n })\r\n }\r\n\r\n random_bg_color() {\r\n for(let id of this.pdinprogress){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n \r\n return this.bgColor;\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.pdschduleDetails){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n doRefresh(refresher) {\r\n this.bgColor = [];\r\n this.pdschduleDetails = [];\r\n this.pdinprogress = [];\r\n \r\n this.shared.refresh();\r\n this.getpdTriggerdetails();\r\n setTimeout(() => {\r\n \r\n refresher.complete();\r\n }, 2000);\r\n }\r\n \r\n PdAllocation(pddetails)\r\n {\r\n \r\n if(pddetails.pd_status == 'STARTED')\r\n {\r\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\r\n }else if(pddetails.pd_status == 'INPROGRESS'){\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':pddetails});\r\n }else{\r\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\r\n }\r\n }\r\n\r\n setpermission()\r\n {\r\n // let permission = this.androidPermissions.PERMISSION; \r\n // let premission_list = [\r\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\r\n // permission.CAMERA,\r\n\r\n\r\n // ];\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {ConstantsProvider} from '../constants/constants';\r\n\r\n/*\r\n Generated class for the PdtriggerProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\r\n@Injectable()\r\nexport class PdtriggerProvider {\r\n apiurl:any;\r\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\r\n this.apiurl = constants.apiurl();\r\n console.log('Hello PdtriggerProvider Provider');\r\n }\r\n\r\n \r\n\r\n /**get dropdonw list */\r\n\r\n /**Get list of PD Trigger */\r\n\r\n getpddetails(userid)\r\n { \r\n console.log(userid);\r\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\r\n }\r\n\r\n getFullPDdetails(pdid)\r\n {\r\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\r\n }\r\n\r\n updatepdStatus(dataStatus)\r\n {\r\n let records = {'records':dataStatus};\r\n return this.http.post(this.apiurl+'updatePDMaster',records);\r\n }\r\n\r\n saveCurrentLocation(data)\r\n {\r\n let records = {'records':data};\r\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\r\n }\r\n\r\n checkotp(otpDetails)\r\n {\r\n let records = {'records':otpDetails};\r\n return this.http.post(this.apiurl+'checkOTP',records); \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Toast, ToastController } from 'ionic-angular';\r\n\r\n/*\r\n Generated class for the ToastProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ToastProvider {\r\n\r\n constructor(public http: HttpClient,public toast:ToastController) {\r\n console.log('Hello ToastProvider Provider');\r\n }\r\n pdTriggerappmessage(mess){\r\n let valalert = this.toast.create({\r\n message:mess, \r\n duration: 3000, \r\n position: 'bottom',\r\n dismissOnPageChange: true,\r\n });\r\n\r\n valalert.present();\r\n} \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/src/pages/otp/otp.ts b/src/pages/otp/otp.ts index f4e6e1d8..7c2ab32b 100755 --- a/src/pages/otp/otp.ts +++ b/src/pages/otp/otp.ts @@ -73,7 +73,7 @@ export class OtpPage { } checkotp(otp) { - let data = {'pd_id':this.applicatentDetails.pd_id,'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) @@ -152,7 +152,7 @@ export class OtpPage { console.log(this.reasonForm.value); if(this.reasonForm.valid) { - let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason}; + let 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(res=> { this.otpStatus = res; diff --git a/src/pages/pd-list/pd-list.ts b/src/pages/pd-list/pd-list.ts index bd72f328..79f19065 100755 --- a/src/pages/pd-list/pd-list.ts +++ b/src/pages/pd-list/pd-list.ts @@ -37,7 +37,7 @@ export class PdListPage { constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) { //this.getlenderpddetails(); // this.getpdTriggerdetails(); - console.log("Entered") + } ionViewDidLoad() { @@ -63,7 +63,7 @@ export class PdListPage { //alert(this.viewchange); } pdlistsearch(searchbar) { - console.log(searchbar); + this.pdinprogress = this.searchinprogress; this.pdschduleDetails = this.searchpast; // reset countries list with initial call @@ -87,8 +87,7 @@ export class PdListPage { }else { if (q.trim() == '') { - console.log(q.trim()); - console.log(this.pdlistdetails); + return ; }else{ this.pdschduleDetails = this.searchpast.filter((v) => { @@ -111,21 +110,22 @@ export class PdListPage { { let userid = this.aws.getlocale(); - console.log("User",userid) + //.log("User",userid) this.pdofficer.getpddetails(userid).subscribe(res=> { this.pdlistdetails = res; if(this.pdlistdetails.dataStatus == true) { - console.log(this.pdlistdetails); + + this.pdlistaccess = true; 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); this.searchpast = this.pdschduleDetails; - // console.log(65,this.pdlistdetails.records.filter(sch=>sch.pd_status =="STARTED" || sch.pd_status == "INPROGRESS" || sch.pd_status =="ACCEPTED" || sch.pd_status =="SCHEDULED" && sch.pd_status =="INITIATED" || sch.pd_status =="STARTED")); + this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == "ALLOCATED"); this.searchinprogress = this.pdinprogress; - console.log(this.pdinprogress); + this.random_bg_color(); this.random_ng_past(); }else @@ -161,11 +161,11 @@ export class PdListPage { this.bgColor = []; this.pdschduleDetails = []; this.pdinprogress = []; - console.log('Begin async operation', refresher); + this.shared.refresh(); this.getpdTriggerdetails(); setTimeout(() => { - console.log('Async operation has ended'); + refresher.complete(); }, 2000); } diff --git a/src/pages/pd-question-category/pd-question-category.ts b/src/pages/pd-question-category/pd-question-category.ts index 7aecfc55..a8f4de35 100644 --- a/src/pages/pd-question-category/pd-question-category.ts +++ b/src/pages/pd-question-category/pd-question-category.ts @@ -65,7 +65,6 @@ completedAccess:any; searchitem:any; constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) { this.pddetails = this.navParams.get('pdDetails'); - console.log("Pd",this.pddetails); } @@ -76,7 +75,6 @@ searchitem:any; } // doughuntChart() // { - // console.log(this.doughnutCanvas); // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, { // type: 'doughnut', @@ -122,7 +120,6 @@ searchitem:any; { this.questionCate = this.questionCate.records; - //console.log(this.questionCate.counts); this.random_ng_past(); if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='') { @@ -139,11 +136,9 @@ searchitem:any; this.overallqustioncountAccess = true; } - //console.log(this.questionCate); - // console.log(this.questionfinishedList); }else if(this.questionCate.template_forms!='') { @@ -187,11 +182,8 @@ searchitem:any; questionsTag(categroyId){ this.pdinfo = this.pddetails; - console.log('data',categroyId); - console.log('pdinfo',this.pdinfo); this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0]; - //console.log(this.questionCate); // if(this.questionCate.questions.length !="0"){ this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo}); @@ -205,7 +197,6 @@ searchitem:any; tempQustionTag(categroyId) { this.pdinfo = this.pddetails; - console.log('data',categroyId); let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0]; if(categroyId ==5) { @@ -294,7 +285,6 @@ searchitem:any; var q = searchbar.target.value; // if the value is an empty string don't filter the items - console.log(this.searchQuestion); if(this.searchQuestion !== undefined){ if (q.trim() == '') { return ; @@ -304,7 +294,6 @@ searchitem:any; // return true; // } // }) - // console.log(this.questionCate); } }else { @@ -316,7 +305,6 @@ searchitem:any; // return true; // } // }) - console.log(this.questionCate); } } } @@ -338,11 +326,9 @@ searchitem:any; doRefresh(refresher) { this.questionCate = []; this.questionfinishedList = []; - console.log('Begin async operation', refresher); this.shared.refresh(); this.getcategoryList(); setTimeout(() => { - console.log('Async operation has ended'); refresher.complete(); }, 2000); } diff --git a/src/pages/pd-question/pd-question-address/pd-question-address.ts b/src/pages/pd-question/pd-question-address/pd-question-address.ts index 0f448a46..7d28c4e7 100755 --- a/src/pages/pd-question/pd-question-address/pd-question-address.ts +++ b/src/pages/pd-question/pd-question-address/pd-question-address.ts @@ -79,7 +79,7 @@ export class PdQuestionAddressPage { this.getCityAndPincodeDetails(this.pdState); this.pdCity = this.pdDetails.fk_city; this.pdPincode = this.pdDetails.pincode_id; - console.log('this.pdPincode', this.pdPincode); + this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : ''; this.getdropdownlist(); @@ -123,7 +123,8 @@ export class PdQuestionAddressPage { ionViewDidLoad() { //this.addUnits(); - console.log('ionViewDidLoad PdQuestionAddressPage'); + console.log("ionViewDidLoad PdQuestionAddressPage") + } ionViewWillLeave() @@ -137,14 +138,14 @@ export class PdQuestionAddressPage { // text: 'Save', // cssClass: 'method-color', // handler: () => { - // console.log('Save clicked'); + // // } // }, // { // text: 'Cancel', // cssClass: 'method-color', // handler: () => { - // console.log('Cancel clicked'); + // // this.navCtrl.pop(); // } // } @@ -153,7 +154,7 @@ export class PdQuestionAddressPage { // method.present() - // console.log(this.pdQuestionAddress.dirty); + } /** To Get City And Pincode Data For Address Form @@ -252,7 +253,7 @@ export class PdQuestionAddressPage { // checkaddress(value) // { - // // console.log(value); + // // if(value=="OTHERS") // { // this.addressRemarksAccess = true; @@ -332,13 +333,13 @@ export class PdQuestionAddressPage { } inWords(e,i){ - console.log(e); + this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value); } inWordsForRent(e){ - //console.log(e); + this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value); } @@ -349,7 +350,6 @@ export class PdQuestionAddressPage { savepdQuestion(answerData) { - console.log(answerData); let records: any = {}; records.address = answerData.address; if(answerData.address_type_others != null){ @@ -393,18 +393,17 @@ export class PdQuestionAddressPage { // records.bussiness_activity_remark = answerData.bussiness_activity_remark; // records.business_years = answerData.business_years; // records.business_month = answerData.business_month; - // console.log("Additional Units",this.pdQuestionAddress.controls.additional_address_units.value); - // console.log("item",this.items) + // records.additional_address_units = answerData.additional_address_units; - console.log('params', records); + this.qustCat.saveForm(records).subscribe(data => { - // console.log('data', data); + // let params: any = {}; // params.pd_id = '250'; // params.pd_form_id = '250'; - // console.log('param', params); + this.navCtrl.pop(); this.toast.pdTriggerappmessage('Record Saved Successfully.!'); @@ -502,20 +501,20 @@ export class PdQuestionAddressPage { // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month); - console.log(this.getaddressDetails.additional_address_units); + /* if(this.getaddressDetails.bussiness_activity == 'yes') { if (result.length == 0) { - console.log("0") + control.push(this.createUnits(null)); } else {*/ - console.log("1",this.getaddressDetails.additional_address_units) + //for(let val of this.getaddressDetails.additional_address_units){ //control.push(this.createUnits(val)); //} //result.forEach((datas,index) => { - // console.log(datas); + //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt); //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas); diff --git a/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts b/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts index 13cbc57d..3f72ad76 100755 --- a/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts +++ b/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts @@ -30,7 +30,7 @@ export class PdQuestionAssessedBusinessIncomePage { constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) { this.pdDetails = this.navParams.get('pdDetails'); this.expenseDetails = this.navParams.get('income'); - console.log(this.expenseDetails); + this.users = this.aws.getlocale(); this.BuissnessForm = this.fb.group( { @@ -101,18 +101,17 @@ export class PdQuestionAssessedBusinessIncomePage { busIncomecalculate(index,details) { - console.log(details,index); + let frequencyId = details.value.fk_frequency_id; let incomeValue = details.value.income_value; // let UOM = details.value.rate_per_unit; - // console.log(frequencyId,purchaseQty,UOM,index); - // console.log(frequencyId); + let annual:any; if(incomeValue!=null && incomeValue !=null){ let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; if(frequencyId==1) { - console.log(frequency_factor.mutiple_factor); + annual = (incomeValue*frequency_factor.mutiple_factor); this.incomeannual[index] = annual; details.controls['annual_income_value'].setValue(annual); @@ -165,10 +164,10 @@ export class PdQuestionAssessedBusinessIncomePage { saveBusinessData(answerData) { - // console.log(answerData); + if(this.BuissnessForm.valid){ let records = {'records':answerData.busIncome}; - console.log('data',records); + this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=> { if(res['dataStatus']==true) 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 3b829f9c..633d2596 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 @@ -102,12 +102,11 @@ export class PdQuestionAssessedBusinessPage { busExpensecalculat(index,details) { - console.log(details,index); + let frequencyId = details.value.fk_frequency_id; let expenseValue = details.value.expense_value; let UOM = details.value.rate_per_unit; - // console.log(frequencyId,purchaseQty,UOM,index); - // console.log(frequencyId); + let annual if(expenseValue!=null){ if(frequencyId==1) @@ -153,10 +152,10 @@ export class PdQuestionAssessedBusinessPage { saveBusinessData(answerData) { - // console.log(answerData); + if(this.BuissnessForm.valid){ let records = {'records':answerData.busExpense}; - console.log('data',records); + this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=> { if(res['dataStatus']==true) 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 3a2c8dda..db90dbfe 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 @@ -34,7 +34,7 @@ export class PdQuestionAssessedDailySalesPage { this.grossprofitCalc = this.navParams.get('grossprofit'); this.users = this.aws.getlocale(); this.currentDate = constant.getcurrentDate().replace("T00:00",''); - console.log(this.currentDate); + this.salesDailyForm = this.fb.group( { sales_product: this.fb.array([]), @@ -76,7 +76,7 @@ export class PdQuestionAssessedDailySalesPage { temparr = []; tempdate = []; getSalesCalc(subchild,child,key) { - console.log(key); + let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1; let totalitemmargin = child.value.margin_per; @@ -94,33 +94,31 @@ export class PdQuestionAssessedDailySalesPage { if (loopAccess) { - // console.log(loopAccess,loopindex); + this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value; this.temparr.push(subchild.value.sales_value); loopAccess = false; loopindex = 0; - // console.log('merge'); + } else { - // console.log(loopAccess,loopindex); - // console.log('push'); + this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value); } } else { - // console.log('else') + this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value); } let totalMonth = 12 / this.tempdate.length; - console.log(this.tempdate); - + let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0); - console.log(tempgrandTotal); + // let value = tempgrandTotal * (totalitemmargin / 100); let value = tempgrandTotal*totalMonth ; - console.log(value); + let grandValue = value * (totalitemmargin / 100); child.controls['margin_value'].setValue(grandValue); @@ -132,7 +130,7 @@ export class PdQuestionAssessedDailySalesPage { if (this.salesDailyForm.valid) { const control = this.salesDailyForm.get('sales_product') as FormArray; control.push(this.createdailysalesProduct()); - // console.log(control.length); + this.adddailyChildSaleProduct(control.length - 1); } } @@ -145,7 +143,7 @@ export class PdQuestionAssessedDailySalesPage { } deletedailySalesProduct(index) { - console.log(index); + this.tempdate.slice(index,1); const control = (this.salesDailyForm.controls['sales_product']) as FormArray; if (control.length == 1) { @@ -180,7 +178,7 @@ export class PdQuestionAssessedDailySalesPage { } getDailySalesData(dailySalesData) { - console.log(dailySalesData); + const control = this.salesDailyForm.get('sales_product') as FormArray; let salesChildControl; let salesChildControlarr = []; 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 cf740a64..1c59de7a 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 @@ -66,14 +66,14 @@ export class PdQuestionAssessedDashPage { saveAssessedForm(answerData) { - console.log(this.assessedForm.value); + if(this.assessedForm.valid) { let records = {'records':this.assessedForm.value}; - console.log('data',records); + this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=> { if(res['dataStatus']==true) @@ -117,14 +117,14 @@ export class PdQuestionAssessedDashPage { { this.businessIncome = true; } - console.log(res['records'].final_data.length); + 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; } - console.log(this.grossprofit); + if(this.grossprofit !==undefined) { this.grossAccess = true; diff --git a/src/pages/pd-question/pd-question-assests/pd-question-assests.ts b/src/pages/pd-question/pd-question-assests/pd-question-assests.ts index d1077ef8..94676af4 100755 --- a/src/pages/pd-question/pd-question-assests/pd-question-assests.ts +++ b/src/pages/pd-question/pd-question-assests/pd-question-assests.ts @@ -62,7 +62,7 @@ export class PdQuestionAssestsPage { this.assestInfo = "busass"; this.FormId = this.navParams.get('FormId'); - console.log(this.FormId); + this.pdDetails = this.navParams.get('pdDetails'); this.pdid=this.pdDetails.pd_id; this.users = this.aws.getlocale(); @@ -135,10 +135,10 @@ export class PdQuestionAssestsPage { } }); this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{ - console.log("Entering company List") + if(data['dataStatus']==true){ this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true) - console.log("company List",data['records']) + } let modifyCompanyList : any=[]; if(this.existCompanyList.length>0){ @@ -146,7 +146,7 @@ export class PdQuestionAssestsPage { return {id:element.company_order_id.toString(),name:element.company_name,group_id:1}; }); this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList}) - console.log("Company applicant",this.mergeCompanyApplicant) + } let modifyApplicantList: any=[]; @@ -155,7 +155,7 @@ export class PdQuestionAssestsPage { return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2}; }); this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) - console.log("Applicants",this.mergeCompanyApplicant); + // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); } }) @@ -216,7 +216,7 @@ export class PdQuestionAssestsPage { loanCalc(details ,flag) { if(flag == 1){ - //console.log(details.value); + let ElapsedValues; if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){ @@ -230,9 +230,7 @@ export class PdQuestionAssestsPage { show: boolean; selectedAssetsType(e: any, i: any,flag : any): void { - console.log(e); - console.log(i); - console.log(flag); + let val = i; if(flag == 1){ const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray; @@ -449,7 +447,7 @@ export class PdQuestionAssestsPage { } saveAssetDetails(answerData) { - console.log(answerData); + Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]); // answerData.assets_details.map(val => { // if (val.emi == 'no') { @@ -463,7 +461,7 @@ export class PdQuestionAssestsPage { answerData.pdid = this.pdDetails.pd_id; answerData.formid = this.FormId.form_id; answerData.fk_createdby = this.users; - console.log('final',answerData); + this.qustCat.saveForm(answerData).subscribe(res=> { if(res['dataStatus']==true) @@ -534,7 +532,7 @@ export class PdQuestionAssestsPage { // } this.apiLoadFinish = true; - console.log(assetArray); + //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray); }else{ this.apiLoadFinish = true; diff --git a/src/pages/pd-question/pd-question-banking/pd-question-banking.ts b/src/pages/pd-question/pd-question-banking/pd-question-banking.ts index 0d6c1d94..35714d25 100755 --- a/src/pages/pd-question/pd-question-banking/pd-question-banking.ts +++ b/src/pages/pd-question/pd-question-banking/pd-question-banking.ts @@ -47,7 +47,7 @@ export class PdQuestionBankingPage { this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1) this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); - console.log(this.pdDetails); + // alert(); this.users = this.aws.getlocale(); this.bankDetails = this.fb.group( @@ -86,10 +86,10 @@ export class PdQuestionBankingPage { } }); this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{ - console.log("Entering company List") + if(data['dataStatus']==true){ this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true) - console.log("company List",data['records']) + } // let modifyCompanyList : any=[]; // if(this.existCompanyList.length>0){ @@ -97,7 +97,7 @@ export class PdQuestionBankingPage { // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1}; // }); // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList}) - // console.log("Company applicant",this.mergeCompanyApplicant) + //} }) let modifyApplicantList: any=[]; @@ -106,7 +106,7 @@ export class PdQuestionBankingPage { return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2}; }); this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) - console.log(this.mergeCompanyApplicant); + // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); } } @@ -140,7 +140,7 @@ inWords(e,i,flag){ /** To Convert Month into Year */ ConvertMonthintoYear(itemrow,e){ - //console.log(itemrow); + let year = itemrow.controls.vintage_year.value; @@ -196,7 +196,7 @@ inWords(e,i,flag){ this.bankitems.push(this.createBankItem('')); - //console.log(this.pdQuestionAddress.get('items')['controls']); + } @@ -225,16 +225,16 @@ inWords(e,i,flag){ records.fk_createdby = this.users; records.banking_details = answerData.bankitems; records.banking_form_remark = answerData.banking_form_remark; - console.log('data', records); + this.qustCat.saveForm(records).subscribe(data => { - console.log('data', data); + if(data['dataStatus']==true) { this.toast.pdTriggerappmessage('Record Saved Successfully.!'); this.navCtrl.pop(); } }) - //console.log(answerData); + } retiveBankDetails() @@ -250,12 +250,12 @@ inWords(e,i,flag){ this.bankitems = this.bankDetails.get('bankitems') as FormArray; if(result.length ==0){ - console.log("Data=0") + this.bankitems.push(this.createBankItem('')) }else { - console.log("Data>0") + result.forEach((datas,index)=> @@ -273,7 +273,7 @@ inWords(e,i,flag){ }else { - console.log("Data False") + this.addBankDetails(); } }); diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts b/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts index aba52cdd..71c5ac2f 100755 --- a/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts @@ -86,7 +86,7 @@ export class PdQuestionBusinessAssetsPage { this.qustcat.retiverForm(params).subscribe(data => { if(data['status'] == 200) { - // console.log("form record 5",data.records); + this.addressLabel = ''; @@ -113,7 +113,7 @@ export class PdQuestionBusinessAssetsPage { this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{ this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1); - // console.log(this.m_assets_type) + }) this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{ @@ -123,7 +123,7 @@ export class PdQuestionBusinessAssetsPage { this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{ if(data.dataStatus){ this.existCompanyList=data['records'].filter(val=>val.is_active==true); - // console.log("existCompanyList",this.existCompanyList) + } let modifyCompanyList : any=[]; @@ -157,12 +157,12 @@ export class PdQuestionBusinessAssetsPage { this.qustcat.retiverForm(params).subscribe(res=>{ if(res['dataStatus']==true){ - // console.log("records",res['records']) + //this.data_all=res['records'] /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){ return res['records'].business_assets_details[key] }); - console.log("Asset Form",assestArray); + //this.formLoadData(assestArray) this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark); if(assestArray.length>0){ @@ -189,7 +189,7 @@ export class PdQuestionBusinessAssetsPage { this.formLoadData(null); } this.apiLoadFinish=true - console.log("success"); + }) //this.formLoadData(null); @@ -219,7 +219,7 @@ export class PdQuestionBusinessAssetsPage { } else{ - // console.log("Data Here"); + let value=data; this._businessAssetsQuesFrom=this.fb.group({ pdid: [this.pdDetails.pd_id], @@ -237,7 +237,7 @@ export class PdQuestionBusinessAssetsPage { business_assets_form_remark:[value.business_assets_form_remark || ''] }); if (value.business_address_availability == 'yes') { - // console.log(value.business_assets_for_address); + this.addBusinessAssetsForAddress(value.business_assets_for_address); } else { @@ -390,7 +390,7 @@ createBusinessAssetsForAddress(): FormGroup { this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt); this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value); let Avaliablity = 1; - // console.log(datas.business_name_of_the_owner); + if(datas.business_name_of_the_owner.length > 0){ datas.business_name_of_the_owner.forEach(option => { if(option.id == 0 && option.group_id == 2){ @@ -424,7 +424,7 @@ createBusinessAssetsForAddress(): FormGroup { var result=Object.keys(supp_data).map(function(key){ return supp_data[key]; }) - // console.log("Result",result) + if(result.length>0){ result.forEach((datas,index)=>{ this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value) @@ -446,7 +446,7 @@ createBusinessAssetsForAddress(): FormGroup { control.push(this.initBusinessDetailsWithdata(formData)); this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1) } - // console.log("Add Business Details exit"); + } this.loadDetails=true } @@ -465,7 +465,7 @@ createBusinessAssetsForAddress(): FormGroup { } initBusinessDetailsWithdata(data) { - // console.log("initBusinessDetailsWithdata",data) + let formGroup= this.fb.group({ business_assets_mode: [data.business_assets_mode], @@ -484,8 +484,7 @@ createBusinessAssetsForAddress(): FormGroup { return formGroup; } setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){ - // console.log("Asset Mode business asset",assets_details_mode) - // console.log("setBusinessAssetsDetailsWithData",datas) + let val = i; let data = datas; const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray; @@ -716,17 +715,17 @@ createBusinessAssetsForAddress(): FormGroup { let Avaliablity = 1; value.forEach(option => { if(option.id == 0 && option.group_id == 2){ - // console.log('true'); + Avaliablity = option.id; } }); // isOtherOwner: boolean = false; if(Avaliablity == 0){ - // console.log(Avaliablity); + item.controls.business_name_of_the_other_owner.setValidators([Validators.required]); this.isOtherOwnerForAddress = true; }else{ - // console.log(Avaliablity); + item.controls.business_name_of_the_other_owner.setValue(''); item.controls.business_name_of_the_other_owner.clearValidators(); this.isOtherOwnerForAddress = false; diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts b/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts index ba0380bc..d6b50457 100755 --- a/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts @@ -46,21 +46,18 @@ step:number constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) { this.pdDetails=this.navParams.get('pdDetails') - // console.log("pd",this.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 - // console.log(" business bank Form Id fetched",this.form_id); - // console.log(" business bank Form Details",this.formDetails); - // console.log(" business bank Form Id",this.formDetails.form_id); + this.applicants = this.pdDetails.applicat_details; this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2) this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); - //console.log(this.pdDetails); - // alert(); + this.users = this.aws.getlocale(); this.step=0 this.bankingForm = this.fb.group( @@ -97,10 +94,10 @@ step:number } }); this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{ - console.log("Entering company List") + if(data['dataStatus']==true){ this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true) - console.log("company List",data['records']) + } let modifyCompanyList : any=[]; if(this.existCompanyList.length>0){ @@ -108,7 +105,7 @@ step:number return {id:element.company_order_id.toString(),name:element.company_name,group_id:1}; }); this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList}) - console.log("Company applicant",this.mergeCompanyApplicant) + } }) let modifyApplicantList: any=[]; @@ -117,7 +114,7 @@ step:number return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2}; }); this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) - console.log(this.mergeCompanyApplicant); + // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); } } @@ -153,7 +150,7 @@ step:number } /** To Convert Month into Year */ ConvertMonthintoYear(itemrow,e){ - //console.log(itemrow); + let year = itemrow.controls.vintage_year.value; @@ -179,9 +176,7 @@ step:number } setRequiredValidation(value,item,flag) { - console.log(item); - console.log(value); - console.log(flag); + if(flag == 1){ value==0 @@ -232,7 +227,7 @@ step:number control.push(this.createBankItem('')); - //console.log(this.pdQuestionAddress.get('items')['controls']); + } @@ -250,7 +245,7 @@ step:number control.reset(); } else - // console.log('index value -', index); + control.removeAt(i); } @@ -268,21 +263,21 @@ step:number var result = Object.keys(res['records'].banking_details).map(function(key) { return res['records'].banking_details[key]; }); - console.log("retrieve data",res['records']); + this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark); if(result.length == 0){ - console.log("DAta Status 0") + control.push(this.createBankItem('')) }else { - console.log("DAta Status >1") + result.forEach((datas,index)=> { this. selectedAccTypeChanges(datas.account_type,index); if(datas.limit != ''){ - console.log("Datas",datas); + this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); } this. selectedAccTypeChanges(datas.account_type,index); @@ -293,7 +288,7 @@ step:number } }else { - console.log("DAta Status False"); + control.push(this.createBankItem('')); } }); @@ -309,9 +304,9 @@ step:number records.company_id=this.company_id; records.banking_details = answerData.itemRows; records.banking_form_remark = answerData.banking_form_remark; - console.log('data', records); + this.qustCat.saveForm(records).subscribe(data => { - console.log('data', data); + if(data['dataStatus']==true) { this.toast.pdTriggerappmessage('Record Saved Successfully.!'); @@ -321,7 +316,7 @@ step:number this.toast.pdTriggerappmessage("Sorry!! Something Went Wrong"); } }) - //console.log(answerData); + } 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 f2ba140d..ee8bfc92 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 @@ -64,35 +64,34 @@ export class PdQuestionBusinessGroupPage { if(details.form_id==1){ this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) } if(details.form_id==2){ this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) + } if(details.form_id==11){ this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) + } if(details.form_id==13){ this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) + } if(details.form_id==14){ this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); - console.log("form_id",details.form_id) + } if(details.form_id==15){ this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) + } if(details.form_id==21){ this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) + } if(details.form_id==22){ this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails}); - // console.log("form_id",details.form_id) + } diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts b/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts index b0753102..404e62d9 100755 --- a/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts @@ -63,14 +63,14 @@ export class PdQuestionBusinessInfoPage { this.getStateCityDet(); this.pdDetails = this.navParams.get('pdDetails'); this.pdid=this.pdDetails.pd_id - console.log("pdails",this.pdDetails) + this.formdetails = this.navParams.get('formDetails'); - console.log(this.formdetails) + this.FormId = this.formdetails.form_id; this.users = this.aws.getlocale(); - //console.log("pd",this.pdDetails); + this.applicants=this.pdDetails.applicat_details; - console.log("Applicants",this.applicants) + this.generalExistEntityType=this.pdDetails.business_entity_type this.generalExistEntityType_other=this.pdDetails.business_entity_type_other this.generalExistBusinessYear=this.pdDetails.business_years @@ -134,7 +134,7 @@ export class PdQuestionBusinessInfoPage { getdropdown() { this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => { - // console.log('data', data); + data['records'].forEach(val => { if (val.isactive == 1) { this.relationData.push(val); @@ -143,7 +143,7 @@ export class PdQuestionBusinessInfoPage { }); this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => { - // console.log('data', data); + data['records'].forEach(val => { if (val.isactive == 1) { this.industryData.push(val); @@ -152,7 +152,7 @@ export class PdQuestionBusinessInfoPage { }); this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => { - // console.log('data', data); + data['records'].forEach(val => { if (val.isactive == 1) { this.activityData.push(val); @@ -172,20 +172,20 @@ export class PdQuestionBusinessInfoPage { }); - // console.log("stateList first",this.stateList); + this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{ this.countryDataList=data['records'].filter(val=>val.isactive==1); - //console.log("countryDataList",this.countryDataList) + }); this.qustCat.getcommondrop('TITLES').subscribe(data=>{ this.titleData=data['records'].filter(val=>val.isactive==1); }) this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{ if(data.dataStatus){ - console.log("Person List",data) + this.personsList=data['record'].filter(val=>val.applicant_type==1) - console.log("Person List",this.personsList) + } }) @@ -193,16 +193,16 @@ export class PdQuestionBusinessInfoPage { getStateCityDet(){ this.qustCat.getStateCityDetails().subscribe(data=>{ - // console.log("data first23",data.records) + this.stateList=data.records - // console.log("stateListFun",this.stateList) + this.getDetails(); }); } getDetails(){ - // console.log("get State",this.stateList); + let params: any = {}; params.pd_id = this.pdid; params.pd_form_id = 13 @@ -210,7 +210,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ this.qustCat.retiverForm(params).subscribe(data=>{ let businessVal=data['records'] let constVal: any; - // console.log("datavalue",businessVal) + const Partnr:any = this.businessForm.controls['partners']; @@ -226,7 +226,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ const otherDoc = this.businessForm.controls['documents']; //retailControl.push(this.manufactureDetails()); //manufacture_details.push(this.manufactureDetails()) - // console.log("Manufacture",manufacture_details); + // 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; @@ -239,7 +239,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ let PartnrArray=Object.keys(data['records'].partners).map(function(key){ return data['records'].partners[key]; }) - // console.log("PartnrArray",PartnrArray) + if(PartnrArray.length==0){ Partnr.push(this.createPartners()) } @@ -304,7 +304,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary); } - console.log("pa",this.businessForm.controls['partners']['controls']) + // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd' // this.businessForm.setValue(businessVal); //this.businessForm.value.seasonality @@ -327,9 +327,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ return activityData[index]; } }).filter(item => item != undefined); - // console.log("exist act",exist_activity_data); - // console.log('activityData',activityData) - // console.log(this.businessForm.controls['select_business_activity_type']) + if(check_exist_businees_activity.length > 0) { check_exist_businees_activity.forEach((val,index) => { @@ -337,13 +335,13 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status }); - // console.log("exist business act",check_exist_businees_activity) + 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) - // console.log("Entering Manufacture Details"); + if(data['records'].manufacturing_activity_details){ let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){ return data['records'].manufacturing_activity_details[key]; @@ -398,19 +396,19 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ } }); businessVal.manufacturing_activity_details=selectedManufacturing; - // console.log("data") + } else{ - // console.log("no data ") + businessVal.manufacturing_activity_details=[]; } } else{ - // console.log("no data last") + businessVal.manufacturing_activity_details=[]; } - // console.log("exit") + if(data['records'].retail_trading_activity_details){ let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) { @@ -471,7 +469,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ else { businessVal.retail_trading_activity_details=[]; } - console.log("retail finish") + // update whole sale details if(data['records'].wholesale_trading_activity_details){ @@ -535,7 +533,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ businessVal.wholesale_trading_activity_details=[]; } - console.log("whole Sale finish") + if(data['records'].service_provider_activity_details){ let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){ @@ -593,20 +591,21 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ } }); - // console.log("data",selectedService) + + businessVal.service_provider_activity_details=selectedService; } else{ businessVal.service_provider_activity_details=[]; - console.log("no data") + } } else { businessVal.service_provider_activity_details=[]; } - console.log("Service finish") + if(data['records'].others_activity_details){ // update others activity details @@ -627,7 +626,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ businessVal.others_activity_details=[]; } - console.log("Others finish") + // dynamically add form group control if(data['dataStatus']){ @@ -637,16 +636,14 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ } - console.log("Seasonality"); - console.log('businessVal',businessVal) // 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) - console.log("inserting..") + this.businessForm.setValue(businessVal); - console.log("Finish") + } else{ @@ -671,14 +668,12 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business'); val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run'); }); - // console.log("getDetails exit") + } filterCity(datasource: any,filterid:number) { - //console.log("datasource",datasource) - // console.log("Filter Id",filterid) - //console.log("State List" ,this.stateList) + if(filterid){ let filter = this.stateList.filter(x=>x.state_id==filterid); @@ -713,7 +708,7 @@ this.qustCat.getStateCityDetails().subscribe(data=>{ }); let merged = [].concat.apply([], setCityFilter); - // console.log(merged) + if(merged.length>0){ let check: any = merged.filter(function(fVal){ return existCities.some(function(sVal){ @@ -752,7 +747,7 @@ changeBusinessActivity(event: any){ let manufacturingControl = this.businessForm.controls['manufacturing_activity_details']; manufacturingControl.controls = []; manufacturingControl.setValue([]); - console.log("true"); + } else if(event.value.exist_status==false && event.value.type_of_activity_id==2){ this.ManufacturingChecked = event.value.exist_status; @@ -959,7 +954,7 @@ changePanIndiaOptions(type,selectedIndex,value) { control.controls[selectedIndex].removeControl('india_where_sale_done'); control.controls[selectedIndex].removeControl('max_sale_state_name'); if(value=='Yes') { - console.log("clicked 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'){ @@ -1364,9 +1359,9 @@ relationChanged(event) { } submitDetails() { - console.log("First",this.businessForm.value); + let family: any = []; - console.log(this.FormId) + let design: any; //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users}; let records:any; @@ -1374,7 +1369,7 @@ submitDetails() { // records.formid = this.FormId; // records.fk_createdby = this.users; records=this.businessForm.value; - console.log("Records",records) + //if(records.persons_with_relationships=='') if (records.other_documents == 'no') { delete records.documents; @@ -1386,7 +1381,7 @@ submitDetails() { delete records.ownership_others; } // records.family_members_involved = this.relativeNames; - //console.log('recordss', records); + let validationFlag : number = 0; @@ -1481,7 +1476,7 @@ submitDetails() { let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; this.qustCat.retiverForm(records).subscribe(data => { let businessVal = data['records']; - // console.log('data', businessVal); + let constVal: any; const Desgn = this.businessForm.controls['designation']; const Partnr = this.businessForm.controls['partners']; @@ -1574,23 +1569,18 @@ ServiceCounterArray: any = []; //this.ExportFlag=false const parentControl = this.businessForm.controls['select_business_activity_type']; const childControl = parentControl.controls[0]; - // console.log('parentControl',parentControl); - // console.log('parentControl.controls',parentControl.controls); - // console.log('childControl',childControl.value); - // console.log('childControl',childControl.value.exist_status); + // childControl.forEach((datas,index) => { - // console.log(datas); + // // exist_status==true && event.value.type_of_activity_id - // console.log(datas[index].); - // console.log(datas[index].controls.exist_status.value); + // }); - console.log('CheckExport'); - console.log(value,stringFlag,index); + - console.log(this.ManufacturingChecked , this.RetailedChecked , this.WholeSalesChecked , this.ServiceChecked); + if(!this.ManufacturingChecked){ if(stringFlag == 'MActivity' && value != "Within India"){ @@ -1642,20 +1632,19 @@ ServiceCounterArray: any = []; } let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0); - console.log(SumOfManufacturingCounter,this.ManufacturingCounterArray); + let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0); - // console.log(SumOfRetailCounter , this.RetailCounterArray); + let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0); - // console.log(SumOfWholeSaleCounter,this.WholeSaleCounterArray); + let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0); - // console.log(SumOfServiceCounter,this.ServiceCounterArray); + let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ; this.ExportFlag = overallCounter > 0 ? true : false ; - console.log('overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ' , overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter); - console.log('Current Flag Status : ',this.ExportFlag ); + } } diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts b/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts index 32a64410..2568f59c 100644 --- a/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts @@ -126,7 +126,7 @@ export class PdQuestionClientInfoPage { // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) { // return dataForm.main_raw_materials[key]; // }); - console.log(dataForm); + let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials; this.initManufacturingProductsDetails(api_main_raw_materials); @@ -517,7 +517,7 @@ export class PdQuestionClientInfoPage { // } /** To Save/Edited Popup Data */ saveClientInfo(answerFormValues) { - // console.log(answerFormValues); + Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]); if (answerFormValues.manufacturing_details[0] == null) { delete answerFormValues['manufacturing_details']; diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts b/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts index 5d91458a..630a54f8 100644 --- a/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts @@ -61,8 +61,7 @@ export class PdQuestionFinancialInfoPage { // this.FormId=this.navParams.get('FormId'); this.company_id=this.pdDetails.company_id this.users=this.aws.getlocale(); - console.log("Pd",this.pdDetails); - console.log("Form ",this.FormId) + this.initFinancialForm() } diff --git a/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts b/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts index 19741eb4..c1bac8d6 100644 --- a/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts +++ b/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts @@ -267,14 +267,13 @@ export class PdQuestionStockInfoPage { tradingForm: Boolean = false; tradingFormCreation(val) { - // console.log('val',val); - // console.log('tradingForm',this.tradingForm); + let arr = val.filter(data => data.type_of_activity_id == 4); if (arr.length > 0) { - // console.log(arr.products); + // if(arr.products === undefined){ - // console.log(arr.products); + // this.tradingForm = false; // return; // } diff --git a/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts b/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts index 111b57f7..09ef765d 100755 --- a/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts +++ b/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts @@ -39,7 +39,7 @@ export class PdQuestionCurrentLoansPage { constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) { this.applicants=[] - // console.log("before",this.applicants) + this.questionDetails = this.navParams.get('questionDetails'); this.pdDetails = this.navParams.get('pdDetails'); this.pdid=this.pdDetails.pd_id; @@ -50,7 +50,7 @@ export class PdQuestionCurrentLoansPage { this.getdropdown(); // this.applicants.push - console.log(this.applicants); + this.users = this.aws.getlocale(); this.currentLoans = this.fb.group( { @@ -62,7 +62,7 @@ export class PdQuestionCurrentLoansPage { } ionViewDidLoad() { - console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); this.getcurrentLoans() } @@ -81,10 +81,10 @@ export class PdQuestionCurrentLoansPage { }); this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{ - console.log("Entering company List") + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); if(data['dataStatus']==true){ this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true) - console.log("company List",data['records']) + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); } let modifyCompanyList : any=[]; if(this.existCompanyList.length>0){ @@ -93,7 +93,7 @@ export class PdQuestionCurrentLoansPage { }); //modifyCompanyList.push({'id':"0",'name':'Others','group_id':1}) this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList}) - console.log("Company applicant",this.mergeCompanyApplicant) + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); } }) let modifyApplicantList: any=[]; @@ -104,7 +104,7 @@ export class PdQuestionCurrentLoansPage { this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) - console.log(this.mergeCompanyApplicant); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1); } @@ -118,7 +118,7 @@ export class PdQuestionCurrentLoansPage { exitsCheck(val) { - console.log(val); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); if(val =="Yes") { @@ -222,8 +222,7 @@ inWords(e,i,flag){ selectedfrequency(e,i){ - // console.log(+e.value); - // console.log(i); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); // alert('function in'); @@ -238,11 +237,11 @@ selectedfrequency(e,i){ case 7: this.placeholderName[i] = 'Monthly Instalment Amount'; break; default: this.placeholderName[i] = 'Instalment Amount'; break; } - // console.log(this.placeholderName); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); } submitCurrentloan(answerData) { - console.log(answerData); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); let records: any = {}; records.pdid = this.pdDetails.pd_id; records.formid = this.FormId.form_id; @@ -250,9 +249,9 @@ submitCurrentloan(answerData) { records.existing_loan = answerData.existing_loan; records.loan_details = answerData.loan_details; records.currentloan_remarks = answerData.currentloan_remarks; - console.log('data', records); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); this.qustCat.saveForm(records).subscribe(data => { - console.log('data', data); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); if(data['dataStatus']==true) @@ -271,10 +270,10 @@ submitCurrentloan(answerData) { if(res['dataStatus']==true ) { let currentLoanDetails = res['records']; - console.log("res",res['records']); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); 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) { - console.log("Function result",res['records'].loan_details[key]); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); return res['records'].loan_details[key]; }); @@ -291,7 +290,7 @@ submitCurrentloan(answerData) { { result.forEach((datas,index)=> { - console.log("Datas",datas) + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); control.push(this.createLoanDetail(null)); this.selectedfrequency(datas.frequency,index); if(datas.loan_amount!=''){ @@ -314,18 +313,17 @@ submitCurrentloan(answerData) { } else { - // console.log('else part',value.status); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{ - // console.log(data); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); if(data.dataStatus == true){ - // console.log(data.record); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); let AssetData = data.record; - // console.log(AssetData.business_assets); - // console.log(AssetData.other_assests); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); if(AssetData.business_assets.length>0){ AssetData.business_assets.map(element => { @@ -433,7 +431,7 @@ submitCurrentloan(answerData) { } } else{ - // console.log('else,else.part'); + console.log('ionViewDidLoad PdQuestionCurrentLoansPage'); control.push(this.createLoanDetail(null)); } } diff --git a/src/pages/pd-question/pd-question-family/pd-question-family.ts b/src/pages/pd-question/pd-question-family/pd-question-family.ts index dbb67cf5..637b8479 100755 --- a/src/pages/pd-question/pd-question-family/pd-question-family.ts +++ b/src/pages/pd-question/pd-question-family/pd-question-family.ts @@ -64,10 +64,7 @@ data:any; this.pdDetails = this.navParams.get('pdDetails'); this.selected_person=this.pdDetails.pdapplicants_details; this.selectPerson=this.pdDetails.applicat_details - console.log("applicant details",this.selected_person); - console.log('Pd Applicant',this.pdDetails); this.users = this.aws.getlocale(); - //console.log('aws',this.users); this.familyForm = this.fb.group({ @@ -87,7 +84,7 @@ data:any; } ionViewDidLoad() { - console.log('ionViewDidLoad PdQuestionFamilyPage'); + console.log("ionViewDidLoad PdQuestionFamilyPage") this.getFamilyData(); } initFamilyDetails(records) : void @@ -135,14 +132,11 @@ data:any; const control = this.familyForm.controls['family_details']; control.push(formData); - // console.log('family full records',val); let inx=control.length-1; //this.getNumberOfFamilyMemberDetails(inx); this.initFamilyMembersDetails(inx, val.family_members_details); - console.log(control); - // console.log('control family',inx); //this.initFamilyMembersDetails @@ -181,7 +175,6 @@ data:any; } initFamilyMembersDetails(inx,val) :void { const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details; - // console.log("Controls for family members ",control.length); val.forEach((vals,index)=>{ @@ -204,7 +197,6 @@ data:any; non_earning_if_retired_from: [vals.non_earning_if_retired_from || null, Validators.compose([])], }) - // console.log("family member control",control); control.push(datas); }); } @@ -244,7 +236,6 @@ data:any; } removeMemberDet(index:any,f_index:any){ const control=this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details; - console.log("length",control) if(control.length>1){ control.removeAt(index); } @@ -258,28 +249,20 @@ data:any; { var datavalue=data; - // console.log("Array",datavalue); let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls; - //console.log("form0",formData['total_number_of_family_members']); if(formData['total_number_of_family_members'].valid) { let totmem=formData['total_number_of_family_members'].value; - console.log("Tot num",totmem); const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - console.log("Form Fields",control.length) if(totmem>=control.length){ let len=totmem-control.length; - //console.log("if",len); for( let i=0;i=totmem;i--) { control.removeAt(i); @@ -303,10 +286,8 @@ data:any; control.controls=[]; } /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - console.log("dataff",control); control.push(this.initFamilyMembersDetails()); */ - //console.log(formData['1']); } generateFamilyMembersDetailsGet(): FormGroup { return this.fb.group({ @@ -329,7 +310,6 @@ data:any; getRelation() { let master_name = 'RELATIONSHIPS'; this.qustCat.getcommondrop(master_name).subscribe(data => { - //console.log('data', data); if(data['dataStatus'] == true){ this.relationData = data['records'].filter(rel=>rel.isactive ==1); @@ -371,15 +351,12 @@ data:any; } getCity(e,i){ - console.log("E value",e); // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); // this._pd.retriveForm(params).subscribe(data => { this.qustCat.getStateWiseCities(e).subscribe(data=>{ if (data['dataStatus'] == true) { - console.log(data.status); this.cityData[i] = data.records.cities; this.pincodeData[i] = data.records.pincode; - console.log(this.cityData); } }); } @@ -387,7 +364,6 @@ getoccupation() { let master_name = 'OCCUPATIONMEMBERS'; this.qustCat.getcommondrop(master_name).subscribe(data => { - //console.log('data', data); if(data['dataStatus']==true){ this.occupationData = data['records'].filter(occ=>occ.isactive ==1); } @@ -410,7 +386,6 @@ addearningMembers() this.items.push(this.createMembers()); this.count++; this.checkfamilystatus(this.count,''); - console.log(120,this.count); } @@ -424,7 +399,6 @@ deleteEarningMembers(i) this.items.removeAt(i); } this.count--; - console.log(134,this.count); this.checkfamilystatus(this.count,''); } createNonMembers(): FormGroup { @@ -463,8 +437,6 @@ checkfamilystatus(count,familystatus) }else{ familystatus = this.familyForm.get('members').value; } - console.log(familystatus); - console.log(count); if(familystatus !== null ){ if(familystatus == count) { @@ -479,7 +451,6 @@ checkfamilystatus(count,familystatus) /* Old savepdfamily(answerData) { - console.log(answerData); let records: any = {}; records.no_of_years = answerData.years; if (answerData.ownership == '4') { @@ -502,10 +473,8 @@ savepdfamily(answerData) records.formid = this.FormId.form_id; records.fk_createdby = this.users; records.family_details_form_remark = answerData.family_details_form_remark; - console.log('params', records); this.qustCat.saveForm(records).subscribe(res=> { - //console.log(res); if(res['dataStatus']==true) { this.toast.pdTriggerappmessage('Record Saved Successfully.!'); @@ -520,22 +489,17 @@ savepdfamily(answerData) let records:any={}; records=this.familyForm.value; - console.log("family details",records.family_details); - //console.log("Records",records); Object.keys(records).forEach((key)=>(records[key]==null)&& delete records[key]); records.pdid=this.pdDetails.pd_id; records.formid=this.FormId.form_id; records.fk_createdby=this.users; - //console.log(JSON.stringify(records)); this.qustCat.saveForm(records).subscribe(res=>{ - // console.log("Result",); this.toast.pdTriggerappmessage("Record Saved Successfully"); this.navCtrl.pop(); },err=>{ - console.log(err); this.toast.pdTriggerappmessage("Some Fields value is Missing Please Fill It"); }) @@ -561,10 +525,8 @@ savepdfamily(answerData) records.formid = this.FormId.form_id; records.fk_createdby = this.users; records.family_details_form_remark = answerData.family_details_form_remark; - console.log('params', records); this.qustCat.saveForm(records).subscribe(res=> { - //console.log(res); if(res['dataStatus']==true) { this.toast.pdTriggerappmessage('Record Saved Successfully.!'); @@ -686,7 +648,6 @@ resValue:any; if(res['dataStatus']==true){ let Temparr : any = []; - console.log("Family Details",res.record) if(res.record.from_general_form.length>0){ let familyMembersGeneralForm=Object.keys(res.record.from_general_form).map(function(key){ return res.record.from_general_form[key] @@ -699,7 +660,6 @@ resValue:any; age:element.age, data_gets_from:'GeneralForm'}; - // console.log('familyMembersGeneralForm',familyMembersGeneralForm); }); Temparr.push(datas); } @@ -723,27 +683,21 @@ resValue:any; let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; this.qustCat.retiverForm(records).subscribe(res=>{ - //console.log("result",JSON.stringify(res)); - console.log("datastatus",res['dataStatus']); if(res['status']==200){ - console.log("getValue records",res['records'].family_details); 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"); this.initFamilyDetails(null); } //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details); - //console.log("datastatus number",res[0].status) },err=>{ - console.log(err); }) /*let earning:any = []; let non_earning:any = []; @@ -756,12 +710,10 @@ resValue:any; return res['records'].non_earning_members[key]; }); - //console.log(non_earning); 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]; }); - console.log(earning); let familyDetails = res['records']; this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); // this.familyForm.controls['person'].setValue(familyDetails.person_met); @@ -774,26 +726,20 @@ resValue:any; this.familyForm.controls['rent'].setValue(familyDetails.what_rent); // this.familyForm.controls['earningMembers'].setValue(earning); // for(this.) - console.log(189); this.items = this.familyForm.get('earningMembers') as FormArray; this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray; - console.log(192); if(earning.length==0) { this.addearningMembers(); - console.log('if'); }else { earning.forEach(datas => { this.count++; this.items.push(this.createMembers()); }); - console.log('else',earning); - console.log(this.items); this.familyForm.controls['earningMembers'].setValue(earning); } - //console.log(201,earning); if(non_earning.length==0) { 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 c5108b3b..cb9868fc 100644 --- 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 @@ -32,7 +32,6 @@ export class PdQuestionFinalRemarkPage { this.pdid=this.pdDetails.pd_id this.FormId=this.navParams.get('FormId'); this.users=aws.getlocale() - console.log("form Id",this.FormId); this._finalRemarkForm=this.fb.group({ fk_createdby:[this.users], @@ -53,10 +52,10 @@ export class PdQuestionFinalRemarkPage { } ionViewDidLoad() { console.log('ionViewDidLoad PdQuestionFinalRemarkPage'); + } getDropDown(){ this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{ - // console.log("drop",res); this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1) }) this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{ @@ -65,9 +64,7 @@ getDropDown(){ } RecommendationChange(e){ - console.log('e',e); if(e==1){ - console.log('other only',e); this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]); this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); @@ -80,7 +77,6 @@ RecommendationChange(e){ this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue(''); } if(e==2){ - console.log('all Validation clear ',e); this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); @@ -95,7 +91,6 @@ RecommendationChange(e){ } if(e==3){ - console.log('negative only',e); this._finalRemarkForm.controls['enter_reason_for_negative'].setValidators([Validators.required]); this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity(); @@ -109,7 +104,6 @@ RecommendationChange(e){ } if(e==4){ - console.log('credit only',e); this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValidators([Validators.required]); this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity(); @@ -127,7 +121,6 @@ RecommendationChange(e){ let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id} this.qustcat.retiverForm(saveRecords).subscribe(data=>{ if(data['dataStatus']==true){ - console.log("Data get",data['records']) 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); @@ -143,7 +136,6 @@ RecommendationChange(e){ var answerData=this._finalRemarkForm.value //To Remove The "Null" With Key also Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]); - console.log(JSON.stringify(answerData)); this.qustcat.saveForm(answerData).subscribe(res=>{ if(res['dataStatus']==true){ this.toast.pdTriggerappmessage("Record Saved Successfully"); diff --git a/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts b/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts index 42a99322..70dd304e 100755 --- a/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts +++ b/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts @@ -64,16 +64,13 @@ export class PdQuestionGeneralInfoPage { constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) { this.maxDate = new Date(); - // console.log(this.maxDate); this.pd_applicants_details = []; this.pd_applicants_details.pop(); this.pdDetails = this.navParams.get('pdDetails'); - //console.log("Full pd",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'); - // console.log(this.pdDetails); this.users = this.aws.getlocale(); this.getdropdown(); @@ -94,8 +91,6 @@ export class PdQuestionGeneralInfoPage { //this.initIndividuals(); this.pd_applicants_details = this.pdDetails.applicat_details; - // console.log(this.pd_applicants_details); - // console.log(this.pd_applicants_details); @@ -121,7 +116,6 @@ export class PdQuestionGeneralInfoPage { this.fulldata=control.value; //control.controls.length //control.push() - // console.log("individualsListBothCase",this.individualsListBothCase); }); this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{ let control=this.generalForm.controls['company_value']; @@ -139,8 +133,6 @@ export class PdQuestionGeneralInfoPage { initlistv(data,purpose) :void { - // console.log("full data length",this.lengthv.individuals.length); - //console.log("gne data",data) const control=this.generalForm.controls['list_value']; if(purpose=='ins') { @@ -203,13 +195,9 @@ export class PdQuestionGeneralInfoPage { } qualificationById(data):string{ - //console.log("qualification List",this.qualificationList.length) - //console.log("value",data) - console.log("qual List inside fun",this.qualificationList); for(let i of this.qualificationList){ if(data==i.qualification_id){ this.qual_name=i.qualification_name - //console.log("i",this.qual_name) return this.qual_name } } @@ -281,19 +269,14 @@ export class PdQuestionGeneralInfoPage { business_entity_type_name:[c_business_name] }); control.push(formData); - //console.log("finished company Value"); this.h_companies=false; } } } businessEntityById(val):string{ - //console.log("qualification List",this.qualificationList.length) - // console.log("value",val) - console.log("businessEntity List inside fun",this.businessEntityTypeList) for(let v of this.businessEntityTypeList){ if(val==v.business_entity_type_id){ var name=v.business_entity_type_name - // console.log("i",v.business_entity_type_name) return name } } @@ -399,7 +382,6 @@ datajson:any; dataobj:any; addRec(v){ - //console.log("v",v); if(v=='1') { this.buttonClick=!this.buttonClick; @@ -416,15 +398,10 @@ dataobj:any; // const control=this.generalForm.controls['individuals']; //control.removeAt(i); //this.data=this.generalForm.value.individuals; - /* console.log("Data First",this.data); this.cart.push(this.generalForm.value.individuals); this.data=Object.assign(this.cart); - console.log("Cart",this.cart); // this.data=Object.assign(this.generalForm.value.individuals) this.datajson=JSON.stringify(this.cart) - console.log("dataobj",this.dataobj) - console.log("data",this.data); - console.log("datajson",this.datajson)*/ if(v=='1') { if(!this.generalForm.controls['individuals'].valid){ @@ -465,8 +442,6 @@ dataobj:any; control.value[i].is_active=false var vla=control.value[i] this.OldData.push(vla); - //console.log(vla); - //console.log(this.OldData); control.removeAt(i); @@ -499,7 +474,6 @@ dataobj:any; if(res['dataStatus']==true) { this.qualificationList=res['records'].filter(com=>com.isactive==1); - //console.log("qualificationList",this.qualificationList) } }); this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{ @@ -544,7 +518,6 @@ dataobj:any; } if(exist_applicant_relation.length > 0){ exist_applicant_relation.forEach(val => { - // console.log(val); relationControl.push(this.createApplicantRelation(val)); //push related to details this.fetch_related_details.push(val.applicant_name); @@ -603,7 +576,6 @@ dataobj:any; let relationControl = this.generalForm.controls['applicant_relation']; let pos_id = relationControl.value.map(e=> e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value); - // console.log(pos_id,item.pd_co_applicant_id.value); if(item.pd_co_applicant_id.value !=0){ relationControl.removeAt(pos_id); let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value); @@ -620,7 +592,6 @@ dataobj:any; } createApplicantRelation(elementValue: any) { - //console.log('function in 156'); return this.fb.group({ pd_co_applicant_id: [elementValue.pd_co_applicant_id], @@ -664,7 +635,6 @@ dataobj:any; } getDateObjects(values: any, controlIndex) { - // console.log("Date Change Action",values); let control: any = this.generalForm.get('companies') as FormArray; control.controls['business_years']='' control.controls['business_month']='' @@ -687,7 +657,6 @@ getDateObjects(values: any, controlIndex) { submitData(answerData) { - console.log("Answer",answerData); let saveRecords:any={} var valuesData_indi:any=[] @@ -726,12 +695,9 @@ getDateObjects(values: any, controlIndex) { saveRecords.persons_with_relationships=answerData.persons_with_relationships; saveRecords.company_with_relationships=answerData.company_with_relationships saveRecords.general_remark=answerData.general_remark; - console.log("save Records",saveRecords); - //console.log("saveR",saveRecords) - //console.log("Save",valuesData) this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{ if(dataResult['dataStatus']==true){ @@ -741,12 +707,10 @@ getDateObjects(values: any, controlIndex) { } else{ this.toast.pdTriggerappmessage('Error'); - //console.log("Error",) } }) /* Old Data - console.log("Answer Data",answerData); if(this.generalForm.valid) { let saveRecords:any = {} @@ -779,7 +743,6 @@ getDateObjects(values: any, controlIndex) { saveRecords.selected_applicant=applicantList; saveRecords.applicant_relation=applicantRelationList; saveRecords.fk_createdby = this.users; - console.log(saveRecords); this.qustCat.saveForm(saveRecords).subscribe(res=> { if(res['dataStatus']==true) @@ -801,11 +764,9 @@ getDateObjects(values: any, controlIndex) { companyControl.controls=[] if(res['dataStatus']==true) { - // console.log("Getting DAta",res); this.lengthv=this.data_all; this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark); - //console.log("1") this.initlistv(this.data_all.individuals,'get') /* var arrlist_indi:any=[] @@ -819,7 +780,6 @@ getDateObjects(values: any, controlIndex) { } }) }*/ - // console.log("2") @@ -839,29 +799,21 @@ getDateObjects(values: any, controlIndex) { }) } - //console.log(exist_companies); - //console.log("Old Data",this.OldData); this.initCompanyValue(arraylis,'get'); - // console.log("3") if(this.data_all.persons_with_relationships != ''){ - // console.log("Entering personwithRelation") this.initPersonRelationship(this.data_all.persons_with_relationships); - //console.log("4") } if(this.data_all.company_with_relationships != ''){ this.initCompanyRelationShip(this.data_all.company_with_relationships); - // console.log("5") } } else{ - // console.log("Error"); } }) /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; - console.log('function in'); this.qustCat.retiverForm(records).subscribe(res=> { if(res['dataStatus']==true) @@ -873,7 +825,6 @@ getDateObjects(values: any, controlIndex) { let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key) { - console.log(key); return res['records'].applicant_relation[key]; }); diff --git a/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts b/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts index f2cc4abf..6e97bd1f 100644 --- a/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts +++ b/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts @@ -101,7 +101,7 @@ export class PdQuestionLenderRepresentativePage { { return res['records'].lender_representative_details[key]; }); - console.log(lender_represent_details); + const control = this.representativeForm.controls['lender_representative_details'] as FormArray; lender_represent_details.forEach(val=> { diff --git a/src/pages/pd-question/pd-question-loans/pd-question-loans.ts b/src/pages/pd-question/pd-question-loans/pd-question-loans.ts index 3fe4646f..c79d4e29 100755 --- a/src/pages/pd-question/pd-question-loans/pd-question-loans.ts +++ b/src/pages/pd-question/pd-question-loans/pd-question-loans.ts @@ -64,7 +64,6 @@ export class PdQuestionLoansPage { constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) { this.FormId = this.navParams.get('FormId'); this.pdDetails = this.navParams.get('pdDetails'); - console.log(this.pdDetails); this.applicants = this.pdDetails.applicat_details this.productAbbr = this.pdDetails.product_abbr; this.users = this.aws.getlocale(); @@ -99,7 +98,6 @@ export class PdQuestionLoansPage { loandetails_remarks: ['', Validators.compose([Validators.required])], }); - console.log(75,this.pdDetails.product_abbr); if(this.pdDetails.product_abbr !="BL" || this.pdDetails.product_abbr !="PL" || this.pdDetails.product_abbr !="LL") { this.mortagetypeAccess = true; @@ -107,7 +105,6 @@ export class PdQuestionLoansPage { { this.mortagetypeAccess = false; } - console.log(this.mortagetypeAccess); if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){ @@ -118,7 +115,7 @@ export class PdQuestionLoansPage { ionViewDidLoad() { - console.log('ionViewDidLoad PdQuestionLoansPage'); + console .log('ionViewDidLoad PdQuestionLoansPage'); this.getLoanDetails(); } @@ -141,7 +138,6 @@ export class PdQuestionLoansPage { this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe( data => { if(data['dataStatus']==true){ - // console.log(data['records']); let that = this; this.m_mortageTypeProperty = data['records'].filter( function(data){ @@ -158,7 +154,6 @@ export class PdQuestionLoansPage { return ; } }); - console.log(this.m_mortageTypeProperty); // this.mortage_type(this.propertyType); } }); @@ -183,10 +178,8 @@ export class PdQuestionLoansPage { }); this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{ - console.log("Entering company List") if(data['dataStatus']==true){ this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true) - console.log("company List",data['records']) } let modifyCompanyList : any=[]; if(this.existCompanyList.length>0){ @@ -213,23 +206,18 @@ export class PdQuestionLoansPage { }) - console.log("complete") } selectedBalancesTransferChanges(event: any){ - // console.log('First Time',event); - // console.log('First Time Value',event.value); // if(event.value == 'no') { // this.loanDetailsForm.controls['is_topup'].clearValidators(); //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity(); // this.loanDetailsForm.controls['is_topup'].setValue(''); - // console.log('no',event.value); //} //else if(event.value == 'yes'){ // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]); //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity(); - // console.log('yes',event.value); // } if (event.value == 'no') { this.loanDetailsForm.controls['source'].setValidators([Validators.required]); @@ -266,9 +254,7 @@ export class PdQuestionLoansPage { mortage_type(mortage_value) { - console.log(mortage_value); let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0]; - console.log(mortagetypes); var property_name=mortagetypes.property_name if(property_name=='Others (Please Specify)') { @@ -300,25 +286,21 @@ export class PdQuestionLoansPage { this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt); } endUserChange(event) { - console.log("change",this.m_endUseForLoan); //this.endUserList = []; event.forEach(option => { let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0]; othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase(); this.endUserList.push({ end_use: option }); - console.log(201,othresData); if (othresData == 'others') { this.isOtherPurpose = true; return ; }else { - //console.log('else'); this.isOtherPurpose = false; } }); - console.log(this.endUserList); } ownerNameChange(event) { this.ownerNames = []; @@ -327,7 +309,6 @@ export class PdQuestionLoansPage { }); } sourceChange(evt) { - // console.log('source Changed Values',evt); // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ; // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ; @@ -368,8 +349,6 @@ export class PdQuestionLoansPage { } } submitLoanDetails() { - // console.log(answerData); - // console.log(this.endUserList); // if(this.loanDetailsForm.valid){ let records: any = {}; records.pdid = this.pdDetails.pd_id; @@ -444,7 +423,6 @@ export class PdQuestionLoansPage { records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value; }; // records.owner_name_group = this.ownerNames; - // console.log(this.loanDetailsForm.controls['owner_name'].value); if(this.loanDetailsForm.controls['owner_name'].value != ''){ let dataOwner_name = []; this.loanDetailsForm.controls['owner_name'].value.forEach(element => { @@ -469,9 +447,7 @@ export class PdQuestionLoansPage { 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; - console.log('data', records); this.qustCat.saveForm(records).subscribe(data => { - console.log('data', data); this.navCtrl.pop(); this.toast.pdTriggerappmessage('Record Saved Successfully.!'); // this.notifier.notify('success', 'Saved Successfully.'); @@ -483,11 +459,9 @@ export class PdQuestionLoansPage { } getLoanDetails() { - console.log("Entering LoanDetails GEt"); let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; this.qustCat.retiverForm(records).subscribe(value => { - console.log('value', value); if (value['dataStatus'] == true) { let loanDetails = value['records']; let result = Object.keys(loanDetails.end_use_group).map(function (key) { @@ -510,8 +484,6 @@ export class PdQuestionLoansPage { this.ownerNames.push({'end_use':val.end_use}); }); } - // console.log('enduse', enduse); - console.log('ownername', loanDetails); this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount); if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); } this.loanDetailsForm.controls['end_use'].setValue(this.enduse); @@ -586,7 +558,6 @@ export class PdQuestionLoansPage { this.propertyType =loanDetails.property_type; if(loanDetails.property_type !=null){ this.mortage_type(this.propertyType); - console.log("mortageCardAccess",this.mortageCardAccess); if(this.mortageCardAccess == true){ this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); // this.mortage_type(loanDetails.property_type_others); diff --git a/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts b/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts index 7d374291..ff2d45a3 100755 --- a/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts +++ b/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts @@ -38,7 +38,6 @@ export class PdQuestionNeighbourHoodPage { 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'); - console.log("Pd",this.pdDetails) this.FormId = this.navParams.get('FormId'); this.applicants = this.pdDetails.applicat_details; this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2); @@ -53,7 +52,6 @@ export class PdQuestionNeighbourHoodPage { referencecheck_list: this.fb.array([]), neighbour_reference_remark:'' }) - // console.log(this.pdDetails); this.users = this.aws.getlocale(); this.getneighbourhood(); @@ -61,7 +59,7 @@ export class PdQuestionNeighbourHoodPage { } ionViewDidLoad() { - console.log('ionViewDidLoad PdQuestionNeighbourHoodPage'); + console .log('ionViewDidLoad PdQuestionNeighbourHoodPage'); } getdropdown() @@ -114,11 +112,9 @@ export class PdQuestionNeighbourHoodPage { } toggleVisibility(e,index,flag){ - console.log(e,index); let val if(flag == 1){ - // console.log("val",val); this.isDisplay[index] = e; } else if(flag==2){ @@ -127,7 +123,6 @@ toggleVisibility(e,index,flag){ } checkOthers(values){ - console.log("check other value",values) if(values!=null) { return values==0 ? true : false; } @@ -208,7 +203,6 @@ checkOthers(values){ { - console.log(answerData); let saveRecords:any = {} let referencecheck_list:any=[]; @@ -258,7 +252,6 @@ checkOthers(values){ saveRecords.fk_createdby = this.users; saveRecords.neighbourhood_status=answerData.neighbourhood_status saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark; - console.log(saveRecords); this.qustCat.saveForm(saveRecords).subscribe(res=> { @@ -282,7 +275,6 @@ checkOthers(values){ if(res['dataStatus']==true) { let neighbourDetails = res['records']; - console.log("neighbour Status",neighbourDetails) // neighbourDetails.neighbourhood_list.='' if(neighbourDetails.check_type==0) @@ -295,10 +287,8 @@ checkOthers(values){ { return res['records'].neighbourhood_list[key]; }); - console.log("data") neighbourhood_list.forEach((element,index)=> { - console.log("did_not Know",element.did_not_know_the_business_operation) 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()); @@ -316,19 +306,16 @@ checkOthers(values){ { return res['records'].referencecheck_list[key]; }); - console.log(referencecheck_list); this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type); this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark); referencecheck_list.forEach((val,index)=> { let statecodesearch = val.landline.search("-"); referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch); - console.log(val); referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8); control.push(this.createreferance()); this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount); }); - console.log(referencecheck_list); this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list); }else diff --git a/src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts b/src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts index 478e3777..bb7a9002 100755 --- a/src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts +++ b/src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts @@ -37,7 +37,6 @@ export class PdQuestionOtherIncomePage { this.pdDetails = this.navParams.get('pdDetails'); this.pdid=this.pdDetails.pd_id; - console.log("pdid",this.pdid); this.FormId = this.navParams.get('FormId'); this.getFrequency(); this.users = this.aws.getlocale(); @@ -87,7 +86,6 @@ deleteIncomeDetails(index) { } checkotherDetails(val) { - console.log("Change",val) if(val=="Yes") { this.addIncomeDetails(); @@ -97,8 +95,6 @@ checkotherDetails(val) const control= this.otherIncomeForm.controls['income_details']; control.removeAt(0) // let len=control.length - // console.log("Form",this.otherIncomeForm) - // console.log("Length",control.length) // for(let i=0;i{ - // console.log("income earn",res) if(res['dataStatus']==true) { - console.log("income Earned by",res); this.incomeEarnedBy=res['record']; - //console.log("res",res['record']) } }) let master_name = 'FREQUENCY'; this.qustCat.getcommondrop(master_name).subscribe(data => { - //console.log('data', data); if(data['dataStatus']==true) { this.frequencyData = data['records'].filter(fre=>fre.isactive==1); @@ -145,9 +137,7 @@ submitOtherIncome(answerData) records.other_income = answerData.other_income; records.income_details = answerData.income_details; records.otherincome_remarks = answerData.otherincome_remarks; - console.log('data', records); this.qustCat.saveForm(records).subscribe(data => { - console.log('data', data); this.navCtrl.pop(); this.toast.pdTriggerappmessage('Record Saved Successfully.!'); }, error => { @@ -162,19 +152,15 @@ getOtherIncome() this.qustCat.retiverForm(records).subscribe(res=> { this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray; - console.log(124,res); this.otherIncomeDetails = res; if(this.otherIncomeDetails.dataStatus == true) { this.otherIncomeDetails = this.otherIncomeDetails.records; if(this.otherIncomeDetails.other_income=='Yes'){ - console.log('if'); var incomeArray = Object.keys(res['records'].income_details).map(function(key) { - //console.log(res); return res['records'].income_details[key]; }); - console.log(this.otherIncomeDetails); this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income); this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks); @@ -189,7 +175,6 @@ getOtherIncome() incomeArray.forEach((datas,index)=> { this.incomeDetails.push(this.createDetail()); - // console.log("Amount",this.otherIncomeDetails.income_details.amount); this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount) }) } @@ -197,7 +182,6 @@ getOtherIncome() }else { - console.log('else'); this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income); this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks); } diff --git a/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts b/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts index 275e5451..98574c2b 100755 --- a/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts +++ b/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts @@ -47,7 +47,6 @@ export class PdQuestionPersonalInfoPage implements OnInit{ this.questionDetails = this.navParams.get('questionDetails'); this.pdDetails = this.navParams.get('pdDetails'); this.users = this.aws.getlocale(); - console.log(this.pdDetails); // this.getRelationMaster(); @@ -61,7 +60,6 @@ export class PdQuestionPersonalInfoPage implements OnInit{ this.getRelationMaster(); this.mainApplicantDetails = this.pdDetails.applicat_details .filter(item => item.applicant_type == 1); - // console.log(this.mainApplicantDetails) this.coApplicantDetails = this.pdDetails.applicat_details .filter(item => item.applicant_type == 0); } @@ -146,7 +144,6 @@ var co_result = Object.keys(data.co_applicant_details).map(function(key) { coItem: coApplicantGroup, personal_info_form_remark: [data.personal_info_form_remark] }); - //console.log(this._personalForm); this.loadDataStatus = true; } @@ -202,7 +199,6 @@ var co_result = Object.keys(data.co_applicant_details).map(function(key) { coItem: coApplicantGroup, personal_info_form_remark:null }); - //console.log(this._personalForm); this.loadDataStatus = true; } @@ -263,7 +259,6 @@ submitPersonalForm(formData:any) { "co_applicant_details":co_applicantDetails, "personal_info_form_remark": this._personalForm.get('personal_info_form_remark').value }; - console.log(save_details); this.qustCat.saveForm(save_details).subscribe(result => { if (result['dataStatus']==true) { this.navCtrl.pop(); diff --git a/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts b/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts index 3ce89ffa..e77de074 100644 --- a/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts +++ b/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts @@ -41,7 +41,7 @@ export class PdQuestionRentalInfoPage { } ionViewDidLoad() { - console.log('ionViewDidLoad PdQuestionRentalInfoPage'); + console.log('ionViewDidLoad PdQuestionRentalInfoPage'); } createrentalHome() @@ -94,8 +94,6 @@ export class PdQuestionRentalInfoPage { { const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray; - // console.log(rent); - console.log(control); // control.controls.splice(0); control.push(this.createTenantsDetails()); @@ -121,9 +119,7 @@ export class PdQuestionRentalInfoPage { } saveRentalDetails(answerData) { - //console.log(answerData); let records:any={} - console.log(this.rentalForms.value); // if(this.rentalForms.valid){ @@ -139,7 +135,6 @@ export class PdQuestionRentalInfoPage { } records.rental_home = answerData.rental_home; Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]); - console.log('data',records); this.qustCat.saveForm(records).subscribe(res=> { @@ -160,13 +155,11 @@ export class PdQuestionRentalInfoPage { let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; this.qustCat.retiverForm(records).subscribe(res=> { - console.log(res); if(res['dataStatus']==true) { let rentalDetails = res['records']; var rentalData = Object.keys(res['records'].rental_home ).map(function(key) { - //console.log(res); return res['records'].rental_home [key]; @@ -177,10 +170,7 @@ export class PdQuestionRentalInfoPage { rentalData.forEach((val,index)=> { - console.log(index); - // console.log(val); // this.addrentalHome(); - console.log(control); // tanantsData.push(Object.keys(val.details_tenants).map(function(key) // { @@ -204,10 +194,8 @@ export class PdQuestionRentalInfoPage { tanantscontrol.push(this.createTenantsDetails()); }); - // console.log(182,control.controls[index].get('details_tenants')); // control[index].details_tenants =tanantscontrol; }); - // console.log(rentalData); 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); @@ -217,7 +205,6 @@ export class PdQuestionRentalInfoPage { } this.rentalForms.controls['rental_home'].setValue(rentalData); - console.log(this.rentalForms); }else { this.addrentalHome(); diff --git a/src/pages/pd-question/pd-question.ts b/src/pages/pd-question/pd-question.ts index 588ad3ae..6fc11d02 100755 --- a/src/pages/pd-question/pd-question.ts +++ b/src/pages/pd-question/pd-question.ts @@ -49,7 +49,6 @@ export class PdQuestionPage { qustType:any; constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform,public fb:FormBuilder,public qstDetails:QuestionCategoryProvider,public aws:AwsServiceProvider,public camera:CameraProvider,public toast:ToastProvider) { - console.log('Width: ' + platform.width()); this.screenWidth_px=platform.width(); @@ -67,7 +66,6 @@ export class PdQuestionPage { } ionViewDidLoad() { - // console.log('ionViewDidLoad GoogleplaytabPage'); } ionViewDidEnter() { this.SwipedTabsIndicator = document.getElementById("indicator"); @@ -83,21 +81,15 @@ export class PdQuestionPage { scrollIndicatiorTab() { - //console.log(1); this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0); - // console.log(82,this.isLeft); - // console.log(this.isLeft,this.isRight); // let answerDetails = this.questionAnswer.value; - // console.log(answerDetails); // let remarks = this.questionanotherData.value; if(this.isLeft) { - console.log(this.isLeft); //this.prev(answerDetails,remarks,this.questionDetails); } if(this.isRight) { - console.log(this.isRight); //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails); } } @@ -181,9 +173,7 @@ export class PdQuestionPage { getpdQuestionDetails() { this.questionDetails = this.navParams.get('questionDetails'); - console.log('157',this.questionDetails); this.pdinfo = this.navParams.get('pdDetails'); - console.log(this.pdinfo); for(let qustimage of this.questionDetails.questions) { if(qustimage.images !==undefined){ @@ -203,10 +193,8 @@ export class PdQuestionPage { } } - console.log(this.questionAnswer.get('items')['controls']); } } - console.log(this.docArray); for(let i=1;i<=this.questionDetails.questions_count;i++){ let j = i.toString(); this.tabs.push(j); @@ -231,10 +219,7 @@ getquestionAnswer(answers) // count = 0; getDocUpload(qustid) { - //console.log('right',this.isRight,'left',this.isLeft); // this.docqustid = qustId; - // console.log(this.count); - // console.log(qustid); this.camera.getpicture().then(res=> { if(res !== undefined){ @@ -256,16 +241,13 @@ getquestionAnswer(answers) } saveQuestionDetails(answerDetails,questionRemarks,questionDetails) { - console.log(answerDetails); - //console.log(this.docArray); for(let docs of this.docArray) { 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}); - console.log('if'); // return true; }else { @@ -274,14 +256,11 @@ getquestionAnswer(answers) } } - //console.log(answerDetails.answerDetails); if(answerDetails.answerDetails !=null){ //alert('answers'); - console.log(this.imageArray); let pd_id = this.pdinfo.pd_id; let catid = questionDetails.fk_question_category_id; let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0]; - console.log(qt_id); let qut_id = qt_id.fk_question_id; let qustName = qt_id.question; let qut_weightage = qt_id.question_weightage; @@ -333,7 +312,6 @@ getquestionAnswer(answers) }; - //console.log(this.docArray); // this.qstDetails.saveQusetion(saveRecords).subscribe(res=> // { @@ -342,7 +320,6 @@ getquestionAnswer(answers) // this.SwipedTabsSlider.slideNext(); // this.docArray = []; // this.getcategoryList(qt_id,pd_id); - // console.log(this.docArray); // } // }) // }else @@ -354,7 +331,6 @@ getquestionAnswer(answers) getcategoryList(qustinfo,pdId) { - console.log("252",qustinfo); 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 }; let answerData:any; @@ -365,13 +341,10 @@ getquestionAnswer(answers) { // answerData = answerData.records; - // console.log('303',answerData); - // console.log('304',this.questionDetails); // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0]; // eachquestion['answers'] = answerData.answers; // this.questionDetails = - // console.log(this.questionDetails); // this.imageArray = answerData.images; // for(let docs of this.imageArray) // { @@ -382,14 +355,12 @@ getquestionAnswer(answers) }); } prev(answerDetails,questionRemarks,questionDetails) { - //console.log(this.docArray); for(let docs of this.docArray) { 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}); - console.log('if'); // return true; }else { @@ -398,14 +369,11 @@ getquestionAnswer(answers) } } - //console.log(answerDetails.answerDetails); if(answerDetails.answerDetails !=null){ //alert('answers'); - console.log(this.imageArray); let pd_id = this.pdinfo.pd_id; let catid = questionDetails.fk_question_category_id; let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0]; - console.log(qt_id); let qut_id = qt_id.fk_question_id; let qustName = qt_id.question; let qut_weightage = qt_id.question_weightage; @@ -457,7 +425,6 @@ getquestionAnswer(answers) }; - //console.log(this.docArray); this.qstDetails.saveQusetion(saveRecords).subscribe(res=> { @@ -466,7 +433,6 @@ getquestionAnswer(answers) this.SwipedTabsSlider.slidePrev(); this.docArray = []; this.getcategoryList(qt_id,pd_id); - console.log(this.docArray); } }) }else{ diff --git a/src/providers/constants/constants.ts b/src/providers/constants/constants.ts index 5ee8364e..158be889 100755 --- a/src/providers/constants/constants.ts +++ b/src/providers/constants/constants.ts @@ -19,7 +19,7 @@ public commonimage = "http://ssa.sineedge.com/sparqapi/logo/avatar.jpg"; let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/'; let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/'; let localapiurl = 'http://192.168.0.9/sparqapi/api/'; - return devapiurl; + return testapiurl; } getcurrentDate() diff --git a/www/assets/fonts/roboto-bold.ttf b/www/assets/fonts/roboto-bold.ttf index 58353df1..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 8ccb7ac0..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 0fd39361..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 dabf1a0e..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 deleted file mode 100644 index 63cf41e5..00000000 --- a/www/build/main.css +++ /dev/null @@ -1,29613 +0,0 @@ -.ion-ios-add:before { - content: "\f102"; -} - -.ion-ios-add-circle:before { - content: "\f101"; -} - -.ion-ios-add-circle-outline:before { - content: "\f100"; -} - -.ion-ios-add-outline:before { - content: "\f102"; -} - -.ion-ios-alarm:before { - content: "\f3c8"; -} - -.ion-ios-alarm-outline:before { - content: "\f3c7"; -} - -.ion-ios-albums:before { - content: "\f3ca"; -} - -.ion-ios-albums-outline:before { - content: "\f3c9"; -} - -.ion-ios-alert:before { - content: "\f104"; -} - -.ion-ios-alert-outline:before { - content: "\f103"; -} - -.ion-ios-american-football:before { - content: "\f106"; -} - -.ion-ios-american-football-outline:before { - content: "\f105"; -} - -.ion-ios-analytics:before { - content: "\f3ce"; -} - -.ion-ios-analytics-outline:before { - content: "\f3cd"; -} - -.ion-ios-aperture:before { - content: "\f108"; -} - -.ion-ios-aperture-outline:before { - content: "\f107"; -} - -.ion-ios-apps:before { - content: "\f10a"; -} - -.ion-ios-apps-outline:before { - content: "\f109"; -} - -.ion-ios-appstore:before { - content: "\f10c"; -} - -.ion-ios-appstore-outline:before { - content: "\f10b"; -} - -.ion-ios-archive:before { - content: "\f10e"; -} - -.ion-ios-archive-outline:before { - content: "\f10d"; -} - -.ion-ios-arrow-back:before { - content: "\f3cf"; -} - -.ion-ios-arrow-back-outline:before { - content: "\f3cf"; -} - -.ion-ios-arrow-down:before { - content: "\f3d0"; -} - -.ion-ios-arrow-down-outline:before { - content: "\f3d0"; -} - -.ion-ios-arrow-dropdown:before { - content: "\f110"; -} - -.ion-ios-arrow-dropdown-circle:before { - content: "\f10f"; -} - -.ion-ios-arrow-dropdown-circle-outline:before { - content: "\f10f"; -} - -.ion-ios-arrow-dropdown-outline:before { - content: "\f110"; -} - -.ion-ios-arrow-dropleft:before { - content: "\f112"; -} - -.ion-ios-arrow-dropleft-circle:before { - content: "\f111"; -} - -.ion-ios-arrow-dropleft-circle-outline:before { - content: "\f111"; -} - -.ion-ios-arrow-dropleft-outline:before { - content: "\f112"; -} - -.ion-ios-arrow-dropright:before { - content: "\f114"; -} - -.ion-ios-arrow-dropright-circle:before { - content: "\f113"; -} - -.ion-ios-arrow-dropright-circle-outline:before { - content: "\f113"; -} - -.ion-ios-arrow-dropright-outline:before { - content: "\f114"; -} - -.ion-ios-arrow-dropup:before { - content: "\f116"; -} - -.ion-ios-arrow-dropup-circle:before { - content: "\f115"; -} - -.ion-ios-arrow-dropup-circle-outline:before { - content: "\f115"; -} - -.ion-ios-arrow-dropup-outline:before { - content: "\f116"; -} - -.ion-ios-arrow-forward:before { - content: "\f3d1"; -} - -.ion-ios-arrow-forward-outline:before { - content: "\f3d1"; -} - -.ion-ios-arrow-round-back:before { - content: "\f117"; -} - -.ion-ios-arrow-round-back-outline:before { - content: "\f117"; -} - -.ion-ios-arrow-round-down:before { - content: "\f118"; -} - -.ion-ios-arrow-round-down-outline:before { - content: "\f118"; -} - -.ion-ios-arrow-round-forward:before { - content: "\f119"; -} - -.ion-ios-arrow-round-forward-outline:before { - content: "\f119"; -} - -.ion-ios-arrow-round-up:before { - content: "\f11a"; -} - -.ion-ios-arrow-round-up-outline:before { - content: "\f11a"; -} - -.ion-ios-arrow-up:before { - content: "\f3d8"; -} - -.ion-ios-arrow-up-outline:before { - content: "\f3d8"; -} - -.ion-ios-at:before { - content: "\f3da"; -} - -.ion-ios-at-outline:before { - content: "\f3d9"; -} - -.ion-ios-attach:before { - content: "\f11b"; -} - -.ion-ios-attach-outline:before { - content: "\f11b"; -} - -.ion-ios-backspace:before { - content: "\f11d"; -} - -.ion-ios-backspace-outline:before { - content: "\f11c"; -} - -.ion-ios-barcode:before { - content: "\f3dc"; -} - -.ion-ios-barcode-outline:before { - content: "\f3db"; -} - -.ion-ios-baseball:before { - content: "\f3de"; -} - -.ion-ios-baseball-outline:before { - content: "\f3dd"; -} - -.ion-ios-basket:before { - content: "\f11f"; -} - -.ion-ios-basket-outline:before { - content: "\f11e"; -} - -.ion-ios-basketball:before { - content: "\f3e0"; -} - -.ion-ios-basketball-outline:before { - content: "\f3df"; -} - -.ion-ios-battery-charging:before { - content: "\f120"; -} - -.ion-ios-battery-charging-outline:before { - content: "\f120"; -} - -.ion-ios-battery-dead:before { - content: "\f121"; -} - -.ion-ios-battery-dead-outline:before { - content: "\f121"; -} - -.ion-ios-battery-full:before { - content: "\f122"; -} - -.ion-ios-battery-full-outline:before { - content: "\f122"; -} - -.ion-ios-beaker:before { - content: "\f124"; -} - -.ion-ios-beaker-outline:before { - content: "\f123"; -} - -.ion-ios-beer:before { - content: "\f126"; -} - -.ion-ios-beer-outline:before { - content: "\f125"; -} - -.ion-ios-bicycle:before { - content: "\f127"; -} - -.ion-ios-bicycle-outline:before { - content: "\f127"; -} - -.ion-ios-bluetooth:before { - content: "\f128"; -} - -.ion-ios-bluetooth-outline:before { - content: "\f128"; -} - -.ion-ios-boat:before { - content: "\f12a"; -} - -.ion-ios-boat-outline:before { - content: "\f129"; -} - -.ion-ios-body:before { - content: "\f3e4"; -} - -.ion-ios-body-outline:before { - content: "\f3e3"; -} - -.ion-ios-bonfire:before { - content: "\f12c"; -} - -.ion-ios-bonfire-outline:before { - content: "\f12b"; -} - -.ion-ios-book:before { - content: "\f3e8"; -} - -.ion-ios-book-outline:before { - content: "\f3e7"; -} - -.ion-ios-bookmark:before { - content: "\f12e"; -} - -.ion-ios-bookmark-outline:before { - content: "\f12d"; -} - -.ion-ios-bookmarks:before { - content: "\f3ea"; -} - -.ion-ios-bookmarks-outline:before { - content: "\f3e9"; -} - -.ion-ios-bowtie:before { - content: "\f130"; -} - -.ion-ios-bowtie-outline:before { - content: "\f12f"; -} - -.ion-ios-briefcase:before { - content: "\f3ee"; -} - -.ion-ios-briefcase-outline:before { - content: "\f3ed"; -} - -.ion-ios-browsers:before { - content: "\f3f0"; -} - -.ion-ios-browsers-outline:before { - content: "\f3ef"; -} - -.ion-ios-brush:before { - content: "\f132"; -} - -.ion-ios-brush-outline:before { - content: "\f131"; -} - -.ion-ios-bug:before { - content: "\f134"; -} - -.ion-ios-bug-outline:before { - content: "\f133"; -} - -.ion-ios-build:before { - content: "\f136"; -} - -.ion-ios-build-outline:before { - content: "\f135"; -} - -.ion-ios-bulb:before { - content: "\f138"; -} - -.ion-ios-bulb-outline:before { - content: "\f137"; -} - -.ion-ios-bus:before { - content: "\f13a"; -} - -.ion-ios-bus-outline:before { - content: "\f139"; -} - -.ion-ios-cafe:before { - content: "\f13c"; -} - -.ion-ios-cafe-outline:before { - content: "\f13b"; -} - -.ion-ios-calculator:before { - content: "\f3f2"; -} - -.ion-ios-calculator-outline:before { - content: "\f3f1"; -} - -.ion-ios-calendar:before { - content: "\f3f4"; -} - -.ion-ios-calendar-outline:before { - content: "\f3f3"; -} - -.ion-ios-call:before { - content: "\f13e"; -} - -.ion-ios-call-outline:before { - content: "\f13d"; -} - -.ion-ios-camera:before { - content: "\f3f6"; -} - -.ion-ios-camera-outline:before { - content: "\f3f5"; -} - -.ion-ios-car:before { - content: "\f140"; -} - -.ion-ios-car-outline:before { - content: "\f13f"; -} - -.ion-ios-card:before { - content: "\f142"; -} - -.ion-ios-card-outline:before { - content: "\f141"; -} - -.ion-ios-cart:before { - content: "\f3f8"; -} - -.ion-ios-cart-outline:before { - content: "\f3f7"; -} - -.ion-ios-cash:before { - content: "\f144"; -} - -.ion-ios-cash-outline:before { - content: "\f143"; -} - -.ion-ios-chatboxes:before { - content: "\f3fa"; -} - -.ion-ios-chatboxes-outline:before { - content: "\f3f9"; -} - -.ion-ios-chatbubbles:before { - content: "\f146"; -} - -.ion-ios-chatbubbles-outline:before { - content: "\f145"; -} - -.ion-ios-checkbox:before { - content: "\f148"; -} - -.ion-ios-checkbox-outline:before { - content: "\f147"; -} - -.ion-ios-checkmark:before { - content: "\f3ff"; -} - -.ion-ios-checkmark-circle:before { - content: "\f14a"; -} - -.ion-ios-checkmark-circle-outline:before { - content: "\f149"; -} - -.ion-ios-checkmark-outline:before { - content: "\f3ff"; -} - -.ion-ios-clipboard:before { - content: "\f14c"; -} - -.ion-ios-clipboard-outline:before { - content: "\f14b"; -} - -.ion-ios-clock:before { - content: "\f403"; -} - -.ion-ios-clock-outline:before { - content: "\f402"; -} - -.ion-ios-close:before { - content: "\f406"; -} - -.ion-ios-close-circle:before { - content: "\f14e"; -} - -.ion-ios-close-circle-outline:before { - content: "\f14d"; -} - -.ion-ios-close-outline:before { - content: "\f406"; -} - -.ion-ios-closed-captioning:before { - content: "\f150"; -} - -.ion-ios-closed-captioning-outline:before { - content: "\f14f"; -} - -.ion-ios-cloud:before { - content: "\f40c"; -} - -.ion-ios-cloud-circle:before { - content: "\f152"; -} - -.ion-ios-cloud-circle-outline:before { - content: "\f151"; -} - -.ion-ios-cloud-done:before { - content: "\f154"; -} - -.ion-ios-cloud-done-outline:before { - content: "\f153"; -} - -.ion-ios-cloud-download:before { - content: "\f408"; -} - -.ion-ios-cloud-download-outline:before { - content: "\f407"; -} - -.ion-ios-cloud-outline:before { - content: "\f409"; -} - -.ion-ios-cloud-upload:before { - content: "\f40b"; -} - -.ion-ios-cloud-upload-outline:before { - content: "\f40a"; -} - -.ion-ios-cloudy:before { - content: "\f410"; -} - -.ion-ios-cloudy-night:before { - content: "\f40e"; -} - -.ion-ios-cloudy-night-outline:before { - content: "\f40d"; -} - -.ion-ios-cloudy-outline:before { - content: "\f40f"; -} - -.ion-ios-code:before { - content: "\f157"; -} - -.ion-ios-code-download:before { - content: "\f155"; -} - -.ion-ios-code-download-outline:before { - content: "\f155"; -} - -.ion-ios-code-outline:before { - content: "\f157"; -} - -.ion-ios-code-working:before { - content: "\f156"; -} - -.ion-ios-code-working-outline:before { - content: "\f156"; -} - -.ion-ios-cog:before { - content: "\f412"; -} - -.ion-ios-cog-outline:before { - content: "\f411"; -} - -.ion-ios-color-fill:before { - content: "\f159"; -} - -.ion-ios-color-fill-outline:before { - content: "\f158"; -} - -.ion-ios-color-filter:before { - content: "\f414"; -} - -.ion-ios-color-filter-outline:before { - content: "\f413"; -} - -.ion-ios-color-palette:before { - content: "\f15b"; -} - -.ion-ios-color-palette-outline:before { - content: "\f15a"; -} - -.ion-ios-color-wand:before { - content: "\f416"; -} - -.ion-ios-color-wand-outline:before { - content: "\f415"; -} - -.ion-ios-compass:before { - content: "\f15d"; -} - -.ion-ios-compass-outline:before { - content: "\f15c"; -} - -.ion-ios-construct:before { - content: "\f15f"; -} - -.ion-ios-construct-outline:before { - content: "\f15e"; -} - -.ion-ios-contact:before { - content: "\f41a"; -} - -.ion-ios-contact-outline:before { - content: "\f419"; -} - -.ion-ios-contacts:before { - content: "\f161"; -} - -.ion-ios-contacts-outline:before { - content: "\f160"; -} - -.ion-ios-contract:before { - content: "\f162"; -} - -.ion-ios-contract-outline:before { - content: "\f162"; -} - -.ion-ios-contrast:before { - content: "\f163"; -} - -.ion-ios-contrast-outline:before { - content: "\f163"; -} - -.ion-ios-copy:before { - content: "\f41c"; -} - -.ion-ios-copy-outline:before { - content: "\f41b"; -} - -.ion-ios-create:before { - content: "\f165"; -} - -.ion-ios-create-outline:before { - content: "\f164"; -} - -.ion-ios-crop:before { - content: "\f41e"; -} - -.ion-ios-crop-outline:before { - content: "\f166"; -} - -.ion-ios-cube:before { - content: "\f168"; -} - -.ion-ios-cube-outline:before { - content: "\f167"; -} - -.ion-ios-cut:before { - content: "\f16a"; -} - -.ion-ios-cut-outline:before { - content: "\f169"; -} - -.ion-ios-desktop:before { - content: "\f16c"; -} - -.ion-ios-desktop-outline:before { - content: "\f16b"; -} - -.ion-ios-disc:before { - content: "\f16e"; -} - -.ion-ios-disc-outline:before { - content: "\f16d"; -} - -.ion-ios-document:before { - content: "\f170"; -} - -.ion-ios-document-outline:before { - content: "\f16f"; -} - -.ion-ios-done-all:before { - content: "\f171"; -} - -.ion-ios-done-all-outline:before { - content: "\f171"; -} - -.ion-ios-download:before { - content: "\f420"; -} - -.ion-ios-download-outline:before { - content: "\f41f"; -} - -.ion-ios-easel:before { - content: "\f173"; -} - -.ion-ios-easel-outline:before { - content: "\f172"; -} - -.ion-ios-egg:before { - content: "\f175"; -} - -.ion-ios-egg-outline:before { - content: "\f174"; -} - -.ion-ios-exit:before { - content: "\f177"; -} - -.ion-ios-exit-outline:before { - content: "\f176"; -} - -.ion-ios-expand:before { - content: "\f178"; -} - -.ion-ios-expand-outline:before { - content: "\f178"; -} - -.ion-ios-eye:before { - content: "\f425"; -} - -.ion-ios-eye-off:before { - content: "\f17a"; -} - -.ion-ios-eye-off-outline:before { - content: "\f179"; -} - -.ion-ios-eye-outline:before { - content: "\f424"; -} - -.ion-ios-fastforward:before { - content: "\f427"; -} - -.ion-ios-fastforward-outline:before { - content: "\f426"; -} - -.ion-ios-female:before { - content: "\f17b"; -} - -.ion-ios-female-outline:before { - content: "\f17b"; -} - -.ion-ios-filing:before { - content: "\f429"; -} - -.ion-ios-filing-outline:before { - content: "\f428"; -} - -.ion-ios-film:before { - content: "\f42b"; -} - -.ion-ios-film-outline:before { - content: "\f42a"; -} - -.ion-ios-finger-print:before { - content: "\f17c"; -} - -.ion-ios-finger-print-outline:before { - content: "\f17c"; -} - -.ion-ios-flag:before { - content: "\f42d"; -} - -.ion-ios-flag-outline:before { - content: "\f42c"; -} - -.ion-ios-flame:before { - content: "\f42f"; -} - -.ion-ios-flame-outline:before { - content: "\f42e"; -} - -.ion-ios-flash:before { - content: "\f17e"; -} - -.ion-ios-flash-outline:before { - content: "\f17d"; -} - -.ion-ios-flask:before { - content: "\f431"; -} - -.ion-ios-flask-outline:before { - content: "\f430"; -} - -.ion-ios-flower:before { - content: "\f433"; -} - -.ion-ios-flower-outline:before { - content: "\f432"; -} - -.ion-ios-folder:before { - content: "\f435"; -} - -.ion-ios-folder-open:before { - content: "\f180"; -} - -.ion-ios-folder-open-outline:before { - content: "\f17f"; -} - -.ion-ios-folder-outline:before { - content: "\f434"; -} - -.ion-ios-football:before { - content: "\f437"; -} - -.ion-ios-football-outline:before { - content: "\f436"; -} - -.ion-ios-funnel:before { - content: "\f182"; -} - -.ion-ios-funnel-outline:before { - content: "\f181"; -} - -.ion-ios-game-controller-a:before { - content: "\f439"; -} - -.ion-ios-game-controller-a-outline:before { - content: "\f438"; -} - -.ion-ios-game-controller-b:before { - content: "\f43b"; -} - -.ion-ios-game-controller-b-outline:before { - content: "\f43a"; -} - -.ion-ios-git-branch:before { - content: "\f183"; -} - -.ion-ios-git-branch-outline:before { - content: "\f183"; -} - -.ion-ios-git-commit:before { - content: "\f184"; -} - -.ion-ios-git-commit-outline:before { - content: "\f184"; -} - -.ion-ios-git-compare:before { - content: "\f185"; -} - -.ion-ios-git-compare-outline:before { - content: "\f185"; -} - -.ion-ios-git-merge:before { - content: "\f186"; -} - -.ion-ios-git-merge-outline:before { - content: "\f186"; -} - -.ion-ios-git-network:before { - content: "\f187"; -} - -.ion-ios-git-network-outline:before { - content: "\f187"; -} - -.ion-ios-git-pull-request:before { - content: "\f188"; -} - -.ion-ios-git-pull-request-outline:before { - content: "\f188"; -} - -.ion-ios-glasses:before { - content: "\f43f"; -} - -.ion-ios-glasses-outline:before { - content: "\f43e"; -} - -.ion-ios-globe:before { - content: "\f18a"; -} - -.ion-ios-globe-outline:before { - content: "\f189"; -} - -.ion-ios-grid:before { - content: "\f18c"; -} - -.ion-ios-grid-outline:before { - content: "\f18b"; -} - -.ion-ios-hammer:before { - content: "\f18e"; -} - -.ion-ios-hammer-outline:before { - content: "\f18d"; -} - -.ion-ios-hand:before { - content: "\f190"; -} - -.ion-ios-hand-outline:before { - content: "\f18f"; -} - -.ion-ios-happy:before { - content: "\f192"; -} - -.ion-ios-happy-outline:before { - content: "\f191"; -} - -.ion-ios-headset:before { - content: "\f194"; -} - -.ion-ios-headset-outline:before { - content: "\f193"; -} - -.ion-ios-heart:before { - content: "\f443"; -} - -.ion-ios-heart-outline:before { - content: "\f442"; -} - -.ion-ios-help:before { - content: "\f446"; -} - -.ion-ios-help-buoy:before { - content: "\f196"; -} - -.ion-ios-help-buoy-outline:before { - content: "\f195"; -} - -.ion-ios-help-circle:before { - content: "\f198"; -} - -.ion-ios-help-circle-outline:before { - content: "\f197"; -} - -.ion-ios-help-outline:before { - content: "\f446"; -} - -.ion-ios-home:before { - content: "\f448"; -} - -.ion-ios-home-outline:before { - content: "\f447"; -} - -.ion-ios-ice-cream:before { - content: "\f19a"; -} - -.ion-ios-ice-cream-outline:before { - content: "\f199"; -} - -.ion-ios-image:before { - content: "\f19c"; -} - -.ion-ios-image-outline:before { - content: "\f19b"; -} - -.ion-ios-images:before { - content: "\f19e"; -} - -.ion-ios-images-outline:before { - content: "\f19d"; -} - -.ion-ios-infinite:before { - content: "\f44a"; -} - -.ion-ios-infinite-outline:before { - content: "\f449"; -} - -.ion-ios-information:before { - content: "\f44d"; -} - -.ion-ios-information-circle:before { - content: "\f1a0"; -} - -.ion-ios-information-circle-outline:before { - content: "\f19f"; -} - -.ion-ios-information-outline:before { - content: "\f44d"; -} - -.ion-ios-ionic:before { - content: "\f1a1"; -} - -.ion-ios-ionic-outline:before { - content: "\f44e"; -} - -.ion-ios-ionitron:before { - content: "\f1a3"; -} - -.ion-ios-ionitron-outline:before { - content: "\f1a2"; -} - -.ion-ios-jet:before { - content: "\f1a5"; -} - -.ion-ios-jet-outline:before { - content: "\f1a4"; -} - -.ion-ios-key:before { - content: "\f1a7"; -} - -.ion-ios-key-outline:before { - content: "\f1a6"; -} - -.ion-ios-keypad:before { - content: "\f450"; -} - -.ion-ios-keypad-outline:before { - content: "\f44f"; -} - -.ion-ios-laptop:before { - content: "\f1a8"; -} - -.ion-ios-laptop-outline:before { - content: "\f1a8"; -} - -.ion-ios-leaf:before { - content: "\f1aa"; -} - -.ion-ios-leaf-outline:before { - content: "\f1a9"; -} - -.ion-ios-link:before { - content: "\f22a"; -} - -.ion-ios-link-outline:before { - content: "\f1ca"; -} - -.ion-ios-list:before { - content: "\f454"; -} - -.ion-ios-list-box:before { - content: "\f1ac"; -} - -.ion-ios-list-box-outline:before { - content: "\f1ab"; -} - -.ion-ios-list-outline:before { - content: "\f454"; -} - -.ion-ios-locate:before { - content: "\f1ae"; -} - -.ion-ios-locate-outline:before { - content: "\f1ad"; -} - -.ion-ios-lock:before { - content: "\f1b0"; -} - -.ion-ios-lock-outline:before { - content: "\f1af"; -} - -.ion-ios-log-in:before { - content: "\f1b1"; -} - -.ion-ios-log-in-outline:before { - content: "\f1b1"; -} - -.ion-ios-log-out:before { - content: "\f1b2"; -} - -.ion-ios-log-out-outline:before { - content: "\f1b2"; -} - -.ion-ios-magnet:before { - content: "\f1b4"; -} - -.ion-ios-magnet-outline:before { - content: "\f1b3"; -} - -.ion-ios-mail:before { - content: "\f1b8"; -} - -.ion-ios-mail-open:before { - content: "\f1b6"; -} - -.ion-ios-mail-open-outline:before { - content: "\f1b5"; -} - -.ion-ios-mail-outline:before { - content: "\f1b7"; -} - -.ion-ios-male:before { - content: "\f1b9"; -} - -.ion-ios-male-outline:before { - content: "\f1b9"; -} - -.ion-ios-man:before { - content: "\f1bb"; -} - -.ion-ios-man-outline:before { - content: "\f1ba"; -} - -.ion-ios-map:before { - content: "\f1bd"; -} - -.ion-ios-map-outline:before { - content: "\f1bc"; -} - -.ion-ios-medal:before { - content: "\f1bf"; -} - -.ion-ios-medal-outline:before { - content: "\f1be"; -} - -.ion-ios-medical:before { - content: "\f45c"; -} - -.ion-ios-medical-outline:before { - content: "\f45b"; -} - -.ion-ios-medkit:before { - content: "\f45e"; -} - -.ion-ios-medkit-outline:before { - content: "\f45d"; -} - -.ion-ios-megaphone:before { - content: "\f1c1"; -} - -.ion-ios-megaphone-outline:before { - content: "\f1c0"; -} - -.ion-ios-menu:before { - content: "\f1c3"; -} - -.ion-ios-menu-outline:before { - content: "\f1c2"; -} - -.ion-ios-mic:before { - content: "\f461"; -} - -.ion-ios-mic-off:before { - content: "\f45f"; -} - -.ion-ios-mic-off-outline:before { - content: "\f1c4"; -} - -.ion-ios-mic-outline:before { - content: "\f460"; -} - -.ion-ios-microphone:before { - content: "\f1c6"; -} - -.ion-ios-microphone-outline:before { - content: "\f1c5"; -} - -.ion-ios-moon:before { - content: "\f468"; -} - -.ion-ios-moon-outline:before { - content: "\f467"; -} - -.ion-ios-more:before { - content: "\f1c8"; -} - -.ion-ios-more-outline:before { - content: "\f1c7"; -} - -.ion-ios-move:before { - content: "\f1cb"; -} - -.ion-ios-move-outline:before { - content: "\f1cb"; -} - -.ion-ios-musical-note:before { - content: "\f46b"; -} - -.ion-ios-musical-note-outline:before { - content: "\f1cc"; -} - -.ion-ios-musical-notes:before { - content: "\f46c"; -} - -.ion-ios-musical-notes-outline:before { - content: "\f1cd"; -} - -.ion-ios-navigate:before { - content: "\f46e"; -} - -.ion-ios-navigate-outline:before { - content: "\f46d"; -} - -.ion-ios-no-smoking:before { - content: "\f1cf"; -} - -.ion-ios-no-smoking-outline:before { - content: "\f1ce"; -} - -.ion-ios-notifications:before { - content: "\f1d3"; -} - -.ion-ios-notifications-off:before { - content: "\f1d1"; -} - -.ion-ios-notifications-off-outline:before { - content: "\f1d0"; -} - -.ion-ios-notifications-outline:before { - content: "\f1d2"; -} - -.ion-ios-nuclear:before { - content: "\f1d5"; -} - -.ion-ios-nuclear-outline:before { - content: "\f1d4"; -} - -.ion-ios-nutrition:before { - content: "\f470"; -} - -.ion-ios-nutrition-outline:before { - content: "\f46f"; -} - -.ion-ios-open:before { - content: "\f1d7"; -} - -.ion-ios-open-outline:before { - content: "\f1d6"; -} - -.ion-ios-options:before { - content: "\f1d9"; -} - -.ion-ios-options-outline:before { - content: "\f1d8"; -} - -.ion-ios-outlet:before { - content: "\f1db"; -} - -.ion-ios-outlet-outline:before { - content: "\f1da"; -} - -.ion-ios-paper:before { - content: "\f472"; -} - -.ion-ios-paper-outline:before { - content: "\f471"; -} - -.ion-ios-paper-plane:before { - content: "\f1dd"; -} - -.ion-ios-paper-plane-outline:before { - content: "\f1dc"; -} - -.ion-ios-partly-sunny:before { - content: "\f1df"; -} - -.ion-ios-partly-sunny-outline:before { - content: "\f1de"; -} - -.ion-ios-pause:before { - content: "\f478"; -} - -.ion-ios-pause-outline:before { - content: "\f477"; -} - -.ion-ios-paw:before { - content: "\f47a"; -} - -.ion-ios-paw-outline:before { - content: "\f479"; -} - -.ion-ios-people:before { - content: "\f47c"; -} - -.ion-ios-people-outline:before { - content: "\f47b"; -} - -.ion-ios-person:before { - content: "\f47e"; -} - -.ion-ios-person-add:before { - content: "\f1e1"; -} - -.ion-ios-person-add-outline:before { - content: "\f1e0"; -} - -.ion-ios-person-outline:before { - content: "\f47d"; -} - -.ion-ios-phone-landscape:before { - content: "\f1e2"; -} - -.ion-ios-phone-landscape-outline:before { - content: "\f1e2"; -} - -.ion-ios-phone-portrait:before { - content: "\f1e3"; -} - -.ion-ios-phone-portrait-outline:before { - content: "\f1e3"; -} - -.ion-ios-photos:before { - content: "\f482"; -} - -.ion-ios-photos-outline:before { - content: "\f481"; -} - -.ion-ios-pie:before { - content: "\f484"; -} - -.ion-ios-pie-outline:before { - content: "\f483"; -} - -.ion-ios-pin:before { - content: "\f1e5"; -} - -.ion-ios-pin-outline:before { - content: "\f1e4"; -} - -.ion-ios-pint:before { - content: "\f486"; -} - -.ion-ios-pint-outline:before { - content: "\f485"; -} - -.ion-ios-pizza:before { - content: "\f1e7"; -} - -.ion-ios-pizza-outline:before { - content: "\f1e6"; -} - -.ion-ios-plane:before { - content: "\f1e9"; -} - -.ion-ios-plane-outline:before { - content: "\f1e8"; -} - -.ion-ios-planet:before { - content: "\f1eb"; -} - -.ion-ios-planet-outline:before { - content: "\f1ea"; -} - -.ion-ios-play:before { - content: "\f488"; -} - -.ion-ios-play-outline:before { - content: "\f487"; -} - -.ion-ios-podium:before { - content: "\f1ed"; -} - -.ion-ios-podium-outline:before { - content: "\f1ec"; -} - -.ion-ios-power:before { - content: "\f1ef"; -} - -.ion-ios-power-outline:before { - content: "\f1ee"; -} - -.ion-ios-pricetag:before { - content: "\f48d"; -} - -.ion-ios-pricetag-outline:before { - content: "\f48c"; -} - -.ion-ios-pricetags:before { - content: "\f48f"; -} - -.ion-ios-pricetags-outline:before { - content: "\f48e"; -} - -.ion-ios-print:before { - content: "\f1f1"; -} - -.ion-ios-print-outline:before { - content: "\f1f0"; -} - -.ion-ios-pulse:before { - content: "\f493"; -} - -.ion-ios-pulse-outline:before { - content: "\f1f2"; -} - -.ion-ios-qr-scanner:before { - content: "\f1f3"; -} - -.ion-ios-qr-scanner-outline:before { - content: "\f1f3"; -} - -.ion-ios-quote:before { - content: "\f1f5"; -} - -.ion-ios-quote-outline:before { - content: "\f1f4"; -} - -.ion-ios-radio:before { - content: "\f1f9"; -} - -.ion-ios-radio-button-off:before { - content: "\f1f6"; -} - -.ion-ios-radio-button-off-outline:before { - content: "\f1f6"; -} - -.ion-ios-radio-button-on:before { - content: "\f1f7"; -} - -.ion-ios-radio-button-on-outline:before { - content: "\f1f7"; -} - -.ion-ios-radio-outline:before { - content: "\f1f8"; -} - -.ion-ios-rainy:before { - content: "\f495"; -} - -.ion-ios-rainy-outline:before { - content: "\f494"; -} - -.ion-ios-recording:before { - content: "\f497"; -} - -.ion-ios-recording-outline:before { - content: "\f496"; -} - -.ion-ios-redo:before { - content: "\f499"; -} - -.ion-ios-redo-outline:before { - content: "\f498"; -} - -.ion-ios-refresh:before { - content: "\f49c"; -} - -.ion-ios-refresh-circle:before { - content: "\f226"; -} - -.ion-ios-refresh-circle-outline:before { - content: "\f224"; -} - -.ion-ios-refresh-outline:before { - content: "\f49c"; -} - -.ion-ios-remove:before { - content: "\f1fc"; -} - -.ion-ios-remove-circle:before { - content: "\f1fb"; -} - -.ion-ios-remove-circle-outline:before { - content: "\f1fa"; -} - -.ion-ios-remove-outline:before { - content: "\f1fc"; -} - -.ion-ios-reorder:before { - content: "\f1fd"; -} - -.ion-ios-reorder-outline:before { - content: "\f1fd"; -} - -.ion-ios-repeat:before { - content: "\f1fe"; -} - -.ion-ios-repeat-outline:before { - content: "\f1fe"; -} - -.ion-ios-resize:before { - content: "\f1ff"; -} - -.ion-ios-resize-outline:before { - content: "\f1ff"; -} - -.ion-ios-restaurant:before { - content: "\f201"; -} - -.ion-ios-restaurant-outline:before { - content: "\f200"; -} - -.ion-ios-return-left:before { - content: "\f202"; -} - -.ion-ios-return-left-outline:before { - content: "\f202"; -} - -.ion-ios-return-right:before { - content: "\f203"; -} - -.ion-ios-return-right-outline:before { - content: "\f203"; -} - -.ion-ios-reverse-camera:before { - content: "\f49f"; -} - -.ion-ios-reverse-camera-outline:before { - content: "\f49e"; -} - -.ion-ios-rewind:before { - content: "\f4a1"; -} - -.ion-ios-rewind-outline:before { - content: "\f4a0"; -} - -.ion-ios-ribbon:before { - content: "\f205"; -} - -.ion-ios-ribbon-outline:before { - content: "\f204"; -} - -.ion-ios-rose:before { - content: "\f4a3"; -} - -.ion-ios-rose-outline:before { - content: "\f4a2"; -} - -.ion-ios-sad:before { - content: "\f207"; -} - -.ion-ios-sad-outline:before { - content: "\f206"; -} - -.ion-ios-school:before { - content: "\f209"; -} - -.ion-ios-school-outline:before { - content: "\f208"; -} - -.ion-ios-search:before { - content: "\f4a5"; -} - -.ion-ios-search-outline:before { - content: "\f20a"; -} - -.ion-ios-send:before { - content: "\f20c"; -} - -.ion-ios-send-outline:before { - content: "\f20b"; -} - -.ion-ios-settings:before { - content: "\f4a7"; -} - -.ion-ios-settings-outline:before { - content: "\f20d"; -} - -.ion-ios-share:before { - content: "\f211"; -} - -.ion-ios-share-alt:before { - content: "\f20f"; -} - -.ion-ios-share-alt-outline:before { - content: "\f20e"; -} - -.ion-ios-share-outline:before { - content: "\f210"; -} - -.ion-ios-shirt:before { - content: "\f213"; -} - -.ion-ios-shirt-outline:before { - content: "\f212"; -} - -.ion-ios-shuffle:before { - content: "\f4a9"; -} - -.ion-ios-shuffle-outline:before { - content: "\f4a9"; -} - -.ion-ios-skip-backward:before { - content: "\f215"; -} - -.ion-ios-skip-backward-outline:before { - content: "\f214"; -} - -.ion-ios-skip-forward:before { - content: "\f217"; -} - -.ion-ios-skip-forward-outline:before { - content: "\f216"; -} - -.ion-ios-snow:before { - content: "\f218"; -} - -.ion-ios-snow-outline:before { - content: "\f22c"; -} - -.ion-ios-speedometer:before { - content: "\f4b0"; -} - -.ion-ios-speedometer-outline:before { - content: "\f4af"; -} - -.ion-ios-square:before { - content: "\f21a"; -} - -.ion-ios-square-outline:before { - content: "\f219"; -} - -.ion-ios-star:before { - content: "\f4b3"; -} - -.ion-ios-star-half:before { - content: "\f4b1"; -} - -.ion-ios-star-half-outline:before { - content: "\f4b1"; -} - -.ion-ios-star-outline:before { - content: "\f4b2"; -} - -.ion-ios-stats:before { - content: "\f21c"; -} - -.ion-ios-stats-outline:before { - content: "\f21b"; -} - -.ion-ios-stopwatch:before { - content: "\f4b5"; -} - -.ion-ios-stopwatch-outline:before { - content: "\f4b4"; -} - -.ion-ios-subway:before { - content: "\f21e"; -} - -.ion-ios-subway-outline:before { - content: "\f21d"; -} - -.ion-ios-sunny:before { - content: "\f4b7"; -} - -.ion-ios-sunny-outline:before { - content: "\f4b6"; -} - -.ion-ios-swap:before { - content: "\f21f"; -} - -.ion-ios-swap-outline:before { - content: "\f21f"; -} - -.ion-ios-switch:before { - content: "\f221"; -} - -.ion-ios-switch-outline:before { - content: "\f220"; -} - -.ion-ios-sync:before { - content: "\f222"; -} - -.ion-ios-sync-outline:before { - content: "\f222"; -} - -.ion-ios-tablet-landscape:before { - content: "\f223"; -} - -.ion-ios-tablet-landscape-outline:before { - content: "\f223"; -} - -.ion-ios-tablet-portrait:before { - content: "\f24e"; -} - -.ion-ios-tablet-portrait-outline:before { - content: "\f24e"; -} - -.ion-ios-tennisball:before { - content: "\f4bb"; -} - -.ion-ios-tennisball-outline:before { - content: "\f4ba"; -} - -.ion-ios-text:before { - content: "\f250"; -} - -.ion-ios-text-outline:before { - content: "\f24f"; -} - -.ion-ios-thermometer:before { - content: "\f252"; -} - -.ion-ios-thermometer-outline:before { - content: "\f251"; -} - -.ion-ios-thumbs-down:before { - content: "\f254"; -} - -.ion-ios-thumbs-down-outline:before { - content: "\f253"; -} - -.ion-ios-thumbs-up:before { - content: "\f256"; -} - -.ion-ios-thumbs-up-outline:before { - content: "\f255"; -} - -.ion-ios-thunderstorm:before { - content: "\f4bd"; -} - -.ion-ios-thunderstorm-outline:before { - content: "\f4bc"; -} - -.ion-ios-time:before { - content: "\f4bf"; -} - -.ion-ios-time-outline:before { - content: "\f4be"; -} - -.ion-ios-timer:before { - content: "\f4c1"; -} - -.ion-ios-timer-outline:before { - content: "\f4c0"; -} - -.ion-ios-train:before { - content: "\f258"; -} - -.ion-ios-train-outline:before { - content: "\f257"; -} - -.ion-ios-transgender:before { - content: "\f259"; -} - -.ion-ios-transgender-outline:before { - content: "\f259"; -} - -.ion-ios-trash:before { - content: "\f4c5"; -} - -.ion-ios-trash-outline:before { - content: "\f4c4"; -} - -.ion-ios-trending-down:before { - content: "\f25a"; -} - -.ion-ios-trending-down-outline:before { - content: "\f25a"; -} - -.ion-ios-trending-up:before { - content: "\f25b"; -} - -.ion-ios-trending-up-outline:before { - content: "\f25b"; -} - -.ion-ios-trophy:before { - content: "\f25d"; -} - -.ion-ios-trophy-outline:before { - content: "\f25c"; -} - -.ion-ios-umbrella:before { - content: "\f25f"; -} - -.ion-ios-umbrella-outline:before { - content: "\f25e"; -} - -.ion-ios-undo:before { - content: "\f4c7"; -} - -.ion-ios-undo-outline:before { - content: "\f4c6"; -} - -.ion-ios-unlock:before { - content: "\f261"; -} - -.ion-ios-unlock-outline:before { - content: "\f260"; -} - -.ion-ios-videocam:before { - content: "\f4cd"; -} - -.ion-ios-videocam-outline:before { - content: "\f4cc"; -} - -.ion-ios-volume-down:before { - content: "\f262"; -} - -.ion-ios-volume-down-outline:before { - content: "\f262"; -} - -.ion-ios-volume-mute:before { - content: "\f263"; -} - -.ion-ios-volume-mute-outline:before { - content: "\f263"; -} - -.ion-ios-volume-off:before { - content: "\f264"; -} - -.ion-ios-volume-off-outline:before { - content: "\f264"; -} - -.ion-ios-volume-up:before { - content: "\f265"; -} - -.ion-ios-volume-up-outline:before { - content: "\f265"; -} - -.ion-ios-walk:before { - content: "\f266"; -} - -.ion-ios-walk-outline:before { - content: "\f266"; -} - -.ion-ios-warning:before { - content: "\f268"; -} - -.ion-ios-warning-outline:before { - content: "\f267"; -} - -.ion-ios-watch:before { - content: "\f269"; -} - -.ion-ios-watch-outline:before { - content: "\f269"; -} - -.ion-ios-water:before { - content: "\f26b"; -} - -.ion-ios-water-outline:before { - content: "\f26a"; -} - -.ion-ios-wifi:before { - content: "\f26d"; -} - -.ion-ios-wifi-outline:before { - content: "\f26c"; -} - -.ion-ios-wine:before { - content: "\f26f"; -} - -.ion-ios-wine-outline:before { - content: "\f26e"; -} - -.ion-ios-woman:before { - content: "\f271"; -} - -.ion-ios-woman-outline:before { - content: "\f270"; -} - -.ion-logo-android:before { - content: "\f225"; -} - -.ion-logo-angular:before { - content: "\f227"; -} - -.ion-logo-apple:before { - content: "\f229"; -} - -.ion-logo-bitcoin:before { - content: "\f22b"; -} - -.ion-logo-buffer:before { - content: "\f22d"; -} - -.ion-logo-chrome:before { - content: "\f22f"; -} - -.ion-logo-codepen:before { - content: "\f230"; -} - -.ion-logo-css3:before { - content: "\f231"; -} - -.ion-logo-designernews:before { - content: "\f232"; -} - -.ion-logo-dribbble:before { - content: "\f233"; -} - -.ion-logo-dropbox:before { - content: "\f234"; -} - -.ion-logo-euro:before { - content: "\f235"; -} - -.ion-logo-facebook:before { - content: "\f236"; -} - -.ion-logo-foursquare:before { - content: "\f237"; -} - -.ion-logo-freebsd-devil:before { - content: "\f238"; -} - -.ion-logo-github:before { - content: "\f239"; -} - -.ion-logo-google:before { - content: "\f23a"; -} - -.ion-logo-googleplus:before { - content: "\f23b"; -} - -.ion-logo-hackernews:before { - content: "\f23c"; -} - -.ion-logo-html5:before { - content: "\f23d"; -} - -.ion-logo-instagram:before { - content: "\f23e"; -} - -.ion-logo-javascript:before { - content: "\f23f"; -} - -.ion-logo-linkedin:before { - content: "\f240"; -} - -.ion-logo-markdown:before { - content: "\f241"; -} - -.ion-logo-nodejs:before { - content: "\f242"; -} - -.ion-logo-octocat:before { - content: "\f243"; -} - -.ion-logo-pinterest:before { - content: "\f244"; -} - -.ion-logo-playstation:before { - content: "\f245"; -} - -.ion-logo-python:before { - content: "\f246"; -} - -.ion-logo-reddit:before { - content: "\f247"; -} - -.ion-logo-rss:before { - content: "\f248"; -} - -.ion-logo-sass:before { - content: "\f249"; -} - -.ion-logo-skype:before { - content: "\f24a"; -} - -.ion-logo-snapchat:before { - content: "\f24b"; -} - -.ion-logo-steam:before { - content: "\f24c"; -} - -.ion-logo-tumblr:before { - content: "\f24d"; -} - -.ion-logo-tux:before { - content: "\f2ae"; -} - -.ion-logo-twitch:before { - content: "\f2af"; -} - -.ion-logo-twitter:before { - content: "\f2b0"; -} - -.ion-logo-usd:before { - content: "\f2b1"; -} - -.ion-logo-vimeo:before { - content: "\f2c4"; -} - -.ion-logo-whatsapp:before { - content: "\f2c5"; -} - -.ion-logo-windows:before { - content: "\f32f"; -} - -.ion-logo-wordpress:before { - content: "\f330"; -} - -.ion-logo-xbox:before { - content: "\f34c"; -} - -.ion-logo-yahoo:before { - content: "\f34d"; -} - -.ion-logo-yen:before { - content: "\f34e"; -} - -.ion-logo-youtube:before { - content: "\f34f"; -} - -.ion-md-add:before { - content: "\f273"; -} - -.ion-md-add-circle:before { - content: "\f272"; -} - -.ion-md-alarm:before { - content: "\f274"; -} - -.ion-md-albums:before { - content: "\f275"; -} - -.ion-md-alert:before { - content: "\f276"; -} - -.ion-md-american-football:before { - content: "\f277"; -} - -.ion-md-analytics:before { - content: "\f278"; -} - -.ion-md-aperture:before { - content: "\f279"; -} - -.ion-md-apps:before { - content: "\f27a"; -} - -.ion-md-appstore:before { - content: "\f27b"; -} - -.ion-md-archive:before { - content: "\f27c"; -} - -.ion-md-arrow-back:before { - content: "\f27d"; -} - -.ion-md-arrow-down:before { - content: "\f27e"; -} - -.ion-md-arrow-dropdown:before { - content: "\f280"; -} - -.ion-md-arrow-dropdown-circle:before { - content: "\f27f"; -} - -.ion-md-arrow-dropleft:before { - content: "\f282"; -} - -.ion-md-arrow-dropleft-circle:before { - content: "\f281"; -} - -.ion-md-arrow-dropright:before { - content: "\f284"; -} - -.ion-md-arrow-dropright-circle:before { - content: "\f283"; -} - -.ion-md-arrow-dropup:before { - content: "\f286"; -} - -.ion-md-arrow-dropup-circle:before { - content: "\f285"; -} - -.ion-md-arrow-forward:before { - content: "\f287"; -} - -.ion-md-arrow-round-back:before { - content: "\f288"; -} - -.ion-md-arrow-round-down:before { - content: "\f289"; -} - -.ion-md-arrow-round-forward:before { - content: "\f28a"; -} - -.ion-md-arrow-round-up:before { - content: "\f28b"; -} - -.ion-md-arrow-up:before { - content: "\f28c"; -} - -.ion-md-at:before { - content: "\f28d"; -} - -.ion-md-attach:before { - content: "\f28e"; -} - -.ion-md-backspace:before { - content: "\f28f"; -} - -.ion-md-barcode:before { - content: "\f290"; -} - -.ion-md-baseball:before { - content: "\f291"; -} - -.ion-md-basket:before { - content: "\f292"; -} - -.ion-md-basketball:before { - content: "\f293"; -} - -.ion-md-battery-charging:before { - content: "\f294"; -} - -.ion-md-battery-dead:before { - content: "\f295"; -} - -.ion-md-battery-full:before { - content: "\f296"; -} - -.ion-md-beaker:before { - content: "\f297"; -} - -.ion-md-beer:before { - content: "\f298"; -} - -.ion-md-bicycle:before { - content: "\f299"; -} - -.ion-md-bluetooth:before { - content: "\f29a"; -} - -.ion-md-boat:before { - content: "\f29b"; -} - -.ion-md-body:before { - content: "\f29c"; -} - -.ion-md-bonfire:before { - content: "\f29d"; -} - -.ion-md-book:before { - content: "\f29e"; -} - -.ion-md-bookmark:before { - content: "\f29f"; -} - -.ion-md-bookmarks:before { - content: "\f2a0"; -} - -.ion-md-bowtie:before { - content: "\f2a1"; -} - -.ion-md-briefcase:before { - content: "\f2a2"; -} - -.ion-md-browsers:before { - content: "\f2a3"; -} - -.ion-md-brush:before { - content: "\f2a4"; -} - -.ion-md-bug:before { - content: "\f2a5"; -} - -.ion-md-build:before { - content: "\f2a6"; -} - -.ion-md-bulb:before { - content: "\f2a7"; -} - -.ion-md-bus:before { - content: "\f2a8"; -} - -.ion-md-cafe:before { - content: "\f2a9"; -} - -.ion-md-calculator:before { - content: "\f2aa"; -} - -.ion-md-calendar:before { - content: "\f2ab"; -} - -.ion-md-call:before { - content: "\f2ac"; -} - -.ion-md-camera:before { - content: "\f2ad"; -} - -.ion-md-car:before { - content: "\f2b2"; -} - -.ion-md-card:before { - content: "\f2b3"; -} - -.ion-md-cart:before { - content: "\f2b4"; -} - -.ion-md-cash:before { - content: "\f2b5"; -} - -.ion-md-chatboxes:before { - content: "\f2b6"; -} - -.ion-md-chatbubbles:before { - content: "\f2b7"; -} - -.ion-md-checkbox:before { - content: "\f2b9"; -} - -.ion-md-checkbox-outline:before { - content: "\f2b8"; -} - -.ion-md-checkmark:before { - content: "\f2bc"; -} - -.ion-md-checkmark-circle:before { - content: "\f2bb"; -} - -.ion-md-checkmark-circle-outline:before { - content: "\f2ba"; -} - -.ion-md-clipboard:before { - content: "\f2bd"; -} - -.ion-md-clock:before { - content: "\f2be"; -} - -.ion-md-close:before { - content: "\f2c0"; -} - -.ion-md-close-circle:before { - content: "\f2bf"; -} - -.ion-md-closed-captioning:before { - content: "\f2c1"; -} - -.ion-md-cloud:before { - content: "\f2c9"; -} - -.ion-md-cloud-circle:before { - content: "\f2c2"; -} - -.ion-md-cloud-done:before { - content: "\f2c3"; -} - -.ion-md-cloud-download:before { - content: "\f2c6"; -} - -.ion-md-cloud-outline:before { - content: "\f2c7"; -} - -.ion-md-cloud-upload:before { - content: "\f2c8"; -} - -.ion-md-cloudy:before { - content: "\f2cb"; -} - -.ion-md-cloudy-night:before { - content: "\f2ca"; -} - -.ion-md-code:before { - content: "\f2ce"; -} - -.ion-md-code-download:before { - content: "\f2cc"; -} - -.ion-md-code-working:before { - content: "\f2cd"; -} - -.ion-md-cog:before { - content: "\f2cf"; -} - -.ion-md-color-fill:before { - content: "\f2d0"; -} - -.ion-md-color-filter:before { - content: "\f2d1"; -} - -.ion-md-color-palette:before { - content: "\f2d2"; -} - -.ion-md-color-wand:before { - content: "\f2d3"; -} - -.ion-md-compass:before { - content: "\f2d4"; -} - -.ion-md-construct:before { - content: "\f2d5"; -} - -.ion-md-contact:before { - content: "\f2d6"; -} - -.ion-md-contacts:before { - content: "\f2d7"; -} - -.ion-md-contract:before { - content: "\f2d8"; -} - -.ion-md-contrast:before { - content: "\f2d9"; -} - -.ion-md-copy:before { - content: "\f2da"; -} - -.ion-md-create:before { - content: "\f2db"; -} - -.ion-md-crop:before { - content: "\f2dc"; -} - -.ion-md-cube:before { - content: "\f2dd"; -} - -.ion-md-cut:before { - content: "\f2de"; -} - -.ion-md-desktop:before { - content: "\f2df"; -} - -.ion-md-disc:before { - content: "\f2e0"; -} - -.ion-md-document:before { - content: "\f2e1"; -} - -.ion-md-done-all:before { - content: "\f2e2"; -} - -.ion-md-download:before { - content: "\f2e3"; -} - -.ion-md-easel:before { - content: "\f2e4"; -} - -.ion-md-egg:before { - content: "\f2e5"; -} - -.ion-md-exit:before { - content: "\f2e6"; -} - -.ion-md-expand:before { - content: "\f2e7"; -} - -.ion-md-eye:before { - content: "\f2e9"; -} - -.ion-md-eye-off:before { - content: "\f2e8"; -} - -.ion-md-fastforward:before { - content: "\f2ea"; -} - -.ion-md-female:before { - content: "\f2eb"; -} - -.ion-md-filing:before { - content: "\f2ec"; -} - -.ion-md-film:before { - content: "\f2ed"; -} - -.ion-md-finger-print:before { - content: "\f2ee"; -} - -.ion-md-flag:before { - content: "\f2ef"; -} - -.ion-md-flame:before { - content: "\f2f0"; -} - -.ion-md-flash:before { - content: "\f2f1"; -} - -.ion-md-flask:before { - content: "\f2f2"; -} - -.ion-md-flower:before { - content: "\f2f3"; -} - -.ion-md-folder:before { - content: "\f2f5"; -} - -.ion-md-folder-open:before { - content: "\f2f4"; -} - -.ion-md-football:before { - content: "\f2f6"; -} - -.ion-md-funnel:before { - content: "\f2f7"; -} - -.ion-md-game-controller-a:before { - content: "\f2f8"; -} - -.ion-md-game-controller-b:before { - content: "\f2f9"; -} - -.ion-md-git-branch:before { - content: "\f2fa"; -} - -.ion-md-git-commit:before { - content: "\f2fb"; -} - -.ion-md-git-compare:before { - content: "\f2fc"; -} - -.ion-md-git-merge:before { - content: "\f2fd"; -} - -.ion-md-git-network:before { - content: "\f2fe"; -} - -.ion-md-git-pull-request:before { - content: "\f2ff"; -} - -.ion-md-glasses:before { - content: "\f300"; -} - -.ion-md-globe:before { - content: "\f301"; -} - -.ion-md-grid:before { - content: "\f302"; -} - -.ion-md-hammer:before { - content: "\f303"; -} - -.ion-md-hand:before { - content: "\f304"; -} - -.ion-md-happy:before { - content: "\f305"; -} - -.ion-md-headset:before { - content: "\f306"; -} - -.ion-md-heart:before { - content: "\f308"; -} - -.ion-md-heart-outline:before { - content: "\f307"; -} - -.ion-md-help:before { - content: "\f30b"; -} - -.ion-md-help-buoy:before { - content: "\f309"; -} - -.ion-md-help-circle:before { - content: "\f30a"; -} - -.ion-md-home:before { - content: "\f30c"; -} - -.ion-md-ice-cream:before { - content: "\f30d"; -} - -.ion-md-image:before { - content: "\f30e"; -} - -.ion-md-images:before { - content: "\f30f"; -} - -.ion-md-infinite:before { - content: "\f310"; -} - -.ion-md-information:before { - content: "\f312"; -} - -.ion-md-information-circle:before { - content: "\f311"; -} - -.ion-md-ionic:before { - content: "\f313"; -} - -.ion-md-ionitron:before { - content: "\f314"; -} - -.ion-md-jet:before { - content: "\f315"; -} - -.ion-md-key:before { - content: "\f316"; -} - -.ion-md-keypad:before { - content: "\f317"; -} - -.ion-md-laptop:before { - content: "\f318"; -} - -.ion-md-leaf:before { - content: "\f319"; -} - -.ion-md-link:before { - content: "\f22e"; -} - -.ion-md-list:before { - content: "\f31b"; -} - -.ion-md-list-box:before { - content: "\f31a"; -} - -.ion-md-locate:before { - content: "\f31c"; -} - -.ion-md-lock:before { - content: "\f31d"; -} - -.ion-md-log-in:before { - content: "\f31e"; -} - -.ion-md-log-out:before { - content: "\f31f"; -} - -.ion-md-magnet:before { - content: "\f320"; -} - -.ion-md-mail:before { - content: "\f322"; -} - -.ion-md-mail-open:before { - content: "\f321"; -} - -.ion-md-male:before { - content: "\f323"; -} - -.ion-md-man:before { - content: "\f324"; -} - -.ion-md-map:before { - content: "\f325"; -} - -.ion-md-medal:before { - content: "\f326"; -} - -.ion-md-medical:before { - content: "\f327"; -} - -.ion-md-medkit:before { - content: "\f328"; -} - -.ion-md-megaphone:before { - content: "\f329"; -} - -.ion-md-menu:before { - content: "\f32a"; -} - -.ion-md-mic:before { - content: "\f32c"; -} - -.ion-md-mic-off:before { - content: "\f32b"; -} - -.ion-md-microphone:before { - content: "\f32d"; -} - -.ion-md-moon:before { - content: "\f32e"; -} - -.ion-md-more:before { - content: "\f1c9"; -} - -.ion-md-move:before { - content: "\f331"; -} - -.ion-md-musical-note:before { - content: "\f332"; -} - -.ion-md-musical-notes:before { - content: "\f333"; -} - -.ion-md-navigate:before { - content: "\f334"; -} - -.ion-md-no-smoking:before { - content: "\f335"; -} - -.ion-md-notifications:before { - content: "\f338"; -} - -.ion-md-notifications-off:before { - content: "\f336"; -} - -.ion-md-notifications-outline:before { - content: "\f337"; -} - -.ion-md-nuclear:before { - content: "\f339"; -} - -.ion-md-nutrition:before { - content: "\f33a"; -} - -.ion-md-open:before { - content: "\f33b"; -} - -.ion-md-options:before { - content: "\f33c"; -} - -.ion-md-outlet:before { - content: "\f33d"; -} - -.ion-md-paper:before { - content: "\f33f"; -} - -.ion-md-paper-plane:before { - content: "\f33e"; -} - -.ion-md-partly-sunny:before { - content: "\f340"; -} - -.ion-md-pause:before { - content: "\f341"; -} - -.ion-md-paw:before { - content: "\f342"; -} - -.ion-md-people:before { - content: "\f343"; -} - -.ion-md-person:before { - content: "\f345"; -} - -.ion-md-person-add:before { - content: "\f344"; -} - -.ion-md-phone-landscape:before { - content: "\f346"; -} - -.ion-md-phone-portrait:before { - content: "\f347"; -} - -.ion-md-photos:before { - content: "\f348"; -} - -.ion-md-pie:before { - content: "\f349"; -} - -.ion-md-pin:before { - content: "\f34a"; -} - -.ion-md-pint:before { - content: "\f34b"; -} - -.ion-md-pizza:before { - content: "\f354"; -} - -.ion-md-plane:before { - content: "\f355"; -} - -.ion-md-planet:before { - content: "\f356"; -} - -.ion-md-play:before { - content: "\f357"; -} - -.ion-md-podium:before { - content: "\f358"; -} - -.ion-md-power:before { - content: "\f359"; -} - -.ion-md-pricetag:before { - content: "\f35a"; -} - -.ion-md-pricetags:before { - content: "\f35b"; -} - -.ion-md-print:before { - content: "\f35c"; -} - -.ion-md-pulse:before { - content: "\f35d"; -} - -.ion-md-qr-scanner:before { - content: "\f35e"; -} - -.ion-md-quote:before { - content: "\f35f"; -} - -.ion-md-radio:before { - content: "\f362"; -} - -.ion-md-radio-button-off:before { - content: "\f360"; -} - -.ion-md-radio-button-on:before { - content: "\f361"; -} - -.ion-md-rainy:before { - content: "\f363"; -} - -.ion-md-recording:before { - content: "\f364"; -} - -.ion-md-redo:before { - content: "\f365"; -} - -.ion-md-refresh:before { - content: "\f366"; -} - -.ion-md-refresh-circle:before { - content: "\f228"; -} - -.ion-md-remove:before { - content: "\f368"; -} - -.ion-md-remove-circle:before { - content: "\f367"; -} - -.ion-md-reorder:before { - content: "\f369"; -} - -.ion-md-repeat:before { - content: "\f36a"; -} - -.ion-md-resize:before { - content: "\f36b"; -} - -.ion-md-restaurant:before { - content: "\f36c"; -} - -.ion-md-return-left:before { - content: "\f36d"; -} - -.ion-md-return-right:before { - content: "\f36e"; -} - -.ion-md-reverse-camera:before { - content: "\f36f"; -} - -.ion-md-rewind:before { - content: "\f370"; -} - -.ion-md-ribbon:before { - content: "\f371"; -} - -.ion-md-rose:before { - content: "\f372"; -} - -.ion-md-sad:before { - content: "\f373"; -} - -.ion-md-school:before { - content: "\f374"; -} - -.ion-md-search:before { - content: "\f375"; -} - -.ion-md-send:before { - content: "\f376"; -} - -.ion-md-settings:before { - content: "\f377"; -} - -.ion-md-share:before { - content: "\f379"; -} - -.ion-md-share-alt:before { - content: "\f378"; -} - -.ion-md-shirt:before { - content: "\f37a"; -} - -.ion-md-shuffle:before { - content: "\f37b"; -} - -.ion-md-skip-backward:before { - content: "\f37c"; -} - -.ion-md-skip-forward:before { - content: "\f37d"; -} - -.ion-md-snow:before { - content: "\f37e"; -} - -.ion-md-speedometer:before { - content: "\f37f"; -} - -.ion-md-square:before { - content: "\f381"; -} - -.ion-md-square-outline:before { - content: "\f380"; -} - -.ion-md-star:before { - content: "\f384"; -} - -.ion-md-star-half:before { - content: "\f382"; -} - -.ion-md-star-outline:before { - content: "\f383"; -} - -.ion-md-stats:before { - content: "\f385"; -} - -.ion-md-stopwatch:before { - content: "\f386"; -} - -.ion-md-subway:before { - content: "\f387"; -} - -.ion-md-sunny:before { - content: "\f388"; -} - -.ion-md-swap:before { - content: "\f389"; -} - -.ion-md-switch:before { - content: "\f38a"; -} - -.ion-md-sync:before { - content: "\f38b"; -} - -.ion-md-tablet-landscape:before { - content: "\f38c"; -} - -.ion-md-tablet-portrait:before { - content: "\f38d"; -} - -.ion-md-tennisball:before { - content: "\f38e"; -} - -.ion-md-text:before { - content: "\f38f"; -} - -.ion-md-thermometer:before { - content: "\f390"; -} - -.ion-md-thumbs-down:before { - content: "\f391"; -} - -.ion-md-thumbs-up:before { - content: "\f392"; -} - -.ion-md-thunderstorm:before { - content: "\f393"; -} - -.ion-md-time:before { - content: "\f394"; -} - -.ion-md-timer:before { - content: "\f395"; -} - -.ion-md-train:before { - content: "\f396"; -} - -.ion-md-transgender:before { - content: "\f397"; -} - -.ion-md-trash:before { - content: "\f398"; -} - -.ion-md-trending-down:before { - content: "\f399"; -} - -.ion-md-trending-up:before { - content: "\f39a"; -} - -.ion-md-trophy:before { - content: "\f39b"; -} - -.ion-md-umbrella:before { - content: "\f39c"; -} - -.ion-md-undo:before { - content: "\f39d"; -} - -.ion-md-unlock:before { - content: "\f39e"; -} - -.ion-md-videocam:before { - content: "\f39f"; -} - -.ion-md-volume-down:before { - content: "\f3a0"; -} - -.ion-md-volume-mute:before { - content: "\f3a1"; -} - -.ion-md-volume-off:before { - content: "\f3a2"; -} - -.ion-md-volume-up:before { - content: "\f3a3"; -} - -.ion-md-walk:before { - content: "\f3a4"; -} - -.ion-md-warning:before { - content: "\f3a5"; -} - -.ion-md-watch:before { - content: "\f3a6"; -} - -.ion-md-water:before { - content: "\f3a7"; -} - -.ion-md-wifi:before { - content: "\f3a8"; -} - -.ion-md-wine:before { - content: "\f3a9"; -} - -.ion-md-woman:before { - content: "\f3aa"; -} - -@font-face { - font-family: "Ionicons"; - src: url("../assets/fonts/ionicons.woff2?v=3.0.0-alpha.3") format("woff2"), url("../assets/fonts/ionicons.woff?v=3.0.0-alpha.3") format("woff"), url("../assets/fonts/ionicons.ttf?v=3.0.0-alpha.3") format("truetype"); - font-weight: normal; - font-style: normal; -} - -ion-icon { - display: inline-block; - font-family: "Ionicons"; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - font-style: normal; - font-variant: normal; - font-weight: normal; - line-height: 1; - text-rendering: auto; - text-transform: none; - speak: none; -} - -ion-icon::before { - display: inline-block; -} - -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 300; - src: local("Roboto Light"), local("Roboto-Light"), url("../assets/fonts/roboto-light.woff2") format("woff2"), url("../assets/fonts/roboto-light.woff") format("woff"), url("../assets/fonts/roboto-light.ttf") format("truetype"); -} - -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 400; - src: local("Roboto"), local("Roboto-Regular"), url("../assets/fonts/roboto-regular.woff2") format("woff2"), url("../assets/fonts/roboto-regular.woff") format("woff"), url("../assets/fonts/roboto-regular.ttf") format("truetype"); -} - -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 500; - src: local("Roboto Medium"), local("Roboto-Medium"), url("../assets/fonts/roboto-medium.woff2") format("woff2"), url("../assets/fonts/roboto-medium.woff") format("woff"), url("../assets/fonts/roboto-medium.ttf") format("truetype"); -} - -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 700; - src: local("Roboto Bold"), local("Roboto-Bold"), url("../assets/fonts/roboto-bold.woff2") format("woff2"), url("../assets/fonts/roboto-bold.woff") format("woff"), url("../assets/fonts/roboto-bold.ttf") format("truetype"); -} - -@font-face { - font-family: "Noto Sans"; - font-style: normal; - font-weight: 300; - src: local("Noto Sans"), local("Noto-Sans-Regular"), url("../assets/fonts/noto-sans-regular.woff") format("woff"), url("../assets/fonts/noto-sans-regular.ttf") format("truetype"); -} - -@font-face { - font-family: "Noto Sans"; - font-style: normal; - font-weight: 400; - src: local("Noto Sans"), local("Noto-Sans-Regular"), url("../assets/fonts/noto-sans-regular.woff") format("woff"), url("../assets/fonts/noto-sans-regular.ttf") format("truetype"); -} - -@font-face { - font-family: "Noto Sans"; - font-style: normal; - font-weight: 500; - src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("../assets/fonts/noto-sans-bold.woff") format("woff"), url("../assets/fonts/noto-sans-bold.ttf") format("truetype"); -} - -@font-face { - font-family: "Noto Sans"; - font-style: normal; - font-weight: 700; - src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("../assets/fonts/noto-sans-bold.woff") format("woff"), url("../assets/fonts/noto-sans-bold.ttf") format("truetype"); -} - -ion-action-sheet { - left: 0; - top: 0; - position: absolute; - z-index: 1000; - display: block; - width: 100%; - height: 100%; -} - -.action-sheet-wrapper { - left: 0; - right: 0; - top: 0; - bottom: 0; - margin: auto; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - position: absolute; - z-index: 10; - display: block; - width: 100%; - max-width: 500px; - pointer-events: none; -} - -.action-sheet-button { - width: 100%; -} - -.action-sheet-container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: column; - -ms-flex-flow: column; - flex-flow: column; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - height: 100%; - max-height: 100%; -} - -.action-sheet-group { - overflow: scroll; - -webkit-flex-shrink: 2; - -ms-flex-negative: 2; - flex-shrink: 2; - pointer-events: all; -} - -.action-sheet-group-cancel { - overflow: hidden; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} - -.action-sheet-ios { - text-align: center; -} - -.action-sheet-ios .action-sheet-wrapper { - margin: constant(safe-area-inset-top) auto constant(safe-area-inset-bottom); - margin: env(safe-area-inset-top) auto env(safe-area-inset-bottom); -} - -.action-sheet-ios .action-sheet-container { - padding: 0 10px; -} - -.action-sheet-ios .action-sheet-group { - border-radius: 13px; - margin-bottom: 8px; - background: #f9f9f9; -} - -.action-sheet-ios .action-sheet-group:first-child { - margin-top: 10px; -} - -.action-sheet-ios .action-sheet-group:last-child { - margin-bottom: 10px; -} - -.action-sheet-ios .action-sheet-title { - padding: 1.5rem; - text-align: center; - border-radius: 0; - border-bottom: 0.55px solid #d6d6da; - font-size: 1.3rem; - font-weight: 400; - color: #8f8f8f; -} - -.action-sheet-ios .action-sheet-button { - margin: 0; - padding: 18px; - min-height: 5.6rem; - border-bottom: 0.55px solid #d6d6da; - font-size: 2rem; - color: #007aff; - background: transparent; -} - -.action-sheet-ios .action-sheet-button:last-child { - border-bottom-color: transparent; -} - -.action-sheet-ios .action-sheet-button.activated { - margin-top: -0.55px; - border-top: 0.55px solid #ebebeb; - border-bottom-color: #ebebeb; - background: #ebebeb; -} - -.action-sheet-ios .action-sheet-selected { - font-weight: bold; - background: #fff; -} - -.action-sheet-ios .action-sheet-destructive { - color: #f53d3d; -} - -.action-sheet-ios .action-sheet-cancel { - font-weight: 600; - background: #fff; -} - -.action-sheet-md .action-sheet-title { - text-align: left; - text-align: start; - font-size: 1.6rem; - color: #757575; - padding: 11px 16px 17px; -} - -.action-sheet-md .action-sheet-button { - text-align: left; - text-align: start; - position: relative; - overflow: hidden; - min-height: 4.8rem; - font-size: 1.6rem; - color: #222; - background: transparent; - padding: 0 16px; -} - -.action-sheet-md .action-sheet-button.activated { - background: #f1f1f1; -} - -.action-sheet-md .action-sheet-icon { - padding: 0; - text-align: center; - width: 2.3rem; - font-size: 2.4rem; - vertical-align: middle; - margin: 0 32px 0 0; -} - -.action-sheet-md .action-sheet-group { - background: #fafafa; -} - -.action-sheet-md .action-sheet-group:first-child { - padding-top: 0.8rem; -} - -.action-sheet-md .action-sheet-group:last-child { - padding-bottom: 0.8rem; -} - -.action-sheet-md .action-sheet-group .button-inner { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.action-sheet-md .action-sheet-selected { - font-weight: bold; -} - -.action-sheet-wp .action-sheet-title { - text-align: left; - text-align: start; - font-size: 2rem; - color: #4d4d4d; - padding: 11px 16px 17px; -} - -.action-sheet-wp .action-sheet-button { - text-align: left; - text-align: start; - min-height: 4.8rem; - font-size: 1.5rem; - color: #4d4d4d; - background: transparent; - padding: 0 16px; -} - -.action-sheet-wp .action-sheet-button.activated { - background: #aaa; -} - -.action-sheet-wp .action-sheet-icon { - padding: 0; - text-align: center; - width: 2.3rem; - font-size: 2.4rem; - vertical-align: middle; - margin: 0 20px 0 0; -} - -.action-sheet-wp .action-sheet-group { - background: #fff; -} - -.action-sheet-wp .action-sheet-group:first-child { - padding-top: 0.8rem; - -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); -} - -.action-sheet-wp .action-sheet-group:last-child { - padding-bottom: 0.8rem; -} - -.action-sheet-wp .action-sheet-group .button-inner { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.action-sheet-wp .action-sheet-selected { - font-weight: bold; -} - -.action-sheet-wp .action-sheet-cancel { - background: transparent; -} - -ion-alert { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - z-index: 1000; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - contain: strict; -} - -ion-alert.alert-top { - padding-top: 50px; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} - -ion-alert input { - width: 100%; -} - -.alert-wrapper { - z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - min-width: 250px; - max-height: 90%; - opacity: 0; - contain: content; -} - -.alert-title { - margin: 0; - padding: 0; -} - -.alert-sub-title { - margin: 5px 0 0; - padding: 0; - font-weight: normal; -} - -.alert-message { - overflow-y: scroll; - -webkit-overflow-scrolling: touch; -} - -.alert-input { - padding: 10px 0; - border: 0; - background: inherit; -} - -.alert-input::-moz-placeholder { - color: #999; -} - -.alert-input:-ms-input-placeholder { - color: #999; -} - -.alert-input::-webkit-input-placeholder { - text-indent: 0; - color: #999; -} - -.alert-button-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; -} - -.alert-button-group-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} - -.alert-button { - margin: 0; - z-index: 0; - display: block; - font-size: 14px; - line-height: 20px; -} - -.alert-tappable { - text-align: left; - text-align: start; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - margin: 0; - padding: 0; - width: 100%; - font-size: inherit; - line-height: initial; - background: transparent; -} - -.alert-ios .alert-wrapper { - border-radius: 13px; - overflow: hidden; - max-width: 270px; - background-color: #f8f8f8; - -webkit-box-shadow: none; - box-shadow: none; -} - -.alert-ios .alert-head { - text-align: center; - padding: 12px 16px 7px; -} - -.alert-ios .alert-title { - margin-top: 8px; - font-size: 17px; - font-weight: 600; -} - -.alert-ios .alert-sub-title { - font-size: 14px; - color: #666; -} - -.alert-ios .alert-message, -.alert-ios .alert-input-group { - text-align: center; - font-size: 13px; - color: inherit; - padding: 0 16px 21px; -} - -.alert-ios .alert-message { - max-height: 240px; -} - -.alert-ios .alert-message:empty { - padding: 0 0 12px; -} - -.alert-ios .alert-input { - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - margin-top: 10px; - border-radius: 4px; - border: 0.55px solid #ccc; - background-color: #fff; - padding: 6px; -} - -.alert-ios .alert-radio-group, -.alert-ios .alert-checkbox-group { - overflow: scroll; - max-height: 240px; - border-top: 0.55px solid #dbdbdf; - -webkit-overflow-scrolling: touch; -} - -.alert-ios .alert-tappable { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - min-height: 44px; -} - -.alert-ios .alert-radio-label { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - text-overflow: ellipsis; - white-space: nowrap; - color: initial; - padding: 13px; -} - -.alert-ios [aria-checked=true] .alert-radio-label { - color: #673AB7; -} - -.alert-ios .alert-radio-icon { - position: relative; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - min-width: 30px; -} - -.alert-ios [aria-checked=true] .alert-radio-inner { - left: 7px; - top: -7px; - position: absolute; - width: 6px; - height: 12px; - border-width: 2px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #673AB7; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.alert-ios .alert-checkbox-label { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - text-overflow: ellipsis; - white-space: nowrap; - color: initial; - padding: 13px; -} - -.alert-ios [aria-checked=true] .alert-checkbox-label { - color: initial; -} - -.alert-ios .alert-checkbox-icon { - border-radius: 50%; - position: relative; - width: 21px; - height: 21px; - border-width: 0.55px; - border-style: solid; - border-color: #c8c7cc; - background-color: #fff; - margin: 10px 6px 10px 16px; -} - -.alert-ios [aria-checked=true] .alert-checkbox-icon { - border-color: #673AB7; - background-color: #673AB7; -} - -.alert-ios [aria-checked=true] .alert-checkbox-inner { - left: 7px; - top: 4px; - position: absolute; - width: 4px; - height: 9px; - border-width: 0.55px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.alert-ios .alert-button-group { - margin-right: -0.55px; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.alert-ios .alert-button { - margin: 0; - border-radius: 0; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - min-width: 50%; - height: 44px; - border-top: 0.55px solid #dbdbdf; - border-right: 0.55px solid #dbdbdf; - font-size: 17px; - color: #673AB7; - background-color: transparent; -} - -.alert-ios .alert-button:last-child { - border-right: 0; - font-weight: bold; -} - -.alert-ios .alert-button.activated { - background-color: #e9e9e9; -} - -.alert-md .alert-wrapper { - border-radius: 2px; - max-width: 280px; - background-color: #fafafa; - -webkit-box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); - box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); -} - -.alert-md .alert-head { - text-align: left; - text-align: start; - padding: 24px 24px 20px; -} - -.alert-md .alert-title { - font-size: 22px; -} - -.alert-md .alert-sub-title { - font-size: 16px; -} - -.alert-md .alert-message, -.alert-md .alert-input-group { - color: rgba(0, 0, 0, 0.5); - padding: 0 24px 24px; -} - -.alert-md .alert-message { - max-height: 240px; - font-size: 15px; -} - -.alert-md .alert-message:empty { - padding: 0; -} - -.alert-md .alert-input { - margin: 5px 0; - border-bottom: 1px solid #dedede; - color: #000; -} - -.alert-md .alert-input:focus { - margin-bottom: 4px; - border-bottom: 2px solid #673AB7; -} - -.alert-md .alert-radio-group, -.alert-md .alert-checkbox-group { - position: relative; - overflow: auto; - max-height: 240px; - border-top: 1px solid #dedede; - border-bottom: 1px solid #dedede; -} - -.alert-md .alert-tappable { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - min-height: 4.4rem; -} - -.alert-md .alert-radio-label { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - text-overflow: ellipsis; - white-space: nowrap; - color: initial; - padding: 13px 26px; -} - -.alert-md .alert-radio-icon { - left: 13px; - top: 0; - border-radius: 50%; - position: relative; - display: block; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: #787878; -} - -.alert-md .alert-radio-inner { - left: 2px; - top: 2px; - border-radius: 50%; - position: absolute; - width: 8px; - height: 8px; - background-color: #673AB7; - -webkit-transform: scale3d(0, 0, 0); - transform: scale3d(0, 0, 0); - -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); - transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); -} - -.alert-md [aria-checked=true] .alert-radio-label { - color: #673AB7; -} - -.alert-md [aria-checked=true] .alert-radio-icon { - border-color: #673AB7; -} - -.alert-md [aria-checked=true] .alert-radio-inner { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); -} - -.alert-md .alert-checkbox-label { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - text-overflow: ellipsis; - white-space: nowrap; - color: initial; - padding: 13px 26px; -} - -.alert-md [aria-checked=true] .alert-checkbox-label { - color: initial; -} - -.alert-md .alert-checkbox-icon { - left: 13px; - top: 0; - border-radius: 2px; - position: relative; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: #787878; -} - -.alert-md [aria-checked=true] .alert-checkbox-icon { - border-color: #673AB7; - background-color: #673AB7; -} - -.alert-md [aria-checked=true] .alert-checkbox-inner { - left: 3px; - top: 0; - position: absolute; - width: 6px; - height: 10px; - border-width: 2px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.alert-md .alert-button-group { - -webkit-flex-wrap: wrap-reverse; - -ms-flex-wrap: wrap-reverse; - flex-wrap: wrap-reverse; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 8px 8px 8px 24px; -} - -.alert-md .alert-button { - text-align: right; - text-align: end; - border-radius: 2px; - position: relative; - overflow: hidden; - font-weight: 500; - text-transform: uppercase; - color: #673AB7; - background-color: transparent; - margin: 0 8px 0 0; - padding: 10px; -} - -.alert-md .alert-button.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.alert-md .alert-button .button-inner { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -.alert-wp ion-backdrop { - background: #fff; -} - -.alert-wp .alert-wrapper { - border-radius: 0; - width: 100%; - max-width: 520px; - border: 1px solid #673AB7; - background: #e6e6e6; -} - -.alert-wp .alert-head { - text-align: left; - text-align: start; - padding: 20px 22px 5px; -} - -.alert-wp .alert-title { - font-size: 20px; - font-weight: 400; -} - -.alert-wp .alert-sub-title { - font-size: 16px; -} - -.alert-wp .alert-message, -.alert-wp .alert-input-group { - color: #000; - padding: 0 22px 8px; -} - -.alert-wp .alert-message { - max-height: 240px; - font-size: 13px; -} - -.alert-wp .alert-message:empty { - padding: 0; -} - -.alert-wp .alert-input { - border: 2px solid rgba(0, 0, 0, 0.5); - line-height: 3rem; - color: #000; - margin: 5px 0; - padding: 0 8px; -} - -.alert-wp .alert-input:focus { - border-color: #673AB7; -} - -.alert-wp .alert-radio-group, -.alert-wp .alert-checkbox-group { - position: relative; - overflow: auto; - max-height: 240px; -} - -.alert-wp .alert-tappable { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - min-height: 4.4rem; -} - -.alert-wp .alert-radio-label { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - text-overflow: ellipsis; - white-space: nowrap; - color: initial; - padding: 13px 26px; -} - -.alert-wp .alert-radio-icon { - left: 13px; - top: 0; - margin: 0; - border-radius: 50%; - position: relative; - display: block; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: rgba(0, 0, 0, 0.5); -} - -.alert-wp .alert-radio-inner { - left: 2px; - top: 2px; - border-radius: 50%; - position: absolute; - display: none; - width: 8px; - height: 8px; - background: #673AB7; -} - -.alert-wp [aria-checked=true] .alert-radio-label { - color: #000; -} - -.alert-wp [aria-checked=true] .alert-radio-icon { - border-color: rgba(0, 0, 0, 0.5); -} - -.alert-wp [aria-checked=true] .alert-radio-inner { - display: block; -} - -.alert-wp .alert-checkbox-label { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - text-overflow: ellipsis; - white-space: nowrap; - color: initial; - padding: 13px 26px; -} - -.alert-wp [aria-checked=true] .alert-checkbox-label { - color: initial; -} - -.alert-wp .alert-checkbox-icon { - left: 13px; - top: 0; - border-radius: 0; - position: relative; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: rgba(0, 0, 0, 0.5); - background: transparent; -} - -.alert-wp [aria-checked=true] .alert-checkbox-icon { - border-color: #673AB7; - background: #673AB7; -} - -.alert-wp [aria-checked=true] .alert-checkbox-inner { - left: 3px; - top: -2px; - position: absolute; - width: 6px; - height: 12px; - border-width: 1px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.alert-wp .alert-button-group { - -webkit-flex-wrap: wrap-reverse; - -ms-flex-wrap: wrap-reverse; - flex-wrap: wrap-reverse; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 20px 22px; -} - -.alert-wp .alert-button-group-vertical .alert-button { - margin-top: 5px; - width: 100%; -} - -.alert-wp .alert-button-group-vertical .alert-button:first-child:not(:only-child) { - margin-right: 0; - margin-top: 0; -} - -.alert-wp .alert-button { - border-radius: 0; - width: 49.5%; - font-weight: 400; - color: #000; - background: #b8b8b8; - padding: 5px; -} - -.alert-wp .alert-button:first-child:not(:only-child) { - margin-right: 1%; -} - -.alert-wp .alert-button.activated { - background: darkgray; -} - -audio, -canvas, -progress, -video { - vertical-align: baseline; -} - -audio:not([controls]) { - display: none; - height: 0; -} - -b, -strong { - font-weight: bold; -} - -img { - max-width: 100%; - border: 0; -} - -svg:not(:root) { - overflow: hidden; -} - -figure { - margin: 1em 40px; -} - -hr { - height: 1px; - border-width: 0; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -pre { - overflow: auto; -} - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -label, -input, -select, -textarea { - font-family: inherit; - line-height: normal; -} - -textarea { - overflow: auto; - height: auto; - font: inherit; - color: inherit; -} - -textarea::-webkit-input-placeholder { - padding-left: 2px; -} - -textarea:-ms-input-placeholder { - padding-left: 2px; -} - -textarea::-ms-input-placeholder { - padding-left: 2px; -} - -textarea::placeholder { - padding-left: 2px; -} - -form, -input, -optgroup, -select { - margin: 0; - font: inherit; - color: inherit; -} - -html input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; -} - -a, -a div, -a span, -a ion-icon, -a ion-label, -button, -button div, -button span, -button ion-icon, -button ion-label, -[tappable], -[tappable] div, -[tappable] span, -[tappable] ion-icon, -[tappable] ion-label, -input, -textarea { - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -a ion-label, -button ion-label { - pointer-events: none; -} - -button { - border: 0; - font-family: inherit; - font-style: inherit; - font-variant: inherit; - line-height: 1; - text-transform: none; - cursor: pointer; - -webkit-appearance: button; -} - -[tappable] { - cursor: pointer; -} - -a[disabled], -button[disabled], -html input[disabled] { - cursor: default; -} - -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} - -input[type="checkbox"], -input[type="radio"] { - padding: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} - -.hide, -[hidden], -template { - display: none !important; -} - -.sticky { - position: -webkit-sticky; - position: sticky; - top: 0; -} - -:focus, -:active { - outline: none; -} - -.focus-outline :focus { - outline: thin dotted; - outline-offset: -1px; -} - -.focus-outline button:focus, -.focus-outline [ion-button]:focus { - border-color: #51a7e8; - outline: 2px solid #51a7e8; - -webkit-box-shadow: 0 0 8px 1px #51a7e8; - box-shadow: 0 0 8px 1px #51a7e8; -} - -ion-input :focus { - outline: none; -} - -.click-block { - display: none; -} - -.click-block-enabled { - left: 0; - right: 0; - top: 0; - bottom: 0; - -webkit-transform: translate3d(0, -100%, 0) translateY(1px); - transform: translate3d(0, -100%, 0) translateY(1px); - position: absolute; - z-index: 99999; - display: block; - opacity: 0; - contain: strict; -} - -.click-block-active { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -* { - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-tap-highlight-color: transparent; - -webkit-tap-highlight-color: transparent; - -webkit-touch-callout: none; -} - -html { - width: 100%; - height: 100%; - font-size: 62.5%; - -webkit-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - text-size-adjust: 100%; -} - -body { - margin: 0; - padding: 0; - position: fixed; - overflow: hidden; - width: 100%; - max-width: 100%; - height: 100%; - max-height: 100%; - -webkit-font-smoothing: antialiased; - font-smoothing: antialiased; - text-rendering: optimizeLegibility; - -webkit-user-drag: none; - -ms-content-zooming: none; - -ms-touch-action: manipulation; - touch-action: manipulation; - word-wrap: break-word; - -webkit-text-size-adjust: none; - -moz-text-size-adjust: none; - -ms-text-size-adjust: none; - text-size-adjust: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -a { - background-color: transparent; -} - -.enable-hover a:hover { - opacity: .7; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin-top: 1.6rem; - margin-bottom: 1rem; - font-weight: 500; - line-height: 1.2; -} - -[padding] h1:first-child, -[padding] h2:first-child, -[padding] h3:first-child, -[padding] h4:first-child, -[padding] h5:first-child, -[padding] h6:first-child { - margin-top: -0.3rem; -} - -h1 + h2, -h1 + h3, -h2 + h3 { - margin-top: -0.3rem; -} - -h1 { - margin-top: 2rem; - font-size: 2.6rem; -} - -h2 { - margin-top: 1.8rem; - font-size: 2.4rem; -} - -h3 { - font-size: 2.2rem; -} - -h4 { - font-size: 2rem; -} - -h5 { - font-size: 1.8rem; -} - -h6 { - font-size: 1.6rem; -} - -small { - font-size: 75%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sup { - top: -.5em; -} - -sub { - bottom: -.25em; -} - -ion-app, -ion-nav, -ion-tab, -ion-tabs, -.app-root { - left: 0; - top: 0; - position: absolute; - z-index: 0; - display: block; - width: 100%; - height: 100%; -} - -ion-nav, -ion-tab, -ion-tabs { - overflow: hidden; -} - -ion-tab { - display: none; -} - -ion-tab.show-tab { - display: block; -} - -ion-app, -ion-nav, -ion-tab, -ion-tabs, -.app-root, -.ion-page { - contain: strict; -} - -.ion-page { - left: 0; - top: 0; - position: absolute; - display: block; - width: 100%; - height: 100%; - opacity: 0; -} - -.ion-page.show-page { - opacity: 1; -} - -ion-header { - left: 0; - top: 0; - position: absolute; - z-index: 10; - display: block; - width: 100%; -} - -ion-footer { - left: 0; - bottom: 0; - position: absolute; - z-index: 10; - display: block; - width: 100%; -} - -[app-viewport], -[overlay-portal], -[nav-viewport], -[tab-portal], -.nav-decor { - display: none; -} - -[text-center] { - text-align: center !important; -} - -[text-justify] { - text-align: justify !important; -} - -[text-start] { - text-align: left; - text-align: start !important; -} - -[text-end] { - text-align: right; - text-align: end !important; -} - -[text-left] { - text-align: left !important; -} - -[text-right] { - text-align: right !important; -} - -[text-nowrap] { - white-space: nowrap !important; -} - -[text-wrap] { - white-space: normal !important; -} - -@media (min-width: 576px) { - [text-sm-center] { - text-align: center !important; - } - [text-sm-justify] { - text-align: justify !important; - } - [text-sm-start] { - text-align: left; - text-align: start !important; - } - [text-sm-end] { - text-align: right; - text-align: end !important; - } - [text-sm-left] { - text-align: left !important; - } - [text-sm-right] { - text-align: right !important; - } - [text-sm-nowrap] { - white-space: nowrap !important; - } - [text-sm-wrap] { - white-space: normal !important; - } -} - -@media (min-width: 768px) { - [text-md-center] { - text-align: center !important; - } - [text-md-justify] { - text-align: justify !important; - } - [text-md-start] { - text-align: left; - text-align: start !important; - } - [text-md-end] { - text-align: right; - text-align: end !important; - } - [text-md-left] { - text-align: left !important; - } - [text-md-right] { - text-align: right !important; - } - [text-md-nowrap] { - white-space: nowrap !important; - } - [text-md-wrap] { - white-space: normal !important; - } -} - -@media (min-width: 992px) { - [text-lg-center] { - text-align: center !important; - } - [text-lg-justify] { - text-align: justify !important; - } - [text-lg-start] { - text-align: left; - text-align: start !important; - } - [text-lg-end] { - text-align: right; - text-align: end !important; - } - [text-lg-left] { - text-align: left !important; - } - [text-lg-right] { - text-align: right !important; - } - [text-lg-nowrap] { - white-space: nowrap !important; - } - [text-lg-wrap] { - white-space: normal !important; - } -} - -@media (min-width: 1200px) { - [text-xl-center] { - text-align: center !important; - } - [text-xl-justify] { - text-align: justify !important; - } - [text-xl-start] { - text-align: left; - text-align: start !important; - } - [text-xl-end] { - text-align: right; - text-align: end !important; - } - [text-xl-left] { - text-align: left !important; - } - [text-xl-right] { - text-align: right !important; - } - [text-xl-nowrap] { - white-space: nowrap !important; - } - [text-xl-wrap] { - white-space: normal !important; - } -} - -[text-uppercase] { - text-transform: uppercase !important; -} - -[text-lowercase] { - text-transform: lowercase !important; -} - -[text-capitalize] { - text-transform: capitalize !important; -} - -@media (min-width: 576px) { - [text-sm-uppercase] { - text-transform: uppercase !important; - } - [text-sm-lowercase] { - text-transform: lowercase !important; - } - [text-sm-capitalize] { - text-transform: capitalize !important; - } -} - -@media (min-width: 768px) { - [text-md-uppercase] { - text-transform: uppercase !important; - } - [text-md-lowercase] { - text-transform: lowercase !important; - } - [text-md-capitalize] { - text-transform: capitalize !important; - } -} - -@media (min-width: 992px) { - [text-lg-uppercase] { - text-transform: uppercase !important; - } - [text-lg-lowercase] { - text-transform: lowercase !important; - } - [text-lg-capitalize] { - text-transform: capitalize !important; - } -} - -@media (min-width: 1200px) { - [text-xl-uppercase] { - text-transform: uppercase !important; - } - [text-xl-lowercase] { - text-transform: lowercase !important; - } - [text-xl-capitalize] { - text-transform: capitalize !important; - } -} - -[float-left] { - float: left !important; -} - -[float-right] { - float: right !important; -} - -[float-start] { - float: left !important; -} - -[float-end] { - float: right !important; -} - -@media (min-width: 576px) { - [float-sm-left] { - float: left !important; - } - [float-sm-right] { - float: right !important; - } - [float-sm-start] { - float: left !important; - } - [float-sm-end] { - float: right !important; - } -} - -@media (min-width: 768px) { - [float-md-left] { - float: left !important; - } - [float-md-right] { - float: right !important; - } - [float-md-start] { - float: left !important; - } - [float-md-end] { - float: right !important; - } -} - -@media (min-width: 992px) { - [float-lg-left] { - float: left !important; - } - [float-lg-right] { - float: right !important; - } - [float-lg-start] { - float: left !important; - } - [float-lg-end] { - float: right !important; - } -} - -@media (min-width: 1200px) { - [float-xl-left] { - float: left !important; - } - [float-xl-right] { - float: right !important; - } - [float-xl-start] { - float: left !important; - } - [float-xl-end] { - float: right !important; - } -} - -ion-app.ios { - font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif; - font-size: 1.4rem; - background-color: #fff; -} - -ion-app.md { - font-family: "Roboto", "Helvetica Neue", sans-serif; - font-size: 1.4rem; - background-color: #fff; -} - -ion-app.wp { - font-family: "Segoe UI", "Noto Sans", sans-serif; - font-size: 1.4rem; - background-color: #fff; -} - -ion-backdrop { - left: 0; - top: 0; - position: absolute; - z-index: 2; - display: block; - width: 100%; - height: 100%; - background-color: #000; - opacity: .01; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -ion-backdrop.backdrop-no-tappable { - cursor: auto; -} - -ion-badge { - padding: 3px 8px; - text-align: center; - display: inline-block; - min-width: 10px; - font-size: 1.3rem; - font-weight: bold; - line-height: 1; - white-space: nowrap; - vertical-align: baseline; -} - -ion-badge:empty { - display: none; -} - -.badge-ios { - border-radius: 10px; - color: #fff; - background-color: #673AB7; -} - -.badge-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.badge-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.badge-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.badge-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.badge-ios-dark { - color: #fff; - background-color: #222; -} - -.badge-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.badge-md { - border-radius: 4px; - color: #fff; - background-color: #673AB7; -} - -.badge-md-primary { - color: #fff; - background-color: #673AB7; -} - -.badge-md-secondary { - color: #fff; - background-color: #32db64; -} - -.badge-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.badge-md-light { - color: #000; - background-color: #f4f4f4; -} - -.badge-md-dark { - color: #fff; - background-color: #222; -} - -.badge-md-optblue { - color: #fff; - background-color: #E00201; -} - -.badge-wp { - border-radius: 0; - color: #fff; - background-color: #673AB7; -} - -.badge-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.badge-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.badge-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.badge-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.badge-wp-dark { - color: #fff; - background-color: #222; -} - -.badge-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.button { - text-align: center; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - position: relative; - z-index: 0; - display: inline-block; - text-overflow: ellipsis; - text-transform: none; - white-space: nowrap; - cursor: pointer; - vertical-align: top; - vertical-align: -webkit-baseline-middle; - -webkit-transition: background-color, opacity 100ms linear; - transition: background-color, opacity 100ms linear; - -webkit-font-kerning: none; - font-kerning: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - contain: content; -} - -.button-inner { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 100%; - height: 100%; -} - -[ion-button] { - text-decoration: none; -} - -a[disabled], -button[disabled], -[ion-button][disabled] { - cursor: default; - opacity: .4; - pointer-events: none; -} - -.button-block { - display: block; - clear: both; - width: 100%; - contain: strict; -} - -.button-block::after { - clear: both; -} - -.button-full { - display: block; - width: 100%; - contain: strict; -} - -.button-full.button-outline { - border-radius: 0; - border-right-width: 0; - border-left-width: 0; -} - -[icon-left] ion-icon, -[icon-start] ion-icon { - font-size: 1.4em; - line-height: .67; - pointer-events: none; - padding-right: 0.3em; -} - -[icon-right] ion-icon, -[icon-end] ion-icon { - font-size: 1.4em; - line-height: .67; - pointer-events: none; - padding-left: 0.4em; -} - -.button[icon-only] { - padding: 0; - min-width: .9em; -} - -[icon-only] ion-icon { - padding: 0 0.5em; - font-size: 1.8em; - line-height: .67; - pointer-events: none; -} - -.button-ios { - border-radius: 4px; - height: 2.8em; - font-size: 1.6rem; - color: #fff; - background-color: #673AB7; - margin: 0.4rem 0.2rem; - padding: 0 1em; -} - -.button-ios.activated { - background-color: #734abd; - opacity: 1; -} - -.button-ios:hover:not(.disable-hover) { - opacity: 0.8; -} - -.button-large-ios { - height: 2.8em; - font-size: 2rem; - padding: 0 1em; -} - -.button-small-ios { - height: 2.1em; - font-size: 1.3rem; - padding: 0 0.9em; -} - -.button-small-ios[icon-only] ion-icon { - font-size: 1.3em; -} - -.button-block-ios { - margin-left: 0; - margin-right: 0; -} - -.button-full-ios { - margin-left: 0; - margin-right: 0; - border-radius: 0; - border-right-width: 0; - border-left-width: 0; -} - -.button-outline-ios { - border-radius: 4px; - border-width: 1px; - border-style: solid; - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.button-outline-ios.activated { - color: #fff; - background-color: #673AB7; - opacity: 1; -} - -.button-clear-ios { - border-color: transparent; - color: #673AB7; - background-color: transparent; -} - -.button-clear-ios.activated { - background-color: transparent; - opacity: 0.4; -} - -.button-clear-ios:hover:not(.disable-hover) { - color: #673AB7; - opacity: 0.6; -} - -.button-round-ios { - border-radius: 64px; - padding: 0 2.6rem; -} - -.button-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.button-ios-primary.activated { - background-color: #734abd; -} - -.button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.button-clear-ios-primary { - border-color: transparent; - color: #673AB7; - background-color: transparent; -} - -.button-clear-ios-primary.activated { - opacity: 0.4; -} - -.button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.button-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.button-ios-secondary.activated { - background-color: #2ec95c; -} - -.button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.button-clear-ios-secondary { - border-color: transparent; - color: #32db64; - background-color: transparent; -} - -.button-clear-ios-secondary.activated { - opacity: 0.4; -} - -.button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.button-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.button-ios-danger.activated { - background-color: #e13838; -} - -.button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.button-clear-ios-danger { - border-color: transparent; - color: #f53d3d; - background-color: transparent; -} - -.button-clear-ios-danger.activated { - opacity: 0.4; -} - -.button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.button-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.button-ios-light.activated { - background-color: #e0e0e0; -} - -.button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.button-clear-ios-light { - border-color: transparent; - color: #f4f4f4; - background-color: transparent; -} - -.button-clear-ios-light.activated { - opacity: 0.4; -} - -.button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.button-ios-dark { - color: #fff; - background-color: #222; -} - -.button-ios-dark.activated { - background-color: #343434; -} - -.button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.button-clear-ios-dark { - border-color: transparent; - color: #222; - background-color: transparent; -} - -.button-clear-ios-dark.activated { - opacity: 0.4; -} - -.button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.button-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.button-ios-optblue.activated { - background-color: #e21615; -} - -.button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.button-clear-ios-optblue { - border-color: transparent; - color: #E00201; - background-color: transparent; -} - -.button-clear-ios-optblue.activated { - opacity: 0.4; -} - -.button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.button-strong-ios { - font-weight: 600; -} - -.button-md { - border-radius: 2px; - overflow: hidden; - height: 3.6rem; - font-size: 1.4rem; - font-weight: 500; - text-transform: uppercase; - color: #fff; - background-color: #673AB7; - -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - margin: 0.4rem 0.2rem; - padding: 0 1.1em; -} - -.button-md:hover:not(.disable-hover) { - background-color: #673AB7; -} - -.button-md.activated { - background-color: #734abd; - -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21), 0 0 0 0 transparent; - box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21), 0 0 0 0 transparent; -} - -.button-md .button-effect { - background-color: #fff; -} - -.button-large-md { - height: 2.8em; - font-size: 2rem; - padding: 0 1em; -} - -.button-small-md { - height: 2.1em; - font-size: 1.3rem; - padding: 0 0.9em; -} - -.button-small-md[icon-only] ion-icon { - font-size: 1.4em; -} - -.button-block-md { - margin-left: 0; - margin-right: 0; -} - -.button-full-md { - margin-left: 0; - margin-right: 0; - border-radius: 0; - border-right-width: 0; - border-left-width: 0; -} - -.button-outline-md { - border-width: 1px; - border-style: solid; - border-color: #673AB7; - color: #673AB7; - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-outline-md:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md.activated { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - opacity: 1; -} - -.button-outline-md .button-effect { - background-color: #673AB7; -} - -.button-clear-md { - border-color: transparent; - color: #673AB7; - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - opacity: 1; -} - -.button-clear-md.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-clear-md .button-effect { - background-color: #999; -} - -.button-round-md { - border-radius: 64px; - padding: 0 2.6rem; -} - -.button-md [icon-only] { - padding: 0; -} - -.button-effect { - border-radius: 50%; - -webkit-transform-origin: center center; - transform-origin: center center; - position: absolute; - z-index: 0; - display: none; - background-color: #555; - opacity: .2; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - pointer-events: none; - top: 0; - left: 0; -} - -.md button .button-effect { - display: block; -} - -.button-md-primary { - color: #fff; - background-color: #673AB7; -} - -.button-md-primary:hover:not(.disable-hover) { - background-color: #673AB7; -} - -.button-md-primary.activated { - background-color: #734abd; - opacity: 1; -} - -.button-md-primary .button-effect { - background-color: #fff; -} - -.button-outline-md-primary { - border-color: #6f44bb; - color: #6f44bb; - background-color: transparent; -} - -.button-outline-md-primary:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md-primary.activated { - background-color: transparent; -} - -.button-outline-md-primary .button-effect { - background-color: #6f44bb; -} - -.button-clear-md-primary { - border-color: transparent; - color: #673AB7; - background-color: transparent; -} - -.button-clear-md-primary.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.button-md-secondary { - color: #fff; - background-color: #32db64; -} - -.button-md-secondary:hover:not(.disable-hover) { - background-color: #32db64; -} - -.button-md-secondary.activated { - background-color: #2ec95c; - opacity: 1; -} - -.button-md-secondary .button-effect { - background-color: #fff; -} - -.button-outline-md-secondary { - border-color: #30d05f; - color: #30d05f; - background-color: transparent; -} - -.button-outline-md-secondary:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md-secondary.activated { - background-color: transparent; -} - -.button-outline-md-secondary .button-effect { - background-color: #30d05f; -} - -.button-clear-md-secondary { - border-color: transparent; - color: #32db64; - background-color: transparent; -} - -.button-clear-md-secondary.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.button-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.button-md-danger:hover:not(.disable-hover) { - background-color: #f53d3d; -} - -.button-md-danger.activated { - background-color: #e13838; - opacity: 1; -} - -.button-md-danger .button-effect { - background-color: #fff; -} - -.button-outline-md-danger { - border-color: #e93a3a; - color: #e93a3a; - background-color: transparent; -} - -.button-outline-md-danger:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md-danger.activated { - background-color: transparent; -} - -.button-outline-md-danger .button-effect { - background-color: #e93a3a; -} - -.button-clear-md-danger { - border-color: transparent; - color: #f53d3d; - background-color: transparent; -} - -.button-clear-md-danger.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.button-md-light { - color: #000; - background-color: #f4f4f4; -} - -.button-md-light:hover:not(.disable-hover) { - background-color: #f4f4f4; -} - -.button-md-light.activated { - background-color: #e0e0e0; - opacity: 1; -} - -.button-md-light .button-effect { - background-color: #000; -} - -.button-outline-md-light { - border-color: #e8e8e8; - color: #e8e8e8; - background-color: transparent; -} - -.button-outline-md-light:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md-light.activated { - background-color: transparent; -} - -.button-outline-md-light .button-effect { - background-color: #e8e8e8; -} - -.button-clear-md-light { - border-color: transparent; - color: #f4f4f4; - background-color: transparent; -} - -.button-clear-md-light.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.button-md-dark { - color: #fff; - background-color: #222; -} - -.button-md-dark:hover:not(.disable-hover) { - background-color: #222; -} - -.button-md-dark.activated { - background-color: #343434; - opacity: 1; -} - -.button-md-dark .button-effect { - background-color: #fff; -} - -.button-outline-md-dark { - border-color: #2d2d2d; - color: #2d2d2d; - background-color: transparent; -} - -.button-outline-md-dark:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md-dark.activated { - background-color: transparent; -} - -.button-outline-md-dark .button-effect { - background-color: #2d2d2d; -} - -.button-clear-md-dark { - border-color: transparent; - color: #222; - background-color: transparent; -} - -.button-clear-md-dark.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.button-md-optblue { - color: #fff; - background-color: #E00201; -} - -.button-md-optblue:hover:not(.disable-hover) { - background-color: #E00201; -} - -.button-md-optblue.activated { - background-color: #e21615; - opacity: 1; -} - -.button-md-optblue .button-effect { - background-color: #fff; -} - -.button-outline-md-optblue { - border-color: #e20f0e; - color: #e20f0e; - background-color: transparent; -} - -.button-outline-md-optblue:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-md-optblue.activated { - background-color: transparent; -} - -.button-outline-md-optblue .button-effect { - background-color: #e20f0e; -} - -.button-clear-md-optblue { - border-color: transparent; - color: #E00201; - background-color: transparent; -} - -.button-clear-md-optblue.activated { - background-color: rgba(158, 158, 158, 0.2); - -webkit-box-shadow: none; - box-shadow: none; -} - -.button-clear-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.button-strong-md { - font-weight: bold; -} - -.button-wp { - border-radius: 0; - height: 3.6rem; - border: 3px solid transparent; - font-size: 1.4rem; - color: #fff; - background-color: #673AB7; - margin: 0.4rem 0.2rem; - padding: 0 1.1em; -} - -.button-wp:hover:not(.disable-hover) { - border-color: #734abd; - background-color: #673AB7; -} - -.button-wp.activated { - background-color: #734abd; -} - -.button-large-wp { - height: 2.8em; - font-size: 2rem; - padding: 0 1em; -} - -.button-small-wp { - height: 2.1em; - font-size: 1.3rem; - padding: 0 0.9em; -} - -.button-small-wp[icon-only] ion-icon { - font-size: 1.4em; -} - -.button-block-wp { - margin-left: 0; - margin-right: 0; -} - -.button-full-wp { - margin-left: 0; - margin-right: 0; - border-radius: 0; - border-right-width: 0; - border-left-width: 0; -} - -.button-outline-wp { - border-width: 1px; - border-style: solid; - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.button-outline-wp:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp.activated { - background-color: rgba(103, 58, 183, 0.16); -} - -.button-clear-wp { - color: #673AB7; - background-color: transparent; -} - -.button-clear-wp.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp:hover:not(.disable-hover) { - background-color: rgba(158, 158, 158, 0.1); -} - -.button-round-wp { - border-radius: 64px; - padding: 0 2.6rem; -} - -.button-wp [icon-only] { - padding: 0; -} - -.button-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.button-wp-primary:hover:not(.disable-hover) { - border-color: #734abd; - background-color: #673AB7; -} - -.button-wp-primary.activated { - background-color: #734abd; -} - -.button-outline-wp-primary { - border-color: #6f44bb; - color: #6f44bb; - background-color: transparent; -} - -.button-outline-wp-primary:hover:not(.disable-hover) { - border-color: #6f44bb; - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp-primary.activated { - background-color: rgba(111, 68, 187, 0.16); -} - -.button-clear-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.button-clear-wp-primary.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.button-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.button-wp-secondary:hover:not(.disable-hover) { - border-color: #2ec95c; - background-color: #32db64; -} - -.button-wp-secondary.activated { - background-color: #2ec95c; -} - -.button-outline-wp-secondary { - border-color: #30d05f; - color: #30d05f; - background-color: transparent; -} - -.button-outline-wp-secondary:hover:not(.disable-hover) { - border-color: #30d05f; - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp-secondary.activated { - background-color: rgba(48, 208, 95, 0.16); -} - -.button-clear-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.button-clear-wp-secondary.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.button-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.button-wp-danger:hover:not(.disable-hover) { - border-color: #e13838; - background-color: #f53d3d; -} - -.button-wp-danger.activated { - background-color: #e13838; -} - -.button-outline-wp-danger { - border-color: #e93a3a; - color: #e93a3a; - background-color: transparent; -} - -.button-outline-wp-danger:hover:not(.disable-hover) { - border-color: #e93a3a; - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp-danger.activated { - background-color: rgba(233, 58, 58, 0.16); -} - -.button-clear-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.button-clear-wp-danger.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.button-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.button-wp-light:hover:not(.disable-hover) { - border-color: #e0e0e0; - background-color: #f4f4f4; -} - -.button-wp-light.activated { - background-color: #e0e0e0; -} - -.button-outline-wp-light { - border-color: #e8e8e8; - color: #e8e8e8; - background-color: transparent; -} - -.button-outline-wp-light:hover:not(.disable-hover) { - border-color: #e8e8e8; - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp-light.activated { - background-color: rgba(232, 232, 232, 0.16); -} - -.button-clear-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.button-clear-wp-light.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.button-wp-dark { - color: #fff; - background-color: #222; -} - -.button-wp-dark:hover:not(.disable-hover) { - border-color: #343434; - background-color: #222; -} - -.button-wp-dark.activated { - background-color: #343434; -} - -.button-outline-wp-dark { - border-color: #2d2d2d; - color: #2d2d2d; - background-color: transparent; -} - -.button-outline-wp-dark:hover:not(.disable-hover) { - border-color: #2d2d2d; - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp-dark.activated { - background-color: rgba(45, 45, 45, 0.16); -} - -.button-clear-wp-dark { - color: #222; - background-color: transparent; -} - -.button-clear-wp-dark.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.button-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.button-wp-optblue:hover:not(.disable-hover) { - border-color: #e21615; - background-color: #E00201; -} - -.button-wp-optblue.activated { - background-color: #e21615; -} - -.button-outline-wp-optblue { - border-color: #e20f0e; - color: #e20f0e; - background-color: transparent; -} - -.button-outline-wp-optblue:hover:not(.disable-hover) { - border-color: #e20f0e; - background-color: rgba(158, 158, 158, 0.1); -} - -.button-outline-wp-optblue.activated { - background-color: rgba(226, 15, 14, 0.16); -} - -.button-clear-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.button-clear-wp-optblue.activated { - background-color: rgba(158, 158, 158, 0.2); -} - -.button-clear-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.button-strong-wp { - font-weight: bold; -} - -ion-card { - display: block; - overflow: hidden; -} - -ion-card img { - display: block; - width: 100%; -} - -ion-card-header { - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -ion-card-content { - display: block; -} - -.card-ios { - margin: 12px; - border-radius: 2px; - width: calc(100% - 24px); - font-size: 1.4rem; - background: #fff; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); -} - -.card-ios ion-list { - margin-bottom: 0; -} - -.card-ios > .item:last-child, -.card-ios > .item:last-child .item-inner, -.card-ios > .item-wrapper:last-child .item { - border-bottom: 0; -} - -.card-ios .item-ios.item-block .item-inner { - border: 0; -} - -.card-content-ios { - padding: 13px 16px 14px; - font-size: 1.4rem; - line-height: 1.4; -} - -.card-header-ios { - font-size: 1.6rem; - font-weight: 500; - color: #333; - padding: 16px; -} - -.card-header-ios + .card-content-ios, -.card-ios .item + .card-content-ios { - padding-top: 0; -} - -.card .note-ios { - font-size: 1.3rem; -} - -.card-title-ios { - display: block; - font-size: 1.8rem; - line-height: 1.2; - color: #222; - margin: 2px 0; - padding: 8px 0; -} - -.card-ios h1 { - margin: 0 0 2px; - font-size: 2.4rem; - font-weight: normal; -} - -.card-ios h2 { - margin: 2px 0; - font-size: 1.6rem; - font-weight: normal; -} - -.card-ios h3, -.card-ios h4, -.card-ios h5, -.card-ios h6 { - margin: 2px 0; - font-size: 1.4rem; - font-weight: normal; -} - -.card-ios p { - margin: 0 0 2px; - font-size: 1.4rem; - color: #666; -} - -.card-ios + ion-card { - margin-top: 0; -} - -.card-ios .text-ios-primary { - color: #673AB7; -} - -.card-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.card-ios-primary .card-header-ios, -.card-ios-primary .card-title-ios, -.card-ios-primary .card-content-ios, -.card-ios-primary p { - color: #fff; -} - -.card-ios-primary .text-ios-primary, -.card-ios-primary .card-header-ios-primary, -.card-ios-primary .card-title-ios-primary, -.card-ios-primary .card-content-ios-primary { - color: #673AB7; -} - -.card-ios-primary .text-ios-secondary, -.card-ios-primary .card-header-ios-secondary, -.card-ios-primary .card-title-ios-secondary, -.card-ios-primary .card-content-ios-secondary { - color: #32db64; -} - -.card-ios-primary .text-ios-danger, -.card-ios-primary .card-header-ios-danger, -.card-ios-primary .card-title-ios-danger, -.card-ios-primary .card-content-ios-danger { - color: #f53d3d; -} - -.card-ios-primary .text-ios-light, -.card-ios-primary .card-header-ios-light, -.card-ios-primary .card-title-ios-light, -.card-ios-primary .card-content-ios-light { - color: #f4f4f4; -} - -.card-ios-primary .text-ios-dark, -.card-ios-primary .card-header-ios-dark, -.card-ios-primary .card-title-ios-dark, -.card-ios-primary .card-content-ios-dark { - color: #222; -} - -.card-ios-primary .text-ios-optblue, -.card-ios-primary .card-header-ios-optblue, -.card-ios-primary .card-title-ios-optblue, -.card-ios-primary .card-content-ios-optblue { - color: #E00201; -} - -.card-header-ios-primary, -.card-title-ios-primary, -.card-content-ios-primary { - color: #673AB7; -} - -.card-ios .text-ios-secondary { - color: #32db64; -} - -.card-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.card-ios-secondary .card-header-ios, -.card-ios-secondary .card-title-ios, -.card-ios-secondary .card-content-ios, -.card-ios-secondary p { - color: #fff; -} - -.card-ios-secondary .text-ios-primary, -.card-ios-secondary .card-header-ios-primary, -.card-ios-secondary .card-title-ios-primary, -.card-ios-secondary .card-content-ios-primary { - color: #673AB7; -} - -.card-ios-secondary .text-ios-secondary, -.card-ios-secondary .card-header-ios-secondary, -.card-ios-secondary .card-title-ios-secondary, -.card-ios-secondary .card-content-ios-secondary { - color: #32db64; -} - -.card-ios-secondary .text-ios-danger, -.card-ios-secondary .card-header-ios-danger, -.card-ios-secondary .card-title-ios-danger, -.card-ios-secondary .card-content-ios-danger { - color: #f53d3d; -} - -.card-ios-secondary .text-ios-light, -.card-ios-secondary .card-header-ios-light, -.card-ios-secondary .card-title-ios-light, -.card-ios-secondary .card-content-ios-light { - color: #f4f4f4; -} - -.card-ios-secondary .text-ios-dark, -.card-ios-secondary .card-header-ios-dark, -.card-ios-secondary .card-title-ios-dark, -.card-ios-secondary .card-content-ios-dark { - color: #222; -} - -.card-ios-secondary .text-ios-optblue, -.card-ios-secondary .card-header-ios-optblue, -.card-ios-secondary .card-title-ios-optblue, -.card-ios-secondary .card-content-ios-optblue { - color: #E00201; -} - -.card-header-ios-secondary, -.card-title-ios-secondary, -.card-content-ios-secondary { - color: #32db64; -} - -.card-ios .text-ios-danger { - color: #f53d3d; -} - -.card-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.card-ios-danger .card-header-ios, -.card-ios-danger .card-title-ios, -.card-ios-danger .card-content-ios, -.card-ios-danger p { - color: #fff; -} - -.card-ios-danger .text-ios-primary, -.card-ios-danger .card-header-ios-primary, -.card-ios-danger .card-title-ios-primary, -.card-ios-danger .card-content-ios-primary { - color: #673AB7; -} - -.card-ios-danger .text-ios-secondary, -.card-ios-danger .card-header-ios-secondary, -.card-ios-danger .card-title-ios-secondary, -.card-ios-danger .card-content-ios-secondary { - color: #32db64; -} - -.card-ios-danger .text-ios-danger, -.card-ios-danger .card-header-ios-danger, -.card-ios-danger .card-title-ios-danger, -.card-ios-danger .card-content-ios-danger { - color: #f53d3d; -} - -.card-ios-danger .text-ios-light, -.card-ios-danger .card-header-ios-light, -.card-ios-danger .card-title-ios-light, -.card-ios-danger .card-content-ios-light { - color: #f4f4f4; -} - -.card-ios-danger .text-ios-dark, -.card-ios-danger .card-header-ios-dark, -.card-ios-danger .card-title-ios-dark, -.card-ios-danger .card-content-ios-dark { - color: #222; -} - -.card-ios-danger .text-ios-optblue, -.card-ios-danger .card-header-ios-optblue, -.card-ios-danger .card-title-ios-optblue, -.card-ios-danger .card-content-ios-optblue { - color: #E00201; -} - -.card-header-ios-danger, -.card-title-ios-danger, -.card-content-ios-danger { - color: #f53d3d; -} - -.card-ios .text-ios-light { - color: #f4f4f4; -} - -.card-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.card-ios-light .card-header-ios, -.card-ios-light .card-title-ios, -.card-ios-light .card-content-ios, -.card-ios-light p { - color: #000; -} - -.card-ios-light .text-ios-primary, -.card-ios-light .card-header-ios-primary, -.card-ios-light .card-title-ios-primary, -.card-ios-light .card-content-ios-primary { - color: #673AB7; -} - -.card-ios-light .text-ios-secondary, -.card-ios-light .card-header-ios-secondary, -.card-ios-light .card-title-ios-secondary, -.card-ios-light .card-content-ios-secondary { - color: #32db64; -} - -.card-ios-light .text-ios-danger, -.card-ios-light .card-header-ios-danger, -.card-ios-light .card-title-ios-danger, -.card-ios-light .card-content-ios-danger { - color: #f53d3d; -} - -.card-ios-light .text-ios-light, -.card-ios-light .card-header-ios-light, -.card-ios-light .card-title-ios-light, -.card-ios-light .card-content-ios-light { - color: #f4f4f4; -} - -.card-ios-light .text-ios-dark, -.card-ios-light .card-header-ios-dark, -.card-ios-light .card-title-ios-dark, -.card-ios-light .card-content-ios-dark { - color: #222; -} - -.card-ios-light .text-ios-optblue, -.card-ios-light .card-header-ios-optblue, -.card-ios-light .card-title-ios-optblue, -.card-ios-light .card-content-ios-optblue { - color: #E00201; -} - -.card-header-ios-light, -.card-title-ios-light, -.card-content-ios-light { - color: #f4f4f4; -} - -.card-ios .text-ios-dark { - color: #222; -} - -.card-ios-dark { - color: #fff; - background-color: #222; -} - -.card-ios-dark .card-header-ios, -.card-ios-dark .card-title-ios, -.card-ios-dark .card-content-ios, -.card-ios-dark p { - color: #fff; -} - -.card-ios-dark .text-ios-primary, -.card-ios-dark .card-header-ios-primary, -.card-ios-dark .card-title-ios-primary, -.card-ios-dark .card-content-ios-primary { - color: #673AB7; -} - -.card-ios-dark .text-ios-secondary, -.card-ios-dark .card-header-ios-secondary, -.card-ios-dark .card-title-ios-secondary, -.card-ios-dark .card-content-ios-secondary { - color: #32db64; -} - -.card-ios-dark .text-ios-danger, -.card-ios-dark .card-header-ios-danger, -.card-ios-dark .card-title-ios-danger, -.card-ios-dark .card-content-ios-danger { - color: #f53d3d; -} - -.card-ios-dark .text-ios-light, -.card-ios-dark .card-header-ios-light, -.card-ios-dark .card-title-ios-light, -.card-ios-dark .card-content-ios-light { - color: #f4f4f4; -} - -.card-ios-dark .text-ios-dark, -.card-ios-dark .card-header-ios-dark, -.card-ios-dark .card-title-ios-dark, -.card-ios-dark .card-content-ios-dark { - color: #222; -} - -.card-ios-dark .text-ios-optblue, -.card-ios-dark .card-header-ios-optblue, -.card-ios-dark .card-title-ios-optblue, -.card-ios-dark .card-content-ios-optblue { - color: #E00201; -} - -.card-header-ios-dark, -.card-title-ios-dark, -.card-content-ios-dark { - color: #222; -} - -.card-ios .text-ios-optblue { - color: #E00201; -} - -.card-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.card-ios-optblue .card-header-ios, -.card-ios-optblue .card-title-ios, -.card-ios-optblue .card-content-ios, -.card-ios-optblue p { - color: #fff; -} - -.card-ios-optblue .text-ios-primary, -.card-ios-optblue .card-header-ios-primary, -.card-ios-optblue .card-title-ios-primary, -.card-ios-optblue .card-content-ios-primary { - color: #673AB7; -} - -.card-ios-optblue .text-ios-secondary, -.card-ios-optblue .card-header-ios-secondary, -.card-ios-optblue .card-title-ios-secondary, -.card-ios-optblue .card-content-ios-secondary { - color: #32db64; -} - -.card-ios-optblue .text-ios-danger, -.card-ios-optblue .card-header-ios-danger, -.card-ios-optblue .card-title-ios-danger, -.card-ios-optblue .card-content-ios-danger { - color: #f53d3d; -} - -.card-ios-optblue .text-ios-light, -.card-ios-optblue .card-header-ios-light, -.card-ios-optblue .card-title-ios-light, -.card-ios-optblue .card-content-ios-light { - color: #f4f4f4; -} - -.card-ios-optblue .text-ios-dark, -.card-ios-optblue .card-header-ios-dark, -.card-ios-optblue .card-title-ios-dark, -.card-ios-optblue .card-content-ios-dark { - color: #222; -} - -.card-ios-optblue .text-ios-optblue, -.card-ios-optblue .card-header-ios-optblue, -.card-ios-optblue .card-title-ios-optblue, -.card-ios-optblue .card-content-ios-optblue { - color: #E00201; -} - -.card-header-ios-optblue, -.card-title-ios-optblue, -.card-content-ios-optblue { - color: #E00201; -} - -.card-md { - margin: 10px; - border-radius: 2px; - width: calc(100% - 20px); - font-size: 1.4rem; - background: #fff; - -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} - -.card-md ion-list { - margin-bottom: 0; -} - -.card-md > .item:last-child, -.card-md > .item:last-child .item-inner, -.card-md > .item-wrapper:last-child .item { - border-bottom: 0; -} - -.card-md .item-md.item-block .item-inner { - border: 0; -} - -.card-content-md { - padding: 13px 16px; - font-size: 1.4rem; - line-height: 1.5; -} - -.card-header-md { - font-size: 1.6rem; - color: #222; - padding: 16px; -} - -.card-header-md + .card-content-md, -.card-md .item + .card-content-md { - padding-top: 0; -} - -.card .note-md { - font-size: 1.3rem; -} - -.card-title-md { - display: block; - font-size: 2.4rem; - line-height: 1.2; - color: #222; - margin: 2px 0; - padding: 8px 0; -} - -.card-md h1 { - margin: 0 0 2px; - font-size: 2.4rem; - font-weight: normal; - color: #222; -} - -.card-md h2 { - margin: 2px 0; - font-size: 1.6rem; - font-weight: normal; - color: #222; -} - -.card-md h3, -.card-md h4, -.card-md h5, -.card-md h6 { - margin: 2px 0; - font-size: 1.4rem; - font-weight: normal; - color: #222; -} - -.card-md p { - margin: 0 0 2px; - font-size: 1.4rem; - font-weight: normal; - line-height: 1.5; - color: #222; -} - -.card-md + ion-card { - margin-top: 0; -} - -.card-md .text-md-primary { - color: #673AB7; -} - -.card-md-primary { - color: #fff; - background-color: #673AB7; -} - -.card-md-primary .card-header-md, -.card-md-primary .card-title-md, -.card-md-primary .card-content-md, -.card-md-primary h1, -.card-md-primary h2, -.card-md-primary h3, -.card-md-primary h4, -.card-md-primary h5, -.card-md-primary h6, -.card-md-primary p { - color: #fff; -} - -.card-md-primary .text-md-primary, -.card-md-primary .card-header-md-primary, -.card-md-primary .card-title-md-primary, -.card-md-primary .card-content-md-primary { - color: #673AB7; -} - -.card-md-primary .text-md-secondary, -.card-md-primary .card-header-md-secondary, -.card-md-primary .card-title-md-secondary, -.card-md-primary .card-content-md-secondary { - color: #32db64; -} - -.card-md-primary .text-md-danger, -.card-md-primary .card-header-md-danger, -.card-md-primary .card-title-md-danger, -.card-md-primary .card-content-md-danger { - color: #f53d3d; -} - -.card-md-primary .text-md-light, -.card-md-primary .card-header-md-light, -.card-md-primary .card-title-md-light, -.card-md-primary .card-content-md-light { - color: #f4f4f4; -} - -.card-md-primary .text-md-dark, -.card-md-primary .card-header-md-dark, -.card-md-primary .card-title-md-dark, -.card-md-primary .card-content-md-dark { - color: #222; -} - -.card-md-primary .text-md-optblue, -.card-md-primary .card-header-md-optblue, -.card-md-primary .card-title-md-optblue, -.card-md-primary .card-content-md-optblue { - color: #E00201; -} - -.card-header-md-primary, -.card-title-md-primary, -.card-content-md-primary { - color: #673AB7; -} - -.card-md .text-md-secondary { - color: #32db64; -} - -.card-md-secondary { - color: #fff; - background-color: #32db64; -} - -.card-md-secondary .card-header-md, -.card-md-secondary .card-title-md, -.card-md-secondary .card-content-md, -.card-md-secondary h1, -.card-md-secondary h2, -.card-md-secondary h3, -.card-md-secondary h4, -.card-md-secondary h5, -.card-md-secondary h6, -.card-md-secondary p { - color: #fff; -} - -.card-md-secondary .text-md-primary, -.card-md-secondary .card-header-md-primary, -.card-md-secondary .card-title-md-primary, -.card-md-secondary .card-content-md-primary { - color: #673AB7; -} - -.card-md-secondary .text-md-secondary, -.card-md-secondary .card-header-md-secondary, -.card-md-secondary .card-title-md-secondary, -.card-md-secondary .card-content-md-secondary { - color: #32db64; -} - -.card-md-secondary .text-md-danger, -.card-md-secondary .card-header-md-danger, -.card-md-secondary .card-title-md-danger, -.card-md-secondary .card-content-md-danger { - color: #f53d3d; -} - -.card-md-secondary .text-md-light, -.card-md-secondary .card-header-md-light, -.card-md-secondary .card-title-md-light, -.card-md-secondary .card-content-md-light { - color: #f4f4f4; -} - -.card-md-secondary .text-md-dark, -.card-md-secondary .card-header-md-dark, -.card-md-secondary .card-title-md-dark, -.card-md-secondary .card-content-md-dark { - color: #222; -} - -.card-md-secondary .text-md-optblue, -.card-md-secondary .card-header-md-optblue, -.card-md-secondary .card-title-md-optblue, -.card-md-secondary .card-content-md-optblue { - color: #E00201; -} - -.card-header-md-secondary, -.card-title-md-secondary, -.card-content-md-secondary { - color: #32db64; -} - -.card-md .text-md-danger { - color: #f53d3d; -} - -.card-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.card-md-danger .card-header-md, -.card-md-danger .card-title-md, -.card-md-danger .card-content-md, -.card-md-danger h1, -.card-md-danger h2, -.card-md-danger h3, -.card-md-danger h4, -.card-md-danger h5, -.card-md-danger h6, -.card-md-danger p { - color: #fff; -} - -.card-md-danger .text-md-primary, -.card-md-danger .card-header-md-primary, -.card-md-danger .card-title-md-primary, -.card-md-danger .card-content-md-primary { - color: #673AB7; -} - -.card-md-danger .text-md-secondary, -.card-md-danger .card-header-md-secondary, -.card-md-danger .card-title-md-secondary, -.card-md-danger .card-content-md-secondary { - color: #32db64; -} - -.card-md-danger .text-md-danger, -.card-md-danger .card-header-md-danger, -.card-md-danger .card-title-md-danger, -.card-md-danger .card-content-md-danger { - color: #f53d3d; -} - -.card-md-danger .text-md-light, -.card-md-danger .card-header-md-light, -.card-md-danger .card-title-md-light, -.card-md-danger .card-content-md-light { - color: #f4f4f4; -} - -.card-md-danger .text-md-dark, -.card-md-danger .card-header-md-dark, -.card-md-danger .card-title-md-dark, -.card-md-danger .card-content-md-dark { - color: #222; -} - -.card-md-danger .text-md-optblue, -.card-md-danger .card-header-md-optblue, -.card-md-danger .card-title-md-optblue, -.card-md-danger .card-content-md-optblue { - color: #E00201; -} - -.card-header-md-danger, -.card-title-md-danger, -.card-content-md-danger { - color: #f53d3d; -} - -.card-md .text-md-light { - color: #f4f4f4; -} - -.card-md-light { - color: #000; - background-color: #f4f4f4; -} - -.card-md-light .card-header-md, -.card-md-light .card-title-md, -.card-md-light .card-content-md, -.card-md-light h1, -.card-md-light h2, -.card-md-light h3, -.card-md-light h4, -.card-md-light h5, -.card-md-light h6, -.card-md-light p { - color: #000; -} - -.card-md-light .text-md-primary, -.card-md-light .card-header-md-primary, -.card-md-light .card-title-md-primary, -.card-md-light .card-content-md-primary { - color: #673AB7; -} - -.card-md-light .text-md-secondary, -.card-md-light .card-header-md-secondary, -.card-md-light .card-title-md-secondary, -.card-md-light .card-content-md-secondary { - color: #32db64; -} - -.card-md-light .text-md-danger, -.card-md-light .card-header-md-danger, -.card-md-light .card-title-md-danger, -.card-md-light .card-content-md-danger { - color: #f53d3d; -} - -.card-md-light .text-md-light, -.card-md-light .card-header-md-light, -.card-md-light .card-title-md-light, -.card-md-light .card-content-md-light { - color: #f4f4f4; -} - -.card-md-light .text-md-dark, -.card-md-light .card-header-md-dark, -.card-md-light .card-title-md-dark, -.card-md-light .card-content-md-dark { - color: #222; -} - -.card-md-light .text-md-optblue, -.card-md-light .card-header-md-optblue, -.card-md-light .card-title-md-optblue, -.card-md-light .card-content-md-optblue { - color: #E00201; -} - -.card-header-md-light, -.card-title-md-light, -.card-content-md-light { - color: #f4f4f4; -} - -.card-md .text-md-dark { - color: #222; -} - -.card-md-dark { - color: #fff; - background-color: #222; -} - -.card-md-dark .card-header-md, -.card-md-dark .card-title-md, -.card-md-dark .card-content-md, -.card-md-dark h1, -.card-md-dark h2, -.card-md-dark h3, -.card-md-dark h4, -.card-md-dark h5, -.card-md-dark h6, -.card-md-dark p { - color: #fff; -} - -.card-md-dark .text-md-primary, -.card-md-dark .card-header-md-primary, -.card-md-dark .card-title-md-primary, -.card-md-dark .card-content-md-primary { - color: #673AB7; -} - -.card-md-dark .text-md-secondary, -.card-md-dark .card-header-md-secondary, -.card-md-dark .card-title-md-secondary, -.card-md-dark .card-content-md-secondary { - color: #32db64; -} - -.card-md-dark .text-md-danger, -.card-md-dark .card-header-md-danger, -.card-md-dark .card-title-md-danger, -.card-md-dark .card-content-md-danger { - color: #f53d3d; -} - -.card-md-dark .text-md-light, -.card-md-dark .card-header-md-light, -.card-md-dark .card-title-md-light, -.card-md-dark .card-content-md-light { - color: #f4f4f4; -} - -.card-md-dark .text-md-dark, -.card-md-dark .card-header-md-dark, -.card-md-dark .card-title-md-dark, -.card-md-dark .card-content-md-dark { - color: #222; -} - -.card-md-dark .text-md-optblue, -.card-md-dark .card-header-md-optblue, -.card-md-dark .card-title-md-optblue, -.card-md-dark .card-content-md-optblue { - color: #E00201; -} - -.card-header-md-dark, -.card-title-md-dark, -.card-content-md-dark { - color: #222; -} - -.card-md .text-md-optblue { - color: #E00201; -} - -.card-md-optblue { - color: #fff; - background-color: #E00201; -} - -.card-md-optblue .card-header-md, -.card-md-optblue .card-title-md, -.card-md-optblue .card-content-md, -.card-md-optblue h1, -.card-md-optblue h2, -.card-md-optblue h3, -.card-md-optblue h4, -.card-md-optblue h5, -.card-md-optblue h6, -.card-md-optblue p { - color: #fff; -} - -.card-md-optblue .text-md-primary, -.card-md-optblue .card-header-md-primary, -.card-md-optblue .card-title-md-primary, -.card-md-optblue .card-content-md-primary { - color: #673AB7; -} - -.card-md-optblue .text-md-secondary, -.card-md-optblue .card-header-md-secondary, -.card-md-optblue .card-title-md-secondary, -.card-md-optblue .card-content-md-secondary { - color: #32db64; -} - -.card-md-optblue .text-md-danger, -.card-md-optblue .card-header-md-danger, -.card-md-optblue .card-title-md-danger, -.card-md-optblue .card-content-md-danger { - color: #f53d3d; -} - -.card-md-optblue .text-md-light, -.card-md-optblue .card-header-md-light, -.card-md-optblue .card-title-md-light, -.card-md-optblue .card-content-md-light { - color: #f4f4f4; -} - -.card-md-optblue .text-md-dark, -.card-md-optblue .card-header-md-dark, -.card-md-optblue .card-title-md-dark, -.card-md-optblue .card-content-md-dark { - color: #222; -} - -.card-md-optblue .text-md-optblue, -.card-md-optblue .card-header-md-optblue, -.card-md-optblue .card-title-md-optblue, -.card-md-optblue .card-content-md-optblue { - color: #E00201; -} - -.card-header-md-optblue, -.card-title-md-optblue, -.card-content-md-optblue { - color: #E00201; -} - -.card-wp { - margin: 8px; - border-radius: 1px; - width: calc(100% - 16px); - font-size: 1.4rem; - background: #fff; - -webkit-box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.2); -} - -.card-wp ion-list { - margin-bottom: 0; -} - -.card-wp > .item:last-child, -.card-wp > .item:last-child .item-inner, -.card-wp > .item-wrapper:last-child .item { - border-bottom: 0; -} - -.card-wp .item-wp.item-block .item-inner { - border: 0; -} - -.card-content-wp { - padding: 13px 16px; - font-size: 1.4rem; - line-height: 1.5; -} - -.card-header-wp { - font-size: 1.6rem; - color: #222; - padding: 16px; -} - -.card-header-wp + .card-content-wp, -.card-wp .item + .card-content-wp { - padding-top: 0; -} - -.card .note-wp { - font-size: 1.3rem; -} - -.card-title-wp { - display: block; - font-size: 2.4rem; - line-height: 1.2; - color: #222; - margin: 2px 0; - padding: 8px 0; -} - -.card-wp h1 { - margin: 0 0 2px; - font-size: 2.4rem; - font-weight: normal; - color: #222; -} - -.card-wp h2 { - margin: 2px 0; - font-size: 1.6rem; - font-weight: normal; - color: #222; -} - -.card-wp h3, -.card-wp h4, -.card-wp h5, -.card-wp h6 { - margin: 2px 0; - font-size: 1.4rem; - font-weight: normal; - color: #222; -} - -.card-wp p { - margin: 0 0 2px; - font-size: 1.4rem; - font-weight: normal; - line-height: 1.5; - color: #222; -} - -.card-wp + ion-card { - margin-top: 0; -} - -.card-wp .text-wp-primary { - color: #673AB7; -} - -.card-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.card-wp-primary .card-header-wp, -.card-wp-primary .card-title-wp, -.card-wp-primary .card-content-wp, -.card-wp-primary h1, -.card-wp-primary h2, -.card-wp-primary h3, -.card-wp-primary h4, -.card-wp-primary h5, -.card-wp-primary h6, -.card-wp-primary p { - color: #fff; -} - -.card-wp-primary .text-wp-primary, -.card-wp-primary .card-header-wp-primary, -.card-wp-primary .card-title-wp-primary, -.card-wp-primary .card-content-wp-primary { - color: #673AB7; -} - -.card-wp-primary .text-wp-secondary, -.card-wp-primary .card-header-wp-secondary, -.card-wp-primary .card-title-wp-secondary, -.card-wp-primary .card-content-wp-secondary { - color: #32db64; -} - -.card-wp-primary .text-wp-danger, -.card-wp-primary .card-header-wp-danger, -.card-wp-primary .card-title-wp-danger, -.card-wp-primary .card-content-wp-danger { - color: #f53d3d; -} - -.card-wp-primary .text-wp-light, -.card-wp-primary .card-header-wp-light, -.card-wp-primary .card-title-wp-light, -.card-wp-primary .card-content-wp-light { - color: #f4f4f4; -} - -.card-wp-primary .text-wp-dark, -.card-wp-primary .card-header-wp-dark, -.card-wp-primary .card-title-wp-dark, -.card-wp-primary .card-content-wp-dark { - color: #222; -} - -.card-wp-primary .text-wp-optblue, -.card-wp-primary .card-header-wp-optblue, -.card-wp-primary .card-title-wp-optblue, -.card-wp-primary .card-content-wp-optblue { - color: #E00201; -} - -.card-header-wp-primary, -.card-title-wp-primary, -.card-content-wp-primary { - color: #673AB7; -} - -.card-wp .text-wp-secondary { - color: #32db64; -} - -.card-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.card-wp-secondary .card-header-wp, -.card-wp-secondary .card-title-wp, -.card-wp-secondary .card-content-wp, -.card-wp-secondary h1, -.card-wp-secondary h2, -.card-wp-secondary h3, -.card-wp-secondary h4, -.card-wp-secondary h5, -.card-wp-secondary h6, -.card-wp-secondary p { - color: #fff; -} - -.card-wp-secondary .text-wp-primary, -.card-wp-secondary .card-header-wp-primary, -.card-wp-secondary .card-title-wp-primary, -.card-wp-secondary .card-content-wp-primary { - color: #673AB7; -} - -.card-wp-secondary .text-wp-secondary, -.card-wp-secondary .card-header-wp-secondary, -.card-wp-secondary .card-title-wp-secondary, -.card-wp-secondary .card-content-wp-secondary { - color: #32db64; -} - -.card-wp-secondary .text-wp-danger, -.card-wp-secondary .card-header-wp-danger, -.card-wp-secondary .card-title-wp-danger, -.card-wp-secondary .card-content-wp-danger { - color: #f53d3d; -} - -.card-wp-secondary .text-wp-light, -.card-wp-secondary .card-header-wp-light, -.card-wp-secondary .card-title-wp-light, -.card-wp-secondary .card-content-wp-light { - color: #f4f4f4; -} - -.card-wp-secondary .text-wp-dark, -.card-wp-secondary .card-header-wp-dark, -.card-wp-secondary .card-title-wp-dark, -.card-wp-secondary .card-content-wp-dark { - color: #222; -} - -.card-wp-secondary .text-wp-optblue, -.card-wp-secondary .card-header-wp-optblue, -.card-wp-secondary .card-title-wp-optblue, -.card-wp-secondary .card-content-wp-optblue { - color: #E00201; -} - -.card-header-wp-secondary, -.card-title-wp-secondary, -.card-content-wp-secondary { - color: #32db64; -} - -.card-wp .text-wp-danger { - color: #f53d3d; -} - -.card-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.card-wp-danger .card-header-wp, -.card-wp-danger .card-title-wp, -.card-wp-danger .card-content-wp, -.card-wp-danger h1, -.card-wp-danger h2, -.card-wp-danger h3, -.card-wp-danger h4, -.card-wp-danger h5, -.card-wp-danger h6, -.card-wp-danger p { - color: #fff; -} - -.card-wp-danger .text-wp-primary, -.card-wp-danger .card-header-wp-primary, -.card-wp-danger .card-title-wp-primary, -.card-wp-danger .card-content-wp-primary { - color: #673AB7; -} - -.card-wp-danger .text-wp-secondary, -.card-wp-danger .card-header-wp-secondary, -.card-wp-danger .card-title-wp-secondary, -.card-wp-danger .card-content-wp-secondary { - color: #32db64; -} - -.card-wp-danger .text-wp-danger, -.card-wp-danger .card-header-wp-danger, -.card-wp-danger .card-title-wp-danger, -.card-wp-danger .card-content-wp-danger { - color: #f53d3d; -} - -.card-wp-danger .text-wp-light, -.card-wp-danger .card-header-wp-light, -.card-wp-danger .card-title-wp-light, -.card-wp-danger .card-content-wp-light { - color: #f4f4f4; -} - -.card-wp-danger .text-wp-dark, -.card-wp-danger .card-header-wp-dark, -.card-wp-danger .card-title-wp-dark, -.card-wp-danger .card-content-wp-dark { - color: #222; -} - -.card-wp-danger .text-wp-optblue, -.card-wp-danger .card-header-wp-optblue, -.card-wp-danger .card-title-wp-optblue, -.card-wp-danger .card-content-wp-optblue { - color: #E00201; -} - -.card-header-wp-danger, -.card-title-wp-danger, -.card-content-wp-danger { - color: #f53d3d; -} - -.card-wp .text-wp-light { - color: #f4f4f4; -} - -.card-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.card-wp-light .card-header-wp, -.card-wp-light .card-title-wp, -.card-wp-light .card-content-wp, -.card-wp-light h1, -.card-wp-light h2, -.card-wp-light h3, -.card-wp-light h4, -.card-wp-light h5, -.card-wp-light h6, -.card-wp-light p { - color: #000; -} - -.card-wp-light .text-wp-primary, -.card-wp-light .card-header-wp-primary, -.card-wp-light .card-title-wp-primary, -.card-wp-light .card-content-wp-primary { - color: #673AB7; -} - -.card-wp-light .text-wp-secondary, -.card-wp-light .card-header-wp-secondary, -.card-wp-light .card-title-wp-secondary, -.card-wp-light .card-content-wp-secondary { - color: #32db64; -} - -.card-wp-light .text-wp-danger, -.card-wp-light .card-header-wp-danger, -.card-wp-light .card-title-wp-danger, -.card-wp-light .card-content-wp-danger { - color: #f53d3d; -} - -.card-wp-light .text-wp-light, -.card-wp-light .card-header-wp-light, -.card-wp-light .card-title-wp-light, -.card-wp-light .card-content-wp-light { - color: #f4f4f4; -} - -.card-wp-light .text-wp-dark, -.card-wp-light .card-header-wp-dark, -.card-wp-light .card-title-wp-dark, -.card-wp-light .card-content-wp-dark { - color: #222; -} - -.card-wp-light .text-wp-optblue, -.card-wp-light .card-header-wp-optblue, -.card-wp-light .card-title-wp-optblue, -.card-wp-light .card-content-wp-optblue { - color: #E00201; -} - -.card-header-wp-light, -.card-title-wp-light, -.card-content-wp-light { - color: #f4f4f4; -} - -.card-wp .text-wp-dark { - color: #222; -} - -.card-wp-dark { - color: #fff; - background-color: #222; -} - -.card-wp-dark .card-header-wp, -.card-wp-dark .card-title-wp, -.card-wp-dark .card-content-wp, -.card-wp-dark h1, -.card-wp-dark h2, -.card-wp-dark h3, -.card-wp-dark h4, -.card-wp-dark h5, -.card-wp-dark h6, -.card-wp-dark p { - color: #fff; -} - -.card-wp-dark .text-wp-primary, -.card-wp-dark .card-header-wp-primary, -.card-wp-dark .card-title-wp-primary, -.card-wp-dark .card-content-wp-primary { - color: #673AB7; -} - -.card-wp-dark .text-wp-secondary, -.card-wp-dark .card-header-wp-secondary, -.card-wp-dark .card-title-wp-secondary, -.card-wp-dark .card-content-wp-secondary { - color: #32db64; -} - -.card-wp-dark .text-wp-danger, -.card-wp-dark .card-header-wp-danger, -.card-wp-dark .card-title-wp-danger, -.card-wp-dark .card-content-wp-danger { - color: #f53d3d; -} - -.card-wp-dark .text-wp-light, -.card-wp-dark .card-header-wp-light, -.card-wp-dark .card-title-wp-light, -.card-wp-dark .card-content-wp-light { - color: #f4f4f4; -} - -.card-wp-dark .text-wp-dark, -.card-wp-dark .card-header-wp-dark, -.card-wp-dark .card-title-wp-dark, -.card-wp-dark .card-content-wp-dark { - color: #222; -} - -.card-wp-dark .text-wp-optblue, -.card-wp-dark .card-header-wp-optblue, -.card-wp-dark .card-title-wp-optblue, -.card-wp-dark .card-content-wp-optblue { - color: #E00201; -} - -.card-header-wp-dark, -.card-title-wp-dark, -.card-content-wp-dark { - color: #222; -} - -.card-wp .text-wp-optblue { - color: #E00201; -} - -.card-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.card-wp-optblue .card-header-wp, -.card-wp-optblue .card-title-wp, -.card-wp-optblue .card-content-wp, -.card-wp-optblue h1, -.card-wp-optblue h2, -.card-wp-optblue h3, -.card-wp-optblue h4, -.card-wp-optblue h5, -.card-wp-optblue h6, -.card-wp-optblue p { - color: #fff; -} - -.card-wp-optblue .text-wp-primary, -.card-wp-optblue .card-header-wp-primary, -.card-wp-optblue .card-title-wp-primary, -.card-wp-optblue .card-content-wp-primary { - color: #673AB7; -} - -.card-wp-optblue .text-wp-secondary, -.card-wp-optblue .card-header-wp-secondary, -.card-wp-optblue .card-title-wp-secondary, -.card-wp-optblue .card-content-wp-secondary { - color: #32db64; -} - -.card-wp-optblue .text-wp-danger, -.card-wp-optblue .card-header-wp-danger, -.card-wp-optblue .card-title-wp-danger, -.card-wp-optblue .card-content-wp-danger { - color: #f53d3d; -} - -.card-wp-optblue .text-wp-light, -.card-wp-optblue .card-header-wp-light, -.card-wp-optblue .card-title-wp-light, -.card-wp-optblue .card-content-wp-light { - color: #f4f4f4; -} - -.card-wp-optblue .text-wp-dark, -.card-wp-optblue .card-header-wp-dark, -.card-wp-optblue .card-title-wp-dark, -.card-wp-optblue .card-content-wp-dark { - color: #222; -} - -.card-wp-optblue .text-wp-optblue, -.card-wp-optblue .card-header-wp-optblue, -.card-wp-optblue .card-title-wp-optblue, -.card-wp-optblue .card-content-wp-optblue { - color: #E00201; -} - -.card-header-wp-optblue, -.card-title-wp-optblue, -.card-content-wp-optblue { - color: #E00201; -} - -.checkbox-ios { - position: relative; - display: inline-block; -} - -.checkbox-ios .checkbox-icon { - border-radius: 50%; - position: relative; - width: 21px; - height: 21px; - border-width: 1px; - border-style: solid; - border-color: #c8c7cc; - background-color: #fff; -} - -.checkbox-ios .checkbox-checked { - border-color: #673AB7; - background-color: #673AB7; -} - -.checkbox-ios .checkbox-checked .checkbox-inner { - left: 7px; - top: 4px; - position: absolute; - width: 4px; - height: 9px; - border-width: 1px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.checkbox-ios.checkbox-disabled, -.item-ios.item-checkbox-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item.item-ios .checkbox-ios { - position: static; - display: block; - margin: 8px 16px 8px 2px; -} - -.item.item-ios .checkbox-ios[item-right], -.item.item-ios .checkbox-ios[item-end] { - margin: 10px 8px 9px 0; -} - -.checkbox-ios-primary .checkbox-checked { - border-color: #673AB7; - background-color: #673AB7; -} - -.checkbox-ios-primary .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-ios-secondary .checkbox-checked { - border-color: #32db64; - background-color: #32db64; -} - -.checkbox-ios-secondary .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-ios-danger .checkbox-checked { - border-color: #f53d3d; - background-color: #f53d3d; -} - -.checkbox-ios-danger .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-ios-light .checkbox-checked { - border-color: #f4f4f4; - background-color: #f4f4f4; -} - -.checkbox-ios-light .checkbox-checked .checkbox-inner { - border-color: #000; -} - -.checkbox-ios-dark .checkbox-checked { - border-color: #222; - background-color: #222; -} - -.checkbox-ios-dark .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-ios-optblue .checkbox-checked { - border-color: #E00201; - background-color: #E00201; -} - -.checkbox-ios-optblue .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-md { - position: relative; - display: inline-block; -} - -.checkbox-md .checkbox-icon { - border-radius: 2px; - position: relative; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: #787878; - background-color: #fff; - -webkit-transition-duration: 280ms; - transition-duration: 280ms; - -webkit-transition-property: background; - transition-property: background; - -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.checkbox-md .checkbox-checked { - border-color: #673AB7; - background-color: #673AB7; -} - -.checkbox-md .checkbox-checked .checkbox-inner { - left: 4px; - top: 0; - position: absolute; - width: 5px; - height: 10px; - border-width: 2px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.checkbox-md.checkbox-disabled, -.item-md.item-checkbox-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item.item-md .checkbox-md { - position: static; - display: block; - margin: 9px 36px 9px 4px; -} - -.item.item-md .checkbox-md[item-right], -.item.item-md .checkbox-md[item-end] { - margin: 11px 10px 10px 0; -} - -.checkbox-md + .item-inner ion-label { - margin-left: 0; -} - -.checkbox-md-primary .checkbox-checked { - border-color: #673AB7; - background-color: #673AB7; -} - -.checkbox-md-primary .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-md-secondary .checkbox-checked { - border-color: #32db64; - background-color: #32db64; -} - -.checkbox-md-secondary .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-md-danger .checkbox-checked { - border-color: #f53d3d; - background-color: #f53d3d; -} - -.checkbox-md-danger .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-md-light .checkbox-checked { - border-color: #f4f4f4; - background-color: #f4f4f4; -} - -.checkbox-md-light .checkbox-checked .checkbox-inner { - border-color: #000; -} - -.checkbox-md-dark .checkbox-checked { - border-color: #222; - background-color: #222; -} - -.checkbox-md-dark .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-md-optblue .checkbox-checked { - border-color: #E00201; - background-color: #E00201; -} - -.checkbox-md-optblue .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-wp { - position: relative; - display: inline-block; -} - -.checkbox-wp .checkbox-icon { - border-radius: 0; - position: relative; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: #333; - background-color: #fff; -} - -.checkbox-wp .checkbox-checked { - border-color: #673AB7; - background-color: #673AB7; -} - -.checkbox-wp .checkbox-checked .checkbox-inner { - left: 3px; - top: -2px; - position: absolute; - width: 6px; - height: 12px; - border-width: 1px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.checkbox-wp.checkbox-disabled, -.item-wp.item-checkbox-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item.item-wp .checkbox-wp { - position: static; - display: block; - margin: 9px 16px 9px 4px; -} - -.item.item-wp .checkbox-wp[item-right], -.item.item-wp .checkbox-wp[item-end] { - margin: 11px 10px 10px 0; -} - -.checkbox-wp + .item-inner ion-label { - margin-left: 0; -} - -.checkbox-wp-primary .checkbox-checked { - border-color: #673AB7; - background-color: #673AB7; -} - -.checkbox-wp-primary .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-wp-secondary .checkbox-checked { - border-color: #32db64; - background-color: #32db64; -} - -.checkbox-wp-secondary .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-wp-danger .checkbox-checked { - border-color: #f53d3d; - background-color: #f53d3d; -} - -.checkbox-wp-danger .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-wp-light .checkbox-checked { - border-color: #f4f4f4; - background-color: #f4f4f4; -} - -.checkbox-wp-light .checkbox-checked .checkbox-inner { - border-color: #000; -} - -.checkbox-wp-dark .checkbox-checked { - border-color: #222; - background-color: #222; -} - -.checkbox-wp-dark .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -.checkbox-wp-optblue .checkbox-checked { - border-color: #E00201; - background-color: #E00201; -} - -.checkbox-wp-optblue .checkbox-checked .checkbox-inner { - border-color: #fff; -} - -ion-chip { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - font-weight: normal; - vertical-align: middle; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -ion-chip .button { - border-radius: 50%; - width: 32px; - height: 32px; - margin: 0; -} - -ion-chip ion-icon { - text-align: center; - border-radius: 50%; - width: 32px; - height: 32px; - font-size: 18px; - line-height: 32px; -} - -ion-chip ion-avatar { - border-radius: 50%; - width: 32px; - min-width: 32px; - height: 32px; - min-height: 32px; -} - -ion-chip ion-avatar img { - border-radius: 50%; - display: block; - width: 100%; - max-width: 100%; - height: 100%; - max-height: 100%; -} - -.chip-ios { - border-radius: 16px; - height: 32px; - font-size: 13px; - line-height: 32px; - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.12); - margin: 2px 0; -} - -.chip-ios > ion-label { - margin: 0 10px; -} - -.chip-ios > ion-icon { - color: #fff; - background-color: #673AB7; -} - -.chip-ios-primary, -.chip-ios .icon-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.chip-ios-secondary, -.chip-ios .icon-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.chip-ios-danger, -.chip-ios .icon-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.chip-ios-light, -.chip-ios .icon-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.chip-ios-dark, -.chip-ios .icon-ios-dark { - color: #fff; - background-color: #222; -} - -.chip-ios-optblue, -.chip-ios .icon-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.chip-md { - border-radius: 16px; - height: 32px; - font-size: 13px; - line-height: 32px; - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.12); - margin: 2px 0; -} - -.chip-md > ion-label { - margin: 0 10px; -} - -.chip-md > ion-icon { - color: #fff; - background-color: #673AB7; -} - -.chip-md-primary, -.chip-md .icon-md-primary { - color: #fff; - background-color: #673AB7; -} - -.chip-md-secondary, -.chip-md .icon-md-secondary { - color: #fff; - background-color: #32db64; -} - -.chip-md-danger, -.chip-md .icon-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.chip-md-light, -.chip-md .icon-md-light { - color: #000; - background-color: #f4f4f4; -} - -.chip-md-dark, -.chip-md .icon-md-dark { - color: #fff; - background-color: #222; -} - -.chip-md-optblue, -.chip-md .icon-md-optblue { - color: #fff; - background-color: #E00201; -} - -.chip-wp { - border-radius: 16px; - height: 32px; - font-size: 13px; - line-height: 32px; - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.12); - margin: 2px 0; -} - -.chip-wp > ion-label { - margin: 0 10px; -} - -.chip-wp > ion-icon { - color: #fff; - background-color: #673AB7; -} - -.chip-wp .button { - border: 0; -} - -.chip-wp-primary, -.chip-wp .icon-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.chip-wp-secondary, -.chip-wp .icon-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.chip-wp-danger, -.chip-wp .icon-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.chip-wp-light, -.chip-wp .icon-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.chip-wp-dark, -.chip-wp .icon-wp-dark { - color: #fff; - background-color: #222; -} - -.chip-wp-optblue, -.chip-wp .icon-wp-optblue { - color: #fff; - background-color: #E00201; -} - -ion-content { - left: 0; - top: 0; - position: relative; - display: block; - width: 100%; - height: 100%; - contain: layout size style; -} - -.ion-page > ion-content { - position: absolute; -} - -a { - color: #673AB7; -} - -.scroll-content { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - z-index: 1; - display: block; - overflow-x: hidden; - overflow-y: scroll; - -webkit-overflow-scrolling: touch; - will-change: scroll-position; - contain: size style layout; -} - -ion-content.js-scroll > .scroll-content { - position: relative; - min-height: 100%; - overflow-x: initial; - overflow-y: initial; - -webkit-overflow-scrolling: auto; - will-change: initial; -} - -.disable-scroll .ion-page { - pointer-events: none; - -ms-touch-action: none; - touch-action: none; -} - -ion-content.has-refresher > .scroll-content { - background-color: inherit; -} - -.fixed-content { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - display: block; -} - -[ion-fixed] { - position: absolute; - z-index: 999; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -ion-app [no-padding], -ion-app [no-padding] .scroll-content { - padding: 0; -} - -ion-app [no-margin], -ion-app [no-margin] .scroll-content { - margin: 0; -} - -.content-ios { - color: #000; - background-color: #fff; -} - -.content-ios.outer-content { - background: #efeff4; -} - -.content-ios hr { - height: 0.55px; - background-color: rgba(0, 0, 0, 0.12); -} - -.ios .ion-page.show-page ~ .nav-decor { - left: 0; - top: 0; - position: absolute; - z-index: 0; - display: block; - width: 100%; - height: 100%; - background: #000; - pointer-events: none; -} - -ion-app.ios [padding] { - padding: 16px; -} - -ion-app.ios [padding-top] { - padding-top: 16px; -} - -ion-app.ios [padding-left] { - padding-left: 16px; -} - -ion-app.ios [padding-right] { - padding-right: 16px; -} - -ion-app.ios [padding-bottom] { - padding-bottom: 16px; -} - -ion-app.ios [padding-vertical] { - padding-top: 16px; - padding-bottom: 16px; -} - -ion-app.ios [padding-horizontal] { - padding-left: 16px; - padding-right: 16px; -} - -ion-app.ios [padding] .scroll-content { - padding: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-top: 16px; - padding-bottom: 16px; - padding: 16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px); - } -} - -ion-app.ios [padding-top] .scroll-content { - padding-top: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding-top] .scroll-content { - padding-top: 16px; - padding-top: 16px; - } -} - -ion-app.ios [padding-left] .scroll-content { - padding-left: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding-left] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - } -} - -ion-app.ios [padding-right] .scroll-content { - padding-right: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding-right] .scroll-content { - padding-right: calc(constant(safe-area-inset-right) + 16px); - padding-right: calc(env(safe-area-inset-right) + 16px); - } -} - -ion-app.ios [padding-bottom] .scroll-content { - padding-bottom: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding-bottom] .scroll-content { - padding-bottom: 16px; - padding-bottom: 16px; - } -} - -ion-app.ios [padding-vertical] .scroll-content { - padding-top: 16px; - padding-bottom: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding-vertical] .scroll-content { - padding-top: 16px; - padding-bottom: 16px; - padding-top: 16px; - padding-bottom: 16px; - } -} - -ion-app.ios [padding-horizontal] .scroll-content { - padding-left: 16px; - padding-right: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.ios [padding-horizontal] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-right: calc(constant(safe-area-inset-right) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - padding-right: calc(env(safe-area-inset-right) + 16px); - } -} - -ion-app.ios [margin], -ion-app.ios [margin] .scroll-content { - margin: 16px; -} - -ion-app.ios [margin-top], -ion-app.ios [margin-top] .scroll-content { - margin-top: 16px; -} - -ion-app.ios [margin-left], -ion-app.ios [margin-left] .scroll-content { - margin-left: 16px; -} - -ion-app.ios [margin-start], -ion-app.ios [margin-start] .scroll-content { - margin-left: 16px; -} - -ion-app.ios [margin-right], -ion-app.ios [margin-right] .scroll-content { - margin-right: 16px; -} - -ion-app.ios [margin-end], -ion-app.ios [margin-end] .scroll-content { - margin-right: 16px; -} - -ion-app.ios [margin-bottom], -ion-app.ios [margin-bottom] .scroll-content { - margin-bottom: 16px; -} - -ion-app.ios [margin-vertical], -ion-app.ios [margin-vertical] .scroll-content { - margin-top: 16px; - margin-bottom: 16px; -} - -ion-app.ios [margin-horizontal], -ion-app.ios [margin-horizontal] .scroll-content { - margin-left: 16px; - margin-right: 16px; -} - -.content-ios:not([no-bounce]) > .scroll-content::before, -.content-ios:not([no-bounce]) > .scroll-content::after { - position: absolute; - width: 1px; - height: 1px; - content: ""; -} - -.content-ios:not([no-bounce]) > .scroll-content::before { - bottom: -1px; -} - -.content-ios:not([no-bounce]) > .scroll-content::after { - top: -1px; -} - -.platform-core .content-ios .scroll-content::after, -.platform-core .content-ios .scroll-content::before { - position: initial; - top: initial; - bottom: initial; - width: initial; - height: initial; -} - -.content-md { - color: #000; - background-color: #fff; -} - -.content-md hr { - background-color: rgba(0, 0, 0, 0.08); -} - -ion-app.md [padding] { - padding: 16px; -} - -ion-app.md [padding-top] { - padding-top: 16px; -} - -ion-app.md [padding-left] { - padding-left: 16px; -} - -ion-app.md [padding-right] { - padding-right: 16px; -} - -ion-app.md [padding-bottom] { - padding-bottom: 16px; -} - -ion-app.md [padding-vertical] { - padding-top: 16px; - padding-bottom: 16px; -} - -ion-app.md [padding-horizontal] { - padding-left: 16px; - padding-right: 16px; -} - -ion-app.md [padding] .scroll-content { - padding: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-top: 16px; - padding-bottom: 16px; - padding: 16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px); - } -} - -ion-app.md [padding-top] .scroll-content { - padding-top: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding-top] .scroll-content { - padding-top: 16px; - padding-top: 16px; - } -} - -ion-app.md [padding-left] .scroll-content { - padding-left: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding-left] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - } -} - -ion-app.md [padding-right] .scroll-content { - padding-right: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding-right] .scroll-content { - padding-right: calc(constant(safe-area-inset-right) + 16px); - padding-right: calc(env(safe-area-inset-right) + 16px); - } -} - -ion-app.md [padding-bottom] .scroll-content { - padding-bottom: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding-bottom] .scroll-content { - padding-bottom: 16px; - padding-bottom: 16px; - } -} - -ion-app.md [padding-vertical] .scroll-content { - padding-top: 16px; - padding-bottom: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding-vertical] .scroll-content { - padding-top: 16px; - padding-bottom: 16px; - padding-top: 16px; - padding-bottom: 16px; - } -} - -ion-app.md [padding-horizontal] .scroll-content { - padding-left: 16px; - padding-right: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.md [padding-horizontal] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-right: calc(constant(safe-area-inset-right) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - padding-right: calc(env(safe-area-inset-right) + 16px); - } -} - -ion-app.md [margin], -ion-app.md [margin] .scroll-content { - margin: 16px; -} - -ion-app.md [margin-top], -ion-app.md [margin-top] .scroll-content { - margin-top: 16px; -} - -ion-app.md [margin-left], -ion-app.md [margin-left] .scroll-content { - margin-left: 16px; -} - -ion-app.md [margin-start], -ion-app.md [margin-start] .scroll-content { - margin-left: 16px; -} - -ion-app.md [margin-right], -ion-app.md [margin-right] .scroll-content { - margin-right: 16px; -} - -ion-app.md [margin-end], -ion-app.md [margin-end] .scroll-content { - margin-right: 16px; -} - -ion-app.md [margin-bottom], -ion-app.md [margin-bottom] .scroll-content { - margin-bottom: 16px; -} - -ion-app.md [margin-vertical], -ion-app.md [margin-vertical] .scroll-content { - margin-top: 16px; - margin-bottom: 16px; -} - -ion-app.md [margin-horizontal], -ion-app.md [margin-horizontal] .scroll-content { - margin-left: 16px; - margin-right: 16px; -} - -.content-wp { - color: #000; - background-color: #fff; -} - -.content-wp hr { - background-color: rgba(0, 0, 0, 0.08); -} - -ion-app.wp [padding] { - padding: 16px; -} - -ion-app.wp [padding-top] { - padding-top: 16px; -} - -ion-app.wp [padding-left] { - padding-left: 16px; -} - -ion-app.wp [padding-right] { - padding-right: 16px; -} - -ion-app.wp [padding-bottom] { - padding-bottom: 16px; -} - -ion-app.wp [padding-vertical] { - padding-top: 16px; - padding-bottom: 16px; -} - -ion-app.wp [padding-horizontal] { - padding-left: 16px; - padding-right: 16px; -} - -ion-app.wp [padding] .scroll-content { - padding: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-top: 16px; - padding-bottom: 16px; - padding: 16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px); - } -} - -ion-app.wp [padding-top] .scroll-content { - padding-top: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding-top] .scroll-content { - padding-top: 16px; - padding-top: 16px; - } -} - -ion-app.wp [padding-left] .scroll-content { - padding-left: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding-left] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - } -} - -ion-app.wp [padding-right] .scroll-content { - padding-right: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding-right] .scroll-content { - padding-right: calc(constant(safe-area-inset-right) + 16px); - padding-right: calc(env(safe-area-inset-right) + 16px); - } -} - -ion-app.wp [padding-bottom] .scroll-content { - padding-bottom: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding-bottom] .scroll-content { - padding-bottom: 16px; - padding-bottom: 16px; - } -} - -ion-app.wp [padding-vertical] .scroll-content { - padding-top: 16px; - padding-bottom: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding-vertical] .scroll-content { - padding-top: 16px; - padding-bottom: 16px; - padding-top: 16px; - padding-bottom: 16px; - } -} - -ion-app.wp [padding-horizontal] .scroll-content { - padding-left: 16px; - padding-right: 16px; -} - -@media screen and (orientation: landscape) { - ion-app.wp [padding-horizontal] .scroll-content { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-right: calc(constant(safe-area-inset-right) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - padding-right: calc(env(safe-area-inset-right) + 16px); - } -} - -ion-app.wp [margin], -ion-app.wp [margin] .scroll-content { - margin: 16px; -} - -ion-app.wp [margin-top], -ion-app.wp [margin-top] .scroll-content { - margin-top: 16px; -} - -ion-app.wp [margin-left], -ion-app.wp [margin-left] .scroll-content { - margin-left: 16px; -} - -ion-app.wp [margin-start], -ion-app.wp [margin-start] .scroll-content { - margin-left: 16px; -} - -ion-app.wp [margin-right], -ion-app.wp [margin-right] .scroll-content { - margin-right: 16px; -} - -ion-app.wp [margin-end], -ion-app.wp [margin-end] .scroll-content { - margin-right: 16px; -} - -ion-app.wp [margin-bottom], -ion-app.wp [margin-bottom] .scroll-content { - margin-bottom: 16px; -} - -ion-app.wp [margin-vertical], -ion-app.wp [margin-vertical] .scroll-content { - margin-top: 16px; - margin-bottom: 16px; -} - -ion-app.wp [margin-horizontal], -ion-app.wp [margin-horizontal] .scroll-content { - margin-left: 16px; - margin-right: 16px; -} - -ion-datetime { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; -} - -.datetime-text { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - min-width: 16px; - min-height: 1.2em; - font-size: inherit; - line-height: 1.2; - text-overflow: ellipsis; - white-space: nowrap; -} - -.datetime-disabled, -.item-datetime-disabled ion-label { - opacity: .4; - pointer-events: none; -} - -.item-label-stacked ion-datetime, -.item-label-floating ion-datetime { - padding-left: 0; - width: 100%; -} - -.datetime-ios { - padding: 11px 8px 11px 16px; -} - -.datetime-ios .datetime-placeholder { - color: #999; -} - -.datetime-md { - padding: 13px 8px 13px 16px; -} - -.datetime-md .datetime-placeholder { - color: #999; -} - -.datetime-wp { - padding: 13px 8px 13px 16px; - min-width: 45%; -} - -.datetime-wp .datetime-text { - padding: 0 8px; - min-height: 3.4rem; - border: 2px solid rgba(0, 0, 0, 0.5); - line-height: 3rem; -} - -.item-datetime .datetime-wp ion-label[floating] { - -webkit-transform: translate3d(8px, 41px, 0); - transform: translate3d(8px, 41px, 0); -} - -.datetime-wp .datetime-placeholder { - color: rgba(0, 0, 0, 0.5); -} - -.fab { - text-align: center; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - border-radius: 50%; - position: relative; - z-index: 0; - display: block; - overflow: hidden; - width: 56px; - height: 56px; - font-size: 14px; - line-height: 56px; - text-overflow: ellipsis; - text-transform: none; - white-space: nowrap; - cursor: pointer; - -webkit-transition: background-color, opacity 100ms linear; - transition: background-color, opacity 100ms linear; - background-clip: padding-box; - -webkit-font-kerning: none; - font-kerning: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - contain: strict; -} - -.fab ion-icon { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - font-size: 2.4rem; -} - -.fab[mini] { - margin: 8px; - width: 40px; - height: 40px; - line-height: 40px; -} - -.fab[mini] .fab-close-icon { - line-height: 40px; -} - -ion-fab { - position: absolute; - z-index: 999; -} - -ion-fab[center] { - left: 50%; - margin-left: -28px; -} - -ion-fab[middle] { - margin-top: -28px; - top: 50%; -} - -ion-fab[top] { - top: 10px; -} - -ion-fab[right] { - right: 10px; - right: calc(10px + constant(safe-area-inset-right)); - right: calc(10px + env(safe-area-inset-right)); -} - -ion-fab[end] { - right: 10px; - right: calc(constant(safe-area-inset-right) + 10px); - right: calc(env(safe-area-inset-right) + 10px); -} - -ion-fab[bottom] { - bottom: 10px; -} - -ion-fab[left] { - left: 10px; - left: calc(10px + constant(safe-area-inset-left)); - left: calc(10px + env(safe-area-inset-left)); -} - -ion-fab[start] { - left: 10px; - left: calc(constant(safe-area-inset-left) + 10px); - left: calc(env(safe-area-inset-left) + 10px); -} - -ion-fab[top][edge] { - top: -28px; -} - -ion-fab[bottom][edge] { - bottom: -28px; -} - -ion-fab-list { - margin: 66px 0; - position: absolute; - top: 0; - display: none; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - min-width: 56px; - min-height: 56px; -} - -.fab-in-list { - margin: 8px 0; - width: 40px; - height: 40px; - opacity: 0; - visibility: hidden; - -webkit-transform: scale(0); - transform: scale(0); -} - -.fab-in-list.show { - opacity: 1; - visibility: visible; - -webkit-transform: scale(1); - transform: scale(1); -} - -ion-fab-list[side=left] .fab-in-list, -ion-fab-list[side=right] .fab-in-list { - margin: 0 8px; -} - -ion-fab-list[side=top] { - top: auto; - bottom: 0; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -webkit-flex-direction: column-reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse; -} - -ion-fab-list[side=left] { - margin: 0 66px; - right: 0; - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; -} - -ion-fab-list[side=right] { - margin: 0 66px; - left: 0; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; -} - -.fab-list-active { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.fab-close-icon { - left: 0; - right: 0; - top: 0; - position: absolute; - line-height: 56px; - opacity: 0; - -webkit-transform: scale(0.4) rotateZ(-45deg); - transform: scale(0.4) rotateZ(-45deg); - -webkit-transition: all ease-in-out 300ms; - transition: all ease-in-out 300ms; - -webkit-transition-property: opacity, -webkit-transform; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; -} - -.fab .button-inner { - -webkit-transition: all ease-in-out 300ms; - transition: all ease-in-out 300ms; - -webkit-transition-property: opacity, -webkit-transform; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; -} - -.fab-close-active .fab-close-icon { - opacity: 1; - -webkit-transform: scale(1) rotateZ(0deg); - transform: scale(1) rotateZ(0deg); -} - -.fab-close-active .button-inner { - opacity: 0; - -webkit-transform: scale(0.4) rotateZ(45deg); - transform: scale(0.4) rotateZ(45deg); -} - -.fab-ios { - color: #fff; - background-color: #673AB7; -} - -.fab-ios.activated { - background-color: #734abd; -} - -.fab-ios-in-list { - color: #000; - background-color: #f4f4f4; - -webkit-transition: opacity 200ms ease 10ms, -webkit-transform 200ms ease 10ms; - transition: opacity 200ms ease 10ms, -webkit-transform 200ms ease 10ms; - transition: transform 200ms ease 10ms, opacity 200ms ease 10ms; - transition: transform 200ms ease 10ms, opacity 200ms ease 10ms, -webkit-transform 200ms ease 10ms; -} - -.fab-ios-in-list.activated { - background-color: #e0e0e0; -} - -.fab-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.fab-ios-primary.activated { - background-color: #734abd; -} - -.fab-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.fab-ios-secondary.activated { - background-color: #2ec95c; -} - -.fab-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.fab-ios-danger.activated { - background-color: #e13838; -} - -.fab-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.fab-ios-light.activated { - background-color: #e0e0e0; -} - -.fab-ios-dark { - color: #fff; - background-color: #222; -} - -.fab-ios-dark.activated { - background-color: #343434; -} - -.fab-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.fab-ios-optblue.activated { - background-color: #e21615; -} - -.fab-md { - color: #fff; - background-color: #673AB7; - -webkit-box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); - box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); - -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); -} - -.fab-md.activated { - background-color: #734abd; - -webkit-box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); -} - -.fab-md-in-list { - color: #000; - background-color: #f4f4f4; - -webkit-transition: opacity 200ms ease 10ms, background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 200ms ease 10ms, -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: opacity 200ms ease 10ms, background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 200ms ease 10ms, -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 200ms ease 10ms, opacity 200ms ease 10ms, box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 200ms ease 10ms, opacity 200ms ease 10ms, box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 200ms ease 10ms, -webkit-box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1); -} - -.fab-md-in-list.activated { - background-color: #e0e0e0; -} - -.fab-md .button-effect { - background-color: #fff; -} - -.fab-md-primary { - color: #fff; - background-color: #673AB7; -} - -.fab-md-primary.activated { - background-color: #734abd; -} - -.fab-md-primary .button-effect { - background-color: #fff; -} - -.fab-md-secondary { - color: #fff; - background-color: #32db64; -} - -.fab-md-secondary.activated { - background-color: #2ec95c; -} - -.fab-md-secondary .button-effect { - background-color: #fff; -} - -.fab-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.fab-md-danger.activated { - background-color: #e13838; -} - -.fab-md-danger .button-effect { - background-color: #fff; -} - -.fab-md-light { - color: #000; - background-color: #f4f4f4; -} - -.fab-md-light.activated { - background-color: #e0e0e0; -} - -.fab-md-light .button-effect { - background-color: #000; -} - -.fab-md-dark { - color: #fff; - background-color: #222; -} - -.fab-md-dark.activated { - background-color: #343434; -} - -.fab-md-dark .button-effect { - background-color: #fff; -} - -.fab-md-optblue { - color: #fff; - background-color: #E00201; -} - -.fab-md-optblue.activated { - background-color: #e21615; -} - -.fab-md-optblue .button-effect { - background-color: #fff; -} - -.fab-wp { - color: #fff; - background-color: #673AB7; -} - -.fab-wp.activated { - background-color: #734abd; -} - -.fab-wp-in-list { - color: #000; - background-color: #f4f4f4; - -webkit-transition: opacity 200ms ease 10ms, -webkit-transform 200ms ease 10ms; - transition: opacity 200ms ease 10ms, -webkit-transform 200ms ease 10ms; - transition: transform 200ms ease 10ms, opacity 200ms ease 10ms; - transition: transform 200ms ease 10ms, opacity 200ms ease 10ms, -webkit-transform 200ms ease 10ms; -} - -.fab-wp-in-list.activated { - background-color: #e0e0e0; -} - -.fab-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.fab-wp-primary.activated { - background-color: #734abd; -} - -.fab-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.fab-wp-secondary.activated { - background-color: #2ec95c; -} - -.fab-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.fab-wp-danger.activated { - background-color: #e13838; -} - -.fab-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.fab-wp-light.activated { - background-color: #e0e0e0; -} - -.fab-wp-dark { - color: #fff; - background-color: #222; -} - -.fab-wp-dark.activated { - background-color: #343434; -} - -.fab-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.fab-wp-optblue.activated { - background-color: #e21615; -} - -.grid { - padding: 5px; - margin-left: auto; - margin-right: auto; - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.grid[no-padding] { - padding: 0; -} - -.grid[no-padding] > .row > .col { - padding: 0; -} - -@media (min-width: 576px) { - .grid[fixed] { - width: 540px; - max-width: 100%; - } -} - -@media (min-width: 768px) { - .grid[fixed] { - width: 720px; - max-width: 100%; - } -} - -@media (min-width: 992px) { - .grid[fixed] { - width: 960px; - max-width: 100%; - } -} - -@media (min-width: 1200px) { - .grid[fixed] { - width: 1140px; - max-width: 100%; - } -} - -.row { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.row[nowrap] { - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} - -.row[wrap-reverse] { - -webkit-flex-wrap: wrap-reverse; - -ms-flex-wrap: wrap-reverse; - flex-wrap: wrap-reverse; -} - -.row[align-items-start] { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} - -.row[align-items-center] { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.row[align-items-end] { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; -} - -.row[align-items-stretch] { - -webkit-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; -} - -.row[align-items-baseline] { - -webkit-box-align: baseline; - -webkit-align-items: baseline; - -ms-flex-align: baseline; - align-items: baseline; -} - -.row[justify-content-start] { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.row[justify-content-center] { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.row[justify-content-end] { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -.row[justify-content-around] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; -} - -.row[justify-content-between] { - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.col { - padding: 5px; - position: relative; - width: 100%; - margin: 0; - min-height: 1px; - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col[align-self-start] { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; -} - -.col[align-self-end] { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; -} - -.col[align-self-center] { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; -} - -.col[align-self-stretch] { - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; -} - -.col[align-self-baseline] { - -webkit-align-self: baseline; - -ms-flex-item-align: baseline; - align-self: baseline; -} - -[col-1] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-1] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-1] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-1] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-1] { - padding: 5px; - } -} - -[col-2] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-2] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-2] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-2] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-2] { - padding: 5px; - } -} - -[col-3] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-3] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-3] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-3] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-3] { - padding: 5px; - } -} - -[col-4] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-4] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-4] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-4] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-4] { - padding: 5px; - } -} - -[col-5] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-5] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-5] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-5] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-5] { - padding: 5px; - } -} - -[col-6] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-6] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-6] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-6] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-6] { - padding: 5px; - } -} - -[col-7] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-7] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-7] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-7] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-7] { - padding: 5px; - } -} - -[col-8] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-8] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-8] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-8] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-8] { - padding: 5px; - } -} - -[col-9] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-9] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-9] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-9] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-9] { - padding: 5px; - } -} - -[col-10] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-10] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-10] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-10] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-10] { - padding: 5px; - } -} - -[col-11] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-11] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-11] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-11] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-11] { - padding: 5px; - } -} - -[col-12] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-12] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-12] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-12] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-12] { - padding: 5px; - } -} - -[col] { - padding: 5px; -} - -@media (min-width: 576px) { - [col] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col] { - padding: 5px; - } -} - -[col] { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -[col-auto] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; -} - -[col-1] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.33333%; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - width: 8.33333%; - max-width: 8.33333%; -} - -[col-2] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.66667%; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - width: 16.66667%; - max-width: 16.66667%; -} - -[col-3] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - width: 25%; - max-width: 25%; -} - -[col-4] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.33333%; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - width: 33.33333%; - max-width: 33.33333%; -} - -[col-5] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.66667%; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - width: 41.66667%; - max-width: 41.66667%; -} - -[col-6] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - width: 50%; - max-width: 50%; -} - -[col-7] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.33333%; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - width: 58.33333%; - max-width: 58.33333%; -} - -[col-8] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.66667%; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - width: 66.66667%; - max-width: 66.66667%; -} - -[col-9] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - width: 75%; - max-width: 75%; -} - -[col-10] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.33333%; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - width: 83.33333%; - max-width: 83.33333%; -} - -[col-11] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.66667%; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - width: 91.66667%; - max-width: 91.66667%; -} - -[col-12] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - width: 100%; - max-width: 100%; -} - -[pull-0] { - right: auto; -} - -[pull-1] { - right: 8.33333%; -} - -[pull-2] { - right: 16.66667%; -} - -[pull-3] { - right: 25%; -} - -[pull-4] { - right: 33.33333%; -} - -[pull-5] { - right: 41.66667%; -} - -[pull-6] { - right: 50%; -} - -[pull-7] { - right: 58.33333%; -} - -[pull-8] { - right: 66.66667%; -} - -[pull-9] { - right: 75%; -} - -[pull-10] { - right: 83.33333%; -} - -[pull-11] { - right: 91.66667%; -} - -[pull-12] { - right: 100%; -} - -[push-0] { - left: auto; -} - -[push-1] { - left: 8.33333%; -} - -[push-2] { - left: 16.66667%; -} - -[push-3] { - left: 25%; -} - -[push-4] { - left: 33.33333%; -} - -[push-5] { - left: 41.66667%; -} - -[push-6] { - left: 50%; -} - -[push-7] { - left: 58.33333%; -} - -[push-8] { - left: 66.66667%; -} - -[push-9] { - left: 75%; -} - -[push-10] { - left: 83.33333%; -} - -[push-11] { - left: 91.66667%; -} - -[push-12] { - left: 100%; -} - -[offset-1] { - margin-left: 8.33333%; -} - -[offset-2] { - margin-left: 16.66667%; -} - -[offset-3] { - margin-left: 25%; -} - -[offset-4] { - margin-left: 33.33333%; -} - -[offset-5] { - margin-left: 41.66667%; -} - -[offset-6] { - margin-left: 50%; -} - -[offset-7] { - margin-left: 58.33333%; -} - -[offset-8] { - margin-left: 66.66667%; -} - -[offset-9] { - margin-left: 75%; -} - -[offset-10] { - margin-left: 83.33333%; -} - -[offset-11] { - margin-left: 91.66667%; -} - -[col-sm-1] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-1] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-1] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-1] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-1] { - padding: 5px; - } -} - -[col-sm-2] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-2] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-2] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-2] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-2] { - padding: 5px; - } -} - -[col-sm-3] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-3] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-3] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-3] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-3] { - padding: 5px; - } -} - -[col-sm-4] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-4] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-4] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-4] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-4] { - padding: 5px; - } -} - -[col-sm-5] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-5] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-5] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-5] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-5] { - padding: 5px; - } -} - -[col-sm-6] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-6] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-6] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-6] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-6] { - padding: 5px; - } -} - -[col-sm-7] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-7] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-7] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-7] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-7] { - padding: 5px; - } -} - -[col-sm-8] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-8] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-8] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-8] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-8] { - padding: 5px; - } -} - -[col-sm-9] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-9] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-9] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-9] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-9] { - padding: 5px; - } -} - -[col-sm-10] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-10] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-10] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-10] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-10] { - padding: 5px; - } -} - -[col-sm-11] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-11] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-11] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-11] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-11] { - padding: 5px; - } -} - -[col-sm-12] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm-12] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm-12] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm-12] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm-12] { - padding: 5px; - } -} - -[col-sm] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-sm] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-sm] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-sm] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-sm] { - padding: 5px; - } -} - -@media (min-width: 576px) { - [col-sm] { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - [col-sm-auto] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - [col-sm-1] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.33333%; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - width: 8.33333%; - max-width: 8.33333%; - } - [col-sm-2] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.66667%; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - width: 16.66667%; - max-width: 16.66667%; - } - [col-sm-3] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - width: 25%; - max-width: 25%; - } - [col-sm-4] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.33333%; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - width: 33.33333%; - max-width: 33.33333%; - } - [col-sm-5] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.66667%; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - width: 41.66667%; - max-width: 41.66667%; - } - [col-sm-6] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - width: 50%; - max-width: 50%; - } - [col-sm-7] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.33333%; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - width: 58.33333%; - max-width: 58.33333%; - } - [col-sm-8] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.66667%; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - width: 66.66667%; - max-width: 66.66667%; - } - [col-sm-9] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - width: 75%; - max-width: 75%; - } - [col-sm-10] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.33333%; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - width: 83.33333%; - max-width: 83.33333%; - } - [col-sm-11] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.66667%; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - width: 91.66667%; - max-width: 91.66667%; - } - [col-sm-12] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - width: 100%; - max-width: 100%; - } - [pull-sm-0] { - right: auto; - } - [pull-sm-1] { - right: 8.33333%; - } - [pull-sm-2] { - right: 16.66667%; - } - [pull-sm-3] { - right: 25%; - } - [pull-sm-4] { - right: 33.33333%; - } - [pull-sm-5] { - right: 41.66667%; - } - [pull-sm-6] { - right: 50%; - } - [pull-sm-7] { - right: 58.33333%; - } - [pull-sm-8] { - right: 66.66667%; - } - [pull-sm-9] { - right: 75%; - } - [pull-sm-10] { - right: 83.33333%; - } - [pull-sm-11] { - right: 91.66667%; - } - [pull-sm-12] { - right: 100%; - } - [push-sm-0] { - left: auto; - } - [push-sm-1] { - left: 8.33333%; - } - [push-sm-2] { - left: 16.66667%; - } - [push-sm-3] { - left: 25%; - } - [push-sm-4] { - left: 33.33333%; - } - [push-sm-5] { - left: 41.66667%; - } - [push-sm-6] { - left: 50%; - } - [push-sm-7] { - left: 58.33333%; - } - [push-sm-8] { - left: 66.66667%; - } - [push-sm-9] { - left: 75%; - } - [push-sm-10] { - left: 83.33333%; - } - [push-sm-11] { - left: 91.66667%; - } - [push-sm-12] { - left: 100%; - } - [offset-sm-0] { - margin-left: 0%; - } - [offset-sm-1] { - margin-left: 8.33333%; - } - [offset-sm-2] { - margin-left: 16.66667%; - } - [offset-sm-3] { - margin-left: 25%; - } - [offset-sm-4] { - margin-left: 33.33333%; - } - [offset-sm-5] { - margin-left: 41.66667%; - } - [offset-sm-6] { - margin-left: 50%; - } - [offset-sm-7] { - margin-left: 58.33333%; - } - [offset-sm-8] { - margin-left: 66.66667%; - } - [offset-sm-9] { - margin-left: 75%; - } - [offset-sm-10] { - margin-left: 83.33333%; - } - [offset-sm-11] { - margin-left: 91.66667%; - } -} - -[col-md-1] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-1] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-1] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-1] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-1] { - padding: 5px; - } -} - -[col-md-2] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-2] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-2] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-2] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-2] { - padding: 5px; - } -} - -[col-md-3] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-3] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-3] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-3] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-3] { - padding: 5px; - } -} - -[col-md-4] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-4] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-4] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-4] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-4] { - padding: 5px; - } -} - -[col-md-5] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-5] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-5] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-5] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-5] { - padding: 5px; - } -} - -[col-md-6] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-6] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-6] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-6] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-6] { - padding: 5px; - } -} - -[col-md-7] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-7] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-7] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-7] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-7] { - padding: 5px; - } -} - -[col-md-8] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-8] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-8] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-8] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-8] { - padding: 5px; - } -} - -[col-md-9] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-9] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-9] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-9] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-9] { - padding: 5px; - } -} - -[col-md-10] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-10] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-10] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-10] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-10] { - padding: 5px; - } -} - -[col-md-11] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-11] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-11] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-11] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-11] { - padding: 5px; - } -} - -[col-md-12] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md-12] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md-12] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md-12] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md-12] { - padding: 5px; - } -} - -[col-md] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-md] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-md] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-md] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-md] { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - [col-md-auto] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - [col-md-1] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.33333%; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - width: 8.33333%; - max-width: 8.33333%; - } - [col-md-2] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.66667%; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - width: 16.66667%; - max-width: 16.66667%; - } - [col-md-3] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - width: 25%; - max-width: 25%; - } - [col-md-4] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.33333%; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - width: 33.33333%; - max-width: 33.33333%; - } - [col-md-5] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.66667%; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - width: 41.66667%; - max-width: 41.66667%; - } - [col-md-6] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - width: 50%; - max-width: 50%; - } - [col-md-7] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.33333%; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - width: 58.33333%; - max-width: 58.33333%; - } - [col-md-8] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.66667%; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - width: 66.66667%; - max-width: 66.66667%; - } - [col-md-9] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - width: 75%; - max-width: 75%; - } - [col-md-10] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.33333%; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - width: 83.33333%; - max-width: 83.33333%; - } - [col-md-11] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.66667%; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - width: 91.66667%; - max-width: 91.66667%; - } - [col-md-12] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - width: 100%; - max-width: 100%; - } - [pull-md-0] { - right: auto; - } - [pull-md-1] { - right: 8.33333%; - } - [pull-md-2] { - right: 16.66667%; - } - [pull-md-3] { - right: 25%; - } - [pull-md-4] { - right: 33.33333%; - } - [pull-md-5] { - right: 41.66667%; - } - [pull-md-6] { - right: 50%; - } - [pull-md-7] { - right: 58.33333%; - } - [pull-md-8] { - right: 66.66667%; - } - [pull-md-9] { - right: 75%; - } - [pull-md-10] { - right: 83.33333%; - } - [pull-md-11] { - right: 91.66667%; - } - [pull-md-12] { - right: 100%; - } - [push-md-0] { - left: auto; - } - [push-md-1] { - left: 8.33333%; - } - [push-md-2] { - left: 16.66667%; - } - [push-md-3] { - left: 25%; - } - [push-md-4] { - left: 33.33333%; - } - [push-md-5] { - left: 41.66667%; - } - [push-md-6] { - left: 50%; - } - [push-md-7] { - left: 58.33333%; - } - [push-md-8] { - left: 66.66667%; - } - [push-md-9] { - left: 75%; - } - [push-md-10] { - left: 83.33333%; - } - [push-md-11] { - left: 91.66667%; - } - [push-md-12] { - left: 100%; - } - [offset-md-0] { - margin-left: 0%; - } - [offset-md-1] { - margin-left: 8.33333%; - } - [offset-md-2] { - margin-left: 16.66667%; - } - [offset-md-3] { - margin-left: 25%; - } - [offset-md-4] { - margin-left: 33.33333%; - } - [offset-md-5] { - margin-left: 41.66667%; - } - [offset-md-6] { - margin-left: 50%; - } - [offset-md-7] { - margin-left: 58.33333%; - } - [offset-md-8] { - margin-left: 66.66667%; - } - [offset-md-9] { - margin-left: 75%; - } - [offset-md-10] { - margin-left: 83.33333%; - } - [offset-md-11] { - margin-left: 91.66667%; - } -} - -[col-lg-1] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-1] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-1] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-1] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-1] { - padding: 5px; - } -} - -[col-lg-2] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-2] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-2] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-2] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-2] { - padding: 5px; - } -} - -[col-lg-3] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-3] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-3] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-3] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-3] { - padding: 5px; - } -} - -[col-lg-4] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-4] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-4] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-4] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-4] { - padding: 5px; - } -} - -[col-lg-5] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-5] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-5] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-5] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-5] { - padding: 5px; - } -} - -[col-lg-6] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-6] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-6] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-6] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-6] { - padding: 5px; - } -} - -[col-lg-7] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-7] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-7] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-7] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-7] { - padding: 5px; - } -} - -[col-lg-8] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-8] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-8] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-8] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-8] { - padding: 5px; - } -} - -[col-lg-9] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-9] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-9] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-9] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-9] { - padding: 5px; - } -} - -[col-lg-10] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-10] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-10] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-10] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-10] { - padding: 5px; - } -} - -[col-lg-11] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-11] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-11] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-11] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-11] { - padding: 5px; - } -} - -[col-lg-12] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg-12] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg-12] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg-12] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg-12] { - padding: 5px; - } -} - -[col-lg] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-lg] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-lg] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-lg] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-lg] { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - [col-lg-auto] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - [col-lg-1] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.33333%; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - width: 8.33333%; - max-width: 8.33333%; - } - [col-lg-2] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.66667%; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - width: 16.66667%; - max-width: 16.66667%; - } - [col-lg-3] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - width: 25%; - max-width: 25%; - } - [col-lg-4] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.33333%; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - width: 33.33333%; - max-width: 33.33333%; - } - [col-lg-5] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.66667%; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - width: 41.66667%; - max-width: 41.66667%; - } - [col-lg-6] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - width: 50%; - max-width: 50%; - } - [col-lg-7] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.33333%; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - width: 58.33333%; - max-width: 58.33333%; - } - [col-lg-8] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.66667%; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - width: 66.66667%; - max-width: 66.66667%; - } - [col-lg-9] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - width: 75%; - max-width: 75%; - } - [col-lg-10] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.33333%; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - width: 83.33333%; - max-width: 83.33333%; - } - [col-lg-11] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.66667%; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - width: 91.66667%; - max-width: 91.66667%; - } - [col-lg-12] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - width: 100%; - max-width: 100%; - } - [pull-lg-0] { - right: auto; - } - [pull-lg-1] { - right: 8.33333%; - } - [pull-lg-2] { - right: 16.66667%; - } - [pull-lg-3] { - right: 25%; - } - [pull-lg-4] { - right: 33.33333%; - } - [pull-lg-5] { - right: 41.66667%; - } - [pull-lg-6] { - right: 50%; - } - [pull-lg-7] { - right: 58.33333%; - } - [pull-lg-8] { - right: 66.66667%; - } - [pull-lg-9] { - right: 75%; - } - [pull-lg-10] { - right: 83.33333%; - } - [pull-lg-11] { - right: 91.66667%; - } - [pull-lg-12] { - right: 100%; - } - [push-lg-0] { - left: auto; - } - [push-lg-1] { - left: 8.33333%; - } - [push-lg-2] { - left: 16.66667%; - } - [push-lg-3] { - left: 25%; - } - [push-lg-4] { - left: 33.33333%; - } - [push-lg-5] { - left: 41.66667%; - } - [push-lg-6] { - left: 50%; - } - [push-lg-7] { - left: 58.33333%; - } - [push-lg-8] { - left: 66.66667%; - } - [push-lg-9] { - left: 75%; - } - [push-lg-10] { - left: 83.33333%; - } - [push-lg-11] { - left: 91.66667%; - } - [push-lg-12] { - left: 100%; - } - [offset-lg-0] { - margin-left: 0%; - } - [offset-lg-1] { - margin-left: 8.33333%; - } - [offset-lg-2] { - margin-left: 16.66667%; - } - [offset-lg-3] { - margin-left: 25%; - } - [offset-lg-4] { - margin-left: 33.33333%; - } - [offset-lg-5] { - margin-left: 41.66667%; - } - [offset-lg-6] { - margin-left: 50%; - } - [offset-lg-7] { - margin-left: 58.33333%; - } - [offset-lg-8] { - margin-left: 66.66667%; - } - [offset-lg-9] { - margin-left: 75%; - } - [offset-lg-10] { - margin-left: 83.33333%; - } - [offset-lg-11] { - margin-left: 91.66667%; - } -} - -[col-xl-1] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-1] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-1] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-1] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-1] { - padding: 5px; - } -} - -[col-xl-2] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-2] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-2] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-2] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-2] { - padding: 5px; - } -} - -[col-xl-3] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-3] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-3] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-3] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-3] { - padding: 5px; - } -} - -[col-xl-4] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-4] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-4] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-4] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-4] { - padding: 5px; - } -} - -[col-xl-5] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-5] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-5] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-5] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-5] { - padding: 5px; - } -} - -[col-xl-6] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-6] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-6] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-6] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-6] { - padding: 5px; - } -} - -[col-xl-7] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-7] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-7] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-7] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-7] { - padding: 5px; - } -} - -[col-xl-8] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-8] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-8] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-8] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-8] { - padding: 5px; - } -} - -[col-xl-9] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-9] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-9] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-9] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-9] { - padding: 5px; - } -} - -[col-xl-10] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-10] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-10] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-10] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-10] { - padding: 5px; - } -} - -[col-xl-11] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-11] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-11] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-11] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-11] { - padding: 5px; - } -} - -[col-xl-12] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl-12] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl-12] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl-12] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl-12] { - padding: 5px; - } -} - -[col-xl] { - padding: 5px; -} - -@media (min-width: 576px) { - [col-xl] { - padding: 5px; - } -} - -@media (min-width: 768px) { - [col-xl] { - padding: 5px; - } -} - -@media (min-width: 992px) { - [col-xl] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl] { - padding: 5px; - } -} - -@media (min-width: 1200px) { - [col-xl] { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - [col-xl-auto] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - [col-xl-1] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.33333%; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - width: 8.33333%; - max-width: 8.33333%; - } - [col-xl-2] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.66667%; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - width: 16.66667%; - max-width: 16.66667%; - } - [col-xl-3] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - width: 25%; - max-width: 25%; - } - [col-xl-4] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.33333%; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - width: 33.33333%; - max-width: 33.33333%; - } - [col-xl-5] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.66667%; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - width: 41.66667%; - max-width: 41.66667%; - } - [col-xl-6] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - width: 50%; - max-width: 50%; - } - [col-xl-7] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.33333%; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - width: 58.33333%; - max-width: 58.33333%; - } - [col-xl-8] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.66667%; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - width: 66.66667%; - max-width: 66.66667%; - } - [col-xl-9] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - width: 75%; - max-width: 75%; - } - [col-xl-10] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.33333%; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - width: 83.33333%; - max-width: 83.33333%; - } - [col-xl-11] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.66667%; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - width: 91.66667%; - max-width: 91.66667%; - } - [col-xl-12] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - width: 100%; - max-width: 100%; - } - [pull-xl-0] { - right: auto; - } - [pull-xl-1] { - right: 8.33333%; - } - [pull-xl-2] { - right: 16.66667%; - } - [pull-xl-3] { - right: 25%; - } - [pull-xl-4] { - right: 33.33333%; - } - [pull-xl-5] { - right: 41.66667%; - } - [pull-xl-6] { - right: 50%; - } - [pull-xl-7] { - right: 58.33333%; - } - [pull-xl-8] { - right: 66.66667%; - } - [pull-xl-9] { - right: 75%; - } - [pull-xl-10] { - right: 83.33333%; - } - [pull-xl-11] { - right: 91.66667%; - } - [pull-xl-12] { - right: 100%; - } - [push-xl-0] { - left: auto; - } - [push-xl-1] { - left: 8.33333%; - } - [push-xl-2] { - left: 16.66667%; - } - [push-xl-3] { - left: 25%; - } - [push-xl-4] { - left: 33.33333%; - } - [push-xl-5] { - left: 41.66667%; - } - [push-xl-6] { - left: 50%; - } - [push-xl-7] { - left: 58.33333%; - } - [push-xl-8] { - left: 66.66667%; - } - [push-xl-9] { - left: 75%; - } - [push-xl-10] { - left: 83.33333%; - } - [push-xl-11] { - left: 91.66667%; - } - [push-xl-12] { - left: 100%; - } - [offset-xl-0] { - margin-left: 0%; - } - [offset-xl-1] { - margin-left: 8.33333%; - } - [offset-xl-2] { - margin-left: 16.66667%; - } - [offset-xl-3] { - margin-left: 25%; - } - [offset-xl-4] { - margin-left: 33.33333%; - } - [offset-xl-5] { - margin-left: 41.66667%; - } - [offset-xl-6] { - margin-left: 50%; - } - [offset-xl-7] { - margin-left: 58.33333%; - } - [offset-xl-8] { - margin-left: 66.66667%; - } - [offset-xl-9] { - margin-left: 75%; - } - [offset-xl-10] { - margin-left: 83.33333%; - } - [offset-xl-11] { - margin-left: 91.66667%; - } -} - -ion-icon { - display: inline-block; - font-size: 1.2em; -} - -ion-icon[small] { - min-height: 1.1em; - font-size: 1.1em; -} - -.icon-ios-primary { - color: #673AB7; -} - -.icon-ios-secondary { - color: #32db64; -} - -.icon-ios-danger { - color: #f53d3d; -} - -.icon-ios-light { - color: #f4f4f4; -} - -.icon-ios-dark { - color: #222; -} - -.icon-ios-optblue { - color: #E00201; -} - -.icon-md-primary { - color: #673AB7; -} - -.icon-md-secondary { - color: #32db64; -} - -.icon-md-danger { - color: #f53d3d; -} - -.icon-md-light { - color: #f4f4f4; -} - -.icon-md-dark { - color: #222; -} - -.icon-md-optblue { - color: #E00201; -} - -.icon-wp-primary { - color: #673AB7; -} - -.icon-wp-secondary { - color: #32db64; -} - -.icon-wp-danger { - color: #f53d3d; -} - -.icon-wp-light { - color: #f4f4f4; -} - -.icon-wp-dark { - color: #222; -} - -.icon-wp-optblue { - color: #E00201; -} - -ion-img { - display: inline-block; - min-width: 20px; - min-height: 20px; - background: #eee; - contain: strict; -} - -ion-img img { - -o-object-fit: cover; - object-fit: cover; -} - -ion-img.img-unloaded img { - display: none; -} - -ion-img.img-loaded img { - display: block; -} - -ion-infinite-scroll { - display: block; - width: 100%; -} - -ion-infinite-scroll-content { - text-align: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - height: 100%; - min-height: 84px; -} - -.infinite-loading { - display: none; - width: 100%; - margin: 0 0 32px; -} - -.infinite-loading-text { - color: #666; - margin: 4px 32px 0; -} - -.infinite-loading-spinner .spinner-ios line, -.infinite-loading-spinner .spinner-ios-small line, -.infinite-loading-spinner .spinner-crescent circle { - stroke: #666; -} - -.infinite-loading-spinner .spinner-bubbles circle, -.infinite-loading-spinner .spinner-circles circle, -.infinite-loading-spinner .spinner-dots circle { - fill: #666; -} - -ion-infinite-scroll-content[state=loading] .infinite-loading { - display: block; -} - -ion-infinite-scroll-content[state=disabled] { - display: none; -} - -ion-input, -ion-textarea { - position: relative; - display: block; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 100%; -} - -.item-input ion-input, -.item-input ion-textarea { - position: static; -} - -.item.item-textarea { - -webkit-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; -} - -.text-input { - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - border-radius: 0; - display: inline-block; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 92%; - width: calc(100% - 10px); - border: 0; - background: transparent; -} - -.text-input::-moz-placeholder { - color: #999; -} - -.text-input:-ms-input-placeholder { - color: #999; -} - -.text-input::-webkit-input-placeholder { - text-indent: 0; - color: #999; -} - -textarea.text-input { - display: block; -} - -.text-input[disabled] { - opacity: .4; -} - -input.text-input:-webkit-autofill { - background-color: transparent; -} - -.platform-mobile textarea.text-input { - resize: none; -} - -.input-cover { - left: 0; - top: 0; - position: absolute; - width: 100%; - height: 100%; - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -.input[disabled] .input-cover { - pointer-events: none; -} - -.item-input-has-focus .input-cover, -.input-has-focus .input-cover { - display: none; -} - -.item-input-has-focus, -.input-has-focus { - pointer-events: none; -} - -.item-input-has-focus input, -.input-has-focus input, -.item-input-has-focus textarea, -.input-has-focus textarea, -.item-input-has-focus a, -.input-has-focus a, -.item-input-has-focus button, -.input-has-focus button { - pointer-events: auto; -} - -.text-input-clear-icon { - margin: 0; - padding: 0; - background-position: center; - position: absolute; - top: 0; - display: none; - height: 100%; - background-repeat: no-repeat; -} - -.item-input-has-focus.item-input-has-value .text-input-clear-icon, -.input-has-focus.input-has-value .text-input-clear-icon { - display: block; -} - -.text-input-ios { - margin: 11px 8px 11px 0; - padding: 0; - width: calc(100% - 8px); -} - -.input-ios .inset-input { - padding: 5.5px 8px; - margin: 5.5px 16px 5.5px 0; -} - -.item-ios.item-label-stacked .text-input, -.item-ios.item-label-floating .text-input { - margin-left: 0; - margin-top: 8px; - margin-bottom: 8px; - width: calc(100% - 8px); -} - -.item-ios.item-label-stacked .label-ios + .input + .cloned-input, -.item-ios.item-label-floating .label-ios + .input + .cloned-input { - margin-left: 0; -} - -.item-label-stacked .select-ios, -.item-label-floating .select-ios { - padding-left: 0; - padding-top: 8px; - padding-bottom: 8px; -} - -.input-ios[clearInput] { - position: relative; -} - -.input-ios[clearInput] .text-input { - padding-right: 30px; -} - -.input-ios .text-input-clear-icon { - right: 8px; - background-image: url("data:image/svg+xml;charset=utf-8,"); - width: 30px; - background-size: 18px; -} - -.text-input-md { - margin: 13px 8px; - padding: 0; - width: calc(100% - 8px - 8px); -} - -.input-md .inset-input { - padding: 6.5px 8px; - margin: 6.5px 16px; -} - -.item-md.item-input.item-input-has-focus .item-inner, -.item-md.item-input.input-has-focus .item-inner { - border-bottom-color: #673AB7; - -webkit-box-shadow: inset 0 -1px 0 0 #673AB7; - box-shadow: inset 0 -1px 0 0 #673AB7; -} - -.list-md .item-input.item-input-has-focus:last-child, -.list-md .item-input.input-has-focus:last-child { - border-bottom-color: #673AB7; - -webkit-box-shadow: inset 0 -1px 0 0 #673AB7; - box-shadow: inset 0 -1px 0 0 #673AB7; -} - -.list-md .item-input.item-input-has-focus:last-child .item-inner, -.list-md .item-input.input-has-focus:last-child .item-inner { - -webkit-box-shadow: none; - box-shadow: none; -} - -.item-md.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .item-inner, -.item-md.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .item-inner { - border-bottom-color: #32db64; - -webkit-box-shadow: inset 0 -1px 0 0 #32db64; - box-shadow: inset 0 -1px 0 0 #32db64; -} - -.list-md .item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child, -.list-md .item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child { - border-bottom-color: #32db64; - -webkit-box-shadow: inset 0 -1px 0 0 #32db64; - box-shadow: inset 0 -1px 0 0 #32db64; -} - -.list-md .item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner, -.list-md .item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner { - -webkit-box-shadow: none; - box-shadow: none; -} - -.item-md.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .item-inner { - border-bottom-color: #f53d3d; - -webkit-box-shadow: inset 0 -1px 0 0 #f53d3d; - box-shadow: inset 0 -1px 0 0 #f53d3d; -} - -.list-md .item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus):last-child { - border-bottom-color: #f53d3d; - -webkit-box-shadow: inset 0 -1px 0 0 #f53d3d; - box-shadow: inset 0 -1px 0 0 #f53d3d; -} - -.list-md .item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner { - -webkit-box-shadow: none; - box-shadow: none; -} - -.item-label-stacked .text-input-md, -.item-label-floating .text-input-md { - margin-left: 0; - margin-top: 8px; - margin-bottom: 8px; - width: calc(100% - 8px); -} - -.item-label-stacked .select-md, -.item-label-floating .select-md { - padding-left: 0; - padding-top: 8px; - padding-bottom: 8px; -} - -.input-md[clearInput] { - position: relative; -} - -.input-md[clearInput] .text-input { - padding-right: 30px; -} - -.input-md .text-input-clear-icon { - right: 8px; - background-image: url("data:image/svg+xml;charset=utf-8,"); - width: 30px; - background-size: 22px; -} - -.text-input-wp { - margin: 13px 8px; - padding: 0 8px; - width: calc(100% - 8px - 8px); - border: 2px solid rgba(0, 0, 0, 0.5); - line-height: 3rem; -} - -.item-wp .inset-input { - padding: 6.5px 8px; - margin: 6.5px 16px; -} - -.item-wp.item-input.item-input-has-focus .text-input, -.item-wp.item-input.input-has-focus .text-input { - border-color: #673AB7; -} - -.item-wp.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input, -.item-wp.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input { - border-color: #32db64; -} - -.item-wp.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .text-input { - border-color: #f53d3d; -} - -.item-label-stacked .text-input-wp, -.item-label-floating .text-input-wp, -.item-label-stacked .select-wp, -.item-label-floating .select-wp { - margin-left: 0; - margin-top: 8px; - margin-bottom: 8px; - width: calc(100% - 8px); -} - -.item-wp.item-label-stacked [item-right], -.item-wp.item-label-floating [item-right], -.item-wp.item-label-stacked [item-end], -.item-wp.item-label-floating [item-end] { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; -} - -.input-wp[clearInput] { - position: relative; -} - -.input-wp[clearInput] .text-input { - padding-right: 30px; -} - -.input-wp .text-input-clear-icon { - right: 8px; - background-image: url("data:image/svg+xml;charset=utf-8,"); - width: 30px; - background-size: 22px; -} - -.item { - contain: content; -} - -.item-block { - margin: 0; - padding: 0; - text-align: initial; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - width: 100%; - min-height: 4.4rem; - border: 0; - font-weight: normal; - line-height: normal; - text-decoration: none; - color: inherit; -} - -.item-inner { - margin: 0; - padding: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: inherit; - -webkit-box-direction: inherit; - -webkit-flex-direction: inherit; - -ms-flex-direction: inherit; - flex-direction: inherit; - -webkit-box-align: inherit; - -webkit-align-items: inherit; - -ms-flex-align: inherit; - align-items: inherit; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - min-height: inherit; - border: 0; -} - -.input-wrapper { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: inherit; - -webkit-box-direction: inherit; - -webkit-flex-direction: inherit; - -ms-flex-direction: inherit; - flex-direction: inherit; - -webkit-box-align: inherit; - -webkit-align-items: inherit; - -ms-flex-align: inherit; - align-items: inherit; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - text-overflow: ellipsis; -} - -.item[no-lines], -.item.item[no-lines] .item-inner { - border: 0; -} - -ion-item-group { - display: block; -} - -ion-item-divider { - margin: 0; - padding: 0; - z-index: 100; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - width: 100%; - min-height: 30px; -} - -ion-item-divider[sticky] { - position: -webkit-sticky; - position: sticky; - top: 0; -} - -[vertical-align-top], -ion-input.item { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} - -.item > ion-icon[small]:first-child, -.item-inner > ion-icon[small]:first-child { - min-width: 18px; -} - -.item > ion-icon:first-child, -.item-inner > ion-icon:first-child { - text-align: center; - min-width: 24px; -} - -.item > ion-icon, -.item-inner > ion-icon { - min-height: 2.8rem; - font-size: 2.8rem; - line-height: 1; -} - -.item > ion-icon[large], -.item-inner > ion-icon[large] { - min-height: 3.2rem; - font-size: 3.2rem; -} - -.item > ion-icon[small], -.item-inner > ion-icon[small] { - min-height: 1.8rem; - font-size: 1.8rem; -} - -ion-avatar, -ion-thumbnail { - display: block; - line-height: 1; -} - -ion-avatar img, -ion-thumbnail img { - display: block; -} - -.item-cover { - left: 0; - top: 0; - position: absolute; - width: 100%; - height: 100%; - background: transparent; - cursor: pointer; -} - -ion-reorder { - -webkit-transform: translate3d(300%, 0, 0); - transform: translate3d(300%, 0, 0); - display: none; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - max-width: 40px; - height: 100%; - font-size: 1.7em; - opacity: .25; - -webkit-transition: -webkit-transform 140ms ease-in; - transition: -webkit-transform 140ms ease-in; - transition: transform 140ms ease-in; - transition: transform 140ms ease-in, -webkit-transform 140ms ease-in; - pointer-events: all; - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -.reorder-side-start ion-reorder { - -webkit-transform: translate3d(-300%, 0, 0); - transform: translate3d(-300%, 0, 0); - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -ion-reorder ion-icon { - pointer-events: none; -} - -.reorder-enabled ion-reorder { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.reorder-visible ion-reorder { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.reorder-list-active .item, -.reorder-list-active .item-wrapper { - -webkit-transition: -webkit-transform 300ms; - transition: -webkit-transform 300ms; - transition: transform 300ms; - transition: transform 300ms, -webkit-transform 300ms; - will-change: transform; -} - -.reorder-list-active .item-inner { - pointer-events: none; -} - -.item-wrapper.reorder-active, -.item.reorder-active, -.reorder-active { - z-index: 4; - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); - opacity: .8; - -webkit-transition: none; - transition: none; - pointer-events: none; -} - -ion-item-sliding { - position: relative; - display: block; - overflow: hidden; - width: 100%; -} - -ion-item-sliding .item { - position: static; -} - -ion-item-options { - position: absolute; - z-index: 1; - display: none; - height: 100%; - font-size: 14px; - visibility: hidden; - top: 0; - right: 0; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -ion-item-options[side=left] { - right: auto; - left: 0; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -ion-item-options .button { - margin: 0; - padding: 0 0.7em; - border-radius: 0; - height: 100%; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -ion-item-options .button:last-child { - padding-right: 0.7em; -} - -@media screen and (orientation: landscape) { - ion-item-options .button:last-child { - padding-right: calc(constant(safe-area-inset-right) + 0.7em); - padding-right: calc(env(safe-area-inset-right) + 0.7em); - } -} - -ion-item-options:not([icon-left]) .button:not([icon-only]) .button-inner, -ion-item-options:not([icon-start]) .button:not([icon-only]) .button-inner { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -ion-item-options:not([icon-left]) .button:not([icon-only]) ion-icon, -ion-item-options:not([icon-start]) .button:not([icon-only]) ion-icon { - padding-left: 0; - padding-right: 0; - padding-bottom: 0.3em; -} - -ion-item-sliding.active-slide .item, -ion-item-sliding.active-slide .item.activated { - position: relative; - z-index: 2; - opacity: 1; - -webkit-transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); - transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); - transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); - transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); - pointer-events: none; - will-change: transform; -} - -ion-item-sliding.active-slide ion-item-options { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -ion-item-sliding.active-slide.active-options-left ion-item-options[side=left], -ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]) { - width: 100%; - visibility: visible; -} - -button[expandable] { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-transition-duration: 0; - transition-duration: 0; - -webkit-transition-property: none; - transition-property: none; - -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); - transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); -} - -ion-item-sliding.active-swipe-right button[expandable] { - -webkit-transition-duration: .6s; - transition-duration: .6s; - -webkit-transition-property: padding-left; - transition-property: padding-left; - padding-left: 90%; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} - -ion-item-sliding.active-swipe-left button[expandable] { - -webkit-transition-duration: .6s; - transition-duration: .6s; - -webkit-transition-property: padding-right; - transition-property: padding-right; - padding-right: 90%; - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -.item-ios { - padding-left: 16px; - padding-left: 16px; - border-radius: 0; - position: relative; - font-size: 1.7rem; - color: #000; - background-color: #fff; - -webkit-transition: background-color 200ms linear; - transition: background-color 200ms linear; -} - -@media screen and (orientation: landscape) { - .item-ios { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - } -} - -.item-ios.activated { - background-color: #d9d9d9; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} - -.item-ios h1 { - margin: 0 0 2px; - font-size: 2.4rem; - font-weight: normal; -} - -.item-ios h2 { - margin: 0 0 2px; - font-size: 1.7rem; - font-weight: normal; -} - -.item-ios h3, -.item-ios h4, -.item-ios h5, -.item-ios h6 { - margin: 0 0 3px; - font-size: 1.4rem; - font-weight: normal; - line-height: normal; -} - -.item-ios p { - overflow: inherit; - font-size: 1.4rem; - line-height: normal; - text-overflow: inherit; - color: #8e9093; - margin: 0 0 2px; -} - -.item-ios h2:last-child, -.item-ios h3:last-child, -.item-ios h4:last-child, -.item-ios h5:last-child, -.item-ios h6:last-child, -.item-ios p:last-child { - margin-bottom: 0; -} - -.item-ios.item-block .item-inner { - padding-right: 8px; - padding-right: 8px; - border-bottom: 0.55px solid #c8c7cc; -} - -@media screen and (orientation: landscape) { - .item-ios.item-block .item-inner { - padding-right: calc(constant(safe-area-inset-right) + 8px); - padding-right: calc(env(safe-area-inset-right) + 8px); - } -} - -.item-ios [item-left], -.item-ios [item-start] { - margin: 8px 16px 8px 0; -} - -.item-ios [item-right], -.item-ios [item-end] { - margin: 8px; -} - -.item-ios ion-icon[item-left], -.item-ios ion-icon[item-right], -.item-ios ion-icon[item-start], -.item-ios ion-icon[item-end] { - margin-left: 0; - margin-top: 9px; - margin-bottom: 8px; -} - -.item-ios .item-button { - padding: 0 0.5em; - height: 24px; - font-size: 1.3rem; -} - -.item-ios .item-button[icon-only] ion-icon, -.item-ios .item-button[icon-only] { - padding: 0 1px; -} - -.item-ios ion-avatar[item-left], -.item-ios ion-thumbnail[item-left], -.item-ios ion-avatar[item-start], -.item-ios ion-thumbnail[item-start] { - margin: 8px 16px 8px 0; -} - -.item-ios ion-avatar[item-right], -.item-ios ion-thumbnail[item-right], -.item-ios ion-avatar[item-end], -.item-ios ion-thumbnail[item-end] { - margin: 8px; -} - -.item-ios ion-avatar { - min-width: 36px; - min-height: 36px; -} - -.item-ios ion-avatar ion-img, -.item-ios ion-avatar img { - border-radius: 50%; - overflow: hidden; - width: 36px; - height: 36px; -} - -.item-ios ion-thumbnail { - min-width: 56px; - min-height: 56px; -} - -.item-ios ion-thumbnail ion-img, -.item-ios ion-thumbnail img { - width: 56px; - height: 56px; -} - -.item-ios[detail-push] .item-inner, -button.item-ios:not([detail-none]) .item-inner, -a.item-ios:not([detail-none]) .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,"); - padding-right: 32px; - background-position: right 14px center; - background-position: right calc(14px + constant(safe-area-inset-right)) center; - background-position: right calc(14px + env(safe-area-inset-right)) center; - background-repeat: no-repeat; - background-size: 14px 14px; -} - -ion-item-group .item-ios:first-child .item-inner { - border-top-width: 0; -} - -ion-item-group .item-ios:last-child .item-inner, -ion-item-group .item-wrapper:last-child .item-ios .item-inner { - border: 0; -} - -.item-divider-ios { - padding-left: 16px; - padding-left: 16px; - color: #222; - background-color: #f7f7f7; -} - -@media screen and (orientation: landscape) { - .item-divider-ios { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - } -} - -.item-ios .text-ios-primary { - color: #673AB7; -} - -.item-ios-primary, -.item-divider-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.item-ios-primary p, -.item-divider-ios-primary p { - color: #fff; -} - -.item-ios-primary.activated, -.item-divider-ios-primary.activated { - background-color: #734abd; -} - -.item-ios .text-ios-secondary { - color: #32db64; -} - -.item-ios-secondary, -.item-divider-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.item-ios-secondary p, -.item-divider-ios-secondary p { - color: #fff; -} - -.item-ios-secondary.activated, -.item-divider-ios-secondary.activated { - background-color: #2ec95c; -} - -.item-ios .text-ios-danger { - color: #f53d3d; -} - -.item-ios-danger, -.item-divider-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.item-ios-danger p, -.item-divider-ios-danger p { - color: #fff; -} - -.item-ios-danger.activated, -.item-divider-ios-danger.activated { - background-color: #e13838; -} - -.item-ios .text-ios-light { - color: #f4f4f4; -} - -.item-ios-light, -.item-divider-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.item-ios-light p, -.item-divider-ios-light p { - color: #000; -} - -.item-ios-light.activated, -.item-divider-ios-light.activated { - background-color: #e0e0e0; -} - -.item-ios .text-ios-dark { - color: #222; -} - -.item-ios-dark, -.item-divider-ios-dark { - color: #fff; - background-color: #222; -} - -.item-ios-dark p, -.item-divider-ios-dark p { - color: #fff; -} - -.item-ios-dark.activated, -.item-divider-ios-dark.activated { - background-color: #343434; -} - -.item-ios .text-ios-optblue { - color: #E00201; -} - -.item-ios-optblue, -.item-divider-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.item-ios-optblue p, -.item-divider-ios-optblue p { - color: #fff; -} - -.item-ios-optblue.activated, -.item-divider-ios-optblue.activated { - background-color: #e21615; -} - -.list-ios ion-item-sliding { - background-color: #fff; -} - -.item-md { - padding-left: 16px; - padding-right: 0; - position: relative; - font-size: 1.6rem; - font-weight: normal; - text-transform: none; - color: #000; - background-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1); - transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1); -} - -.item-md.activated { - background-color: #f1f1f1; -} - -.item-md[no-lines] { - border-width: 0; -} - -.item-md h1 { - margin: 0 0 2px; - font-size: 2.4rem; - font-weight: normal; -} - -.item-md h2 { - margin: 2px 0; - font-size: 1.6rem; - font-weight: normal; -} - -.item-md h3, -.item-md h4, -.item-md h5, -.item-md h6 { - margin: 2px 0; - font-size: 1.4rem; - font-weight: normal; - line-height: normal; -} - -.item-md p { - margin: 0 0 2px; - overflow: inherit; - font-size: 1.4rem; - line-height: normal; - text-overflow: inherit; - color: #666; -} - -.item-md.item-block .item-inner { - padding-right: 8px; - border-bottom: 1px solid #dedede; -} - -.item-md [item-left], -.item-md [item-right], -.item-md [item-start], -.item-md [item-end] { - margin: 9px 8px 9px 0; -} - -.item-md ion-icon[item-left], -.item-md ion-icon[item-right], -.item-md ion-icon[item-start], -.item-md ion-icon[item-end] { - margin-left: 0; - margin-top: 11px; - margin-bottom: 10px; -} - -.item-md .item-button { - padding: 0 0.6em; - height: 25px; - font-size: 1.2rem; -} - -.item-md .item-button[icon-only] ion-icon, -.item-md .item-button[icon-only] { - padding: 0 1px; -} - -.item-md ion-icon[item-left] + .item-inner, -.item-md ion-icon[item-left] + .item-input, -.item-md ion-icon[item-start] + .item-inner, -.item-md ion-icon[item-start] + .item-input { - margin-left: 24px; -} - -.item-md ion-avatar[item-left], -.item-md ion-thumbnail[item-left], -.item-md ion-avatar[item-start], -.item-md ion-thumbnail[item-start] { - margin: 8px 16px 8px 0; -} - -.item-md ion-avatar[item-right], -.item-md ion-thumbnail[item-right], -.item-md ion-avatar[item-end], -.item-md ion-thumbnail[item-end] { - margin: 8px; -} - -.item-md ion-avatar { - min-width: 40px; - min-height: 40px; -} - -.item-md ion-avatar ion-img, -.item-md ion-avatar img { - border-radius: 50%; - overflow: hidden; - width: 40px; - height: 40px; -} - -.item-md ion-thumbnail { - min-width: 80px; - min-height: 80px; -} - -.item-md ion-thumbnail ion-img, -.item-md ion-thumbnail img { - width: 80px; - height: 80px; -} - -ion-item-group .item-md:first-child .item-inner { - border-top-width: 0; -} - -ion-item-group .item-md:last-child .item-inner, -ion-item-group .item-md .item-wrapper:last-child .item-inner { - border: 0; -} - -.item-divider-md { - padding-left: 16px; - border-bottom: 1px solid #dedede; - font-size: 1.4rem; - color: #858585; - background-color: #fff; -} - -.item-md .text-md-primary { - color: #673AB7; -} - -.item-md-primary, -.item-divider-md-primary { - color: #fff; - background-color: #673AB7; -} - -.item-md-primary p, -.item-divider-md-primary p { - color: #fff; -} - -.item-md-primary.activated, -.item-divider-md-primary.activated { - background-color: #734abd; -} - -.item-md .text-md-secondary { - color: #32db64; -} - -.item-md-secondary, -.item-divider-md-secondary { - color: #fff; - background-color: #32db64; -} - -.item-md-secondary p, -.item-divider-md-secondary p { - color: #fff; -} - -.item-md-secondary.activated, -.item-divider-md-secondary.activated { - background-color: #2ec95c; -} - -.item-md .text-md-danger { - color: #f53d3d; -} - -.item-md-danger, -.item-divider-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.item-md-danger p, -.item-divider-md-danger p { - color: #fff; -} - -.item-md-danger.activated, -.item-divider-md-danger.activated { - background-color: #e13838; -} - -.item-md .text-md-light { - color: #f4f4f4; -} - -.item-md-light, -.item-divider-md-light { - color: #000; - background-color: #f4f4f4; -} - -.item-md-light p, -.item-divider-md-light p { - color: #000; -} - -.item-md-light.activated, -.item-divider-md-light.activated { - background-color: #e0e0e0; -} - -.item-md .text-md-dark { - color: #222; -} - -.item-md-dark, -.item-divider-md-dark { - color: #fff; - background-color: #222; -} - -.item-md-dark p, -.item-divider-md-dark p { - color: #fff; -} - -.item-md-dark.activated, -.item-divider-md-dark.activated { - background-color: #343434; -} - -.item-md .text-md-optblue { - color: #E00201; -} - -.item-md-optblue, -.item-divider-md-optblue { - color: #fff; - background-color: #E00201; -} - -.item-md-optblue p, -.item-divider-md-optblue p { - color: #fff; -} - -.item-md-optblue.activated, -.item-divider-md-optblue.activated { - background-color: #e21615; -} - -.list-md ion-item-sliding { - background-color: #fff; -} - -.item-md ion-reorder { - font-size: 1.5em; - opacity: .3; -} - -.item-wp { - padding-left: 16px; - padding-right: 0; - position: relative; - font-size: 1.6rem; - font-weight: normal; - text-transform: none; - color: #000; - background-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; -} - -.item-wp.activated { - background-color: #aaa; -} - -.item-wp[no-lines] { - border-width: 0; -} - -.item-wp h1 { - margin: 0 0 2px; - font-size: 2.4rem; - font-weight: normal; -} - -.item-wp h2 { - margin: 2px 0; - font-size: 1.6rem; - font-weight: normal; -} - -.item-wp h3, -.item-wp h4, -.item-wp h5, -.item-wp h6 { - margin: 2px 0; - font-size: 1.4rem; - font-weight: normal; - line-height: normal; -} - -.item-wp p { - margin: 0 0 2px; - overflow: inherit; - font-size: 1.4rem; - line-height: normal; - text-overflow: inherit; - color: #666; -} - -.item-wp.item-block .item-inner { - padding-right: 8px; - border-bottom: 1px solid transparent; -} - -.item-wp [item-left], -.item-wp [item-right], -.item-wp [item-start], -.item-wp [item-end] { - margin: 9px 8px 9px 0; -} - -.item-wp ion-icon[item-left], -.item-wp ion-icon[item-right], -.item-wp ion-icon[item-start], -.item-wp ion-icon[item-end] { - margin-left: 0; - margin-top: 11px; - margin-bottom: 10px; -} - -.item-wp .item-button { - padding: 0 0.6em; - height: 25px; - font-size: 1.2rem; -} - -.item-wp .item-button[icon-only] ion-icon, -.item-wp .item-button[icon-only] { - padding: 0 1px; -} - -.item-wp[text-wrap] ion-label { - font-size: 1.4rem; - line-height: 1.5; -} - -.item-wp ion-icon[item-left] + .item-inner, -.item-wp ion-icon[item-left] + .item-input, -.item-wp ion-icon[item-start] + .item-inner, -.item-wp ion-icon[item-start] + .item-input { - margin-left: 8px; -} - -.item-wp ion-avatar[item-left], -.item-wp ion-thumbnail[item-left], -.item-wp ion-avatar[item-start], -.item-wp ion-thumbnail[item-start] { - margin: 8px 16px 8px 0; -} - -.item-wp ion-avatar[item-right], -.item-wp ion-thumbnail[item-right], -.item-wp ion-avatar[item-end], -.item-wp ion-thumbnail[item-end] { - margin: 8px; -} - -.item-wp ion-avatar { - min-width: 40px; - min-height: 40px; -} - -.item-wp ion-avatar ion-img, -.item-wp ion-avatar img { - border-radius: 50%; - overflow: hidden; - width: 40px; - height: 40px; -} - -.item-wp ion-thumbnail { - min-width: 80px; - min-height: 80px; -} - -.item-wp ion-thumbnail ion-img, -.item-wp ion-thumbnail img { - width: 80px; - height: 80px; -} - -.item-divider-wp { - padding-left: 16px; - border-bottom: 1px solid transparent; - font-size: 2rem; - color: #000; - background-color: #fff; -} - -.item-wp .text-wp-primary { - color: #673AB7; -} - -.item-wp-primary, -.item-divider-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.item-wp-primary p, -.item-divider-wp-primary p { - color: #fff; -} - -.item-wp-primary.activated, -.item-divider-wp-primary.activated { - background-color: #734abd; -} - -.item-wp .text-wp-secondary { - color: #32db64; -} - -.item-wp-secondary, -.item-divider-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.item-wp-secondary p, -.item-divider-wp-secondary p { - color: #fff; -} - -.item-wp-secondary.activated, -.item-divider-wp-secondary.activated { - background-color: #2ec95c; -} - -.item-wp .text-wp-danger { - color: #f53d3d; -} - -.item-wp-danger, -.item-divider-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.item-wp-danger p, -.item-divider-wp-danger p { - color: #fff; -} - -.item-wp-danger.activated, -.item-divider-wp-danger.activated { - background-color: #e13838; -} - -.item-wp .text-wp-light { - color: #f4f4f4; -} - -.item-wp-light, -.item-divider-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.item-wp-light p, -.item-divider-wp-light p { - color: #000; -} - -.item-wp-light.activated, -.item-divider-wp-light.activated { - background-color: #e0e0e0; -} - -.item-wp .text-wp-dark { - color: #222; -} - -.item-wp-dark, -.item-divider-wp-dark { - color: #fff; - background-color: #222; -} - -.item-wp-dark p, -.item-divider-wp-dark p { - color: #fff; -} - -.item-wp-dark.activated, -.item-divider-wp-dark.activated { - background-color: #343434; -} - -.item-wp .text-wp-optblue { - color: #E00201; -} - -.item-wp-optblue, -.item-divider-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.item-wp-optblue p, -.item-divider-wp-optblue p { - color: #fff; -} - -.item-wp-optblue.activated, -.item-divider-wp-optblue.activated { - background-color: #e21615; -} - -.list-wp ion-item-sliding { - background-color: #fff; -} - -ion-label { - margin: 0; - display: block; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - font-size: inherit; - text-overflow: ellipsis; - white-space: nowrap; -} - -.item-input ion-label { - -webkit-box-flex: initial; - -webkit-flex: initial; - -ms-flex: initial; - flex: initial; - max-width: 200px; - pointer-events: none; -} - -[text-wrap] ion-label { - white-space: normal; -} - -ion-label[fixed] { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100px; - -ms-flex: 0 0 100px; - flex: 0 0 100px; - width: 100px; - min-width: 100px; - max-width: 200px; -} - -.item-label-stacked ion-label, -.item-label-floating ion-label { - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - width: auto; - max-width: 100%; -} - -ion-label[stacked], -ion-label[floating] { - margin-bottom: 0; -} - -.item-label-stacked .input-wrapper, -.item-label-floating .input-wrapper { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.item-label-stacked ion-select, -.item-label-floating ion-select { - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - max-width: 100%; -} - -.label-ios { - margin: 11px 8px 11px 0; -} - -.label-ios + ion-input .text-input, -.label-ios + ion-textarea .text-input, -.label-ios + .input + .cloned-input { - margin-left: 16px; - width: calc(100% - (16px / 2) - 16px); -} - -.label-ios[stacked] { - margin-bottom: 4px; - font-size: 1.2rem; -} - -.label-ios[floating] { - margin-bottom: 0; - -webkit-transform: translate3d(0, 27px, 0); - transform: translate3d(0, 27px, 0); - -webkit-transform-origin: left top; - transform-origin: left top; - -webkit-transition: -webkit-transform 150ms ease-in-out; - transition: -webkit-transform 150ms ease-in-out; - transition: transform 150ms ease-in-out; - transition: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out; -} - -.item-input-has-focus .label-ios[floating], -.input-has-focus .label-ios[floating], -.item-input-has-value .label-ios[floating], -.input-has-value .label-ios[floating] { - -webkit-transform: translate3d(0, 0, 0) scale(0.8); - transform: translate3d(0, 0, 0) scale(0.8); -} - -.item-ios.item-label-stacked [item-right], -.item-ios.item-label-floating [item-right], -.item-ios.item-label-stacked [item-end], -.item-ios.item-label-floating [item-end] { - margin-top: 6px; - margin-bottom: 6px; -} - -.label-ios-primary, -.item-input .label-ios-primary, -.item-select .label-ios-primary, -.item-datetime .label-ios-primary { - color: #673AB7; -} - -.label-ios-secondary, -.item-input .label-ios-secondary, -.item-select .label-ios-secondary, -.item-datetime .label-ios-secondary { - color: #32db64; -} - -.label-ios-danger, -.item-input .label-ios-danger, -.item-select .label-ios-danger, -.item-datetime .label-ios-danger { - color: #f53d3d; -} - -.label-ios-light, -.item-input .label-ios-light, -.item-select .label-ios-light, -.item-datetime .label-ios-light { - color: #f4f4f4; -} - -.label-ios-dark, -.item-input .label-ios-dark, -.item-select .label-ios-dark, -.item-datetime .label-ios-dark { - color: #222; -} - -.label-ios-optblue, -.item-input .label-ios-optblue, -.item-select .label-ios-optblue, -.item-datetime .label-ios-optblue { - color: #E00201; -} - -.label-md { - margin: 13px 8px 13px 0; -} - -[text-wrap] .label-md { - font-size: 1.4rem; - line-height: 1.5; -} - -.item-input .label-md, -.item-select .label-md, -.item-datetime .label-md { - color: #999; -} - -.label-md[stacked] { - font-size: 1.2rem; -} - -.label-md[floating] { - -webkit-transform: translate3d(0, 27px, 0); - transform: translate3d(0, 27px, 0); - -webkit-transform-origin: left top; - transform-origin: left top; - -webkit-transition: -webkit-transform 150ms ease-in-out; - transition: -webkit-transform 150ms ease-in-out; - transition: transform 150ms ease-in-out; - transition: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out; -} - -.label-md[stacked], -.label-md[floating] { - margin-left: 0; - margin-bottom: 0; -} - -.item-input-has-focus .label-md[stacked], -.input-has-focus .label-md[stacked], -.item-input-has-focus .label-md[floating], -.input-has-focus .label-md[floating] { - color: #673AB7; -} - -.item-input-has-focus .label-md[floating], -.input-has-focus .label-md[floating], -.item-input-has-value .label-md[floating], -.input-has-value .label-md[floating] { - -webkit-transform: translate3d(0, 0, 0) scale(0.8); - transform: translate3d(0, 0, 0) scale(0.8); -} - -.item-md.item-label-stacked [item-right], -.item-md.item-label-floating [item-right], -.item-md.item-label-stacked [item-end], -.item-md.item-label-floating [item-end] { - margin-top: 7px; - margin-bottom: 7px; -} - -.label-md-primary, -.item-input .label-md-primary, -.item-select .label-md-primary, -.item-datetime .label-md-primary { - color: #673AB7; -} - -.label-md-secondary, -.item-input .label-md-secondary, -.item-select .label-md-secondary, -.item-datetime .label-md-secondary { - color: #32db64; -} - -.label-md-danger, -.item-input .label-md-danger, -.item-select .label-md-danger, -.item-datetime .label-md-danger { - color: #f53d3d; -} - -.label-md-light, -.item-input .label-md-light, -.item-select .label-md-light, -.item-datetime .label-md-light { - color: #f4f4f4; -} - -.label-md-dark, -.item-input .label-md-dark, -.item-select .label-md-dark, -.item-datetime .label-md-dark { - color: #222; -} - -.label-md-optblue, -.item-input .label-md-optblue, -.item-select .label-md-optblue, -.item-datetime .label-md-optblue { - color: #E00201; -} - -.label-wp { - margin: 13px 8px 13px 0; -} - -.item-input .label-wp, -.item-select .label-wp, -.item-datetime .label-wp { - color: #999; -} - -.label-wp[stacked] { - font-size: 1.2rem; -} - -.label-wp[floating] { - -webkit-transform: translate3d(8px, 34px, 0); - transform: translate3d(8px, 34px, 0); - -webkit-transform-origin: left top; - transform-origin: left top; -} - -.label-wp[stacked], -.label-wp[floating] { - margin-left: 0; - margin-bottom: 0; -} - -.item-input-has-focus .label-wp[stacked], -.input-has-focus .label-wp[stacked], -.item-input-has-focus .label-wp[floating], -.input-has-focus .label-wp[floating] { - color: #673AB7; -} - -.item-input-has-focus .label-wp[floating], -.input-has-focus .label-wp[floating], -.item-input-has-value .label-wp[floating], -.input-has-value .label-wp[floating] { - -webkit-transform: translate3d(0, 0, 0) scale(0.8); - transform: translate3d(0, 0, 0) scale(0.8); -} - -.item-wp.item-label-stacked [item-right], -.item-wp.item-label-floating [item-right], -.item-wp.item-label-stacked [item-end], -.item-wp.item-label-floating [item-end] { - margin-top: 13px; - margin-bottom: 13px; -} - -.label-wp-primary, -.item-input .label-wp-primary, -.item-select .label-wp-primary, -.item-datetime .label-wp-primary { - color: #673AB7; -} - -.label-wp-secondary, -.item-input .label-wp-secondary, -.item-select .label-wp-secondary, -.item-datetime .label-wp-secondary { - color: #32db64; -} - -.label-wp-danger, -.item-input .label-wp-danger, -.item-select .label-wp-danger, -.item-datetime .label-wp-danger { - color: #f53d3d; -} - -.label-wp-light, -.item-input .label-wp-light, -.item-select .label-wp-light, -.item-datetime .label-wp-light { - color: #f4f4f4; -} - -.label-wp-dark, -.item-input .label-wp-dark, -.item-select .label-wp-dark, -.item-datetime .label-wp-dark { - color: #222; -} - -.label-wp-optblue, -.item-input .label-wp-optblue, -.item-select .label-wp-optblue, -.item-datetime .label-wp-optblue { - color: #E00201; -} - -ion-list-header { - margin: 0; - padding: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - width: 100%; - min-height: 4rem; -} - -ion-list { - margin: 0; - padding: 0; - display: block; - list-style-type: none; -} - -ion-list[inset] { - overflow: hidden; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.list-ios { - margin: -1px 0 32px; -} - -.list-ios > .item-block:first-child { - border-top: 0.55px solid #c8c7cc; -} - -.list-ios > .item-block:last-child, -.list-ios > .item-wrapper:last-child .item-block { - border-bottom: 0.55px solid #c8c7cc; -} - -.list-ios > .item-block:last-child .item-inner, -.list-ios > .item-wrapper:last-child .item-block .item-inner { - border-bottom: 0; -} - -.list-ios .item-block .item-inner { - border-bottom: 0.55px solid #c8c7cc; -} - -.list-ios .item[no-lines], -.list-ios .item[no-lines] .item-inner { - border-width: 0; -} - -.list-ios ion-item-options { - border-bottom: 0.55px solid #c8c7cc; -} - -.list-ios ion-item-options .button { - margin: 0; - border-radius: 0; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 100%; - min-height: 100%; - border: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.list-ios ion-item-options .button::before { - margin: 0 auto; -} - -.list-ios:not([inset]) + .list-ios:not([inset]) ion-list-header { - margin-top: -10px; - padding-top: 0; -} - -.list-ios[inset] { - margin: 16px; - border-radius: 4px; -} - -.list-ios[inset] ion-list-header { - background-color: #fff; -} - -.list-ios[inset] .item { - border-bottom: 1px solid #c8c7cc; -} - -.list-ios[inset] .item-inner { - border-bottom: 0; -} - -.list-ios[inset] > .item:first-child, -.list-ios[inset] > .item-wrapper:first-child .item { - border-top: 0; -} - -.list-ios[inset] > .item:last-child, -.list-ios[inset] > .item-wrapper:last-child .item { - border-bottom: 0; -} - -.list-ios[inset] + ion-list[inset] { - margin-top: 0; -} - -.list-ios[no-lines] ion-list-header, -.list-ios[no-lines] ion-item-options, -.list-ios[no-lines] .item, -.list-ios[no-lines] .item .item-inner { - border-width: 0; -} - -.list-header-ios { - padding-left: 16px; - padding-left: 16px; - position: relative; - border-bottom: 0.55px solid #c8c7cc; - font-size: 1.2rem; - font-weight: 500; - letter-spacing: 0.1rem; - text-transform: uppercase; - color: #333; - background: transparent; -} - -@media screen and (orientation: landscape) { - .list-header-ios { - padding-left: calc(constant(safe-area-inset-left) + 16px); - padding-left: calc(env(safe-area-inset-left) + 16px); - } -} - -.list-header-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.list-header-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.list-header-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.list-header-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.list-header-ios-dark { - color: #fff; - background-color: #222; -} - -.list-header-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.list-md { - margin: -1px 0 16px; -} - -.list-md .item-block .item-inner { - border-bottom: 1px solid #dedede; -} - -.list-md > .item-block:last-child ion-label, -.list-md > .item-block:last-child .item-inner, -.list-md > .item-wrapper:last-child ion-label, -.list-md > .item-wrapper:last-child .item-inner { - border-bottom: 0; -} - -.list-md > ion-input:last-child::after { - left: 0; -} - -.list-md ion-item-options { - border-bottom: 1px solid #dedede; -} - -.list-md ion-item-options .button { - margin: 0; - border-radius: 0; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 100%; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.list-md ion-item-options .button::before { - margin: 0 auto; -} - -.list-md .item[no-lines], -.list-md .item[no-lines] .item-inner { - border-width: 0; -} - -.list-md + ion-list ion-list-header { - margin-top: -16px; -} - -.list-md[inset] { - margin: 16px; - border-radius: 2px; -} - -.list-md[inset] .item:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; - border-top-width: 0; -} - -.list-md[inset] .item:last-child { - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; - border-bottom-width: 0; -} - -.list-md[inset] .item-input { - padding-left: 0; - padding-right: 0; -} - -.list-md[inset] + ion-list[inset] { - margin-top: 0; -} - -.list-md[inset] ion-list-header { - background-color: #fff; -} - -.list-md[no-lines] .item-block, -.list-md[no-lines] ion-item-options, -.list-md[no-lines] .item .item-inner { - border-width: 0; -} - -.list-header-md { - padding-left: 16px; - margin-bottom: 13px; - min-height: 4.5rem; - border-top: 1px solid #dedede; - font-size: 1.4rem; - color: #757575; -} - -.list-header-md-primary { - color: #fff; - background-color: #673AB7; -} - -.list-header-md-secondary { - color: #fff; - background-color: #32db64; -} - -.list-header-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.list-header-md-light { - color: #000; - background-color: #f4f4f4; -} - -.list-header-md-dark { - color: #fff; - background-color: #222; -} - -.list-header-md-optblue { - color: #fff; - background-color: #E00201; -} - -.list-md .item-input:last-child { - border-bottom: 1px solid #dedede; -} - -.list-wp { - margin: 0 0 16px; -} - -.list-wp .item-block .item-inner { - border-bottom: 1px solid transparent; -} - -.list-wp > .item-block:first-child, -.list-wp > .item-wrapper:first-child .item-block { - border-top: 1px solid transparent; -} - -.list-wp > .item-block:last-child, -.list-wp > .item-wrapper:last-child .item-block { - border-bottom: 1px solid transparent; -} - -.list-wp > .item-block:last-child ion-label, -.list-wp > .item-block:last-child .item-inner, -.list-wp > .item-wrapper:last-child ion-label, -.list-wp > .item-wrapper:last-child .item-inner { - border-bottom: 0; -} - -.list-wp > ion-input:last-child::after { - left: 0; -} - -.list-wp ion-item-options .button { - margin: 1px 0; - border-radius: 0; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: calc(100% - 2px); - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.list-wp ion-item-options .button::before { - margin: 0 auto; -} - -.list-wp .item[no-lines], -.list-wp .item[no-lines] .item-inner { - border-width: 0; -} - -.list-wp + ion-list ion-list-header { - margin-top: -16px; - padding-top: 0; -} - -.list-wp[inset] { - margin: 16px; - border-radius: 2px; -} - -.list-wp[inset] .item:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; - border-top-width: 0; -} - -.list-wp[inset] .item:last-child { - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; - border-bottom-width: 0; -} - -.list-wp[inset] .item-input { - padding-left: 0; - padding-right: 0; -} - -.list-wp[inset] + ion-list[inset] { - margin-top: 0; -} - -.list-wp[inset] ion-list-header { - background-color: #fff; -} - -.list-wp[no-lines] .item, -.list-wp[no-lines] .item .item-inner { - border-width: 0; -} - -.list-header-wp { - padding-left: 16px; - border-bottom: 1px solid transparent; - font-size: 2rem; - color: #000; -} - -.list-header-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.list-header-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.list-header-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.list-header-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.list-header-wp-dark { - color: #fff; - background-color: #222; -} - -.list-header-wp-optblue { - color: #fff; - background-color: #E00201; -} - -ion-loading { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - z-index: 1000; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - contain: strict; -} - -.loading-wrapper { - z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - opacity: 0; -} - -.loading-ios .loading-wrapper { - border-radius: 8px; - max-width: 270px; - max-height: 90%; - color: #000; - background: #f8f8f8; - padding: 24px 34px; -} - -.loading-ios .loading-content { - font-weight: bold; -} - -.loading-ios .loading-spinner + .loading-content { - margin-left: 16px; -} - -.loading-ios .spinner-ios line, -.loading-ios .spinner-ios-small line { - stroke: #69717d; -} - -.loading-ios .spinner-bubbles circle { - fill: #69717d; -} - -.loading-ios .spinner-circles circle { - fill: #69717d; -} - -.loading-ios .spinner-crescent circle { - stroke: #69717d; -} - -.loading-ios .spinner-dots circle { - fill: #69717d; -} - -.loading-md .loading-wrapper { - border-radius: 2px; - max-width: 280px; - max-height: 90%; - color: rgba(0, 0, 0, 0.5); - background: #fafafa; - -webkit-box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); - box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); - padding: 24px; -} - -.loading-md .loading-spinner + .loading-content { - margin-left: 16px; -} - -.loading-md .spinner-ios line, -.loading-md .spinner-ios-small line { - stroke: #673AB7; -} - -.loading-md .spinner-bubbles circle { - fill: #673AB7; -} - -.loading-md .spinner-circles circle { - fill: #673AB7; -} - -.loading-md .spinner-crescent circle { - stroke: #673AB7; -} - -.loading-md .spinner-dots circle { - fill: #673AB7; -} - -.loading-wp .loading-wrapper { - border-radius: 2px; - max-width: 280px; - max-height: 90%; - color: #fff; - background: #000; - padding: 20px; -} - -.loading-wp .loading-spinner + .loading-content { - margin-left: 16px; -} - -.loading-wp .spinner-ios line, -.loading-wp .spinner-ios-small line { - stroke: #fff; -} - -.loading-wp .spinner-bubbles circle { - fill: #fff; -} - -.loading-wp .spinner-circles circle { - fill: #fff; -} - -.loading-wp .spinner-crescent circle { - stroke: #fff; -} - -.loading-wp .spinner-dots circle { - fill: #fff; -} - -ion-menu { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - display: none; - contain: strict; -} - -ion-menu.show-menu { - display: block; -} - -.menu-inner { - left: 0; - right: auto; - top: 0; - bottom: 0; - -webkit-transform: translate3d(-9999px, 0, 0); - transform: translate3d(-9999px, 0, 0); - position: absolute; - display: block; - width: 304px; - height: 100%; - contain: strict; -} - -.menu-inner > ion-header, -.menu-inner > ion-content, -.menu-inner > ion-footer { - position: absolute; -} - -ion-menu[side=left] > .menu-inner { - right: auto; - left: 0; -} - -ion-menu[side=right] > .menu-inner { - right: 0; - left: auto; -} - -ion-menu[side=end] > .menu-inner { - left: auto; - right: 0; -} - -ion-menu ion-backdrop { - z-index: -1; - display: none; - opacity: .01; -} - -.menu-content { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.menu-content-open { - cursor: pointer; - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -.menu-content-open ion-pane, -.menu-content-open ion-content, -.menu-content-open .toolbar { - pointer-events: none; -} - -@media (max-width: 340px) { - .menu-inner { - width: 264px; - } -} - -ion-menu[type=reveal] { - z-index: 0; -} - -ion-menu[type=reveal].show-menu .menu-inner { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -ion-menu[type=overlay] { - z-index: 80; -} - -ion-menu[type=overlay] .show-backdrop { - display: block; -} - -.ios .menu-inner { - background: #fff; -} - -.ios .menu-content-reveal { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -} - -.ios .menu-content-push { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -} - -.ios ion-menu[type=overlay] .menu-inner { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -} - -.md .menu-inner { - background: #fff; -} - -.md .menu-content-reveal { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -} - -.md .menu-content-push { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -} - -.md ion-menu[type=overlay] .menu-inner { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -} - -.wp .menu-inner { - background: #f2f2f2; -} - -ion-modal { - left: 0; - top: 0; - position: absolute; - display: block; - width: 100%; - height: 100%; - contain: strict; -} - -@media not all and (min-width: 768px) and (min-height: 600px) { - ion-modal ion-backdrop { - visibility: hidden; - } -} - -.modal-wrapper { - z-index: 10; - height: 100%; - contain: strict; -} - -@media only screen and (min-width: 768px) and (min-height: 600px) { - .modal-wrapper { - left: calc(50% - (600px/2)); - top: calc(50% - (500px/2)); - position: absolute; - width: 600px; - height: 500px; - } -} - -@media only screen and (min-width: 768px) and (min-height: 768px) { - .modal-wrapper { - left: calc(50% - (600px/2)); - top: calc(50% - (600px/2)); - position: absolute; - width: 600px; - height: 600px; - } -} - -.ios .modal-wrapper { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} - -@media only screen and (min-width: 768px) and (min-height: 600px) { - .ios .modal-wrapper { - border-radius: 10px; - overflow: hidden; - } -} - -.md .modal-wrapper { - -webkit-transform: translate3d(0, 40px, 0); - transform: translate3d(0, 40px, 0); - opacity: .01; -} - -@media only screen and (min-width: 768px) and (min-height: 600px) { - .md .modal-wrapper { - border-radius: 2px; - overflow: hidden; - -webkit-box-shadow: 0 28px 48px rgba(0, 0, 0, 0.4); - box-shadow: 0 28px 48px rgba(0, 0, 0, 0.4); - } -} - -.wp .modal-wrapper { - -webkit-transform: translate3d(0, 40px, 0); - transform: translate3d(0, 40px, 0); - opacity: .01; -} - -.note-ios { - color: #aeacb4; -} - -.note-ios-primary { - color: #673AB7; -} - -.note-ios-secondary { - color: #32db64; -} - -.note-ios-danger { - color: #f53d3d; -} - -.note-ios-light { - color: #f4f4f4; -} - -.note-ios-dark { - color: #222; -} - -.note-ios-optblue { - color: #E00201; -} - -.note-md { - color: #c5c5c5; -} - -.note-md-primary { - color: #673AB7; -} - -.note-md-secondary { - color: #32db64; -} - -.note-md-danger { - color: #f53d3d; -} - -.note-md-light { - color: #f4f4f4; -} - -.note-md-dark { - color: #222; -} - -.note-md-optblue { - color: #E00201; -} - -.note-wp { - color: rgba(0, 0, 0, 0.5); -} - -.note-wp-primary { - color: #673AB7; -} - -.note-wp-secondary { - color: #32db64; -} - -.note-wp-danger { - color: #f53d3d; -} - -.note-wp-light { - color: #f4f4f4; -} - -.note-wp-dark { - color: #222; -} - -.note-wp-optblue { - color: #E00201; -} - -ion-picker-cmp { - left: 0; - top: 0; - position: absolute; - z-index: 1000; - display: block; - width: 100%; - height: 100%; - contain: strict; -} - -.picker-toolbar { - z-index: 1; - width: 100%; - contain: strict; -} - -.picker-wrapper { - left: 0; - right: 0; - bottom: 0; - margin: auto; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - position: absolute; - z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - max-width: 500px; - contain: strict; -} - -.picker-columns { - margin-bottom: constant(safe-area-inset-bottom); - margin-bottom: env(safe-area-inset-bottom); - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - contain: strict; -} - -.picker-col { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - height: 100%; - -webkit-box-sizing: content-box; - box-sizing: content-box; - contain: content; -} - -.picker-opts { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - max-width: 100%; -} - -.picker-prefix { - text-align: right; - text-align: end; - position: relative; - -webkit-box-flex: 2; - -webkit-flex: 2; - -ms-flex: 2; - flex: 2; - min-width: 45%; - max-width: 50%; - white-space: nowrap; -} - -.picker-suffix { - text-align: left; - text-align: start; - position: relative; - -webkit-box-flex: 2; - -webkit-flex: 2; - -ms-flex: 2; - flex: 2; - min-width: 45%; - max-width: 50%; - white-space: nowrap; -} - -.picker-opt { - left: 0; - top: 0; - text-align: center; - position: absolute; - display: block; - overflow: hidden; - width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - will-change: transform; - contain: strict; -} - -.picker-opt.picker-opt-disabled { - pointer-events: none; -} - -.picker-opt-disabled { - opacity: 0; -} - -.picker-opts-left { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.picker-opts-right { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -.picker-above-highlight, -.picker-below-highlight { - display: none; - pointer-events: none; -} - -.picker-ios .picker-wrapper { - height: 260px; - border-top: 1px solid #c8c7cc; - background: #fff; -} - -.picker-ios .picker-toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 44px; - border-bottom: 0.55px solid #c8c7cc; - background: #fff; -} - -.picker-ios .picker-toolbar-button { - text-align: right; - text-align: end; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} - -.picker-ios .picker-toolbar-button:last-child .picker-button { - font-weight: 600; -} - -.picker-ios .picker-toolbar-cancel { - text-align: left; - text-align: start; - font-weight: normal; -} - -.picker-ios .picker-button, -.picker-ios .picker-button.activated { - margin: 0; - height: 44px; - color: #673AB7; - background: transparent; -} - -.picker-columns { - height: 215px; - -webkit-perspective: 1000px; - perspective: 1000px; -} - -.picker-ios .picker-col { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - padding: 0 4px; -} - -.picker-ios .picker-prefix, -.picker-ios .picker-suffix, -.picker-ios .picker-opts { - top: 77px; - font-size: 20px; - line-height: 42px; - color: #000; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - pointer-events: none; -} - -.picker-ios .picker-opt { - margin: 0; - -webkit-transform-origin: center center; - transform-origin: center center; - height: 4.6rem; - font-size: 20px; - line-height: 42px; - color: #000; - background: transparent; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - pointer-events: auto; - padding: 0; -} - -.picker-ios .picker-above-highlight { - left: 0; - top: 0; - -webkit-transform: translate3d(0, 0, 90px); - transform: translate3d(0, 0, 90px); - position: absolute; - z-index: 10; - display: block; - width: 100%; - height: 81px; - border-bottom: 1px solid #c8c7cc; - background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, white), to(rgba(255, 255, 255, 0.7))); - background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -} - -.picker-ios .picker-below-highlight { - left: 0; - top: 115px; - -webkit-transform: translate3d(0, 0, 90px); - transform: translate3d(0, 0, 90px); - position: absolute; - z-index: 11; - display: block; - width: 100%; - height: 119px; - border-top: 1px solid #c8c7cc; - background: -webkit-gradient(linear, left bottom, left top, color-stop(30%, white), to(rgba(255, 255, 255, 0.7))); - background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -} - -.picker-md .picker-wrapper { - height: 260px; - border-top: 0.55px solid #dedede; - background: #fff; -} - -.picker-md .picker-toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - height: 44px; - background: #fff; -} - -.picker-md .picker-button, -.picker-md .picker-button.activated { - margin: 0; - height: 44px; - color: #673AB7; - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} - -.picker-md .picker-columns { - height: 216px; - -webkit-perspective: 1800px; - perspective: 1800px; -} - -.picker-md .picker-col { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - padding: 0 8px; -} - -.picker-md .picker-prefix, -.picker-md .picker-suffix, -.picker-md .picker-opts { - top: 77px; - font-size: 22px; - line-height: 42px; - color: #000; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - pointer-events: none; -} - -.picker-md .picker-opt { - margin: 0; - height: 4.3rem; - font-size: 22px; - line-height: 42px; - color: #000; - background: transparent; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - pointer-events: auto; - padding: 0; -} - -.picker-md .picker-prefix, -.picker-md .picker-suffix, -.picker-md .picker-opt.picker-opt-selected { - color: #673AB7; -} - -.picker-md .picker-above-highlight { - left: 0; - top: 0; - -webkit-transform: translate3d(0, 0, 90px); - transform: translate3d(0, 0, 90px); - position: absolute; - z-index: 10; - width: 100%; - height: 81px; - border-bottom: 1px solid #dedede; - background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, white), to(rgba(255, 255, 255, 0.7))); - background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -} - -.picker-md .picker-below-highlight { - left: 0; - top: 115px; - -webkit-transform: translate3d(0, 0, 90px); - transform: translate3d(0, 0, 90px); - position: absolute; - z-index: 11; - width: 100%; - height: 119px; - border-top: 1px solid #dedede; - background: -webkit-gradient(linear, left bottom, left top, color-stop(30%, white), to(rgba(255, 255, 255, 0.7))); - background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -} - -.picker-wp .picker-wrapper { - height: 260px; - border-top: 0.55px solid transparent; - background: #fff; -} - -.picker-wp .picker-toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - height: 44px; - border-width: 0.55px; - background: #fff; -} - -.picker-wp .picker-toolbar-button { - text-align: right; - text-align: end; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} - -.picker-wp .picker-toolbar-cancel { - text-align: left; - text-align: start; - font-weight: normal; -} - -.picker-wp .picker-button, -.picker-wp .picker-button.activated { - margin: 0; - height: 44px; - color: #673AB7; - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} - -.picker-wp .picker-columns { - height: 216px; - -webkit-perspective: 1800px; - perspective: 1800px; -} - -.picker-wp .picker-col { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - padding: 0 4px; -} - -.picker-wp .picker-prefix, -.picker-wp .picker-suffix, -.picker-wp .picker-opts { - top: 77px; - font-size: 22px; - line-height: 42px; - color: #000; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - pointer-events: none; -} - -.picker-wp .picker-opt { - margin: 0; - height: 4.2rem; - font-size: 22px; - line-height: 42px; - color: #000; - background: transparent; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - pointer-events: auto; - padding: 0; -} - -.picker-wp .picker-prefix, -.picker-wp .picker-suffix, -.picker-wp .picker-opt-selected { - color: #673AB7; -} - -.picker-wp .picker-above-highlight { - left: 0; - top: 0; - -webkit-transform: translate3d(0, 0, 90px); - transform: translate3d(0, 0, 90px); - position: absolute; - z-index: 10; - width: 100%; - height: 81px; - border-bottom: 1px solid transparent; - background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, white), to(rgba(255, 255, 255, 0.7))); - background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -} - -.picker-wp .picker-below-highlight { - left: 0; - top: 115px; - -webkit-transform: translate3d(0, 0, 90px); - transform: translate3d(0, 0, 90px); - position: absolute; - z-index: 11; - width: 100%; - height: 119px; - border-top: 1px solid transparent; - background: -webkit-gradient(linear, left bottom, left top, color-stop(30%, white), to(rgba(255, 255, 255, 0.7))); - background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -} - -ion-popover { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - z-index: 1000; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.popover-wrapper { - z-index: 10; - opacity: 0; -} - -.popover-content { - position: absolute; - z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: auto; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.popover-content ion-content, -.popover-content .scroll-content { - contain: none; -} - -.popover-content .scroll-content { - position: relative; -} - -.popover-ios .popover-content { - border-radius: 10px; - width: 200px; - min-width: 0; - min-height: 0; - max-height: 90%; - color: #000; - background: #fff; -} - -.popover-ios .popover-arrow { - position: absolute; - display: block; - overflow: hidden; - width: 20px; - height: 10px; -} - -.popover-ios .popover-arrow::after { - left: 3px; - top: 3px; - border-radius: 3px; - position: absolute; - z-index: 10; - width: 14px; - height: 14px; - background-color: #fff; - content: ""; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.popover-ios.popover-bottom .popover-arrow { - top: auto; - bottom: -10px; -} - -.popover-ios.popover-bottom .popover-arrow::after { - top: -6px; -} - -.popover-ios .item-ios { - padding-left: 16px; -} - -.popover-ios .item-ios[detail-push] .item-inner, -.popover-ios button.item-ios:not([detail-none]) .item-inner, -.popover-ios a.item-ios:not([detail-none]) .item-inner { - background-position: right 14px center; -} - -.popover-md .popover-content { - border-radius: 2px; - -webkit-transform-origin: left top; - transform-origin: left top; - width: 250px; - min-width: 0; - min-height: 0; - max-height: 90%; - color: #000; - background: #fff; - -webkit-box-shadow: 0 3px 12px 2px rgba(0, 0, 0, 0.3); - box-shadow: 0 3px 12px 2px rgba(0, 0, 0, 0.3); -} - -.popover-md .popover-viewport { - opacity: 0; - -webkit-transition-delay: 100ms; - transition-delay: 100ms; -} - -.popover-wp .popover-content { - border-radius: 0; - -webkit-transform-origin: left top; - transform-origin: left top; - width: 200px; - min-width: 0; - min-height: 0; - max-height: 90%; - border: 2px solid #ccc; - color: #000; - background: #fff; -} - -.popover-wp .popover-viewport { - opacity: 0; - -webkit-transition-delay: 100ms; - transition-delay: 100ms; -} - -.radio-ios { - position: relative; - display: inline-block; -} - -.radio-ios .radio-icon { - position: relative; - display: block; - width: 16px; - height: 21px; -} - -.radio-ios .radio-checked .radio-inner { - left: 7px; - top: 4px; - position: absolute; - width: 5px; - height: 12px; - border-width: 2px; - border-top-width: 0; - border-left-width: 0; - border-style: solid; - border-color: #673AB7; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.radio-ios.radio-disabled, -.item-ios.item-radio-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item-ios .radio-ios { - position: static; - display: block; - margin: 8px 11px 8px 8px; -} - -.item-ios .radio-ios[item-left], .item-ios .radio-ios[item-start] { - margin: 8px 21px 8px 3px; -} - -.item-radio.item-ios ion-label { - margin-left: 0; -} - -.item-radio-checked.item-ios ion-label { - color: #673AB7; -} - -.item-radio-ios-primary.item-radio-checked ion-label { - color: #673AB7; -} - -.radio-ios-primary .radio-checked { - color: #673AB7; -} - -.radio-ios-primary .radio-checked .radio-inner { - border-color: #673AB7; -} - -.item-radio-ios-secondary.item-radio-checked ion-label { - color: #32db64; -} - -.radio-ios-secondary .radio-checked { - color: #32db64; -} - -.radio-ios-secondary .radio-checked .radio-inner { - border-color: #32db64; -} - -.item-radio-ios-danger.item-radio-checked ion-label { - color: #f53d3d; -} - -.radio-ios-danger .radio-checked { - color: #f53d3d; -} - -.radio-ios-danger .radio-checked .radio-inner { - border-color: #f53d3d; -} - -.item-radio-ios-light.item-radio-checked ion-label { - color: #f4f4f4; -} - -.radio-ios-light .radio-checked { - color: #f4f4f4; -} - -.radio-ios-light .radio-checked .radio-inner { - border-color: #f4f4f4; -} - -.item-radio-ios-dark.item-radio-checked ion-label { - color: #222; -} - -.radio-ios-dark .radio-checked { - color: #222; -} - -.radio-ios-dark .radio-checked .radio-inner { - border-color: #222; -} - -.item-radio-ios-optblue.item-radio-checked ion-label { - color: #E00201; -} - -.radio-ios-optblue .radio-checked { - color: #E00201; -} - -.radio-ios-optblue .radio-checked .radio-inner { - border-color: #E00201; -} - -.radio-md { - position: relative; - display: inline-block; -} - -.radio-md .radio-icon { - left: 0; - top: 0; - margin: 0; - border-radius: 50%; - position: relative; - display: block; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: #787878; -} - -.radio-md .radio-inner { - left: 2px; - top: 2px; - border-radius: 50%; - position: absolute; - width: 8px; - height: 8px; - background-color: #673AB7; - -webkit-transform: scale3d(0, 0, 0); - transform: scale3d(0, 0, 0); - -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); - transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); -} - -.radio-md .radio-checked { - border-color: #673AB7; -} - -.radio-md .radio-checked .radio-inner { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); -} - -.radio-md.radio-disabled, -.item-md.item-radio-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item-md .radio-md { - position: static; - display: block; - margin: 9px 10px 9px 0; -} - -.item-md .radio-md[item-left], .item-md .radio-md[item-start] { - margin: 11px 36px 10px 4px; -} - -.item-radio.item-md ion-label { - margin-left: 0; -} - -.item-radio-checked.item-md ion-label { - color: #673AB7; -} - -.item-radio-md-primary.item-radio-checked ion-label { - color: #673AB7; -} - -.radio-md-primary .radio-checked { - border-color: #673AB7; -} - -.radio-md-primary .radio-inner { - background-color: #673AB7; -} - -.item-radio-md-secondary.item-radio-checked ion-label { - color: #32db64; -} - -.radio-md-secondary .radio-checked { - border-color: #32db64; -} - -.radio-md-secondary .radio-inner { - background-color: #32db64; -} - -.item-radio-md-danger.item-radio-checked ion-label { - color: #f53d3d; -} - -.radio-md-danger .radio-checked { - border-color: #f53d3d; -} - -.radio-md-danger .radio-inner { - background-color: #f53d3d; -} - -.item-radio-md-light.item-radio-checked ion-label { - color: #f4f4f4; -} - -.radio-md-light .radio-checked { - border-color: #f4f4f4; -} - -.radio-md-light .radio-inner { - background-color: #f4f4f4; -} - -.item-radio-md-dark.item-radio-checked ion-label { - color: #222; -} - -.radio-md-dark .radio-checked { - border-color: #222; -} - -.radio-md-dark .radio-inner { - background-color: #222; -} - -.item-radio-md-optblue.item-radio-checked ion-label { - color: #E00201; -} - -.radio-md-optblue .radio-checked { - border-color: #E00201; -} - -.radio-md-optblue .radio-inner { - background-color: #E00201; -} - -.radio-wp { - position: relative; - display: inline-block; -} - -.radio-wp .radio-icon { - left: 0; - top: 0; - margin: 0; - border-radius: 50%; - position: relative; - display: block; - width: 16px; - height: 16px; - border-width: 2px; - border-style: solid; - border-color: #333; -} - -.radio-wp .radio-inner { - left: 2px; - top: 2px; - border-radius: 50%; - position: absolute; - display: none; - width: 8px; - height: 8px; - background-color: #333; -} - -.radio-wp .radio-checked { - border-color: #673AB7; -} - -.radio-wp .radio-checked .radio-inner { - display: block; -} - -.radio-wp.radio-disabled, -.item-wp.item-radio-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item-wp .radio-wp { - position: static; - display: block; - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - margin: 9px 20px 9px 4px; -} - -.item-wp .radio-wp[item-right], .item-wp .radio-wp[item-end] { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - margin: 11px 10px 10px 0; -} - -.item-radio.item-wp ion-label { - margin-left: 0; -} - -.radio-wp-primary .radio-checked { - border-color: #673AB7; -} - -.radio-wp-secondary .radio-checked { - border-color: #32db64; -} - -.radio-wp-danger .radio-checked { - border-color: #f53d3d; -} - -.radio-wp-light .radio-checked { - border-color: #f4f4f4; -} - -.radio-wp-dark .radio-checked { - border-color: #222; -} - -.radio-wp-optblue .radio-checked { - border-color: #E00201; -} - -.item-range .item-inner { - overflow: visible; - width: 100%; -} - -.item-range .input-wrapper { - overflow: visible; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; -} - -.item-range ion-range { - width: 100%; -} - -.item-range ion-range ion-label { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; -} - -ion-range { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -ion-range ion-label { - -webkit-box-flex: initial; - -webkit-flex: initial; - -ms-flex: initial; - flex: initial; -} - -ion-range ion-icon { - min-height: 2.4rem; - font-size: 2.4rem; - line-height: 1; -} - -.range-slider { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - cursor: pointer; -} - -.range-ios { - padding: 8px 16px; -} - -.range-ios [range-left] { - margin: 0 20px 0 0; -} - -.range-ios [range-right] { - margin: 0 0 0 20px; -} - -.range-ios.range-has-pin { - padding-top: 20px; -} - -.range-ios .range-slider { - height: 42px; -} - -.range-ios .range-bar { - left: 0; - top: 21px; - border-radius: 1px; - position: absolute; - width: 100%; - height: 1px; - background: #bdbdbd; - pointer-events: none; -} - -.range-ios.range-pressed .range-bar-active { - will-change: left, right; -} - -.range-ios.range-pressed .range-knob-handle { - will-change: left; -} - -.range-ios .range-bar-active { - bottom: 0; - width: auto; - background: #673AB7; -} - -.range-ios .range-knob-handle { - left: 0; - top: 21px; - margin-left: -21px; - margin-top: -21px; - text-align: center; - position: absolute; - width: 42px; - height: 42px; -} - -.range-ios .range-knob { - left: 7px; - top: 7px; - border-radius: 50%; - position: absolute; - width: 28px; - height: 28px; - background: #fff; - -webkit-box-shadow: 0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02); - box-shadow: 0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02); - pointer-events: none; -} - -.range-ios .range-tick { - margin-left: -0.5px; - border-radius: 0; - position: absolute; - top: 17.5px; - width: 1px; - height: 8px; - background: #bdbdbd; - pointer-events: none; -} - -.range-ios .range-tick-active { - background: #673AB7; -} - -.range-ios .range-pin { - text-align: center; - border-radius: 50px; - -webkit-transform: translate3d(0, 28px, 0) scale(0.01); - transform: translate3d(0, 28px, 0) scale(0.01); - position: relative; - top: -20px; - display: inline-block; - min-width: 28px; - font-size: 12px; - color: #000; - background: transparent; - -webkit-transition: -webkit-transform 120ms ease; - transition: -webkit-transform 120ms ease; - transition: transform 120ms ease; - transition: transform 120ms ease, -webkit-transform 120ms ease; - padding: 8px; -} - -.range-ios .range-knob-pressed .range-pin { - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} - -.range-ios.range-disabled { - opacity: .5; -} - -.range-ios-primary .range-bar-active, -.range-ios-primary .range-tick-active { - background: #673AB7; -} - -.range-ios-secondary .range-bar-active, -.range-ios-secondary .range-tick-active { - background: #32db64; -} - -.range-ios-danger .range-bar-active, -.range-ios-danger .range-tick-active { - background: #f53d3d; -} - -.range-ios-light .range-bar-active, -.range-ios-light .range-tick-active { - background: #f4f4f4; -} - -.range-ios-dark .range-bar-active, -.range-ios-dark .range-tick-active { - background: #222; -} - -.range-ios-optblue .range-bar-active, -.range-ios-optblue .range-tick-active { - background: #E00201; -} - -.range-md { - padding: 8px; -} - -.range-md [range-left] { - margin: 0 12px 0 0; -} - -.range-md [range-right] { - margin: 0 0 0 12px; -} - -.range-md.range-has-pin { - padding-top: 28px; -} - -.range-md .range-slider { - height: 42px; -} - -.range-md .range-bar { - left: 0; - top: 21px; - position: absolute; - width: 100%; - height: 2px; - background: #bdbdbd; - pointer-events: none; -} - -.range-md.range-pressed .range-bar-active { - will-change: left, right; -} - -.range-md.range-pressed .range-knob-handle { - will-change: left; -} - -.range-md .range-bar-active { - bottom: 0; - width: auto; - background: #673AB7; -} - -.range-md .range-knob-handle { - left: 0; - top: 21px; - margin-left: -21px; - margin-top: -21px; - text-align: center; - position: absolute; - width: 42px; - height: 42px; -} - -.range-md .range-knob { - left: 12px; - top: 13px; - border-radius: 50%; - position: absolute; - z-index: 2; - width: 18px; - height: 18px; - background: #673AB7; - -webkit-transform: scale(0.67); - transform: scale(0.67); - -webkit-transition-duration: 120ms; - transition-duration: 120ms; - -webkit-transition-property: background-color, border, -webkit-transform; - transition-property: background-color, border, -webkit-transform; - transition-property: transform, background-color, border; - transition-property: transform, background-color, border, -webkit-transform; - -webkit-transition-timing-function: ease; - transition-timing-function: ease; - pointer-events: none; -} - -.range-md .range-tick { - margin-left: -1px; - border-radius: 50%; - position: absolute; - top: 21px; - z-index: 1; - width: 2px; - height: 2px; - background: #000; - pointer-events: none; -} - -.range-md .range-tick-active { - background: #000; -} - -.range-md .range-pin { - padding: 8px 0; - text-align: center; - border-radius: 50%; - -webkit-transform: translate3d(0, 28px, 0) scale(0.01); - transform: translate3d(0, 28px, 0) scale(0.01); - position: relative; - top: -20px; - display: inline-block; - min-width: 28px; - height: 28px; - font-size: 12px; - color: #fff; - background: #673AB7; - -webkit-transition: background-color 120ms ease, -webkit-transform 120ms ease; - transition: background-color 120ms ease, -webkit-transform 120ms ease; - transition: transform 120ms ease, background-color 120ms ease; - transition: transform 120ms ease, background-color 120ms ease, -webkit-transform 120ms ease; -} - -.range-md .range-pin::before { - left: 50%; - top: 3px; - border-top-left-radius: 50%; - border-top-right-radius: 50%; - border-bottom-right-radius: 50%; - border-bottom-left-radius: 0; - margin-left: -13px; - position: absolute; - z-index: -1; - width: 26px; - height: 26px; - background: #673AB7; - content: ""; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transition: background-color 120ms ease; - transition: background-color 120ms ease; -} - -.range-md .range-knob-pressed .range-pin { - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} - -.range-md:not(.range-has-pin) .range-knob-pressed .range-knob { - -webkit-transform: scale(1); - transform: scale(1); -} - -.range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md .range-knob-min.range-knob-min .range-pin, -.range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md.range-disabled .range-bar-active { - background-color: #bdbdbd; -} - -.range-md.range-disabled .range-knob { - outline: 5px solid #fff; - background-color: #bdbdbd; - -webkit-transform: scale(0.55); - transform: scale(0.55); -} - -.range-md-primary .range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md-primary .range-md .range-knob-min.range-knob-min .range-pin, -.range-md-primary .range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md-primary .range-bar-active, -.range-md-primary .range-knob, -.range-md-primary .range-pin, -.range-md-primary .range-pin::before { - background: #673AB7; -} - -.range-md-secondary .range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md-secondary .range-md .range-knob-min.range-knob-min .range-pin, -.range-md-secondary .range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md-secondary .range-bar-active, -.range-md-secondary .range-knob, -.range-md-secondary .range-pin, -.range-md-secondary .range-pin::before { - background: #32db64; -} - -.range-md-danger .range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md-danger .range-md .range-knob-min.range-knob-min .range-pin, -.range-md-danger .range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md-danger .range-bar-active, -.range-md-danger .range-knob, -.range-md-danger .range-pin, -.range-md-danger .range-pin::before { - background: #f53d3d; -} - -.range-md-light .range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md-light .range-md .range-knob-min.range-knob-min .range-pin, -.range-md-light .range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md-light .range-bar-active, -.range-md-light .range-knob, -.range-md-light .range-pin, -.range-md-light .range-pin::before { - background: #f4f4f4; -} - -.range-md-dark .range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md-dark .range-md .range-knob-min.range-knob-min .range-pin, -.range-md-dark .range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md-dark .range-bar-active, -.range-md-dark .range-knob, -.range-md-dark .range-pin, -.range-md-dark .range-pin::before { - background: #222; -} - -.range-md-optblue .range-md .range-knob-min.range-knob-min .range-knob { - border: 2px solid #bdbdbd; - background: #fff; -} - -.range-md-optblue .range-md .range-knob-min.range-knob-min .range-pin, -.range-md-optblue .range-md .range-knob-min.range-knob-min .range-pin::before { - color: #fff; - background: #bdbdbd; -} - -.range-md-optblue .range-bar-active, -.range-md-optblue .range-knob, -.range-md-optblue .range-pin, -.range-md-optblue .range-pin::before { - background: #E00201; -} - -.range-wp { - padding: 8px; -} - -.range-wp [range-left] { - margin: 0 12px 0 0; -} - -.range-wp [range-right] { - margin: 0 0 0 12px; -} - -.range-wp.range-has-pin { - padding-top: 28px; -} - -.range-wp .range-slider { - height: 42px; -} - -.range-wp .range-bar { - left: 0; - top: 21px; - position: absolute; - width: 100%; - height: 2px; - background: #bdbdbd; - pointer-events: none; -} - -.range-wp.range-pressed .range-bar-active { - will-change: left, right; -} - -.range-wp.range-pressed .range-knob-handle { - will-change: left; -} - -.range-wp .range-bar-active { - bottom: 0; - width: auto; - background: #673AB7; -} - -.range-wp .range-knob-handle { - left: 0; - top: 21px; - margin-left: -21px; - margin-top: -21px; - text-align: center; - position: absolute; - width: 42px; - height: 42px; -} - -.range-wp .range-knob { - left: 17px; - top: 10px; - border-radius: 4px; - position: absolute; - width: 8px; - height: 24px; - background: #673AB7; - pointer-events: none; -} - -.range-wp .range-tick { - margin-left: -1px; - border-radius: 4px; - position: absolute; - top: 19px; - width: 2px; - height: 6px; - background: #bdbdbd; - pointer-events: none; -} - -.range-wp .range-tick-active { - background: #673AB7; -} - -.range-wp .range-pin { - text-align: center; - border-radius: 50px; - -webkit-transform: translate3d(0, 28px, 0) scale(0.01); - transform: translate3d(0, 28px, 0) scale(0.01); - position: relative; - top: -24px; - display: inline-block; - min-width: 28px; - font-size: 12px; - color: #fff; - background: #673AB7; - -webkit-transition: -webkit-transform 120ms ease; - transition: -webkit-transform 120ms ease; - transition: transform 120ms ease; - transition: transform 120ms ease, -webkit-transform 120ms ease; - padding: 8px; -} - -.range-wp .range-knob-pressed .range-pin { - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} - -.range-wp.range-disabled { - opacity: .5; -} - -.range-wp-primary .range-bar-active, -.range-wp-primary .range-tick-active, -.range-wp-primary .range-knob, -.range-wp-primary .range-pin { - background: #673AB7; -} - -.range-wp-secondary .range-bar-active, -.range-wp-secondary .range-tick-active, -.range-wp-secondary .range-knob, -.range-wp-secondary .range-pin { - background: #32db64; -} - -.range-wp-danger .range-bar-active, -.range-wp-danger .range-tick-active, -.range-wp-danger .range-knob, -.range-wp-danger .range-pin { - background: #f53d3d; -} - -.range-wp-light .range-bar-active, -.range-wp-light .range-tick-active, -.range-wp-light .range-knob, -.range-wp-light .range-pin { - background: #f4f4f4; -} - -.range-wp-dark .range-bar-active, -.range-wp-dark .range-tick-active, -.range-wp-dark .range-knob, -.range-wp-dark .range-pin { - background: #222; -} - -.range-wp-optblue .range-bar-active, -.range-wp-optblue .range-tick-active, -.range-wp-optblue .range-knob, -.range-wp-optblue .range-pin { - background: #E00201; -} - -ion-refresher { - left: 0; - top: 0; - position: absolute; - z-index: 0; - display: none; - width: 100%; - height: 60px; -} - -ion-refresher.refresher-active { - display: block; -} - -.has-refresher > .scroll-content { - margin-top: -1px; - border-top: 1px solid #ddd; - -webkit-transition: -webkit-transform 320ms cubic-bezier(0.36, 0.66, 0.04, 1); - transition: -webkit-transform 320ms cubic-bezier(0.36, 0.66, 0.04, 1); - transition: transform 320ms cubic-bezier(0.36, 0.66, 0.04, 1); - transition: transform 320ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 320ms cubic-bezier(0.36, 0.66, 0.04, 1); -} - -ion-refresher-content { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - height: 100%; -} - -.refresher-pulling, -.refresher-refreshing { - display: none; - width: 100%; -} - -.refresher-pulling-icon, -.refresher-refreshing-icon { - text-align: center; - -webkit-transform-origin: center; - transform-origin: center; - font-size: 30px; - color: #000; - -webkit-transition: 200ms; - transition: 200ms; -} - -.refresher-pulling-text, -.refresher-refreshing-text { - text-align: center; - font-size: 16px; - color: #000; -} - -.refresher-refreshing .spinner-ios line, -.refresher-refreshing .spinner-ios-small line, -.refresher-refreshing .spinner-crescent circle { - stroke: #000; -} - -.refresher-refreshing .spinner-bubbles circle, -.refresher-refreshing .spinner-circles circle, -.refresher-refreshing .spinner-dots circle { - fill: #000; -} - -ion-refresher-content[state=pulling] .refresher-pulling { - display: block; -} - -ion-refresher-content[state=ready] .refresher-pulling { - display: block; -} - -ion-refresher-content[state=ready] .refresher-pulling-icon { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} - -ion-refresher-content[state=refreshing] .refresher-refreshing { - display: block; -} - -ion-refresher-content[state=cancelling] .refresher-pulling { - display: block; -} - -ion-refresher-content[state=cancelling] .refresher-pulling-icon { - -webkit-transform: scale(0); - transform: scale(0); -} - -ion-refresher-content[state=completing] .refresher-refreshing { - display: block; -} - -ion-refresher-content[state=completing] .refresher-refreshing-icon { - -webkit-transform: scale(0); - transform: scale(0); -} - -ion-scroll { - position: relative; - display: block; -} - -ion-scroll.scroll-x .scroll-content { - overflow-x: auto; -} - -ion-scroll.scroll-y .scroll-content { - overflow-y: auto; -} - -ion-scroll[center] .scroll-content { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -ion-scroll .scroll-content { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - overflow-y: hidden; - overflow-x: hidden; - -webkit-overflow-scrolling: touch; - will-change: scroll-position; -} - -ion-searchbar { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: 100%; -} - -.searchbar-icon { - pointer-events: none; -} - -.searchbar-input-container { - position: relative; - display: block; - -webkit-flex-shrink: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - width: 100%; -} - -.searchbar-input { - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - display: block; - width: 100%; - border: 0; - font-family: inherit; -} - -.searchbar-clear-icon { - margin: 0; - padding: 0; - display: none; - min-height: 0; -} - -.searchbar-has-value.searchbar-has-focus .searchbar-clear-icon { - display: block; -} - -.searchbar-ios { - padding: 0 8px; - min-height: 44px; - border-top: 0.55px solid transparent; - border-bottom: 0.55px solid rgba(0, 0, 0, 0.05); - background: rgba(0, 0, 0, 0.2); -} - -.searchbar-ios .searchbar-search-icon { - left: 9px; - top: 9px; - background-image: url("data:image/svg+xml;charset=utf-8,"); - margin-left: calc(50% - 60px); - position: absolute; - width: 14px; - height: 14px; - background-repeat: no-repeat; - background-size: 13px; -} - -.searchbar-ios .searchbar-input { - padding: 0 28px; - border-radius: 5px; - height: 3rem; - font-size: 1.4rem; - font-weight: 400; - color: #000; - background-color: #fff; -} - -.searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(0, 0, 0, 0.5); -} - -.searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(0, 0, 0, 0.5); -} - -.searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(0, 0, 0, 0.5); -} - -.searchbar-ios .searchbar-clear-icon { - right: 0; - top: 0; - background-image: url("data:image/svg+xml;charset=utf-8,"); - background-position: center; - position: absolute; - width: 30px; - height: 100%; - background-repeat: no-repeat; - background-size: 18px; -} - -.searchbar-ios .searchbar-ios-cancel { - padding: 0 0 0 8px; - margin-left: 0; - display: none; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - height: 30px; - cursor: pointer; -} - -.searchbar-ios.searchbar-left-aligned .searchbar-search-icon { - margin-left: 0; -} - -.searchbar-ios.searchbar-left-aligned .searchbar-input { - padding-left: 30px; -} - -.searchbar-ios.searchbar-show-cancel.searchbar-has-focus .searchbar-ios-cancel { - display: block; -} - -.toolbar .searchbar-ios { - border-bottom-width: 0; - background: transparent; -} - -.toolbar .searchbar-ios .searchbar-input { - background: rgba(0, 0, 0, 0.08); -} - -.toolbar .searchbar-ios .searchbar-ios-cancel { - padding: 0; -} - -.toolbar .searchbar-ios.searchbar-has-focus .searchbar-ios-cancel { - padding-left: 8px; -} - -.searchbar-ios .searchbar-md-cancel { - display: none; -} - -.searchbar-ios-primary .searchbar-ios-cancel { - color: #673AB7; -} - -.searchbar-ios-primary .searchbar-ios-cancel:hover:not(.disable-hover) { - color: #734abd; -} - -.toolbar-ios-primary .searchbar-ios .searchbar-search-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-primary .searchbar-ios .searchbar-input { - color: #fff; - background: rgba(255, 255, 255, 0.08); -} - -.toolbar-ios-primary .searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-primary .searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-primary .searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-primary .searchbar-ios .searchbar-clear-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-primary .searchbar-ios .searchbar-ios-cancel { - color: #fff; -} - -.searchbar-ios-secondary .searchbar-ios-cancel { - color: #32db64; -} - -.searchbar-ios-secondary .searchbar-ios-cancel:hover:not(.disable-hover) { - color: #2ec95c; -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-search-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-input { - color: #fff; - background: rgba(255, 255, 255, 0.08); -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-clear-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-secondary .searchbar-ios .searchbar-ios-cancel { - color: #fff; -} - -.searchbar-ios-danger .searchbar-ios-cancel { - color: #f53d3d; -} - -.searchbar-ios-danger .searchbar-ios-cancel:hover:not(.disable-hover) { - color: #e13838; -} - -.toolbar-ios-danger .searchbar-ios .searchbar-search-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-danger .searchbar-ios .searchbar-input { - color: #fff; - background: rgba(255, 255, 255, 0.08); -} - -.toolbar-ios-danger .searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-danger .searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-danger .searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-danger .searchbar-ios .searchbar-clear-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-danger .searchbar-ios .searchbar-ios-cancel { - color: #fff; -} - -.searchbar-ios-light .searchbar-ios-cancel { - color: #f4f4f4; -} - -.searchbar-ios-light .searchbar-ios-cancel:hover:not(.disable-hover) { - color: #e0e0e0; -} - -.toolbar-ios-light .searchbar-ios .searchbar-search-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-light .searchbar-ios .searchbar-input { - color: #000; - background: rgba(0, 0, 0, 0.08); -} - -.toolbar-ios-light .searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(0, 0, 0, 0.5); -} - -.toolbar-ios-light .searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(0, 0, 0, 0.5); -} - -.toolbar-ios-light .searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(0, 0, 0, 0.5); -} - -.toolbar-ios-light .searchbar-ios .searchbar-clear-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-light .searchbar-ios .searchbar-ios-cancel { - color: #673AB7; -} - -.searchbar-ios-dark .searchbar-ios-cancel { - color: #222; -} - -.searchbar-ios-dark .searchbar-ios-cancel:hover:not(.disable-hover) { - color: #343434; -} - -.toolbar-ios-dark .searchbar-ios .searchbar-search-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-dark .searchbar-ios .searchbar-input { - color: #fff; - background: rgba(255, 255, 255, 0.08); -} - -.toolbar-ios-dark .searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-dark .searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-dark .searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-dark .searchbar-ios .searchbar-clear-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-dark .searchbar-ios .searchbar-ios-cancel { - color: #fff; -} - -.searchbar-ios-optblue .searchbar-ios-cancel { - color: #E00201; -} - -.searchbar-ios-optblue .searchbar-ios-cancel:hover:not(.disable-hover) { - color: #e21615; -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-search-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-input { - color: #fff; - background: rgba(255, 255, 255, 0.08); -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-input::-moz-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: rgba(255, 255, 255, 0.5); -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-clear-icon { - background-image: url("data:image/svg+xml;charset=utf-8,"); -} - -.toolbar-ios-optblue .searchbar-ios .searchbar-ios-cancel { - color: #fff; -} - -.searchbar-ios.searchbar-animated.searchbar-show-cancel .searchbar-ios-cancel { - display: block; -} - -.searchbar-ios.searchbar-animated .searchbar-search-icon, -.searchbar-ios.searchbar-animated .searchbar-input { - -webkit-transition: all 300ms ease; - transition: all 300ms ease; -} - -.searchbar-animated.searchbar-has-focus .searchbar-ios-cancel { - opacity: 1; - pointer-events: auto; -} - -.searchbar-animated .searchbar-ios-cancel { - margin-right: -100%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 0; - -webkit-transition: all 300ms ease; - transition: all 300ms ease; - pointer-events: none; -} - -.searchbar-md { - background: inherit; - padding: 8px; -} - -.searchbar-md .searchbar-search-icon { - left: 16px; - top: 11px; - background-image: url("data:image/svg+xml;charset=utf-8,"); - width: 21px; - height: 21px; -} - -.searchbar-md .searchbar-md-cancel { - left: 10px; - top: 0; - margin: 0; - display: none; - width: 21px; - height: 100%; -} - -.searchbar-md .searchbar-search-icon, -.searchbar-md .searchbar-md-cancel { - position: absolute; - background-repeat: no-repeat; - background-size: 20px; -} - -.searchbar-md .searchbar-search-icon.activated, -.searchbar-md .searchbar-md-cancel.activated { - background-color: transparent; -} - -.searchbar-md .searchbar-input { - padding: 6px 55px; - border-radius: 2px; - background-position: left 8px center; - height: auto; - font-size: 1.6rem; - font-weight: 400; - line-height: 3rem; - color: #141414; - background-color: #fff; - -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} - -.searchbar-md .searchbar-input::-moz-placeholder { - color: #aeaeae; -} - -.searchbar-md .searchbar-input:-ms-input-placeholder { - color: #aeaeae; -} - -.searchbar-md .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: #aeaeae; -} - -.searchbar-md .searchbar-clear-icon { - right: 13px; - top: 0; - background-image: url("data:image/svg+xml;charset=utf-8,"); - padding: 0; - background-position: center; - position: absolute; - width: 22px; - height: 100%; - background-repeat: no-repeat; - background-size: 22px; -} - -.searchbar-md .searchbar-clear-icon.activated { - background-color: transparent; -} - -.searchbar-md.searchbar-has-focus.searchbar-show-cancel .searchbar-search-icon { - display: none; -} - -.searchbar-md.searchbar-has-focus.searchbar-show-cancel .searchbar-md-cancel { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; -} - -.toolbar .searchbar-md { - padding: 3px; -} - -.toolbar .searchbar-md .searchbar-md-cancel { - left: 14px; -} - -.searchbar-md .searchbar-ios-cancel { - display: none; -} - -.searchbar-wp { - background: transparent; - padding: 8px; -} - -.searchbar-wp .searchbar-input-container { - border: 2px solid rgba(0, 0, 0, 0.5); -} - -.searchbar-wp .searchbar-search-icon { - right: 8px; - top: 5px; - background-image: url("data:image/svg+xml;charset=utf-8,"); - position: absolute; - width: 21px; - height: 21px; - background-repeat: no-repeat; - background-size: 20px; -} - -.searchbar-wp .searchbar-search-icon.activated { - background-color: transparent; -} - -.searchbar-wp .searchbar-input { - padding: 0 8px; - border-radius: 0; - background-position: left 8px center; - height: auto; - font-size: 1.4rem; - font-weight: 400; - line-height: 3rem; - color: #141414; - background-color: #fff; -} - -.searchbar-wp .searchbar-input::-moz-placeholder { - color: #858585; -} - -.searchbar-wp .searchbar-input:-ms-input-placeholder { - color: #858585; -} - -.searchbar-wp .searchbar-input::-webkit-input-placeholder { - text-indent: 0; - color: #858585; -} - -.searchbar-wp .searchbar-clear-icon { - right: 8px; - top: 0; - background-image: url("data:image/svg+xml;charset=utf-8,"); - padding: 0; - background-position: center; - position: absolute; - width: 22px; - height: 100%; - background-repeat: no-repeat; - background-size: 22px; -} - -.searchbar-wp .searchbar-clear-icon.activated { - background-color: transparent; -} - -.searchbar-wp.searchbar-has-focus .searchbar-input-container { - border-color: #673AB7; -} - -.searchbar-wp.searchbar-has-value .searchbar-search-icon { - display: none; -} - -.searchbar-wp .searchbar-ios-cancel { - display: none; -} - -.searchbar-wp .searchbar-md-cancel { - display: none; -} - -.toolbar .searchbar-wp { - padding: 2px; -} - -.searchbar-wp-primary.searchbar-has-focus .searchbar-input-container { - border-color: #673AB7; -} - -.searchbar-wp-secondary.searchbar-has-focus .searchbar-input-container { - border-color: #32db64; -} - -.searchbar-wp-danger.searchbar-has-focus .searchbar-input-container { - border-color: #f53d3d; -} - -.searchbar-wp-light.searchbar-has-focus .searchbar-input-container { - border-color: #f4f4f4; -} - -.searchbar-wp-dark.searchbar-has-focus .searchbar-input-container { - border-color: #222; -} - -.searchbar-wp-optblue.searchbar-has-focus .searchbar-input-container { - border-color: #E00201; -} - -ion-segment { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 100%; -} - -.segment-button { - margin-left: 0; - margin-right: 0; - text-align: center; - position: relative; - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - cursor: pointer; -} - -.segment-ios .segment-button { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 0; - height: 3.2rem; - border-width: 1px; - border-style: solid; - border-color: #673AB7; - font-size: 1.3rem; - line-height: 3rem; - color: #673AB7; - background-color: transparent; -} - -.segment-ios .segment-button ion-icon { - font-size: 2.6rem; - line-height: 2.8rem; -} - -.segment-ios .segment-button.segment-activated { - color: #fff; - background-color: #673AB7; - opacity: 1; - -webkit-transition: 100ms all linear; - transition: 100ms all linear; -} - -.segment-ios .segment-button:hover:not(.segment-activated) { - background-color: rgba(103, 58, 183, 0.1); - -webkit-transition: 100ms all linear; - transition: 100ms all linear; -} - -.segment-ios .segment-button:active:not(.segment-activated) { - background-color: rgba(103, 58, 183, 0.16); - -webkit-transition: 100ms all linear; - transition: 100ms all linear; -} - -.segment-ios .segment-button:first-of-type { - border-top-left-radius: 4px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 4px; - margin-right: 0; -} - -.segment-ios .segment-button:not(:first-of-type) { - border-left-width: 0; -} - -.segment-ios .segment-button:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 0; - margin-left: 0; - border-left-width: 0; -} - -[dir="rtl"] .segment-ios .segment-button:first-of-type { - border-left-width: 0; -} - -[dir="rtl"] .segment-ios .segment-button:last-of-type { - border-left-width: 1px; -} - -.segment-ios.segment-disabled { - opacity: .4; - pointer-events: none; -} - -.segment-ios .segment-button-disabled { - color: rgba(103, 58, 183, 0.3); - pointer-events: none; -} - -.toolbar-ios .segment-ios { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; -} - -.toolbar-ios .segment-button { - max-width: 100px; - height: 2.6rem; - font-size: 1.2rem; - line-height: 2.5rem; -} - -.toolbar-ios .segment-button ion-icon { - font-size: 2.2rem; - line-height: 2.4rem; -} - -.segment-ios-primary .segment-button { - border-color: #673AB7; - color: #673AB7; -} - -.segment-ios-primary .segment-button:hover:not(.segment-activated) { - background-color: rgba(103, 58, 183, 0.1); -} - -.segment-ios-primary .segment-button:active:not(.segment-activated) { - background-color: rgba(103, 58, 183, 0.16); -} - -.segment-ios-primary .segment-button.segment-activated { - color: #fff; - background-color: #673AB7; -} - -.segment-ios-primary .segment-button-disabled { - color: rgba(103, 58, 183, 0.3); -} - -.toolbar-ios-primary .segment-ios .segment-button.segment-activated { - color: #673AB7; -} - -.segment-ios-secondary .segment-button { - border-color: #32db64; - color: #32db64; -} - -.segment-ios-secondary .segment-button:hover:not(.segment-activated) { - background-color: rgba(50, 219, 100, 0.1); -} - -.segment-ios-secondary .segment-button:active:not(.segment-activated) { - background-color: rgba(50, 219, 100, 0.16); -} - -.segment-ios-secondary .segment-button.segment-activated { - color: #fff; - background-color: #32db64; -} - -.segment-ios-secondary .segment-button-disabled { - color: rgba(50, 219, 100, 0.3); -} - -.toolbar-ios-secondary .segment-ios .segment-button.segment-activated { - color: #32db64; -} - -.segment-ios-danger .segment-button { - border-color: #f53d3d; - color: #f53d3d; -} - -.segment-ios-danger .segment-button:hover:not(.segment-activated) { - background-color: rgba(245, 61, 61, 0.1); -} - -.segment-ios-danger .segment-button:active:not(.segment-activated) { - background-color: rgba(245, 61, 61, 0.16); -} - -.segment-ios-danger .segment-button.segment-activated { - color: #fff; - background-color: #f53d3d; -} - -.segment-ios-danger .segment-button-disabled { - color: rgba(245, 61, 61, 0.3); -} - -.toolbar-ios-danger .segment-ios .segment-button.segment-activated { - color: #f53d3d; -} - -.segment-ios-light .segment-button { - border-color: #f4f4f4; - color: #f4f4f4; -} - -.segment-ios-light .segment-button:hover:not(.segment-activated) { - background-color: rgba(244, 244, 244, 0.1); -} - -.segment-ios-light .segment-button:active:not(.segment-activated) { - background-color: rgba(244, 244, 244, 0.16); -} - -.segment-ios-light .segment-button.segment-activated { - color: #000; - background-color: #f4f4f4; -} - -.segment-ios-light .segment-button-disabled { - color: rgba(244, 244, 244, 0.3); -} - -.toolbar-ios-light .segment-ios .segment-button.segment-activated { - color: #f4f4f4; -} - -.segment-ios-dark .segment-button { - border-color: #222; - color: #222; -} - -.segment-ios-dark .segment-button:hover:not(.segment-activated) { - background-color: rgba(34, 34, 34, 0.1); -} - -.segment-ios-dark .segment-button:active:not(.segment-activated) { - background-color: rgba(34, 34, 34, 0.16); -} - -.segment-ios-dark .segment-button.segment-activated { - color: #fff; - background-color: #222; -} - -.segment-ios-dark .segment-button-disabled { - color: rgba(34, 34, 34, 0.3); -} - -.toolbar-ios-dark .segment-ios .segment-button.segment-activated { - color: #222; -} - -.segment-ios-optblue .segment-button { - border-color: #E00201; - color: #E00201; -} - -.segment-ios-optblue .segment-button:hover:not(.segment-activated) { - background-color: rgba(224, 2, 1, 0.1); -} - -.segment-ios-optblue .segment-button:active:not(.segment-activated) { - background-color: rgba(224, 2, 1, 0.16); -} - -.segment-ios-optblue .segment-button.segment-activated { - color: #fff; - background-color: #E00201; -} - -.segment-ios-optblue .segment-button-disabled { - color: rgba(224, 2, 1, 0.3); -} - -.toolbar-ios-optblue .segment-ios .segment-button.segment-activated { - color: #E00201; -} - -.segment-md .segment-button { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 0; - height: 4.2rem; - border-bottom-width: 2px; - border-bottom-style: solid; - border-bottom-color: rgba(0, 0, 0, 0.1); - font-size: 1.2rem; - font-weight: 500; - line-height: 4rem; - text-transform: uppercase; - color: #673AB7; - background-color: transparent; - opacity: 0.7; - -webkit-transition: 100ms all linear; - transition: 100ms all linear; - padding: 0 6px; -} - -.segment-md .segment-button ion-icon { - font-size: 2.6rem; - line-height: 4rem; -} - -.segment-md .segment-button.activated, .segment-md .segment-button.segment-activated { - border-color: #673AB7; - opacity: 1; -} - -.segment-md.segment-disabled, -.segment-md .segment-button-disabled { - opacity: 0.3; - pointer-events: none; -} - -.toolbar .segment-md { - margin: 0 auto; -} - -.toolbar .segment-md .segment-button.activated, -.toolbar .segment-md .segment-button.segment-activated { - opacity: 1; -} - -.segment-md-primary .segment-button { - color: #673AB7; -} - -.segment-md-primary .segment-button.activated, .segment-md-primary .segment-button.segment-activated { - border-color: #673AB7; - color: #673AB7; - opacity: 1; -} - -.segment-md-secondary .segment-button { - color: #32db64; -} - -.segment-md-secondary .segment-button.activated, .segment-md-secondary .segment-button.segment-activated { - border-color: #32db64; - color: #32db64; - opacity: 1; -} - -.segment-md-danger .segment-button { - color: #f53d3d; -} - -.segment-md-danger .segment-button.activated, .segment-md-danger .segment-button.segment-activated { - border-color: #f53d3d; - color: #f53d3d; - opacity: 1; -} - -.segment-md-light .segment-button { - color: #f4f4f4; -} - -.segment-md-light .segment-button.activated, .segment-md-light .segment-button.segment-activated { - border-color: #f4f4f4; - color: #f4f4f4; - opacity: 1; -} - -.segment-md-dark .segment-button { - color: #222; -} - -.segment-md-dark .segment-button.activated, .segment-md-dark .segment-button.segment-activated { - border-color: #222; - color: #222; - opacity: 1; -} - -.segment-md-optblue .segment-button { - color: #E00201; -} - -.segment-md-optblue .segment-button.activated, .segment-md-optblue .segment-button.segment-activated { - border-color: #E00201; - color: #E00201; - opacity: 1; -} - -.segment-wp { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.segment-wp .segment-button { - height: 4rem; - font-size: 1.3rem; - font-weight: bold; - line-height: 4rem; - text-transform: uppercase; - color: #000; - background-color: transparent; - opacity: 0.5; - padding: 0 6px; -} - -.segment-wp .segment-button.segment-activated { - opacity: 1; -} - -.segment-wp .segment-button ion-icon { - font-size: 2.6rem; - line-height: 4rem; -} - -.segment-wp.segment-disabled, -.segment-wp .segment-button-disabled { - opacity: 0.3; - pointer-events: none; -} - -.toolbar .segment-wp { - margin: 0 auto; -} - -.segment-wp-primary .segment-button { - color: #673AB7; -} - -.segment-wp-primary .segment-button.activated, .segment-wp-primary .segment-button.segment-activated { - border-color: #673AB7; - color: #673AB7; - opacity: 1; -} - -.segment-wp-secondary .segment-button { - color: #32db64; -} - -.segment-wp-secondary .segment-button.activated, .segment-wp-secondary .segment-button.segment-activated { - border-color: #32db64; - color: #32db64; - opacity: 1; -} - -.segment-wp-danger .segment-button { - color: #f53d3d; -} - -.segment-wp-danger .segment-button.activated, .segment-wp-danger .segment-button.segment-activated { - border-color: #f53d3d; - color: #f53d3d; - opacity: 1; -} - -.segment-wp-light .segment-button { - color: #f4f4f4; -} - -.segment-wp-light .segment-button.activated, .segment-wp-light .segment-button.segment-activated { - border-color: #f4f4f4; - color: #f4f4f4; - opacity: 1; -} - -.segment-wp-dark .segment-button { - color: #222; -} - -.segment-wp-dark .segment-button.activated, .segment-wp-dark .segment-button.segment-activated { - border-color: #222; - color: #222; - opacity: 1; -} - -.segment-wp-optblue .segment-button { - color: #E00201; -} - -.segment-wp-optblue .segment-button.activated, .segment-wp-optblue .segment-button.segment-activated { - border-color: #E00201; - color: #E00201; - opacity: 1; -} - -ion-select { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - max-width: 45%; -} - -.select-text { - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - min-width: 16px; - font-size: inherit; - text-overflow: ellipsis; - white-space: nowrap; -} - -.item-multiple-inputs ion-select { - position: relative; -} - -.select-disabled, -.item-select-disabled ion-label { - opacity: .4; - pointer-events: none; -} - -.select-popover ion-list { - margin: -1px 0; -} - -.select-ios { - padding: 11px 8px 11px 16px; -} - -.select-ios .select-placeholder { - color: #999; -} - -.select-ios .select-icon { - position: relative; - width: 12px; - height: 18px; -} - -.select-ios .select-icon .select-icon-inner { - left: 5px; - top: 50%; - margin-top: -2px; - position: absolute; - width: 0; - height: 0; - border-top: 5px solid; - border-right: 5px solid transparent; - border-left: 5px solid transparent; - color: #999; - pointer-events: none; -} - -.select-md { - padding: 13px 8px 13px 16px; -} - -.select-md .select-placeholder { - color: #999; -} - -.select-md .item-select ion-label { - margin-left: 0; -} - -.select-md .select-icon { - position: relative; - width: 12px; - height: 19px; -} - -.select-md .select-icon .select-icon-inner { - left: 5px; - top: 50%; - margin-top: -3px; - position: absolute; - width: 0; - height: 0; - border-top: 5px solid; - border-right: 5px solid transparent; - border-left: 5px solid transparent; - color: #999; - pointer-events: none; -} - -.select-wp { - margin: 13px 8px; - padding: 0 8px; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - max-width: 100%; - border: 2px solid rgba(0, 0, 0, 0.5); - line-height: 3rem; -} - -.select-wp .select-placeholder { - color: rgba(0, 0, 0, 0.5); -} - -.item-wp.item-select ion-label { - margin-left: 0; -} - -.select-wp .select-icon { - position: relative; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - width: 18px; - height: 18px; -} - -.select-wp .select-icon .select-icon-inner { - left: 5px; - top: 3px; - position: absolute; - display: block; - width: 9px; - height: 9px; - border-top: 2px solid rgba(0, 0, 0, 0.5); - border-right: 2px solid rgba(0, 0, 0, 0.5); - -webkit-transform: rotate(135deg); - transform: rotate(135deg); - pointer-events: none; -} - -.select-wp .select-text { - min-height: 3rem; -} - -.hidden-show-when { - display: none !important; -} - -.hidden-hide-when { - display: none !important; -} - -.swiper-container { - margin-left: auto; - margin-right: auto; - padding: 0; - position: relative; - z-index: 1; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - width: 100%; - height: 100%; -} - -.swiper-container-no-flexbox .swiper-slide { - float: left; -} - -.swiper-container-vertical > .swiper-wrapper { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.swiper-wrapper { - padding: 0; - position: relative; - z-index: 1; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; - height: 100%; - -webkit-transition-property: -webkit-transform; - transition-property: -webkit-transform; - transition-property: transform; - transition-property: transform, -webkit-transform; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -.swiper-container-android .swiper-slide, -.swiper-wrapper { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.swiper-container-multirow > .swiper-wrapper { - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.swiper-container-free-mode > .swiper-wrapper { - margin: 0 auto; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} - -.swiper-slide { - text-align: center; - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 100%; - height: 100%; - font-size: 18px; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.swiper-container-autoheight, -.swiper-container-autoheight .swiper-slide { - height: auto; -} - -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-transition-property: height, -webkit-transform; - transition-property: height, -webkit-transform; - transition-property: transform, height; - transition-property: transform, height, -webkit-transform; -} - -.swiper-container .swiper-notification { - left: 0; - top: 0; - position: absolute; - z-index: -1000; - opacity: 0; - pointer-events: none; -} - -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} - -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} - -.swiper-button-prev, -.swiper-button-next { - top: 50%; - margin-top: -22px; - background-position: center; - position: absolute; - z-index: 10; - width: 27px; - height: 44px; - background-repeat: no-repeat; - background-size: 27px 44px; - cursor: pointer; -} - -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - cursor: auto; - opacity: .35; - pointer-events: none; -} - -.swiper-button-prev, -.swiper-container-rtl .swiper-button-next { - left: 10px; - right: auto; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} - -.swiper-button-prev.swiper-button-black, -.swiper-container-rtl .swiper-button-next.swiper-button-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} - -.swiper-button-prev.swiper-button-white, -.swiper-container-rtl .swiper-button-next.swiper-button-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} - -.swiper-button-next, -.swiper-container-rtl .swiper-button-prev { - left: auto; - right: 10px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} - -.swiper-button-next.swiper-button-black, -.swiper-container-rtl .swiper-button-prev.swiper-button-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} - -.swiper-button-next.swiper-button-white, -.swiper-container-rtl .swiper-button-prev.swiper-button-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} - -.swiper-pagination { - text-align: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - position: absolute; - z-index: 10; - -webkit-transition: 300ms; - transition: 300ms; - pointer-events: none; -} - -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} - -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-container-horizontal > .swiper-pagination-bullets { - left: 0; - bottom: 10px; - width: 100%; -} - -.swiper-pagination-bullet { - border-radius: 100%; - display: inline-block; - width: 8px; - height: 8px; - background: #000; - opacity: .2; - pointer-events: auto; -} - -button.swiper-pagination-bullet { - margin: 0; - padding: 0; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; -} - -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} - -.swiper-pagination-white .swiper-pagination-bullet { - background: #fff; -} - -.swiper-pagination-bullet-active { - background: #007aff; - opacity: 1; -} - -.swiper-pagination-white .swiper-pagination-bullet-active { - background: #fff; -} - -.swiper-pagination-black .swiper-pagination-bullet-active { - background: #000; -} - -.swiper-container-vertical > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform: translate3d(0, -50%, 0); - transform: translate3d(0, -50%, 0); -} - -.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 5px 0; - display: block; -} - -.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 5px; -} - -.swiper-pagination-progress { - position: absolute; - background: rgba(0, 0, 0, 0.25); -} - -.swiper-pagination-progress .swiper-pagination-progressbar { - left: 0; - top: 0; - -webkit-transform-origin: left top; - transform-origin: left top; - position: absolute; - width: 100%; - height: 100%; - background: #007aff; - -webkit-transform: scale(0); - transform: scale(0); -} - -.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - transform-origin: right top; -} - -.swiper-container-horizontal > .swiper-pagination-progress { - left: 0; - top: 0; - width: 100%; - height: 4px; -} - -.swiper-container-vertical > .swiper-pagination-progress { - left: 0; - top: 0; - width: 4px; - height: 100%; -} - -.swiper-pagination-progress.swiper-pagination-white { - background: rgba(255, 255, 255, 0.5); -} - -.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar { - background: #fff; -} - -.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar { - background: #000; -} - -.swiper-container-3d { - -webkit-perspective: 1200px; - perspective: 1200px; -} - -.swiper-container-3d .swiper-wrapper, -.swiper-container-3d .swiper-slide, -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom, -.swiper-container-3d .swiper-cube-shadow { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} - -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom { - left: 0; - top: 0; - position: absolute; - z-index: 10; - width: 100%; - height: 100%; - pointer-events: none; -} - -.swiper-container-3d .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); -} - -.swiper-container-3d .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); -} - -.swiper-container-3d .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); -} - -.swiper-container-3d .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); -} - -.swiper-container-coverflow .swiper-wrapper, -.swiper-container-flip .swiper-wrapper { - -webkit-perspective: 1200px; - perspective: 1200px; -} - -.swiper-container-cube, -.swiper-container-flip { - overflow: visible; -} - -.swiper-container-cube .swiper-slide, -.swiper-container-flip .swiper-slide { - z-index: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - pointer-events: none; -} - -.swiper-container-cube .swiper-slide .swiper-slide, -.swiper-container-flip .swiper-slide .swiper-slide { - pointer-events: none; -} - -.swiper-container-cube .swiper-slide-active, -.swiper-container-flip .swiper-slide-active, -.swiper-container-cube .swiper-slide-active .swiper-slide-active, -.swiper-container-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} - -.swiper-container-cube .swiper-slide-shadow-top, -.swiper-container-flip .swiper-slide-shadow-top, -.swiper-container-cube .swiper-slide-shadow-bottom, -.swiper-container-flip .swiper-slide-shadow-bottom, -.swiper-container-cube .swiper-slide-shadow-left, -.swiper-container-flip .swiper-slide-shadow-left, -.swiper-container-cube .swiper-slide-shadow-right, -.swiper-container-flip .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} - -.swiper-container-cube .swiper-slide { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; - visibility: hidden; -} - -.swiper-container-cube.swiper-container-rtl .swiper-slide { - -webkit-transform-origin: 100% 0; - transform-origin: 100% 0; -} - -.swiper-container-cube .swiper-slide-active, -.swiper-container-cube .swiper-slide-next, -.swiper-container-cube .swiper-slide-prev, -.swiper-container-cube .swiper-slide-next + .swiper-slide { - visibility: visible; - pointer-events: auto; -} - -.swiper-container-cube .swiper-cube-shadow { - left: 0; - bottom: 0; - position: absolute; - z-index: 0; - width: 100%; - height: 100%; - background: #000; - opacity: .6; - -webkit-filter: blur(50px); - filter: blur(50px); -} - -.swiper-container-fade.swiper-container-free-mode .swiper-slide { - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} - -.swiper-container-fade .swiper-slide { - -webkit-transition-property: opacity; - transition-property: opacity; - pointer-events: none; -} - -.swiper-container-fade .swiper-slide .swiper-slide { - pointer-events: none; -} - -.swiper-container-fade .swiper-slide-active, -.swiper-container-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} - -.swiper-zoom-container { - text-align: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 100%; - height: 100%; -} - -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - -o-object-fit: contain; - object-fit: contain; -} - -.swiper-scrollbar { - border-radius: 10px; - position: relative; - background: rgba(0, 0, 0, 0.1); - -ms-touch-action: none; - touch-action: none; -} - -.swiper-container-horizontal > .swiper-scrollbar { - left: 1%; - bottom: 3px; - position: absolute; - z-index: 50; - width: 98%; - height: 5px; -} - -.swiper-container-vertical > .swiper-scrollbar { - right: 3px; - top: 1%; - position: absolute; - z-index: 50; - width: 5px; - height: 98%; -} - -.swiper-scrollbar-drag { - left: 0; - top: 0; - border-radius: 10px; - position: relative; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.5); -} - -.swiper-scrollbar-cursor-drag { - cursor: move; -} - -.swiper-lazy-preloader { - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - -webkit-transform-origin: 50%; - transform-origin: 50%; - position: absolute; - z-index: 10; - width: 42px; - height: 42px; - -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; - animation: swiper-preloader-spin 1s steps(12, end) infinite; -} - -.swiper-lazy-preloader::after { - background-position: 50%; - display: block; - width: 100%; - height: 100%; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-size: 100%; - content: ""; -} - -.swiper-lazy-preloader-white::after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} - -@-webkit-keyframes swiper-preloader-spin { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes swiper-preloader-spin { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -ion-slides { - display: block; - width: 100%; - height: 100%; -} - -.slide-zoom { - text-align: center; - display: block; - width: 100%; -} - -.swiper-slide img { - width: auto; - max-width: 100%; - height: auto; - max-height: 100%; -} - -ion-spinner { - position: relative; - display: inline-block; - width: 28px; - height: 28px; -} - -ion-spinner svg { - left: 0; - top: 0; - position: absolute; - width: 100%; - height: 100%; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -ion-spinner.spinner-paused svg { - -webkit-animation-play-state: paused; - animation-play-state: paused; -} - -.spinner-ios line, -.spinner-ios-small line { - stroke-width: 4px; - stroke-linecap: round; -} - -.spinner-ios svg, -.spinner-ios-small svg { - -webkit-animation: spinner-fade-out 1s linear infinite; - animation: spinner-fade-out 1s linear infinite; -} - -.spinner-bubbles svg { - -webkit-animation: spinner-scale-out 1s linear infinite; - animation: spinner-scale-out 1s linear infinite; -} - -.spinner-circles svg { - -webkit-animation: spinner-fade-out 1s linear infinite; - animation: spinner-fade-out 1s linear infinite; -} - -.spinner-crescent circle { - fill: transparent; - stroke-width: 4px; - stroke-dasharray: 128px; - stroke-dashoffset: 82px; -} - -.spinner-crescent svg { - -webkit-animation: spinner-rotate 1s linear infinite; - animation: spinner-rotate 1s linear infinite; -} - -.spinner-dots circle { - stroke-width: 0; -} - -.spinner-dots svg { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-animation: spinner-dots 1s linear infinite; - animation: spinner-dots 1s linear infinite; -} - -@-webkit-keyframes spinner-fade-out { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -@keyframes spinner-fade-out { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -@-webkit-keyframes spinner-scale-out { - 0% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - } - 100% { - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - } -} - -@keyframes spinner-scale-out { - 0% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - } - 100% { - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - } -} - -@-webkit-keyframes spinner-rotate { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes spinner-rotate { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@-webkit-keyframes spinner-dots { - 0% { - opacity: .9; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - } - 50% { - opacity: .3; - -webkit-transform: scale(0.4, 0.4); - transform: scale(0.4, 0.4); - } - 100% { - opacity: .9; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - } -} - -@keyframes spinner-dots { - 0% { - opacity: .9; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - } - 50% { - opacity: .3; - -webkit-transform: scale(0.4, 0.4); - transform: scale(0.4, 0.4); - } - 100% { - opacity: .9; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - } -} - -.spinner-ios-ios line, -.spinner-ios-ios-small line { - stroke: #69717d; -} - -.spinner-ios-bubbles circle { - fill: #000; -} - -.spinner-ios-circles circle { - fill: #69717d; -} - -.spinner-ios-crescent circle { - stroke: #000; -} - -.spinner-ios-dots circle { - fill: #444; -} - -.spinner-ios-primary.spinner-ios line, -.spinner-ios-primary.spinner-ios-small line, -.spinner-ios-primary.spinner-crescent circle { - stroke: #673AB7; -} - -.spinner-ios-primary.spinner-bubbles circle, -.spinner-ios-primary.spinner-circles circle, -.spinner-ios-primary.spinner-dots circle { - fill: #673AB7; -} - -.spinner-ios-secondary.spinner-ios line, -.spinner-ios-secondary.spinner-ios-small line, -.spinner-ios-secondary.spinner-crescent circle { - stroke: #32db64; -} - -.spinner-ios-secondary.spinner-bubbles circle, -.spinner-ios-secondary.spinner-circles circle, -.spinner-ios-secondary.spinner-dots circle { - fill: #32db64; -} - -.spinner-ios-danger.spinner-ios line, -.spinner-ios-danger.spinner-ios-small line, -.spinner-ios-danger.spinner-crescent circle { - stroke: #f53d3d; -} - -.spinner-ios-danger.spinner-bubbles circle, -.spinner-ios-danger.spinner-circles circle, -.spinner-ios-danger.spinner-dots circle { - fill: #f53d3d; -} - -.spinner-ios-light.spinner-ios line, -.spinner-ios-light.spinner-ios-small line, -.spinner-ios-light.spinner-crescent circle { - stroke: #f4f4f4; -} - -.spinner-ios-light.spinner-bubbles circle, -.spinner-ios-light.spinner-circles circle, -.spinner-ios-light.spinner-dots circle { - fill: #f4f4f4; -} - -.spinner-ios-dark.spinner-ios line, -.spinner-ios-dark.spinner-ios-small line, -.spinner-ios-dark.spinner-crescent circle { - stroke: #222; -} - -.spinner-ios-dark.spinner-bubbles circle, -.spinner-ios-dark.spinner-circles circle, -.spinner-ios-dark.spinner-dots circle { - fill: #222; -} - -.spinner-ios-optblue.spinner-ios line, -.spinner-ios-optblue.spinner-ios-small line, -.spinner-ios-optblue.spinner-crescent circle { - stroke: #E00201; -} - -.spinner-ios-optblue.spinner-bubbles circle, -.spinner-ios-optblue.spinner-circles circle, -.spinner-ios-optblue.spinner-dots circle { - fill: #E00201; -} - -.spinner-md-ios line, -.spinner-md-ios-small line { - stroke: #69717d; -} - -.spinner-md-bubbles circle { - fill: #000; -} - -.spinner-md-circles circle { - fill: #69717d; -} - -.spinner-md-crescent circle { - stroke: #000; -} - -.spinner-md-dots circle { - fill: #444; -} - -.spinner-md-primary.spinner-ios line, -.spinner-md-primary.spinner-ios-small line, -.spinner-md-primary.spinner-crescent circle { - stroke: #673AB7; -} - -.spinner-md-primary.spinner-bubbles circle, -.spinner-md-primary.spinner-circles circle, -.spinner-md-primary.spinner-dots circle { - fill: #673AB7; -} - -.spinner-md-secondary.spinner-ios line, -.spinner-md-secondary.spinner-ios-small line, -.spinner-md-secondary.spinner-crescent circle { - stroke: #32db64; -} - -.spinner-md-secondary.spinner-bubbles circle, -.spinner-md-secondary.spinner-circles circle, -.spinner-md-secondary.spinner-dots circle { - fill: #32db64; -} - -.spinner-md-danger.spinner-ios line, -.spinner-md-danger.spinner-ios-small line, -.spinner-md-danger.spinner-crescent circle { - stroke: #f53d3d; -} - -.spinner-md-danger.spinner-bubbles circle, -.spinner-md-danger.spinner-circles circle, -.spinner-md-danger.spinner-dots circle { - fill: #f53d3d; -} - -.spinner-md-light.spinner-ios line, -.spinner-md-light.spinner-ios-small line, -.spinner-md-light.spinner-crescent circle { - stroke: #f4f4f4; -} - -.spinner-md-light.spinner-bubbles circle, -.spinner-md-light.spinner-circles circle, -.spinner-md-light.spinner-dots circle { - fill: #f4f4f4; -} - -.spinner-md-dark.spinner-ios line, -.spinner-md-dark.spinner-ios-small line, -.spinner-md-dark.spinner-crescent circle { - stroke: #222; -} - -.spinner-md-dark.spinner-bubbles circle, -.spinner-md-dark.spinner-circles circle, -.spinner-md-dark.spinner-dots circle { - fill: #222; -} - -.spinner-md-optblue.spinner-ios line, -.spinner-md-optblue.spinner-ios-small line, -.spinner-md-optblue.spinner-crescent circle { - stroke: #E00201; -} - -.spinner-md-optblue.spinner-bubbles circle, -.spinner-md-optblue.spinner-circles circle, -.spinner-md-optblue.spinner-dots circle { - fill: #E00201; -} - -.spinner-wp-ios line, -.spinner-wp-ios-small line { - stroke: #69717d; -} - -.spinner-wp-bubbles circle { - fill: #000; -} - -.spinner-wp-circles circle { - fill: #69717d; -} - -.spinner-wp-crescent circle { - stroke: #000; -} - -.spinner-wp-dots circle { - fill: #444; -} - -.spinner-wp-primary.spinner-ios line, -.spinner-wp-primary.spinner-ios-small line, -.spinner-wp-primary.spinner-crescent circle { - stroke: #673AB7; -} - -.spinner-wp-primary.spinner-bubbles circle, -.spinner-wp-primary.spinner-circles circle, -.spinner-wp-primary.spinner-dots circle { - fill: #673AB7; -} - -.spinner-wp-secondary.spinner-ios line, -.spinner-wp-secondary.spinner-ios-small line, -.spinner-wp-secondary.spinner-crescent circle { - stroke: #32db64; -} - -.spinner-wp-secondary.spinner-bubbles circle, -.spinner-wp-secondary.spinner-circles circle, -.spinner-wp-secondary.spinner-dots circle { - fill: #32db64; -} - -.spinner-wp-danger.spinner-ios line, -.spinner-wp-danger.spinner-ios-small line, -.spinner-wp-danger.spinner-crescent circle { - stroke: #f53d3d; -} - -.spinner-wp-danger.spinner-bubbles circle, -.spinner-wp-danger.spinner-circles circle, -.spinner-wp-danger.spinner-dots circle { - fill: #f53d3d; -} - -.spinner-wp-light.spinner-ios line, -.spinner-wp-light.spinner-ios-small line, -.spinner-wp-light.spinner-crescent circle { - stroke: #f4f4f4; -} - -.spinner-wp-light.spinner-bubbles circle, -.spinner-wp-light.spinner-circles circle, -.spinner-wp-light.spinner-dots circle { - fill: #f4f4f4; -} - -.spinner-wp-dark.spinner-ios line, -.spinner-wp-dark.spinner-ios-small line, -.spinner-wp-dark.spinner-crescent circle { - stroke: #222; -} - -.spinner-wp-dark.spinner-bubbles circle, -.spinner-wp-dark.spinner-circles circle, -.spinner-wp-dark.spinner-dots circle { - fill: #222; -} - -.spinner-wp-optblue.spinner-ios line, -.spinner-wp-optblue.spinner-ios-small line, -.spinner-wp-optblue.spinner-crescent circle { - stroke: #E00201; -} - -.spinner-wp-optblue.spinner-bubbles circle, -.spinner-wp-optblue.spinner-circles circle, -.spinner-wp-optblue.spinner-dots circle { - fill: #E00201; -} - -.split-pane { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - contain: strict; -} - -.split-pane-side:not(ion-menu) { - display: none; -} - -.split-pane-visible > .split-pane-side, -.split-pane-visible > .split-pane-main { - left: 0; - right: 0; - top: 0; - bottom: 0; - position: relative; - z-index: 0; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-shadow: none !important; - box-shadow: none !important; -} - -.split-pane-visible > .split-pane-side { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -.split-pane-visible > .split-pane-main, -.split-pane-visible > ion-nav.split-pane-side, -.split-pane-visible > ion-tabs.split-pane-side, -.split-pane-visible > ion-menu.menu-enabled { - display: block; -} - -.split-pane-visible > ion-split-pane.split-pane-side, -.split-pane-visible > ion-split-pane.split-pane-main { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.split-pane-visible > ion-menu.menu-enabled > .menu-inner { - left: 0; - right: 0; - width: auto; - -webkit-box-shadow: none !important; - box-shadow: none !important; - -webkit-transform: none !important; - transform: none !important; -} - -.split-pane-visible > ion-menu.menu-enabled > .ion-backdrop { - display: hidden !important; -} - -.split-pane-visible > .split-pane-side[side=start] { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -.split-pane-visible > .split-pane-side[side=end] { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} - -.split-pane-visible > .split-pane-side[side=left] { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -.split-pane-visible > .split-pane-side[side=right] { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} - -.split-pane-ios.split-pane-visible > .split-pane-side { - min-width: 270px; - max-width: 28%; - border-right: 0.55px solid #c8c7cc; - border-left: 0; -} - -.split-pane-ios.split-pane-visible > .split-pane-side[side=right] { - border-right: 0; - border-left: 0.55px solid #c8c7cc; -} - -.split-pane-md.split-pane-visible > .split-pane-side { - min-width: 270px; - max-width: 28%; - border-right: 1px solid #dedede; - border-left: 0; -} - -.split-pane-md.split-pane-visible > .split-pane-side[side=right] { - border-right: 0; - border-left: 1px solid #dedede; -} - -.split-pane-wp.split-pane-visible > .split-pane-side { - min-width: 270px; - max-width: 28%; - border-right: 1px solid transparent; - border-left: 0; -} - -.split-pane-wp.split-pane-visible > .split-pane-side[side=right] { - border-right: 0; - border-left: 1px solid transparent; -} - -.tabbar { - left: 0; - bottom: 0; - position: absolute; - z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; - opacity: 0; -} - -.tabbar-hidden .tabbar { - display: none; -} - -.tabbar.show-tabbar { - opacity: 1; -} - -[tabsPlacement=top] > .tabbar { - top: 0; - bottom: auto; -} - -.tab-button { - margin: 0; - text-align: center; - border-radius: 0; - position: relative; - z-index: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - border: 0; - text-decoration: none; - background: none; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.tab-disabled { - pointer-events: none; -} - -.tab-disabled ion-badge, -.tab-disabled ion-icon, -.tab-disabled span { - opacity: .4; -} - -.tab-button-text { - margin-top: 3px; - margin-bottom: 2px; -} - -.tab-button-text, -.tab-button-icon { - display: none; - overflow: hidden; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - min-width: 26px; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; -} - -.has-icon .tab-button-icon, -.has-title .tab-button-text { - display: block; -} - -.has-title-only .tab-button-text { - white-space: normal; -} - -[tabsLayout=icon-bottom] .tab-button .tab-button-icon { - -webkit-box-ordinal-group: 11; - -webkit-order: 10; - -ms-flex-order: 10; - order: 10; -} - -[tabsLayout=icon-left] .tab-button, -[tabsLayout=icon-right] .tab-button, -[tabsLayout=icon-start] .tab-button, -[tabsLayout=icon-end] .tab-button { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; -} - -[tabsLayout=icon-left] .tab-button .tab-button-icon, -[tabsLayout=icon-start] .tab-button .tab-button-icon { - padding-right: 8px; - text-align: right; - text-align: end; -} - -[tabsLayout=icon-right] .tab-button .tab-button-icon, -[tabsLayout=icon-end] .tab-button .tab-button-icon { - padding-left: 8px; - text-align: left; - text-align: start; - -webkit-box-ordinal-group: 11; - -webkit-order: 10; - -ms-flex-order: 10; - order: 10; -} - -.tab-hidden, -.tab-highlight, -[tabsLayout=icon-hide] .tab-button-icon, -[tabsLayout=title-hide] .tab-button-text { - display: none; -} - -.tab-badge { - right: 4%; - top: 6%; - right: calc(50% - 50px); - padding: 1px 6px; - position: absolute; - height: auto; - font-size: 12px; - line-height: 16px; -} - -.has-icon .tab-badge { - right: calc(50% - 30px); -} - -[tabsLayout=icon-bottom] .tab-badge, -[tabsLayout=icon-left] .tab-badge, -[tabsLayout=icon-right] .tab-badge, -[tabsLayout=icon-start] .tab-badge, -[tabsLayout=icon-end] .tab-badge { - right: calc(50% - 50px); -} - -.tabs-ios .tabbar { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - border-top: 0.55px solid rgba(0, 0, 0, 0.3); - background: #f8f8f8; -} - -.tabs-ios[tabsPlacement=top] .tabbar { - border-top: 0; - border-bottom: 0.55px solid rgba(0, 0, 0, 0.3); -} - -.tabs-ios .tab-button { - max-width: 240px; - min-height: 49px; - font-size: 10px; - font-weight: 500; - color: #8c8c8c; - padding: 0 2px; -} - -.tabs-ios .tab-button:hover:not(.disable-hover), -.tabs-ios .tab-button[aria-selected=true] { - color: #673AB7; -} - -.tabs-ios .tab-button[aria-selected=true] .tab-button-icon { - color: #673AB7; -} - -.tabs-ios .tab-button-text { - margin-top: 0; - margin-bottom: 1px; - min-height: 11px; -} - -.tabs-ios .has-title-only .tab-button-text { - font-size: 12px; -} - -.tabs-ios .tab-button-icon { - margin-top: 4px; - margin-bottom: 1px; - min-width: 35px; - height: 30px; - font-size: 30px; - color: #8c8c8c; -} - -.tabs-ios .tab-button-icon::before { - vertical-align: top; -} - -.tabs-ios[tabsLayout=icon-right] .tab-button .tab-button-text, -.tabs-ios[tabsLayout=icon-left] .tab-button .tab-button-text, -.tabs-ios[tabsLayout=icon-end] .tab-button .tab-button-text, -.tabs-ios[tabsLayout=icon-start] .tab-button .tab-button-text { - font-size: 1.4rem; - line-height: 1.1; -} - -.tabs-ios[tabsLayout=icon-right] .tab-button ion-icon, -.tabs-ios[tabsLayout=icon-left] .tab-button ion-icon, -.tabs-ios[tabsLayout=icon-end] .tab-button ion-icon, -.tabs-ios[tabsLayout=icon-start] .tab-button ion-icon { - min-width: 24px; - height: 26px; - font-size: 24px; -} - -.tabs-ios[tabsLayout=icon-hide] .tab-button, -.tabs-ios .tab-button.has-title-only { - min-height: 41px; -} - -.tabs-ios[tabsLayout=icon-hide] .tab-button .tab-button-text, -.tabs-ios .tab-button.has-title-only .tab-button-text { - margin: 2px 0; - font-size: 1.4rem; - line-height: 1.1; -} - -.tabs-ios[tabsLayout=title-hide] .tab-button, -.tabs-ios .tab-button.icon-only { - min-height: 41px; -} - -.tabs-ios-primary .tabbar { - border-color: #512e90; - background-color: #673AB7; -} - -.tabs-ios-primary .tab-button, -.tabs-ios-primary .tab-button-icon, -.tabs-ios-primary .tab-button:hover:not(.disable-hover), -.tabs-ios-primary .tab-button:hover:not(.disable-hover) .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-ios-primary .tab-button[aria-selected=true], -.tabs-ios-primary .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-ios-secondary .tabbar { - border-color: #21b94e; - background-color: #32db64; -} - -.tabs-ios-secondary .tab-button, -.tabs-ios-secondary .tab-button-icon, -.tabs-ios-secondary .tab-button:hover:not(.disable-hover), -.tabs-ios-secondary .tab-button:hover:not(.disable-hover) .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-ios-secondary .tab-button[aria-selected=true], -.tabs-ios-secondary .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-ios-danger .tabbar { - border-color: #f30d0d; - background-color: #f53d3d; -} - -.tabs-ios-danger .tab-button, -.tabs-ios-danger .tab-button-icon, -.tabs-ios-danger .tab-button:hover:not(.disable-hover), -.tabs-ios-danger .tab-button:hover:not(.disable-hover) .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-ios-danger .tab-button[aria-selected=true], -.tabs-ios-danger .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-ios-light .tabbar { - border-color: #dbdbdb; - background-color: #f4f4f4; -} - -.tabs-ios-light .tab-button, -.tabs-ios-light .tab-button-icon, -.tabs-ios-light .tab-button:hover:not(.disable-hover), -.tabs-ios-light .tab-button:hover:not(.disable-hover) .tab-button-icon { - color: rgba(0, 0, 0, 0.7); -} - -.tabs-ios-light .tab-button[aria-selected=true], -.tabs-ios-light .tab-button[aria-selected=true] .tab-button-icon { - color: #000; -} - -.tabs-ios-dark .tabbar { - border-color: #090909; - background-color: #222; -} - -.tabs-ios-dark .tab-button, -.tabs-ios-dark .tab-button-icon, -.tabs-ios-dark .tab-button:hover:not(.disable-hover), -.tabs-ios-dark .tab-button:hover:not(.disable-hover) .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-ios-dark .tab-button[aria-selected=true], -.tabs-ios-dark .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-ios-optblue .tabbar { - border-color: #ad0201; - background-color: #E00201; -} - -.tabs-ios-optblue .tab-button, -.tabs-ios-optblue .tab-button-icon, -.tabs-ios-optblue .tab-button:hover:not(.disable-hover), -.tabs-ios-optblue .tab-button:hover:not(.disable-hover) .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-ios-optblue .tab-button[aria-selected=true], -.tabs-ios-optblue .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-md .tabbar { - background: #f8f8f8; -} - -.tabs-md .tab-button { - min-height: 5.6rem; - font-weight: normal; - color: rgba(60, 60, 60, 0.7); - padding: 0; -} - -.tabs-md .tab-button[aria-selected=true] { - color: #673AB7; - padding: 0; -} - -.tabs-md .tab-button-text { - font-size: 1.2rem; - text-transform: none; - -webkit-transition: -webkit-transform 0.3s ease-in-out; - transition: -webkit-transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; - margin: 0; - -webkit-transform-origin: 50% 80%; - transform-origin: 50% 80%; -} - -.tabs-md .tab-button[aria-selected=true] .tab-button-text { - -webkit-transform: scale3d(1.16667, 1.16667, 1); - transform: scale3d(1.16667, 1.16667, 1); - -webkit-transition: -webkit-transform 0.3s ease-in-out; - transition: -webkit-transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; -} - -.tabs-md[tabsLayout=icon-top] .has-icon .tab-button-text { - margin-top: 4px; - margin-bottom: 0; -} - -.tabs-md[tabsLayout=icon-bottom] .tab-button .tab-button-text { - margin-top: 0; -} - -.tabs-md .tab-button-icon { - margin-top: 1px; - min-width: 2.4rem; - font-size: 2.4rem; - color: rgba(60, 60, 60, 0.7); - -webkit-transition: -webkit-transform 0.3s ease-in-out; - transition: -webkit-transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; - -webkit-transform-origin: 50% 150%; - transform-origin: 50% 150%; -} - -.tabs-md .tab-button[aria-selected=true] .tab-button-icon { - color: #673AB7; - -webkit-transform: translate3d(0, -2px, 0); - transform: translate3d(0, -2px, 0); -} - -.tabs-md[tabsLayout=icon-right] .tab-button[aria-selected=true] .tab-button-icon, -.tabs-md[tabsLayout=icon-end] .tab-button[aria-selected=true] .tab-button-icon { - -webkit-transform: translate3d(2px, 0, 0); - transform: translate3d(2px, 0, 0); -} - -.tabs-md[tabsLayout=icon-bottom] .tab-button[aria-selected=true] .tab-button-icon { - -webkit-transform: translate3d(0, 2px, 0); - transform: translate3d(0, 2px, 0); -} - -.tabs-md[tabsLayout=icon-left] .tab-button[aria-selected=true] .tab-button-icon, -.tabs-md[tabsLayout=icon-start] .tab-button[aria-selected=true] .tab-button-icon { - -webkit-transform: translate3d(-2px, 0, 0); - transform: translate3d(-2px, 0, 0); -} - -.tabs-md[tabsLayout=icon-hide] .tab-button, -.tabs-md[tabsLayout=title-hide] .tab-button, -.tabs-md .tab-button.icon-only, -.tabs-md .tab-button.has-title-only { - padding: 0 10px; -} - -.tabs-md[tabsHighlight=true] .tab-highlight { - left: 0; - bottom: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - position: absolute; - display: block; - width: 1px; - height: 2px; - background: #673AB7; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.tabs-md[tabsHighlight=true] .tab-highlight.animate { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} - -.tabs-md[tabsHighlight=true][tabsPlacement=bottom] > .tabbar > .tab-highlight { - top: 0; -} - -.tabs-md-primary .tabbar { - background-color: #673AB7; -} - -.tabs-md-primary .tab-button, -.tabs-md-primary .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-md-primary .tab-button:hover:not(.disable-hover), -.tabs-md-primary .tab-button[aria-selected=true], -.tabs-md-primary .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-md-primary[tabsHighlight=true] .tab-highlight { - background: #fff; -} - -.tabs-md-secondary .tabbar { - background-color: #32db64; -} - -.tabs-md-secondary .tab-button, -.tabs-md-secondary .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-md-secondary .tab-button:hover:not(.disable-hover), -.tabs-md-secondary .tab-button[aria-selected=true], -.tabs-md-secondary .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-md-secondary[tabsHighlight=true] .tab-highlight { - background: #fff; -} - -.tabs-md-danger .tabbar { - background-color: #f53d3d; -} - -.tabs-md-danger .tab-button, -.tabs-md-danger .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-md-danger .tab-button:hover:not(.disable-hover), -.tabs-md-danger .tab-button[aria-selected=true], -.tabs-md-danger .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-md-danger[tabsHighlight=true] .tab-highlight { - background: #fff; -} - -.tabs-md-light .tabbar { - background-color: #f4f4f4; -} - -.tabs-md-light .tab-button, -.tabs-md-light .tab-button-icon { - color: rgba(0, 0, 0, 0.7); -} - -.tabs-md-light .tab-button:hover:not(.disable-hover), -.tabs-md-light .tab-button[aria-selected=true], -.tabs-md-light .tab-button[aria-selected=true] .tab-button-icon { - color: #000; -} - -.tabs-md-light[tabsHighlight=true] .tab-highlight { - background: #000; -} - -.tabs-md-dark .tabbar { - background-color: #222; -} - -.tabs-md-dark .tab-button, -.tabs-md-dark .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-md-dark .tab-button:hover:not(.disable-hover), -.tabs-md-dark .tab-button[aria-selected=true], -.tabs-md-dark .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-md-dark[tabsHighlight=true] .tab-highlight { - background: #fff; -} - -.tabs-md-optblue .tabbar { - background-color: #E00201; -} - -.tabs-md-optblue .tab-button, -.tabs-md-optblue .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-md-optblue .tab-button:hover:not(.disable-hover), -.tabs-md-optblue .tab-button[aria-selected=true], -.tabs-md-optblue .tab-button[aria-selected=true] .tab-button-icon { - color: #fff; -} - -.tabs-md-optblue[tabsHighlight=true] .tab-highlight { - background: #fff; -} - -.tabs-wp .tabbar { - background: #f8f8f8; -} - -.tabs-wp .tab-button { - border-radius: 0; - min-height: 4.8rem; - border-bottom: 2px solid transparent; - font-size: 1.2rem; - font-weight: normal; - color: rgba(140, 140, 140, 0.7); - -webkit-box-shadow: none; - box-shadow: none; - padding: 12px 10px 5px; -} - -.tabs-wp .tab-button[aria-selected=true] { - border-bottom-color: #673AB7; - color: #673AB7; -} - -.tabs-wp .tab-button.activated { - background: rgba(0, 0, 0, 0.1); -} - -.tabs-wp[tabsPlacement=bottom] .tab-button { - border-top: 2px solid transparent; - border-bottom-width: 0; -} - -.tabs-wp[tabsPlacement=bottom] .tab-button[aria-selected=true] { - border-top-color: #673AB7; -} - -.tabs-wp .tab-button-text { - margin-top: 5px; - margin-bottom: 5px; -} - -.tabs-wp .tab-button-icon { - min-width: 2.4rem; - font-size: 2.4rem; - color: rgba(140, 140, 140, 0.7); -} - -.tabs-wp .tab-button[aria-selected=true] .tab-button-icon { - color: #673AB7; -} - -.tabs-wp[tabsLayout=icon-bottom] .tab-button { - padding-top: 8px; - padding-bottom: 8px; -} - -.tabs-wp[tabsLayout=icon-right] .tab-button, -.tabs-wp[tabsLayout=icon-left] .tab-button, -.tabs-wp[tabsLayout=icon-end] .tab-button, -.tabs-wp[tabsLayout=icon-start] .tab-button { - padding-bottom: 10px; -} - -.tabs-wp[tabsLayout=icon-right] .tab-button ion-icon, -.tabs-wp[tabsLayout=icon-left] .tab-button ion-icon, -.tabs-wp[tabsLayout=icon-end] .tab-button ion-icon, -.tabs-wp[tabsLayout=icon-start] .tab-button ion-icon { - min-width: 24px; -} - -.tabs-wp[tabsLayout=icon-hide] .tab-button, -.tabs-wp[tabsLayout=title-hide] .tab-button, -.tabs-wp .tab-button.icon-only, -.tabs-wp .tab-button.has-title-only { - padding: 6px 10px; -} - -.tabs-wp-primary .tabbar { - background-color: #673AB7; -} - -.tabs-wp-primary .tab-button, -.tabs-wp-primary .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-wp-primary .tab-button:hover:not(.disable-hover), -.tabs-wp-primary .tab-button:hover:not(.disable-hover) .tab-button-icon, -.tabs-wp-primary .tab-button[aria-selected=true], -.tabs-wp-primary .tab-button[aria-selected=true] .tab-button-icon { - border-color: #fff; - color: #fff; -} - -.tabs-wp-secondary .tabbar { - background-color: #32db64; -} - -.tabs-wp-secondary .tab-button, -.tabs-wp-secondary .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-wp-secondary .tab-button:hover:not(.disable-hover), -.tabs-wp-secondary .tab-button:hover:not(.disable-hover) .tab-button-icon, -.tabs-wp-secondary .tab-button[aria-selected=true], -.tabs-wp-secondary .tab-button[aria-selected=true] .tab-button-icon { - border-color: #fff; - color: #fff; -} - -.tabs-wp-danger .tabbar { - background-color: #f53d3d; -} - -.tabs-wp-danger .tab-button, -.tabs-wp-danger .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-wp-danger .tab-button:hover:not(.disable-hover), -.tabs-wp-danger .tab-button:hover:not(.disable-hover) .tab-button-icon, -.tabs-wp-danger .tab-button[aria-selected=true], -.tabs-wp-danger .tab-button[aria-selected=true] .tab-button-icon { - border-color: #fff; - color: #fff; -} - -.tabs-wp-light .tabbar { - background-color: #f4f4f4; -} - -.tabs-wp-light .tab-button, -.tabs-wp-light .tab-button-icon { - color: rgba(0, 0, 0, 0.7); -} - -.tabs-wp-light .tab-button:hover:not(.disable-hover), -.tabs-wp-light .tab-button:hover:not(.disable-hover) .tab-button-icon, -.tabs-wp-light .tab-button[aria-selected=true], -.tabs-wp-light .tab-button[aria-selected=true] .tab-button-icon { - border-color: #000; - color: #000; -} - -.tabs-wp-dark .tabbar { - background-color: #222; -} - -.tabs-wp-dark .tab-button, -.tabs-wp-dark .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-wp-dark .tab-button:hover:not(.disable-hover), -.tabs-wp-dark .tab-button:hover:not(.disable-hover) .tab-button-icon, -.tabs-wp-dark .tab-button[aria-selected=true], -.tabs-wp-dark .tab-button[aria-selected=true] .tab-button-icon { - border-color: #fff; - color: #fff; -} - -.tabs-wp-optblue .tabbar { - background-color: #E00201; -} - -.tabs-wp-optblue .tab-button, -.tabs-wp-optblue .tab-button-icon { - color: rgba(255, 255, 255, 0.7); -} - -.tabs-wp-optblue .tab-button:hover:not(.disable-hover), -.tabs-wp-optblue .tab-button:hover:not(.disable-hover) .tab-button-icon, -.tabs-wp-optblue .tab-button[aria-selected=true], -.tabs-wp-optblue .tab-button[aria-selected=true] .tab-button-icon { - border-color: #fff; - color: #fff; -} - -ion-toast { - left: 0; - top: 0; - position: absolute; - z-index: 1000; - display: block; - width: 100%; - height: 100%; - pointer-events: none; - contain: strict; -} - -.toast-container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - pointer-events: auto; - contain: content; -} - -.toast-button { - padding: 19px 16px 17px; - font-size: 1.5rem; -} - -.toast-message { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} - -.toast-ios .toast-wrapper { - left: 10px; - right: 10px; - margin: auto; - border-radius: 0.65rem; - position: absolute; - z-index: 10; - display: block; - max-width: 700px; - background: rgba(0, 0, 0, 0.9); -} - -.toast-ios .toast-wrapper.toast-top { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - margin: constant(safe-area-inset-top) auto auto; - margin: env(safe-area-inset-top) auto auto; - top: 0; -} - -.toast-ios .toast-wrapper.toast-bottom { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - margin: auto auto constant(safe-area-inset-bottom); - margin: auto auto env(safe-area-inset-bottom); - bottom: 0; -} - -.toast-ios .toast-wrapper.toast-middle { - opacity: .01; -} - -.toast-ios .toast-message { - font-size: 1.4rem; - color: #fff; - padding: 1.5rem; -} - -.toast-md .toast-wrapper { - left: 0; - right: 0; - margin: auto; - position: absolute; - z-index: 10; - display: block; - width: 100%; - max-width: 700px; - background: #333; -} - -.toast-md .toast-wrapper.toast-top { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - top: 0; -} - -.toast-md .toast-wrapper.toast-bottom { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - bottom: 0; -} - -.toast-md .toast-wrapper.toast-middle { - opacity: .01; -} - -.toast-md .toast-message { - font-size: 1.5rem; - color: #fff; - padding: 19px 16px 17px; -} - -.toast-wp .toast-wrapper { - left: 0; - right: 0; - margin: auto; - border-radius: 0; - position: absolute; - z-index: 10; - display: block; - max-width: 700px; - background: black; -} - -.toast-wp .toast-wrapper.toast-top { - top: 0; - opacity: .01; -} - -.toast-wp .toast-wrapper.toast-bottom { - bottom: 0; - opacity: .01; -} - -.toast-wp .toast-wrapper.toast-middle { - opacity: .01; -} - -.toast-message { - font-size: 1.4rem; - color: #fff; - padding: 1.5rem; -} - -.toast-button { - color: #fff; -} - -.toggle-ios { - position: relative; - width: 51px; - height: 32px; - -webkit-box-sizing: content-box; - box-sizing: content-box; - contain: strict; -} - -.toggle-ios .toggle-icon { - border-radius: 16px; - position: relative; - display: block; - width: 100%; - height: 100%; - background-color: #e6e6e6; - -webkit-transition: background-color 300ms; - transition: background-color 300ms; - pointer-events: none; -} - -.toggle-ios .toggle-icon::before { - left: 2px; - right: 2px; - top: 2px; - bottom: 2px; - border-radius: 16px; - position: absolute; - background-color: #fff; - content: ""; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - -webkit-transition: -webkit-transform 300ms; - transition: -webkit-transform 300ms; - transition: transform 300ms; - transition: transform 300ms, -webkit-transform 300ms; -} - -.toggle-ios .toggle-inner { - left: 2px; - top: 2px; - border-radius: 14px; - position: absolute; - width: 28px; - height: 28px; - background-color: #fff; - -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); - -webkit-transition: width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms, -webkit-transform 300ms; - transition: width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms, -webkit-transform 300ms; - transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms; - transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms, -webkit-transform 300ms; - will-change: transform; - contain: strict; -} - -.toggle-ios.toggle-checked .toggle-icon { - background-color: #673AB7; -} - -.toggle-ios.toggle-activated .toggle-icon::before, -.toggle-ios.toggle-checked .toggle-icon::before { - -webkit-transform: scale3d(0, 0, 0); - transform: scale3d(0, 0, 0); -} - -.toggle-ios.toggle-checked .toggle-inner { - -webkit-transform: translate3d(19px, 0, 0); - transform: translate3d(19px, 0, 0); -} - -.toggle-ios.toggle-activated.toggle-checked .toggle-inner::before { - -webkit-transform: scale3d(0, 0, 0); - transform: scale3d(0, 0, 0); -} - -.toggle-ios.toggle-activated .toggle-inner { - width: 34px; -} - -.toggle-ios.toggle-activated.toggle-checked .toggle-inner { - left: -4px; -} - -.toggle-ios.toggle-disabled, -.item-ios.item-toggle-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.item-ios .toggle-ios { - margin: 0; - padding: 6px 8px 5px 16px; -} - -.item-ios .toggle-ios[item-left], -.item-ios .toggle-ios[item-start] { - padding: 6px 16px 5px 0; -} - -.toggle-ios-primary.toggle-checked .toggle-icon { - background-color: #673AB7; -} - -.toggle-ios-secondary.toggle-checked .toggle-icon { - background-color: #32db64; -} - -.toggle-ios-danger.toggle-checked .toggle-icon { - background-color: #f53d3d; -} - -.toggle-ios-light.toggle-checked .toggle-icon { - background-color: #f4f4f4; -} - -.toggle-ios-dark.toggle-checked .toggle-icon { - background-color: #222; -} - -.toggle-ios-optblue.toggle-checked .toggle-icon { - background-color: #E00201; -} - -.toggle-md { - position: relative; - width: 36px; - height: 14px; - -webkit-box-sizing: content-box; - box-sizing: content-box; - contain: strict; - padding: 12px; -} - -.toggle-md .toggle-icon { - border-radius: 14px; - position: relative; - display: block; - width: 100%; - height: 100%; - background-color: #dedede; - -webkit-transition: background-color 300ms; - transition: background-color 300ms; - pointer-events: none; -} - -.toggle-md .toggle-inner { - left: 0; - top: -3px; - border-radius: 50%; - position: absolute; - width: 20px; - height: 20px; - background-color: #fff; - -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: background-color, -webkit-transform; - transition-property: background-color, -webkit-transform; - transition-property: transform, background-color; - transition-property: transform, background-color, -webkit-transform; - will-change: transform, background-color; - contain: strict; -} - -.toggle-md.toggle-checked .toggle-icon { - background-color: #ae94dd; -} - -.toggle-md.toggle-checked .toggle-inner { - -webkit-transform: translate3d(16px, 0, 0); - transform: translate3d(16px, 0, 0); - background-color: #673AB7; -} - -.toggle-md.toggle-disabled, -.item-md.item-toggle-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.toggle-md.toggle-disabled ion-radio { - opacity: 0.3; -} - -.item-md .toggle-md { - cursor: pointer; - margin: 0; - padding: 12px 8px 12px 16px; -} - -.item-md .toggle-md[item-left], -.item-md .toggle-md[item-start] { - padding: 12px 18px 12px 2px; -} - -.item-md.item-toggle ion-label { - margin-left: 0; -} - -.toggle-md-primary.toggle-checked .toggle-icon { - background-color: #ae94dd; -} - -.toggle-md-primary.toggle-checked .toggle-inner { - background-color: #673AB7; -} - -.toggle-md-secondary.toggle-checked .toggle-icon { - background-color: #9eeeb6; -} - -.toggle-md-secondary.toggle-checked .toggle-inner { - background-color: #32db64; -} - -.toggle-md-danger.toggle-checked .toggle-icon { - background-color: #fbb6b6; -} - -.toggle-md-danger.toggle-checked .toggle-inner { - background-color: #f53d3d; -} - -.toggle-md-light.toggle-checked .toggle-icon { - background-color: white; -} - -.toggle-md-light.toggle-checked .toggle-inner { - background-color: #f4f4f4; -} - -.toggle-md-dark.toggle-checked .toggle-icon { - background-color: #626262; -} - -.toggle-md-dark.toggle-checked .toggle-inner { - background-color: #222; -} - -.toggle-md-optblue.toggle-checked .toggle-icon { - background-color: #fe6362; -} - -.toggle-md-optblue.toggle-checked .toggle-inner { - background-color: #E00201; -} - -.toggle-wp { - position: relative; - width: 40px; - height: 18px; - -webkit-box-sizing: content-box; - box-sizing: content-box; - contain: strict; -} - -.toggle-wp .toggle-icon { - border-radius: 18px; - position: relative; - display: block; - width: 100%; - height: 100%; - border: 2px solid #323232; - background-color: transparent; - pointer-events: none; - contain: strict; -} - -.toggle-wp .toggle-inner { - left: 2px; - top: 2px; - border-radius: 50%; - position: absolute; - width: 10px; - height: 10px; - background-color: #323232; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: background-color, -webkit-transform; - transition-property: background-color, -webkit-transform; - transition-property: transform, background-color; - transition-property: transform, background-color, -webkit-transform; - will-change: transform, background-color; -} - -.toggle-wp.toggle-checked .toggle-icon { - border-color: #673AB7; - background-color: #673AB7; -} - -.toggle-wp.toggle-checked .toggle-inner { - -webkit-transform: translate3d(22px, 0, 0); - transform: translate3d(22px, 0, 0); - background-color: #fff; -} - -.toggle-wp.toggle-disabled, -.item-wp.item-toggle-disabled ion-label { - opacity: 0.3; - pointer-events: none; -} - -.toggle-wp.toggle-disabled ion-radio { - opacity: 0.3; -} - -.item-wp .toggle-wp { - margin: 0; - cursor: pointer; - padding: 12px 8px 12px 16px; -} - -.item-wp .toggle-wp[item-left], -.item-wp .toggle-wp[item-start] { - padding: 12px 18px 12px 2px; -} - -.item-wp.item-toggle ion-label { - margin-left: 0; -} - -.toggle-wp-primary.toggle-checked .toggle-icon { - border-color: #673AB7; - background-color: #673AB7; -} - -.toggle-wp-primary.toggle-checked .toggle-inner { - background-color: #fff; -} - -.toggle-wp-secondary.toggle-checked .toggle-icon { - border-color: #32db64; - background-color: #32db64; -} - -.toggle-wp-secondary.toggle-checked .toggle-inner { - background-color: #fff; -} - -.toggle-wp-danger.toggle-checked .toggle-icon { - border-color: #f53d3d; - background-color: #f53d3d; -} - -.toggle-wp-danger.toggle-checked .toggle-inner { - background-color: #fff; -} - -.toggle-wp-light.toggle-checked .toggle-icon { - border-color: #f4f4f4; - background-color: #f4f4f4; -} - -.toggle-wp-light.toggle-checked .toggle-inner { - background-color: #000; -} - -.toggle-wp-dark.toggle-checked .toggle-icon { - border-color: #222; - background-color: #222; -} - -.toggle-wp-dark.toggle-checked .toggle-inner { - background-color: #fff; -} - -.toggle-wp-optblue.toggle-checked .toggle-icon { - border-color: #E00201; - background-color: #E00201; -} - -.toggle-wp-optblue.toggle-checked .toggle-inner { - background-color: #fff; -} - -ion-toolbar { - position: relative; - z-index: 10; -} - -.toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - width: 100%; - contain: content; -} - -.toolbar-background { - left: 0; - top: 0; - position: absolute; - z-index: -1; - width: 100%; - height: 100%; - border: 0; - -webkit-transform: translateZ(0); - transform: translateZ(0); - pointer-events: none; - contain: strict; -} - -ion-title { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.toolbar-title { - display: block; - overflow: hidden; - width: 100%; - text-overflow: ellipsis; - white-space: nowrap; -} - -ion-buttons { - margin: 0 0.2rem; - display: block; - -webkit-transform: translateZ(0); - transform: translateZ(0); - pointer-events: none; -} - -ion-buttons button, -ion-buttons a, -ion-buttons input, -ion-buttons textarea, -ion-buttons div { - pointer-events: auto; -} - -.toolbar[transparent] .toolbar-background { - border-color: transparent; - background: transparent; -} - -ion-buttons, -.bar-button-menutoggle { - z-index: 99; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -ion-navbar.toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.bar-button { - margin: 0; - padding: 0; - text-align: center; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - position: relative; - display: inline-block; - line-height: 1; - text-overflow: ellipsis; - text-transform: none; - white-space: nowrap; - cursor: pointer; - vertical-align: top; - vertical-align: -webkit-baseline-middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.bar-button::after { - left: -2px; - right: -2px; - top: -7px; - bottom: -6px; - position: absolute; - content: ""; -} - -.bar-button-menutoggle { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.back-button { - display: none; -} - -.back-button.show-back-button { - display: inline-block; -} - -.back-button-text { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.toolbar-ios { - padding: 4px; - padding-left: 4px; - padding-right: 4px; - min-height: 44px; -} - -@media screen and (orientation: landscape) { - .toolbar-ios { - padding-left: calc(constant(safe-area-inset-left) + 4px); - padding-right: calc(constant(safe-area-inset-right) + 4px); - padding-left: calc(env(safe-area-inset-left) + 4px); - padding-right: calc(env(safe-area-inset-right) + 4px); - } -} - -.toolbar-background-ios { - background: #f8f8f8; -} - -.header-ios .toolbar-background-ios, -.footer-ios .toolbar-background-ios { - border-style: solid; - border-color: rgba(0, 0, 0, 0.3); -} - -.header-ios .toolbar-ios:last-child .toolbar-background-ios { - border-width: 0 0 0.55px; -} - -.footer-ios .toolbar-ios:first-child .toolbar-background-ios { - border-width: 0.55px 0 0; -} - -.header-ios[no-border] .toolbar-ios:last-child .toolbar-background-ios { - border-bottom-width: 0; -} - -.footer-ios[no-border] .toolbar-ios:first-child .toolbar-background-ios { - border-top-width: 0; -} - -.toolbar-content-ios { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-ordinal-group: 5; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - min-width: 0; -} - -.toolbar-title-ios { - text-align: center; - font-size: 1.7rem; - font-weight: 600; - color: #000; - pointer-events: auto; -} - -.toolbar-ios ion-title { - left: 0; - top: 0; - padding: 0 90px 1px; - position: absolute; - width: 100%; - height: 100%; - -webkit-transform: translateZ(0); - transform: translateZ(0); - pointer-events: none; -} - -.bar-buttons-ios { - -webkit-box-ordinal-group: 4; - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.bar-buttons-ios[left] { - -webkit-box-ordinal-group: 3; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; -} - -.bar-buttons-ios[end] { - text-align: right; - text-align: end; - -webkit-box-ordinal-group: 6; - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; -} - -.bar-buttons-ios[right] { - text-align: right; - -webkit-box-ordinal-group: 7; - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; -} - -.bar-button-ios { - padding: 0 4px; - border-radius: 4px; - height: 32px; - border: 0; - font-size: 1.7rem; -} - -.bar-button-outline-ios { - border-width: 1px; - border-style: solid; - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.bar-button-outline-ios:hover:not(.disable-hover) { - opacity: .4; -} - -.bar-button-outline-ios.activated { - color: #fff; - background-color: #673AB7; -} - -.bar-button-solid-ios { - color: #fff; - background-color: #673AB7; -} - -.bar-button-solid-ios:hover:not(.disable-hover) { - color: #fff; - opacity: .4; -} - -.bar-button-solid-ios.activated { - color: #fff; - background-color: #734abd; - opacity: .4; -} - -.bar-button-ios.bar-button-icon-start ion-icon { - padding-right: 0.3em; - font-size: 1.4em; - line-height: .67; - pointer-events: none; -} - -.bar-button-ios.bar-button-icon-end ion-icon { - padding-left: 0.4em; - font-size: 1.4em; - line-height: .67; - pointer-events: none; -} - -.bar-button-ios[icon-only] { - padding: 0; - min-width: .9em; -} - -.bar-button-ios[icon-only] ion-icon { - padding: 0 0.1em; - font-size: 1.8em; - line-height: .67; - pointer-events: none; -} - -.back-button-ios { - margin: 0; - z-index: 99; - overflow: visible; - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - min-height: 3.2rem; - line-height: 1; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.back-button-icon-ios { - margin: -1px 0 0; - display: inherit; - min-width: 18px; - font-size: 3.4rem; -} - -.back-button-text-ios { - letter-spacing: -.01em; -} - -.bar-button-menutoggle-ios { - margin: 0 6px; - padding: 0; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - min-width: 36px; -} - -.bar-button-menutoggle-ios ion-icon { - padding: 0 6px; - font-size: 2.8rem; -} - -.bar-button-menutoggle-ios[end], -.bar-button-menutoggle-ios[right] { - -webkit-box-ordinal-group: 8; - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; -} - -.bar-button-default-ios, -.bar-button-default.bar-button-ios-default, -.bar-button-clear-ios-default { - color: #673AB7; - background-color: transparent; -} - -.bar-button-default-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-default:hover:not(.disable-hover), -.bar-button-clear-ios-default:hover:not(.disable-hover) { - color: #673AB7; -} - -.bar-button-default-ios.activated, -.bar-button-default.bar-button-ios-default.activated, -.bar-button-clear-ios-default.activated { - opacity: .4; -} - -.bar-button-clear-ios, -.bar-button-default.bar-button-ios-clear, -.bar-button-clear-ios-clear { - color: #673AB7; - background-color: transparent; -} - -.bar-button-clear-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-clear:hover:not(.disable-hover), -.bar-button-clear-ios-clear:hover:not(.disable-hover) { - color: #673AB7; -} - -.bar-button-clear-ios.activated, -.bar-button-default.bar-button-ios-clear.activated, -.bar-button-clear-ios-clear.activated { - opacity: .4; -} - -.toolbar-ios-primary .toolbar-background-ios { - background: #673AB7; -} - -.toolbar-ios-primary .toolbar-title-ios, -.toolbar-ios-primary .bar-button-clear-ios, -.toolbar-ios-primary .bar-button-default-ios { - color: #fff; -} - -.toolbar-ios-primary .bar-button-primary-ios, -.toolbar-ios-primary .bar-button-default.bar-button-ios-primary, -.toolbar-ios-primary .bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-primary-ios:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-ios-primary .bar-button-primary-ios.activated, -.toolbar-ios-primary .bar-button-default.bar-button-ios-primary.activated, -.toolbar-ios-primary .bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.toolbar-ios-primary .bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-primary .bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-primary .bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-primary .bar-button-secondary-ios, -.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary, -.toolbar-ios-primary .bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-secondary-ios:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-ios-primary .bar-button-secondary-ios.activated, -.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary.activated, -.toolbar-ios-primary .bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.toolbar-ios-primary .bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-primary .bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-primary .bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-primary .bar-button-danger-ios, -.toolbar-ios-primary .bar-button-default.bar-button-ios-danger, -.toolbar-ios-primary .bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-danger-ios:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-ios-primary .bar-button-danger-ios.activated, -.toolbar-ios-primary .bar-button-default.bar-button-ios-danger.activated, -.toolbar-ios-primary .bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.toolbar-ios-primary .bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-primary .bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-primary .bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-primary .bar-button-light-ios, -.toolbar-ios-primary .bar-button-default.bar-button-ios-light, -.toolbar-ios-primary .bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-light-ios:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-ios-primary .bar-button-light-ios.activated, -.toolbar-ios-primary .bar-button-default.bar-button-ios-light.activated, -.toolbar-ios-primary .bar-button-clear-ios-light.activated { - opacity: .4; -} - -.toolbar-ios-primary .bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-primary .bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-primary .bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-primary .bar-button-dark-ios, -.toolbar-ios-primary .bar-button-default.bar-button-ios-dark, -.toolbar-ios-primary .bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-dark-ios:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-ios-primary .bar-button-dark-ios.activated, -.toolbar-ios-primary .bar-button-default.bar-button-ios-dark.activated, -.toolbar-ios-primary .bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.toolbar-ios-primary .bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.toolbar-ios-primary .bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.toolbar-ios-primary .bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-primary .bar-button-optblue-ios, -.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue, -.toolbar-ios-primary .bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-optblue-ios:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.toolbar-ios-primary .bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-ios-primary .bar-button-optblue-ios.activated, -.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue.activated, -.toolbar-ios-primary .bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.toolbar-ios-primary .bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-primary .bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-primary .bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-primary .bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-primary-ios, -.bar-button-default.bar-button-ios-primary, -.bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.bar-button-primary-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.bar-button-primary-ios.activated, -.bar-button-default.bar-button-ios-primary.activated, -.bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-secondary .toolbar-background-ios { - background: #32db64; -} - -.toolbar-ios-secondary .toolbar-title-ios, -.toolbar-ios-secondary .bar-button-clear-ios, -.toolbar-ios-secondary .bar-button-default-ios { - color: #fff; -} - -.toolbar-ios-secondary .bar-button-primary-ios, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary, -.toolbar-ios-secondary .bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-primary-ios:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-ios-secondary .bar-button-primary-ios.activated, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary.activated, -.toolbar-ios-secondary .bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.toolbar-ios-secondary .bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-secondary .bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-secondary .bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-secondary .bar-button-secondary-ios, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary, -.toolbar-ios-secondary .bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-secondary-ios:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-ios-secondary .bar-button-secondary-ios.activated, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary.activated, -.toolbar-ios-secondary .bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.toolbar-ios-secondary .bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-secondary .bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-secondary .bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-secondary .bar-button-danger-ios, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger, -.toolbar-ios-secondary .bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-danger-ios:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-ios-secondary .bar-button-danger-ios.activated, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger.activated, -.toolbar-ios-secondary .bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.toolbar-ios-secondary .bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-secondary .bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-secondary .bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-secondary .bar-button-light-ios, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-light, -.toolbar-ios-secondary .bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-light-ios:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-ios-secondary .bar-button-light-ios.activated, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-light.activated, -.toolbar-ios-secondary .bar-button-clear-ios-light.activated { - opacity: .4; -} - -.toolbar-ios-secondary .bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-secondary .bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-secondary .bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-secondary .bar-button-dark-ios, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark, -.toolbar-ios-secondary .bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-dark-ios:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-ios-secondary .bar-button-dark-ios.activated, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark.activated, -.toolbar-ios-secondary .bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.toolbar-ios-secondary .bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.toolbar-ios-secondary .bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.toolbar-ios-secondary .bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-secondary .bar-button-optblue-ios, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue, -.toolbar-ios-secondary .bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-optblue-ios:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.toolbar-ios-secondary .bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-ios-secondary .bar-button-optblue-ios.activated, -.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue.activated, -.toolbar-ios-secondary .bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.toolbar-ios-secondary .bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-secondary .bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-secondary .bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-secondary .bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-secondary-ios, -.bar-button-default.bar-button-ios-secondary, -.bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.bar-button-secondary-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.bar-button-secondary-ios.activated, -.bar-button-default.bar-button-ios-secondary.activated, -.bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-danger .toolbar-background-ios { - background: #f53d3d; -} - -.toolbar-ios-danger .toolbar-title-ios, -.toolbar-ios-danger .bar-button-clear-ios, -.toolbar-ios-danger .bar-button-default-ios { - color: #fff; -} - -.toolbar-ios-danger .bar-button-primary-ios, -.toolbar-ios-danger .bar-button-default.bar-button-ios-primary, -.toolbar-ios-danger .bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-primary-ios:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-ios-danger .bar-button-primary-ios.activated, -.toolbar-ios-danger .bar-button-default.bar-button-ios-primary.activated, -.toolbar-ios-danger .bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.toolbar-ios-danger .bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-danger .bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-danger .bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-danger .bar-button-secondary-ios, -.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary, -.toolbar-ios-danger .bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-secondary-ios:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-ios-danger .bar-button-secondary-ios.activated, -.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary.activated, -.toolbar-ios-danger .bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.toolbar-ios-danger .bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-danger .bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-danger .bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-danger .bar-button-danger-ios, -.toolbar-ios-danger .bar-button-default.bar-button-ios-danger, -.toolbar-ios-danger .bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-danger-ios:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-ios-danger .bar-button-danger-ios.activated, -.toolbar-ios-danger .bar-button-default.bar-button-ios-danger.activated, -.toolbar-ios-danger .bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.toolbar-ios-danger .bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-danger .bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-danger .bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-danger .bar-button-light-ios, -.toolbar-ios-danger .bar-button-default.bar-button-ios-light, -.toolbar-ios-danger .bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-light-ios:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-ios-danger .bar-button-light-ios.activated, -.toolbar-ios-danger .bar-button-default.bar-button-ios-light.activated, -.toolbar-ios-danger .bar-button-clear-ios-light.activated { - opacity: .4; -} - -.toolbar-ios-danger .bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-danger .bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-danger .bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-danger .bar-button-dark-ios, -.toolbar-ios-danger .bar-button-default.bar-button-ios-dark, -.toolbar-ios-danger .bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-dark-ios:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-ios-danger .bar-button-dark-ios.activated, -.toolbar-ios-danger .bar-button-default.bar-button-ios-dark.activated, -.toolbar-ios-danger .bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.toolbar-ios-danger .bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.toolbar-ios-danger .bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.toolbar-ios-danger .bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-danger .bar-button-optblue-ios, -.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue, -.toolbar-ios-danger .bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-optblue-ios:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.toolbar-ios-danger .bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-ios-danger .bar-button-optblue-ios.activated, -.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue.activated, -.toolbar-ios-danger .bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.toolbar-ios-danger .bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-danger .bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-danger .bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-danger .bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-danger-ios, -.bar-button-default.bar-button-ios-danger, -.bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.bar-button-danger-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.bar-button-danger-ios.activated, -.bar-button-default.bar-button-ios-danger.activated, -.bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-light .toolbar-background-ios { - background: #f4f4f4; -} - -.toolbar-ios-light .toolbar-title-ios, -.toolbar-ios-light .bar-button-clear-ios, -.toolbar-ios-light .bar-button-default-ios { - color: #000; -} - -.toolbar-ios-light .bar-button-primary-ios, -.toolbar-ios-light .bar-button-default.bar-button-ios-primary, -.toolbar-ios-light .bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-primary-ios:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-ios-light .bar-button-primary-ios.activated, -.toolbar-ios-light .bar-button-default.bar-button-ios-primary.activated, -.toolbar-ios-light .bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.toolbar-ios-light .bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-light .bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-light .bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-light .bar-button-secondary-ios, -.toolbar-ios-light .bar-button-default.bar-button-ios-secondary, -.toolbar-ios-light .bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-secondary-ios:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-ios-light .bar-button-secondary-ios.activated, -.toolbar-ios-light .bar-button-default.bar-button-ios-secondary.activated, -.toolbar-ios-light .bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.toolbar-ios-light .bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-light .bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-light .bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-light .bar-button-danger-ios, -.toolbar-ios-light .bar-button-default.bar-button-ios-danger, -.toolbar-ios-light .bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-danger-ios:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-ios-light .bar-button-danger-ios.activated, -.toolbar-ios-light .bar-button-default.bar-button-ios-danger.activated, -.toolbar-ios-light .bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.toolbar-ios-light .bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-light .bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-light .bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-light .bar-button-light-ios, -.toolbar-ios-light .bar-button-default.bar-button-ios-light, -.toolbar-ios-light .bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-light-ios:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-ios-light .bar-button-light-ios.activated, -.toolbar-ios-light .bar-button-default.bar-button-ios-light.activated, -.toolbar-ios-light .bar-button-clear-ios-light.activated { - opacity: .4; -} - -.toolbar-ios-light .bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-light .bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-light .bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-light .bar-button-dark-ios, -.toolbar-ios-light .bar-button-default.bar-button-ios-dark, -.toolbar-ios-light .bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-dark-ios:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-ios-light .bar-button-dark-ios.activated, -.toolbar-ios-light .bar-button-default.bar-button-ios-dark.activated, -.toolbar-ios-light .bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.toolbar-ios-light .bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.toolbar-ios-light .bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.toolbar-ios-light .bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-light .bar-button-optblue-ios, -.toolbar-ios-light .bar-button-default.bar-button-ios-optblue, -.toolbar-ios-light .bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-optblue-ios:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.toolbar-ios-light .bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-ios-light .bar-button-optblue-ios.activated, -.toolbar-ios-light .bar-button-default.bar-button-ios-optblue.activated, -.toolbar-ios-light .bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.toolbar-ios-light .bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-light .bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-light .bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-light .bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-light-ios, -.bar-button-default.bar-button-ios-light, -.bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.bar-button-light-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.bar-button-light-ios.activated, -.bar-button-default.bar-button-ios-light.activated, -.bar-button-clear-ios-light.activated { - opacity: .4; -} - -.bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-dark .toolbar-background-ios { - background: #222; -} - -.toolbar-ios-dark .toolbar-title-ios, -.toolbar-ios-dark .bar-button-clear-ios, -.toolbar-ios-dark .bar-button-default-ios { - color: #fff; -} - -.toolbar-ios-dark .bar-button-primary-ios, -.toolbar-ios-dark .bar-button-default.bar-button-ios-primary, -.toolbar-ios-dark .bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-primary-ios:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-ios-dark .bar-button-primary-ios.activated, -.toolbar-ios-dark .bar-button-default.bar-button-ios-primary.activated, -.toolbar-ios-dark .bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.toolbar-ios-dark .bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-dark .bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-dark .bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-dark .bar-button-secondary-ios, -.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary, -.toolbar-ios-dark .bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-secondary-ios:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-ios-dark .bar-button-secondary-ios.activated, -.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary.activated, -.toolbar-ios-dark .bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.toolbar-ios-dark .bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-dark .bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-dark .bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-dark .bar-button-danger-ios, -.toolbar-ios-dark .bar-button-default.bar-button-ios-danger, -.toolbar-ios-dark .bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-danger-ios:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-ios-dark .bar-button-danger-ios.activated, -.toolbar-ios-dark .bar-button-default.bar-button-ios-danger.activated, -.toolbar-ios-dark .bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.toolbar-ios-dark .bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-dark .bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-dark .bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-dark .bar-button-light-ios, -.toolbar-ios-dark .bar-button-default.bar-button-ios-light, -.toolbar-ios-dark .bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-light-ios:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-ios-dark .bar-button-light-ios.activated, -.toolbar-ios-dark .bar-button-default.bar-button-ios-light.activated, -.toolbar-ios-dark .bar-button-clear-ios-light.activated { - opacity: .4; -} - -.toolbar-ios-dark .bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-dark .bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-dark .bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-dark .bar-button-dark-ios, -.toolbar-ios-dark .bar-button-default.bar-button-ios-dark, -.toolbar-ios-dark .bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-dark-ios:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-ios-dark .bar-button-dark-ios.activated, -.toolbar-ios-dark .bar-button-default.bar-button-ios-dark.activated, -.toolbar-ios-dark .bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.toolbar-ios-dark .bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.toolbar-ios-dark .bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.toolbar-ios-dark .bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-dark .bar-button-optblue-ios, -.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue, -.toolbar-ios-dark .bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-optblue-ios:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.toolbar-ios-dark .bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-ios-dark .bar-button-optblue-ios.activated, -.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue.activated, -.toolbar-ios-dark .bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.toolbar-ios-dark .bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-dark .bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-dark .bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-dark .bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-dark-ios, -.bar-button-default.bar-button-ios-dark, -.bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.bar-button-dark-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.bar-button-dark-ios.activated, -.bar-button-default.bar-button-ios-dark.activated, -.bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-optblue .toolbar-background-ios { - background: #E00201; -} - -.toolbar-ios-optblue .toolbar-title-ios, -.toolbar-ios-optblue .bar-button-clear-ios, -.toolbar-ios-optblue .bar-button-default-ios { - color: #fff; -} - -.toolbar-ios-optblue .bar-button-primary-ios, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary, -.toolbar-ios-optblue .bar-button-clear-ios-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-primary-ios:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-clear-ios-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-ios-optblue .bar-button-primary-ios.activated, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary.activated, -.toolbar-ios-optblue .bar-button-clear-ios-primary.activated { - opacity: .4; -} - -.toolbar-ios-optblue .bar-button-outline-ios-primary { - border-color: #673AB7; - color: #673AB7; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-outline-ios-primary.activated { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-optblue .bar-button-solid-ios-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-ios-optblue .bar-button-solid-ios-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-ios-optblue .bar-button-secondary-ios, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary, -.toolbar-ios-optblue .bar-button-clear-ios-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-secondary-ios:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-clear-ios-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-ios-optblue .bar-button-secondary-ios.activated, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary.activated, -.toolbar-ios-optblue .bar-button-clear-ios-secondary.activated { - opacity: .4; -} - -.toolbar-ios-optblue .bar-button-outline-ios-secondary { - border-color: #32db64; - color: #32db64; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-outline-ios-secondary.activated { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-optblue .bar-button-solid-ios-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-ios-optblue .bar-button-solid-ios-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-ios-optblue .bar-button-danger-ios, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger, -.toolbar-ios-optblue .bar-button-clear-ios-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-danger-ios:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-clear-ios-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-ios-optblue .bar-button-danger-ios.activated, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger.activated, -.toolbar-ios-optblue .bar-button-clear-ios-danger.activated { - opacity: .4; -} - -.toolbar-ios-optblue .bar-button-outline-ios-danger { - border-color: #f53d3d; - color: #f53d3d; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-outline-ios-danger.activated { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-optblue .bar-button-solid-ios-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-ios-optblue .bar-button-solid-ios-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-ios-optblue .bar-button-light-ios, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-light, -.toolbar-ios-optblue .bar-button-clear-ios-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-light-ios:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-default.bar-button-ios-light:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-clear-ios-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-ios-optblue .bar-button-light-ios.activated, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-light.activated, -.toolbar-ios-optblue .bar-button-clear-ios-light.activated { - opacity: .4; -} - -.toolbar-ios-optblue .bar-button-outline-ios-light { - border-color: #f4f4f4; - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-outline-ios-light.activated { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-optblue .bar-button-solid-ios-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-ios-optblue .bar-button-solid-ios-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-ios-optblue .bar-button-dark-ios, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark, -.toolbar-ios-optblue .bar-button-clear-ios-dark { - color: #222; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-dark-ios:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-clear-ios-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-ios-optblue .bar-button-dark-ios.activated, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark.activated, -.toolbar-ios-optblue .bar-button-clear-ios-dark.activated { - opacity: .4; -} - -.toolbar-ios-optblue .bar-button-outline-ios-dark { - border-color: #222; - color: #222; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-outline-ios-dark.activated { - color: #fff; - background-color: #222; -} - -.toolbar-ios-optblue .bar-button-solid-ios-dark { - color: #fff; - background-color: #222; -} - -.toolbar-ios-optblue .bar-button-solid-ios-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-ios-optblue .bar-button-optblue-ios, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue, -.toolbar-ios-optblue .bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-optblue-ios:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.toolbar-ios-optblue .bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-ios-optblue .bar-button-optblue-ios.activated, -.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue.activated, -.toolbar-ios-optblue .bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.toolbar-ios-optblue .bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.toolbar-ios-optblue .bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-optblue .bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-ios-optblue .bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-optblue-ios, -.bar-button-default.bar-button-ios-optblue, -.bar-button-clear-ios-optblue { - color: #E00201; - background-color: transparent; -} - -.bar-button-optblue-ios:hover:not(.disable-hover), -.bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover), -.bar-button-clear-ios-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.bar-button-optblue-ios.activated, -.bar-button-default.bar-button-ios-optblue.activated, -.bar-button-clear-ios-optblue.activated { - opacity: .4; -} - -.bar-button-outline-ios-optblue { - border-color: #E00201; - color: #E00201; - background-color: transparent; -} - -.bar-button-outline-ios-optblue.activated { - color: #fff; - background-color: #E00201; -} - -.bar-button-solid-ios-optblue { - color: #fff; - background-color: #E00201; -} - -.bar-button-solid-ios-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-strong-ios { - font-weight: 600; -} - -.toolbar-md { - padding: 4px; - min-height: 56px; -} - -.toolbar-background-md { - border-color: #b2b2b2; - background: #f8f8f8; -} - -.header-md::after, -.tabs-md[tabsPlacement="top"] > .tabbar::after, -.footer-md::before, -.tabs-md[tabsPlacement="bottom"] > .tabbar::before { - left: 0; - bottom: -5px; - background-position: left 0 top -2px; - position: absolute; - width: 100%; - height: 5px; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==); - background-repeat: repeat-x; - content: ""; -} - -.footer-md::before, -.tabs-md[tabsPlacement="bottom"] > .tabbar::before { - top: -2px; - bottom: auto; - background-position: left 0 top 0; - height: 2px; -} - -.header-md[no-border]::after, -.footer-md[no-border]::before, -.tabs-md[tabsPlacement="top"][no-border] > .tabbar::after, -.tabs-md[tabsPlacement="bottom"][no-border] > .tabbar::before { - display: none; -} - -.toolbar-content-md { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-ordinal-group: 4; - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - min-width: 0; - max-width: 100%; -} - -.toolbar-title-md { - padding: 0 12px; - font-size: 2rem; - font-weight: 500; - color: #424242; -} - -.bar-buttons-md { - -webkit-box-ordinal-group: 5; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.bar-buttons-md[left] { - -webkit-box-ordinal-group: 3; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; -} - -.bar-button-md:first-child { - margin-left: 0; -} - -.bar-buttons-md[end] { - text-align: right; - text-align: end; - -webkit-box-ordinal-group: 6; - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; -} - -.bar-buttons-md[right] { - text-align: right; - -webkit-box-ordinal-group: 7; - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; -} - -.bar-button-md { - margin: 0 0.2rem; - padding: 0 5px; - border-radius: 2px; - height: 32px; - border: 0; - font-size: 1.4rem; - font-weight: 500; - text-transform: uppercase; -} - -.bar-button-solid-md, -.bar-button-outline-md { - overflow: hidden; -} - -.bar-button-outline-md { - border-width: 1px; - border-style: solid; - border-color: #424242; - color: #424242; - background-color: transparent; -} - -.bar-button-outline-md:hover:not(.disable-hover) { - opacity: .4; -} - -.bar-button-outline-md.activated { - background-color: transparent; -} - -.bar-button-outline-md .button-effect { - background-color: #424242; -} - -.bar-button-solid-md { - color: #fff; - background-color: #424242; -} - -.bar-button-solid-md:hover:not(.disable-hover) { - color: #fff; -} - -.bar-button-solid-md.activated { - color: #fff; - background-color: #515151; -} - -.bar-button-md.bar-button-icon-start ion-icon { - padding-right: 0.3em; - font-size: 1.4em; - line-height: .67; - pointer-events: none; -} - -.bar-button-md.bar-button-icon-end ion-icon { - padding-left: 0.4em; - font-size: 1.4em; - line-height: .67; - pointer-events: none; -} - -.bar-button-md[icon-only] { - padding: 0; -} - -.bar-button-md[icon-only] ion-icon { - padding: 0 0.1em; - min-width: 28px; - font-size: 1.8em; - line-height: .67; - pointer-events: none; -} - -.back-button-md { - margin: 0 6px; - min-width: 44px; - -webkit-box-shadow: none; - box-shadow: none; -} - -.back-button-icon-md { - margin: 0; - padding: 0 6px; - text-align: left; - text-align: start; - font-size: 2.4rem; - font-weight: normal; -} - -.bar-button-menutoggle-md { - margin: 0 6px; - padding: 0 2px; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - min-width: 44px; -} - -.bar-button-menutoggle-md ion-icon { - padding: 0 6px; - font-size: 2.4rem; -} - -.bar-button-menutoggle-md[end], -.bar-button-menutoggle-md[right] { - margin: 0 2px; - -webkit-box-ordinal-group: 8; - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; - min-width: 28px; -} - -.bar-button-default-md, -.bar-button-clear-md-default, -.bar-button-md-default { - color: #424242; - background-color: transparent; -} - -.bar-button-default-md:hover:not(.disable-hover), -.bar-button-clear-md-default:hover:not(.disable-hover), -.bar-button-md-default:hover:not(.disable-hover) { - color: #424242; -} - -.bar-button-clear-md, -.bar-button-clear-md-clear, -.bar-button-md-clear { - color: #424242; - background-color: transparent; -} - -.bar-button-clear-md:hover:not(.disable-hover), -.bar-button-clear-md-clear:hover:not(.disable-hover), -.bar-button-md-clear:hover:not(.disable-hover) { - color: #424242; -} - -.toolbar-md-primary .toolbar-background-md { - background: #673AB7; -} - -.toolbar-md-primary .bar-button-clear-md, -.toolbar-md-primary .bar-button-default-md, -.toolbar-md-primary .bar-button-outline-md, -.toolbar-md-primary .toolbar-title-md { - color: #fff; -} - -.toolbar-md-primary .bar-button-clear-md .button-effect, -.toolbar-md-primary .bar-button-default-md .button-effect, -.toolbar-md-primary .bar-button-outline-md .button-effect { - background-color: #fff; -} - -.toolbar-md-primary .bar-button-outline-md { - border-color: #fff; -} - -.toolbar-md-primary .bar-button-primary-md, -.toolbar-md-primary .bar-button-clear-md-primary, -.toolbar-md-primary .bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-primary-md:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-clear-md-primary:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-md-primary .bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.toolbar-md-primary .bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-md-primary .bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-primary .bar-button-secondary-md, -.toolbar-md-primary .bar-button-clear-md-secondary, -.toolbar-md-primary .bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-secondary-md:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-clear-md-secondary:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-md-primary .bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.toolbar-md-primary .bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-md-primary .bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-primary .bar-button-danger-md, -.toolbar-md-primary .bar-button-clear-md-danger, -.toolbar-md-primary .bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-danger-md:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-clear-md-danger:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-md-primary .bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.toolbar-md-primary .bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-md-primary .bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-primary .bar-button-light-md, -.toolbar-md-primary .bar-button-clear-md-light, -.toolbar-md-primary .bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-light-md:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-clear-md-light:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-md-primary .bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-light.activated { - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.toolbar-md-primary .bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.toolbar-md-primary .bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-primary .bar-button-dark-md, -.toolbar-md-primary .bar-button-clear-md-dark, -.toolbar-md-primary .bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-dark-md:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-clear-md-dark:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-md-primary .bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.toolbar-md-primary .bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.toolbar-md-primary .bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-primary .bar-button-optblue-md, -.toolbar-md-primary .bar-button-clear-md-optblue, -.toolbar-md-primary .bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-optblue-md:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-clear-md-optblue:hover:not(.disable-hover), -.toolbar-md-primary .bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-md-primary .bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.toolbar-md-primary .bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.toolbar-md-primary .bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-md-primary .bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-primary-md, -.bar-button-clear-md-primary, -.bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.bar-button-primary-md:hover:not(.disable-hover), -.bar-button-clear-md-primary:hover:not(.disable-hover), -.bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-secondary .toolbar-background-md { - background: #32db64; -} - -.toolbar-md-secondary .bar-button-clear-md, -.toolbar-md-secondary .bar-button-default-md, -.toolbar-md-secondary .bar-button-outline-md, -.toolbar-md-secondary .toolbar-title-md { - color: #fff; -} - -.toolbar-md-secondary .bar-button-clear-md .button-effect, -.toolbar-md-secondary .bar-button-default-md .button-effect, -.toolbar-md-secondary .bar-button-outline-md .button-effect { - background-color: #fff; -} - -.toolbar-md-secondary .bar-button-outline-md { - border-color: #fff; -} - -.toolbar-md-secondary .bar-button-primary-md, -.toolbar-md-secondary .bar-button-clear-md-primary, -.toolbar-md-secondary .bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-primary-md:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-clear-md-primary:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-md-secondary .bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.toolbar-md-secondary .bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-md-secondary .bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-secondary .bar-button-secondary-md, -.toolbar-md-secondary .bar-button-clear-md-secondary, -.toolbar-md-secondary .bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-secondary-md:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-clear-md-secondary:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-md-secondary .bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.toolbar-md-secondary .bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-md-secondary .bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-secondary .bar-button-danger-md, -.toolbar-md-secondary .bar-button-clear-md-danger, -.toolbar-md-secondary .bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-danger-md:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-clear-md-danger:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-md-secondary .bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.toolbar-md-secondary .bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-md-secondary .bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-secondary .bar-button-light-md, -.toolbar-md-secondary .bar-button-clear-md-light, -.toolbar-md-secondary .bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-light-md:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-clear-md-light:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-md-secondary .bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-light.activated { - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.toolbar-md-secondary .bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.toolbar-md-secondary .bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-secondary .bar-button-dark-md, -.toolbar-md-secondary .bar-button-clear-md-dark, -.toolbar-md-secondary .bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-dark-md:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-clear-md-dark:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-md-secondary .bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.toolbar-md-secondary .bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.toolbar-md-secondary .bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-secondary .bar-button-optblue-md, -.toolbar-md-secondary .bar-button-clear-md-optblue, -.toolbar-md-secondary .bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-optblue-md:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-clear-md-optblue:hover:not(.disable-hover), -.toolbar-md-secondary .bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-md-secondary .bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.toolbar-md-secondary .bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.toolbar-md-secondary .bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-md-secondary .bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-secondary-md, -.bar-button-clear-md-secondary, -.bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.bar-button-secondary-md:hover:not(.disable-hover), -.bar-button-clear-md-secondary:hover:not(.disable-hover), -.bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-danger .toolbar-background-md { - background: #f53d3d; -} - -.toolbar-md-danger .bar-button-clear-md, -.toolbar-md-danger .bar-button-default-md, -.toolbar-md-danger .bar-button-outline-md, -.toolbar-md-danger .toolbar-title-md { - color: #fff; -} - -.toolbar-md-danger .bar-button-clear-md .button-effect, -.toolbar-md-danger .bar-button-default-md .button-effect, -.toolbar-md-danger .bar-button-outline-md .button-effect { - background-color: #fff; -} - -.toolbar-md-danger .bar-button-outline-md { - border-color: #fff; -} - -.toolbar-md-danger .bar-button-primary-md, -.toolbar-md-danger .bar-button-clear-md-primary, -.toolbar-md-danger .bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-primary-md:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-clear-md-primary:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-md-danger .bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.toolbar-md-danger .bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-md-danger .bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-danger .bar-button-secondary-md, -.toolbar-md-danger .bar-button-clear-md-secondary, -.toolbar-md-danger .bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-secondary-md:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-clear-md-secondary:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-md-danger .bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.toolbar-md-danger .bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-md-danger .bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-danger .bar-button-danger-md, -.toolbar-md-danger .bar-button-clear-md-danger, -.toolbar-md-danger .bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-danger-md:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-clear-md-danger:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-md-danger .bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.toolbar-md-danger .bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-md-danger .bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-danger .bar-button-light-md, -.toolbar-md-danger .bar-button-clear-md-light, -.toolbar-md-danger .bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-light-md:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-clear-md-light:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-md-danger .bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-light.activated { - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.toolbar-md-danger .bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.toolbar-md-danger .bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-danger .bar-button-dark-md, -.toolbar-md-danger .bar-button-clear-md-dark, -.toolbar-md-danger .bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-dark-md:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-clear-md-dark:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-md-danger .bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.toolbar-md-danger .bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.toolbar-md-danger .bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-danger .bar-button-optblue-md, -.toolbar-md-danger .bar-button-clear-md-optblue, -.toolbar-md-danger .bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-optblue-md:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-clear-md-optblue:hover:not(.disable-hover), -.toolbar-md-danger .bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-md-danger .bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.toolbar-md-danger .bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.toolbar-md-danger .bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-md-danger .bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-danger-md, -.bar-button-clear-md-danger, -.bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.bar-button-danger-md:hover:not(.disable-hover), -.bar-button-clear-md-danger:hover:not(.disable-hover), -.bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-light .toolbar-background-md { - background: #f4f4f4; -} - -.toolbar-md-light .bar-button-clear-md, -.toolbar-md-light .bar-button-default-md, -.toolbar-md-light .bar-button-outline-md, -.toolbar-md-light .toolbar-title-md { - color: #424242; -} - -.toolbar-md-light .bar-button-clear-md .button-effect, -.toolbar-md-light .bar-button-default-md .button-effect, -.toolbar-md-light .bar-button-outline-md .button-effect { - background-color: #424242; -} - -.toolbar-md-light .bar-button-outline-md { - border-color: #424242; -} - -.toolbar-md-light .bar-button-primary-md, -.toolbar-md-light .bar-button-clear-md-primary, -.toolbar-md-light .bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-md-light .bar-button-primary-md:hover:not(.disable-hover), -.toolbar-md-light .bar-button-clear-md-primary:hover:not(.disable-hover), -.toolbar-md-light .bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-md-light .bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.toolbar-md-light .bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-md-light .bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-light .bar-button-secondary-md, -.toolbar-md-light .bar-button-clear-md-secondary, -.toolbar-md-light .bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-md-light .bar-button-secondary-md:hover:not(.disable-hover), -.toolbar-md-light .bar-button-clear-md-secondary:hover:not(.disable-hover), -.toolbar-md-light .bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-md-light .bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.toolbar-md-light .bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-md-light .bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-light .bar-button-danger-md, -.toolbar-md-light .bar-button-clear-md-danger, -.toolbar-md-light .bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-md-light .bar-button-danger-md:hover:not(.disable-hover), -.toolbar-md-light .bar-button-clear-md-danger:hover:not(.disable-hover), -.toolbar-md-light .bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-md-light .bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.toolbar-md-light .bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-md-light .bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-light .bar-button-light-md, -.toolbar-md-light .bar-button-clear-md-light, -.toolbar-md-light .bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-md-light .bar-button-light-md:hover:not(.disable-hover), -.toolbar-md-light .bar-button-clear-md-light:hover:not(.disable-hover), -.toolbar-md-light .bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-md-light .bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-light.activated { - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.toolbar-md-light .bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.toolbar-md-light .bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-light .bar-button-dark-md, -.toolbar-md-light .bar-button-clear-md-dark, -.toolbar-md-light .bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.toolbar-md-light .bar-button-dark-md:hover:not(.disable-hover), -.toolbar-md-light .bar-button-clear-md-dark:hover:not(.disable-hover), -.toolbar-md-light .bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-md-light .bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.toolbar-md-light .bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.toolbar-md-light .bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-light .bar-button-optblue-md, -.toolbar-md-light .bar-button-clear-md-optblue, -.toolbar-md-light .bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-md-light .bar-button-optblue-md:hover:not(.disable-hover), -.toolbar-md-light .bar-button-clear-md-optblue:hover:not(.disable-hover), -.toolbar-md-light .bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-md-light .bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.toolbar-md-light .bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.toolbar-md-light .bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-md-light .bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-light-md, -.bar-button-clear-md-light, -.bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.bar-button-light-md:hover:not(.disable-hover), -.bar-button-clear-md-light:hover:not(.disable-hover), -.bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.bar-button-outline-md-light.activated { - background-color: transparent; -} - -.bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-dark .toolbar-background-md { - background: #222; -} - -.toolbar-md-dark .bar-button-clear-md, -.toolbar-md-dark .bar-button-default-md, -.toolbar-md-dark .bar-button-outline-md, -.toolbar-md-dark .toolbar-title-md { - color: #fff; -} - -.toolbar-md-dark .bar-button-clear-md .button-effect, -.toolbar-md-dark .bar-button-default-md .button-effect, -.toolbar-md-dark .bar-button-outline-md .button-effect { - background-color: #fff; -} - -.toolbar-md-dark .bar-button-outline-md { - border-color: #fff; -} - -.toolbar-md-dark .bar-button-primary-md, -.toolbar-md-dark .bar-button-clear-md-primary, -.toolbar-md-dark .bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-primary-md:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-clear-md-primary:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-md-dark .bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.toolbar-md-dark .bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-md-dark .bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-dark .bar-button-secondary-md, -.toolbar-md-dark .bar-button-clear-md-secondary, -.toolbar-md-dark .bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-secondary-md:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-clear-md-secondary:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-md-dark .bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.toolbar-md-dark .bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-md-dark .bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-dark .bar-button-danger-md, -.toolbar-md-dark .bar-button-clear-md-danger, -.toolbar-md-dark .bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-danger-md:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-clear-md-danger:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-md-dark .bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.toolbar-md-dark .bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-md-dark .bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-dark .bar-button-light-md, -.toolbar-md-dark .bar-button-clear-md-light, -.toolbar-md-dark .bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-light-md:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-clear-md-light:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-md-dark .bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-light.activated { - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.toolbar-md-dark .bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.toolbar-md-dark .bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-dark .bar-button-dark-md, -.toolbar-md-dark .bar-button-clear-md-dark, -.toolbar-md-dark .bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-dark-md:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-clear-md-dark:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-md-dark .bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.toolbar-md-dark .bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.toolbar-md-dark .bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-dark .bar-button-optblue-md, -.toolbar-md-dark .bar-button-clear-md-optblue, -.toolbar-md-dark .bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-optblue-md:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-clear-md-optblue:hover:not(.disable-hover), -.toolbar-md-dark .bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-md-dark .bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.toolbar-md-dark .bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.toolbar-md-dark .bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-md-dark .bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-dark-md, -.bar-button-clear-md-dark, -.bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.bar-button-dark-md:hover:not(.disable-hover), -.bar-button-clear-md-dark:hover:not(.disable-hover), -.bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-optblue .toolbar-background-md { - background: #E00201; -} - -.toolbar-md-optblue .bar-button-clear-md, -.toolbar-md-optblue .bar-button-default-md, -.toolbar-md-optblue .bar-button-outline-md, -.toolbar-md-optblue .toolbar-title-md { - color: #fff; -} - -.toolbar-md-optblue .bar-button-clear-md .button-effect, -.toolbar-md-optblue .bar-button-default-md .button-effect, -.toolbar-md-optblue .bar-button-outline-md .button-effect { - background-color: #fff; -} - -.toolbar-md-optblue .bar-button-outline-md { - border-color: #fff; -} - -.toolbar-md-optblue .bar-button-primary-md, -.toolbar-md-optblue .bar-button-clear-md-primary, -.toolbar-md-optblue .bar-button-md-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-primary-md:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-clear-md-primary:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-md-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-md-optblue .bar-button-outline-md-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-primary.activated { - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-primary .button-effect { - background-color: #734abd; -} - -.toolbar-md-optblue .bar-button-solid-md-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-md-optblue .bar-button-solid-md-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-md-optblue .bar-button-secondary-md, -.toolbar-md-optblue .bar-button-clear-md-secondary, -.toolbar-md-optblue .bar-button-md-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-secondary-md:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-clear-md-secondary:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-md-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-md-optblue .bar-button-outline-md-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-secondary.activated { - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-secondary .button-effect { - background-color: #2ec95c; -} - -.toolbar-md-optblue .bar-button-solid-md-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-md-optblue .bar-button-solid-md-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-md-optblue .bar-button-danger-md, -.toolbar-md-optblue .bar-button-clear-md-danger, -.toolbar-md-optblue .bar-button-md-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-danger-md:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-clear-md-danger:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-md-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-md-optblue .bar-button-outline-md-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-danger.activated { - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-danger .button-effect { - background-color: #e13838; -} - -.toolbar-md-optblue .bar-button-solid-md-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-md-optblue .bar-button-solid-md-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-md-optblue .bar-button-light-md, -.toolbar-md-optblue .bar-button-clear-md-light, -.toolbar-md-optblue .bar-button-md-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-light-md:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-clear-md-light:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-md-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-md-optblue .bar-button-outline-md-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-light.activated { - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-light .button-effect { - background-color: #e0e0e0; -} - -.toolbar-md-optblue .bar-button-solid-md-light { - color: #424242; - background-color: #f4f4f4; -} - -.toolbar-md-optblue .bar-button-solid-md-light.activated { - color: #424242; - background-color: #e0e0e0; -} - -.toolbar-md-optblue .bar-button-dark-md, -.toolbar-md-optblue .bar-button-clear-md-dark, -.toolbar-md-optblue .bar-button-md-dark { - color: #222; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-dark-md:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-clear-md-dark:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-md-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-md-optblue .bar-button-outline-md-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-dark.activated { - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-dark .button-effect { - background-color: #343434; -} - -.toolbar-md-optblue .bar-button-solid-md-dark { - color: #fff; - background-color: #222; -} - -.toolbar-md-optblue .bar-button-solid-md-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-md-optblue .bar-button-optblue-md, -.toolbar-md-optblue .bar-button-clear-md-optblue, -.toolbar-md-optblue .bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-optblue-md:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-clear-md-optblue:hover:not(.disable-hover), -.toolbar-md-optblue .bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-md-optblue .bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.toolbar-md-optblue .bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.toolbar-md-optblue .bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-md-optblue .bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-optblue-md, -.bar-button-clear-md-optblue, -.bar-button-md-optblue { - color: #E00201; - background-color: transparent; -} - -.bar-button-optblue-md:hover:not(.disable-hover), -.bar-button-clear-md-optblue:hover:not(.disable-hover), -.bar-button-md-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.bar-button-outline-md-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.bar-button-outline-md-optblue.activated { - background-color: transparent; -} - -.bar-button-outline-md-optblue .button-effect { - background-color: #e21615; -} - -.bar-button-solid-md-optblue { - color: #fff; - background-color: #E00201; -} - -.bar-button-solid-md-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-strong-md { - font-weight: bold; -} - -.toolbar-wp { - padding: 4px; - min-height: 46px; -} - -.toolbar-background-wp { - border-color: #b2b2b2; - background: #f8f8f8; -} - -.toolbar-content-wp { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-ordinal-group: 4; - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - min-width: 0; - max-width: 100%; -} - -.toolbar-title-wp { - font-size: 1.5rem; - font-weight: bold; - text-transform: uppercase; - color: #000; - padding: 0 6px; -} - -.bar-buttons-wp { - -webkit-box-ordinal-group: 5; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - -webkit-transform: translateZ(0); - transform: translateZ(0); -} - -.bar-buttons-wp[left] { - -webkit-box-ordinal-group: 3; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; -} - -.bar-buttons-wp[left] .bar-button:first-child { - margin-left: 0; -} - -.bar-buttons-wp[end] { - text-align: right; - text-align: end; - -webkit-box-ordinal-group: 6; - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; -} - -.bar-buttons-wp[right] { - text-align: right; - -webkit-box-ordinal-group: 7; - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; -} - -.bar-button-wp { - margin: 0 0.2rem; - padding: 0 5px; - border-radius: 2px; - height: 32px; - border: 0; - font-size: 1.4rem; - font-weight: 500; - text-transform: uppercase; -} - -.bar-button-solid-wp, -.bar-button-outline-wp { - overflow: hidden; -} - -.bar-button-outline-wp { - border-width: 1px; - border-style: solid; - border-color: #000; - color: #000; - background-color: transparent; -} - -.bar-button-outline-wp:hover:not(.disable-hover) { - opacity: .4; -} - -.bar-button-outline-wp.activated { - color: #fff; - background-color: #000; -} - -.bar-button-solid-wp { - color: #fff; - background-color: #000; -} - -.bar-button-solid-wp:hover:not(.disable-hover) { - color: #fff; -} - -.bar-button-solid-wp.activated { - color: #fff; - background-color: #141414; -} - -.bar-button-wp.bar-button-icon-start ion-icon { - padding-right: 0.3em; - font-size: 1.4em; - line-height: .67; - pointer-events: none; -} - -.bar-button-wp.bar-button-icon-end ion-icon { - padding-left: 0.4em; - font-size: 1.4em; - line-height: .67; - pointer-events: none; -} - -.bar-button-wp[icon-only] { - padding: 0; -} - -.bar-button-wp[icon-only] ion-icon { - padding: 0 0.1em; - min-width: 28px; - font-size: 1.8em; - line-height: .67; - pointer-events: none; -} - -.back-button-wp { - margin: 0 6px; - min-width: 44px; - -webkit-box-shadow: none; - box-shadow: none; -} - -.back-button-icon-wp { - text-align: left; - text-align: start; - margin: 0; - padding: 0 6px; - font-size: 2.4rem; - font-weight: normal; -} - -.bar-button-menutoggle-wp { - margin: 0 6px; - padding: 0 2px; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - min-width: 44px; -} - -.bar-button-menutoggle-wp ion-icon { - padding: 0 6px; - font-size: 2.4rem; -} - -.bar-button-menutoggle-wp[end], -.bar-button-menutoggle-wp[right] { - margin: 0 2px; - -webkit-box-ordinal-group: 8; - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; - min-width: 28px; -} - -.bar-button-default-wp, -.bar-button-clear-wp-default, -.bar-button-wp-default { - color: #000; - background-color: transparent; -} - -.bar-button-default-wp:hover:not(.disable-hover), -.bar-button-clear-wp-default:hover:not(.disable-hover), -.bar-button-wp-default:hover:not(.disable-hover) { - color: #000; -} - -.bar-button-clear-wp, -.bar-button-clear-wp-clear, -.bar-button-wp-clear { - color: #000; - background-color: transparent; -} - -.bar-button-clear-wp:hover:not(.disable-hover), -.bar-button-clear-wp-clear:hover:not(.disable-hover), -.bar-button-wp-clear:hover:not(.disable-hover) { - color: #000; -} - -.toolbar-wp-primary .toolbar-background-wp { - background: #673AB7; -} - -.toolbar-wp-primary .bar-button-clear-wp, -.toolbar-wp-primary .bar-button-default-wp, -.toolbar-wp-primary .bar-button-outline-wp, -.toolbar-wp-primary .toolbar-title-wp { - color: #fff; -} - -.toolbar-wp-primary .bar-button-outline-wp { - border-color: #fff; -} - -.toolbar-wp-primary .bar-button-primary-wp, -.toolbar-wp-primary .bar-button-clear-wp-primary, -.toolbar-wp-primary .bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-primary-wp:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-clear-wp-primary:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-wp-primary .bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-primary .bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-wp-primary .bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-primary .bar-button-secondary-wp, -.toolbar-wp-primary .bar-button-clear-wp-secondary, -.toolbar-wp-primary .bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-secondary-wp:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-clear-wp-secondary:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-wp-primary .bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-primary .bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-wp-primary .bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-primary .bar-button-danger-wp, -.toolbar-wp-primary .bar-button-clear-wp-danger, -.toolbar-wp-primary .bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-danger-wp:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-clear-wp-danger:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-wp-primary .bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-primary .bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-wp-primary .bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-primary .bar-button-light-wp, -.toolbar-wp-primary .bar-button-clear-wp-light, -.toolbar-wp-primary .bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-light-wp:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-clear-wp-light:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-wp-primary .bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-primary .bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-wp-primary .bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-primary .bar-button-dark-wp, -.toolbar-wp-primary .bar-button-clear-wp-dark, -.toolbar-wp-primary .bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-dark-wp:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-clear-wp-dark:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-wp-primary .bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-primary .bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.toolbar-wp-primary .bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-primary .bar-button-optblue-wp, -.toolbar-wp-primary .bar-button-clear-wp-optblue, -.toolbar-wp-primary .bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-optblue-wp:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-clear-wp-optblue:hover:not(.disable-hover), -.toolbar-wp-primary .bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-wp-primary .bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-wp-primary .bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.toolbar-wp-primary .bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-wp-primary .bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-primary-wp, -.bar-button-clear-wp-primary, -.bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.bar-button-primary-wp:hover:not(.disable-hover), -.bar-button-clear-wp-primary:hover:not(.disable-hover), -.bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-secondary .toolbar-background-wp { - background: #32db64; -} - -.toolbar-wp-secondary .bar-button-clear-wp, -.toolbar-wp-secondary .bar-button-default-wp, -.toolbar-wp-secondary .bar-button-outline-wp, -.toolbar-wp-secondary .toolbar-title-wp { - color: #fff; -} - -.toolbar-wp-secondary .bar-button-outline-wp { - border-color: #fff; -} - -.toolbar-wp-secondary .bar-button-primary-wp, -.toolbar-wp-secondary .bar-button-clear-wp-primary, -.toolbar-wp-secondary .bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-primary-wp:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-clear-wp-primary:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-wp-secondary .bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-secondary .bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-wp-secondary .bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-secondary .bar-button-secondary-wp, -.toolbar-wp-secondary .bar-button-clear-wp-secondary, -.toolbar-wp-secondary .bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-secondary-wp:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-clear-wp-secondary:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-wp-secondary .bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-secondary .bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-wp-secondary .bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-secondary .bar-button-danger-wp, -.toolbar-wp-secondary .bar-button-clear-wp-danger, -.toolbar-wp-secondary .bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-danger-wp:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-clear-wp-danger:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-wp-secondary .bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-secondary .bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-wp-secondary .bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-secondary .bar-button-light-wp, -.toolbar-wp-secondary .bar-button-clear-wp-light, -.toolbar-wp-secondary .bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-light-wp:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-clear-wp-light:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-wp-secondary .bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-secondary .bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-wp-secondary .bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-secondary .bar-button-dark-wp, -.toolbar-wp-secondary .bar-button-clear-wp-dark, -.toolbar-wp-secondary .bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-dark-wp:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-clear-wp-dark:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-wp-secondary .bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-secondary .bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.toolbar-wp-secondary .bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-secondary .bar-button-optblue-wp, -.toolbar-wp-secondary .bar-button-clear-wp-optblue, -.toolbar-wp-secondary .bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-optblue-wp:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-clear-wp-optblue:hover:not(.disable-hover), -.toolbar-wp-secondary .bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-wp-secondary .bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-wp-secondary .bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.toolbar-wp-secondary .bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-wp-secondary .bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-secondary-wp, -.bar-button-clear-wp-secondary, -.bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.bar-button-secondary-wp:hover:not(.disable-hover), -.bar-button-clear-wp-secondary:hover:not(.disable-hover), -.bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-danger .toolbar-background-wp { - background: #f53d3d; -} - -.toolbar-wp-danger .bar-button-clear-wp, -.toolbar-wp-danger .bar-button-default-wp, -.toolbar-wp-danger .bar-button-outline-wp, -.toolbar-wp-danger .toolbar-title-wp { - color: #fff; -} - -.toolbar-wp-danger .bar-button-outline-wp { - border-color: #fff; -} - -.toolbar-wp-danger .bar-button-primary-wp, -.toolbar-wp-danger .bar-button-clear-wp-primary, -.toolbar-wp-danger .bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-primary-wp:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-clear-wp-primary:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-wp-danger .bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-danger .bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-wp-danger .bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-danger .bar-button-secondary-wp, -.toolbar-wp-danger .bar-button-clear-wp-secondary, -.toolbar-wp-danger .bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-secondary-wp:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-clear-wp-secondary:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-wp-danger .bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-danger .bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-wp-danger .bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-danger .bar-button-danger-wp, -.toolbar-wp-danger .bar-button-clear-wp-danger, -.toolbar-wp-danger .bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-danger-wp:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-clear-wp-danger:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-wp-danger .bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-danger .bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-wp-danger .bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-danger .bar-button-light-wp, -.toolbar-wp-danger .bar-button-clear-wp-light, -.toolbar-wp-danger .bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-light-wp:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-clear-wp-light:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-wp-danger .bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-danger .bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-wp-danger .bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-danger .bar-button-dark-wp, -.toolbar-wp-danger .bar-button-clear-wp-dark, -.toolbar-wp-danger .bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-dark-wp:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-clear-wp-dark:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-wp-danger .bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-danger .bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.toolbar-wp-danger .bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-danger .bar-button-optblue-wp, -.toolbar-wp-danger .bar-button-clear-wp-optblue, -.toolbar-wp-danger .bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-optblue-wp:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-clear-wp-optblue:hover:not(.disable-hover), -.toolbar-wp-danger .bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-wp-danger .bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-wp-danger .bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.toolbar-wp-danger .bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-wp-danger .bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-danger-wp, -.bar-button-clear-wp-danger, -.bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.bar-button-danger-wp:hover:not(.disable-hover), -.bar-button-clear-wp-danger:hover:not(.disable-hover), -.bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-light .toolbar-background-wp { - background: #f4f4f4; -} - -.toolbar-wp-light .bar-button-clear-wp, -.toolbar-wp-light .bar-button-default-wp, -.toolbar-wp-light .bar-button-outline-wp, -.toolbar-wp-light .toolbar-title-wp { - color: #000; -} - -.toolbar-wp-light .bar-button-outline-wp { - border-color: #000; -} - -.toolbar-wp-light .bar-button-primary-wp, -.toolbar-wp-light .bar-button-clear-wp-primary, -.toolbar-wp-light .bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-primary-wp:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-clear-wp-primary:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-wp-light .bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-light .bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-wp-light .bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-light .bar-button-secondary-wp, -.toolbar-wp-light .bar-button-clear-wp-secondary, -.toolbar-wp-light .bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-secondary-wp:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-clear-wp-secondary:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-wp-light .bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-light .bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-wp-light .bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-light .bar-button-danger-wp, -.toolbar-wp-light .bar-button-clear-wp-danger, -.toolbar-wp-light .bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-danger-wp:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-clear-wp-danger:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-wp-light .bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-light .bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-wp-light .bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-light .bar-button-light-wp, -.toolbar-wp-light .bar-button-clear-wp-light, -.toolbar-wp-light .bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-light-wp:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-clear-wp-light:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-wp-light .bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-light .bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-wp-light .bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-light .bar-button-dark-wp, -.toolbar-wp-light .bar-button-clear-wp-dark, -.toolbar-wp-light .bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-dark-wp:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-clear-wp-dark:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-wp-light .bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-light .bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.toolbar-wp-light .bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-light .bar-button-optblue-wp, -.toolbar-wp-light .bar-button-clear-wp-optblue, -.toolbar-wp-light .bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-optblue-wp:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-clear-wp-optblue:hover:not(.disable-hover), -.toolbar-wp-light .bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-wp-light .bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-wp-light .bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.toolbar-wp-light .bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-wp-light .bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-light-wp, -.bar-button-clear-wp-light, -.bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.bar-button-light-wp:hover:not(.disable-hover), -.bar-button-clear-wp-light:hover:not(.disable-hover), -.bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-dark .toolbar-background-wp { - background: #222; -} - -.toolbar-wp-dark .bar-button-clear-wp, -.toolbar-wp-dark .bar-button-default-wp, -.toolbar-wp-dark .bar-button-outline-wp, -.toolbar-wp-dark .toolbar-title-wp { - color: #fff; -} - -.toolbar-wp-dark .bar-button-outline-wp { - border-color: #fff; -} - -.toolbar-wp-dark .bar-button-primary-wp, -.toolbar-wp-dark .bar-button-clear-wp-primary, -.toolbar-wp-dark .bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-primary-wp:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-clear-wp-primary:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-wp-dark .bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-dark .bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-wp-dark .bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-dark .bar-button-secondary-wp, -.toolbar-wp-dark .bar-button-clear-wp-secondary, -.toolbar-wp-dark .bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-secondary-wp:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-clear-wp-secondary:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-wp-dark .bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-dark .bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-wp-dark .bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-dark .bar-button-danger-wp, -.toolbar-wp-dark .bar-button-clear-wp-danger, -.toolbar-wp-dark .bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-danger-wp:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-clear-wp-danger:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-wp-dark .bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-dark .bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-wp-dark .bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-dark .bar-button-light-wp, -.toolbar-wp-dark .bar-button-clear-wp-light, -.toolbar-wp-dark .bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-light-wp:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-clear-wp-light:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-wp-dark .bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-dark .bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-wp-dark .bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-dark .bar-button-dark-wp, -.toolbar-wp-dark .bar-button-clear-wp-dark, -.toolbar-wp-dark .bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-dark-wp:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-clear-wp-dark:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-wp-dark .bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-dark .bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.toolbar-wp-dark .bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-dark .bar-button-optblue-wp, -.toolbar-wp-dark .bar-button-clear-wp-optblue, -.toolbar-wp-dark .bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-optblue-wp:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-clear-wp-optblue:hover:not(.disable-hover), -.toolbar-wp-dark .bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-wp-dark .bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-wp-dark .bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.toolbar-wp-dark .bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-wp-dark .bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-dark-wp, -.bar-button-clear-wp-dark, -.bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.bar-button-dark-wp:hover:not(.disable-hover), -.bar-button-clear-wp-dark:hover:not(.disable-hover), -.bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-optblue .toolbar-background-wp { - background: #E00201; -} - -.toolbar-wp-optblue .bar-button-clear-wp, -.toolbar-wp-optblue .bar-button-default-wp, -.toolbar-wp-optblue .bar-button-outline-wp, -.toolbar-wp-optblue .toolbar-title-wp { - color: #fff; -} - -.toolbar-wp-optblue .bar-button-outline-wp { - border-color: #fff; -} - -.toolbar-wp-optblue .bar-button-primary-wp, -.toolbar-wp-optblue .bar-button-clear-wp-primary, -.toolbar-wp-optblue .bar-button-wp-primary { - color: #673AB7; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-primary-wp:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-clear-wp-primary:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-wp-primary:hover:not(.disable-hover) { - color: #673AB7; -} - -.toolbar-wp-optblue .bar-button-outline-wp-primary { - border-color: #734abd; - color: #734abd; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-outline-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-optblue .bar-button-solid-wp-primary { - color: #fff; - background-color: #673AB7; -} - -.toolbar-wp-optblue .bar-button-solid-wp-primary.activated { - color: #fff; - background-color: #734abd; -} - -.toolbar-wp-optblue .bar-button-secondary-wp, -.toolbar-wp-optblue .bar-button-clear-wp-secondary, -.toolbar-wp-optblue .bar-button-wp-secondary { - color: #32db64; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-secondary-wp:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-clear-wp-secondary:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-wp-secondary:hover:not(.disable-hover) { - color: #32db64; -} - -.toolbar-wp-optblue .bar-button-outline-wp-secondary { - border-color: #2ec95c; - color: #2ec95c; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-outline-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-optblue .bar-button-solid-wp-secondary { - color: #fff; - background-color: #32db64; -} - -.toolbar-wp-optblue .bar-button-solid-wp-secondary.activated { - color: #fff; - background-color: #2ec95c; -} - -.toolbar-wp-optblue .bar-button-danger-wp, -.toolbar-wp-optblue .bar-button-clear-wp-danger, -.toolbar-wp-optblue .bar-button-wp-danger { - color: #f53d3d; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-danger-wp:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-clear-wp-danger:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-wp-danger:hover:not(.disable-hover) { - color: #f53d3d; -} - -.toolbar-wp-optblue .bar-button-outline-wp-danger { - border-color: #e13838; - color: #e13838; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-outline-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-optblue .bar-button-solid-wp-danger { - color: #fff; - background-color: #f53d3d; -} - -.toolbar-wp-optblue .bar-button-solid-wp-danger.activated { - color: #fff; - background-color: #e13838; -} - -.toolbar-wp-optblue .bar-button-light-wp, -.toolbar-wp-optblue .bar-button-clear-wp-light, -.toolbar-wp-optblue .bar-button-wp-light { - color: #f4f4f4; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-light-wp:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-clear-wp-light:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-wp-light:hover:not(.disable-hover) { - color: #f4f4f4; -} - -.toolbar-wp-optblue .bar-button-outline-wp-light { - border-color: #e0e0e0; - color: #e0e0e0; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-outline-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-optblue .bar-button-solid-wp-light { - color: #000; - background-color: #f4f4f4; -} - -.toolbar-wp-optblue .bar-button-solid-wp-light.activated { - color: #000; - background-color: #e0e0e0; -} - -.toolbar-wp-optblue .bar-button-dark-wp, -.toolbar-wp-optblue .bar-button-clear-wp-dark, -.toolbar-wp-optblue .bar-button-wp-dark { - color: #222; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-dark-wp:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-clear-wp-dark:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-wp-dark:hover:not(.disable-hover) { - color: #222; -} - -.toolbar-wp-optblue .bar-button-outline-wp-dark { - border-color: #343434; - color: #343434; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-outline-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-optblue .bar-button-solid-wp-dark { - color: #fff; - background-color: #222; -} - -.toolbar-wp-optblue .bar-button-solid-wp-dark.activated { - color: #fff; - background-color: #343434; -} - -.toolbar-wp-optblue .bar-button-optblue-wp, -.toolbar-wp-optblue .bar-button-clear-wp-optblue, -.toolbar-wp-optblue .bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-optblue-wp:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-clear-wp-optblue:hover:not(.disable-hover), -.toolbar-wp-optblue .bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.toolbar-wp-optblue .bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.toolbar-wp-optblue .bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.toolbar-wp-optblue .bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.toolbar-wp-optblue .bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-optblue-wp, -.bar-button-clear-wp-optblue, -.bar-button-wp-optblue { - color: #E00201; - background-color: transparent; -} - -.bar-button-optblue-wp:hover:not(.disable-hover), -.bar-button-clear-wp-optblue:hover:not(.disable-hover), -.bar-button-wp-optblue:hover:not(.disable-hover) { - color: #E00201; -} - -.bar-button-outline-wp-optblue { - border-color: #e21615; - color: #e21615; - background-color: transparent; -} - -.bar-button-outline-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-solid-wp-optblue { - color: #fff; - background-color: #E00201; -} - -.bar-button-solid-wp-optblue.activated { - color: #fff; - background-color: #e21615; -} - -.bar-button-strong-wp { - font-weight: bold; -} - -.text-ios-primary { - color: #673AB7; -} - -.text-ios-secondary { - color: #32db64; -} - -.text-ios-danger { - color: #f53d3d; -} - -.text-ios-light { - color: #f4f4f4; -} - -.text-ios-dark { - color: #222; -} - -.text-ios-optblue { - color: #E00201; -} - -.text-md-primary { - color: #673AB7; -} - -.text-md-secondary { - color: #32db64; -} - -.text-md-danger { - color: #f53d3d; -} - -.text-md-light { - color: #f4f4f4; -} - -.text-md-dark { - color: #222; -} - -.text-md-optblue { - color: #E00201; -} - -.text-wp-primary { - color: #673AB7; -} - -.text-wp-secondary { - color: #32db64; -} - -.text-wp-danger { - color: #f53d3d; -} - -.text-wp-light { - color: #f4f4f4; -} - -.text-wp-dark { - color: #222; -} - -.text-wp-optblue { - color: #E00201; -} - -.virtual-loading { - opacity: 0; -} - -.virtual-scroll { - position: relative; - contain: content; -} - -.virtual-scroll .virtual-position, -.virtual-scroll .virtual-position.item { - left: 0; - top: 0; - position: absolute; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - contain: content; -} - -.virtual-scroll .virtual-last { - display: none; -} - -.ios ion-nav > .ion-page > .toolbar.statusbar-padding:first-child, -.ios ion-nav > .ion-page > ion-header > .toolbar.statusbar-padding:first-child, -.ios ion-tab > .ion-page > .toolbar.statusbar-padding:first-child, -.ios ion-tab > .ion-page > ion-header > .toolbar.statusbar-padding:first-child, -.ios ion-tabs > .ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, -.ios ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, -.ios ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { - padding-top: calc(20px + 4px); - padding-top: calc(constant(safe-area-inset-top) + 4px); - padding-top: calc(env(safe-area-inset-top) + 4px); - min-height: calc(44px + 20px); - min-height: calc(44px + constant(safe-area-inset-top)); - min-height: calc(44px + env(safe-area-inset-top)); -} - -.ios ion-nav > .ion-page > ion-content.statusbar-padding:first-child .scroll-content, -.ios ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.ios ion-tab > .ion-page > ion-content.statusbar-padding:first-child .scroll-content, -.ios ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.ios ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.ios ion-menu > .menu-inner > ion-content.statusbar-padding:first-child .scroll-content, -.ios ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child .scroll-content { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); -} - -.ios ion-nav > .ion-page > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-nav > .ion-page > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.ios ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.ios ion-tab > .ion-page > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-tab > .ion-page > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.ios ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.ios ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.ios ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.ios ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.ios ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content { - padding-top: calc(16px + 20px); - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); -} - -.ios ion-nav > .ion-page > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-nav > .ion-page > .toolbar.statusbar-padding:first-child ion-title, -.ios ion-nav > .ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-nav > .ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title, -.ios ion-tab > .ion-page > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-tab > .ion-page > .toolbar.statusbar-padding:first-child ion-title, -.ios ion-tab > .ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-tab > .ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title, -.ios ion-tabs > .ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-tabs > .ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child ion-title, -.ios ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child ion-title, -.ios ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child ion-segment, -.ios ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child ion-title { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - height: calc(44px + 20px); - height: calc(44px + constant(safe-area-inset-top)); - height: calc(44px + env(safe-area-inset-top)); - min-height: calc(44px + 20px); - min-height: calc(44px + constant(safe-area-inset-top)); - min-height: calc(44px + env(safe-area-inset-top)); -} - -@media only screen and (max-width: 767px) { - .ios .modal-wrapper > .ion-page > ion-header > .toolbar.statusbar-padding:first-child { - padding-top: calc(20px + 4px); - padding-top: calc(constant(safe-area-inset-top) + 4px); - padding-top: calc(env(safe-area-inset-top) + 4px); - min-height: calc(44px + 20px); - min-height: calc(44px + constant(safe-area-inset-top)); - min-height: calc(44px + env(safe-area-inset-top)); - } - .ios .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - } - .ios .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, - .ios .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content { - padding-top: calc(16px + 20px); - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - } - .ios .modal-wrapper > .ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, - .ios .modal-wrapper > .ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - height: calc(44px + 20px); - height: calc(44px + constant(safe-area-inset-top)); - height: calc(44px + env(safe-area-inset-top)); - min-height: calc(44px + 20px); - min-height: calc(44px + constant(safe-area-inset-top)); - min-height: calc(44px + env(safe-area-inset-top)); - } -} - -.ios .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar { - padding-bottom: constant(safe-area-inset-bottom); - padding-bottom: env(safe-area-inset-bottom); -} - -.ios ion-footer .toolbar:last-child { - padding-bottom: calc(constant(safe-area-inset-bottom) + 4px); - padding-bottom: calc(env(safe-area-inset-bottom) + 4px); - min-height: calc(44px + constant(safe-area-inset-bottom)); - min-height: calc(44px + env(safe-area-inset-bottom)); -} - -.md ion-nav > .ion-page > .toolbar.statusbar-padding:first-child, -.md ion-nav > .ion-page > ion-header > .toolbar.statusbar-padding:first-child, -.md ion-tab > .ion-page > .toolbar.statusbar-padding:first-child, -.md ion-tab > .ion-page > ion-header > .toolbar.statusbar-padding:first-child, -.md ion-tabs > .ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, -.md ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, -.md ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { - padding-top: calc(20px + 4px); - padding-top: calc(constant(safe-area-inset-top) + 4px); - padding-top: calc(env(safe-area-inset-top) + 4px); - min-height: calc(56px + 20px); - min-height: calc(56px + constant(safe-area-inset-top)); - min-height: calc(56px + env(safe-area-inset-top)); -} - -.md ion-nav > .ion-page > ion-content.statusbar-padding:first-child .scroll-content, -.md ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.md ion-tab > .ion-page > ion-content.statusbar-padding:first-child .scroll-content, -.md ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.md ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.md ion-menu > .menu-inner > ion-content.statusbar-padding:first-child .scroll-content, -.md ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child .scroll-content { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); -} - -.md ion-nav > .ion-page > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-nav > .ion-page > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.md ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.md ion-tab > .ion-page > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-tab > .ion-page > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.md ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.md ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.md ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.md ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.md ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content { - padding-top: calc(16px + 20px); - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); -} - -@media only screen and (max-width: 767px) { - .md .modal-wrapper > .ion-page > ion-header > .toolbar.statusbar-padding:first-child { - padding-top: calc(20px + 4px); - padding-top: calc(constant(safe-area-inset-top) + 4px); - padding-top: calc(env(safe-area-inset-top) + 4px); - min-height: calc(56px + 20px); - min-height: calc(56px + constant(safe-area-inset-top)); - min-height: calc(56px + env(safe-area-inset-top)); - } - .md .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - } - .md .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, - .md .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content { - padding-top: calc(16px + 20px); - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - } -} - -.md .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar { - padding-bottom: constant(safe-area-inset-bottom); - padding-bottom: env(safe-area-inset-bottom); -} - -.md ion-footer .toolbar:last-child { - padding-bottom: calc(constant(safe-area-inset-bottom) + 4px); - padding-bottom: calc(env(safe-area-inset-bottom) + 4px); - min-height: calc(56px + constant(safe-area-inset-bottom)); - min-height: calc(56px + env(safe-area-inset-bottom)); -} - -.wp ion-nav > .ion-page > .toolbar.statusbar-padding:first-child, -.wp ion-nav > .ion-page > ion-header > .toolbar.statusbar-padding:first-child, -.wp ion-tab > .ion-page > .toolbar.statusbar-padding:first-child, -.wp ion-tab > .ion-page > ion-header > .toolbar.statusbar-padding:first-child, -.wp ion-tabs > .ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, -.wp ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, -.wp ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { - padding-top: calc(20px + 4px); - padding-top: calc(constant(safe-area-inset-top) + 4px); - padding-top: calc(env(safe-area-inset-top) + 4px); - min-height: calc(46px + 20px); - min-height: calc(46px + constant(safe-area-inset-top)); - min-height: calc(46px + env(safe-area-inset-top)); -} - -.wp ion-nav > .ion-page > ion-content.statusbar-padding:first-child .scroll-content, -.wp ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.wp ion-tab > .ion-page > ion-content.statusbar-padding:first-child .scroll-content, -.wp ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.wp ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child .scroll-content, -.wp ion-menu > .menu-inner > ion-content.statusbar-padding:first-child .scroll-content, -.wp ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child .scroll-content { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); -} - -.wp ion-nav > .ion-page > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-nav > .ion-page > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.wp ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-nav > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.wp ion-tab > .ion-page > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-tab > .ion-page > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.wp ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-tab > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.wp ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-tabs > .ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.wp ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] .scroll-content, -.wp ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, -.wp ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content { - padding-top: calc(16px + 20px); - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); -} - -@media only screen and (max-width: 767px) { - .wp .modal-wrapper > .ion-page > ion-header > .toolbar.statusbar-padding:first-child { - padding-top: calc(20px + 4px); - padding-top: calc(constant(safe-area-inset-top) + 4px); - padding-top: calc(env(safe-area-inset-top) + 4px); - min-height: calc(46px + 20px); - min-height: calc(46px + constant(safe-area-inset-top)); - min-height: calc(46px + env(safe-area-inset-top)); - } - .wp .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child .scroll-content { - padding-top: 20px; - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - } - .wp .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] .scroll-content, - .wp .modal-wrapper > .ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] .scroll-content { - padding-top: calc(16px + 20px); - padding-top: constant(safe-area-inset-top); - padding-top: env(safe-area-inset-top); - } -} - -.wp .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar { - padding-bottom: constant(safe-area-inset-bottom); - padding-bottom: env(safe-area-inset-bottom); -} - -.wp ion-footer .toolbar:last-child { - padding-bottom: calc(constant(safe-area-inset-bottom) + 4px); - padding-bottom: calc(env(safe-area-inset-bottom) + 4px); - min-height: calc(46px + constant(safe-area-inset-bottom)); - min-height: calc(46px + env(safe-area-inset-bottom)); -} - -image-viewer.ion-page { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - height: 100%; - opacity: 1; -} - -image-viewer.ion-page ion-navbar.toolbar .toolbar-background { - background-color: transparent; -} - -image-viewer.ion-page ion-navbar.toolbar.toolbar-ios { - padding-top: calc(20px + 4px); -} - -image-viewer.ion-page ion-navbar .bar-button-default { - color: white; -} - -image-viewer.ion-page .backdrop { - will-change: opacity; -} - -image-viewer.ion-page .image-wrapper { - position: relative; - z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - margin-top: 56px; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -image-viewer.ion-page .image { - will-change: transform; -} - -image-viewer.ion-page img { - display: block; - max-width: 100%; - max-height: 100%; - margin: 0 auto; -} - -@font-face { - font-family: Roboto; - src: url("../assets/fonts/Roboto-Light.ttf"); -} - -* { - font-family: Roboto; - font-size: 16px; -} - -.align-center { - text-align: center; -} - -.highlight { - background-color: #f4f4f4; -} - -.center { - display: block; - margin: 0 auto; -} - -.vertical-center { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} - -.top-radius { - border-radius: 10% 10% 0 0; -} - -.bottom-radius { - border-radius: 0 0 10% 10%; -} - -.round { - border-radius: 50%; -} - -.transparent-header .toolbar-content, -.transparent-header .back-button { - color: white; -} - -.transparent-header .toolbar-background, -.transparent-header ion-navbar, -.transparent-header ion-header { - background: transparent !important; - background-color: transparent !important; -} - -.transparent-header .header-md::after, -.transparent-header .toolbar-background-ios { - background-image: none; - border-bottom: 0; -} - -.transparent-header .header-ios .toolbar-background-ios, -.transparent-header .footer-ios .toolbar-background-ios { - border: 0; -} - -#menu-right button { - padding-left: 16px; -} - -#menu-right ion-content { - background: #00d2ff; - /* fallback for old browsers */ - /* Chrome 10-25, Safari 5.1-6 */ - background: -webkit-gradient(linear, right top, left top, from(#3a7bd5), to(#00d2ff)); - background: linear-gradient(to left, #3a7bd5, #00d2ff); - /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ -} - -#menu-right .menu-inner { - width: 10vh; -} - -@media screen and (orientation: landscape) { - #menu-right .menu-inner { - width: 15vh; - } -} - -#menu-right .active-menu-item { - position: absolute; - border-top: 6px solid transparent; - border-bottom: 6px solid transparent; - border-left: 6px solid #ffffff; -} - -#menu-right .label { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -#menu-right .list-md[no-lines] .item-block, -#menu-right .list-md[no-lines] ion-item-options, -#menu-right .list-md[no-lines] .item .item-inner, -#menu-right .list-ios[no-lines] .item-block, -#menu-right .list-ios[no-lines] ion-item-options, -#menu-right .list-ios[no-lines] .item .item-inner { - padding: .3rem 0; - background: transparent; - color: white; -} - -#menu-right ion-icon { - line-height: 1; -} - -.icon-badge { - top: 0px; - right: 0px; - background: #E00201; - color: white; - font-size: 12px; - position: absolute; - padding: 5px 8px; - border-radius: 15px; -} - -#menu-avatar .user-avatar { - max-width: 125px; - height: 125px; - padding: .5em; -} - -#menu-avatar h3, -#menu-avatar .label { - color: white; - font-weight: bold; - font-size: 14px; -} - -#menu-avatar .item { - background: transparent; -} - -#menu-avatar ion-content { - background: #649173; - /* fallback for old browsers */ - /* Chrome 10-25, Safari 5.1-6 */ - background: -webkit-gradient(linear, right top, left top, from(#DBD5A4), to(#649173)); - background: linear-gradient(to left, #DBD5A4, #649173); - /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ -} - -#menu-avatar .menu-inner { - background: rgba(255, 255, 255, 0.3); -} - -#menu-material .scroll-content .name { - font-weight: 500; - margin-top: 0px; - margin-left: 0px; - font-size: 24px; -} - -#menu-material .scroll-content .e-mail { - margin-top: 0; - margin-bottom: 5px; -} - -#menu-material .user-avatar { - max-width: 125px; - height: 125px; - padding: .5em; - height: 12vh; -} - -#menu-material h3, -#menu-material .label { - color: #111; - font-weight: 500; -} - -#menu-material .menu-inner { - -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12) !important; - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12) !important; -} - -#menu-material .menu-header { - background-image: url("../assets/img/misc/sidemenubg.jpg"); - background-size: cover; - color: white; - padding-bottom: 15px; -} - -#menu-material .item-md { - background-color: rgba(255, 255, 255, 0.28) !important; -} - -#menu-material ion-icon { - color: #111; -} - -#menu-dark .sidemenuHeader ion-toolbar .toolbar-background { - background: #19152C; - border: #19152C; -} - -#menu-dark .sidemenuHeader ion-toolbar ion-buttons button { - color: #fff; -} - -#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item { - background: transparent; - color: #fff; -} - -#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item ion-avatar { - background: #fff; - color: #8835C3; - border-radius: 50%; - text-align: center; -} - -#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item ion-avatar h2 { - margin: 0; - font-size: 25px; - line-height: 40px; - color: #19152C; -} - -#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item h2 { - font-size: 12px; - font-weight: normal; -} - -#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item p { - font-size: 11px; - font-weight: normal; - color: #fff; -} - -#menu-dark .menu { - background: #19152C; -} - -#menu-dark .menu ion-list button { - background: transparent; - color: #C9C7D3; - font-size: 13px; -} - -#menu-dark .menu ion-list button .item-inner { - border-bottom: 1px solid #474456 !important; -} - -#menu-dark .menu ion-list button .item-inner img { - width: 30px; - height: 30px; - vertical-align: middle; - margin-right: 10px; - margin-bottom: 5px; -} - -page-auth .scroll-content { - background-color: #eee; -} - -page-auth .mat-card { - width: 80%; - margin-left: 10%; - margin-top: 35%; - border-radius: 10px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-auth h4 { - font-weight: normal; -} - -page-auth button.mat-primary { - background-color: #E00201 !important; -} - -page-auth .mat-raised-button { - border-radius: 30px; - padding: 19px 45px; - line-height: 0px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-auth .rounded-circle { - border-radius: 50% !important; -} - -page-auth .img-fluid { - max-width: 40%; - height: auto; - margin-top: -70px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); -} - -page-auth ion-icon { - font-size: 2.2em; -} - -page-googleplaytab .SwipedTabs-indicatorSegment { - -webkit-transition: 0.2s all; - transition: 0.2s all; - -webkit-transform-origin: top 0 left 0; - transform-origin: top 0 left 0; - height: 1px; - position: relative; - top: -2px; - background-color: blue !important; -} - -page-googleplaytab .SwipedTabs-tabs ion-segment-button { - border: none !important; - color: #111 !important; - background-color: white !important; - padding-left: 16px !important; - padding-right: 20px !important; -} - -page-googleplaytab .SwipedTabs-tabs ion-segment-button.SwipedTabs-activeTab { - color: blue !important; -} - -page-googleplaytab .SwipedTabs-tabs { - width: -webkit-fit-content !important; - width: -moz-fit-content !important; - width: fit-content !important; -} - -page-googleplaytab .toolbar * { - margin: 0 !important; -} - -page-googleplaytab .tabsContent .scroll-content { - overflow-x: scroll !important; -} - -page-googleplaytab .tabsContent { - height: 50px !important; -} - -page-googleplaytab .segment-button { - max-width: initial !important; - -webkit-box-flex: 1 !important; - -webkit-flex: auto !important; - -ms-flex: auto !important; - flex: auto !important; - width: initial !important; -} - -page-googleplaytab .segment-md .segment-button { - font-size: 2.0rem; -} - -page-googleplaytab .scroll-content { - background-color: #eee !important; -} - -page-googleplaytab .grid { - padding: 0px; -} - -page-googleplaytab h1 { - margin: 2px 0; - font-size: 2.2rem !important; -} - -page-googleplaytab .scroll-content { - background-color: #eee !important; - padding: 0px !important; -} - -page-googleplaytab .mat-card { - -webkit-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(156, 39, 176, 0.6) !important; - box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(156, 39, 176, 0.6) !important; - margin-bottom: 3px; -} - -page-googleplaytab h2 { - font-size: 2.0rem; - font-weight: normal; -} - -page-input .example-form { - min-width: 150px; - max-width: 500px; - width: 100%; -} - -page-input .example-full-width { - width: 100%; -} - -page-input .cusicon { - padding-top: 36px; - font-size: 23px; - color: #3272b2; -} - -page-input mat-grid-tile { - background: white !important; -} - -page-input .fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; - -webkit-animation-duration: 15s; - animation-duration: 15s; - -webkit-transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); - transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); -} - -@font-face { - page-input { - font-family: Roboto; - src: url("../../assets/fonts/Roboto-Bold.ttf") !important; - } -} - -page-input h1 { - margin: 2px 0; - font-size: 1.6rem; - font-weight: bold !important; - color: #3272b2; -} - -page-input .box { - -webkit-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(50, 114, 178, 0.59) !important; - box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(50, 114, 178, 0.59) !important; -} - -page-input .scroll-content { - background-color: #eee !important; -} - -page-input .mat-card { - padding: 7px 16px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-input * { - font-size: 14px; -} - -page-input .mat-card-title { - margin-bottom: 0px; -} - -page-input .button-md-primary { - background-color: #E00201 !important; - margin-bottom: 0px !important; - height: 50px; -} - -page-input .mat-raised-button { - border-radius: 30px; - padding: 19px 45px; - line-height: 0px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-input .fab-md-optblue { - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-input ion-footer { - position: absolute; -} - -page-input .cardinfo { - font-size: 19px !important; - padding-bottom: 30px !important; -} - -page-login .scroll-content { - background-image: url("../assets/img/misc/login.jpg"); - background-size: cover; -} - -page-login .form { - margin: 22px; - font: inherit; - color: inherit; -} - -page-login .mat-card { - margin-top: 50%; - background-color: rgba(255, 255, 255, 0.57); - border-radius: 10px; -} - -page-login .login-session { - margin-top: 50%; -} - -page-login img { - height: 70px !important; -} - -page-login * { - font-size: 25px !important; -} - -page-login button.mat-primary { - background-color: #E00201 !important; -} - -page-login .mat-raised-button { - border-radius: 30px; - padding: 19px 45px; - line-height: 0px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-otp .scroll-content { - background-color: #eee; -} - -page-otp .mat-card { - width: 80%; - margin-left: 10%; - margin-top: 35%; - border-radius: 10px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-otp h4 { - font-weight: normal; -} - -page-otp button.mat-primary { - background-color: #E00201 !important; -} - -page-otp .mat-raised-button { - border-radius: 30px; - padding: 19px 45px; - line-height: 0px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-otp .rounded-circle { - border-radius: 50% !important; - background-image: url("../assets/img/misc/avatar.jpg"); -} - -page-otp .img-fluid { - max-width: 40%; - height: auto; - margin-top: -70px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); -} - -page-otp ion-icon { - font-size: 2.2em; -} - -page-password .scroll-content { - background-color: #eee; -} - -page-password .mat-card { - width: 80%; - margin-left: 10%; - margin-top: 35%; - border-radius: 10px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-password h4 { - font-weight: normal; -} - -page-password button.mat-primary { - background-color: #dd4437 !important; -} - -page-password .mat-raised-button { - border-radius: 30px; - padding: 19px 45px; - line-height: 0px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-password .rounded-circle { - border-radius: 50% !important; - background-image: url("../assets/img/misc/avatar.jpg"); -} - -page-password .img-fluid { - max-width: 40%; - height: auto; - margin-top: -70px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); -} - -page-password ion-icon { - font-size: 2.2em; -} - -page-pd-allocation mat-grid-tile { - background: white !important; -} - -page-pd-allocation .fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; - -webkit-animation-duration: 15s; - animation-duration: 15s; - -webkit-transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); - transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); -} - -@font-face { - page-pd-allocation { - font-family: Roboto; - src: url("../../assets/fonts/Roboto-Bold.ttf") !important; - } -} - -page-pd-allocation .box { - -webkit-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(50, 114, 178, 0.59) !important; - box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(50, 114, 178, 0.59) !important; -} - -page-pd-allocation .scroll-content { - background-color: #eee !important; - padding: 0px !important; -} - -page-pd-allocation * { - font-size: 14px; -} - -page-pd-allocation .mat-card-title { - margin-bottom: 0px; -} - -page-pd-allocation .lettericon { - background-color: cadetblue; - padding: 10px 15px 10px 15px; - border-radius: 50%; - color: #fff; -} - -page-pd-allocation .mat-card-header-text { - margin: 0px; -} - -page-pd-allocation .mat-card-subtitle { - margin-bottom: 0px; -} - -page-pd-allocation .mat-card-content > :last-child:not(.mat-card-footer) { - margin-top: 0px; -} - -page-pd-allocation p { - margin-top: 0 !important; - margin-left: 5% !important; -} - -page-pd-allocation h2 { - margin: 1px !important; -} - -page-pd-allocation .mat-card { - border-radius: 10px; -} - -page-pd-list mat-grid-tile { - background: white !important; -} - -page-pd-list .grid { - padding: 0px; -} - -page-pd-list .scroll-content { - padding: 0px !important; -} - -page-pd-list .fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; - -webkit-animation-duration: 15s; - animation-duration: 15s; - -webkit-transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); - transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); -} - -@font-face { - page-pd-list { - font-family: Roboto; - src: url("../../assets/fonts/Roboto-Bold.ttf") !important; - } -} - -page-pd-list h1 { - margin: 2px 0; - font-size: 2.2rem !important; -} - -page-pd-list .scroll-content { - padding: 0px !important; -} - -page-pd-list .mat-card { - padding: 0px !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; -} - -page-pd-list * { - font-size: 10px; -} - -page-pd-list .mat-card-title { - margin-bottom: 0px; -} - -page-pd-list .list-md { - margin: 0px; -} - -page-pd-list .lettericon { - background-color: cadetblue; - padding: 10px 15px 10px 15px; - border-radius: 50%; - color: #fff; -} - -page-pd-list .label-md { - margin: 0px; -} - -page-pd-list .item-md h4 { - font-size: 1.7rem; -} - -page-pd-list .item-md ion-icon[item-start] + .item-inner { - margin-left: 0px; -} - -page-pd-list .mat-raised-button { - border-radius: 30px; - padding: 19px 45px; - line-height: 0px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-list .button-md-primary { - margin-bottom: 0px !important; - height: 50px; -} - -page-pd-list ion-fab[middle] { - top: 17% !important; -} - -page-pd-list .fab-md-optblue { - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-list ion-footer { - position: absolute; -} - -page-pd-question .SwipedTabs-indicatorSegment { - -webkit-transition: 0.2s all; - transition: 0.2s all; - -webkit-transform-origin: top 0 left 0; - transform-origin: top 0 left 0; - height: 1px; - position: relative; - top: -2px; - background-color: blue !important; -} - -page-pd-question .SwipedTabs-tabs ion-segment-button { - border: none !important; - color: #111 !important; - background-color: white !important; - padding-left: 16px !important; - padding-right: 20px !important; -} - -page-pd-question .SwipedTabs-tabs ion-segment-button.SwipedTabs-activeTab { - color: blue !important; -} - -page-pd-question .SwipedTabs-tabs { - width: -webkit-fit-content !important; - width: -moz-fit-content !important; - width: fit-content !important; -} - -page-pd-question .toolbar * { - margin: 0 !important; -} - -page-pd-question .tabsContent .scroll-content { - overflow-x: scroll !important; -} - -page-pd-question .tabsContent { - height: 50px !important; -} - -page-pd-question .segment-button { - max-width: initial !important; - -webkit-box-flex: 1 !important; - -webkit-flex: auto !important; - -ms-flex: auto !important; - flex: auto !important; - width: initial !important; -} - -page-pd-question .segment-md .segment-button { - font-size: 2.0rem; -} - -page-pd-question .scroll-content { - background-color: white !important; -} - -page-pd-question .mat-card1 { - margin-bottom: 5px; -} - -page-pd-question ion-scroll { - position: inherit !important; -} - -page-pd-question .button-md { - padding: 25px 0px 25px 0px !important; -} - -page-pd-question-category mat-grid-tile { - background: white !important; -} - -page-pd-question-category .fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; - -webkit-animation-duration: 15s; - animation-duration: 15s; - -webkit-transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); - transition: all 0.5s cubic-bezier(0.36, -0.64, 0.34, 1.76); -} - -@font-face { - page-pd-question-category { - font-family: Roboto; - src: url("../../assets/fonts/Roboto-Bold.ttf") !important; - } -} - -page-pd-question-category mat-grid-tile { - background: white !important; -} - -page-pd-question-category .grid { - padding: 0px; -} - -page-pd-question-category h1 { - margin: 2px 0; - font-size: 2.2rem !important; -} - -page-pd-question-category .scroll-content { - background-color: #eee !important; - padding: 0px !important; -} - -page-pd-question-category .mat-card { - padding: 0px !important; - -webkit-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2), 0 13px 24px -11px rgba(0, 0, 0, 0.2); -} - -page-pd-question-category * { - font-size: 16px; -} - -page-pd-question-category .mat-card-title { - margin-bottom: 0px; -} - -page-pd-question-category .list-md { - margin: 0px; -} - -page-pd-question-category .lettericon { - background-color: cadetblue; - padding: 10px 15px 10px 15px; - border-radius: 50%; - color: #fff; -} - -page-pd-question-category .label-md { - margin: 0px; -} - -page-pd-question-category .item-md h4 { - font-size: 1.7rem; -} - -page-pd-question-category .item-md ion-icon[item-start] + .item-inner { - margin-left: 0px; -} - -page-pd-question-category .button-md-primary { - margin-bottom: 0px !important; - height: 50px; -} - -page-pd-question-address .scroll-content { - background-color: #eee; -} - -page-pd-question-address .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-address .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-assessed-daily-sales .input-cover { - position: static; -} - -page-pd-question-assessed-dash .mat-card { - border-radius: 10px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-assessed-dash .htag { - font-size: 1.5rem; - margin-top: 0px; -} - -page-pd-question-assessed-dash .ion-icon-custome { - font-size: 2.8em; - color: #e00201; -} - -page-pd-question-assessed-dash .item-ribbon { - background-color: #fff; - position: relative; - -webkit-filter: none; - filter: none; - opacity: 1; -} - -page-pd-question-assessed-dash .item-ribbon .ribbon { - position: absolute; - right: -5px; - top: -5px; - z-index: 2; - overflow: hidden; - width: 75px; - height: 75px; - text-align: right; -} - -page-pd-question-assessed-dash .item-ribbon .ribbon span { - font-size: 1rem; - font-weight: bold; - color: #fff; - text-transform: uppercase; - text-align: center; - line-height: 20px; - transform: rotate(45deg); - -webkit-transform: rotate(45deg); - width: 100px; - display: block; - background: #f53d3d; - position: absolute; - top: 19px; - right: -21px; -} - -page-pd-question-assessed-dash .item-ribbon .ribbon span::before { - content: ""; - position: absolute; - left: 0; - top: 100%; - z-index: -1; - border-left: 3px solid #f53d3d; - border-right: 3px solid transparent; - border-bottom: 3px solid transparent; - border-top: 3px solid #f53d3d; -} - -page-pd-question-assessed-dash .item-ribbon .ribbon span::after { - content: ""; - position: absolute; - right: 0; - top: 100%; - z-index: -1; - border-left: 3px solid transparent; - border-right: 3px solid #f53d3d; - border-bottom: 3px solid transparent; - border-top: 3px solid #f53d3d; -} - -page-pd-question-assessed-dash .ribbon.cruzeiro span { - color: white; - background: #20c127; -} - -page-pd-question-assessed-dash .ribbon.cruzeiro span::before { - border-left: 3px solid #20c127; - border-top: 3px solid #20c127; -} - -page-pd-question-assessed-dash .ribbon.cruzeiro span::after { - border-right: 3px solid #20c127; - border-top: 3px solid #20c127; -} - -page-pd-question-assessed-dash .ribbon.default span { - color: white; - background: #f53d3d; -} - -page-pd-question-assessed-dash .ribbon.default span::before { - border-left: 3px solid #f53d3d; - border-top: 3px solid #f53d3d; -} - -page-pd-question-assessed-dash .ribbon.default span::after { - border-right: 3px solid #f53d3d; - border-top: 3px solid #f53d3d; -} - -page-pd-question-assessed-info .scroll-content { - background-color: none; -} - -page-pd-question-assessed-info ion-scroll.scroll-y .scroll-content { - width: 100%; - height: 200px; -} - -page-pd-question-assessed-info span { - font-size: 12px; -} - -page-pd-question-assests .scroll-content { - padding: 16px; -} - -page-pd-question-assests .scroll-content { - background-color: #eee; -} - -page-pd-question-assests .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-assests .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-banking .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-banking .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-banking .scroll-content { - background-color: #eee; -} - -page-pd-question-business-group .mat-expansion-panel { - margin-bottom: 10px !important; - background-color: #e14533 !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-business-group .mat-expansion-panel-header-title { - color: #fff !important; -} - -page-pd-question-business-group .mat-card { - margin-bottom: 10px; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - padding: 3px 10px !important; -} - -page-pd-question-business-group .item-ribbon { - background-color: #fff; - position: relative; - -webkit-filter: none; - filter: none; - opacity: 1; -} - -page-pd-question-business-group .item-ribbon .ribbon { - position: absolute; - right: -5px; - top: -5px; - z-index: 2; - overflow: hidden; - width: 75px; - height: 75px; - text-align: right; -} - -page-pd-question-business-group .item-ribbon .ribbon span { - font-size: 1rem; - font-weight: bold; - color: #fff; - text-transform: uppercase; - text-align: center; - line-height: 20px; - transform: rotate(45deg); - -webkit-transform: rotate(45deg); - width: 73px; - display: block; - background: #f53d3d; - position: absolute; - top: 10px; - right: -17px; -} - -page-pd-question-business-group .item-ribbon .ribbon span::before { - content: ""; - position: absolute; - left: 0; - top: 100%; - z-index: -1; - border-left: 3px solid #f53d3d; - border-right: 3px solid transparent; - border-bottom: 3px solid transparent; - border-top: 3px solid #f53d3d; -} - -page-pd-question-business-group .item-ribbon .ribbon span::after { - content: ""; - position: absolute; - right: 0; - top: 100%; - z-index: -1; - border-left: 3px solid transparent; - border-right: 3px solid #f53d3d; - border-bottom: 3px solid transparent; - border-top: 3px solid #f53d3d; -} - -page-pd-question-business-group .ribbon.answered span { - color: white; - background: green; -} - -page-pd-question-business-group .ribbon.answered span::before { - border-left: 3px solid green; - border-top: 3px solid green; -} - -page-pd-question-business-group .ribbon.answered span::after { - border-right: 3px solid green; - border-top: 3px solid green; -} - -page-pd-question-business-group .ribbon.notanswered span { - color: white; - background: #f53d3d; -} - -page-pd-question-business-group .ribbon.notanswered span::before { - border-left: 3px solid #f53d3d; - border-top: 3px solid #f53d3d; -} - -page-pd-question-business-group .ribbon.notanswered span::after { - border-right: 3px solid #f53d3d; - border-top: 3px solid #f53d3d; -} - -page-pd-question-business-group .ribbon.javascript span { - color: black; - background: #f7e023; -} - -page-pd-question-business-group .ribbon.javascript span::before { - border-left: 3px solid #f7e023; - border-top: 3px solid #f7e023; -} - -page-pd-question-business-group .ribbon.javascript span::after { - border-right: 3px solid #f7e023; - border-top: 3px solid #f7e023; -} - -page-pd-question-business-assets mat-form-field { - width: 100%; -} - -page-pd-question-business-assets .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-business-assets .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-business-assets .scroll-content { - background-color: #eee; -} - -page-pd-question-business-banking .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-business-banking .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-business-banking .accordion { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-business-banking .scroll-content { - background-color: #eee; -} - -page-pd-question-business-info mat-form-field { - width: 100%; -} - -page-pd-question-business-info mat-card-title { - font-weight: bold; - font-size: 18px; -} - -page-pd-question-business-info mat-card-header { - font-weight: bold; - font-size: 18px; -} - -page-pd-question-business-info .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-business-info .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-business-info .scroll-content { - background-color: #eee; -} - -page-pd-question-client-info mat-hint { - font-size: 12px; -} - -page-pd-question-client-info .scroll-content { - background-color: #eee; -} - -page-pd-question-client-info .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-client-info .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-financial-info mat-form-field { - width: 100%; -} - -page-pd-question-financial-info .info > span { - bottom: 20px; - margin-left: 10px; - font-size: 13px; -} - -page-pd-question-financial-info i, page-pd-question-financial-info b { - font-size: 12px; -} - -page-pd-question-financial-info .greenhighlight { - color: green; - background-color: white; -} - -page-pd-question-financial-info .highlight { - color: red; - background-color: white; -} - -page-pd-question-financial-info .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-financial-info .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-financial-info .scroll-content { - background-color: #eee; -} - -page-pd-question-stock-info mat-hint { - font-size: 12px; -} - -page-pd-question-stock-info .scroll-content { - background-color: #eee; -} - -page-pd-question-stock-info .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-stock-info .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-supplier-info mat-hint { - font-size: 12px; -} - -page-pd-question-supplier-info .scroll-content { - background-color: #eee; -} - -page-pd-question-supplier-info .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-supplier-info .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-current-loans mat-form-field { - width: 100%; -} - -page-pd-question-current-loans mat-hint { - font-size: 11px; -} - -page-pd-question-current-loans .scroll-content { - background-color: #eee; -} - -page-pd-question-current-loans .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-current-loans .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-family mat-form-field { - width: 100%; -} - -page-pd-question-family .scroll-content { - background-color: #eee; -} - -page-pd-question-family .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-family .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-family h4 { - font-size: 120%; -} - -page-pd-question-final-remark mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-final-remark mat-form-field { - width: 100%; -} - -page-pd-question-final-remark .scroll-content { - background-color: #eee; -} - -page-pd-question-general-info .item-md { - padding-left: 0px !important; -} - -page-pd-question-general-info .scroll-content { - padding: 6px !important; - background-color: #eee; -} - -page-pd-question-general-info .button-large-md { - height: 20px !important; - padding: 0px !important; -} - -page-pd-question-general-info .mat-card { - margin-bottom: 10px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-general-info .label-md { - margin: 10px 0px 10px 0 !important; -} - -page-pd-question-general-info ion-toggle { - zoom: 0.8; -} - -page-pd-question-lender-representative mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-lender-representative .scroll-content { - background-color: #eee; -} - -page-pd-question-loans mat-hint { - font-size: 12px; -} - -page-pd-question-loans .scroll-content { - background-color: #eee; -} - -page-pd-question-loans .mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-loans .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-neighbour-hood mat-form-field { - width: 100%; -} - -page-pd-question-neighbour-hood mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-neighbour-hood mat-hint { - font-size: 11px; -} - -page-pd-question-neighbour-hood .scroll-content { - background-color: #eee; -} - -page-pd-question-other-income mat-form-field { - width: 100%; -} - -page-pd-question-other-income mat-hint { - font-size: 11px; -} - -page-pd-question-other-income mat-card { - margin-bottom: 15px; - border-radius: 10px !important; - -webkit-box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; - box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; -} - -page-pd-question-other-income .mat-card-content { - margin-bottom: 0px !important; -} - -page-pd-question-other-income .scroll-content { - background-color: #eee; -} - -page-pd-question-rental-info .button-md { - padding: 0 2.9em !important; -} diff --git a/www/build/main.css.map b/www/build/main.css.map deleted file mode 100644 index ec747fa4..00000000 --- a/www/build/main.css.map +++ /dev/null @@ -1 +0,0 @@ -null \ No newline at end of file diff --git a/www/build/main.js b/www/build/main.js deleted file mode 100644 index 3a17653e..00000000 --- a/www/build/main.js +++ /dev/null @@ -1,16423 +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__(22); -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) { - return this.http.post(this.apiurl + "getEndUseOfLoan", { "records": { "pd_id": pdid } }); - }; - 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 = __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__(358); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); -/* 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__(73); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pd_question_pd_question_address_pd_question_address__ = __webpack_require__(360); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pd_question_pd_question_emp_info_pd_question_emp_info__ = __webpack_require__(361); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pd_question_pd_question_current_loans_pd_question_current_loans__ = __webpack_require__(362); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pd_question_pd_question_loans_pd_question_loans__ = __webpack_require__(363); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__pd_question_pd_question_banking_pd_question_banking__ = __webpack_require__(364); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__pd_question_pd_question_family_pd_question_family__ = __webpack_require__(365); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__pd_question_pd_question_assests_pd_question_assests__ = __webpack_require__(366); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pd_question_pd_question_other_income_pd_question_other_income__ = __webpack_require__(367); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(199); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__pd_question_pd_question_personal_info_pd_question_personal_info__ = __webpack_require__(368); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(201); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(202); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pd_question_pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(369); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(370); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__pd_question_pd_question_lender_representative_pd_question_lender_representative__ = __webpack_require__(378); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pd_question_pd_question_general_info_pd_question_general_info__ = __webpack_require__(379); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__ = __webpack_require__(382); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__pd_question_pd_question_final_remark_pd_question_final_remark__ = __webpack_require__(383); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__pd_question_pd_question_business_group_pd_question_business_group__ = __webpack_require__(384); -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'); - console.log("Pd", this.pddetails); - } - PdQuestionCategoryPage.prototype.ionViewCanEnter = function () { - this.getcategoryList(); - }; - // doughuntChart() - // { - // console.log(this.doughnutCanvas); - // 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; - //console.log(this.questionCate.counts); - _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; - } - //console.log(this.questionCate); - // console.log(this.questionfinishedList); - } - 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; - console.log('data', categroyId); - console.log('pdinfo', this.pdinfo); - this.questionCate = this.questionCate.question_answers.filter(function (cate) { return cate.fk_question_category_id == categroyId; })[0]; - //console.log(this.questionCate); - // 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; - console.log('data', categroyId); - 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 - console.log(this.searchQuestion); - 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; - // } - // }) - // console.log(this.questionCate); - } - } - 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; - // } - // }) - console.log(this.questionCate); - } - } - }; - 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 = []; - console.log('Begin async operation', refresher); - this.shared.refresh(); - this.getcategoryList(); - setTimeout(function () { - console.log('Async operation has ended'); - refresher.complete(); - }, 2000); - }; - PdQuestionCategoryPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-category',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question-category\pd-question-category.html"*/'\n\n \n\n \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\n\n \n\n \n\n \n\n \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\n \n\n

{{category.category_name}}

\n\n

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

\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{tempForm.form_name[0] | slice : 0 :1 | uppercase}}\n\n \n\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\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 \n\n \n\n \n\n \n\n '/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 197: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(22); -/* 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); -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) { - 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.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.timer(120); - }; - 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 }; - 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 () { - data = { 'pd_id': _this.applicatentDetails.pd_id, 'pd_status': 'STARTED', 'mobile_no': _this.applicatentDetails.applicat_details[0].mobile_no, 'fk_updatedby': _this.users }; - console.log(data); - _this.pddetails.updatepdStatus(data).subscribe(function (res) { - }); - // 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 }; - 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:"S:\pd_office\pd_officer\src\pages\otp\otp.html"*/'\n\n\n\n\n\n \n\n \n\n OTP Page\n\n Reason Page\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 \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 \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\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 \n\n \n\n \n\n \n\n \n\n {{otp.rejection_reason}}\n\n \n\n \n\n {{reason}}\n\n \n\n \n\n \n\n \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:"S:\pd_office\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 */]]) - ], OtpPage); - return OtpPage; -}()); - -//# sourceMappingURL=otp.js.map - -/***/ }), - -/***/ 198: -/***/ (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__(359); -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 - -/***/ }), - -/***/ 199: -/***/ (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__(9); -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]; - // }); - 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); - } - 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]; - // }); - 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); - } - _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(function (data) { return data.isactive == 1; }); - }); - 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.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{l+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 {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \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\n \n\n \n\n \n\n \n\n
\n\n
\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\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{ tp.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \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\n \n\n \n\n \n\n \n\n
\n\n
\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 Provider Details Not applicable here !!
\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\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 200: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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.manufacturingForm = false; - this.retailForm = false; - this.tradingForm = 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.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 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], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - retail_details: _this.fb.array([_this.retailFormCreation(api)]), - trade_details: _this.fb.array([_this.tradingFormCreation(api)]), - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 2) { - if (val.products) { - var manufacturing_temparr = []; - manufacturing_temparr['manufacturing_raw_materials'] = dataForm_1.manufacturing_details[0].manufacturing_raw_materials; - 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) { - 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) { - var trading_temparr = []; - trading_temparr['trading_traded_goods'] = dataForm_1.trade_details[0].trading_traded_goods; - _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: [''], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - retail_details: _this.fb.array([_this.retailFormCreation(record.from_business)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record.from_business)]), - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 2) { - if (val.products) { - _this.suppliers_finished_goods = val.products; - _this.initManufacturingDetails(null); - } - } - if (val.type_of_activity_id == 3) { - if (val.products) { - _this.suppliers_retail_trade_details = val.products; - _this.initRetailDetails(null); - } - } - if (val.type_of_activity_id == 4) { - if (val.products) { - _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 { - _this.stockForm = _this.fb.group({ - pdid: [_this.pdid], - formid: [_this.formDetails.form_id], - company_id: [_this.company_id], - fk_createdby: [_this.users], - stock_remarks: [''], - manufacturing_details: _this.fb.array([_this.manufacturingFormCreation(record)]), - retail_details: _this.fb.array([_this.retailFormCreation(record.from_business)]), - trade_details: _this.fb.array([_this.tradingFormCreation(record.from_business)]), - }); - if (api.length > 0) { - api.forEach(function (val) { - if (val.type_of_activity_id == 2) { - if (val.products) { - _this.suppliers_finished_goods = val.products; - _this.suppliers_raw_materials = rm_api; - _this.initManufacturingDetails(null); - } - } - if (val.type_of_activity_id == 3) { - if (val.products) { - _this.suppliers_retail_trade_details = val.products; - _this.initRetailDetails(null); - } - } - if (val.type_of_activity_id == 4) { - if (val.products) { - _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; }); - } - }); - }; - 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; - if (arr.length > 0) { - this.manufacturingForm = true; - return this.fb.group({ - manufacturing_raw_materials: this.fb.array([]), - manufacturing_finished_goods: this.fb.array([]), - }); - } - else { - return; - } - }; - PdQuestionStockInfoPage.prototype.retailFormCreation = function (val) { - var arr = val.filter(function (data) { return data.type_of_activity_id == 3; }); - if (arr.length > 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; - } - }; - PdQuestionStockInfoPage.prototype.tradingFormCreation = function (val) { - // console.log('val',val); - // console.log('tradingForm',this.tradingForm); - var arr = val.filter(function (data) { return data.type_of_activity_id == 4; }); - if (arr.length > 0) { - // console.log(arr.products); - // if(arr.products === undefined){ - // console.log(arr.products); - // this.tradingForm = false; - // return; - // } - this.tradingForm = true; - return this.fb.group({ - trading_traded_goods: this.fb.array([]) - }); - } - else { - 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); - 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); - 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); - 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); - 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 (e, flag, index) { - if (flag == 1 && e == 'no') { - this.mrmCommentFlag[index] = true; - } - else if (flag == 1 && e != 'no') { - this.mrmCommentFlag[index] = false; - } - if (flag == 2 && e == 'no') { - this.mfgCommentFlag[index] = true; - } - else if (flag == 2 && e != 'no') { - this.mfgCommentFlag[index] = false; - } - if (flag == 3 && e == 'no') { - this.rtrdCommentFlag[index] = true; - } - else if (flag == 3 && e != 'no') { - this.rtrdCommentFlag[index] = false; - } - if (flag == 4 && e == 'no') { - this.wtrdCommentFlag[index] = true; - } - else if (flag == 4 && e != 'no') { - this.wtrdCommentFlag[index] = 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.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Stock Details
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{a+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\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\n \n\n {{"₹"}}\n\n {{M_rawValueInWords[a]}} Only\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n Please comment on the stock level observed?\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n Finished Goods #{{b+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\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\n \n\n {{"₹"}}\n\n {{M_goodsValueInWords[b]}} Only\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n Please comment on the finished goods\n\n stock level observed? \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \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\n
\n\n
\n\n Traded Goods #{{e+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\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\n \n\n {{"₹"}}\n\n {{R_tradedGoodsValueInWords[e]}} Only\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n Please comment on the Traded Goods stock level observed?\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \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\n
\n\n
\n\n Traded Goods #{{g+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No stock observed\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\n \n\n {{"₹"}}\n\n {{T_tradedGoodsValueInWords[g]}} Only\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n Please comment on the Traded Goods stock level observed?\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \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
\n\n
Service Provider Details Not applicable here !!
\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\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 201: -/***/ (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__(9); -/* 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__(22); -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(); - console.log("Pd", this.pdDetails); - console.log("Form ", this.FormId); - 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); - } - 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: [''], - // 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: [''], - estimate_receive_the_money_in_days: [''], - estimate_pay_the_money_in_days: [''], - estimate_unsold_stock_lies_in_days: [''], - estimate_working_capital_facilities_availed: [''], - reason_for_working_capital_facilities_availed: [''], - is_there_working_capital_available: [''] - }); - }; - 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"); - _this.navCtrl.pop(); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/'\n\n\n\n\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n
Data As Per Financial Statements
\n\n
\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n\n\n \n\n \n\n
\n\n \n\n Enter year from Which Financials Provided\n\n \n\n Invalid year format\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Financial Year : {{details.get(\'financial_year\').value}}\n\n
\n\n \n\n {{"₹"}} {{FY_annualSalesInwords[i]}} Only \n\n \n\n
\n\n \n\n Sale Variation from Previous Year in %\n\n   -\n\n \n\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\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\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\n
\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n
\n\n \n\n \n\n {{"₹"}} {{FY_netProfitAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}}{{FY_netLossAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n Profit Variation from Previous Year in %: \n\n   - \n\n

\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\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\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\n \n\n \n\n Variation of Profit % over sales\n\n   -\n\n

\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\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\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\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\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesFrmInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesToInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesInwords[i]}} Only\n\n \n\n\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n \n\n \n\n Yes\n\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 \n\n {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtToInwords[i]}} Only \n\n \n\n \n\n \n\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\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n {{a.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 {{"₹"}} {{AV_marginLossAmtInwords[i]}} Only \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtToInwords[i]}} Only \n\n \n\n \n\n \n\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\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'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.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_common_provider_toast__["a" /* ToastProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "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]) - ], PdQuestionFinancialInfoPage); - return PdQuestionFinancialInfoPage; - var _a, _b, _c, _d, _e, _f, _g; -}()); - -//# sourceMappingURL=pd-question-financial-info.js.map - -/***/ }), - -/***/ 202: -/***/ (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__(9); -/* 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 (arr.length > 0) { - // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) { - // return dataForm.main_raw_materials[key]; - // }); - 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); - } - // 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]; - // }); - 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); - } - // 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]; - // }); - 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); - } - // 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(function (data) { return data.isactive == 1; }); - }); - 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; - // console.log(answerFormValues); - 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.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n \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\n \n\n \n\n \n\n \n\n
\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\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n\n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n \n\n\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\n \n\n \n\n \n\n
\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
\n\n
\n\n
\n\n Service Provided #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n \n\n \n\n \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\n \n\n \n\n \n\n
\n\n
\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\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.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_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]) === "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]) - ], PdQuestionClientInfoPage); - return PdQuestionClientInfoPage; - var _a, _b, _c, _d, _e, _f; -}()); - -//# sourceMappingURL=pd-question-client-info.js.map - -/***/ }), - -/***/ 22: -/***/ (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 - -/***/ }), - -/***/ 244: -/***/ (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 = 244; - -/***/ }), - -/***/ 287: -/***/ (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 = 287; - -/***/ }), - -/***/ 331: -/***/ (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__(347); -/* 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__(73); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__password_password__ = __webpack_require__(393); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(9); -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:"S:\pd_office\pd_officer\src\pages\login\login.html"*/'\n\n\n\n\n\n\n\n\n\n \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:"S:\pd_office\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 - -/***/ }), - -/***/ 356: -/***/ (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__(186); -/* 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__(357); -/* 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__pd_list_pd_list__ = __webpack_require__(73); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__otp_otp__ = __webpack_require__(197); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__ionic_native_geolocation__ = __webpack_require__(388); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__angular_common__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ionic_native_location_accuracy__ = __webpack_require__(669); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_constants_constants__ = __webpack_require__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__pd_general_images_pd_general_images__ = __webpack_require__(389); -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) { - 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.initiatedAccess = false; - this.scheduleAccess = false; - this.pipe = new __WEBPACK_IMPORTED_MODULE_11__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 () { - console.log('ionViewDidLoad InputPage'); - }; - InputPage.prototype.ionViewCanLeave = function () { - clearInterval(this.timeInterval); - }; - InputPage.prototype.locationnavicate = function (address) { - this.launchNavigator.navigate(address); - }; - 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) { - // console.log() - 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); - console.log(diffInHours); - 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.pdDetails.updatepdStatus(data).subscribe(function (res) { - _this.updateStatus = res; - if (_this.updateStatus.dataStatus == true) { - _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_8__pd_list_pd_list__["a" /* 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); - 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; - } - }); - }; - 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: 'Do you want sure PD officer Start', - 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_9__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; - } - if (_this.applicatentDetails.pd_status == 'SCHEDULED') { - _this.initiatedAccess = true; - _this.getFullPD(); - } - if (_this.applicatentDetails.pd_status == 'INITIATED') { - _this.startedAccess = true; - } - } - }); - }; - InputPage.prototype.camerasetup = function () { - this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_15__pd_general_images_pd_general_images__["a" /* PdGeneralImagesPage */], { 'pdDetails': this.applicatentDetails }); - }; - InputPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-input',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\input\input.html"*/'\n\n \n\n \n\n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n   {{applicatentDetails.applicat_details[0].applicant_name | titlecase}}\n\n \n\n
\n\n \n\n \n\n {{applicatentDetails.customer_segment_name}}\n\n \n\n
\n\n \n\n \n\n \n\n {{applicatentDetails.addressline1}}
\n\n {{applicatentDetails.addressline2}}
\n\n {{applicatentDetails.addressline3}}
\n\n \n\n
\n\n
\n\n \n\n \n\n {{applicatentDetails.applicat_details[0].mobile_no}} \n\n \n\n
\n\n \n\n \n\n {{applicatentDetails.product_name}} / {{applicatentDetails.subproduct_name}}\n\n \n\n
\n\n \n\n \n\n \n\n \n\n Schedule Date\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n  {{applicatentDetails.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\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \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:"S:\pd_office\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_10__ionic_native_geolocation__["a" /* Geolocation */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_12__ionic_native_location_accuracy__["a" /* LocationAccuracy */], __WEBPACK_IMPORTED_MODULE_13__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_14__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], InputPage); - return InputPage; -}()); - -//# sourceMappingURL=input.js.map - -/***/ }), - -/***/ 358: -/***/ (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__(198); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(9); -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 = []; - console.log('Width: ' + platform.width()); - 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 () { - // console.log('ionViewDidLoad GoogleplaytabPage'); - }; - 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 () { - //console.log(1); - this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex()) - this.screenWidth_px / 2, 0); - // console.log(82,this.isLeft); - // console.log(this.isLeft,this.isRight); - // let answerDetails = this.questionAnswer.value; - // console.log(answerDetails); - // let remarks = this.questionanotherData.value; - if (this.isLeft) { - console.log(this.isLeft); - //this.prev(answerDetails,remarks,this.questionDetails); - } - if (this.isRight) { - console.log(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'); - console.log('157', this.questionDetails); - this.pdinfo = this.navParams.get('pdDetails'); - console.log(this.pdinfo); - 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)); - } - } - console.log(this.questionAnswer.get('items')['controls']); - } - } - console.log(this.docArray); - 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; - //console.log('right',this.isRight,'left',this.isLeft); - // this.docqustid = qustId; - // console.log(this.count); - // console.log(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) { - console.log(answerDetails); - //console.log(this.docArray); - 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 }); - console.log('if'); - // return true; - } - else { - //alert(); - this.imageArray.push({ 'pd_document_name': docs.pd_document_name, 'pd_document_title': "docNames" }); - } - } - //console.log(answerDetails.answerDetails); - if (answerDetails.answerDetails != null) { - //alert('answers'); - console.log(this.imageArray); - 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]; - console.log(qt_id); - 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 || "", - }; - //console.log(this.docArray); - // 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); - // console.log(this.docArray); - // } - // }) - // }else - // { - // this.SwipedTabsSlider.slideNext(); - } - }; - PdQuestionPage.prototype.getcategoryList = function (qustinfo, pdId) { - var _this = this; - console.log("252", qustinfo); - 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; - // console.log('303',answerData); - // console.log('304',this.questionDetails); - // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0]; - // eachquestion['answers'] = answerData.answers; - // this.questionDetails = - // console.log(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; - //console.log(this.docArray); - 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 }); - console.log('if'); - // return true; - } - else { - //alert(); - this.imageArray.push({ 'pd_document_name': docs.pd_document_name, 'pd_document_title': "docNames" }); - } - } - //console.log(answerDetails.answerDetails); - if (answerDetails.answerDetails != null) { - //alert('answers'); - console.log(this.imageArray); - 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]; - console.log(qt_id_1); - 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 || "", - }; - //console.log(this.docArray); - 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); - console.log(_this.docArray); - } - }); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question.html"*/'\n\n\n\n\n\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\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\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\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\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 \n\n\n\n \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\n\n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n
\n\n\n\n \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:"S:\pd_office\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 - -/***/ }), - -/***/ 360: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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; - this.placeholderName = 'Estimated area of the (Address Type)'; - 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; - console.log('this.pdPincode', this.pdPincode); - this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : ''; - this.getdropdownlist(); - this.pdQuestionAddress = this.fb.group({ - address: [this.address], - state: [this.pdState != '' ? this.pdState : ''], - city: [this.pdCity != '' ? this.pdCity : ''], - pincode: [this.pdPincode != '' ? this.pdPincode : ''], - pincode_others: [this.pdOtherPincode != '' ? this.pdOtherPincode : '', __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)])], - address_type: [null], - address_type_others: [null], - locality: [null], - locality_others: [null], - locality_mixuse: [''], - pd_location: [null], - comment_locality: [null], - other_comment_locality: [null], - estimated_area: [''], - uom: [null], - uom_others: [null], - //customer_behaviour: [null], - // neighbourhood: this.fb.array([]), - address_form_remark: [null], - }); - this.getaddressForm(); - } - 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: () => { - // console.log('Save clicked'); - // } - // }, - // { - // text: 'Cancel', - // cssClass: 'method-color', - // handler: () => { - // console.log('Cancel clicked'); - // this.navCtrl.pop(); - // } - // } - // ] - // }); - // method.present() - // console.log(this.pdQuestionAddress.dirty); - }; - /** To Get City And Pincode Data For Address Form - * Param 'stateID' -> selected StateId - */ - PdQuestionAddressPage.prototype.getCityAndPincodeDetails = function (stateID) { - var _this = this; - this.qustCat.getStateWiseCities(stateID).subscribe(function (data) { - if (data.status == 200) { - _this.cityData = data.records.cities; - _this.pincodeData = 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; }); - }); - }; - // checkaddress(value) - // { - // // console.log(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)); - }; - /** 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) { - console.log(e); - this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value); - }; - PdQuestionAddressPage.prototype.inWordsForRent = function (e) { - //console.log(e); - this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value); - }; - PdQuestionAddressPage.prototype.selectedAddressType = function (e) { - this.placeholderName = 'Estimated area of the ' + e; - }; - PdQuestionAddressPage.prototype.savepdQuestion = function (answerData) { - var _this = this; - console.log(answerData); - 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; - 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; - // console.log("Additional Units",this.pdQuestionAddress.controls.additional_address_units.value); - // console.log("item",this.items) - // records.additional_address_units = answerData.additional_address_units; - console.log('params', records); - this.qustCat.saveForm(records).subscribe(function (data) { - // console.log('data', data); - // let params: any = {}; - // params.pd_id = '250'; - // params.pd_form_id = '250'; - // console.log('param', params); - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - }, 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) { - _this.getaddressDetails = res; - if (_this.getaddressDetails.dataStatus == true) { - _this.getaddressDetails = _this.getaddressDetails.records; - 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); - } - var control = _this.pdQuestionAddress.get('additional_address_units'); - _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([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* 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); - var selectedAddressType = _this.addressTypes.filter(function (element) { return 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([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* 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); - console.log(_this.getaddressDetails.additional_address_units); - /* if(this.getaddressDetails.bussiness_activity == 'yes') { - - if (result.length == 0) { - console.log("0") - control.push(this.createUnits(null)); - } else {*/ - console.log("1", _this.getaddressDetails.additional_address_units); - //for(let val of this.getaddressDetails.additional_address_units){ - //control.push(this.createUnits(val)); - //} - //result.forEach((datas,index) => { - // console.log(datas); - //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt); - //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas); - //}); - //} - // } - } - }); - }; - PdQuestionAddressPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-address',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-address\pd-question-address.html"*/'\n\n\n\n \n\n \n\n \n\n {{FormId.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\n \n\n \n\n
\n\n \n\n \n\n {{SL.name}}\n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n\n\n \n\n \n\n Select\n\n {{PL.pincode}}\n\n \n\n \n\n \n\n \n\n \n\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 \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\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\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 \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n Select\n\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\n \n\n \n\n\n\n \n\n \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:"S:\pd_office\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 - -/***/ }), - -/***/ 361: -/***/ (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); -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) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.fb = fb; - this.questionDetails = this.navParams.get('questionDetails'); - this.pdDetails = this.navParams.get('pdDetails'); - this.empInfo = this.fb.group({ - nameOfEmp: [null], - yearWithEmp: [null], - empMet: [null], - designationOfEmp: [null], - salaryConfirm: [null], - actualSalary: [null], - attRegisterSeen: [null], - salaryRegisterSeen: [null] - }); - } - PdQuestionEmpInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionEmpInfoPage'); - }; - PdQuestionEmpInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-emp-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-emp-info\pd-question-emp-info.html"*/'\n\n\n\n \n\n \n\n Employee Salary Category\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n

Emp Met

\n\n \n\n YES\n\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

Salary amt confirmed

\n\n \n\n YES\n\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

Attendance Register seen

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

Salary register seen

\n\n \n\n YES\n\n NO\n\n \n\n
\n\n\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\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 */]]) - ], PdQuestionEmpInfoPage); - return PdQuestionEmpInfoPage; -}()); - -//# sourceMappingURL=pd-question-emp-info.js.map - -/***/ }), - -/***/ 362: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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.applicants = []; - this.placeholderName = []; - this.existCompanyList = []; - this.mergeCompanyApplicant = []; - this.amtInwords = []; - this.emiAmtInwords = []; - this.dataFromAssets = []; - this.labelArr = []; - this.investmentTypeData = []; - this.applicants = []; - // console.log("before",this.applicants) - 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; - this.applicants.push({ 'pd_co_applicant_id': '0', 'applicant_name': 'Others' }); - this.getdropdown(); - // this.applicants.push - console.log(this.applicants); - 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) { - console.log("Entering company List"); - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - console.log("company List", data['records']); - } - 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 }); - console.log("Company applicant", _this.mergeCompanyApplicant); - } - }); - 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(this.mergeCompanyApplicant); - // 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; }); - }); - }; - PdQuestionCurrentLoansPage.prototype.exitsCheck = function (val) { - console.log(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) { - // console.log(+e.value); - // console.log(i); - // alert('function in'); - 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; - } - // console.log(this.placeholderName); - }; - PdQuestionCurrentLoansPage.prototype.submitCurrentloan = function (answerData) { - var _this = this; - console.log(answerData); - 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; - console.log('data', records); - this.qustCat.saveForm(records).subscribe(function (data) { - console.log('data', data); - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.navCtrl.pop(); - } - }); - }; - 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']; - console.log("res", 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) { - console.log("Function result", res['records'].loan_details[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) { - console.log("Datas", datas); - 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 { - // console.log('else part',value.status); - _this.qustCat.getAssetsWithLoanFromBusiness(_this.pdid).subscribe(function (data) { - // console.log(data); - if (data.dataStatus == true) { - // console.log(data.record); - var AssetData = data.record; - // console.log(AssetData.business_assets); - // console.log(AssetData.other_assests); - 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 }); - }); - } - 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 - }); - }); - // 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 == 1) { - var data_1; - val.details.forEach(function (v, index) { - data_1 = v.any_other_assets; - }); - var description = data_1 != '' ? '( ' + data_1 + ' )' : ''; - labelarray_1[index] = ' : ' + val.owner_name + ' - ' + val.mode_name + description; - } - if (val.mode == 2) { - var data_2; - val.details.forEach(function (v, index) { - data_2 = v.property_type_name; - }); - var description = data_2 != '' ? '( ' + data_2 + ' )' : ''; - labelarray_1[index] = ' : ' + val.owner_name + ' - ' + val.mode_name + description; - } - if (val.mode == 3) { - var data_3; - val.details.forEach(function (v, index) { - data_3 = v.manufacturer_model_vehicle; - }); - var description = data_3 != '' ? '( ' + data_3 + ' )' : ''; - labelarray_1[index] = ' : ' + val.owner_name + ' - ' + val.mode_name + description; - } - if (val.mode == 4) { - var data_4; - val.details.forEach(function (v, index) { - data_4 = v.equipment_manufacturing_description; - }); - var description = data_4 != '' ? '( ' + data_4 + ' )' : ''; - labelarray_1[index] = ' : ' + val.owner_name + ' - ' + val.mode_name + description; - } - if (val.mode == 6) { - labelarray_1[index] = ' : ' + val.owner_name + ' - ' + val.mode_name; - } - if (val.mode == 7) { - var data_5; - 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; - }); - var description = data_5 != '' ? '( ' + data_5 + ' )' : ''; - labelarray_1[index] = ' : ' + val.owner_name + ' - ' + val.mode_name + description; - } - }); - 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 { - // console.log('else,else.part'); - 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:"S:\pd_office\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:"S:\pd_office\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 - -/***/ }), - -/***/ 363: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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'); - console.log(this.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], - 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(75, this.pdDetails.product_abbr); - if (this.pdDetails.product_abbr != "BL" || this.pdDetails.product_abbr != "PL" || this.pdDetails.product_abbr != "LL") { - this.mortagetypeAccess = true; - } - else { - this.mortagetypeAccess = false; - } - console.log(this.mortagetypeAccess); - 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).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) { - // console.log(data['records']); - 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; - } - }); - console.log(_this.m_mortageTypeProperty); - // 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) { - console.log("Entering company List"); - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - console.log("company List", data['records']); - } - 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; }); - }); - console.log("complete"); - }; - PdQuestionLoansPage.prototype.selectedBalancesTransferChanges = function (event) { - // console.log('First Time',event); - // console.log('First Time Value',event.value); - // if(event.value == 'no') { - // this.loanDetailsForm.controls['is_topup'].clearValidators(); - //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity(); - // this.loanDetailsForm.controls['is_topup'].setValue(''); - // console.log('no',event.value); - //} - //else if(event.value == 'yes'){ - // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]); - //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity(); - // console.log('yes',event.value); - // } - 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) { - console.log(mortage_value); - var mortagetypes = this.m_mortageTypeProperty.filter(function (mor) { return mor.mortage_property_id == mortage_value; })[0]; - console.log(mortagetypes); - 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 != '') { - topupAmt = loanAmount - BtAmount; - } - this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt); - }; - PdQuestionLoansPage.prototype.endUserChange = function (event) { - var _this = this; - console.log("change", this.m_endUseForLoan); - //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 }); - console.log(201, othresData); - if (othresData == 'others') { - _this.isOtherPurpose = true; - return; - } - else { - //console.log('else'); - _this.isOtherPurpose = false; - } - }); - console.log(this.endUserList); - }; - 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) { - // console.log('source Changed Values',evt); - var _this = this; - // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ; - // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ; - 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; - // console.log(answerData); - // console.log(this.endUserList); - // 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; - // 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; - // console.log(this.loanDetailsForm.controls['owner_name'].value); - 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; - console.log('data', records); - this.qustCat.saveForm(records).subscribe(function (data) { - console.log('data', data); - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - // this.notifier.notify('success', 'Saved Successfully.'); - }); - // }else - // { - // this.toast.pdTriggerappmessage('Enter The All Field'); - // } - }; - PdQuestionLoansPage.prototype.getLoanDetails = function () { - var _this = this; - console.log("Entering LoanDetails GEt"); - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; - this.qustCat.retiverForm(records).subscribe(function (value) { - console.log('value', 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 }); - }); - } - // console.log('enduse', enduse); - console.log('ownername', loanDetails_1); - _this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails_1.loan_amount); - if (loanDetails_1.loan_amount) { - _this.loanAmtInWords = _this.constant.convertNumberToWords(loanDetails_1.loan_amount); - } - _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); - console.log("mortageCardAccess", _this.mortageCardAccess); - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-loans\pd-question-loans.html"*/'\n\n\n\n \n\n \n\n {{FormId.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\n \n\n \n\n \n\n \n\n {{"₹"}} {{loanAmtInWords}} Only\n\n \n\n \n\n \n\n {{ enduse.enduse_of_loan }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{balTxrfAmtInWords}} Only\n\n \n\n \n\n \n\n \n\n {{ btLen.lender_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{topUpAmtInWords}} Only\n\n \n\n \n\n \n\n {{ list.end_use_of_topup }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{ownContributionInWords}} Only\n\n \n\n \n\n \n\n \n\n {{ sour.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 {{"₹"}} {{emiAmtInWords}} Only\n\n \n\n \n\n \n\n
\n\n \n\n \n\n

Details of Property being Mortgaged\n\n

\n\n \n\n \n\n \n\n \n\n {{ typeprop.property_name }}\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 \n\n {{ status.name }} {{status.id}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{emvAmtInWords}} Only\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\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 364: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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' }); - console.log(this.pdDetails); - // 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) { - console.log("Entering company List"); - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - console.log("company List", data['records']); - } - // 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}) - // console.log("Company applicant",this.mergeCompanyApplicant) - //} - }); - 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(this.mergeCompanyApplicant); - // 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) { - //console.log(itemrow); - 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('')); - //console.log(this.pdQuestionAddress.get('items')['controls']); - }; - 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; - console.log('data', records); - this.qustCat.saveForm(records).subscribe(function (data) { - console.log('data', data); - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.navCtrl.pop(); - } - }); - //console.log(answerData); - }; - 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) { - console.log("Data=0"); - _this.bankitems.push(_this.createBankItem('')); - } - else { - console.log("Data>0"); - 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 { - console.log("Data False"); - _this.addBankDetails(); - } - }); - }; - PdQuestionBankingPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-banking',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-banking\pd-question-banking.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n \n\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
\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
\n\n \n\n \n\n {{ btLen.lender_name }}\n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n\n\n \n\n {{bankacc.name}}\n\n\n\n \n\n\n\n \n\n \n\n
\n\n
\n\n \n\n\n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n
\n\n In case of OD / CC account, What is the Limit \n\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

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\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \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:"S:\pd_office\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 - -/***/ }), - -/***/ 365: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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 = []; - this.isReadOnly = []; - this.RentAmount = []; - this.IncomePerMonth = []; - 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; - console.log("applicant details", this.selected_person); - console.log('Pd Applicant', this.pdDetails); - this.users = this.aws.getlocale(); - //console.log('aws',this.users); - 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_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.RentAmount[index] = _this.cons.convertNumberToWords(val.rent); - } - _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_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); - // console.log('family full records',val); - var inx = control.length - 1; - //this.getNumberOfFamilyMemberDetails(inx); - _this.initFamilyMembersDetails(inx, val.family_members_details); - console.log(control); - // console.log('control family',inx); - //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; - // console.log("Controls for family members ",control.length); - val.forEach(function (vals, index) { - if (vals.earning_gross_income_per_month != null) { - _this.IncomePerMonth[index] = _this.cons.convertNumberToWords(vals.earning_gross_income_per_month); - } - 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([])], - }); - // console.log("family member control",control); - 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; - console.log("length", control); - if (control.length > 1) { - control.removeAt(index); - } - else { - control.reset(); - } - // if(control.value !=null && index == 0) - }; - PdQuestionFamilyPage.prototype.getNumberOfFamilyMemberDetails = function (data) { - var datavalue = data; - // console.log("Array",datavalue); - var formData = this.familyForm.controls['family_details']['controls'][datavalue].controls; - //console.log("form0",formData['total_number_of_family_members']); - if (formData['total_number_of_family_members'].valid) { - var totmem = formData['total_number_of_family_members'].value; - console.log("Tot num", totmem); - var control = this.familyForm.controls['family_details']['controls'][data].controls.family_members_details; - console.log("Form Fields", control.length); - if (totmem >= control.length) { - var len = totmem - control.length; - //console.log("if",len); - for (var i = 0; i < len; i++) { - control.push(this.generateFamilyMembersDetailsGet()); - } - } - else if (totmem < control.length) { - // console.log("For Slice",control.controls.length) - //control.controls.slice(1, 2); - // console.log(this.total_number_of_family_members); - var numbe = control.length - totmem; - console.log("For Remove", numbe); - 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; - console.log("dataff",control); - control.push(this.initFamilyMembersDetails()); - */ - //console.log(formData['1']); - }; - 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) { - //console.log('data', 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; - console.log("E value", e); - // 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) { - console.log(data.status); - _this.cityData[i] = data.records.cities; - _this.pincodeData[i] = data.records.pincode; - console.log(_this.cityData); - } - }); - }; - PdQuestionFamilyPage.prototype.getoccupation = function () { - var _this = this; - var master_name = 'OCCUPATIONMEMBERS'; - this.qustCat.getcommondrop(master_name).subscribe(function (data) { - //console.log('data', 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,''); - console.log(120,this.count); - - } - - deleteEarningMembers(i) - { - - if(this.items.length==1) - { - this.familyForm.controls['earningMembers'].reset(); - }else{ - this.items.removeAt(i); - } - this.count--; - console.log(134,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; - } - console.log(familystatus); - console.log(count); - if(familystatus !== null ){ - if(familystatus == count) - { - - this.familyAddStatus = true; - }else - { - this.familyAddStatus = false; - } - } - }*/ - /* Old - savepdfamily(answerData) - { - console.log(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; - console.log('params', records); - this.qustCat.saveForm(records).subscribe(res=> - { - //console.log(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; - console.log("family details", records.family_details); - //console.log("Records",records); - 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; - //console.log(JSON.stringify(records)); - this.qustCat.saveForm(records).subscribe(function (res) { - // console.log("Result",); - _this.toast.pdTriggerappmessage("Record Saved Successfully"); - _this.navCtrl.pop(); - }, function (err) { - console.log(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; - console.log('params', records); - this.qustCat.saveForm(records).subscribe(res=> - { - //console.log(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; - var newControlLength; - var oldControlLength = control.length; - 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) { - newControlLength = data.length; - var index = 0; - while (index < oldControlLength) { - control.removeAt(index); - index++; - } - oldControlLength = newControlLength; - 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 { - var index = 0; - while (index < oldControlLength) { - control.removeAt(index); - index++; - } - oldControlLength = 1; - 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 = []; - console.log("Family Details", res.record); - 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' }; - // console.log('familyMembersGeneralForm',familyMembersGeneralForm); - }); - Temparr.push(datas); - } - 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); - } - _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("result",JSON.stringify(res)); - console.log("datastatus", res['dataStatus']); - if (res['status'] == 200) { - console.log("getValue records", res['records'].family_details); - _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"); - _this.initFamilyDetails(null); - } - //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details); - //console.log("datastatus number",res[0].status) - }, function (err) { - console.log(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]; - }); - //console.log(non_earning); - 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]; - }); - console.log(earning); - 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.) - console.log(189); - this.items = this.familyForm.get('earningMembers') as FormArray; - this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray; - console.log(192); - if(earning.length==0) - { - this.addearningMembers(); - console.log('if'); - }else - { - earning.forEach(datas => { - this.count++; - this.items.push(this.createMembers()); - }); - console.log('else',earning); - console.log(this.items); - this.familyForm.controls['earningMembers'].setValue(earning); - - } - //console.log(201,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, flag, i) { - switch (flag) { - case 1: - this.RentAmount[i] = this.cons.convertNumberToWords(e.target.value); - break; - case 2: - this.IncomePerMonth[i] = this.cons.convertNumberToWords(e.target.value); - break; - default: - 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:"S:\pd_office\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 \n \n \n \n {{s.name}}\n \n \n \n \n \n \n {{c.city_name}}\n \n \n \n \n \n \n {{p.pincode}}\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 Family Member 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-family\pd-question-family.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 */]]) - ], PdQuestionFamilyPage); - return PdQuestionFamilyPage; -}()); - -//# sourceMappingURL=pd-question-family.js.map - -/***/ }), - -/***/ 366: -/***/ (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__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(9); -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.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.apiLoadFinish = false; - this.assestInfo = "busass"; - this.FormId = this.navParams.get('FormId'); - console.log(this.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([]), - // business_assets_details:this.fb.array([]), - assets_form_remark: [''] - }); - this.getAssetDetails(); - this.getdropList(); - //this. addAsset(1); - this.loadDetails = true; - } - PdQuestionAssestsPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionAssestsPage'); - }; - PdQuestionAssestsPage.prototype.getdropList = function () { - var _this = this; - 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; }); - } - }); - this.qustCat.getcommondrop('PROPERTIES').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_propertyType = res['records']; - } - }); - this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_investmentType = res['records']; - } - }); - this.qustCat.getcommondrop('INSURANCETYPE').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_insuranceType = res['records']; - } - }); - this.qustCat.getcommondrop('FREQUENCY').subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.m_freqOfPurchase = res['records']; - } - }); - this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(function (data) { - if (data['dataStatus'] == true) { - _this.m_relation = data['records'].filter(function (data) { return data.isactive == 1; }); - } - }); - this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function (data) { - console.log("Entering company List"); - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - console.log("company List", data['records']); - } - 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 }); - console.log("Company applicant", _this.mergeCompanyApplicant); - } - 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("Applicants", _this.mergeCompanyApplicant); - // 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], - 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: [''], - // purchase_month: [null], - 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) { - //console.log(details.value); - 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) { - console.log(e); - console.log(i); - console.log(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: [''] - }); - }; - PdQuestionAssestsPage.prototype.loadJwellDescription = function () { - return this.fb.group({}); - }; - PdQuestionAssestsPage.prototype.loadConsumerDurableDescription = function () { - return this.fb.group({ - consumer_durable_description: [null] - }); - }; - PdQuestionAssestsPage.prototype.otherBusinessAssetsDescription = function () { - return this.fb.group({ - any_other_assets: [''], - any_other_asset_value: [''], - any_other_asset_loan: [''], - }); - }; - 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: [''], - manufacturer_model_vehicle: [''] - }); - }; - PdQuestionAssestsPage.prototype.loadEquipmentManufacturingDescription = function () { - return this.fb.group({ - equipment_manufacturing_description: [''] - }); - }; - 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] - }); - }; - 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.otherBusinessAssetsDescriptionWithData = function (data) { - return this.fb.group({ - any_other_assets: [data.any_other_assets], - any_other_asset_value: [data.any_other_asset_value], - any_other_asset_loan: [data.any_other_asset_loan], - }); - }; - 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] - }); - }; - 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.saveAssetDetails = function (answerData) { - var _this = this; - console.log(answerData); - 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; - console.log('final', answerData); - this.qustCat.saveForm(answerData).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.navCtrl.pop(); - } - }); - }; - 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) { - for (var _i = 0, assetArray_1 = assetArray; _i < assetArray_1.length; _i++) { - var val = assetArray_1[_i]; - 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, - // purchase_month: val.purchase_month, - emi: val.emi, - }; - var control = _this.AssetsDetailsForm.controls['assets_details']; - control.push(_this.initDetailsWithdata(vals)); - _this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length - 1); - } - } - // if (busarray.length > 0) { - // for (let val of busarray) { - // let vals = { - // assets_mode: val.assets_mode, - // approximate_market_value: val.approximate_market_value, - // name_of_the_owner: val.name_of_the_owner, - // purchase_year: val.purchase_year, - // purchase_month: val.purchase_month, - // emi: val.emi, - // emi_paid: val.emi_paid, - // elapsed_tenure: val.elapsed_tenure, - // balance_tenure: val.balance_tenure, - // original_loan_tenure:val.original_loan_tenure, - // }; - // const control = this.AssetsDetailsForm.controls['assets_details']; - // control.push(this.initBusinessDetailsWithdata(vals)); - // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1); - // } - // } - _this.apiLoadFinish = true; - console.log(assetArray); - //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray); - } - else { - _this.apiLoadFinish = true; - _this.addAsset(1); - // this.addAsset(2); - } - }); - }; - 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], - 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)])], - // purchase_month: [data.purchase_month], - emi: [data.emi || 0], - }); - }; - PdQuestionAssestsPage.prototype.setAssetsDetailsWithData = function (assets_details_mode, datas, i) { - var _this = this; - var val = i; - // var data = Object.keys(datas).map(function (key) { - // return datas[key]; - // }); - // alert(JSON.stringify(datas)); - 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, - 'name_of_the_owner': datas.name_of_the_owner, - 'other_owner': datas.other_owner, - }; - //this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value); - }); - 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 }; - }); - 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 }; - }); - 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; - } - case '8': { - this.FormList = true; - var control = this.AssetsDetailsForm.controls['assets_details'].at(val).get('details'); - control.push(this.otherAssetsDescriptionWithData(data)); - 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; - } - }; - // check others - PdQuestionAssestsPage.prototype.checkOthers = function (values) { - if (values != null) { - return values.id == 0 ? true : false; - } - else { - return false; - } - }; - PdQuestionAssestsPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assests',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assests\pd-question-assests.html"*/'\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n
Asset Details # {{i+1}}
\n\n \n\n
\n\n
\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\n \n\n
\n\n
\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 \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \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
\n\n \n\n \n\n {{ freqn.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 {{"₹"}} {{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
\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\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\n \n\n \n\n
\n\n
\n\n
\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
\n\n \n\n \n\n \n\n
\n\n \n\n\n\n Vintage\n\n \n\n \n\n\n\n \n\n \n\n
\n\n \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 there a loan?

\n\n \n\n \n\n YES\n\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 \n\n \n\n \n\n \n\n \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\n \n\n \n\n \n\n\n\n \n\n
\n\n
'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 367: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - console.log("pdid", this.pdid); - this.FormId = this.navParams.get('FormId'); - this.getFrequency(); - this.users = this.aws.getlocale(); - 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: [''], - 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) { - console.log("Change", 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 - // console.log("Form",this.otherIncomeForm) - // console.log("Length",control.length) - // for(let i=0;i\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 \n \n \n \n {{person.applicant_name | titlecase}}\n Others\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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-other-income\pd-question-other-income.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]) - ], PdQuestionOtherIncomePage); - return PdQuestionOtherIncomePage; - var _a, _b, _c, _d, _e, _f, _g; -}()); - -//# sourceMappingURL=pd-question-other-income.js.map - -/***/ }), - -/***/ 368: -/***/ (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__(9); -/* 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(); - console.log(this.pdDetails); - // this.getRelationMaster(); - } - PdQuestionPersonalInfoPage.prototype.ngOnInit = function () { - this.loadPDDetails(); - this.getRelationMaster(); - this.mainApplicantDetails = this.pdDetails.applicat_details - .filter(function (item) { return item.applicant_type == 1; }); - // console.log(this.mainApplicantDetails) - 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] - }); - //console.log(this._personalForm); - 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 - }); - //console.log(this._personalForm); - 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 - }; - console.log(save_details); - this.qustCat.saveForm(save_details).subscribe(function (result) { - if (result['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - // 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-personal-info\pd-question-personal-info.html"*/'\n\n\n\n \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
\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 \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\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 \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\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\n \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 {{rel.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 Remarks\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 369: -/***/ (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__(9); -/* 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'); - // console.log(rent); - console.log(control); - // 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; - //console.log(answerData); - var records = {}; - console.log(this.rentalForms.value); - // 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]; }); - console.log('data', records); - this.qustCat.saveForm(records).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.navCtrl.pop(); - } - }); - // }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) { - console.log(res); - if (res['dataStatus'] == true) { - var rentalDetails = res['records']; - var rentalData = Object.keys(res['records'].rental_home).map(function (key) { - //console.log(res); - return res['records'].rental_home[key]; - }); - var tanantsData = []; - var control = _this.rentalForms.controls['rental_home']; - var tanantscontrol; - rentalData.forEach(function (val, index) { - console.log(index); - // console.log(val); - // this.addrentalHome(); - console.log(control); - // 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()); - }); - // console.log(182,control.controls[index].get('details_tenants')); - // control[index].details_tenants =tanantscontrol; - }); - // console.log(rentalData); - _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); - console.log(_this.rentalForms); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-rental-info\pd-question-rental-info.html"*/'\n\n\n\n \n\n \n\n {{FormId.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\n \n\n \n\n \n\n \n\n Applicant\n\n Co-Applicant\n\n Parental\n\n\n\n \n\n \n\n \n\n \n\n Residential/commercial\n\n Others\n\n \n\n \n\n \n\n \n\n \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\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 \n\n Yes\n\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 \n\n \n\n \n\n \n\n

Photo of agreement taken ?

\n\n \n\n Yes\n\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 \n\n \n\n \n\n \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\n \n\n \n\n\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 370: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(371); -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; - console.log(this.assessedForm.value); - if (this.assessedForm.valid) { - var records = { 'records': this.assessedForm.value }; - console.log('data', records); - 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; - } - console.log(res['records'].final_data.length); - 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; - } - console.log(_this.grossprofit); - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/'\n\n\n\n \n\n \n\n {{FormId.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\n Purchase Calculation\n\n \n\n \n\n \n\n
\n\n \n\n

Purchase Detail Available

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

Sales

\n\n \n\n Gross Margin\n\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 \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 \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 --\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 \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 --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

OTHER BUSINESS INCOME

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

SUMMARY

\n\n
\n\n \n\n \n\n
Business Revenue
\n\n
\n\n \n\n
{{finalIncome.sales_revenue}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Purchase
\n\n
\n\n \n\n
{{finalExpense.purchase}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Gross Profit
\n\n
\n\n \n\n
{{finalData.gross_profit}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Business Expense
\n\n
\n\n \n\n
{{finalExpense.business_expense}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Business Income
\n\n
\n\n \n\n
{{finalData.other_business_income}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Net Profit
\n\n
\n\n \n\n
{{finalExpense.net_profit}}
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 371: -/***/ (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__(9); -/* 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__(372); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(373); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(374); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(375); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(376); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(377); -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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-info\pd-question-assessed-info.html"*/'\n\n\n\n \n\n \n\n {{FormName}}\n\n\n\n\n\n \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 Calculation\n\n \n\n \n\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\n \n\n \n\n\n\n \n\n
\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 \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\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\n \n\n {{"₹"}} {{salesItem.annual_sale_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 Daily Sales Details\n\n \n\n \n\n

Daily Sales Details

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

{{monthwise.salesItem | titlecase}}

\n\n \n\n \n\n {{eachItem.header}}\n\n
\n\n \n\n \n\n \n\n {{eachmonthItem.sales_date | date:\'dd-MM-yyyy\'}}\n\n \n\n \n\n {{"₹"}} {{eachmonthItem.sales_value}}\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{monthwise.footerMessage[0].month_message}}
\n\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\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\n \n\n
\n\n \n\n \n\n \n\n \n\n {{purchase.purchase_item}}\n\n \n\n \n\n {{"₹"}} {{purchase.annual_purchase_value}}\n\n \n\n \n\n
\n\n
\n\n \n\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 \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{expense.expense_item}}\n\n \n\n \n\n {{"₹"}} {{expense.annual_expenses_value}}\n\n \n\n \n\n
\n\n
\n\n \n\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 \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{houseExepense.expense_item}}\n\n \n\n \n\n {{"₹"}} {{houseExepense.annual_expense_value}}\n\n \n\n \n\n
\n\n
\n\n \n\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 \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\n \n\n {{"₹"}} {{busIncome.income_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
'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 372: -/***/ (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__(9); -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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-sales\pd-question-assessed-sales.html"*/'\n\n\n\n \n\n \n\n Item Salas 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

Itemwise

\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\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 \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 \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 373: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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", ''); - console.log(this.currentDate); - 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) { - console.log(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) { - // console.log(loopAccess,loopindex); - this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value; - this.temparr.push(subchild.value.sales_value); - loopAccess = false; - loopindex = 0; - // console.log('merge'); - } - else { - // console.log(loopAccess,loopindex); - // console.log('push'); - this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); - this.temparr.push(subchild.value.sales_value); - } - } - else { - // console.log('else') - this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); - this.temparr.push(subchild.value.sales_value); - } - var totalMonth = 12 / this.tempdate.length; - console.log(this.tempdate); - var tempgrandTotal = this.tempdate.reduce(function (a, b) { return (+a + +b.value); }, 0); - console.log(tempgrandTotal); - // let value = tempgrandTotal * (totalitemmargin / 100); - var value = tempgrandTotal * totalMonth; - console.log(value); - 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()); - // console.log(control.length); - 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) { - console.log(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; - console.log(dailySalesData); - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-daily-sales\pd-question-assessed-daily-sales.html"*/'\n\n\n\n \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 \n\n \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\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 374: -/***/ (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__(9); -/* 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-purchase\pd-question-assessed-purchase.html"*/'\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\n\n
\n\n
\n\n
\n\n \n\n\n\n
\n\n \n\n \n\n \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\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\n \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\n \n\n

{{grandpurchaseTotal}}

\n\n
\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 375: -/***/ (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__(9); -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) { - console.log(details, index); - var frequencyId = details.value.fk_frequency_id; - var expenseValue = details.value.expense_value; - var UOM = details.value.rate_per_unit; - // console.log(frequencyId,purchaseQty,UOM,index); - // console.log(frequencyId); - 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; - // console.log(answerData); - if (this.BuissnessForm.valid) { - var records = { 'records': answerData.busExpense }; - console.log('data', records); - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-business\pd-question-assessed-business.html"*/'\n\n\n\n \n\n \n\n Business Expense\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\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 \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\n \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\n \n\n

{{grandExpenseTotal}}

\n\n
\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 376: -/***/ (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__(9); -/* 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-household\pd-question-assessed-household.html"*/'\n\n\n\n \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\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\n \n\n \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\n \n\n

{{grandHouseExpenseTotal}}

\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 377: -/***/ (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__(9); -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'); - console.log(this.expenseDetails); - 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) { - console.log(details, index); - var frequencyId = details.value.fk_frequency_id; - var incomeValue = details.value.income_value; - // let UOM = details.value.rate_per_unit; - // console.log(frequencyId,purchaseQty,UOM,index); - // console.log(frequencyId); - 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) { - console.log(frequency_factor.mutiple_factor); - 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; - // console.log(answerData); - if (this.BuissnessForm.valid) { - var records = { 'records': answerData.busIncome }; - console.log('data', records); - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-business-income\pd-question-assessed-business-income.html"*/'\n\n\n\n \n\n \n\n Business Income\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\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\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\n \n\n \n\n \n\n \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\n \n\n

{{grandIncomeTotal}}

\n\n
\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 378: -/***/ (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__(9); -/* 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.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - } - 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]; - }); - console.log(lender_represent_details); - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-lender-representative\pd-question-lender-representative.html"*/'\n\n\n\n \n\n \n\n {{FormId.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\n \n\n \n\n \n\n Yes\n\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\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\n \n\n \n\n \n\n
\n\n\n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 379: -/***/ (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__(9); -/* 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__(380); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__angular_common__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__ = __webpack_require__(381); -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.maxDate = new Date(); - // console.log(this.maxDate); - this.pd_applicants_details = []; - this.pd_applicants_details.pop(); - this.pdDetails = this.navParams.get('pdDetails'); - //console.log("Full pd",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'); - // console.log(this.pdDetails); - 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([]), - general_remark: '' - }); - //this.initIndividuals(); - this.pd_applicants_details = this.pdDetails.applicat_details; - // console.log(this.pd_applicants_details); - // console.log(this.pd_applicants_details); - // this.getcoapplicantDetails(); - this.buttonClick = false; - this.h_companies = 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() - // console.log("individualsListBothCase",this.individualsListBothCase); - }); - 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.initlistv = function (data, purpose) { - // console.log("full data length",this.lengthv.individuals.length); - //console.log("gne data",data) - var control = this.generalForm.controls['list_value']; - 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: [this.lengthv.individuals.length + 1], - is_new: true, - is_active: true, - pd_co_applicant_id: [this.lengthv.individuals.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_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) { - //console.log("qualification List",this.qualificationList.length) - //console.log("value",data) - console.log("qual List inside fun", this.qualificationList); - 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; - //console.log("i",this.qual_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], - 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); - //console.log("finished company Value"); - this.h_companies = false; - } - } - }; - PdQuestionGeneralInfoPage.prototype.businessEntityById = function (val) { - //console.log("qualification List",this.qualificationList.length) - // console.log("value",val) - console.log("businessEntity List inside fun", this.businessEntityTypeList); - 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; - // console.log("i",v.business_entity_type_name) - return name; - } - } - }; - PdQuestionGeneralInfoPage.prototype.initIndividuals = function () { - 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: [''] - }); - var control = this.generalForm.controls['individuals']; - control.controls = []; - control.push(formData); - }; - PdQuestionGeneralInfoPage.prototype.initCompanies = function () { - 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: [''] - }); - var control = this.generalForm.controls['companies']; - control.controls = []; - control.push(formData); - }; - PdQuestionGeneralInfoPage.prototype.initPersonRelationship = function (value) { - if (value == '') { - var formData = this.fb.group({ - pd_co_applicant_id: [''], - applicant_name: [''], - relationship: [''], - relation_to: [''], - individuals_order_id: [this.lengthv.persons_with_relationships.length + 1], - }); - var control = this.generalForm.controls['persons_with_relationships']; - 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], - }); - var control = this.generalForm.controls['persons_with_relationships']; - 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(); - }; - PdQuestionGeneralInfoPage.prototype.addRec = function (v) { - //console.log("v",v); - if (v == '1') { - this.buttonClick = !this.buttonClick; - this.initIndividuals(); - } - if (v == '2') { - this.h_companies = !this.h_companies; - this.initCompanies(); - } - }; - PdQuestionGeneralInfoPage.prototype.delete = function (v) { - // const control=this.generalForm.controls['individuals']; - //control.removeAt(i); - //this.data=this.generalForm.value.individuals; - /* console.log("Data First",this.data); - this.cart.push(this.generalForm.value.individuals); - this.data=Object.assign(this.cart); - console.log("Cart",this.cart); - // this.data=Object.assign(this.generalForm.value.individuals) - this.datajson=JSON.stringify(this.cart) - console.log("dataobj",this.dataobj) - console.log("data",this.data); - console.log("datajson",this.datajson)*/ - 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 - // const 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); - //console.log(vla); - //console.log(this.OldData); - 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; }); - //console.log("qualificationList",this.qualificationList) - } - }); - 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) { - // console.log(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); - // console.log(pos_id,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) { - //console.log('function in 156'); - 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) { - var control = this.generalForm.get('companies'); - control = control.controls[controlIndex]; - var business_year = control.controls.business_years.value; - var converted_month = e % 12; - var converted_year = e / 12; - control.controls.business_years.setValue(+business_year + +Math.floor(converted_year)); - control.controls.business_month.setValue(Math.floor(converted_month)); - }; - PdQuestionGeneralInfoPage.prototype.getDateObjects = function (values, controlIndex) { - // console.log("Date Change Action",values); - 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("Answer", answerData); - 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); - }); - } - 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; - console.log("save Records", saveRecords); - //console.log("saveR",saveRecords) - //console.log("Save",valuesData) - this.qustCat.saveForm(saveRecords).subscribe(function (dataResult) { - if (dataResult['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.navCtrl.pop(); - } - else { - _this.toast.pdTriggerappmessage('Error'); - //console.log("Error",) - } - }); - /* Old Data - console.log("Answer Data",answerData); - 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; - console.log(saveRecords); - 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 companyControl = _this.generalForm.get('companies'); - companyControl.controls = []; - if (res['dataStatus'] == true) { - // console.log("Getting DAta",res); - _this.lengthv = _this.data_all; - _this.generalForm.controls['general_remark'].setValue(_this.data_all.general_remark); - //console.log("1") - _this.initlistv(_this.data_all.individuals, 'get'); - /* var arrlist_indi:any=[] - var exist_individuals=Object.keys(res['records'].individuals).map(function(key){ - return res['records'].individuals[key]; - }) - if(exist_individuals.length>0){ - exist_individuals.forEach((element)=>{ - if(element.is_active != false){ - arrlist_indi.push(element); - } - }) - }*/ - // console.log("2") - var arraylis = []; - exist_companies = Object.keys(res['records'].companies).map(function (key) { - return res['records'].companies[key]; - }); - if (exist_companies.length > 0) { - exist_companies.forEach(function (element, cindex) { - if (element.is_active != false) { - arraylis.push(element); - } - else { - _this.OldData.push(element); - } - }); - } - //console.log(exist_companies); - //console.log("Old Data",this.OldData); - _this.initCompanyValue(arraylis, 'get'); - // console.log("3") - if (_this.data_all.persons_with_relationships != '') { - // console.log("Entering personwithRelation") - _this.initPersonRelationship(_this.data_all.persons_with_relationships); - //console.log("4") - } - if (_this.data_all.company_with_relationships != '') { - _this.initCompanyRelationShip(_this.data_all.company_with_relationships); - // console.log("5") - } - } - else { - // console.log("Error"); - } - }); - /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; - console.log('function in'); - 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) - { - console.log(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) { - 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], - }); - }; - PdQuestionGeneralInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-general-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-general-info\pd-question-general-info.html"*/'\n\n\n\n \n\n \n\n {{FormId.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\n
Name of individuals
\n\n \n\n \n\n \n\n

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

\n\n

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

\n\n

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

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

Person

\n\n \n\n
\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\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n Add individuals\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n {{t1.name}}\n\n \n\n \n\n \n\n \n\n \n\n Name is Required \n\n \n\n \n\n \n\n Age is Required\n\n \n\n \n\n \n\n \n\n {{qu.qualification_name}} \n\n \n\n Qualification is Required \n\n \n\n \n\n \n\n \n\n \n\n Is Person Met

\n\n Is 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\n \n\n\n\n\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n
Company/Firm
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n

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

\n\n

{{item.get(\'business_entity_type_name\').value}}  

\n\n

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

\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \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\n
\n\n \n\n Company / Firm\n\n \n\n Company Name is Required\n\n \n\n Is Applicant
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{business.business_entity_type_name}}\n\n \n\n \n\n Business Entity Required\n\n \n\n \n\n \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\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
\n\n \n\n \n\n
Applicant {{i+1}}
\n\n \n\n \n\n {{name.applicant_name}}\n\n \n\n \n\n \n\n \n\n {{member.name}}\n\n \n\n \n\n \n\n \n\n Select\n\n {{rel.applicant_name | titlecase}}\n\n Not Applicable\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n\n\n \n\n
\n\n \n\n Relationship of Individuals to Company / Firm\n\n \n\n
\n\n
Applicant {{i+1}}
\n\n \n\n \n\n {{name.applicant_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{comrelShip.name }}\n\n \n\n \n\n \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\n \n\n \n\n \n\n \n\n \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:"S:\pd_office\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 - -/***/ }), - -/***/ 380: -/***/ (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:"S:\pd_office\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 \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\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 381: -/***/ (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 - -/***/ }), - -/***/ 382: -/***/ (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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(22); -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.amtInWords = []; - this.isDisplay = []; - this.isDisplay2 = []; - this.pdDetails = this.navParams.get('pdDetails'); - console.log("Pd", this.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: '' - }); - // console.log(this.pdDetails); - this.users = this.aws.getlocale(); - this.getneighbourhood(); - this.getdropdown(); - } - PdQuestionNeighbourHoodPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionNeighbourHoodPage'); - }; - 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; }); - } - }); - }; - 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) { - console.log(e, index); - var val; - if (flag == 1) { - // console.log("val",val); - this.isDisplay[index] = e; - } - else if (flag == 2) { - this.isDisplay2[index] = e; - } - }; - PdQuestionNeighbourHoodPage.prototype.checkOthers = function (values) { - console.log("check other value", values); - if (values != null) { - return values == 0 ? true : false; - } - else { - return false; - } - }; - 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; - console.log(answerData); - 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; - console.log(saveRecords); - this.qustCat.saveForm(saveRecords).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.navCtrl.pop(); - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - } - }); - }; - 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']; - console.log("neighbour Status", neighbourDetails); - // neighbourDetails.neighbourhood_list.='' - if (neighbourDetails.check_type == 0) { - _this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type); - _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("data"); - neighbourhood_list.forEach(function (element, index) { - console.log("did_not Know", element.did_not_know_the_business_operation); - _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.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_1); - _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); - console.log(val); - 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); - }); - console.log(referencecheck_list_1); - _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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-neighbour-hood\pd-question-neighbour-hood.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n Please Select the type
\n\n \n\n {{types.type_name}}\n\n \n\n
\n\n\n\n \n\n
\n\n
\n\n \n\n Neighbour Details #{{n+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\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 \n\n
\n\n

\n\n
\n\n
\n\n
\n\n \n\n \n\n {{list.applicant_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 Positive\n\n Negative\n\n \n\n \n\n
\n\n
\n\n\n\n \n\n\n\n
\n\n
\n\n \n\n Reference Details #{{r+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number. \n\n \n\n \n\n \n\n

Enter valid Mobile Number

\n\n

Landline Number

\n\n \n\n \n\n \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 \n\n {{relationship.relation_with_business_name | titlecase}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n

Period of Relationship

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{amtInWords[r]}}\n\n \n\n \n\n \n\n Select\n\n \n\n {{volume.name | titlecase}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\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 \n\n \n\n
\n\n
\n\n
\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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-neighbour-hood\pd-question-neighbour-hood.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 */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) - ], PdQuestionNeighbourHoodPage); - return PdQuestionNeighbourHoodPage; -}()); - -//# sourceMappingURL=pd-question-neighbour-hood.js.map - -/***/ }), - -/***/ 383: -/***/ (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__(9); -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(); - console.log("form Id", this.FormId); - 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: [''], - enter_reason_for_negative: [''], - enter_reason_for_refer_to_credit: [''], - }); - this.getDropDown(); - this.getFinalRemark(); - } - PdQuestionFinalRemarkPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionFinalRemarkPage'); - }; - PdQuestionFinalRemarkPage.prototype.getDropDown = function () { - var _this = this; - this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(function (res) { - // console.log("drop",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.RecommendationChange = function (e) { - console.log('e', e); - if (e == 1) { - console.log('other only', e); - 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(); - this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators(); - this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity(); - this._finalRemarkForm.controls['enter_reason_for_negative'].setValue(''); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators(); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity(); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue(''); - } - if (e == 2) { - console.log('all Validation clear ', e); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); - this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators(); - this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity(); - this._finalRemarkForm.controls['enter_reason_for_negative'].setValue(''); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators(); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity(); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue(''); - } - if (e == 3) { - console.log('negative only', e); - this._finalRemarkForm.controls['enter_reason_for_negative'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue(''); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators(); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity(); - } - if (e == 4) { - console.log('credit only', e); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValidators([__WEBPACK_IMPORTED_MODULE_2__angular_forms__["m" /* Validators */].required]); - this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue(''); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators(); - this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity(); - this._finalRemarkForm.controls['enter_reason_for_negative'].setValue(''); - this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators(); - this._finalRemarkForm.controls['enter_reason_for_negative'].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) { - console.log("Data get", data['records']); - _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.final_form_remarks.setValue(data['records'].final_form_remarks); - } - }); - }; - PdQuestionFinalRemarkPage.prototype.saveFinalRemark = function () { - var _this = this; - if (this._finalRemarkForm.invalid) { - return; - } - 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]; }); - console.log(JSON.stringify(answerData)); - this.qustcat.saveForm(answerData).subscribe(function (res) { - if (res['dataStatus'] == true) { - _this.toast.pdTriggerappmessage("Record Saved Successfully"); - _this.navCtrl.pop(); - } - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-final-remark\pd-question-final-remark.html"*/'\n\n\n\n\n\n \n\n \n\n {{FormId.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\n {{pm.description}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Location\n\n
\n\n \n\n \n\n \n\n Select \n\n Well Suited.\n\n Fairly Suited\n\n Not Suited\n\n \n\n \n\n \n\n \n\n Select \n\n {{ list.pdofficer_recommendation }}\n\n \n\n \n\n\n\n \n\n \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\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-final-remark\pd-question-final-remark.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_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__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]) - ], PdQuestionFinalRemarkPage); - return PdQuestionFinalRemarkPage; - var _a, _b, _c, _d, _e, _f; -}()); - -//# sourceMappingURL=pd-question-final-remark.js.map - -/***/ }), - -/***/ 384: -/***/ (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__(199); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(202); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(385); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(386); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(387); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(201); -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 }); - // console.log("form_id",details.form_id) - } - 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 }); - // console.log("form_id",details.form_id) - } - 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 }); - // console.log("form_id",details.form_id) - } - 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 }); - // console.log("form_id",details.form_id) - } - 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 }); - console.log("form_id", details.form_id); - } - 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 }); - // console.log("form_id",details.form_id) - } - 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 }); - // console.log("form_id",details.form_id) - } - 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 }); - // console.log("form_id",details.form_id) - } - }; - PdQuestionBusinessGroupPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-group',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-group.html"*/'\n\n\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n {{companyList.company_name}}\n\n \n\n \n\n \n\n \n\n {{quesIndex+1}}\n\n {{quesIndex+1}}\n\n
\n\n

{{ formButton.form_name }}

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

Business Related Information is Not Available.Please Check General Information

\n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 385: -/***/ (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__(9); -/* 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__(22); -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.ManufacturingCounterArray = []; - this.RetailCounterArray = []; - this.WholeSaleCounterArray = []; - this.ServiceCounterArray = []; - this.getStateCityDet(); - this.pdDetails = this.navParams.get('pdDetails'); - this.pdid = this.pdDetails.pd_id; - console.log("pdails", this.pdDetails); - this.formdetails = this.navParams.get('formDetails'); - console.log(this.formdetails); - this.FormId = this.formdetails.form_id; - this.users = this.aws.getlocale(); - //console.log("pd",this.pdDetails); - this.applicants = this.pdDetails.applicat_details; - console.log("Applicants", this.applicants); - 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:[''], - 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) { - // console.log('data', data); - data['records'].forEach(function (val) { - if (val.isactive == 1) { - _this.relationData.push(val); - } - }); - }); - this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(function (data) { - // console.log('data', data); - data['records'].forEach(function (val) { - if (val.isactive == 1) { - _this.industryData.push(val); - } - }); - }); - this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(function (data) { - // console.log('data', data); - data['records'].forEach(function (val) { - if (val.isactive == 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; - }); - this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(function (data) { - _this.companyRelationShipList = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - // console.log("stateList first",this.stateList); - this.qustCat.getcommondrop('COUNTRY').subscribe(function (data) { - _this.countryDataList = data['records'].filter(function (val) { return val.isactive == 1; }); - //console.log("countryDataList",this.countryDataList) - }); - 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) { - console.log("Person List", data); - _this.personsList = data['record'].filter(function (val) { return val.applicant_type == 1; }); - console.log("Person List", _this.personsList); - } - }); - }; - PdQuestionBusinessInfoPage.prototype.getStateCityDet = function () { - var _this = this; - this.qustCat.getStateCityDetails().subscribe(function (data) { - // console.log("data first23",data.records) - _this.stateList = data.records; - // console.log("stateListFun",this.stateList) - _this.getDetails(); - }); - }; - PdQuestionBusinessInfoPage.prototype.getDetails = function () { - var _this = this; - // console.log("get State",this.stateList); - 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; - // console.log("datavalue",businessVal) - 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()) - // console.log("Manufacture",manufacture_details); - // 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]; - }); - // console.log("PartnrArray",PartnrArray) - 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); - } - console.log("pa", _this.businessForm.controls['partners']['controls']); - // 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; }); - // console.log("exist act",exist_activity_data); - // console.log('activityData',activityData) - // console.log(this.businessForm.controls['select_business_activity_type']) - 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 - }); - // console.log("exist business act",check_exist_businees_activity) - 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) - // console.log("Entering Manufacture Details"); - 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) { - 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; - // console.log("data") - } - else { - // console.log("no data ") - businessVal.manufacturing_activity_details = []; - } - } - else { - // console.log("no data last") - businessVal.manufacturing_activity_details = []; - } - // console.log("exit") - 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.forEach(function (element, 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 = []; - } - console.log("retail finish"); - // 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.forEach(function (element, 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 = []; - } - console.log("whole Sale finish"); - 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.forEach(function (element, 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()); - }); - } - }); - // console.log("data",selectedService) - businessVal.service_provider_activity_details = selectedService; - } - else { - businessVal.service_provider_activity_details = []; - console.log("no data"); - } - } - else { - businessVal.service_provider_activity_details = []; - } - console.log("Service finish"); - 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 = []; - } - console.log("Others finish"); - // 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)); - } - } - console.log("Seasonality"); - console.log('businessVal', businessVal); - // 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) - console.log("inserting.."); - _this.businessForm.setValue(businessVal); - console.log("Finish"); - } - 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'); - }); - // console.log("getDetails exit") - }; - PdQuestionBusinessInfoPage.prototype.filterCity = function (datasource, filterid) { - //console.log("datasource",datasource) - // console.log("Filter Id",filterid) - //console.log("State List" ,this.stateList) - 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); - // console.log(merged) - 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([]); - console.log("true"); - } - 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.RetailedChecked && this.WholeSalesChecked && this.ServiceChecked) { - 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') { - console.log("clicked 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.addMoreRetail = function () { - var retailControl = this.businessForm.controls['retail_trading_activity_details']; - retailControl.push(this.manufactureDetails()); - }; - PdQuestionBusinessInfoPage.prototype.addMoreWholesale = function () { - var wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details']; - wholesaleControl.push(this.manufactureDetails()); - }; - 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()); - } - }; - PdQuestionBusinessInfoPage.prototype.addMoreServiceprovider = function () { - var serviceControl = this.businessForm.controls['service_provider_activity_details']; - serviceControl.push(this.manufactureDetails()); - }; - PdQuestionBusinessInfoPage.prototype.addMoreOthersActivity = function () { - var othersControl = this.businessForm.controls['others_activity_details']; - othersControl.push(this.createOthersActivity()); - }; - // 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.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; - console.log("First", this.businessForm.value); - var family = []; - console.log(this.FormId); - 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; - console.log("Records", records); - //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; - //console.log('recordss', records); - 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.!'); - _this.navCtrl.pop(); - } - }); - }; - 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']; - // console.log('data', businessVal); - 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]; - // console.log('parentControl',parentControl); - // console.log('parentControl.controls',parentControl.controls); - // console.log('childControl',childControl.value); - // console.log('childControl',childControl.value.exist_status); - // childControl.forEach((datas,index) => { - // console.log(datas); - // // exist_status==true && event.value.type_of_activity_id - // console.log(datas[index].); - // console.log(datas[index].controls.exist_status.value); - // }); - console.log('CheckExport'); - console.log(value, stringFlag, index); - console.log(this.ManufacturingChecked, this.RetailedChecked, this.WholeSalesChecked, this.ServiceChecked); - if (!this.ManufacturingChecked) { - if (stringFlag == 'MActivity' && value != "Within India") { - this.ManufacturingCounterArray[index] = 1; - } - else if (stringFlag == 'MActivity' && value != "Within India") { - this.ManufacturingCounterArray[index] = 0; - } - } - else if (this.ManufacturingChecked && stringFlag == 'MActivity') { - this.ManufacturingCounterArray[index] = 0; - } - if (!this.RetailedChecked) { - if (stringFlag == 'RActivity' && value != "Within India") { - this.RetailCounterArray[index] = 1; - } - else if (stringFlag == 'RActivity' && value != "Within India") { - this.RetailCounterArray[index] = 0; - } - } - else if (stringFlag == 'RActivity' && this.RetailedChecked) { - this.RetailCounterArray[index] = 0; - } - if (!this.WholeSalesChecked) { - if (stringFlag == 'WActivity' && value != "Within India") { - this.WholeSaleCounterArray[index] = 1; - } - else if (stringFlag == 'WActivity' && value != "Within India") { - this.WholeSaleCounterArray[index] = 0; - } - } - else if (stringFlag == 'WActivity' && this.WholeSalesChecked) { - this.WholeSaleCounterArray[index] = 0; - } - if (!this.ServiceChecked) { - if (stringFlag == 'SPActivity' && value != "Within India") { - this.ServiceCounterArray[index] = 1; - } - else if (stringFlag == 'SPActivity' && value != "Within India") { - this.ServiceCounterArray[index] = 0; - } - } - else if (stringFlag == 'SPActivity') { - this.ServiceCounterArray[index] = 0; - } - var SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - console.log(SumOfManufacturingCounter, this.ManufacturingCounterArray); - var SumOfRetailCounter = this.RetailCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - // console.log(SumOfRetailCounter , this.RetailCounterArray); - var SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - // console.log(SumOfWholeSaleCounter,this.WholeSaleCounterArray); - var SumOfServiceCounter = this.ServiceCounterArray.reduce(function (sum, val) { return sum + +val; }, 0); - // console.log(SumOfServiceCounter,this.ServiceCounterArray); - var overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter; - this.ExportFlag = overallCounter > 0 ? true : false; - console.log('overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ', overallCounter, SumOfManufacturingCounter, SumOfRetailCounter, SumOfWholeSaleCounter, SumOfServiceCounter); - console.log('Current Flag Status : ', this.ExportFlag); - }; - PdQuestionBusinessInfoPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/'\n\n\n\n \n\n \n\n {{formdetails.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n
\n\n
\n\n

Partner Details

\n\n \n\n \n\n \n\n
Partner #{{i+1}}
\n\n
\n\n \n\n \n\n \n\n {{app.applicant_name}}\n\n Others\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 Yes\n\n No\n\n \n\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\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n

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

Person RelationShip

\n\n \n\n \n\n \n\n \n\n
Person #{{i+1}}
\n\n
\n\n \n\n \n\n \n\n {{title.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{member.name | titlecase}}\n\n \n\n \n\n \n\n \n\n {{member.applicant_name | titlecase}}\n\n \n\n \n\n \n\n \n\n {{comrelship.name | titlecase}}\n\n \n\n \n\n \n\n \n\n Select\n\n Yes\n\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 Type of Business Activity\n\n \n\n
\n\n \n\n {{entityType.controls.name.value | titlecase}}\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n

Manufacturing Details {{i+1}}

\n\n \n\n \n\n \n\n \n\n \n\n Within India"\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \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\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\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 \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\n
\n\n
\n\n \n\n
Within India
\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \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\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\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n\n \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\n \n\n \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\n\n\n \n\n \n\n
\n\n \n\n

Retail Trading Details {{r+1}}

\n\n
\n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \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\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 \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_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 Countries Where Export Is Being Done for {{retail.value.main_products}}\n\n\n\n \n\n \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\n \n\n
\n\n
\n\n\n\n \n\n

Within India

\n\n\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \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\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 \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{retail.value.main_products}}\n\n\n\n \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\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\n \n\n
\n\n
\n\n \n\n

Wholesale Trade Details {{w+1}}

\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \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\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 \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_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 Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n\n \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\n \n\n \n\n \n\n
\n\n
\n\n \n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \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\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 \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n\n \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\n
\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
\n\n \n\n

Service Provider Details {{sp+1}}

\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\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 {{SL.state_name}}\n\n \n\n \n\n \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\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_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 Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n\n \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\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 \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \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\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 \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n\n \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\n
\n\n
\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 \n\n \n\n
\n\n \n\n

Other Details {{o+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 Export Sale As a % Total Sales\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Digital Payments\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Seasonality\n\n \n\n \n\n
\n\n \n\n

Is The Business Seasonal

\n\n \n\n \n\n Yes\n\n No Major Changes In Sales\n\n \n\n \n\n \n\n \n\n \n\n January\n\n February\n\n March\n\n April\n\n May\n\n June\n\n July\n\n August\n\n September\n\n October\n\n November\n\n December\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\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 \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\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 \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Documents Sighted \n\n \n\n \n\n \n\n \n\n

Shop and Est Act Cert

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

GST Regn Cert

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

Export / Import cert

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

Factory Cert

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

Cert of Practice

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

PF Regn

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

ESIC Regn

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

Do You Want to Add Other Documents?

\n\n \n\n \n\n Yes\n\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
\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\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 386: -/***/ (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__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(9); -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) { - var _this = this; - 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.placeholderName = 'Was any business activity seen at the Address Type during PD visit?'; - 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.getDetails(); - this.getDropDown(); - var params = {}; - params.pd_id = this.pdDetails.pd_id; - params.pd_form_id = '5'; - this.qustcat.retiverForm(params).subscribe(function (data) { - if (data['status'] == 200) { - // console.log("form record 5",data.records); - _this.addressLabel = ''; - var selectedAddressType = _this.m_address_type.filter(function (element) { return element.address_type_id == data['records'].address_type; })[0]; - var address = data['records'].address; - var addressType = data['records'].address_type != 1 ? selectedAddressType.address_type : data['records'].address_type_others; - _this.placeholderName = 'Was any business activity seen at the ' + addressType + ' during PD visit?'; - _this.addressLabel = " : " + address + ' / ' + addressType; - } - }); - } - PdQuestionBusinessAssetsPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionBusinessAssetsPage'); - }; - PdQuestionBusinessAssetsPage.prototype.getDropDown = function () { - var _this = this; - 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; }); - // console.log(this.m_assets_type) - }); - 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; }); - // console.log("existCompanyList",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 }); - } - }); - this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(function (data) { - _this.m_address_type = data['records'].filter(function (val) { return val.isactive == 1; }); - }); - }; - 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) { - // console.log("records",res['records']) - //this.data_all=res['records'] - /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){ - return res['records'].business_assets_details[key] - }); - console.log("Asset Form",assestArray); - //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; - console.log("success"); - }); - //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_years: [''], - business_month: [''], - business_address_availability: [''], - business_is_pd_visited: [''], - business_pd_visited_remark: [''], - business_assets_for_address: this.fb.array([ - this.createBusinessAssetsForAddress() - ]), - business_assets_details: this.fb.array([ - this.initBusinessDetails(), - ]), - business_assets_form_remark: [''] - }); - } - else { - // console.log("Data Here"); - 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_address_availability == 'yes') { - // console.log(value.business_assets_for_address); - this.addBusinessAssetsForAddress(value.business_assets_for_address); - } - else { - var control = this._businessAssetsQuesFrom.controls['business_assets_for_address']; - control.push(this.createBusinessAssetsForAddress()); - } - this.addBusinessAssetsDetailsWithData(value.business_assets_details); - } - this.loadDetails = true; - }; - PdQuestionBusinessAssetsPage.prototype.initBusinessDetails = function () { - return this.fb.group({ - business_assets_mode: [''], - business_details: this.fb.array([]), - 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({ - 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; - // console.log(datas.business_name_of_the_owner); - 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 = { - 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]; - }); - // console.log("Result",result) - 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 = { - business_assets_mode: val.business_assets_mode, - 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); - } - // console.log("Add Business Details exit"); - } - this.loadDetails = true; - }; - PdQuestionBusinessAssetsPage.prototype.createBusinessAssetsForAddressWithData = function (data) { - return this.fb.group({ - 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) { - // console.log("initBusinessDetailsWithdata",data) - var formGroup = this.fb.group({ - business_assets_mode: [data.business_assets_mode], - 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; - // console.log("Asset Mode business asset",assets_details_mode) - // console.log("setBusinessAssetsDetailsWithData",datas) - 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"); - _this.navCtrl.pop(); - } - 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) { - if (flag == 1) { - if (value == 'yes') { - this._businessAssetsQuesFrom.controls.business_years.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - this._businessAssetsQuesFrom.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_is_pd_visited.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - this._businessAssetsQuesFrom.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_years.clearValidators(); - this._businessAssetsQuesFrom.controls.business_address_availability.clearValidators(); - // this._businessAssetsQuesFrom.controls.business_activity.clearValidators(); - this._businessAssetsQuesFrom.controls.business_is_pd_visited.clearValidators(); - this._businessAssetsQuesFrom.controls.business_pd_visited_remark.clearValidators(); - // this._businessAssetsQuesFrom.controls.business_activity.clearValidators(); - } - this._businessAssetsQuesFrom.controls.business_years.updateValueAndValidity(); - this._businessAssetsQuesFrom.controls.business_address_availability.updateValueAndValidity(); - // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity(); - this._businessAssetsQuesFrom.controls.business_is_pd_visited.updateValueAndValidity(); - this._businessAssetsQuesFrom.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) { - // console.log('true'); - Avaliablity_2 = option.id; - } - }); - // isOtherOwner: boolean = false; - if (Avaliablity_2 == 0) { - // console.log(Avaliablity); - item.controls.business_name_of_the_other_owner.setValidators([__WEBPACK_IMPORTED_MODULE_3__angular_forms__["m" /* Validators */].required]); - this.isOtherOwnerForAddress = true; - } - else { - // console.log(Avaliablity); - 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) { - var business_year = this._businessAssetsQuesFrom.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 = "Higher than Business Vintage"; - this._businessAssetsQuesFrom.controls.business_years.setValue(''); - this._businessAssetsQuesFrom.controls.business_month.setValue(''); - } - else { - if (Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) { - this.monthErrorMessage = "Higher than Business Vintage"; - this._businessAssetsQuesFrom.controls.business_years.setValue(''); - this._businessAssetsQuesFrom.controls.business_month.setValue(''); - } - else { - this.monthErrorMessage = ''; - this.yearErrorMessage = ''; - this._businessAssetsQuesFrom.controls.business_years.setValue(+business_year + +Math.floor(converted_year)); - this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(converted_month)); - } - } - }; - PdQuestionBusinessAssetsPage.prototype.checkWithExistBusinessYear = function (e) { - if (+e > this.generalExistBusinessYear) { - this.yearErrorMessage = "Higher than Business Vintage"; - this._businessAssetsQuesFrom.controls.business_years.setValue(''); - } - else { - this.yearErrorMessage = ''; - } - }; - 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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-assets\pd-question-business-assets.html"*/'\n\n\n\n\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n
Address Details {{addressLabel | titlecase}}
\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n

How long has business been operated from this premise?

\n\n \n\n \n\n {{yearErrorMessage}}\n\n \n\n \n\n \n\n \n\n {{monthErrorMessage}}\n\n \n\n \n\n\n\n \n\n \n\n Yes\n\n No\n\n \n\n Field 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 \n\n \n\n Owned\n\n Rented\n\n \n\n \n\n\n\n \n\n \n\n {{"₹"}}\n\n {{RentAmtInwordsForAddress[i]}} Only\n\n Monthly Rent Amount Required\n\n \n\n\n\n\n\n
\n\n \n\n\n\n \n\n \n\n \n\n {{"₹"}}\n\n {{appxMarketAmtInwordsForAddress[i]}} Only\n\n \n\n\n\n \n\n \n\n \n\n \n\n {{val.name}}\n\n \n\n \n\n \n\n Asset Owned by 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 Approx Vintage\n\n \n\n \n\n \n\n\n\n \n\n Purchase Year\n\n \n\n \n\n \n\n
\n\n \n\n\n\n \n\n
\n\n

Is There a Loan Existing Against This Asset?

\n\n \n\n Yes\n\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
\n\n \n\n
Business Premises And Other Assets {{i+1}}
\n\n
\n\n \n\n \n\n \n\n {{asset.name | titlecase}}--{{asset.id}}\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.address_type | 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 {{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\n \n\n
\n\n
\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\n\n
\n\n\n\n \n\n \n\n \n\n Owned\n\n Rented\n\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n {{"₹"}} {{RentAmtInwords[i]}} Only\n\n Monthly Rent Amount Required\n\n \n\n\n\n
\n\n \n\n \n\n \n\n {{"₹"}} {{appxMarketAmtInwords[i]}} Only\n\n Approximate Market Value Required\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 \n\n\n\n \n\n
\n\n \n\n Approx Vintage\n\n \n\n \n\n \n\n Purchase Year\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n

Is There a Loan Existing Against This Asset?

\n\n \n\n Yes\n\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 \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\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 387: -/***/ (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__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(9); -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'); - // console.log("pd",this.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; - // console.log(" business bank Form Id fetched",this.form_id); - // console.log(" business bank Form Details",this.formDetails); - // console.log(" business bank Form Id",this.formDetails.form_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' }); - //console.log(this.pdDetails); - // alert(); - 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) { - console.log("Entering company List"); - if (data['dataStatus'] == true) { - _this.existCompanyList = data['records'].filter(function (val) { return val.is_active === true && val.is_company_applicant === true; }); - console.log("company List", data['records']); - } - 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 }); - console.log("Company applicant", _this.mergeCompanyApplicant); - } - }); - 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(this.mergeCompanyApplicant); - // 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) { - //console.log(itemrow); - 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) { - console.log(item); - console.log(value); - console.log(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('')); - //console.log(this.pdQuestionAddress.get('items')['controls']); - }; - 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 - // console.log('index value -', index); - 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]; - }); - console.log("retrieve data", res['records']); - _this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark); - if (result.length == 0) { - console.log("DAta Status 0"); - control.push(_this.createBankItem('')); - } - else { - console.log("DAta Status >1"); - result.forEach(function (datas, index) { - _this.selectedAccTypeChanges(datas.account_type, index); - if (datas.limit != '') { - console.log("Datas", datas); - _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 { - console.log("DAta Status False"); - 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; - console.log('data', records); - this.qustCat.saveForm(records).subscribe(function (data) { - console.log('data', data); - if (data['dataStatus'] == true) { - _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); - _this.navCtrl.pop(); - } - else { - _this.toast.pdTriggerappmessage("Sorry!! Something Went Wrong"); - } - }); - //console.log(answerData); - }; - PdQuestionBusinessBankingPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-banking',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/'\n\n\n\n\n\n \n\n {{formDetails.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\n \n\n
Banking details {{i+1}}
\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 \n\n \n\n \n\n {{ btLen.lender_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{bankacc.name}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n Limit In case of OD / CC account, What is the Limit \n\n \n\n \n\n {{"₹"}} {{amtInwords[i]}} Only\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n \n\n Yes\n\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 \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \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:"S:\pd_office\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 - -/***/ }), - -/***/ 389: -/***/ (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__(198); -/* 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__(9); -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:"S:\pd_office\pd_officer\src\pages\pd-general-images\pd-general-images.html"*/'\n\n \n\n \n\n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n\n \n\n \n\n\n\n\n\n\n\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\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 \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 390: -/***/ (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__(391); -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 - -/***/ }), - -/***/ 393: -/***/ (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__(73); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(22); -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:"S:\pd_office\pd_officer\src\pages\password\password.html"*/'\n\n\n\n\n\n \n\n 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 Circle Image\n\n \n\n \n\n \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 \n\n
\n\n
\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:"S:\pd_office\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 - -/***/ }), - -/***/ 394: -/***/ (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__(73); -/* 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__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__ = __webpack_require__(395); -/* 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__(396); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_constants_constants__ = __webpack_require__(22); -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:"S:\pd_office\pd_officer\src\pages\auth\auth.html"*/'\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 \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\n
\n\n
\n\n \n\n \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 \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\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 396: -/***/ (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 - -/***/ }), - -/***/ 399: -/***/ (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__(400); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_module__ = __webpack_require__(529); - - -Object(__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__["a" /* platformBrowserDynamic */])().bootstrapModule(__WEBPACK_IMPORTED_MODULE_1__app_module__["a" /* AppModule */]); -//# sourceMappingURL=main.js.map - -/***/ }), - -/***/ 529: -/***/ (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__(568); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__ = __webpack_require__(186); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__ = __webpack_require__(330); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_platform_browser_animations__ = __webpack_require__(670); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ionic_native_sqlite__ = __webpack_require__(391); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(390); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__ = __webpack_require__(392); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_material__ = __webpack_require__(347); -/* 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__(672); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__ = __webpack_require__(673); -/* 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__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_auth_auth__ = __webpack_require__(394); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__pages_login_login__ = __webpack_require__(331); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__pages_pd_list_pd_list__ = __webpack_require__(73); -/* 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__(358); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pages_googleplaytab_googleplaytab__ = __webpack_require__(674); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__pages_password_password__ = __webpack_require__(393); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__pages_pd_allocation_pd_allocation__ = __webpack_require__(675); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pages_input_input__ = __webpack_require__(356); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__providers_common_provider_toast__ = __webpack_require__(9); -/* 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__(395); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__ionic_native_launch_navigator__ = __webpack_require__(357); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__pages_otp_otp__ = __webpack_require__(197); -/* 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__(676); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__providers_common_provider_camera__ = __webpack_require__(198); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__providers_common_provider_loading__ = __webpack_require__(396); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__ionic_native_camera__ = __webpack_require__(359); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__pages_pd_question_pd_question_address_pd_question_address__ = __webpack_require__(360); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_assests_pd_question_assests__ = __webpack_require__(366); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_banking_pd_question_banking__ = __webpack_require__(364); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_current_loans_pd_question_current_loans__ = __webpack_require__(362); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_emp_info_pd_question_emp_info__ = __webpack_require__(361); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_family_pd_question_family__ = __webpack_require__(365); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_loans_pd_question_loans__ = __webpack_require__(363); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(201); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_other_income_pd_question_other_income__ = __webpack_require__(367); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(199); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__ionic_native_geolocation__ = __webpack_require__(388); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_personal_info_pd_question_personal_info__ = __webpack_require__(368); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(202); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(385); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(369); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(371); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(373); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(372); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(376); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(374); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(370); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(683); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(375); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__ = __webpack_require__(378); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_general_info_pd_question_general_info__ = __webpack_require__(379); -/* 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__(380); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__ = __webpack_require__(382); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_final_remark_pd_question_final_remark__ = __webpack_require__(383); -/* 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__(384); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(386); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(387); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__pipes_pd_pd__ = __webpack_require__(381); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(377); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__ = __webpack_require__(389); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__ = __webpack_require__(685); -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_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 - -/***/ }), - -/***/ 568: -/***/ (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__(186); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__ = __webpack_require__(330); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_login_login__ = __webpack_require__(331); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_list_pd_list__ = __webpack_require__(73); -/* 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__(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); -}; - - - - - - - - - -// import { AndroidPermissions } from '@ionic-native/android-permissions'; -var MyApp = (function () { - function MyApp(platform, statusBar, splashScreen, aws, shared, AWS) { - var _this = this; - this.platform = platform; - this.statusBar = statusBar; - this.splashScreen = splashScreen; - this.aws = aws; - this.shared = shared; - this.AWS = AWS; - this.userAccess = false; - this.rootPage = __WEBPACK_IMPORTED_MODULE_4__pages_login_login__["a" /* LoginPage */]; - 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); - }); - }); - }; - 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:"S:\pd_office\pd_officer\src\app\app.html"*/'\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:"S:\pd_office\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 */]]) - ], MyApp); - return MyApp; -}()); - -//# sourceMappingURL=app.component.js.map - -/***/ }), - -/***/ 672: -/***/ (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 - -/***/ }), - -/***/ 673: -/***/ (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 - -/***/ }), - -/***/ 674: -/***/ (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:"S:\pd_office\pd_officer\src\pages\googleplaytab\googleplaytab.html"*/'\n\n\n\n\n\n \n\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 \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\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\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\n \n\n \n\n \n\n

1. 28.5

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

2. 47.6

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

3. 86.6

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

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 675: -/***/ (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:"S:\pd_office\pd_officer\src\pages\pd-allocation\pd-allocation.html"*/'\n\n \n\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\n\n\n\n\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 \n\n \n\n {{pdFullDetails.city_name}} / -{{pdFullDetails.pincode}}\n\n \n\n
\n\n
\n\n
\n\n \n\n

Product

\n\n

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

\n\n

{{pdFullDetails.pd_type_name}}

\n\n

{{pdFullDetails.pd_allocated_to}}

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

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

{{pdFullDetails.pd_status_name}}

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

{{pdFullDetails.loan_amount}}

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

Applicants

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n   {{Mainapplicatent.applicant_name}} (Main)\n\n \n\n \n\n  {{Mainapplicatent.mobile_no}} \n\n \n\n \n\n \n\n \n\n   {{Mainapplicatent.applicant_name}}\n\n \n\n \n\n  {{Mainapplicatent.mobile_no}} \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:"S:\pd_office\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 - -/***/ }), - -/***/ 683: -/***/ (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__(73); -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) { - this.navCtrl = navCtrl; - this.navParams = navParams; - this.viewCtrl = viewCtrl; - this.aws = aws; - this.pdservice = pdservice; - this.qustCat = qustCat; - this.fb = fb; - this.bounce_reason_others = null; - this.pdDetails = this.navParams.get('appdetails'); - this.status = this.navParams.get('status'); - 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) { - var data = { 'pd_id': this.pdDetails.pd_id, 'pd_status': this.status, 'fk_updatedby': this.users, 'bounce_reason': this.bounce_reason, 'bounce_reason_others': this.bounce_reason_others }; - 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 */]); - } - }); - } - }; - BouncedRejectPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-bounced-reject',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\input\bounced-reject\bounced-reject.html"*/'\n\n \n\n \n\n Bounced Reject Reason\n\n \n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\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\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n'/*ion-inline-end:"S:\pd_office\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 */]]) - ], BouncedRejectPage); - return BouncedRejectPage; -}()); - -//# sourceMappingURL=bounced-reject.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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business\pd-question-business.html"*/'\n\n\n\n\n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'/*ion-inline-end:"S:\pd_office\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:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-salary-info\pd-question-salary-info.html"*/'\n\n\n\n \n\n \n\n Salary Category\n\n \n\n \n\n \n\n \n\n \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
\n\n \n\n \n\n \n\n
\n\n
\n\n \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:"S:\pd_office\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__(332); -/* 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__(332); -/* 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__(612); -/* 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__(22); -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 - -/***/ }), - -/***/ 73: -/***/ (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__(356); -/* 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__(197); -/* 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__(390); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__ = __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 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.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 = "inpro"; - this.pdlistaccess = null; - //this.getlenderpddetails(); - // this.getpdTriggerdetails(); - console.log("Entered"); - } - 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) { - console.log(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() == '') { - console.log(q.trim()); - console.log(this.pdlistdetails); - 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(); - console.log("User", userid); - this.pdofficer.getpddetails(userid).subscribe(function (res) { - _this.pdlistdetails = res; - if (_this.pdlistdetails.dataStatus == true) { - console.log(_this.pdlistdetails); - _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; - // console.log(65,this.pdlistdetails.records.filter(sch=>sch.pd_status =="STARTED" || sch.pd_status == "INPROGRESS" || sch.pd_status =="ACCEPTED" || sch.pd_status =="SCHEDULED" && sch.pd_status =="INITIATED" || sch.pd_status =="STARTED")); - _this.pdinprogress = _this.pdlistdetails.records.filter(function (allocate) { return allocate.pd_status == "ALLOCATED"; }); - _this.searchinprogress = _this.pdinprogress; - console.log(_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 = []; - console.log('Begin async operation', refresher); - this.shared.refresh(); - this.getpdTriggerdetails(); - setTimeout(function () { - console.log('Async operation has ended'); - 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.setRoot(__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]); - }; - PdListPage = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-list',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-list\pd-list.html"*/'\n\n \n\n \n\n PD Cases\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n
\n\n \n\n \n\n \n\n \n\n Allocated\n\n \n\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 {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n\n \n\n \n\n

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

\n\n \n\n
\n\n \n\n
\n\n
{{progess.pd_date_of_initiation}}
\n\n
{{progess.city_name}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n\n
\n\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 \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\n \n\n

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

\n\n \n\n
\n\n
\n\n \n\n \n\n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n\n
\n\n \n\n
{{progess.city_name}}
\n\n
\n\n
\n\n \n\n \n\n
{{progess.pd_status}}
\n\n
\n\n \n\n
\n\n
{{progess.pd_date_of_initiation}}
\n\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\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n
'/*ion-inline-end:"S:\pd_office\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 - -/***/ }), - -/***/ 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__(22); -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 - -/***/ }), - -/***/ 9: -/***/ (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 - -/***/ }) - -},[399]); -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/www/build/main.js.map b/www/build/main.js.map deleted file mode 100644 index f3334c71..00000000 --- a/www/build/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/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/input/bounced-reject/bounced-reject.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/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConstantsProvider } from '../constants/constants';\r\n\r\n/*\r\n Generated class for the QuestionCategoryProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class QuestionCategoryProvider {\r\napiurl:any;\r\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\r\n console.log('Hello QuestionCategoryProvider Provider');\r\n this.apiurl = constant.apiurl();\r\n }\r\n \r\n \r\n getLoadTemplate(pdid)\r\n {\r\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\r\n }\r\n saveQusetion(saveData)\r\n {\r\n let records = {'records':[saveData]};\r\n return this.http.post(this.apiurl+'savePDQuestions',records);\r\n }\r\n\r\n \r\n getAnswerTemplate(qustDetails)\r\n {\r\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\r\n }\r\n\r\n /***\r\n * Get PD Questions dropdown api\r\n * sriram\r\n */\r\n getcommondrop(tableName)\r\n {\r\n let masters = {'master_name':tableName}\r\n return this.http.post(this.apiurl+'getListOfMaster',masters);\r\n }\r\n\r\n saveForm(records)\r\n { let record = {'records':records};\r\n return this.http.post(this.apiurl+'savePDFormDetails',record);\r\n }\r\n\r\n retiverForm(records)\r\n {\r\n return this.http.post(this.apiurl+'getPDFormDetails',records);\r\n }\r\n\r\n /**Assessed Form Details API */\r\n saveassessedForms(api,saveData)\r\n {\r\n return this.http.post(this.apiurl+api,saveData);\r\n }\r\n\r\n retiverassessedForm(api,records)\r\n {\r\n return this.http.post(this.apiurl+api,records);\r\n }\r\n\r\n updatePdApplicant(editData: any) {\r\n // editData.fk_updatedby = this._aws.getlocale();\r\n // editData.updatedon = currentdate;\r\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\r\n\r\n \r\n}\r\n\r\ngetEndUseForLoan(pdid:any){\r\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetCompaniesListsForBusiness(pdid:any){\r\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetStateWiseCities(stateid:any){\r\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\r\n}\r\ngetAllPersonsName(pdid:any){\r\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\r\n \r\n}\r\ngetStateCityDetails(){\r\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\r\n}\r\ngetAssetsWithLoanFromBusiness(pdid:any){\r\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\r\n\r\n}\r\n\r\n\r\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\r\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\r\n}\r\n\r\n/** For Stock Details \r\n * To Get The Products With TypeofActivity From Business \r\n **/\r\nstockFormAccess(pdid: any,companyid: any) {\r\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\r\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\r\n}\r\n\r\n\r\n\r\n/*****Save Images */\r\nsavePDImages(imagesDetails)\r\n{ \r\n let record = {'records':imagesDetails};\r\n return this.http.post(this.apiurl+'savePDPhotos',record);\r\n}\r\ngetFamilyDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdQuestionPage } from '../pd-question/pd-question';\r\nimport Chart from 'chart.js';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\r\n\r\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\r\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\r\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\r\n/**\r\n * Generated class for the PdQuestionCategoryPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-category',\r\n templateUrl: 'pd-question-category.html',\r\n})\r\nexport class PdQuestionCategoryPage {\r\n searchTempForm: any;\r\n searchQuestion: any;\r\n viewchange: boolean;\r\n templateAccess: boolean;\r\n bgColortempForm: any=[];\r\n bgColorqustCat: any=[];\r\n // @ViewChild('doughnutCanvas') doughnutCanvas;\r\n pdinfo: any;\r\nquestionList:any;\r\nquestionCate:any;\r\nquestionCateAccess:boolean = null;\r\nquestionfinishedList:any =[];\r\npddetails:any;\r\noverallqustioncountAccess:boolean = true;\r\ndoughnutChart: any;\r\ncompletedAccess:any;\r\nsearchitem:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\r\n this.pddetails = this.navParams.get('pdDetails');\r\n console.log(\"Pd\",this.pddetails);\r\n \r\n \r\n }\r\n\r\n ionViewCanEnter()\r\n {\r\n this.getcategoryList(); \r\n }\r\n // doughuntChart()\r\n // {\r\n // console.log(this.doughnutCanvas);\r\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\r\n \r\n // type: 'doughnut',\r\n // data: {\r\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\r\n // datasets: [{\r\n // label: '# of Votes',\r\n // data: [12],\r\n // backgroundColor: [\r\n // // 'rgba(255, 99, 132, 0.2)',\r\n // 'rgba(54, 162, 235, 0.2)',\r\n // // 'rgba(255, 206, 86, 0.2)',\r\n // // 'rgba(75, 192, 192, 0.2)',\r\n // // 'rgba(153, 102, 255, 0.2)',\r\n // // 'rgba(255, 159, 64, 0.2)'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\",\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\"\r\n // ]\r\n // }]\r\n // }\r\n\r\n // });\r\n // }\r\n ionViewDidLoad() {\r\n this.shared.refresh();\r\n //this.doughuntChart();\r\n console.log('ionViewDidLoad PdQuestionCategoryPage');\r\n }\r\n \r\n getcategoryList()\r\n {\r\n let j = 1;\r\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\r\n {\r\n this.questionCate = res;\r\n if(this.questionCate.dataStatus == true)\r\n {\r\n \r\n this.questionCate = this.questionCate.records;\r\n //console.log(this.questionCate.counts);\r\n this.random_ng_past(); \r\n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\r\n {\r\n this.questionCateAccess = true;\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchQuestion = this.questionCate.question_answers;\r\n\r\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)\r\n {\r\n this.overallqustioncountAccess = false;\r\n }else\r\n {\r\n this.overallqustioncountAccess = true;\r\n }\r\n \r\n //console.log(this.questionCate);\r\n \r\n \r\n \r\n // console.log(this.questionfinishedList);\r\n \r\n }else if(this.questionCate.template_forms!='')\r\n {\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchTempForm = this.questionCate.template_forms\r\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)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n }\r\n else\r\n {\r\n this.questionCateAccess = false;\r\n this.templateAccess = false; \r\n this.questionCate = \"No Template Available\";\r\n }\r\n }\r\n })\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.questionCate.question_answers){\r\n var a = Math.floor(Math.random() * 256);\r\n var b = Math.floor(Math.random() * 256);\r\n var c = Math.floor(Math.random() * 256);\r\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\r\n \r\n }\r\n for(let id of this.questionCate.template_forms){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n questionsTag(categroyId){\r\n \r\n this.pdinfo = this.pddetails; \r\n console.log('data',categroyId); \r\n \r\n console.log('pdinfo',this.pdinfo);\r\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\r\n //console.log(this.questionCate);\r\n // if(this.questionCate.questions.length !=\"0\"){\r\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\r\n \r\n // }else\r\n // {\r\n // this.getcategoryList();\r\n // this.toast.pdTriggerappmessage('No Question Available');\r\n // }\r\n }\r\n\r\n tempQustionTag(categroyId)\r\n {\r\n this.pdinfo = this.pddetails; \r\n console.log('data',categroyId); \r\n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\r\n if(categroyId ==5)\r\n {\r\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n \r\n }else if(categroyId==12){\r\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }else if(categroyId==10)\r\n {\r\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==8){\r\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==13)\r\n {\r\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n \r\n }else if(categroyId==7)\r\n {\r\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n\r\n }else if(categroyId==6)\r\n {\r\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==4){\r\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==9){\r\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==3){\r\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==11)\r\n {\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==14)\r\n {\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==2)\r\n {\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId ==17)\r\n {\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }\r\n else if(categroyId==16)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==15)\r\n {\r\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==18)\r\n {\r\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==19)\r\n {\r\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }\r\n else if(categroyId==20)\r\n {\r\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n }\r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n // this.questionCate = this.searchQuestion;\r\n // this.questionCate.template_forms = this.searchTempForm;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n console.log(this.searchQuestion);\r\n if(this.searchQuestion !== undefined){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\r\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n // return true;\r\n // }\r\n // })\r\n // console.log(this.questionCate);\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\r\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n// return true;\r\n// }\r\n// })\r\n console.log(this.questionCate);\r\n }\r\n }\r\n}\r\n completed()\r\n {\r\n let users = this.aws.getlocale();\r\n \r\n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\r\n \r\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.completedAccess = res;\r\n if(this.completedAccess.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage);\r\n }\r\n })\r\n }\r\n doRefresh(refresher) {\r\n this.questionCate = [];\r\n this.questionfinishedList = [];\r\n console.log('Begin async operation', refresher);\r\n this.shared.refresh();\r\n this.getcategoryList();\r\n setTimeout(() => {\r\n console.log('Async operation has ended');\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\n\r\n/**\r\n * Generated class for the OtpPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-otp',\r\n templateUrl: 'otp.html',\r\n})\r\nexport class OtpPage {\r\n\r\n \r\n timeLimit: any;\r\n reason_otp: any;\r\n users: any;\r\n timerOn: boolean = true;\r\n balance_time: string;\r\n otpStatus: any;\r\n pin:any;\r\n otpStatusAccess:boolean = true;\r\n applicatentDetails: any;\r\n commonImage:any;\r\n maxtime: any=30;\r\n \r\n reasonForm:FormGroup\r\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) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.reasonForm = this.fb.group(\r\n {\r\n reason:[null,Validators.compose([Validators.required])],\r\n others_reason:[null],\r\n })\r\n this.getDropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad OtpPage');\r\n }\r\n ionViewDidEnter(){\r\n //this.Menu.enable(false);\r\n this.timer(120);\r\n }\r\n ionViewWillLeave(){\r\n //this.Menu.enable(true);\r\n clearTimeout(this.timeLimit);\r\n }\r\n getDropdown()\r\n {\r\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\r\n console.log(this.reason_otp);\r\n \r\n }\r\n })\r\n }\r\n checkotp(otp)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n console.log(\"Otp\",res)\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }\r\n\r\n timer(remaining) {\r\n // console.log(remaining);\r\n let m:any = Math.floor(remaining / 60);\r\n let s:any = remaining % 60;\r\n \r\n m = m < 10 ? '0' + m : m;\r\n s = s < 10 ? '0' + s : s;\r\n // var balance_time = m + ':' + s;\r\n this.balance_time = m + ':' + s;\r\n remaining -=1;\r\n // console.log(this.balance_time);\r\n if(remaining >= 0 && this.timerOn) {\r\n this.timeLimit = setTimeout(()=> {\r\n this.timer(remaining);\r\n }, 1000);\r\n return;\r\n }\r\n \r\n if(!this.timerOn) {\r\n // Do validate stuff here\r\n return;\r\n }\r\n \r\n // Do timeout stuff here\r\n this.users = this.aws.getlocale();\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'OTP Expired ',\r\n message: 'Do you want sure resend OTP',\r\n buttons: [\r\n {\r\n text: 'OTP Without Start',\r\n \r\n handler: () => {\r\n \r\n this.otpStatusAccess = false;\r\n }\r\n },\r\n {\r\n text: 'Resend OTP',\r\n handler: () => {\r\n \r\n \r\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users};\r\n console.log(data);\r\n this.pddetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n \r\n })\r\n // console.log('Buy clicked');\r\n \r\n } \r\n }\r\n \r\n ]\r\n });\r\n alert.present();\r\n }\r\n \r\n saveotpreasno()\r\n {\r\n console.log(this.reasonForm.value);\r\n if(this.reasonForm.valid)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Camera } from '@ionic-native/camera';\r\n/*\r\n Generated class for the CameraProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class CameraProvider {\r\n\r\n constructor(public http: HttpClient,public camera:Camera) {\r\n console.log('Hello CameraProvider Provider');\r\n }\r\n getpicture() \r\n {\r\n const options = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 500,\r\n correctOrientation: true\r\n };\r\n\r\n // If set to crop, restricts the image to a square of 600 by 600\r\n \r\n\r\n return this.camera.getPicture(options).then(imageData => {\r\n const base64Image = 'data:image/png;base64,' + imageData;\r\n // console.log(base64Image);\r\n return base64Image;\r\n }, error => {\r\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionSupplierInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-supplier-info',\r\n templateUrl: 'pd-question-supplier-info.html',\r\n})\r\n\r\nexport class PdQuestionSupplierInfoPage {\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n company_id: any;\r\n form_id: any;\r\n questionDetails: any;\r\n supplierInfoForm: FormGroup;\r\n\r\n business_manufacturingProducts: any = [];\r\n business_tradingProducts: any = [];\r\n m_titleList: any = [];\r\n m_paymentList: any = [];\r\n m_companyRelationShipList: any = [];\r\n\r\n noRecordsFound: Boolean = false;\r\n public submitted = false;\r\n errorMessage: any = '';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider) {\r\n\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id = this.pdDetails.company_id;\r\n this.users = this.aws.getlocale();\r\n\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropList();\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\r\n }\r\n\r\n\r\n serviceProviderForm: Boolean = false;\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdDetails.pd_id;\r\n params.pd_form_id = this.form_id;\r\n params.company_id = this.company_id;\r\n\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus'] == true) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\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);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n this.initTradingProductsDetails(api_trading_products);\r\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);\r\n }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\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);\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [''],\r\n manufacturing_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: [''],\r\n manufacturing_frequency_of_purchase: [''],\r\n person_stdcode: [''],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [''],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\r\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\r\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\r\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\r\n person_stdcode: [records.person_stdcode || null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline || null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n person_title_name: [records.person_title_name],\r\n person_designation: [records.person_designation],\r\n other_person_designation: [records.other_person_designation],\r\n trade_supplier_name: [records.trade_supplier_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\r\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [records.person_stdcode],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.m_companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n\r\n saveSupplierInfo(FormValues) {\r\n\r\n var answerFormValues = FormValues;\r\n\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n e == 1 ? '' : '';\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n e == 1 ? '' : '';\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n checkCard(e, flag, index) {\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n }\r\n\r\n selectedPaymentTerms(items, e, flag) {\r\n if (flag == 2) {\r\n if (e == 3) {\r\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\r\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['trade_product_credit_days_from'].clearValidators();\r\n items.controls['trade_product_credit_days_from'].setValue('');\r\n items.controls['trade_product_credit_days_to'].clearValidators();\r\n items.controls['trade_product_credit_days_to'].setValue('');\r\n }\r\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\r\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\r\n }\r\n else if (flag == 1) {\r\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\r\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['manufacturing_credit_days_from'].clearValidators();\r\n items.controls['manufacturing_credit_days_from'].setValue('');\r\n items.controls['manufacturing_credit_days_to'].clearValidators();\r\n items.controls['manufacturing_credit_days_to'].setValue('');\r\n }\r\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\r\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\r\n }\r\n }\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionStockInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-stock-info',\r\n templateUrl: 'pd-question-stock-info.html',\r\n})\r\nexport class PdQuestionStockInfoPage {\r\n\r\n uomData: any;\r\n rawmaterial: any;\r\n users: any;\r\n formDetails: any;\r\n pdDetails: any;\r\n company_id : any;\r\n pdid:any;\r\n stockForm: FormGroup;\r\n noRecordsFound: Boolean;\r\n errorMessage: any = '';\r\n M_rawValueInWords : any = []; \r\n M_goodsValueInWords : any = [];\r\n R_tradedGoodsValueInWords : any = [];\r\n T_tradedGoodsValueInWords : any = [];\r\n mrmCommentFlag:any=[];\r\n mfgCommentFlag:any=[];\r\n rtrdCommentFlag:any=[];\r\n wtrdCommentFlag:any=[];\r\n serviceProviderForm: Boolean = false;\r\n suppliers_raw_materials : any = [];\r\n suppliers_retail_trade_details : any = [];\r\n suppliers_wholesale_trade_details : any = [];\r\n suppliers_finished_goods : any =[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.pdid=this.pdDetails.pd_id;\r\n this.qustCat.stockFormAccess(this.pdid,this.company_id).subscribe(data => {\r\n if(data.dataStatus == true){\r\n this.initstockForm(data.record);\r\n }\r\n else if(data.dataStatus == false)\r\n {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropdown();\r\n }\r\n\r\n public initstockForm(record){\r\n let api = Object.keys(record.from_business).map(function (key) {\r\n return record.from_business[key];\r\n });\r\n let rm_api = record.from_supplier;\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(value => {\r\n if (value['status'] == 200) {\r\n let dataForm = value['records']; \r\n if(dataForm !== undefined) {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [dataForm.stock_remarks],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(api)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(api)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n let manufacturing_temparr = [];\r\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials; \r\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods; \r\n this.initManufacturingDetails(manufacturing_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n let retail_temparr = [];\r\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\r\n this.initRetailDetails(retail_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n let trading_temparr = [];\r\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\r\n this.initTradingDetails(trading_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n else{\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(record.from_business)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record.from_business)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.suppliers_finished_goods = val.products;\r\n this.initManufacturingDetails(null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.suppliers_wholesale_trade_details =val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(record.from_business)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record.from_business)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.suppliers_finished_goods = val.products;\r\n this.suppliers_raw_materials = rm_api;\r\n this.initManufacturingDetails(null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.suppliers_retail_trade_details= val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n } \r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\r\n }\r\n\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if(data['dataStatus']==true){\r\n this.uomData = data['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(record) {\r\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let rm_arr = record.from_supplier;\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n retailForm: Boolean = false;\r\n retailFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3);\r\n if (arr.length > 0) {\r\n // if(arr.products != undefined){\r\n this.retailForm = true;\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n }); \r\n // }else{\r\n // this.retailForm = false;\r\n // return;\r\n // } \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // console.log('val',val);\r\n // console.log('tradingForm',this.tradingForm);\r\n let arr = val.filter(data => data.type_of_activity_id == 4);\r\n \r\n if (arr.length > 0) {\r\n // console.log(arr.products);\r\n // if(arr.products === undefined){\r\n // console.log(arr.products);\r\n // this.tradingForm = false;\r\n // return;\r\n // }\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n }); \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingDetails(datas) {\r\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; \r\n if(datas === null){\r\n if(this.suppliers_raw_materials.length > 0){\r\n this.suppliers_raw_materials.forEach(val => {\r\n let Ref_RawMaterials : any = {'raw_name': val,\r\n 'stock_observed':'',\r\n 'raw_quantity': '',\r\n 'raw_uom': '',\r\n 'other_uom': '',\r\n 'raw_value': '',\r\n 'is_sufficiant_raw': '',\r\n 'rawmaterial_remarks':''};\r\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials)); \r\n });\r\n }\r\n else{ \r\n rawMaterial.push(this.createRawmaterial(null)); \r\n } \r\n if(this.suppliers_finished_goods.length > 0){\r\n this.suppliers_finished_goods.forEach(val => {\r\n let Ref_Finished_Goods : any = {'goods_name': val,\r\n 'goods_observed': '',\r\n 'goods_quantity': '',\r\n 'goods_uom': '',\r\n 'goods_other_uom': '',\r\n 'goods_value': '',\r\n 'is_sufficiant_goods': '',\r\n 'finishedgoods_remarks':''};\r\n finishedGoods.push(this.createGoods(Ref_Finished_Goods)); \r\n });\r\n }\r\n else{ \r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n } else {\r\n if(datas.manufacturing_raw_materials != undefined){\r\n datas.manufacturing_raw_materials.forEach((val,index) => {\r\n if(val.raw_value){\r\n this.inWords(val.raw_value,1,index);\r\n }\r\n this.checkComments(val.is_sufficiant_raw,1,index);\r\n rawMaterial.push(this.createRawmaterial(val)); \r\n });\r\n }\r\n else{\r\n rawMaterial.push(this.createRawmaterial(null)); \r\n }\r\n if(datas.manufacturing_finished_goods != undefined){ \r\n datas.manufacturing_finished_goods.forEach((val,index) => {\r\n if(val.goods_value){\r\n this.inWords(val.goods_value,2,index);\r\n }\r\n this.checkComments(val.is_sufficiant_goods,2,index);\r\n finishedGoods.push(this.createGoods(val)); \r\n \r\n });\r\n }\r\n else{\r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createRawmaterial(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n raw_name: [''],\r\n stock_observed:[''],\r\n raw_quantity: [''],\r\n raw_uom: [''],\r\n other_uom : [''],\r\n raw_value: [''],\r\n is_sufficiant_raw: [''],\r\n rawmaterial_remarks:['']\r\n })\r\n } else { \r\n return this.fb.group({\r\n raw_name: [records.raw_name],\r\n stock_observed:[records.stock_observed],\r\n raw_quantity: [records.raw_quantity],\r\n raw_uom: [records.raw_uom],\r\n other_uom : [records.other_uom],\r\n raw_value: [records.raw_value],\r\n is_sufficiant_raw: [records.is_sufficiant_raw],\r\n rawmaterial_remarks:[records.rawmaterial_remarks]\r\n })\r\n }\r\n }\r\n \r\n initRetailDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n if(datas === null){\r\n if(this.suppliers_retail_trade_details.length > 0){\r\n // this.rawMaterialAccess = true;\r\n this.suppliers_retail_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n } else {\r\n if(datas.retail_traded_goods !== undefined){\r\n datas.retail_traded_goods.forEach((val,index) => {\r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,3,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,3,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n\r\n createGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n goods_name: [''],\r\n goods_observed: [''],\r\n goods_quantity: [''],\r\n goods_uom: [''],\r\n goods_other_uom: [''],\r\n goods_value: [''],\r\n is_sufficiant_goods: [''],\r\n finishedgoods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n goods_name: [records.goods_name],\r\n goods_observed: [records.goods_observed],\r\n goods_quantity: [records.goods_quantity],\r\n goods_uom: [records.goods_uom],\r\n goods_other_uom: [records.goods_other_uom],\r\n goods_value: [records.goods_value],\r\n is_sufficiant_goods: [records.is_sufficiant_goods],\r\n finishedgoods_remarks:[records.finishedgoods_remarks]\r\n })\r\n }\r\n }\r\n\r\n initTradingDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; \r\n if(datas === null){\r\n if(this.suppliers_wholesale_trade_details.length > 0){\r\n this.suppliers_wholesale_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n\r\n } else {\r\n if(datas.trading_traded_goods !==undefined)\r\n {\r\n datas.trading_traded_goods.forEach((val,index) => { \r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,4,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,4,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createTradedGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n traded_goods_name: [''],\r\n traded_goods_observed: [''],\r\n traded_goods_quantity: [''],\r\n traded_goods_uom: [''],\r\n traded_goods_other_uom: [''],\r\n estimated_traded_goods_value: [''],\r\n is_sufficiant_traded_goods: [''],\r\n traded_goods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n traded_goods_name: [records.traded_goods_name],\r\n traded_goods_observed: [records.traded_goods_observed],\r\n traded_goods_quantity: [records.traded_goods_quantity],\r\n traded_goods_uom: [records.traded_goods_uom],\r\n traded_goods_other_uom: [records.traded_goods_other_uom],\r\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\r\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\r\n traded_goods_remarks:[records.traded_goods_remarks]\r\n })\r\n }\r\n }\r\n \r\n /** Manufacturing -> To Add More Raw Material Details */\r\n addRawMaterials(flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.push(this.createRawmaterial(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Raw Material Details */\r\n deleteRawMaterials(index,flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Finished Goods */\r\n addGoods(flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.push(this.createGoods(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Finished Goods */\r\n deleteGoods(index,flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To Add More trade Goods\r\n * Case 2 wholesale Traded -> To Add More trade Goods\r\n */\r\n addTradedGoods(flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To remove trade Goods\r\n * Case 2 wholesale Traded -> To remove trade Goods\r\n */\r\n deleteTradedGoods(index,flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n \r\n //const control = this.stockForm.controls['traded_goods'];\r\n\r\n }\r\n\r\n checkComments(e,flag,index){\r\n if(flag == 1 && e=='no'){\r\n this.mrmCommentFlag[index] = true;\r\n }\r\n else if(flag == 1 && e!='no'){\r\n this.mrmCommentFlag[index] = false;\r\n }\r\n if(flag == 2 && e=='no'){\r\n this.mfgCommentFlag[index] = true;\r\n }\r\n else if(flag == 2 && e!='no'){\r\n this.mfgCommentFlag[index] = false;\r\n }\r\n if(flag == 3 && e=='no'){\r\n this.rtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 3 && e!='no'){\r\n this.rtrdCommentFlag[index] = false;\r\n }\r\n if(flag == 4 && e=='no'){\r\n this.wtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 4 && e!='no'){\r\n this.wtrdCommentFlag[index] = false;\r\n }\r\n }\r\n\r\n /** To Save/Edited Popup Data */\r\n saveStockInfo(answerFormValues) {\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if(responsed['status'] == 200) { \r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }else{\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); \r\n }\r\n });\r\n }\r\n\r\n inWords(e,flag:number,i){\r\n switch(flag){\r\n case 1 :\r\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 2 : \r\n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 3 : \r\n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 4 : \r\n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n}\r\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 } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\r\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionFinancialInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-financial-info',\r\n templateUrl: 'pd-question-financial-info.html',\r\n})\r\nexport class PdQuestionFinancialInfoPage {\r\n \r\n public financialForm: FormGroup;\r\n\r\n pdDetails:any;\r\n FormId:any;\r\n users:any;\r\n company_id:any;\r\n isDisplay:boolean;\r\n customerCommentsFlag:boolean;\r\n FY_annualSalesInwords: any =[]\r\n FY_netProfitAmtInwords: any=[]\r\n FY_netLossAmtInwords: any=[]\r\n AV_annualSalesInwords: any=[]\r\n AV_netProfitAmtInwords: any=[]\r\n AV_netLossAmtInwords: any=[]\r\n AV_netProfitAmtFrmInwords: any=[]\r\n AV_netProfitAmtToInwords: any=[]\r\n AV_netLossAmtFrmInwords: any=[]\r\n AV_netLossAmtToInwords: any=[]\r\n AV_SalesFrmInwords: any=[]\r\n AV_SalesToInwords: any=[]\r\n AV_SalesInwords: any=[];\r\n AV_marginProfitAmtInwords: any=[];\r\n AV_marginLossAmtInwords: any=[];\r\n formDetails: any;\r\n\r\n av : any =[{id:6, name:'Letter of Credit'},\r\n {id:2, name:'Bank Guarantee'},\r\n {id:3, name:'Cash Credit Limit'},\r\n {id:7, name:'OD Limit'},\r\n {id:4, name:'Factoring'},\r\n {id:5, name:'Forfaiting'},\r\n {id:1, name:'Others'}]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.FormId = this.formDetails.form_id;\r\n // this.FormId=this.navParams.get('FormId');\r\n this.company_id=this.pdDetails.company_id\r\n this.users=this.aws.getlocale();\r\n console.log(\"Pd\",this.pdDetails);\r\n console.log(\"Form \",this.FormId)\r\n this.initFinancialForm()\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\r\n this.getDetails()\r\n }\r\n\r\n selectedStatement(e :any):void{\r\n\r\n if(e == 'yes'){\r\n\r\n this.isDisplay = true;\r\n this.financialForm.controls['is_financial_customer'].setValue('');\r\n \r\n }\r\n else if(e == 'no'){\r\n\r\n this.isDisplay = false;\r\n this.financialForm.controls['is_financial_customer'].setValue('no');\r\n // this.selectedFinancialCustomer('no');\r\n \r\n const statementControl = this.financialForm.controls['date_per_financial'];\r\n \r\n while (statementControl.length !== 0) {\r\n statementControl.removeAt(0);\r\n }\r\n\r\n this.financialForm.controls['financial_starting_year'].setValue('');\r\n this.financialForm.controls['financial_no_of_year'].setValue('');\r\n\r\n // alert((new Date()).getFullYear());\r\n // let year1 = (new Date()).getFullYear();\r\n // let year2 = ((new Date()).getFullYear() + 1); \r\n // let Year = year1 +'-'+ year2;\r\n \r\n }\r\n\r\n}\r\n /** fin customer data from Fin statement*/\r\n selectedFinancialCustomer(e: any): void {\r\n if(e == 'yes'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n }\r\n else if (e == 'no'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n }\r\n }\r\n\r\n selectedProfitOrLossType(e,detail){\r\n \r\n if(e.value == 1){\r\n detail.controls.financial_net_loss.setValue('');\r\n detail.controls.financial_margin_of_loss.setValue('');\r\n }\r\n else if(e.value == 2){\r\n detail.controls.financial_net_profit.setValue('');\r\n detail.controls.financial_margin_of_profit.setValue('');\r\n }\r\n}\r\n\r\n\r\n /** For Auto-generating FinYear */\r\n dynamicalFinYear($event){\r\n \r\n let e = $event.target.value;\r\n if(e == 1){\r\n this.customerCommentsFlag = false;\r\n }\r\n else{\r\n this.customerCommentsFlag = true;\r\n }\r\n\r\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\r\n\r\n const control = this.financialForm.controls['date_per_financial'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\r\n control.push(this.createDate(Year));\r\n }\r\n }\r\n}\r\n\r\n\r\n initFinancialForm(){\r\n this.financialForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n company_id: this.company_id,\r\n fk_createdby: this.users,\r\n financial_remarks: [''],\r\n is_financial_statements:[''],\r\n is_financial_customer:[''],\r\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n financial_no_of_year : [''],\r\n financial_reason: [''],\r\n financial_customer:[''],\r\n // same_as_financial_statements:[''],\r\n date_per_financial: this.fb.array([]),\r\n estimated_value: this.fb.array([])\r\n });\r\n }\r\n createDate(date){\r\n return this.fb.group({\r\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\r\n finanical_profit_or_loss:[''],\r\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_margin_of_profit: [''],\r\n financial_margin_of_loss: [''],\r\n financial_variation: [''],\r\n financial_profit_to_sale_variation:[''],\r\n financial_annualsales_variation : [''],\r\n })\r\n }\r\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\r\n createValue(date) {\r\n return this.fb.group({\r\n \r\n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n estimate_sales_from: [''],\r\n estimate_sales_to: [''],\r\n estimate_sales_average: [''],\r\n estimate_profit_or_loss:[''],\r\n estimate_net_margin_availablity:[''],\r\n estimate_profit_range_from:[''],\r\n estimate_profit_range_to:[''],\r\n estimate_profit_margin_percent:[''],\r\n estimate_profit_margin:[''],\r\n estimate_net_profit_from:[''],\r\n estimate_net_profit_to:[''],\r\n estimate_net_profit_percent:[''],\r\n estimate_net_profit:[''],\r\n estimate_loss_range_from:[''],\r\n estimate_loss_range_to:[''],\r\n estimate_loss_margin_percent:[''],\r\n estimate_loss_margin:[''],\r\n estimate_net_loss_from:[''],\r\n estimate_net_loss_to:[''],\r\n estimate_net_loss_percent:[''],\r\n estimate_net_loss:[''],\r\n estimate_reason_for_loss:[''],\r\n estimate_receive_the_money_in_days:[''],\r\n estimate_pay_the_money_in_days:[''],\r\n estimate_unsold_stock_lies_in_days:[''],\r\n estimate_working_capital_facilities_availed:[''],\r\n reason_for_working_capital_facilities_availed:[''],\r\n is_there_working_capital_available:['']\r\n\r\n });\r\n}\r\nsubmitDetails(){\r\n \r\n \r\n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n}\r\n let records=this.financialForm.value;\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n if(res['status']== 200){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop()\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\r\n })\r\n}\r\n getDetails(){\r\n const financeDate=this.financialForm.controls['date_per_financial']\r\n //financeDate.push(this.createDate(''))\r\n const estimate= this.financialForm.controls['estimated_value']\r\n //estimate.push(this.createValue(''))\r\n let params:any={}\r\n params.pd_id=this.pdDetails.pd_id\r\n params.pd_form_id=this.FormId\r\n params.company_id=this.company_id\r\n this.qustCat.retiverForm(params).subscribe(value=>{\r\n if(value['dataStatus']==true){\r\n let retrieveData=value['records'];\r\n if(value['records'].is_financial_statements == 'yes'){\r\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\r\n return value['records'].date_per_financial[key]\r\n })\r\n if(result.length>0){\r\n this.customerCommentsFlag=result.length == 1 ? false : true\r\n result.forEach((val,index)=>{\r\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\r\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\r\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\r\n financeDate.push(this.createDate(''));\r\n });\r\n retrieveData.date_per_financial=result;\r\n }\r\n else{\r\n financeDate.push(this.createDate(''))\r\n }\r\n }\r\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\r\n return value['records'].estimated_value[key]\r\n });\r\n if(result_val.length>0){\r\n result_val.forEach((val,index)=>{\r\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\r\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\r\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\r\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\r\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\r\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\r\n estimate.push(this.createValue(''))\r\n });\r\n retrieveData.estimated_value=result_val\r\n }\r\n else{\r\n estimate.push(this.createValue(''));\r\n }\r\n retrieveData.pdid=this.pdDetails.pd_id\r\n retrieveData.company_id=this.company_id\r\n retrieveData.fk_createdby=this.users\r\n retrieveData.formid=this.FormId\r\n this.financialForm.setValue(retrieveData)\r\n }\r\n else {\r\n //financial_date.push(this.createDate());\r\n //estimated_val.push(this.createValue(''));\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * New Calculation for Finanical Statement \r\n **/\r\n calculationForFinanicalStatement(){\r\n \r\n let parentArray = this.financialForm.controls['date_per_financial'];\r\n // let prev_annual_sale : any = '';\r\n // let prev_profit_margin : any = '';\r\n // let prev_loss_margin : any = '';\r\n // let prev_profit_amt : any = '';\r\n // let prev_loss_amt : any = '';\r\n // let profit_margin : any = '';\r\n // let loss_margin : any = '';\r\n // let annual_sale : any = '';\r\n // let profit_amt : any = '';\r\n // let loss_amt : any = '';\r\n let prev_annual_sale : any = '';\r\n let prev_profit_margin : any = [];\r\n let prev_loss_margin : any = [];\r\n let prev_profit_amt : any = '';\r\n let prev_loss_amt : any = '';\r\n let profit_margin : any = '';\r\n let loss_margin : any = '';\r\n let annual_sale : any = '';\r\n let profit_amt : any = '';\r\n let loss_amt : any = '';\r\n\r\n parentArray.value.forEach((val,index) => {\r\n\r\n let childArray : any = parentArray.controls[index];\r\n annual_sale = val.financial_annual_sale;\r\n \r\n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \r\n * Label name = \" Sale Variation from Previous Year in % \"\r\n */\r\n \r\n if (index != 0) { \r\n if(annual_sale != ''){\r\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\r\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\r\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\r\n }\r\n }\r\n else{\r\n childArray.controls.financial_annualsales_variation.setValue(0.00);\r\n }\r\n \r\n\r\n prev_annual_sale = annual_sale;\r\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\r\n\r\n\r\n profit_amt = val.financial_net_profit;\r\n loss_amt = val.financial_net_loss;\r\n\r\n /** Calculating Profit's Variation - STARTS HERE\r\n * Label name = \"Profit Variation from Previous Year in %\"\r\n */\r\n if((profit_amt != '' || loss_amt != '') && index != 0) {\r\n if(+profit_amt > +annual_sale){\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n } \r\n else{\r\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\r\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\r\n\r\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; \r\n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\r\n childArray.controls.financial_variation.setValue(final_variation);\r\n\r\n }\r\n }\r\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\r\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\r\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \r\n * Label name = \"Net Profit to Sales in % (or) Net Loss to Sales in % \r\n **/\r\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\r\n \r\n if(SelectedlossOrProfit == 1){\r\n\r\n loss_margin = '';\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_profit != '') {\r\n if(+profit_amt>+annual_sale){\r\n // alert(\"profit is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"profit is greater than Annual Sale \")\r\n childArray.controls.financial_net_profit.setValue(0);\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\r\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\r\n \r\n }\r\n }\r\n }\r\n else if(SelectedlossOrProfit == 2){\r\n profit_margin = '';\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_loss != '') {\r\n if(+val.financial_net_loss>+annual_sale){\r\n // alert(\"Loss is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"Loss is greater than Annual Sale \")\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n if(+loss_amt>+annual_sale){\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n \r\n\r\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\r\n\r\n\r\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\r\n \r\n }\r\n }\r\n }\r\n\r\n prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\r\n prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\r\n \r\n // if(index != 0 ){\r\n \r\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; \r\n \r\n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\r\n \r\n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\r\n\r\n // }\r\n\r\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Sales's Profit Variation \r\n * Label name = \"Variation of Profit % over sales\"\r\n **/\r\n \r\n if ((profit_margin != '' || loss_margin != '') && index != 0) {\r\n \r\n\r\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\r\n profit_margin = profit_margin !== undefined ? profit_margin:0;\r\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\r\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\r\n\r\n \r\n if(annual_sale != ''){\r\n\r\n \r\n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\r\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\r\n let c = b * 100;\r\n \r\n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\r\n \r\n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\r\n }\r\n }\r\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\r\n\r\n\r\n });\r\n }\r\n\r\n confirmAlert(i, details){\r\n\r\n let estimate_sales_from = +details.value.estimate_sales_from;\r\n let estimate_sales_to = +details.value.estimate_sales_to;\r\n\r\n if (estimate_sales_from != null && estimate_sales_to != null){\r\n \r\n if(+estimate_sales_from>+estimate_sales_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_sales_to.setValue('');\r\n details.controls.estimate_sales_average.setValue('');\r\n return;\r\n }\r\n\r\n let C = (estimate_sales_to - estimate_sales_from)\r\n let D = (C / estimate_sales_from) * 100;\r\n \r\n if(estimate_sales_from <= 5000000){\r\n if(D > 20){\r\n var r = confirm(\"Given Sales Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\r\n if(D > 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 10000000){\r\n if(D > 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n\r\n // if(D >= 30){\r\n // var r = confirm(\"Given Sales Range is greater than 30%\");\r\n // if (r == true) {\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \r\n // }else{\r\n // details.controls.estimate_sales_to.setValue('');\r\n // return;\r\n // }\r\n // }\r\n // else{\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\r\n // }\r\n }\r\n this.calculateSalesAverage(i, details);\r\n }\r\n\r\n calculateSalesAverage(i, details){\r\n \r\n let estimate_sales_from = details.value.estimate_sales_from;\r\n let estimate_sales_to = details.value.estimate_sales_to;\r\n\r\n if(estimate_sales_from != '' && estimate_sales_to != ''){\r\n\r\n let range1 = +estimate_sales_from/10;\r\n \r\n let lower = (+estimate_sales_from)+range1;\r\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\r\n\r\n if(lower > higer){\r\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue('');\r\n }\r\n\r\n }\r\n calculateMarginProfit( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\r\n if(+estimate_profit_range_from > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_profit_range_to = details.value.estimate_profit_range_to;\r\n \r\n if(+estimate_profit_range_to > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n\r\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\r\n if(+estimate_profit_range_from>+estimate_profit_range_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \r\n let Profit_Average = (profit_percent*sales_average)/100;\r\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n }else{\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n }\r\n \r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\r\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n calculateProfitAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n //alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\r\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\r\n\r\n if(+estimate_net_profit_to>+sales_average){\r\n \r\n //alert(\"Given Profit is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n\r\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\r\n if(+estimate_net_profit_from>+estimate_net_profit_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n \r\n let C = (estimate_net_profit_to - estimate_net_profit_from)\r\n let D = (C / estimate_net_profit_from) * 100;\r\n \r\n let range1 = +estimate_net_profit_from/10;\r\n \r\n let lower = (+estimate_net_profit_from)+range1;\r\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\r\n\r\n if(estimate_net_profit_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_profit_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n \r\n }\r\n \r\n}\r\n\r\ncalculateMarginLoss( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n // else{\r\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\r\n if(+estimate_loss_range_from > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_loss_range_to = details.value.estimate_loss_range_to;\r\n if(+estimate_loss_range_to > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n\r\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\r\n \r\n if(+estimate_loss_range_from>+estimate_loss_range_to){\r\n //alert(\"Given Loss Percent is more than 100\");\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n \r\n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\r\n let loss_Average = (loss_percent*sales_average)/100;\r\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\r\n\r\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\r\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\r\n \r\n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n \r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }else{\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n } \r\n \r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }\r\n\r\n}\r\n\r\n\r\ncalculateLossAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\r\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\r\n\r\n if(+estimate_net_loss_to > +sales_average){\r\n \r\n // alert(\"Given Loss is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\r\n if(+estimate_net_loss_from > +estimate_net_loss_to){\r\n //alert(\"Given To value is Lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n \r\n // if(+estimate_net_loss_to > +estimate_net_loss_from){\r\n // alert(\"loss is greater than sales\");\r\n // details.controls.estimate_net_loss_to.setValue('');\r\n // details.controls.estimate_net_loss.setValue('');\r\n // details.controls.estimate_net_loss_percent.setValue('');\r\n // return;\r\n // }\r\n \r\n \r\n let C = (estimate_net_loss_to - estimate_net_loss_from)\r\n let D = (C / estimate_net_loss_from) * 100;\r\n \r\n let range1 = +estimate_net_loss_from/10;\r\n \r\n let lower = (+estimate_net_loss_from)+range1;\r\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\r\n\r\n if(estimate_net_loss_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_loss_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n \r\n }\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n \r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n\r\n \r\n\r\n\r\n \r\n\r\n /** On Key Press Event For Input Field */\r\n keyPress(event: any) {\r\n //const pattern = /[0-9\\-\\.\\ ]/;\r\n const pattern = /[0-9\\.]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n\r\n switch(flag){\r\n case 1 :\r\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\r\n break;\r\n case 2 : \r\n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\r\n break;\r\n case 3 : \r\n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\r\n break;\r\n case 4 : \r\n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 : \r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 6 : \r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 7 : \r\n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 8 : \r\n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 9 : \r\n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 10 : \r\n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 11 : \r\n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 12 : \r\n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionClientInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-client-info',\r\n templateUrl: 'pd-question-client-info.html',\r\n})\r\nexport class PdQuestionClientInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n pdid: any;\r\n company_id: any;\r\n questionDetails: any;\r\n clientInfoForm: FormGroup;\r\n\r\n\r\n\r\n\r\n public submitted = false;\r\n\r\n public m_paymentType = [];\r\n\r\n companyRelationShipList: any = [];\r\n\r\n titleList: any = [];\r\n noRecordsFound: Boolean = false;\r\n errorMessage: any = '';\r\n m_manufacturingProducts: any = [];\r\n m_tradingProducts: any = [];\r\n m_suplierProducts: any = [];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid = this.pdDetails.pd_id;\r\n this.company_id = this.pdDetails.company_id;\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\r\n\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n });\r\n\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\r\n }\r\n\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus']) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n // Load form details for manufacturing\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n console.log(dataForm);\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\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);\r\n }\r\n\r\n // Load form details for the wholeshale trading details\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n\r\n this.initTradingProductsDetails(api_trading_products);\r\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);\r\n }\r\n\r\n // Load form details for the service provider prduct details \r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n // return dataForm.service_products[key];\r\n // });\r\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\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);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n return dataForm.service_products[key];\r\n });\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.initServiceProviderProductsDetails(null);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // let arr = val.filter(data => data.type_of_activity_id == 4);\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n serviceProviderForm: Boolean = false;\r\n serviceProviderFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 5);\r\n if (arr.length > 0) {\r\n this.serviceProviderForm = true;\r\n return this.fb.group({\r\n service_products: this.fb.array([]),\r\n service_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initManufacturingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_product_name: [''],\r\n manufacturing_client_name: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n // manufacturing_credit_days: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_product_name: [records.manufacturing_product_name || null],\r\n manufacturing_client_name: [records.manufacturing_client_name || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\r\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initTradingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_client_name: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n trade_client_name: [records.trade_client_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n initServiceProviderProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n if (datas === null) {\r\n control.push(this.initServiceProviderProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\r\n control.push(this.initServiceProviderProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initServiceProviderProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initServiceProviderProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n service_provider_product_name: [''],\r\n service_provider_client_name: [''],\r\n service_provider_product_contact_person_name: [''],\r\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [''],\r\n service_provider_product_payment_mode: [''],\r\n service_provider_product_frequency_of_purchase: [''],\r\n service_provider_product_credit_days_from: [''],\r\n service_provider_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n service_provider_product_name: [records.service_provider_product_name],\r\n service_provider_client_name: [records.service_provider_client_name],\r\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\r\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\r\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\r\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\r\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\r\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoreServiceProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n\r\n control.push(this.initServiceProviderProducts(null));\r\n }\r\n\r\n removeServiceProduct(inx): void {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n // saveclientDetails(answerData)\r\n // {\r\n // let records:any ={};\r\n\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId.form_id;\r\n // records.fk_createdby = this.users;\r\n\r\n // records.client_details = answerData.clientArray;\r\n\r\n // this.qustCat.saveForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.navCtrl.pop();\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n /** To Save/Edited Popup Data */\r\n saveClientInfo(answerFormValues) {\r\n // console.log(answerFormValues);\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n if (answerFormValues.manufacturing_details[0] == null) {\r\n delete answerFormValues['manufacturing_details'];\r\n }\r\n if (answerFormValues.trade_details[0] == null) {\r\n delete answerFormValues['trade_details'];\r\n }\r\n if (answerFormValues.service_provider_details[0] == null) {\r\n delete answerFormValues['service_provider_details'];\r\n }\r\n\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 3) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n spCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n spCounter: any = [];\r\n checkCard(e, flag, index) {\r\n\r\n if (flag == 3 && e == 3) {\r\n this.spCounter[index] = 1;\r\n }\r\n else if (flag == 3 && e != 3) {\r\n this.spCounter[index] = 0;\r\n }\r\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\r\n this.spCreditCardFlag = SP > 0 ? true : false;\r\n\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n\r\n }\r\n\r\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';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/*\r\n Generated class for the ConstantsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ConstantsProvider {\r\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\r\n constructor(public http: HttpClient) {\r\n console.log('Hello ConstantsProvider Provider');\r\n }\r\n\r\n apiurl()\r\n {\r\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\r\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\r\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\r\n return devapiurl;\r\n }\r\n\r\n getcurrentDate()\r\n {\r\n var today = new Date();\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\r\n var time = today.getHours() + \":\" + today.getMinutes();\r\n let CurrentDate = date+\"T00:00\";\r\n return CurrentDate.toString();\r\n }\r\n \r\n convertNumberToWords(amount) {\r\n var words = new Array();\r\n words[0] = '';\r\n words[1] = 'One';\r\n words[2] = 'Two';\r\n words[3] = 'Three';\r\n words[4] = 'Four';\r\n words[5] = 'Five';\r\n words[6] = 'Six';\r\n words[7] = 'Seven';\r\n words[8] = 'Eight';\r\n words[9] = 'Nine';\r\n words[10] = 'Ten';\r\n words[11] = 'Eleven';\r\n words[12] = 'Twelve';\r\n words[13] = 'Thirteen';\r\n words[14] = 'Fourteen';\r\n words[15] = 'Fifteen';\r\n words[16] = 'Sixteen';\r\n words[17] = 'Seventeen';\r\n words[18] = 'Eighteen';\r\n words[19] = 'Nineteen';\r\n words[20] = 'Twenty';\r\n words[30] = 'Thirty';\r\n words[40] = 'Forty';\r\n words[50] = 'Fifty';\r\n words[60] = 'Sixty';\r\n words[70] = 'Seventy';\r\n words[80] = 'Eighty';\r\n words[90] = 'Ninety';\r\n amount = amount.toString();\r\n var atemp = amount.split(\".\");\r\n var number = atemp[0].split(\",\").join(\"\");\r\n var n_length = number.length;\r\n let value:any = \"\";\r\n var words_string = \"\";\r\n if (n_length <= 9) {\r\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n var received_n_array = new Array();\r\n for (var i = 0; i < n_length; i++) {\r\n received_n_array[i] = number.substr(i, 1);\r\n }\r\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n n_array[i] = received_n_array[j];\r\n }\r\n for (var i = 0, j = 1; i < 9; i++, j++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n if (n_array[i] == 1) {\r\n n_array[j] = 10 + parseInt(n_array[j]);\r\n n_array[i] = 0;\r\n }\r\n }\r\n }\r\n value = \"\";\r\n for (var i = 0; i < 9; i++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n value = n_array[i] * 10;\r\n } else {\r\n value = n_array[i];\r\n }\r\n if (value != 0) {\r\n words_string += words[value] + \" \";\r\n }\r\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Crores \";\r\n }\r\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Lakhs \";\r\n }\r\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Thousand \";\r\n }\r\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n words_string += \"Hundred and \";\r\n } else if (i == 6 && value != 0) {\r\n words_string += \"Hundred \";\r\n }\r\n }\r\n words_string = words_string.split(\" \").join(\" \");\r\n }\r\n return words_string;\r\n}\r\n}\r\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 = 244;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 244\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 = 287;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 287\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\nimport { AlertController } from 'ionic-angular';\r\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\r\n// import { GridPage } from '../grid/grid';\r\n\r\n\r\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\r\nimport { Camera } from '@ionic-native/camera';\r\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n// import { CustomValidators } from 'ng2-validation';\r\n\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PasswordPage } from '../password/password';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage {\r\n users: any;\r\nchangepass: FormGroup;\r\nemail: string;\r\npassword: string;\r\nnewpassword: any;\r\nconfirmPassword: any;\r\nchangePassword: any;\r\nstatus: Boolean = false;\r\nconfig: MatDialogConfig = {\r\n disableClose: false,\r\n width: '',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n};\r\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\r\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\r\n,public toast:ToastProvider) {\r\n \r\n}\r\nngOnInit(){\r\n //this.loggedInCheck();\r\n \r\n}\r\nionViewDidEnter(){\r\n this.Menu.enable(false);\r\n}\r\nionViewWillLeave(){\r\n this.Menu.enable(true);\r\n}\r\n/**\r\n* @param email\r\n* @param password\r\n* AWS login service\r\n*/\r\nlogin() {\r\n // console.log(this.email);\r\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\r\n let auth = { 'Username': this.email, 'Password': this.password };\r\n this.aws.dologin(auth).subscribe(awsres => {\r\n let userid = this.aws.getlocale();\r\n \r\n this.aws.getuserprofile(userid).subscribe(usersres=>\r\n {\r\n this.users = usersres; \r\n \r\n if (this.users.dataStatus == true) {\r\n \r\n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\r\n this.navCtrl.setRoot(PdListPage);\r\n \r\n }else\r\n {\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n\r\n \r\n }\r\n });\r\n }, err => {\r\n console.log(JSON.stringify(err.message));\r\n if (err.message == \"New password is required.\") {\r\n //console.log(\"if\");\r\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\r\n } else {\r\n console.log(JSON.stringify(err.message));\r\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\r\n\r\n }\r\n //alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter Email or Password');\r\n }\r\n}\r\n/**\r\n * New password set\r\n * Defalut aws function \r\n * @param email password,newpassword\r\n */\r\n// newpassopen() {\r\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result !== undefined) {\r\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\r\n// console.log(auth);\r\n// this.aws.dologin(auth).subscribe(res => {\r\n// console.log(res);\r\n// // this.router.navigate(['/home']);\r\n// }, err => {\r\n// // alert(err.message);\r\n\r\n// })\r\n// }\r\n// });\r\n// }\r\n\r\nforgotopen() {\r\n this.status = true;\r\n}\r\n\r\n\r\nforgotpassword() {\r\n\r\n let auth = { 'Username': this.email };\r\n console.log(auth);\r\n // this.aws.userforgotpass(auth).subscribe(res => {\r\n // console.log(res);\r\n\r\n // })\r\n}\r\nloggedInCheck(){\r\n //alert(this.shared.isLoggedIn);\r\n if(this.shared.isLoggedIn){\r\n alert(\"if\");\r\n // this.router.navigate(['/home']);\r\n return false;\r\n }else{\r\n alert(\"else\");\r\n \r\n return true;\r\n }\r\n}\r\n\r\n}\r\n\r\n// ======================= END ==============================\r\n/**\r\n* New password Dialog\r\n*/\r\n\r\n// const newpassword = new FormControl('', Validators.required);\r\n// const confirmPassword = new FormControl('');\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
New Password Change.
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n//
\r\n// \r\n// \r\n// \r\n\r\n// Passwords do not math.\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class NewPasswordDialog {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
Forgot Password
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class ForgotPass {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n// }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \r\nimport { AuthPage } from '../auth/auth';\r\n\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { OtpPage } from '../otp/otp';\r\n\r\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\r\nimport {DatePipe } from '@angular/common';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\r\n\r\n/**\r\n * Generated class for the InputPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19);\r\n\r\n\r\n@Component({\r\n selector: 'page-input',\r\n templateUrl: 'input.html',\r\n})\r\n\r\n\r\nexport class InputPage {\r\n enableStartPD: boolean;\r\n diffInHours: number;\r\n updatestarted: any;\r\n updateinitiated: any;\r\n appdata: any;\r\n users: any;\r\n initiatedAccess: boolean = false;\r\n scheduleAccess: boolean = false;\r\napplicatentDetails:any;\r\nmaxdate :any;\r\npipe = new DatePipe('en-US');\r\nupdateStatus:any;\r\nscheduleDate:any;\r\nupdateSchedule:any;\r\nacceptedAccess:boolean = false;\r\nstartedAccess:boolean = false;\r\ntimeOut:any = 15*1000;\r\ntimeInterval:any;\r\ncurrentPosPDofficer:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,public constant:ConstantsProvider) {\r\n\r\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\r\n \r\n /***Header value pass */\r\n this.statusBar.styleDefault();\r\n \r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\r\n \r\n \r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n \r\n this.getFullPD();\r\n \r\n \r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n \r\n this.initiatedAccess = true;\r\n }\r\n //console.log(this.initiatedAccess);\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.getenableAccuracy();\r\n \r\n }\r\n this.users = this.aws.getlocale();\r\n }\r\n\r\n \r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad InputPage');\r\n }\r\n ionViewCanLeave()\r\n {\r\n clearInterval(this.timeInterval);\r\n }\r\n locationnavicate(address)\r\n {\r\n this.launchNavigator.navigate(address);\r\n }\r\n\r\n getFullPD()\r\n {\r\n let records = {'pdid':this.applicatentDetails.pd_id};\r\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n // console.log()\r\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \r\n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\r\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\r\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\r\n console.log(diffInHours);\r\n if(diffInHours <=-4){\r\n this.enableStartPD=true;\r\n }\r\n else\r\n {\r\n this.enableStartPD = false;\r\n }\r\n } \r\n })\r\n \r\n }\r\n pdStatus(status,appdetails)\r\n {\r\n let data :any;\r\n \r\n if(status == 'BOUNCED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }else if(status == 'ACCEPTED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.scheduleAccess = true;\r\n \r\n }else\r\n {\r\n this.scheduleAccess = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n pdschedule(scheduledate,appdetails)\r\n {\r\n \r\n let data :any;\r\n console.log(scheduledate);\r\n let schDate = scheduledate.slice(0,19).replace('T',' ');\r\n console.log(schDate);\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateSchedule = res;\r\n if(this.updateSchedule.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.initiatedAccess = true;\r\n }\r\n });\r\n }\r\n\r\n getenableAccuracy()\r\n {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.getcurrentLocation();\r\n },\r\n error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n getcurrentLocation() \r\n {\r\n let data:any;\r\n let options = {\r\n frequency: 3000, \r\n enableHighAccuracy: true,\r\n timeOut:1000,\r\n };\r\n \r\n this.timeInterval = setInterval(()=>{\r\n this.currentPosPDofficer = '';\r\n this.geolocation.getCurrentPosition(options).then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n if((resp as Geoposition).coords !=undefined){\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\r\n console.log(this.currentPosPDofficer);\r\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\r\n {\r\n // this.updateinitiated = res;\r\n // if(this.updateinitiated.dataStatus == true)\r\n // { \r\n // // this.getNewpdupdate();\r\n // // this.startedAccess = true;\r\n // }else\r\n // {\r\n // this.startedAccess = false;\r\n // }\r\n })\r\n }\r\n }).catch((error)=>{\r\n this.toast.pdTriggerappmessage(error.message);\r\n })\r\n \r\n },this.timeOut);\r\n }\r\n pdreschedule()\r\n {\r\n this.scheduleAccess = true;\r\n this.initiatedAccess = false;\r\n }\r\n pdinitiated(appdetails)\r\n { let data:any;\r\n\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n \r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\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};\r\n\r\n\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateinitiated = res;\r\n if(this.updateinitiated.dataStatus == true)\r\n { \r\n this.getNewpdupdate();\r\n this.getcurrentLocation();\r\n this.startedAccess = true;\r\n }else\r\n {\r\n this.startedAccess = false;\r\n }\r\n })\r\n }).catch((error) => {\r\n console.log('Error getting location', error);\r\n });\r\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n\r\n startPdDiscussion(appdetails)\r\n {\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'Starting PD Officer',\r\n message: 'Do you want sure PD officer Start',\r\n buttons: [\r\n {\r\n text: 'No',\r\n role: 'cancel',\r\n handler: () => {\r\n \r\n // console.log('Cancel clicked');\r\n // this.toast.pdTriggerappmessage('')\r\n }\r\n },\r\n {\r\n text: 'YES',\r\n handler: () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n \r\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};\r\n console.log(data);\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {this.updatestarted = res;\r\n if(this.updatestarted.dataStatus == true)\r\n {\r\n clearInterval(this.timeInterval);\r\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\r\n }\r\n \r\n })\r\n // console.log('Buy clicked');\r\n })\r\n } \r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n getNewpdupdate()\r\n {\r\n this.acceptedAccess = false;\r\n this.initiatedAccess = false;\r\n this.scheduleAccess = false;\r\n this.startedAccess = false;\r\n this.pdDetails.getpddetails(this.users).subscribe(res=>\r\n {\r\n this.appdata = res;\r\n if(this.appdata.dataStatus == true)\r\n {\r\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n this.initiatedAccess = true;\r\n this.getFullPD();\r\n }\r\n\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n camerasetup()\r\n {\r\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\n\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question',\r\n templateUrl: 'pd-question.html',\r\n})\r\nexport class PdQuestionPage {\r\n \r\n docqustid: any;\r\n docName: any = [];\r\n docArray: any = [];\r\n imageArray:any = [];\r\n questionCate: any;\r\n qustCate: any;\r\n pdinfo: any;\r\n items: FormArray;\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= false;\r\n isLeft:boolean= false;\r\n tabs:any=[];\r\n \r\n questionDetails: any;\r\n questionAnswer:FormGroup;\r\n questionanotherData:FormGroup;\r\n userid:any;\r\n questionId:any;\r\n qustType:any;\r\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) {\r\n \r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n\r\n \r\n this.questionAnswer = this.fb.group(\r\n {\r\n answerDetails:[null],\r\n items:this.fb.array([]),\r\n })\r\n this.questionanotherData = this.fb.group(\r\n {\r\n questionRemarks:[null]\r\n })\r\n this.getpdQuestionDetails();\r\n this.userid = this.aws.getlocale();\r\n}\r\n\r\n ionViewDidLoad() {\r\n // console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n ionViewWillLeave() {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n //console.log(1);\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n // console.log(82,this.isLeft);\r\n // console.log(this.isLeft,this.isRight);\r\n // let answerDetails = this.questionAnswer.value;\r\n // console.log(answerDetails);\r\n // let remarks = this.questionanotherData.value;\r\n if(this.isLeft)\r\n {\r\n console.log(this.isLeft);\r\n //this.prev(answerDetails,remarks,this.questionDetails);\r\n }\r\n if(this.isRight)\r\n {\r\n console.log(this.isRight);\r\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\r\n }\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n \r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n \r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n \r\n this.isLeft=false;\r\n this.isRight=false;\r\n \r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n \r\n \r\n }\r\n /**\r\n * Pd Discussion Qustion Load\r\n */\r\n getpdQuestionDetails()\r\n {\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n console.log('157',this.questionDetails);\r\n this.pdinfo = this.navParams.get('pdDetails');\r\n console.log(this.pdinfo);\r\n for(let qustimage of this.questionDetails.questions)\r\n { \r\n if(qustimage.images !==undefined){\r\n for(let image of qustimage.images)\r\n {\r\n image.questionId = qustimage.fk_question_id; \r\n this.docArray.push(image);\r\n }\r\n for(let answers of qustimage.answers)\r\n {\r\n if(qustimage.fk_question_answertype == 3)\r\n {\r\n this.items = this.questionAnswer.get('items') as FormArray;\r\n \r\n this.items.push(this.getquestionAnswer(answers));\r\n \r\n \r\n }\r\n }\r\n console.log(this.questionAnswer.get('items')['controls']);\r\n }\r\n }\r\n console.log(this.docArray);\r\n for(let i=1;i<=this.questionDetails.questions_count;i++){\r\n let j = i.toString();\r\n this.tabs.push(j);\r\n }\r\n }\r\n\r\ngetquestionAnswer(answers)\r\n{\r\n return this.fb.group(\r\n {\r\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\r\n \"pd_answer_id\":answers.question_answer_id,\r\n \"pd_answer\": answers.answer,\r\n \"pd_answer_weightage\": answers.template_answer_weightage,\r\n \"fk_pd_id\":this.pdinfo.pd_id,\r\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\r\n \"checkbox\":(answers.isactive == null?false:true)\r\n \r\n \r\n })\r\n}\r\n // count = 0;\r\n getDocUpload(qustid)\r\n {\r\n //console.log('right',this.isRight,'left',this.isLeft);\r\n // this.docqustid = qustId;\r\n // console.log(this.count);\r\n // console.log(qustid);\r\n this.camera.getpicture().then(res=>\r\n {\r\n if(res !== undefined){\r\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\r\n }\r\n });\r\n // this.count++;\r\n }\r\n docnames(name,id,image,qustid)\r\n {\r\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\r\n }\r\n removeimage(index){\r\n //for(let i=0;i<=this.igrimage.length;i++){\r\n //if(this.igrimage[i]== this.igrimage[index]){\r\n this.docArray.splice(index,1);\r\n //}\r\n //}\r\n }\r\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\r\n {\r\n console.log(answerDetails);\r\n \r\n //console.log(this.docArray);\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n console.log('if');\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n //console.log(answerDetails.answerDetails);\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n console.log(this.imageArray);\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n console.log(qt_id);\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n\t\t\"fk_pd_id\": pd_id,\r\n\t\t\"fk_category_id\": catid,\r\n\t\t\"fk_question_id\": qut_id,\r\n\t\t\"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n\t\t\"pd_answer\": pd_answer,\r\n\t\t\"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n\t\t\r\n\t\t\"fk_createdon\": createon,\r\n\t\t\"createdby\": createdby,\r\n\t\t\"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n //console.log(this.docArray);\r\n \r\n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n // {\r\n // this.qustCate = res;\r\n // if(this.qustCate.dataStatus == true){\r\n // this.SwipedTabsSlider.slideNext();\r\n // this.docArray = [];\r\n // this.getcategoryList(qt_id,pd_id);\r\n // console.log(this.docArray);\r\n // }\r\n // })\r\n // }else\r\n // {\r\n \r\n // this.SwipedTabsSlider.slideNext(); \r\n }\r\n } \r\n\r\n getcategoryList(qustinfo,pdId)\r\n {\r\n console.log(\"252\",qustinfo);\r\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\r\n };\r\n let answerData:any;\r\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\r\n {\r\n answerData = res;\r\n if(answerData.dataStatus == true)\r\n {\r\n \r\n // answerData = answerData.records;\r\n // console.log('303',answerData);\r\n // console.log('304',this.questionDetails);\r\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\r\n // eachquestion['answers'] = answerData.answers; \r\n \r\n // this.questionDetails =\r\n // console.log(this.questionDetails);\r\n // this.imageArray = answerData.images;\r\n // for(let docs of this.imageArray)\r\n // {\r\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\r\n // }\r\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\r\n }\r\n });\r\n }\r\n prev(answerDetails,questionRemarks,questionDetails) {\r\n //console.log(this.docArray);\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n console.log('if');\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n //console.log(answerDetails.answerDetails);\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n console.log(this.imageArray);\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n console.log(qt_id);\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n \"fk_pd_id\": pd_id,\r\n \"fk_category_id\": catid,\r\n \"fk_question_id\": qut_id,\r\n \"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n \"pd_answer\": pd_answer,\r\n \"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n \r\n \"fk_createdon\": createon,\r\n \"createdby\": createdby,\r\n \"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n //console.log(this.docArray);\r\n \r\n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n {\r\n this.qustCate = res;\r\n if(this.qustCate.dataStatus == true){\r\n this.SwipedTabsSlider.slidePrev();\r\n this.docArray = [];\r\n this.getcategoryList(qt_id,pd_id);\r\n console.log(this.docArray);\r\n }\r\n })\r\n }else{\r\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\r\n this.SwipedTabsSlider.slidePrev();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { Observable } from 'rxjs';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n/**\r\n * Generated class for the PdQuestionAddressPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-address',\r\n templateUrl: 'pd-question-address.html',\r\n})\r\nexport class PdQuestionAddressPage {\r\n\r\n // additional_premises: any=[];\r\n // bussiness_address_type: any=[];\r\n // formPremisesCityArray: any=[];\r\n // tempArr: any[];\r\n // cityData: any = [];\r\n // PremisesLabel: any=[];\r\n // formPremisesArray: any=[];\r\n // z:number = 0;\r\n \r\n // PremisesOtherFlag: boolean;\r\n CITY: any;\r\n residence: any;\r\n FormId: any;\r\n getaddressDetails: any;\r\n users: any;\r\n address: string;\r\n custBehaviour: any;\r\n cmtlocality: any;\r\n\r\n placeholderName : any = 'Estimated area of the (Address Type)';\r\n premisesRentAmtInwords:any=[];\r\n rentAmtInwords : any ;\r\n\r\n locality: any = [];\r\n pdlocation: any = [];\r\n pdDetails: any;\r\n questionDetails: any;\r\n pdQuestionAddress:FormGroup;\r\n addressTypes:any=[];\r\n addressRemarksAccess:boolean = false;\r\n items:FormArray;\r\n pdState: any;\r\n pdCity: any;\r\n pdPincode: any;\r\n pdOtherPincode: any;\r\n cityData: any=[];\r\n pincodeData: any=[];\r\n stateData: any=[];\r\n uomData: any=[];\r\n // counts:number = 1;\r\n\r\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) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n \r\n this.FormId = this.navParams.get('FormId');\r\n\r\n this.users = this.aws.getlocale();\r\n\r\n if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\r\n this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\r\n }else{\r\n this.address = this.pdDetails.addressline1+', - , -'; \r\n }\r\n this.pdState = this.pdDetails.fk_state;\r\n this.getCityAndPincodeDetails(this.pdState);\r\n this.pdCity = this.pdDetails.fk_city;\r\n this.pdPincode = this.pdDetails.pincode_id;\r\n console.log('this.pdPincode', this.pdPincode);\r\n this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\r\n \r\n this.getdropdownlist();\r\n\r\n this.pdQuestionAddress = this.fb.group(\r\n {\r\n address: [this.address],\r\n state:[this.pdState != '' ? this.pdState : ''],\r\n city:[this.pdCity != '' ? this.pdCity : ''],\r\n pincode:[this.pdPincode != '' ? this.pdPincode : ''],\r\n pincode_others:[this.pdOtherPincode != '' ? this.pdOtherPincode : '', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n address_type: [null],\r\n address_type_others:[null],\r\n locality: [null],\r\n locality_others: [null],\r\n locality_mixuse: [''],\r\n pd_location: [null],\r\n comment_locality: [null],\r\n other_comment_locality : [null],\r\n estimated_area: [''],\r\n uom: [null],\r\n uom_others: [null],\r\n //customer_behaviour: [null],\r\n // neighbourhood: this.fb.array([]),\r\n address_form_remark:[null],\r\n // address_ownership:[null],\r\n // other_ownership:[null],\r\n // rent_amt:[null],\r\n // other_premises_bussiness_activity : [null],\r\n // bussiness_activity_remark:[null],\r\n // bussiness_activity:[null],\r\n // bussiness_address_type:[null],\r\n // bussiness_address_type_others:[null], \r\n // business_years:[null],\r\n // business_month:[null],\r\n // additional_address_units: this.fb.array([]),\r\n \r\n });\r\n this.getaddressForm(); \r\n }\r\n\r\n ionViewDidLoad() {\r\n //this.addUnits();\r\n console.log('ionViewDidLoad PdQuestionAddressPage');\r\n }\r\n\r\n ionViewWillLeave()\r\n {\r\n \r\n\r\n // let method = this.alerCtrl.create({\t\t\t\r\n // message: 'Do You Want Save',\r\n // buttons: [\r\n // {\r\n // text: 'Save',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // console.log('Save clicked');\r\n // }\r\n // },\r\n // {\r\n // text: 'Cancel',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // console.log('Cancel clicked');\r\n // this.navCtrl.pop(); \r\n // }\r\n // }\r\n // ]\r\n // });\r\n // method.present()\r\n \r\n \r\n // console.log(this.pdQuestionAddress.dirty);\r\n }\r\n\r\n /** To Get City And Pincode Data For Address Form \r\n * Param 'stateID' -> selected StateId\r\n */\r\n getCityAndPincodeDetails(stateID: string) {\r\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData = data.records.cities;\r\n this.pincodeData = data.records.pincode;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getdropdownlist()\r\n {\r\n // this.addressTypes = [\r\n \r\n // {'id':'Office','Name':'Office'},\r\n // {'id':'Clinic','Name':'Clinic'},\r\n // {'id':'Factory','Name':'Factory'},\r\n // {'id':'Warehouse','Name':'Warehouse'},\r\n // {'id':'Shop','Name':'Shop'},\r\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\r\n // {'id':'Residence','Name':'Residence'},\r\n // {'id':'OTHERS','Name':'OTHERS'}\r\n // ];\r\n\r\n \r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \r\n }\r\n \r\n })\r\n \r\n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\r\n {\r\n this.pdlocation = res;\r\n if(this.pdlocation.dataStatus == true)\r\n {\r\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\r\n {\r\n this.cmtlocality = res;\r\n if(this.cmtlocality.dataStatus ==true)\r\n {\r\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\r\n }\r\n });\r\n\r\n \r\n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\r\n // {\r\n // this.custBehaviour = res;\r\n // if(this.custBehaviour.dataStatus == true)\r\n // {\r\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\r\n // }\r\n // })\r\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.locality = res['records'].filter(loc=>loc.isactive==1);\r\n }\r\n })\r\n\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.residence = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('CITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.CITY = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\r\n this.stateData=res['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\r\n this.uomData=res['records'].filter(val=>val.isactive == 1)\r\n })\r\n \r\n }\r\n\r\n // checkaddress(value)\r\n // {\r\n // // console.log(value);\r\n // if(value==\"OTHERS\")\r\n // {\r\n // this.addressRemarksAccess = true;\r\n // }else\r\n // {\r\n // this.addressRemarksAccess = false;\r\n // }\r\n // }\r\n\r\n // createItem(): FormGroup {\r\n // return this.fb.group({\r\n // name: [null],\r\n // do_you_know: [null],\r\n // how_long: [null],\r\n // is_owner: [null],\r\n // });\r\n // };\r\n \r\n createUnits(val): FormGroup {\r\n if(val==null){\r\n return this.fb.group({\r\n no_of_additional_units: [''],\r\n premises_type: [''],\r\n premises_type_others: [''],\r\n premises_city: [''],\r\n // premises_ownership: [''],\r\n //premises_ownership_others: [''],\r\n //premises_rent_amt:[''],\r\n premises_remarks: [''],\r\n });\r\n }\r\n else{\r\n \r\n return this.fb.group({\r\n no_of_additional_units: [val.no_of_additional_units],\r\n premises_type: [val.premises_type],\r\n premises_type_others: [val.premises_type_others],\r\n premises_city: [val.premises_city],\r\n // premises_ownership: [val.premises_ownership],\r\n // premises_ownership_others: [val.other_ownership],\r\n // premises_rent_amt:[val.rent_amt],\r\n premises_remarks: [val.premises_remarks],\r\n });\r\n \r\n }\r\n }\r\n\r\n addUnits() {\r\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n this.items.push(this.createUnits(null));\r\n}\r\n\r\n\r\n removeUnits(i){\r\n this.items.removeAt(i);\r\n }\r\n\r\n ConvertMonthintoYear(e){\r\n \r\n let business_year = this.pdQuestionAddress.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n }\r\n /** On Key Press Event For Numbers */\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n \r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i){ \r\n console.log(e);\r\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n \r\n }\r\n\r\n inWordsForRent(e){\r\n //console.log(e);\r\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\r\n }\r\n\r\n selectedAddressType(e: any){\r\n this.placeholderName = 'Estimated area of the ' + e;\r\n }\r\n\r\n\r\n savepdQuestion(answerData)\r\n {\r\n console.log(answerData);\r\n let records: any = {};\r\n records.address = answerData.address;\r\n if(answerData.address_type_others != null){\r\n records.address_type_others = answerData.address_type_others;\r\n }\r\n records.state =answerData.state\r\n records.city = answerData.city\r\n\r\n records.pincode = answerData.pincode\r\n records.pincode_others = answerData.pincode== 1 ?\r\n this.pdQuestionAddress.controls.pincode_others.value : '';\r\n\r\n records.address_type = answerData.address_type;\r\n records.locality = answerData.locality;\r\n \r\n records.locality_others = answerData.locality == 1 ?\r\n this.pdQuestionAddress.controls.locality_others.value : '';\r\n\r\n records.locality_mixuse = answerData.locality == 5 ?\r\n this.pdQuestionAddress.controls.locality_mixuse.value : '';\r\n\r\n records.pd_location = answerData.pd_location;\r\n records.comment_locality = answerData.comment_locality;\r\n records.other_comment_locality = answerData.other_comment_locality;\r\n records.estimated_area = answerData.estimated_area;\r\n\r\n records.uom = answerData.uom;\r\n records.uom_others = answerData.uom == 1 ?\r\n this.pdQuestionAddress.controls.uom_others.value : '';\r\n // records.customer_behaviour = answerData.customer_behaviour;\r\n // records.neighbourhood = answerData.neighbourhood;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.address_form_remark = answerData.address_form_remark;\r\n // records.address_ownership = answerData.address_ownership;\r\n // records.other_ownership = answerData.other_ownership;\r\n // records.rent_amt = answerData.rent_amt;\r\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\r\n // records.bussiness_activity = answerData.bussiness_activity;\r\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\r\n // records.business_years = answerData.business_years;\r\n // records.business_month = answerData.business_month;\r\n // console.log(\"Additional Units\",this.pdQuestionAddress.controls.additional_address_units.value);\r\n // console.log(\"item\",this.items)\r\n // records.additional_address_units = answerData.additional_address_units;\r\n \r\n \r\n console.log('params', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n // console.log('data', data);\r\n // let params: any = {};\r\n // params.pd_id = '250';\r\n // params.pd_form_id = '250';\r\n // console.log('param', params);\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n\r\n },err=>{\r\n this.toast.pdTriggerappmessage('Something went wrong ');\r\n });\r\n }\r\n\r\n getaddressForm()\r\n {\r\n \r\n let res:any;\r\n\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n this.getaddressDetails = res;\r\n \r\n if(this.getaddressDetails.dataStatus ==true){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records;\r\n if(this.getaddressDetails.additional_address_units != null){\r\n var result = Object.keys(res['records'].additional_address_units).map(function(key) {\r\n // return res['records'].additional_address_units[key];\r\n //for slicing the automatically created\r\n \r\n });\r\n //this.removeUnits(0);\r\n }\r\n\r\n let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n\r\n this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\r\n this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\r\n\r\n if (this.getaddressDetails.state != '') {\r\n this.getCityAndPincodeDetails(this.getaddressDetails.state);\r\n this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\r\n this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\r\n if (this.getaddressDetails.pincode == 1) {\r\n this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\r\n this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\r\n this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\r\n }\r\n }\r\n this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\r\n this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\r\n let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\r\n this.selectedAddressType(selectedAddressType);\r\n\r\n if(this.getaddressDetails.address_type != null) {\r\n this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\r\n this.selectedAddressType(this.getaddressDetails.address_type_others);\r\n }\r\n\r\n this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\r\n\r\n if(this.getaddressDetails.comment_locality != null){\r\n this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\r\n }\r\n // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\r\n this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\r\n if(this.getaddressDetails.locality == 1 ){\r\n this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\r\n }\r\n if(this.getaddressDetails.locality == 5){\r\n this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\r\n }\r\n \r\n this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\r\n this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\r\n if (this.getaddressDetails.uom == 1) {\r\n this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\r\n this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\r\n this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\r\n }\r\n this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\r\n // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\r\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\r\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\r\n // if(this.getaddressDetails.rent_amt != null){\r\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\r\n // }\r\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // } \r\n // else{\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\r\n // }\r\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\r\n\r\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\r\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\r\n \r\n \r\n console.log(this.getaddressDetails.additional_address_units);\r\n\r\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\r\n \r\n if (result.length == 0) {\r\n console.log(\"0\")\r\n control.push(this.createUnits(null));\r\n } else {*/\r\n console.log(\"1\",this.getaddressDetails.additional_address_units)\r\n //for(let val of this.getaddressDetails.additional_address_units){\r\n //control.push(this.createUnits(val));\r\n //}\r\n //result.forEach((datas,index) => {\r\n // console.log(datas);\r\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\r\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\r\n \r\n //});\r\n \r\n //}\r\n \r\n // }\r\n\r\n }\r\n });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionEmpInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-emp-info',\r\n templateUrl: 'pd-question-emp-info.html',\r\n})\r\nexport class PdQuestionEmpInfoPage {\r\n questionDetails: any;\r\n pdDetails: any;\r\n empInfo:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n\r\n this.empInfo = this.fb.group(\r\n {\r\n nameOfEmp:[null],\r\n yearWithEmp:[null],\r\n empMet:[null],\r\n designationOfEmp:[null],\r\n salaryConfirm:[null],\r\n actualSalary:[null],\r\n attRegisterSeen:[null],\r\n salaryRegisterSeen:[null]\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.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 * 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})\nexport class PdQuestionCurrentLoansPage {\n public applicants: 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\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) {\n this.applicants=[]\n // console.log(\"before\",this.applicants)\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;\n \n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n\n this.getdropdown();\n // this.applicants.push\n console.log(this.applicants);\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 console.log(\"Entering company List\")\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log(\"company List\",data['records'])\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 console.log(\"Company applicant\",this.mergeCompanyApplicant)\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 \n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n console.log(this.mergeCompanyApplicant);\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 \n }\n \n exitsCheck(val)\n { \n console.log(val);\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 // console.log(+e.value);\n // console.log(i);\n \n // alert('function in');\n \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 // console.log(this.placeholderName);\n}\n\nsubmitCurrentloan(answerData) {\n console.log(answerData);\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 console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\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 console.log(\"res\",res['records']);\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 console.log(\"Function result\",res['records'].loan_details[key]);\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 console.log(\"Datas\",datas)\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 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 // console.log('else part',value.status);\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\n // console.log(data);\n\n if(data.dataStatus == true){\n \n // console.log(data.record);\n \n let AssetData = data.record;\n \n // console.log(AssetData.business_assets);\n // console.log(AssetData.other_assests);\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 });\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 })\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 \n if(val.mode == 1){\n let data;\n val.details.forEach((v,index) => {\n data = v.any_other_assets;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 2){\n let data;\n val.details.forEach((v,index) => {\n data = v.property_type_name;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 3){\n let data;\n val.details.forEach((v,index) => {\n data = v.manufacturer_model_vehicle;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 4){\n let data;\n val.details.forEach((v,index) => {\n data = v.equipment_manufacturing_description;\n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\n }\n if(val.mode == 6){\n labelarray[index] = ' : '+val.owner_name+' - '+ val.mode_name;\n }\n if(val.mode == 7){\n let data;\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 let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+val.owner_name +' - '+ val.mode_name + description;\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 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 // console.log('else,else.part');\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-loans',\r\n templateUrl: 'pd-question-loans.html',\r\n})\r\nexport class PdQuestionLoansPage {\r\n enduse: any = [];\r\n propertyType: any;\r\n mortagetypeAccess: boolean;\r\n mortageAccess: boolean = false;\r\n mortageCardAccess: boolean;\r\n topUpAmtInWords: any;\r\n ownContributionInWords: any;\r\n valAsPerAgmtInWords: any;\r\n balTxrfAmtInWords: any;\r\n loanAmtInWords: any;\r\n\r\n emiAmtInWords:any;\r\n emvAmtInWords:any;\r\n\r\n m_btLenderList: any;\r\n applicants: any;\r\n m_endUseofLoad: any;\r\n m_sourceofamount: any;\r\n m_mortageTypeProperty: any;\r\n m_statusofCunstruction: any;\r\n ownerNames: any=[];\r\n isOtherPurpose: boolean=false;\r\n endUserList: any=[];\r\n pdDetails: any;\r\n FormId: any;\r\n productAbbr:any;\r\n loanDetailsForm: FormGroup;\r\n users: any;\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any;\r\n m_endUseOFTopUpList:any=[]\r\n isContribution: boolean = false;\r\n\r\n \r\n isOtherSource: boolean = false;\r\n isPLSource: boolean = false;\r\n\r\n sourceList:any=[];\r\n pdid:number;\r\n m_endUseForLoan:any;\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdDetails);\r\n this.applicants = this.pdDetails.applicat_details\r\n this.productAbbr = this.pdDetails.product_abbr;\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.getDropdown();\r\n this.loanDetailsForm = this.fb.group({\r\n loan_amount: [this.pdDetails.loan_amount],\r\n end_use: ['', Validators.compose([Validators.required])],\r\n end_use_other: [''],\r\n is_transfer: ['', Validators.compose([Validators.required])],\r\n //is_topup: ['', Validators.compose([Validators.required])],\r\n // is_topup: [''],\r\n balance_transfer_amount: [''],\r\n topup_amount: [''],\r\n end_use_topup:[''],\r\n other_end_use_topup:[''],\r\n lender: [''],\r\n other_bt_lender : [''],\r\n own_contribution: ['', Validators.compose([Validators.required])],\r\n source: [''],\r\n //personal_loan_source:[''],\r\n other_source:[''],\r\n //lender_name_type: [''],\r\n emi_level: ['', Validators.compose([Validators.required])],\r\n property_type: ['', Validators.compose([Validators.required])],\r\n property_type_others:[''],\r\n owner_name: ['', Validators.compose([Validators.required])],\r\n construction_status: ['', Validators.compose([Validators.required])],\r\n //percentage_of_construction : [''],\r\n emv_per_customer: ['', Validators.compose([Validators.required])],\r\n //value_per_agreement: ['', Validators.compose([Validators.required])],\r\n loandetails_remarks: ['', Validators.compose([Validators.required])],\r\n });\r\n \r\n console.log(75,this.pdDetails.product_abbr);\r\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\r\n {\r\n this.mortagetypeAccess = true;\r\n }else\r\n {\r\n this.mortagetypeAccess = false;\r\n }\r\n console.log(this.mortagetypeAccess);\r\n \r\n \r\n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\r\n this.isContribution = true;\r\n }\r\n \r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLoansPage');\r\n this.getLoanDetails();\r\n }\r\n\r\n\r\n getDropdown() {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n })\r\n this.qustCat.getEndUseForLoan(this.pdid).subscribe(data=>{\r\n \r\n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\r\n data => {\r\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n // console.log(data['records']);\r\n let that = this;\r\n this.m_mortageTypeProperty = data['records'].filter(\r\n function(data){\r\n \r\n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\r\n {\r\n return data;\r\n \r\n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\r\n {\r\n return data;\r\n }else\r\n {\r\n return ;\r\n }\r\n });\r\n console.log(this.m_mortageTypeProperty);\r\n // this.mortage_type(this.propertyType);\r\n }\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\r\n data => {\r\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\r\n });\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\r\n subdata => {\r\n if(subdata['dataStatus']==true){\r\n let that = this;\r\n this.m_endUseofLoad = subdata['records'].filter(\r\n function(data)\r\n {\r\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\r\n {\r\n return data;\r\n }\r\n });\r\n this.endUserChange(this.enduse);\r\n }\r\n });\r\n \r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n })\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n if(this.productAbbr != 'LAP'){\r\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\r\n }\r\n }\r\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\r\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\r\n })\r\n \r\n \r\n console.log(\"complete\")\r\n \r\n }\r\n\r\n selectedBalancesTransferChanges(event: any){\r\n // console.log('First Time',event);\r\n // console.log('First Time Value',event.value);\r\n // if(event.value == 'no') { \r\n // this.loanDetailsForm.controls['is_topup'].clearValidators();\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // this.loanDetailsForm.controls['is_topup'].setValue('');\r\n // console.log('no',event.value);\r\n //}\r\n //else if(event.value == 'yes'){\r\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // console.log('yes',event.value);\r\n // }\r\n if (event.value == 'no') {\r\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n\r\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \r\n this.loanDetailsForm.controls['lender'].setValue('');\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\r\n this.topUpAmtInWords=''\r\n\r\n }\r\n else if (event.value == 'yes') {\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n this.loanDetailsForm.controls['source'].clearValidators();\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.isOtherSource = false;\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n \r\n }\r\n\r\n}\r\n \r\n mortage_type(mortage_value)\r\n {\r\n \r\n console.log(mortage_value);\r\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\r\n console.log(mortagetypes);\r\n var property_name=mortagetypes.property_name\r\n if(property_name=='Others (Please Specify)')\r\n {\r\n this.mortageAccess = true;\r\n }else\r\n {\r\n this.mortageAccess = false; \r\n }\r\n \r\n \r\n }\r\n compareObjects(o1: any, o2: any){\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n \r\n }\r\n\r\n\r\n loanCalc()\r\n {\r\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\r\n let loanAmount = this.loanDetailsForm.value.loan_amount;\r\n let topupAmt ;\r\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\r\n {\r\n topupAmt = loanAmount - BtAmount;\r\n }\r\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n }\r\n endUserChange(event) {\r\n console.log(\"change\",this.m_endUseForLoan);\r\n //this.endUserList = [];\r\n event.forEach(option => {\r\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\r\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\r\n this.endUserList.push({ end_use: option });\r\n console.log(201,othresData);\r\n if (othresData == 'others') {\r\n \r\n this.isOtherPurpose = true;\r\n return ;\r\n }else\r\n {\r\n //console.log('else');\r\n this.isOtherPurpose = false;\r\n \r\n }\r\n });\r\n console.log(this.endUserList);\r\n }\r\n ownerNameChange(event) {\r\n this.ownerNames = [];\r\n event.value.forEach(option => {\r\n this.ownerNames.push({ owner_name: option });\r\n });\r\n }\r\n sourceChange(evt) {\r\n // console.log('source Changed Values',evt);\r\n\r\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\r\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\r\n\r\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\r\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\r\n\r\n this.sourceList = [];\r\n\r\n evt.forEach(option => {\r\n this.sourceList.push({source: option});\r\n });\r\n}\r\n inWords(e,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 2 : \r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 3 :\r\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 4 :\r\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 :\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 6:\r\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 7:\r\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n default:\r\n break;\r\n }\r\n}\r\n submitLoanDetails() {\r\n // console.log(answerData);\r\n // console.log(this.endUserList);\r\n // if(this.loanDetailsForm.valid){\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\r\n \r\n // get end user final group data\r\n let dataEnd_user_data = [];\r\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\r\n dataEnd_user_data.push({end_use: element})\r\n });\r\n records.end_use_group = dataEnd_user_data;\r\n\r\n if (this.isOtherPurpose) {\r\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\r\n }\r\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\r\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\r\n }\r\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\r\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\r\n \r\n let dataSource_list=[];\r\n if(this.loanDetailsForm.controls['source'].value != '')\r\n {\r\n \r\n this.loanDetailsForm.controls['source'].value.forEach(element => {\r\n dataSource_list.push({sources : element})\r\n });\r\n }\r\n records.source_group=dataSource_list;\r\n \r\n }\r\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\r\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\r\n //}\r\n if(records.topup_amount > 0){\r\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\r\n if(records.end_use_topup == 1){\r\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\r\n }\r\n }\r\n \r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.lender = this.loanDetailsForm.controls['lender'].value;\r\n }\r\n if(this.loanDetailsForm.controls['lender'].value == 1){\r\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\r\n } \r\n \r\n \r\n\r\n \r\n /* records.source = this.loanDetailsForm.controls['source'].value;\r\n if (this.loanDetailsForm.controls['source'].value == 'other') {\r\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\r\n }*/\r\n if(this.isOtherSource){\r\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\r\n }\r\n else{\r\n records.other_source = ''; \r\n }\r\n \r\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\r\n if(this.mortageCardAccess == true){\r\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\r\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\r\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\r\n };\r\n // records.owner_name_group = this.ownerNames;\r\n // console.log(this.loanDetailsForm.controls['owner_name'].value);\r\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\r\n let dataOwner_name = [];\r\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\r\n dataOwner_name.push({owner_name: element})\r\n });\r\n records.owner_name_group = dataOwner_name;\r\n }\r\n else{\r\n records.owner_name_group='';\r\n }\r\n \r\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\r\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\r\n \r\n }else{\r\n records.property_type = null;\r\n records.property_type_others = null;\r\n records.owner_name_group = null;\r\n records.construction_status = null;\r\n records.emv_per_customer = null;\r\n }\r\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\r\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\r\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\r\n console.log('data', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n console.log('data', data);\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.notifier.notify('success', 'Saved Successfully.');\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter The All Field');\r\n // }\r\n }\r\n\r\n getLoanDetails() {\r\n console.log(\"Entering LoanDetails GEt\");\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n console.log('value', value);\r\n if (value['dataStatus'] == true) {\r\n let loanDetails = value['records'];\r\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\r\n return loanDetails.end_use_group[key];\r\n });\r\n \r\n\r\n //this.enduse\r\n result.forEach(val => {\r\n this.enduse.push(val.end_use);\r\n //this.endUserList.push({'end_use':val.end_use});\r\n });\r\n let ownername: any = [];\r\n if(loanDetails.owner_name_group != null){\r\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\r\n return loanDetails.owner_name_group[key];\r\n });\r\n owner.forEach(val => {\r\n ownername.push(val.owner_name);\r\n this.ownerNames.push({'end_use':val.end_use});\r\n });\r\n }\r\n // console.log('enduse', enduse);\r\n console.log('ownername', loanDetails);\r\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\r\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\r\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\r\n this.endUserChange(this.enduse);\r\n\r\n if (loanDetails.end_use_other!='') {\r\n //this.endUserChange(this.enduse);\r\n // this.isOtherPurpose=true;\r\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\r\n }\r\n \r\n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \r\n if(loanDetails.topup_amount > 0){\r\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\r\n if (loanDetails.end_use_topup == 1) {\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\r\n }\r\n } \r\n }\r\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n }\r\n if (loanDetails.lender) {\r\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\r\n }\r\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\r\n if(loanDetails.own_contribution)\r\n {\r\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\r\n }\r\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\r\n if(loanDetails.is_transfer!='yes')\r\n {\r\n let source=Object.keys(loanDetails.source_group).map(function(key){\r\n return loanDetails.source_group[key];\r\n });\r\n let dbsourcelist:any=[];\r\n source.forEach(val=>{\r\n dbsourcelist.push(val.sources);\r\n });\r\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\r\n this.sourceChange(dbsourcelist);\r\n if(loanDetails.other_source) {\r\n // this.isOtherSource = true;\r\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\r\n }\r\n \r\n \r\n }\r\n\r\n/* if (loanDetails.lender_name_type) {\r\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\r\n }*/\r\n \r\n if(loanDetails.emi_level){\r\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\r\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\r\n }\r\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \r\n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\r\n this.propertyType =loanDetails.property_type;\r\n if(loanDetails.property_type !=null){\r\n this.mortage_type(this.propertyType);\r\n console.log(\"mortageCardAccess\",this.mortageCardAccess);\r\n if(this.mortageCardAccess == true){\r\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \r\n // this.mortage_type(loanDetails.property_type_others);\r\n \r\n }\r\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\r\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\r\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\r\n if(loanDetails.emv_per_customer)\r\n {\r\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\r\n }\r\n }\r\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\r\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\r\n } else {\r\n\r\n }\r\n })\r\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\r\n this.mortageCardAccess = false;\r\n this.loanDetailsForm.controls['owner_name'].setValue('');\r\n this.loanDetailsForm.controls['owner_name'].clearValidators();\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }else{\r\n this.mortageCardAccess = true;\r\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-banking',\r\n templateUrl: 'pd-question-banking.html',\r\n // changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PdQuestionBankingPage {\r\n \r\n m_btLenderList: any;\r\n applicants: any ;\r\n salaryField: boolean;\r\n FormId: any;\r\n accountType: any;\r\n users: any;\r\n bankDetails:FormGroup;\r\n pdDetails: any;\r\n pdid:any;\r\n bankitems:FormArray;\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n limitCaseFlag: any=[];\r\n amtInwords: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\r\n //this.applicants.pop();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n \r\n console.log(this.pdDetails);\r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.bankDetails = this.fb.group(\r\n {\r\n bankitems:this.fb.array([]),\r\n banking_form_remark:[null],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBankingPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n // let modifyCompanyList : any=[];\r\n // if(this.existCompanyList.length>0){\r\n // modifyCompanyList = this.existCompanyList.map(element => {\r\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n // });\r\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n // console.log(\"Company applicant\",this.mergeCompanyApplicant)\r\n //}\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n console.log(this.mergeCompanyApplicant);\r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n\r\n/** Amount InWords */\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n //console.log(itemrow);\r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n bank_name: [''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n //is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n \r\n addBankDetails() {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem(''));\r\n \r\n //console.log(this.pdQuestionAddress.get('items')['controls']);\r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n\r\n if(this.bankitems.length==1){\r\n this.bankitems.reset();\r\n }\r\n else\r\n this.bankitems.removeAt(i);\r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.banking_details = answerData.bankitems;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n console.log('data', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n console.log('data', data);\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n //console.log(answerData);\r\n }\r\n\r\n retiveBankDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n if(result.length ==0){\r\n console.log(\"Data=0\")\r\n this.bankitems.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n console.log(\"Data>0\")\r\n \r\n \r\n result.forEach((datas,index)=>\r\n {\r\n this.selectedAccTypeChanges(+datas.account_type,index)\r\n if(datas.limit != ''){\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n } \r\n // this.selectedBorrower(datas.applicant_name,index);\r\n this.bankitems.push(this.createBankItem(''));\r\n })\r\n this.bankDetails.controls['bankitems'].setValue(result);\r\n }\r\n \r\n \r\n }else\r\n {\r\n console.log(\"Data False\")\r\n this.addBankDetails();\r\n }\r\n });\r\n \r\n }\r\n}\r\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 console.log(\"applicant details\",this.selected_person);\n console.log('Pd Applicant',this.pdDetails);\n this.users = this.aws.getlocale();\n //console.log('aws',this.users);\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_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_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 // console.log('family full records',val);\n \n let inx=control.length-1;\n //this.getNumberOfFamilyMemberDetails(inx);\n this.initFamilyMembersDetails(inx, val.family_members_details);\n console.log(control);\n \n // console.log('control family',inx);\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 // console.log(\"Controls for family members \",control.length);\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 // console.log(\"family member control\",control);\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 console.log(\"length\",control)\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 // console.log(\"Array\",datavalue);\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\n //console.log(\"form0\",formData['total_number_of_family_members']);\n if(formData['total_number_of_family_members'].valid)\n {\n let totmem=formData['total_number_of_family_members'].value;\n console.log(\"Tot num\",totmem);\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n console.log(\"Form Fields\",control.length)\n if(totmem>=control.length){\n let len=totmem-control.length;\n //console.log(\"if\",len);\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 console.log(\"dataff\",control);\n control.push(this.initFamilyMembersDetails());\n */ \n //console.log(formData['1']);\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 //console.log('data', 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 console.log(\"E value\",e);\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 console.log(data.status);\n this.cityData[i] = data.records.cities; \n this.pincodeData[i] = data.records.pincode;\n console.log(this.cityData);\n }\n });\n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', 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 console.log(120,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 console.log(134,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 console.log(familystatus);\n console.log(count);\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 console.log(answerData);\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 console.log('params', records);\n this.qustCat.saveForm(records).subscribe(res=>\n {\n //console.log(res);\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 console.log(\"family details\",records.family_details);\n //console.log(\"Records\",records);\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 //console.log(JSON.stringify(records));\n this.qustCat.saveForm(records).subscribe(res=>{\n // console.log(\"Result\",);\n\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n this.navCtrl.pop();\n \n },err=>{\n console.log(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 console.log('params', records);\n this.qustCat.saveForm(records).subscribe(res=>\n {\n //console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })*/\n}\n\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 let newControlLength: number;\n let oldControlLength: number = control.length;\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 newControlLength = data.length;\n let index: number = 0;\n while(index < oldControlLength)\n {\n control.removeAt(index);\n index++;\n }\n oldControlLength = newControlLength\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\n let index: number = 0;\n while(index < oldControlLength)\n {\n control.removeAt(index);\n index++;\n }\n oldControlLength = 1;\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 console.log(\"Family Details\",res.record)\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 // console.log('familyMembersGeneralForm',familyMembersGeneralForm);\n });\n Temparr.push(datas);\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 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(\"result\",JSON.stringify(res));\n \n console.log(\"datastatus\",res['dataStatus']);\n \n if(res['status']==200){\n console.log(\"getValue records\",res['records'].family_details);\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 else{\n console.log(\"no data\");\n this.initFamilyDetails(null);\n \n }\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\n \n //console.log(\"datastatus number\",res[0].status)\n },err=>{\n console.log(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 //console.log(non_earning);\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 console.log(earning);\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 console.log(189);\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n console.log(192);\n if(earning.length==0)\n {\n this.addearningMembers();\n console.log('if');\n }else\n {\n earning.forEach(datas => {\n this.count++;\n this.items.push(this.createMembers());\n });\n console.log('else',earning);\n console.log(this.items);\n this.familyForm.controls['earningMembers'].setValue(earning);\n \n }\n //console.log(201,earning);\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssestsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assests',\r\n templateUrl: 'pd-question-assests.html',\r\n})\r\nexport class PdQuestionAssestsPage {\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n m_relation: any;\r\n applicants: any ;\r\n users: any;\r\n FormId: any;\r\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\r\n m_investmentType: { 'id': string; 'name': string; }[];\r\n m_insuranceType: { 'id': string; 'name': string; }[];\r\n m_propertyType: { 'id': string; 'name': string; }[];\r\n m_assets_type: { 'id': string; 'name': string; }[];\r\n pdDetails: any;\r\n assetItem: any;\r\n items:FormArray;\r\n AssetsDetailsForm:FormGroup;\r\n details:FormArray;\r\n FormList:boolean = false;\r\n loadDetails:boolean = true;\r\n assestInfo:any;\r\n\r\n appxMarketAmtInwords: any=[];\r\n OtherAppxMarketAmtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n OtherEmiAmtInwords: any=[];\r\n PremiumPaidInwords: any=[];\r\n OtherPremiumPaidInwords: any=[];\r\n SumAssuredInwords: any=[];\r\n OtherSumAssuredInwords: any=[];\r\n AmtInvestInwords: any=[];\r\n OtherAmtInvestInwords: any;\r\n AssetValueInwords: any=[];\r\n OtherAssetValueInwords: any=[];\r\n B_emiAmtInwords: any=[];\r\n O_emiAmtInwords: any=[];\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n pdid:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\r\n \r\n this.assestInfo = \"busass\";\r\n this.FormId = this.navParams.get('FormId');\r\n console.log(this.FormId);\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.AssetsDetailsForm = this.fb.group(\r\n {\r\n assets_details:this.fb.array([]),\r\n // business_assets_details:this.fb.array([]),\r\n assets_form_remark:['']\r\n \r\n })\r\n \r\n this.getAssetDetails();\r\n this.getdropList();\r\n //this. addAsset(1);\r\n this.loadDetails = true;\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssestsPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n\r\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_propertyType = res['records'];\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_investmentType = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.m_insuranceType =res['records'];\r\n }\r\n })\r\n \r\n \r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_relation = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n console.log(\"Company applicant\",this.mergeCompanyApplicant)\r\n }\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n console.log(\"Applicants\",this.mergeCompanyApplicant);\r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n })\r\n \r\n \r\n \r\n \r\n }\r\n createAsset() : FormGroup\r\n {\r\n return this.fb.group(\r\n {\r\n assets_mode: [null],\r\n details: this.fb.array([]),\r\n approximate_market_value: [null],\r\n name_of_the_owner: [''],\r\n other_owner:[''],\r\n // purchase_year: [null],\r\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n vintage_personal : [''],\r\n // purchase_month: [null],\r\n emi: [null],\r\n // emi_paid: [null],\r\n // elapsed_tenure: [null],\r\n // balance_tenure: [null],\r\n // original_loan_tenure :[null],\r\n });\r\n }\r\n\r\n addAsset(flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n this.assetItem.push(this.createAsset());\r\n }\r\n }\r\n\r\n deleteAsset(i,flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n if(this.assetItem.length==1)\r\n {\r\n this.AssetsDetailsForm.controls['assets_details'].reset();\r\n }else{\r\n this.assetItem.removeAt(i);\r\n } \r\n }\r\n }\r\n \r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n \r\n\r\n loanCalc(details ,flag)\r\n {\r\n if(flag == 1){\r\n //console.log(details.value); \r\n let ElapsedValues;\r\n \r\n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\r\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n show: boolean;\r\n selectedAssetsType(e: any, i: any,flag : any): void {\r\n console.log(e);\r\n console.log(i);\r\n console.log(flag);\r\n let val = i;\r\n if(flag == 1){\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n }\r\n \r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n \r\n control.push(this.loadEquipmentManufacturingDescription());\r\n \r\n break;\r\n }\r\n case '5': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadConsumerDurableDescription());\r\n break;\r\n }\r\n case '6': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInsuranceDescription());\r\n break;\r\n }\r\n case '7': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInvestDescription());\r\n break;\r\n }\r\n case '8': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: ['']\r\n });\r\n }\r\n\r\n loadJwellDescription() {\r\n return this.fb.group({\r\n \r\n });\r\n }\r\n\r\n loadConsumerDurableDescription() {\r\n return this.fb.group({\r\n consumer_durable_description: [null]\r\n });\r\n }\r\n \r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n otherAssetsDescription() {\r\n \r\n return this.fb.group({\r\n any_other_assets: [''],\r\n //any_other_asset_value:[''],\r\n //any_other_asset_loan:['']\r\n });\r\n }\r\n\r\n loadInsuranceDescription() {\r\n return this.fb.group({\r\n insurance_type: [null],\r\n premium_paid: [null],\r\n frequency_mode: [null],\r\n other_frequency_mode:[null],\r\n sum_assured: [null],\r\n members_coverd: [null]\r\n });\r\n }\r\n\r\n loadInvestDescription() {\r\n return this.fb.group({\r\n investments_type: [''],\r\n other_investments_type:[''],\r\n in_which_organisation:[''],\r\n amount_of_invest: [''],\r\n bank_name: ['']\r\n });\r\n }\r\n\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n //manufacturer_model: [''],\r\n manufacturer_model_vehicle: ['']\r\n });\r\n }\r\n\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n\r\n load_Two_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_two_weeler: ['']\r\n });\r\n }\r\n\r\n\r\n\r\n loadPropertyWithData(data) {\r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type]\r\n });\r\n }\r\n\r\n loadJwellDescriptionWithData(data) {\r\n return this.fb.group({\r\n // jwell_description: [data.jwell_description]\r\n });\r\n }\r\n\r\n loadConsumerDurableDescriptionWithData(data) {\r\n return this.fb.group({\r\n consumer_durable_description: [data.consumer_durable_description]\r\n });\r\n }\r\n\r\n otherAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n //any_other_asset_value : [data.any_other_asset_value],\r\n //any_other_asset_loan:[data.any_other_asset_loan]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_value : [data.any_other_asset_value],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadInsuranceDescriptionWithData(data) {\r\n return this.fb.group({\r\n //insurance_type: [data.insurance_type],\r\n premium_paid: [data.premium_paid],\r\n frequency_mode: [data.frequency_mode],\r\n other_frequency_mode:[data.other_frequency_mode],\r\n sum_assured: [data.sum_assured],\r\n members_coverd: [data.members_coverd]\r\n });\r\n }\r\n\r\n loadInvestDescriptionWithData(data) {\r\n return this.fb.group({\r\n investments_type: [data.investments_type],\r\n other_investments_type:[data.other_investments_type],\r\n in_which_organisation:[data.in_which_organisation],\r\n amount_of_invest: [data.amount_of_invest],\r\n bank_name: [data.bank_name]\r\n });\r\n }\r\n\r\n \r\n\r\n load_Four_WeelerWithData(data) {\r\n return this.fb.group({\r\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n\r\n load_Two_WeelerWithData(data) {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n saveAssetDetails(answerData)\r\n {\r\n console.log(answerData);\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n // answerData.assets_details.map(val => {\r\n // if (val.emi == 'no') {\r\n // val.emi_paid = '';\r\n // val.elapsed_tenure = '';\r\n // val.balance_tenure = '';\r\n // val.original_loan_tenure ='';\r\n // }\r\n // });\r\n \r\n answerData.pdid = this.pdDetails.pd_id;\r\n answerData.formid = this.FormId.form_id;\r\n answerData.fk_createdby = this.users;\r\n console.log('final',answerData);\r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n }\r\n apiLoadFinish:boolean = false;\r\n getAssetDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\r\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n return res['records'].assets_details[key];\r\n });\r\n \r\n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n if (assetArray.length > 0) {\r\n for (let val of assetArray) {\r\n let vals = {\r\n assets_mode: val.assets_mode,\r\n approximate_market_value: val.approximate_market_value,\r\n name_of_the_owner: val.name_of_the_owner,\r\n other_owner:val.other_owner,\r\n purchase_year: val.purchase_year,\r\n vintage_personal:val.vintage_personal,\r\n // purchase_month: val.purchase_month,\r\n emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n //assets_form_remark:val.assets_form_remark\r\n };\r\n const control = this.AssetsDetailsForm.controls['assets_details'];\r\n control.push(this.initDetailsWithdata(vals));\r\n \r\n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\r\n }\r\n \r\n }\r\n // if (busarray.length > 0) {\r\n // for (let val of busarray) {\r\n // let vals = {\r\n // assets_mode: val.assets_mode,\r\n // approximate_market_value: val.approximate_market_value,\r\n // name_of_the_owner: val.name_of_the_owner,\r\n // purchase_year: val.purchase_year,\r\n // purchase_month: val.purchase_month,\r\n // emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n // };\r\n // const control = this.AssetsDetailsForm.controls['assets_details'];\r\n // control.push(this.initBusinessDetailsWithdata(vals));\r\n \r\n // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1);\r\n // }\r\n \r\n // }\r\n this.apiLoadFinish = true;\r\n console.log(assetArray);\r\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\r\n }else{\r\n this.apiLoadFinish = true;\r\n this.addAsset(1);\r\n // this.addAsset(2);\r\n }\r\n })\r\n }\r\n\r\n \r\n \r\n \r\n\r\n\r\n initDetailsWithdata(data) {\r\n return this.fb.group({\r\n assets_mode: [data.assets_mode],\r\n details: this.fb.array([]),\r\n approximate_market_value: [data.approximate_market_value],\r\n name_of_the_owner: [data.name_of_the_owner],\r\n other_owner:[data.other_owner || ''],\r\n vintage_personal:[data.vintage_personal],\r\n // purchase_year: [data.purchase_year],\r\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n // purchase_month: [data.purchase_month],\r\n emi: [data.emi || 0],\r\n // emi_paid: [data.emi_paid || ''],\r\n // elapsed_tenure: [data.elapsed_tenure || ''],\r\n // balance_tenure: [data.balance_tenure || ''],\r\n // original_loan_tenure:[data.original_loan_tenure ||''],\r\n //assets_form_remark:[data.assets_form_remark || '']\r\n });\r\n }\r\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\r\n let val = i;\r\n // var data = Object.keys(datas).map(function (key) {\r\n // return datas[key];\r\n // });\r\n // alert(JSON.stringify(datas));\r\n let data = datas;\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n switch (assets_details_mode) {\r\n case '1': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'any_other_assets': datas.any_other_assets,\r\n 'name_of_the_owner':datas.name_of_the_owner,\r\n 'other_owner':datas.other_owner,\r\n //'relation':datas.relation,\r\n // 'any_other_asset_value' : datas.any_other_asset_value,\r\n //'any_other_asset_loan' : datas.any_other_asset_loan,\r\n };\r\n //this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value);\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(array_data));\r\n break;\r\n }\r\n \r\n case '2': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadPropertyWithData(array_data));\r\n break;\r\n }\r\n case '3': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.load_Four_WeelerWithData(array_data));\r\n break;\r\n }\r\n case '4': {\r\n let array_data:any\r\n data.forEach((datas,i)=>{\r\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\r\n })\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '5': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\r\n break;\r\n }\r\n case '6': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { \r\n 'premium_paid': datas.premium_paid,\r\n 'frequency_mode': datas.frequency_mode,\r\n 'other_frequency_mode':datas.other_frequency_mode,\r\n 'sum_assured': datas.sum_assured,\r\n 'members_coverd': datas.members_coverd\r\n };\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\r\n \r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInsuranceDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '7': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\r\n array_data = { 'investments_type': datas.investments_type,\r\n 'other_investments_type' : datas.other_investments_type,\r\n 'in_which_organisation':datas.in_which_organisation,\r\n 'amount_of_invest': datas.amount_of_invest,\r\n 'bank_name': datas.bank_name };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInvestDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '8': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(data));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** On Key Press Event For Number only Accepting */\r\n keyPress(event: any) {\r\n const pattern = /[0-9\\-\\.\\ ]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 3 :\r\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 4 :\r\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 5 :\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 6 :\r\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 7 :\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 8 :\r\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 9 :\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 10 :\r\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 11 :\r\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 12 :\r\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 13:\r\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 14:\r\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\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 } 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 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 constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider, public constant:ConstantsProvider) {\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n console.log(\"pdid\",this.pdid);\n this.FormId = this.navParams.get('FormId');\n this.getFrequency();\n this.users = this.aws.getlocale();\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 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 console.log(\"Change\",val)\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 // console.log(\"Form\",this.otherIncomeForm)\n // console.log(\"Length\",control.length)\n // for(let i=0;i{\n // console.log(\"income earn\",res)\n if(res['dataStatus']==true)\n {\n console.log(\"income Earned by\",res);\n this.incomeEarnedBy=res['record'];\n //console.log(\"res\",res['record'])\n }\n })\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', 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}\ninWords(val,i){\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n}\nsubmitOtherIncome(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.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\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 console.log(124,res);\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 console.log('if');\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n //console.log(res);\n return res['records'].income_details[key];\n\n });\n console.log(this.otherIncomeDetails);\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 this.incomeDetails.push(this.createDetail());\n // console.log(\"Amount\",this.otherIncomeDetails.income_details.amount);\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n \n }else\n {\n console.log('else');\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionPersonalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-personal-info',\r\n templateUrl: 'pd-question-personal-info.html',\r\n})\r\nexport class PdQuestionPersonalInfoPage implements OnInit{\r\n\r\n questionDetails: any;\r\n pdDetails: any;\r\n users: any;\r\n _personalForm: FormGroup;\r\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\r\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\r\n relationShipList:any=[];\r\n \r\n form_id:number;\r\n \r\n\r\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\r\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\r\n \r\n public mainApplicantDetails :any=[];\r\n public coApplicantDetails :any=[];\r\n \r\n errorMessage:any;\r\n //coItem:any;\r\n //mainItem:any;\r\n\r\n repeat:number=3;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n console.log(this.pdDetails);\r\n \r\n \r\n // this.getRelationMaster();\r\n \r\n \r\n \r\n }\r\n ngOnInit() {\r\n \r\n this.loadPDDetails();\r\n this.getRelationMaster();\r\n this.mainApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 1);\r\n // console.log(this.mainApplicantDetails)\r\n this.coApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 0);\r\n }\r\n\r\n // load form pd details\r\n loadPDDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\r\n \r\n this.qustCat.retiverForm(records).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.loadFormWithIDData(data['records']);\r\n \r\n }\r\n else{\r\n let defaultMainApp=[];\r\n let defaultCoApp=[];\r\n // generate default main applicant form details\r\n if(this.mainApplicantDetails.length>0){ \r\n for(let j=0;j this.errorMessage = error);\r\n}\r\n\r\nloadDataStatus: boolean = false;\r\n\r\nloadFormWithIDData(data) {\r\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\r\n return data.main_applicant_details[key];\r\n});\r\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\r\n return data.co_applicant_details[key];\r\n});\r\n\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n relation_ans:new FormControl(item.relation_ans, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark: [data.personal_info_form_remark]\r\n });\r\n //console.log(this._personalForm);\r\n this.loadDataStatus = true;\r\n}\r\n\r\n loadFormData(mainApp,coApp){\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n \r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.coApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.coApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\r\n relation_id:new FormControl(5),\r\n relation_ans:new FormControl(null, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark:null\r\n });\r\n //console.log(this._personalForm);\r\nthis.loadDataStatus = true;\r\n }\r\n\r\n //get pd main applicant array values \r\n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\r\n\r\n // get pd co applicant array values\r\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\r\n\r\n // get relation master details\r\n getRelationMaster(){\r\n let relation =\"RELATIONSHIPS\";\r\n this.qustCat.getcommondrop(relation).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.relationShipList=data['records'];\r\n \r\n }\r\n}, error => this.errorMessage = error);\r\n}\r\n\r\n// submit forms details\r\nsubmitPersonalForm(formData:any) {\r\n if(this._personalForm.valid){\r\n let main_applicantDetails:any=[];\r\n let co_applicantDetails:any=[];\r\n\r\n formData.mainItem.forEach((element,key) => {\r\n if(key==0){\r\n main_applicantDetails.push({\r\n \"name_ans\":element.name_ans,\r\n \"age_ans\":element.age_ans,\r\n \"entity_ans\":element.entity_ans,\r\n \"qualification_ans\":element.qualification_ans,\r\n \"earning_ans\":element.earning_ans, \r\n })\r\n }\r\n \r\n });\r\n formData.coItem.forEach((Coelement,Cokey) => {\r\n co_applicantDetails.push({\r\n\r\n \"name_ans\":Coelement.name_ans,\r\n \"age_ans\":Coelement.age_ans,\r\n \"qualification_ans\":Coelement.qualification_ans,\r\n \"entity_ans\":Coelement.entity_ans,\r\n \"earning_ans\":Coelement.earning_ans, \r\n \"relation_ans\":Coelement.relation_ans, \r\n })\r\n \r\n });\r\n\r\n let save_details:any={\r\n \"pdid\" : this.pdDetails.pd_id,\r\n \"formid\" : '341',\r\n \"fk_createdby\":this.users,\r\n \"main_applicant_details\":main_applicantDetails,\r\n \"co_applicant_details\":co_applicantDetails,\r\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\r\n };\r\n console.log(save_details);\r\n this.qustCat.saveForm(save_details).subscribe(result => {\r\n if (result['dataStatus']==true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.notifier.notify('success', 'Success.');\r\n }\r\n else {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n }\r\n }, error => {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n });\r\n }\r\n}\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionRentalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-rental-info',\r\n templateUrl: 'pd-question-rental-info.html',\r\n})\r\nexport class PdQuestionRentalInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n FormId: any;\r\n rentalForms:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.rentalForms = this.fb.group(\r\n {\r\n person_met:[null,Validators.compose([Validators.required])],\r\n property_own:[null,Validators.compose([Validators.required])],\r\n nature_property:[null,Validators.compose([Validators.required])],\r\n nature_others:[null],\r\n rental_home:this.fb.array([])\r\n })\r\n this.getRentalDetails();\r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\r\n }\r\n\r\n createrentalHome()\r\n {\r\n return this.fb.group(\r\n {\r\n complete_add:[null,Validators.compose([Validators.required])],\r\n area_of_property:[null,Validators.compose([Validators.required])],\r\n structure_property:[null,Validators.compose([Validators.required])],\r\n total_room:[null,Validators.compose([Validators.required])],\r\n is_rent:[null,Validators.compose([Validators.required])],\r\n date_agreement:[null,Validators.compose([Validators.required])],\r\n date_validity:[null,Validators.compose([Validators.required])],\r\n rent_agreement:[null,Validators.compose([Validators.required])],\r\n actual_rent:[null,Validators.compose([Validators.required])],\r\n photo_areegment:[null,Validators.compose([Validators.required])],\r\n property_photographs:[null],\r\n bank:[null,Validators.compose([Validators.required])],\r\n cash:[null,Validators.compose([Validators.required])],\r\n rent_each_floor:[null,Validators.compose([Validators.required])],\r\n total_rent:[null,Validators.compose([Validators.required])],\r\n related_doc_owner:[null,Validators.compose([Validators.required])],\r\n details_tenants:this.fb.array([]),\r\n third_party_check:[null,Validators.compose([Validators.required])],\r\n })\r\n }\r\n\r\n createTenantsDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n name:[null,Validators.compose([Validators.required])],\r\n mobile_no:[null,Validators.compose([Validators.required])],\r\n tenants_seen:[null,Validators.compose([Validators.required])],\r\n tenants_con_owner:[null,Validators.compose([Validators.required])],\r\n rent_paid:[null,Validators.compose([Validators.required])],\r\n staying_since:[null,Validators.compose([Validators.required])],\r\n \r\n });\r\n }\r\n\r\n addrentalHome()\r\n {\r\n const control = this.rentalForms.get('rental_home') as FormArray;\r\n control.push(this.createrentalHome());\r\n this.addTenantsDetails(0);\r\n }\r\n\r\n addTenantsDetails(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\r\n \r\n // console.log(rent); \r\n console.log(control);\r\n // control.controls.splice(0);\r\n control.push(this.createTenantsDetails());\r\n\r\n }\r\n\r\n deleteTenantsDetails(rentIndex,TenantsIndex)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\r\n \r\n control.removeAt(TenantsIndex);\r\n }\r\n\r\n deleterentalHome(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n if(control.length==1)\r\n {\r\n this.rentalForms.controls['rental_home'].reset();\r\n }else\r\n {\r\n control.removeAt(i);\r\n }\r\n }\r\n saveRentalDetails(answerData)\r\n {\r\n //console.log(answerData);\r\n let records:any={}\r\n console.log(this.rentalForms.value);\r\n \r\n \r\n// if(this.rentalForms.valid){\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.person_met = answerData.person_met;\r\n records.property_own = answerData.property_own;\r\n records.nature_property = answerData.nature_property;\r\n if(answerData.nature_property=='others')\r\n {\r\n records.nature_others = answerData.nature_others\r\n }\r\n records.rental_home = answerData.rental_home;\r\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\r\n console.log('data',records);\r\n\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter All Field');\r\n // }\r\n }\r\n\r\n getRentalDetails()\r\n {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n let rentalDetails = res['records'];\r\n var rentalData = Object.keys(res['records'].rental_home\r\n ).map(function(key) {\r\n //console.log(res);\r\n return res['records'].rental_home\r\n [key];\r\n\r\n });\r\n var tanantsData = [];\r\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n var tanantscontrol; \r\n rentalData.forEach((val,index)=>\r\n {\r\n \r\n console.log(index);\r\n // console.log(val);\r\n // this.addrentalHome();\r\n console.log(control);\r\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\r\n // {\r\n \r\n \r\n // return val.details_tenants[key];\r\n // }));\r\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\r\n {\r\n \r\n \r\n return val.details_tenants[key];\r\n });\r\n control.push(this.createrentalHome()); \r\n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \r\n \r\n rentalData[index].details_tenants.forEach((val,key)=>\r\n {\r\n //rentalData[index].details_tenants = val;\r\n \r\n // rentalData[index].details_tenants = [key];\r\n tanantscontrol.push(this.createTenantsDetails());\r\n });\r\n \r\n // console.log(182,control.controls[index].get('details_tenants'));\r\n // control[index].details_tenants =tanantscontrol; \r\n });\r\n // console.log(rentalData);\r\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\r\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\r\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\r\n if(rentalDetails.nature_property=='others'){\r\n this.rentalForms.controls['nature_others'].\r\n setValue(rentalDetails.nature_others);\r\n }\r\n \r\n this.rentalForms.controls['rental_home'].setValue(rentalData); \r\n console.log(this.rentalForms); \r\n }else\r\n {\r\n this.addrentalHome();\r\n // this.addTenantsDetails(0);\r\n }\r\n })\r\n }\r\n createTenantsDetailswithData(index,data)\r\n {\r\n return this.fb.group(\r\n {\r\n name:[data.name],\r\n mobile_no:[data.mobile_no],\r\n tenants_seen:[data.tenants_seen],\r\n tenants_con_owner:[data.tenants_con_owner],\r\n rent_paid:[data.rent_paid],\r\n staying_since:[data.staying_since]\r\n });\r\n }\r\n\r\n validateAllFormFields(formGroup: any) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n \r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control);\r\n } else if (control instanceof FormArray) { \r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDashPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-dash',\r\n templateUrl: 'pd-question-assessed-dash.html',\r\n})\r\nexport class PdQuestionAssessedDashPage {\r\n\r\n businessIncome: boolean;\r\n grossAccess: boolean;\r\n finalAccess: boolean;\r\n finalExpense: any;\r\n finalIncome: any;\r\n finalData: any;\r\n houseExpenseData: boolean;\r\n businessData: boolean;\r\n salesData: boolean;\r\n purchaseData: boolean;\r\n grossprofit: any;\r\n assessedProcess: boolean;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n calc_type_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n mode:[null,Validators.compose([Validators.required])],\r\n margin:[null],\r\n fk_createdby:[this.users],\r\n fk_updatedby:[null],\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getassessedIncome(); \r\n }\r\n getViewPage(pageId)\r\n {\r\n\r\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\r\n }\r\n\r\n saveAssessedForm(answerData)\r\n {\r\n console.log(this.assessedForm.value);\r\n if(this.assessedForm.valid)\r\n {\r\n \r\n \r\n \r\n let records = {'records':this.assessedForm.value};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.getassessedIncome();\r\n }else\r\n {\r\n\r\n }\r\n })\r\n \r\n }\r\n }\r\n\r\n getassessedIncome()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.assessedProcess = true;\r\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\r\n if(res['records'].purchase_details.length !=0)\r\n {\r\n this.purchaseData = true;\r\n }\r\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)\r\n {\r\n this.salesData = true;\r\n }\r\n if(res['records'].business_expenses.length !=0)\r\n {\r\n this.businessData = true;\r\n }\r\n if(res['records'].house_hold_expenses.length !=0)\r\n {\r\n this.houseExpenseData = true;\r\n }\r\n if(res['records'].othre_business_income.length !=0)\r\n {\r\n this.businessIncome = true;\r\n }\r\n console.log(res['records'].final_data.length);\r\n if(res['records'].final_data.length !=0){\r\n this.finalAccess = true;\r\n this.finalData = res['records'].final_data[0]; \r\n this.finalIncome = this.finalData.income;\r\n this.finalExpense = this.finalData.expense; \r\n }\r\n console.log(this.grossprofit);\r\n if(this.grossprofit !==undefined)\r\n {\r\n this.grossAccess = true;\r\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\r\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\r\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\r\n }\r\n \r\n }else\r\n {\r\n this.assessedProcess = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { FormatWidth } from '@angular/common';\r\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-info',\r\n templateUrl: 'pd-question-assessed-info.html',\r\n})\r\nexport class PdQuestionAssessedInfoPage {\r\n\r\n busissnessIncome: any;\r\n mode: any;\r\n grossprofitCalc: any;\r\n houseHold_details: any;\r\n grandHouseExpenseTotal: any;\r\n houseannual: any=[];\r\n businessExpenses_details: any;\r\n grandExpenseTotal: any;\r\n expenseannual: any=[];\r\n businessExpenses: any;\r\n purchse_details: any;\r\n sales_item_month_value: any=[];\r\n sales_wise_month_headers:any = [];\r\n sales_month_wise_data:any = [];\r\n sales_item_value: any;\r\n grandpurchaseTotal: any=null;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n users: any;\r\n pageId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n FormName:any;\r\n annual:any = [];\r\n rawMaterialForm:FormGroup;\r\n BuissnessForm:FormGroup;\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pageId = this.navParams.get('pageId');\r\n\r\n switch(this.pageId)\r\n {\r\n case 1:\r\n this.FormName = \"Sales Page\";\r\n break;\r\n case 2:\r\n this.FormName = \"Purchase Page\";\r\n break;\r\n case 3:\r\n this.FormName = \"Business Expense Page\";\r\n break;\r\n case 4:\r\n this.FormName = \"House Hold Page\";\r\n break;\r\n default:\r\n this.FormName = \"Question Page\";\r\n break;\r\n }\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n sdc_id:[null],\r\n sales_declared_by_customer:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n margin_per:[null],\r\n margin_value:[null],\r\n isactive:[1],\r\n fk_createdby:[this.users],\r\n \r\n });\r\n \r\n \r\n \r\n \r\n // this.getdropList();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\r\n }\r\n\r\n\r\n \r\n \r\n\r\n ionViewDidEnter() {\r\n \r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getAssessedDetails(); \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n getMarginCalc()\r\n {\r\n let margin_per = this.assessedForm.controls['margin_per'].value;\r\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\r\n if(margin_per !=null && sales_declared_by_customer !=null)\r\n {\r\n let value = sales_declared_by_customer * (margin_per/100);\r\n this.assessedForm.controls['margin_value'].setValue(value);\r\n }\r\n }\r\n\r\n saveData(answerData)\r\n {\r\n let records:any = {};\r\n\r\n records ={'records':answerData};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\r\n {\r\n // console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.getAssessedDetails();\r\n }\r\n })\r\n }\r\n \r\n getAssessedDetails()\r\n {\r\n this.sales_item_month_value = [];\r\n this.sales_month_wise_data = [];\r\n this.sales_item_value= [];\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let sales_value = res['records'].sales_declared_by_customer[0];\r\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\r\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\r\n this.purchse_details = res['records'].purchase_details; \r\n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\r\n this.mode = this.grossprofitCalc.mode;\r\n console.log(this.grossprofitCalc);\r\n var result = this.purchse_details.reduce(function(p, c) {\r\n \r\n return p;\r\n },[]);\r\n console.log(result);\r\n\r\n\r\n this.businessExpenses_details = res['records'].business_expenses;\r\n this.houseHold_details = res['records'].house_hold_expenses;\r\n this.busissnessIncome = res['records'].othre_business_income;\r\n // console.log(this.sales_item_month_value);\r\n // this.getpurchaseDetails(this.purchse_details);\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\r\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\r\n let listItems: any=[];\r\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\r\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\r\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\r\n \r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\r\n });\r\n\r\n\r\n console.log(this.sales_month_wise_data);\r\n if(sales_value!==undefined){\r\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\r\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\r\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\r\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\r\n \r\n }\r\n \r\n }\r\n })\r\n\r\n }\r\n\r\n /**\r\n * Add Assessed Forms\r\n */\r\n\r\n AddAssessedForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n\r\n editDetails(salesCal)\r\n {\r\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n editAllDetails(AllsalesData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \r\n }\r\n\r\n /**Assessed Daily Form Details */\r\n\r\n AddAssessedDailyForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\r\n }\r\n editAssessedDailyForm(simId)\r\n {\r\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\r\n console.log(dailySaleDetails);\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\r\n \r\n }\r\n\r\n /**purchase Details Forms */\r\n AddPurchaseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \r\n \r\n }\r\n\r\n editPurchaseDetails(purchaseCal)\r\n {\r\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \r\n \r\n }\r\n editPurchaseAllDetails(AllpurchaseData)\r\n {\r\n console.log('260',AllpurchaseData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \r\n }\r\n \r\n\r\n /**Business Expense */\r\n AddExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editExpenseAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \r\n }\r\n \r\n\r\n /** Household Expenses Details */\r\n AddHouseExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editHouseExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editHouseExpenseAllDetails(AllExpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \r\n }\r\n\r\n /**\r\n * Income Details\r\n */\r\n AddIncomeForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \r\n \r\n }\r\n\r\n editIncomeDetails(expenseCal)\r\n {\r\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \r\n \r\n }\r\n editIncomeAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \r\n }\r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedSalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-sales',\r\n templateUrl: 'pd-question-assessed-sales.html',\r\n})\r\nexport class PdQuestionAssessedSalesPage {\r\n\r\n grossprofitCalc: any;\r\n salesData: any =[];\r\n annual: any=[];\r\n grandTotal: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n assessedForm: FormGroup;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n \r\n salesCalItemwise:this.fb.array([]),\r\n });\r\n this.salesData = this.navParams.get('sales');\r\n if(this.salesData!=null)\r\n {\r\n this.getSalesItemData(this.salesData);\r\n }else\r\n {\r\n this.addSalesCal();\r\n }\r\n // this.addSalesCal();\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n createSalesCal()\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n\r\n sales_item:[null,Validators.compose([Validators.required])],\r\n sales_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_sale_value:[null],\r\n margin_per:[null],\r\n margin_per_uom:[null],\r\n margin_final_value:[null],\r\n });\r\n }\r\n\r\n addSalesCal()\r\n {\r\n if(this.assessedForm.valid){\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n control.push(this.createSalesCal());\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the all fields');\r\n }\r\n }\r\n \r\n removeSalesCal(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n console.log(this.grandTotal);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(i);\r\n this.addSalesCal(); \r\n } else{\r\n control.removeAt(i);\r\n }\r\n }\r\n /**\r\n * frequency Type \r\n * 1.Weekly no need\r\n * 2.Daily 250\r\n * 3.Yearly \r\n * 4.Hourly no need\r\n * 5.Monthly 12\r\n * 6.none\r\n * 7.none\r\n * 8.none\r\n */\r\n salecalculat(index,details)\r\n {\r\n // console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let salesQty = details.value.sales_qty;\r\n let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,salesQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(salesQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (salesQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (salesQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (salesQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\r\n }\r\n \r\n \r\n \r\n \r\n console.log(this.annual);\r\n }\r\n\r\n getSalesCalc(details)\r\n {\r\n // console.log(details);\r\n let margin_per = details.value.margin_per;\r\n let margin_amount = details.value.margin_per_uom;\r\n let annual_sale_value = details.value.annual_sale_value;\r\n let sales_qty = details.value.sales_qty;\r\n // console.log(sales_qty,margin_amount);\r\n let value:any = '';\r\n if(margin_per !=null || margin_amount !=null){\r\n if(margin_per !=null)\r\n {\r\n value = +annual_sale_value * (+margin_per/100);\r\n }else\r\n {\r\n console.log('else');\r\n value = +sales_qty* +margin_amount;\r\n }\r\n console.log(value);\r\n details.controls['margin_final_value'].setValue(value);\r\n }\r\n }\r\n saveData(answerData)\r\n {\r\n let records = {'records':answerData.salesCalItemwise};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n }\r\n \r\n getSalesItemData(salesData)\r\n {\r\n console.log(salesData);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n\r\n salesData.forEach((sale,index)=>{\r\n \r\n this.annual[index] = sale.annual_sale_value\r\n control.push(this.createSaleswithData(sale));\r\n })\r\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\r\n // console.log(control);\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }\r\n\r\n createSaleswithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[data.sci_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\r\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_sale_value:[data.annual_sale_value],\r\n margin_per:[data.margin_per],\r\n margin_per_uom:[data.margin_per_uom],\r\n margin_final_value:[data.margin_final_value],\r\n });\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDailySalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-daily-sales',\r\n templateUrl: 'pd-question-assessed-daily-sales.html',\r\n})\r\nexport class PdQuestionAssessedDailySalesPage {\r\n\r\n currentDate: string;\r\n grossprofitCalc: any;\r\n salesDaily: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n salesDailyForm: FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.salesDaily = this.navParams.get('salesDaily');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\r\n console.log(this.currentDate);\r\n this.salesDailyForm = this.fb.group(\r\n {\r\n sales_product: this.fb.array([]),\r\n })\r\n if (this.salesDaily != null) {\r\n this.getDailySalesData(this.salesDaily);\r\n } else {\r\n this.adddailySalaesProduct();\r\n\r\n }\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\r\n }\r\n\r\n createdailysalesProduct() {\r\n return this.fb.group(\r\n {\r\n sim_id: [null],\r\n sales_item: [null, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n margin_per: [null],\r\n margin_value: [null],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n });\r\n }\r\n createdailyChildSaleProduct() {\r\n return this.fb.group({\r\n simc_id: [null],\r\n fk_sim_id: [null],\r\n sales_date: [null, Validators.compose([Validators.required])],\r\n sales_value: [null, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n }\r\n temparr = [];\r\n tempdate = [];\r\n getSalesCalc(subchild,child,key) {\r\n console.log(key);\r\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\r\n let totalitemmargin = child.value.margin_per;\r\n \r\n if (totalitemmargin != null && subchild.value.sales_value !=null) {\r\n let loopAccess = false;\r\n let loopindex = 0;\r\n if (this.tempdate.length != 0) {\r\n for (var i = 0; i < this.tempdate.length; i++) {\r\n\r\n if (this.tempdate[i].month == saledate) {\r\n loopAccess = true;\r\n loopindex = i;\r\n }\r\n }\r\n\r\n if (loopAccess) {\r\n\r\n // console.log(loopAccess,loopindex);\r\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\r\n this.temparr.push(subchild.value.sales_value);\r\n loopAccess = false;\r\n loopindex = 0;\r\n // console.log('merge');\r\n } else {\r\n // console.log(loopAccess,loopindex); \r\n // console.log('push');\r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n\r\n } else {\r\n // console.log('else')\r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\r\n this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n let totalMonth = 12 / this.tempdate.length;\r\n console.log(this.tempdate);\r\n\r\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\r\n console.log(tempgrandTotal);\r\n // let value = tempgrandTotal * (totalitemmargin / 100);\r\n let value = tempgrandTotal*totalMonth ;\r\n console.log(value);\r\n let grandValue = value * (totalitemmargin / 100);\r\n child.controls['margin_value'].setValue(grandValue);\r\n \r\n }\r\n \r\n }\r\n adddailySalaesProduct() {\r\n this.tempdate = [];\r\n if (this.salesDailyForm.valid) {\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n control.push(this.createdailysalesProduct());\r\n // console.log(control.length);\r\n this.adddailyChildSaleProduct(control.length - 1);\r\n }\r\n }\r\n adddailyChildSaleProduct(index) {\r\n // if(this.salesDailyForm.valid){\r\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\r\n\r\n control.push(this.createdailyChildSaleProduct());\r\n // }\r\n }\r\n\r\n deletedailySalesProduct(index) {\r\n console.log(index);\r\n this.tempdate.slice(index,1);\r\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\r\n if (control.length == 1) {\r\n this.salesDailyForm.controls['sales_product'].reset();\r\n } else {\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\r\n this.tempdate = [];\r\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(saleChildIndex);\r\n this.adddailyChildSaleProduct(saleIndex); \r\n }else{\r\n control.removeAt(saleChildIndex);\r\n }\r\n }\r\n saveData(answerData) {\r\n if (this.salesDailyForm.valid) {\r\n let records = { 'records': answerData.sales_product };\r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\r\n if (res['dataStatus'] == true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n getDailySalesData(dailySalesData) {\r\n console.log(dailySalesData);\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n let salesChildControl;\r\n let salesChildControlarr = [];\r\n dailySalesData.forEach((val, index) => {\r\n\r\n control.push(this.dailySalesWithData(val));\r\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\r\n\r\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\r\n\r\n salesChildControlarr[index].forEach((vals, i) => {\r\n vals.forEach((item, key) => {\r\n let saleDate = new Date(item.sales_date);\r\n\r\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\r\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\r\n })\r\n\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n dailySalesWithData(data) {\r\n\r\n return this.fb.group(\r\n {\r\n sim_id: [data.sim_id],\r\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n margin_per: [data.margin_per],\r\n margin_value: [data.margin_value],\r\n })\r\n }\r\n dailySalesChildWithData(data, fk_id) {\r\n\r\n\r\n return this.fb.group(\r\n {\r\n simc_id: [data.simc_id],\r\n fk_sim_id: [fk_id],\r\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\r\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedPurchasePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-purchase',\r\n templateUrl: 'pd-question-assessed-purchase.html',\r\n})\r\nexport class PdQuestionAssessedPurchasePage {\r\n purchaseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n businessExpenses: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n annual: any = [];\r\n grandpurchaseTotal: any;\r\n rawMaterialForm:FormGroup;\r\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.purchaseDetails = this.navParams.get('purchase');\r\n this.users = this.aws.getlocale();\r\n this.rawMaterialForm = this.fb.group(\r\n {\r\n purchase:this.fb.array([]),\r\n });\r\n if(this.purchaseDetails!=null)\r\n {\r\n this.getpurchaseDetails(this.purchaseDetails);\r\n }else\r\n {\r\n this.addPurchaseDetails();\r\n }\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\r\n }\r\n\r\n\r\n createPurchaseDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[null,Validators.compose([Validators.required])],\r\n purchase_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_purchase_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n }\r\n })\r\n }\r\n addPurchaseDetails()\r\n {\r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.push(this.createPurchaseDetails());\r\n }\r\n\r\n deletePurchaseDetails(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.removeAt(i); \r\n }\r\n\r\n\r\n salecalculat(index,details)\r\n {\r\n console.log(this.grandpurchaseTotal);\r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let purchaseQty = details.value.purchase_qty;\r\n let UOM = details.value.rate_per_unit;\r\n console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(purchaseQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (purchaseQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (purchaseQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (purchaseQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\r\n }\r\n }\r\n savepurchaseData(answerData)\r\n {\r\n if(this.rawMaterialForm.valid){\r\n let records = {'records':answerData.purchase};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.getAssessedDetails();\r\n \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getpurchaseDetails(purchaseDetails)\r\n {\r\n console.log('function in',purchaseDetails);\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \r\n console.log(control); \r\n if(purchaseDetails.length ==0)\r\n {\r\n console.log('if');\r\n this.addPurchaseDetails();\r\n }else{\r\n console.log('else');\r\n purchaseDetails.forEach((val,index)=>\r\n {\r\n // console.log(index);\r\n control.push(this.createPurchasewithData(val));\r\n this.annual[index] = val.annual_purchase_value;\r\n });\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\r\n }\r\n // console.log(control); \r\n \r\n }\r\n\r\n createPurchasewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[data.purchase_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\r\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business',\r\n templateUrl: 'pd-question-assessed-business.html',\r\n})\r\nexport class PdQuestionAssessedBusinessPage {\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n grandpurchaseTotal(arg0: any): any {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n grandExpenseTotal: any=[];\r\n expenseannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessExpenses:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busExpense:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\r\n }\r\n\r\n\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[null,Validators.compose([Validators.required])],\r\n expense_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_expenses_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.expenseannual.splice(i,1); \r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busExpensecalculat(index,details)\r\n {\r\n \r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n // console.log(answerData);\r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busExpense};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.expenseannual[index] = val.annual_expenses_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[data.pd_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\r\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedHouseholdPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-household',\r\n templateUrl: 'pd-question-assessed-household.html',\r\n})\r\nexport class PdQuestionAssessedHouseholdPage {\r\n\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n houseExpenseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n houseannual: any =[];\r\n grandHouseExpenseTotal: any=[];\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.houseExpenseDetails = this.navParams.get('FormId');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.houseHoldForm = this.fb.group(\r\n {\r\n houseExpense:this.fb.array([]),\r\n });\r\n if(this.expenseDetails !=null)\r\n {\r\n this.getHouseholdExpense(this.expenseDetails);\r\n }else\r\n {\r\n this.addHouseExpenses();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n createHouseExpense()\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[null],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [null,Validators.compose([Validators.required])],\r\n\t\t expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n\r\n addHouseExpenses()\r\n {\r\n \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n\r\n control.push(this.createHouseExpense());\r\n }\r\n\r\n deleteHouseExpense(i)\r\n {\r\n this.houseannual.splice(i,1); \r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n control.removeAt(i) \r\n }\r\n houseExpensecalculat(index,details)\r\n {\r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(details);\r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n console.log(this.grandHouseExpenseTotal); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n saveHouseExpenseData(answerData)\r\n {\r\n if(this.houseHoldForm.valid)\r\n {\r\n let records = {'records':answerData.houseExpense};\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n getHouseholdExpense(houseExpesneDetails)\r\n {\r\n if(houseExpesneDetails.length==0)\r\n {\r\n this.addHouseExpenses(); \r\n }else\r\n {\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \r\n houseExpesneDetails.forEach((val,index)=>\r\n {\r\n this.houseannual[index] = val.annual_expense_value;\r\n control.push(this.createHouseholdwithData(val));\r\n \r\n });\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createHouseholdwithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[data.household_expense_id],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\r\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business-income',\r\n templateUrl: 'pd-question-assessed-business-income.html',\r\n})\r\nexport class PdQuestionAssessedBusinessIncomePage {\r\n m_freqOfPurchase: any = [];\r\n expenseDetails: any;\r\n \r\n grandIncomeTotal: any=[];\r\n incomeannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessIncome:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('income');\r\n console.log(this.expenseDetails);\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busIncome:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\r\n }\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[null,Validators.compose([Validators.required])],\r\n income_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_income_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[null],\r\n other_frequncy_item:[null],\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.incomeannual.splice(i,1); \r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busIncomecalculate(index,details)\r\n {\r\n \r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let incomeValue = details.value.income_value;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual:any;\r\n if(incomeValue!=null && incomeValue !=null){\r\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \r\n if(frequencyId==1)\r\n {\r\n console.log(frequency_factor.mutiple_factor);\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==2)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==5)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==7)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==8)\r\n {\r\n annual = (incomeValue);\r\n this.incomeannual[index] = annual; \r\n details.controls['annual_income_value'].setValue(annual); \r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n // console.log(answerData);\r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busIncome};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.incomeannual[index] = val.annual_income_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[data.pd_business_income_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\r\n income_value:[data.income_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[data.other_income_item],\r\n other_frequncy_item:[data.other_frequncy_item],\r\n })\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionLenderRepresentativePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-lender-representative',\r\n templateUrl: 'pd-question-lender-representative.html',\r\n})\r\nexport class PdQuestionLenderRepresentativePage {\r\n\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n representativeForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.representativeForm = this.fb.group({\r\n pdid:[this.pdDetails.pd_id],\r\n formid:[this.FormId.form_id],\r\n fk_createdby:[this.users],\r\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\r\n representative_remarks: ['', Validators.compose([Validators.required])],\r\n lender_representative_details: this.fb.array([]),\r\n });\r\n this.getLenderReDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\r\n }\r\n \r\n createlenReDetails()\r\n {\r\n return this.fb.group({\r\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\r\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n selectedLoanChanges(e): void {\r\n if (e.value == 'Yes') {\r\n const control = this.representativeForm.controls['lender_representative_details'];\r\n control.push(this.createlenReDetails());\r\n } else if (e.value == 'No') {\r\n const arr = this.representativeForm.controls.lender_representative_details;\r\n arr.removeAt(0);\r\n }\r\n }\r\n\r\n sumbitData(answerData)\r\n { \r\n if(this.representativeForm.valid)\r\n {\r\n let records = this.representativeForm.value;\r\n \r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getLenderReDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let lenderReDetails = res['records'];\r\n if(lenderReDetails.lender_representative_accompany=='Yes'){\r\n\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n\r\n\r\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\r\n {\r\n return res['records'].lender_representative_details[key];\r\n });\r\n console.log(lender_represent_details);\r\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \r\n lender_represent_details.forEach(val=>\r\n {\r\n control.push(this.createlenReDetails());\r\n })\r\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\r\n\r\n }else\r\n {\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\r\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { DatePipe} from '@angular/common';\r\nimport {PdPipe} from './../../../pipes/pd/pd';\r\nimport { removeSummaryDuplicates } from '@angular/compiler';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-info',\r\n templateUrl: 'pd-question-general-info.html',\r\n providers:[PdPipe],\r\n})\r\nexport class PdQuestionGeneralInfoPage {\r\n pipe=new DatePipe('en-US');\r\n // person_name:any;\r\n qualification_name:any;\r\n individuals_order_id:any;\r\n is_new:any;\r\n pd_co_applicant_id:any;\r\n lengthv:any;\r\n qual_name:any;\r\n curr_qualification_name;\r\n curr_business_name;\r\n \r\n\r\n applicant_name: any;\r\n otherapp: any;\r\n fetch_related_details: any = [];\r\n checkApplicantExist: any;\r\n pd_applicants_details: any = [];\r\n companyRelationShipList: any;\r\n qualificationList:any;\r\n businessEntityTypeList:any;\r\n relationShipList: any;\r\n titleList:any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n generalForm:FormGroup;\r\n fulldata:any\r\n public buttonClick:boolean;\r\n public h_companies:boolean\r\n datav:any;\r\n individualsListBothCase:any;\r\n individualsList:any;\r\n companyList:any;\r\n i:number;\r\n data_all:any;\r\n maxDate:any;\r\n OldData:any=[];\r\n OldData_indi:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\r\n this.maxDate = new Date();\r\n // console.log(this.maxDate);\r\n this.pd_applicants_details = []; \r\n this.pd_applicants_details.pop(); \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n //console.log(\"Full pd\",this.pdDetails);\r\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\r\n //this.maxDate=new Date(get_max_date)\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n // console.log(this.pdDetails);\r\n this.users = this.aws.getlocale();\r\n this.getdropdown();\r\n \r\n this.generalForm = this.fb.group({\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n applicant_list: this.fb.array([]),\r\n applicant_relation: this.fb.array([]),\r\n list_value:this.fb.array([]),\r\n company_value:this.fb.array([]),\r\n individuals:this.fb.array([]),\r\n companies:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n company_with_relationships:this.fb.array([]),\r\n \r\n general_remark:''\r\n });\r\n \r\n //this.initIndividuals();\r\n this.pd_applicants_details = this.pdDetails.applicat_details;\r\n // console.log(this.pd_applicants_details);\r\n // console.log(this.pd_applicants_details);\r\n \r\n \r\n \r\n // this.getcoapplicantDetails();\r\n this.buttonClick=false;\r\n this.h_companies=false;\r\n // this.initCompanies()\r\n this.datav=[{\r\n name:\"fairoj\",\r\n id:1\r\n },\r\n {\r\n name:\"ff\",\r\n id:2\r\n }\r\n \r\n ]\r\n //this.fulldata=this.generalForm.value\r\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['list_value'];\r\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\r\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\r\n this.fulldata=control.value;\r\n //control.controls.length\r\n //control.push()\r\n // console.log(\"individualsListBothCase\",this.individualsListBothCase);\r\n });\r\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['company_value'];\r\n this.companyList=control.value.filter(element=>element.company_name )\r\n })\r\n this.i=0;\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n // this.pd_applicants_details.pop();\r\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\r\n this.getGeneralForm()\r\n }\r\n\r\n initlistv(data,purpose) :void\r\n {\r\n // console.log(\"full data length\",this.lengthv.individuals.length);\r\n //console.log(\"gne data\",data)\r\n const control=this.generalForm.controls['list_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[this.lengthv.individuals.length+1],\r\n is_new:true,\r\n is_active:true,\r\n pd_co_applicant_id:[this.lengthv.individuals.length+1], \r\n \r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n if(purpose=='get'){\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[val.individuals_order_id],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n pd_co_applicant_id:[val.pd_co_applicant_id] , \r\n \r\n \r\n \r\n \r\n\r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n}\r\n\r\n qualificationById(data):string{\r\n //console.log(\"qualification List\",this.qualificationList.length)\r\n //console.log(\"value\",data)\r\n console.log(\"qual List inside fun\",this.qualificationList);\r\n for(let i of this.qualificationList){\r\n if(data==i.qualification_id){\r\n this.qual_name=i.qualification_name\r\n //console.log(\"i\",this.qual_name)\r\n return this.qual_name\r\n }\r\n }\r\n \r\n }\r\n initCompanyValue(data,purpose):void{\r\n const control=this.generalForm.controls['company_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n \r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[this.lengthv.companies.length+1],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:true,\r\n is_active:true,\r\n company_messrs_name:['M/s'],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n if(purpose=='get')\r\n {\r\n for(let val of data)\r\n {\r\n \r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[val.company_order_id],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n company_messrs_name:[val.company_messrs_name],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n //console.log(\"finished company Value\");\r\n this.h_companies=false;\r\n }\r\n }\r\n }\r\n businessEntityById(val):string{\r\n //console.log(\"qualification List\",this.qualificationList.length)\r\n // console.log(\"value\",val)\r\n console.log(\"businessEntity List inside fun\",this.businessEntityTypeList)\r\n for(let v of this.businessEntityTypeList){\r\n if(val==v.business_entity_type_id){\r\n var name=v.business_entity_type_name\r\n // console.log(\"i\",v.business_entity_type_name)\r\n return name\r\n }\r\n }\r\n \r\n }\r\n \r\n\r\n initIndividuals():void{\r\n let formData : FormGroup=this.fb.group({\r\n applicant_name:['',Validators.required],\r\n is_person_met:false,\r\n is_applicant:false,\r\n age:['',Validators.required],\r\n qualification:['',Validators.required],\r\n course_name:[''],\r\n applicant_title_name:['']\r\n\r\n });\r\n \r\n const control=this.generalForm.controls['individuals'];\r\n control.controls=[]\r\n control.push(formData);\r\n \r\n \r\n }\r\n initCompanies():void{\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[''],\r\n is_company_applicant:false,\r\n business_entity_type:[''],\r\n business_entity_type_other:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_date_object:['']\r\n });\r\n const control=this.generalForm.controls['companies'];\r\n control.controls=[]\r\n control.push(formData)\r\n }\r\n initPersonRelationship(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[''],\r\n applicant_name:[''],\r\n relationship:[''],\r\n relation_to:[''],\r\n individuals_order_id:[this.lengthv.persons_with_relationships.length+1],\r\n \r\n });\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value)\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[val.pd_co_applicant_id],\r\n applicant_name:[val.applicant_name],\r\n relationship:[val.relationship],\r\n relation_to:[val.relation_to],\r\n });\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n initCompanyRelationShip(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[''],\r\n company_relationship:[''],\r\n relation_to_company:[''],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value){\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n company_relationship:[val.company_relationship],\r\n relation_to_company:[val.relation_to_company],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n add():void{\r\n \r\n this.initIndividuals();\r\n }\r\ndata:any;\r\ncart=[];\r\ndatajson:any;\r\ndataobj:any;\r\n\r\n addRec(v){\r\n //console.log(\"v\",v);\r\n if(v=='1')\r\n {\r\n this.buttonClick=!this.buttonClick;\r\n this.initIndividuals();\r\n }\r\n if(v=='2')\r\n {\r\n this.h_companies=!this.h_companies;\r\n this.initCompanies();\r\n }\r\n }\r\n \r\n delete(v):void{\r\n // const control=this.generalForm.controls['individuals'];\r\n //control.removeAt(i);\r\n //this.data=this.generalForm.value.individuals;\r\n /* console.log(\"Data First\",this.data);\r\n this.cart.push(this.generalForm.value.individuals);\r\n this.data=Object.assign(this.cart);\r\n console.log(\"Cart\",this.cart);\r\n // this.data=Object.assign(this.generalForm.value.individuals)\r\n this.datajson=JSON.stringify(this.cart)\r\n console.log(\"dataobj\",this.dataobj)\r\n console.log(\"data\",this.data);\r\n console.log(\"datajson\",this.datajson)*/\r\n if(v=='1')\r\n {\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initlistv(this.generalForm.value.individuals,'ins')\r\n this.initPersonRelationship('');\r\n }\r\n }\r\n else if(v=='2')\r\n {\r\n if(!this.generalForm.controls['companies'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initCompanyValue(this.generalForm.value.companies,'ins')\r\n }\r\n }\r\n \r\n }\r\n removeList(i,index){\r\n if(index=='1')\r\n {\r\n //For List List_value(Individuals)\r\n const control=this.generalForm.controls['list_value'];\r\n control.value[i].is_active=false;\r\n this.OldData_indi.push(control.value[i])\r\n control.removeAt(i);\r\n //For Person RelationShip auto Delete\r\n // const control1=this.generalForm.controls['persons_with_relationships'];\r\n //control1.removeAt(i);\r\n \r\n }\r\n if(index==2){\r\n //For Company_values(Companies)\r\n const control=this.generalForm.controls['company_value']\r\n control.value[i].is_active=false\r\n var vla=control.value[i]\r\n this.OldData.push(vla);\r\n //console.log(vla);\r\n //console.log(this.OldData);\r\n control.removeAt(i);\r\n \r\n\r\n // let control: any = this.generalForm.get('companies') as FormArray;\r\n //this.generalForm.controls['companies']\r\n //control.controls['is_active'].setValue(false);\r\n //control.controls[i].clearValidators();\r\n //control.controls[i].updateValueAndValidity();\r\n //control.clear\r\n // control.controls[i].is_active.setValue(false);\r\n /* control.controls[i].controls.company_name.clearValidators();\r\n control.controls[i].controls.company_name.updateValueAndValidity();\r\n control.controls[i].controls.business_years.clearValidators();\r\n control.controls[i].controls.business_years.updateValueAndValidity();\r\n control.controls[i].controls.business_entity_type.clearValidators();\r\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\r\n }\r\n if(index==\"companyrel\")\r\n {\r\n //For company_relationship\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.removeAt(i);\r\n }\r\n }\r\n \r\n \r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\r\n if(res['dataStatus']==true)\r\n {\r\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\r\n //console.log(\"qualificationList\",this.qualificationList)\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\r\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\r\n });\r\n\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.titleList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n }\r\n\r\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\r\n {\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n if(checkApplicantExist.length > 0)\r\n {\r\n checkApplicantExist.forEach(val => {\r\n applicantControl.push(this.createApplicant(val));\r\n });\r\n \r\n }\r\n if(exist_applicant_relation.length > 0){\r\n exist_applicant_relation.forEach(val => {\r\n // console.log(val);\r\n relationControl.push(this.createApplicantRelation(val));\r\n //push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }\r\n }\r\n\r\n createApplicant(elementValue:any){\r\n return this.fb.group({\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name],\r\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\r\n });\r\n }\r\n\r\n coapplicantChange(event,index,item)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n if(item.exist_status.value)\r\n {\r\n if(item.pd_co_applicant_id.value==0){\r\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\r\n modal.onDidDismiss(data => {\r\n if(data!=1){\r\n data.otherName.forEach(val=>\r\n {\r\n\r\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':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n \r\n }\r\n });\r\n modal.present();\r\n }else\r\n {\r\n \r\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':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(item.applicant_name.value);\r\n }\r\n }\r\n else\r\n {\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let pos_id = relationControl.value.map(e=> \r\n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\r\n // console.log(pos_id,item.pd_co_applicant_id.value);\r\n if(item.pd_co_applicant_id.value !=0){\r\n relationControl.removeAt(pos_id);\r\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\r\n this.fetch_related_details.splice(pos_name, 1); \r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n }\r\n // remove related to details\r\n \r\n }\r\n\r\n }\r\n\r\n createApplicantRelation(elementValue: any) {\r\n //console.log('function in 156'); \r\n return this.fb.group({\r\n \r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\r\n company_relationship: [elementValue.company_relationship],\r\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\r\n relationship: [elementValue.relationship],\r\n });\r\n }\r\n // temparr=[];\r\n removereferance(index)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n \r\n \r\n relationControl.removeAt(index);\r\n // this.temparr = [];\r\n \r\n }\r\n // createApplicateOthers()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // Name:\r\n // })\r\n // }\r\n ConvertMonthintoYearforBusiness(e,controlIndex){\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control = control.controls[controlIndex];\r\n let business_year = control.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n control.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\ngetDateObjects(values: any, controlIndex) {\r\n // console.log(\"Date Change Action\",values);\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control.controls['business_years']=''\r\n control.controls['business_month']=''\r\n control = control.controls[controlIndex];\r\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\r\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\r\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\r\n let diff: number = Math.floor(diffInMs / 1000);\r\n diff /= (60 * 60 * 24 * 30);\r\n diff=Math.abs(Math.round(diff));\r\n control.controls['business_years'].setValue(0);\r\n control.controls['business_month'].setValue(0);\r\n \r\n if(diff){\r\n control.controls['business_years'].setValue(Math.floor(diff / 12));\r\n control.controls['business_month'].setValue(Math.floor(diff % 12));\r\n }\r\n\r\n}\r\n submitData(answerData)\r\n {\r\n \r\n console.log(\"Answer\",answerData);\r\n let saveRecords:any={}\r\n var valuesData_indi:any=[]\r\n\r\n var valuesData:any=[]\r\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\r\n return answerData.list_value[key]\r\n })\r\n existData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n if(this.OldData_indi.length>0){\r\n this.OldData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n }\r\n\r\n var existData=Object.keys(answerData.company_value).map(function(key){\r\n return answerData.company_value[key]\r\n })\r\n existData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n if(this.OldData.length>0){\r\n this.OldData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n }\r\n \r\n saveRecords.individuals=valuesData_indi;\r\n saveRecords.companies=valuesData\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.fk_createdby=this.users;\r\n \r\n \r\n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\r\n saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.general_remark=answerData.general_remark;\r\n console.log(\"save Records\",saveRecords);\r\n \r\n \r\n \r\n //console.log(\"saveR\",saveRecords)\r\n //console.log(\"Save\",valuesData)\r\n \r\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\r\n if(dataResult['dataStatus']==true){\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n //console.log(\"Error\",)\r\n }\r\n })\r\n \r\n /* Old Data\r\n console.log(\"Answer Data\",answerData);\r\n if(this.generalForm.valid)\r\n {\r\n let saveRecords:any = {}\r\n let applicantList:any=[];\r\n let applicantRelationList:any=[];\r\n // this for applicant list for selected\r\n answerData.applicant_list.forEach((element,key) => {\r\n if(element.exist_status==1){\r\n applicantList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n }) \r\n }\r\n });\r\n // this is for selected applicant relation \r\n answerData.applicant_relation.forEach((element,key) => {\r\n applicantRelationList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n \"company_name\":element.company_name,\r\n \"company_relationship\":element.company_relationship,\r\n \"applicant_relation_to\":element.applicant_relation_to,\r\n \"relationship\":element.relationship,\r\n }) \r\n });\r\n \r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.general_remark=answerData.general_remark;\r\n saveRecords.selected_applicant=applicantList;\r\n saveRecords.applicant_relation=applicantRelationList;\r\n saveRecords.fk_createdby = this.users;\r\n console.log(saveRecords);\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n } \r\n })\r\n }*/\r\n }\r\n\r\n getGeneralForm()\r\n {\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n this.data_all=res['records'];\r\n var exist_companies:any;\r\n let companyControl = this.generalForm.get('companies') as FormArray;\r\n companyControl.controls=[]\r\n if(res['dataStatus']==true)\r\n {\r\n // console.log(\"Getting DAta\",res);\r\n \r\n this.lengthv=this.data_all;\r\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\r\n //console.log(\"1\")\r\n this.initlistv(this.data_all.individuals,'get')\r\n\r\n /* var arrlist_indi:any=[] \r\n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\r\n return res['records'].individuals[key];\r\n }) \r\n if(exist_individuals.length>0){\r\n exist_individuals.forEach((element)=>{\r\n if(element.is_active != false){\r\n arrlist_indi.push(element);\r\n }\r\n })\r\n }*/\r\n // console.log(\"2\")\r\n \r\n \r\n \r\n\r\n var arraylis:any=[]\r\n exist_companies=Object.keys(res['records'].companies).map(function(key){\r\n return res['records'].companies[key];\r\n })\r\n if(exist_companies.length>0){\r\n exist_companies.forEach((element,cindex)=>{\r\n if(element.is_active!=false){\r\n arraylis.push(element);\r\n }\r\n else{\r\n this.OldData.push(element);\r\n }\r\n })\r\n \r\n }\r\n //console.log(exist_companies);\r\n //console.log(\"Old Data\",this.OldData);\r\n this.initCompanyValue(arraylis,'get');\r\n // console.log(\"3\")\r\n \r\n if(this.data_all.persons_with_relationships != ''){\r\n // console.log(\"Entering personwithRelation\")\r\n this.initPersonRelationship(this.data_all.persons_with_relationships);\r\n //console.log(\"4\")\r\n }\r\n\r\n if(this.data_all.company_with_relationships != ''){\r\n this.initCompanyRelationShip(this.data_all.company_with_relationships);\r\n // console.log(\"5\")\r\n }\r\n \r\n }\r\n else{\r\n // console.log(\"Error\");\r\n }\r\n })\r\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n console.log('function in');\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n let generalDetails = res['records'];\r\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\r\n\r\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\r\n {\r\n console.log(key);\r\n return res['records'].applicant_relation[key];\r\n });\r\n\r\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\r\n {\r\n return res['records'].selected_applicant[key].pd_co_applicant_id;\r\n });\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\r\n let checkApplicantExist =actual_applicant.map((id, index) => {\r\n if (selected_applicant.indexOf(id) < 0) {\r\n this.pd_applicants_details[index].exist_status=0;\r\n return this.pd_applicants_details[index];\r\n }\r\n else{\r\n this.pd_applicants_details[index].exist_status=1;\r\n this.pd_applicants_details[index].applicant_relation_to='';\r\n this.pd_applicants_details[index].relation='';\r\n return this.pd_applicants_details[index];\r\n }\r\n }).filter(item => item != undefined);\r\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\r\n }else\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n }\r\n })*/\r\n }\r\n createCompanies(elementValue:any) {\r\n return this.fb.group({\r\n company_order_id: [elementValue.company_order_id],\r\n company_name: [elementValue.company_name,],\r\n company_messrs_name: ['M/s'],\r\n is_company_applicant:[elementValue.is_company_applicant],\r\n business_entity_type :[elementValue.business_entity_type,Validators.required],\r\n business_years: [elementValue.business_years, Validators.required],\r\n business_month: [elementValue.business_month],\r\n business_date_object: [elementValue.business_date_object],\r\n is_active: [elementValue.is_active],\r\n is_new:[elementValue.is_new],\r\n \r\n });\r\n }\r\n \r\n \r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-other-applicant',\r\n templateUrl: 'pd-question-general-other-applicant.html',\r\n})\r\nexport class PdQuestionGeneralOtherApplicantPage {\r\n otherForm:FormGroup;\r\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\r\n this.otherForm = this.fb.group(\r\n {\r\n otherName:this.fb.array([]),\r\n })\r\n this.addmore();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\r\n }\r\n\r\n createName(elementValue:any)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name, Validators.required],\r\n })\r\n }\r\n\r\n addmore()\r\n {\r\n if(this.otherForm.valid)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n control.push(this.createName(this.applicantInfo));\r\n }\r\n }\r\n\r\n deleteappdata(index)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n if(control.length==1){\r\n control.reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.viewCtrl.dismiss(1); \r\n }\r\n submitData(answerData)\r\n {\r\n if(this.otherForm.valid){\r\n this.viewCtrl.dismiss(this.otherForm.value);\r\n }\r\n }\r\n\r\n\r\n}\r\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';\r\n\r\n/**\r\n * Generated class for the PdPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'pdPipe',\r\n})\r\nexport class PdPipe implements PipeTransform {\r\n /**\r\n * Takes a value and makes it lowercase.\r\n */\r\n transform(value: any, searchItem:any):any {\r\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\r\n if(findExistIndex.length>0){\r\n let check = value.filter(function(fVal){\r\n return !findExistIndex.some(function(sVal){\r\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\r\n }\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionNeighbourHoodPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-neighbour-hood',\r\n templateUrl: 'pd-question-neighbour-hood.html',\r\n})\r\nexport class PdQuestionNeighbourHoodPage {\r\n\r\n frequency: any;\r\n relationBusiness: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n neighbourhoodForm:FormGroup;\r\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\r\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\r\n {'id': 2,'name': \"Negative\"},\r\n {'id': 3,'name': \"Insufficient information provided\"}];\r\n\r\n amtInWords:any=[];\r\n applicants:any;\r\n isDisplay:any = [];\r\n isDisplay2:any = [];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(\"Pd\",this.pdDetails)\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.neighbourhoodForm = this.fb.group(\r\n {\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n check_type:0,\r\n neighbourhood_list: this.fb.array([]),\r\n neighbourhood_status:[''],\r\n referencecheck_list: this.fb.array([]),\r\n neighbour_reference_remark:'' \r\n })\r\n // console.log(this.pdDetails);\r\n this.users = this.aws.getlocale();\r\n this.getneighbourhood();\r\n \r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionNeighbourHoodPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n inWords(val,i)\r\n {\r\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n }\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e,flag){\r\n if(flag == 2){\r\n\r\n let year = itemrow.controls.year_relation_applicant.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag == 1){\r\n \r\n let year = itemrow.controls.how_long_do_know_in_year.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\r\n }\r\n}\r\n\r\ntoggleVisibility(e,index,flag){ \r\n console.log(e,index);\r\n let val\r\n \r\n if(flag == 1){\r\n // console.log(\"val\",val);\r\n this.isDisplay[index] = e;\r\n }\r\n else if(flag==2){\r\n this.isDisplay2[index] = e;\r\n }\r\n}\r\n\r\ncheckOthers(values){\r\n console.log(\"check other value\",values)\r\n if(values!=null) {\r\n return values==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n createreferance()\r\n {\r\n return this.fb.group({\r\n reference_name: [null],\r\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n statecode:[null],\r\n landline: [null],\r\n location:[null],\r\n relationship_with:[null],\r\n others:[null],\r\n year_relation_applicant:[null],\r\n months_relation_applicant:[null],\r\n business_volume_amount:[null],\r\n business_volume_unit:[null],\r\n others_unit:[null],\r\n reference_final_remarks:[null],\r\n specify_final_remark:[null]\r\n });\r\n }\r\n addreferance()\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n control.push(this.createreferance());\r\n }\r\n\r\n removereferance(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n createNeighbourhood(){\r\n return this.fb.group({\r\n neighbourhood_name: [null],\r\n do_know: [''],\r\n \r\n how_long_do_know_in_year: [''],\r\n how_long_do_know_in_month:[''],\r\n organisation_owner: [''],\r\n is_applicant_owner:[''],\r\n other_organisation_owner:[''],\r\n did_not_know_the_business_operation:[''],\r\n did_not_know_the_owner:[''],\r\n });\r\n }\r\n\r\n addneighbourhood()\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n control.push(this.createNeighbourhood());\r\n }\r\n\r\n removeneighbourhood(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n submitData(answerData)\r\n {\r\n \r\n \r\n console.log(answerData);\r\n \r\n let saveRecords:any = {}\r\n let referencecheck_list:any=[];\r\n let neighbourhood_list:any=[];\r\n if(answerData.check_type==0){\r\n answerData.neighbourhood_list.forEach((element,key) => {\r\n neighbourhood_list.push({\r\n \"neighbourhood_name\":element.neighbourhood_name,\r\n \"do_know\":element.do_know,\r\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\r\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\r\n \"is_applicant_owner\":element.is_applicant_owner,\r\n \"organisation_owner\":element.organisation_owner,\r\n \"other_organisation_owner\":element.other_organisation_owner,\r\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\r\n \"did_not_know_the_owner\":element.did_not_know_the_owner\r\n }) \r\n });\r\n saveRecords.neighbourhood_list=neighbourhood_list;\r\n \r\n }\r\n else{\r\n // this for referencecheck_list for selected\r\n answerData.referencecheck_list.forEach((element,key) => {\r\n referencecheck_list.push({\r\n \"reference_name\":element.reference_name,\r\n \"mobile\":element.mobile,\r\n \"landline\":element.statecode+'-'+element.landline,\r\n \"location\":element.location,\r\n \"relationship_with\":element.relationship_with,\r\n \"others\":element.others,\r\n \"year_relation_applicant\":element.year_relation_applicant,\r\n \"months_relation_applicant\":element.months_relation_applicant,\r\n \"business_volume_amount\":element.business_volume_amount,\r\n \"business_volume_unit\":element.business_volume_unit,\r\n \"others_unit\":element.others_unit,\r\n \"reference_final_remarks\":element.reference_final_remarks,\r\n \"specify_final_remark\":element.specify_final_remark\r\n }) \r\n });\r\n saveRecords.referencecheck_list=referencecheck_list;\r\n \r\n }\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.check_type=answerData.check_type;\r\n saveRecords.fk_createdby = this.users;\r\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\r\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\r\n console.log(saveRecords);\r\n\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n \r\n }\r\n\r\n getneighbourhood()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \r\n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let neighbourDetails = res['records'];\r\n console.log(\"neighbour Status\",neighbourDetails)\r\n // neighbourDetails.neighbourhood_list.=''\r\n \r\n if(neighbourDetails.check_type==0)\r\n {\r\n \r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\r\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\r\n {\r\n return res['records'].neighbourhood_list[key];\r\n });\r\n console.log(\"data\")\r\n neighbourhood_list.forEach((element,index)=>\r\n {\r\n console.log(\"did_not Know\",element.did_not_know_the_business_operation)\r\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\r\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\r\n neicontrol.push(this.createNeighbourhood());\r\n });\r\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\r\n \r\n\r\n }else\r\n {\r\n this.addneighbourhood();\r\n }\r\n if(neighbourDetails.check_type==1)\r\n {\r\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\r\n {\r\n return res['records'].referencecheck_list[key];\r\n });\r\n console.log(referencecheck_list);\r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n referencecheck_list.forEach((val,index)=>\r\n {\r\n let statecodesearch = val.landline.search(\"-\");\r\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\r\n console.log(val);\r\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\r\n control.push(this.createreferance());\r\n this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\r\n });\r\n console.log(referencecheck_list);\r\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\r\n \r\n }else\r\n {\r\n this.addreferance();\r\n }\r\n }else\r\n {\r\n this.addneighbourhood();\r\n this.addreferance();\r\n }\r\n })\r\n }\r\n\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,Validators} from '@angular/forms';\r\n// import { t } from '@angular/core/src/render3';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionFinalRemarkPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-final-remark',\r\n templateUrl: 'pd-question-final-remark.html',\r\n})\r\nexport class PdQuestionFinalRemarkPage {\r\n\r\n m_remarkTypeCustomerBehaviour:any=[];\r\n\r\n users:any;\r\n pdDetails:any;\r\n pdid:any;\r\n FormId:any;\r\n _finalRemarkForm:FormGroup;\r\n m_recommendationList: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=aws.getlocale()\r\n console.log(\"form Id\",this.FormId);\r\n \r\n this._finalRemarkForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId.form_id],\r\n final_custormer_remark_type:[null],\r\n final_other_customer_behaviour:[null],\r\n is_service_provided:[null],\r\n final_form_remarks:[null],\r\n pd_officers_recommendation:[null],\r\n others_pd_officers_recommendation:[''],\r\n enter_reason_for_negative:[''],\r\n enter_reason_for_refer_to_credit:[''],\r\n \r\n })\r\n this.getDropDown();\r\n this.getFinalRemark();\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\r\n // console.log(\"drop\",res);\r\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\r\n })\r\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\r\n this.m_recommendationList=res['records']\r\n })\r\n}\r\nRecommendationChange(e){\r\n\r\n console.log('e',e);\r\n if(e==1){\r\n console.log('other only',e);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValue('');\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue('');\r\n }\r\n if(e==2){\r\n console.log('all Validation clear ',e);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n \r\n this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValue('');\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue('');\r\n\r\n }\r\n if(e==3){\r\n console.log('negative only',e);\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValue('');\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n if(e==4){\r\n console.log('credit only',e);\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['enter_reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].setValue('');\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].clearValidators();\r\n this._finalRemarkForm.controls['enter_reason_for_negative'].updateValueAndValidity();\r\n }\r\n}\r\n\r\n getFinalRemark(){\r\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\r\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n console.log(\"Data get\",data['records'])\r\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\r\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\r\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\r\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\r\n }\r\n })\r\n }\r\n saveFinalRemark(){\r\n if(this._finalRemarkForm.invalid){\r\n return\r\n }\r\n else{\r\n var answerData=this._finalRemarkForm.value\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n console.log(JSON.stringify(answerData));\r\n this.qustcat.saveForm(answerData).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessGroupPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-group',\r\n templateUrl: 'pd-question-business-group.html',\r\n})\r\nexport class PdQuestionBusinessGroupPage {\r\n \r\n FormId: any;\r\n pdDetails: any = [];\r\n existCompanyList: any = [];\r\n waitLoading:boolean;\r\n\r\n constructor(public navCtrl: NavController, \r\n public navParams: NavParams,\r\n public qustCat:QuestionCategoryProvider){\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.getCompanyListForBusiness();\r\n\r\n }\r\n \r\n /** To Get General Form's Company List */\r\n getCompanyListForBusiness(): void{\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList = data.records.filter(val =>val.is_active);\r\n this.waitLoading = true;\r\n }\r\n else {\r\n this.waitLoading = false;\r\n }\r\n })\r\n }\r\n\r\n /** To Get Related Form Details */\r\n OnSelectBusinessGroupForms(details: any, company: any) {\r\n \r\n this.pdDetails.company_id = company.company_order_id;\r\n this.pdDetails.company_name = company.company_name;\r\n this.pdDetails.business_entity_type = company.business_entity_type;\r\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\r\n this.pdDetails.business_years = company.business_years;\r\n this.pdDetails.business_month = company.business_month;\r\n \r\n if(details.form_id==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==2){\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==11){\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==13){\r\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==14){\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==15){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==21){\r\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n if(details.form_id==22){\r\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n // console.log(\"form_id\",details.form_id)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { createPipe } from '@angular/compiler/src/core';\r\nimport { elementAt } from 'rxjs/operators';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-info',\r\n templateUrl: 'pd-question-business-info.html',\r\n})\r\nexport class PdQuestionBusinessInfoPage {\r\n stateList:any=[];\r\n users: any;formdetails:any;\r\n FormId: any;\r\n pdDetails: any;\r\n businessForm:FormGroup;\r\n applicants:any=[];\r\n businessEntityTypeList: any ={\r\n business_entity_type_id:String,\r\n business_entity_type_name:String,\r\n sourcsection_labeleName:String\r\n }; \r\n generalExistEntityType:string\r\n generalExistEntityType_other:string;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n pdid:any;\r\n step:number\r\n\r\n relationData: any = [];\r\n industryData: any = [];\r\n activityData: any = [];\r\n relativeNames: any;\r\n companyRelationShipList:any=[]\r\n countryDataList:any=[]\r\n exist_status:any;\r\n \r\n filterCityList : any = [];\r\n errorMessage:any=[];\r\n appxSalaryAmtInwords:any;\r\n titleData:any=[]\r\n personsList:any=[]\r\n \r\n ManufacturingChecked: boolean;\r\n RetailedChecked: boolean;\r\n WholeSalesChecked: boolean;\r\n ServiceChecked: boolean;\r\n ExportFlag: boolean=false;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.getStateCityDet();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n console.log(\"pdails\",this.pdDetails)\r\n this.formdetails = this.navParams.get('formDetails');\r\n console.log(this.formdetails)\r\n this.FormId = this.formdetails.form_id;\r\n this.users = this.aws.getlocale();\r\n //console.log(\"pd\",this.pdDetails);\r\n this.applicants=this.pdDetails.applicat_details;\r\n console.log(\"Applicants\",this.applicants)\r\n this.generalExistEntityType=this.pdDetails.business_entity_type\r\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\r\n this.generalExistBusinessYear=this.pdDetails.business_years\r\n this.step=0\r\n \r\n \r\n \r\n // this.initBusinessForm();\r\n // this.getBuisnessDetails();\r\n \r\n this.businessForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId],\r\n company_id: this.pdDetails.company_id,\r\n partners:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n select_business_activity_type:this.fb.array([]),\r\n manufacturing_activity_details:this.fb.array([]),\r\n retail_trading_activity_details:this.fb.array([]),\r\n wholesale_trading_activity_details:this.fb.array([]),\r\n service_provider_activity_details:this.fb.array([]),\r\n others_activity_details:this.fb.array([]),\r\n export_sale_of_total_sales:[''],\r\n //applicant_use_mobile_wallets:[''],\r\n //applicant_use_pos_machines:[''],\r\n seasonality:[''],\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n employees_appx_salary:[''],\r\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n shop_eat_act_cert: [''],\r\n gst_Regn_cert: [''],\r\n //export_import_cert: [''],\r\n // factory_cert: [''],\r\n //practice_cert: [''],\r\n pf_regn: [''],\r\n esic_regn: [''],\r\n other_documents: [''],\r\n documents: this.fb.array([]),\r\n business_remarks:['']\r\n\r\n\r\n\r\n \r\n })\r\n this.getdropdown();\r\n \r\n// this.initBusinessForm();\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\r\n \r\n \r\n \r\n }\r\n getdropdown() {\r\n \r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\r\n // console.log('data', data);\r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.relationData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\r\n // console.log('data', data);\r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.industryData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\r\n // console.log('data', data);\r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.activityData.push(val);\r\n }\r\n })\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\r\n let filterList=data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\r\n this.businessEntityTypeList.business_entity_type_id=filterList[0].business_entity_type_id==1;\r\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\r\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\r\n\r\n\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\r\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n \r\n // console.log(\"stateList first\",this.stateList);\r\n \r\n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\r\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\r\n //console.log(\"countryDataList\",this.countryDataList)\r\n });\r\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\r\n this.titleData=data['records'].filter(val=>val.isactive==1);\r\n })\r\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\r\n if(data.dataStatus){\r\n console.log(\"Person List\",data)\r\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\r\n console.log(\"Person List\",this.personsList)\r\n }\r\n })\r\n \r\n}\r\ngetStateCityDet(){\r\nthis.qustCat.getStateCityDetails().subscribe(data=>{\r\n \r\n // console.log(\"data first23\",data.records) \r\n this.stateList=data.records\r\n // console.log(\"stateListFun\",this.stateList)\r\n this.getDetails();\r\n });\r\n \r\n \r\n}\r\n getDetails(){\r\n // console.log(\"get State\",this.stateList);\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = 13\r\n params.company_id = this.pdDetails.company_id;\r\n this.qustCat.retiverForm(params).subscribe(data=>{\r\n let businessVal=data['records']\r\n let constVal: any;\r\n // console.log(\"datavalue\",businessVal)\r\n \r\n const Partnr:any = this.businessForm.controls['partners'];\r\n \r\n const control1:any = this.businessForm.controls['persons_with_relationships'];\r\n \r\n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\r\n \r\n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\r\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\r\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\r\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\r\n const othersControl:any=this.businessForm.controls['others_activity_details'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n //retailControl.push(this.manufactureDetails());\r\n //manufacture_details.push(this.manufactureDetails())\r\n // console.log(\"Manufacture\",manufacture_details);\r\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\r\n //india_sales.push(this.indiaSalesDone())\r\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\r\n // country_sale.push(this.createCountrySale());\r\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\r\n //max_sale_state.push(this.maxSaleState())\r\n\r\n if(data['status']==200){\r\n let DocArray: any;\r\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\r\n return data['records'].partners[key];\r\n })\r\n // console.log(\"PartnrArray\",PartnrArray)\r\n if(PartnrArray.length==0){\r\n Partnr.push(this.createPartners())\r\n }\r\n else{\r\n PartnrArray.forEach((datas,key) => {\r\n Partnr.push(this.createPartners());\r\n if(datas.partner_name=='Others') {\r\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\r\n }\r\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\r\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else {\r\n Partnr.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n });\r\n }\r\n if(data['records'].persons_with_relationships){\r\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\r\n return data['records'].persons_with_relationships[key];\r\n })\r\n if(PartnrArray1.length>0){\r\n PartnrArray1.forEach((datas,key)=>{\r\n control1.push(this.createRelationShip());\r\n })\r\n businessVal.persons_with_relationships=PartnrArray1\r\n \r\n }\r\n else{\r\n //control1.push(this.createRelationShip());\r\n businessVal.persons_with_relationships=[]\r\n }\r\n }\r\n else{\r\n businessVal.persons_with_relationships=[]\r\n \r\n }\r\n \r\n\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n businessVal.pdid = this.pdid;\r\n businessVal.formid = 13;\r\n businessVal.company_id = this.pdDetails.company_id;\r\n businessVal.fk_createdby = this.users;\r\n //businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n // businessVal.persons_with_relationships=PartnrArray1\r\n businessVal.documents=DocArray\r\n \r\n if(businessVal.employees_appx_salary){\r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\r\n }\r\n \r\n console.log(\"pa\",this.businessForm.controls['partners']['controls'])\r\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\r\n // this.businessForm.setValue(businessVal);\r\n //this.businessForm.value.seasonality\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\r\n let exist_activity_data: any=[];\r\n if(data['records'].select_business_activity_type){\r\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\r\n return data['records'].select_business_activity_type[key].type_of_activity_id;\r\n });\r\n }\r\n \r\n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\r\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\r\n if (exist_activity_data.indexOf(id) < 0) {\r\n activityData[index].exist_status=0;\r\n return activityData[index];\r\n }\r\n else{\r\n activityData[index].exist_status=1;\r\n return activityData[index];\r\n }\r\n }).filter(item => item != undefined);\r\n // console.log(\"exist act\",exist_activity_data);\r\n // console.log('activityData',activityData)\r\n // console.log(this.businessForm.controls['select_business_activity_type'])\r\n if(check_exist_businees_activity.length > 0)\r\n {\r\n check_exist_businees_activity.forEach((val,index) => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\r\n \r\n });\r\n // console.log(\"exist business act\",check_exist_businees_activity)\r\n businessVal.select_business_activity_type=check_exist_businees_activity;\r\n }\r\n // business_activity.push(this.createBusinessActivity())\r\n \r\n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\r\n // console.log(\"Entering Manufacture Details\");\r\n if(data['records'].manufacturing_activity_details){\r\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\r\n return data['records'].manufacturing_activity_details[key];\r\n });\r\n if(selectedManufacturing.length>0){\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n \r\n selectedManufacturing.forEach((element,index)=>{\r\n manufacture_details.push(this.manufactureDetails())\r\n if(element.area_of_sale=='Within India'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n })\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n \r\n }\r\n });\r\n businessVal.manufacturing_activity_details=selectedManufacturing;\r\n // console.log(\"data\")\r\n \r\n }\r\n else{\r\n // console.log(\"no data \")\r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n }\r\n else{\r\n // console.log(\"no data last\")\r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n // console.log(\"exit\")\r\n if(data['records'].retail_trading_activity_details){ \r\n\r\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\r\n return data['records'].retail_trading_activity_details[key];\r\n });\r\n if(selectedRetail.length > 0) {\r\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedRetail.forEach((element,index)=>{\r\n retailControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n });\r\n businessVal.retail_trading_activity_details=selectedRetail;\r\n }\r\n else{\r\n businessVal.retail_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.retail_trading_activity_details=[];\r\n }\r\n console.log(\"retail finish\")\r\n\r\n // update whole sale details\r\n if(data['records'].wholesale_trading_activity_details){ \r\n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\r\n return data['records'].wholesale_trading_activity_details[key];\r\n });\r\n if(selectedWholesale.length > 0) {\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedWholesale.forEach((element,index)=>{\r\n wholesaleControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n \r\n });\r\n businessVal.wholesale_trading_activity_details=selectedWholesale;\r\n }\r\n else{\r\n businessVal.wholesale_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.wholesale_trading_activity_details=[];\r\n\r\n } \r\n console.log(\"whole Sale finish\")\r\n \r\n if(data['records'].service_provider_activity_details){\r\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\r\n return data['records'].service_provider_activity_details[key];\r\n })\r\n if(selectedService.length > 0) {\r\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n \r\n selectedService.forEach((element,index)=>{\r\n \r\n serviceProviderControl.push(this.manufactureDetails());\r\n \r\n if(element.area_of_sale=='Within India'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n \r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n\r\n \r\n }\r\n });\r\n // console.log(\"data\",selectedService)\r\n businessVal.service_provider_activity_details=selectedService;\r\n \r\n }\r\n else{\r\n businessVal.service_provider_activity_details=[];\r\n console.log(\"no data\")\r\n } \r\n }\r\n else {\r\n businessVal.service_provider_activity_details=[];\r\n\r\n }\r\n console.log(\"Service finish\")\r\n if(data['records'].others_activity_details){ \r\n\r\n // update others activity details\r\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\r\n return data['records'].others_activity_details[key];\r\n });\r\n if(selectedOthers.length > 0) {\r\n selectedOthers.forEach((element,index)=>{\r\n othersControl.push(this.createOthersActivity());\r\n });\r\n businessVal.others_activity_details=selectedOthers;\r\n }\r\n else{\r\n businessVal.others_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.others_activity_details=[];\r\n\r\n } \r\n console.log(\"Others finish\")\r\n // dynamically add form group control\r\n if(data['dataStatus']){\r\n \r\n if(data['records'].seasonality.toUpperCase()=='YES'){\r\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\r\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\r\n\r\n } \r\n\r\n console.log(\"Seasonality\");\r\n console.log('businessVal',businessVal)\r\n // this.businessForm.controls['partners'].setValue(PartnrArray);\r\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\r\n \r\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\r\n console.log(\"inserting..\")\r\n \r\n this.businessForm.setValue(businessVal);\r\n console.log(\"Finish\")\r\n \r\n }\r\n else{\r\n Partnr.push(this.createPartners());\r\n control1.push(this.createRelationShip())\r\n \r\n //otherDoc.push(this.createDocument());\r\n\r\n // find business activity type businees activity type list\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\r\n if(activityData.length > 0)\r\n {\r\n activityData.forEach(val => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n });\r\n }\r\n\r\n }\r\n})\r\n // change business sessional\r\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\r\n });\r\n // console.log(\"getDetails exit\")\r\n \r\n }\r\n\r\n filterCity(datasource: any,filterid:number) {\r\n //console.log(\"datasource\",datasource)\r\n // console.log(\"Filter Id\",filterid)\r\n //console.log(\"State List\" ,this.stateList)\r\n \r\n if(filterid){\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n return filter.length > 0 ? filter[0].cities : [];\r\n }\r\n}\r\n\r\n // filter max sale options\r\n filterMaxSaleState(datasource: any,filterValues:any){\r\n this.filterCityList = filterValues;\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\r\n let setStateFilter: any=[];\r\n setStateFilter = getStateValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n return datasource[findIndex];\r\n });\r\n return setStateFilter.length > 0 ? setStateFilter : [];\r\n }\r\n }\r\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \r\n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\r\n existCities = [].concat.apply([], existCities);\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n \r\n let setCityFilter = filterValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n findIndex = datasource[findIndex].cities;\r\n return findIndex;\r\n });\r\n \r\n let merged = [].concat.apply([], setCityFilter);\r\n // console.log(merged)\r\n if(merged.length>0){\r\n let check: any = merged.filter(function(fVal){\r\n return existCities.some(function(sVal){\r\n return fVal.city_id==sVal;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n else {\r\n return [];\r\n }\r\n}\r\n\r\n\r\ncheckTotalEmployee(FormData){\r\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\r\n }\r\n checkWithExistBusinessYear(e,i){\r\n if(e > this.generalExistBusinessYear){\r\n this.errorMessage[i] = \"Higher than Business Vintage\";\r\n }\r\n else{\r\n this.errorMessage[i] = '';\r\n }\r\n }\r\n\r\n// businees activity type change event\r\nchangeBusinessActivity(event: any){\r\n \r\n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.controls = [];\r\n manufacturingControl.setValue([]); \r\n console.log(\"true\");\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n \r\n \r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.controls = [];\r\n retailControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.controls = [];\r\n wholesaleControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.controls = [];\r\n serviceControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.controls = [];\r\n othersControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // check activity type for make dosument sighted filed dynamically\r\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');\r\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');\r\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');\r\n // check activity for extra question make dynamic\r\n \r\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');\r\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');\r\n\r\n if(this.ManufacturingChecked && this.RetailedChecked && this.WholeSalesChecked && this.ServiceChecked){\r\n this.ExportFlag = false;\r\n }\r\n}\r\n\r\n\r\nchangeManufacturingAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n // change retail options\r\n changeRetailAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n// change whole options\r\nchangeWholesaleAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n// change service provider \r\nchangeServiceArea(getDetails: any, getIndex) {\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n\r\nchangePanIndiaOptions(type,selectedIndex,value) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n console.log(\"clicked yes\");\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==3){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==4){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n}\r\n\r\n // update partner group other form control\r\n changePartnerGroup(value,key) {\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\r\n }\r\n\r\n createDesignation(): FormGroup {\r\n return this.fb.group({\r\n sec_name: ['', Validators.compose([Validators.required])],\r\n sec_designation: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n getWorkExperience(event, key) {\r\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\r\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n if(total_experience > current_experience) {\r\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else if(total_experience < current_experience) {\r\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n\r\n else {\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n // let total ;\r\n // if(control.length > 0){\r\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\r\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\r\n // this.businessForm.controls.business_years.updateValueAndValidity();\r\n // }\r\n}\r\nConvertMonthintoYear(itemrow,e){\r\n\r\n let year = itemrow.controls.current_business_experiance_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n\r\n\r\n\r\ncreatePartners(): FormGroup {\r\n return this.fb.group({\r\n partner_name: ['', Validators.compose([Validators.required])],\r\n // partner_other_name:[''],\r\n shareholding:[''],\r\n started_business:[''],\r\n current_business_experiance_year:[''],\r\n current_business_experiance_month:[''],\r\n total_business_experiance:[''],\r\n total_business_previous_experience:['']\r\n /* shareholding: ['', Validators.compose([Validators.required])],\r\n current_business_experiance: ['', Validators.compose([Validators.required])],\r\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\r\n });\r\n}\r\ncreateRelationShip(): FormGroup {\r\n return this.fb.group({\r\n family_member_salutation:[''],\r\n family_member_name:[''],\r\n other_family_relationship_id:[''],\r\n relation_to_id:[''],\r\n relationship_with_company_id:[''],\r\n started_business:['']\r\n });\r\n}\r\ncreateBusinessActivity(details):FormGroup {\r\n return this.fb.group({\r\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\r\n name: [details.name, Validators.compose([Validators.required])],\r\n exist_status:[details.exist_status==1 ? true : false]\r\n });\r\n}\r\ncreateServiceActivity(): FormGroup {\r\n return this.fb.group({\r\n main_products: ['', Validators.compose([Validators.required])],\r\n area_of_sale: ['', Validators.compose([Validators.required])],\r\n description: ['']\r\n });\r\n}\r\ncreateOthersActivity(): FormGroup {\r\n return this.fb.group({\r\n others_details: ['', Validators.compose([Validators.required])]\r\n });\r\n}\r\nmanufactureDetails():FormGroup{\r\n return this.fb.group({\r\n main_products:[''],\r\n area_of_sale:[''],\r\n description:['']\r\n // pan_india_options:[''],\r\n // india_where_sale_done:this.fb.array([]),\r\n //max_sale_state_name:this.fb.array([]),\r\n //countries_where_export_done:this.fb.array([])\r\n })\r\n}\r\nindiaSalesDone():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\nmaxSaleState():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\ncreateDocument() {\r\n return this.fb.group({\r\n document: ['']\r\n });\r\n}\r\naddDesignation() {\r\n const control = this.businessForm.controls['designation'];\r\n control.push(this.createDesignation());\r\n}\r\ndeleteDesignation(index) {\r\n const control = this.businessForm.controls['designation'];\r\n if(control.length==1){\r\n this.businessForm.controls['designation'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddPartnerDetails(event) {\r\n const control = this.businessForm.controls['partners'];\r\n event.stopPropagation()\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createPartners());\r\n}\r\naddPersonRelationship(event){\r\n event.stopPropagation()\r\n const control=this.businessForm.controls['persons_with_relationships']\r\n let length=control.length\r\n this.step=length\r\n control.push(this.createRelationShip());\r\n}\r\ndeletePersonRelationship(index){\r\n const control=this.businessForm.controls['persons_with_relationships'];\r\n control.removeAt(index)\r\n}\r\ndeletePartnerDetails(index) {\r\n const control = this.businessForm.controls['partners'];\r\n if(control.length==1){\r\n this.businessForm.controls['partners'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddMoreManufacturing() {\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n}\r\naddMoreRetail(){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n}\r\naddMoreWholesale() {\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n}\r\ncreateCountrySale() {\r\n return this.fb.group({\r\n country_name: ['',Validators.compose([Validators.required])],\r\n approx_sale: ['', Validators.compose([Validators.required])]\r\n }); \r\n}\r\n\r\naddMoreState(mindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n \r\n\r\n}\r\nremoveState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n\r\naddRetailMoreState(rindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n}\r\nremoveRetailState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n// add more whole sale state\r\naddWholesaleMoreState(windex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n\r\n}\r\n// remove for whole sale\r\nremoveWholesaleState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n // add more service provider\r\n addServiceMoreState(sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n }\r\n addMoreServiceprovider() {\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n addMoreOthersActivity(){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // remove service provider\r\n\r\nremoveServiceState(mindex,sindex,type){\r\n if(type==1){\r\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\r\n control1.removeAt(sindex)\r\n }\r\n}\r\naddDocuments() {\r\n const control = this.businessForm.controls['documents'];\r\n control.push(this.createDocument());\r\n}\r\ndeleteDocuments(index) {\r\n const control = this.businessForm.controls['documents'];\r\n if(control.length==1){\r\n this.businessForm.controls['documents'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\n\r\nrelationChanged(event) {\r\n this.relativeNames = [];\r\n event.value.forEach(option => {\r\n this.relativeNames.push({member: option});\r\n });\r\n}\r\n\r\n public initBusinessForm(): void {\r\n this.businessForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId.form_id,\r\n fk_createdby: this.users,\r\n profession_name: ['', Validators.compose([Validators.required])],\r\n business_years: ['', Validators.compose([Validators.required])],\r\n industry: ['', Validators.compose([Validators.required])],\r\n type_of_activity: ['', Validators.compose([Validators.required])],\r\n seasonality: ['', Validators.compose([Validators.required])],\r\n designation: this.fb.array([]),\r\n partners: this.fb.array([]),\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n officer_permanent: ['', Validators.compose([Validators.required])],\r\n officer_temporary: ['', Validators.compose([Validators.required])],\r\n invested_amount: ['', Validators.compose([Validators.required])],\r\n working_capital: ['', Validators.compose([Validators.required])],\r\n is_service_provided: ['', Validators.compose([Validators.required])],\r\n ownership_setup: ['', Validators.compose([Validators.required])],\r\n ownership_others: [''],\r\n rent_paid: [''],\r\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\r\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\r\n export_import_cert: ['', Validators.compose([Validators.required])],\r\n factory_cert: ['', Validators.compose([Validators.required])],\r\n practice_cert: ['', Validators.compose([Validators.required])],\r\n pf_regn: ['', Validators.compose([Validators.required])],\r\n esic_regn: ['', Validators.compose([Validators.required])],\r\n other_documents: ['', Validators.compose([Validators.required])],\r\n documents: this.fb.array([]),\r\n business_remarks: ['', Validators.compose([Validators.required])],\r\n who_started: ['', Validators.compose([Validators.required])],\r\n main_person: ['', Validators.compose([Validators.required])],\r\n other_main_person: [''],\r\n family_members_involved: ['', Validators.compose([Validators.required])],\r\n before_business: ['', Validators.compose([Validators.required])],\r\n any_delays: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\n\r\nsubmitDetails() {\r\n console.log(\"First\",this.businessForm.value);\r\n let family: any = [];\r\n console.log(this.FormId)\r\n let design: any;\r\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\r\n let records:any;\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId;\r\n // records.fk_createdby = this.users;\r\n records=this.businessForm.value;\r\n console.log(\"Records\",records)\r\n //if(records.persons_with_relationships=='')\r\n if (records.other_documents == 'no') {\r\n delete records.documents;\r\n }\r\n if (records.rent_paid == '') {\r\n delete records.rent_paid;\r\n }\r\n if (records.ownership_others == '') {\r\n delete records.ownership_others;\r\n }\r\n // records.family_members_involved = this.relativeNames;\r\n //console.log('recordss', records);\r\n\r\n let validationFlag : number = 0;\r\n\r\n //type 1: Checking manufacturing_activity_details \r\n if(records.manufacturing_activity_details.length > 0){\r\n\r\n records.manufacturing_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale!= \"Within India\"){ \r\n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n //type 3 checking wholesale_trading_activity_details\r\n if(records.wholesale_trading_activity_details.length > 0){\r\n\r\n records.wholesale_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //type 2 checking retail_trading_activity_details\r\n if(records.retail_trading_activity_details.length > 0){\r\n\r\n records.retail_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n //type 4 checking service_provider_activity_details\r\n if(records.service_provider_activity_details.length > 0){\r\n\r\n records.service_provider_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){\r\n \r\n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //validationFlag is greater then 0 means its display the notifer as warning\r\n if(validationFlag > 0){\r\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\r\n return;\r\n }\r\n\r\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n });\r\n}\r\n getBuisnessDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \r\n this.qustCat.retiverForm(records).subscribe(data => {\r\n let businessVal = data['records'];\r\n // console.log('data', businessVal);\r\n let constVal: any;\r\n const Desgn = this.businessForm.controls['designation'];\r\n const Partnr = this.businessForm.controls['partners'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n\r\n if (data['status'] == 200) {\r\n let DocArray: any;\r\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\r\n return data['records'].designation[key];\r\n });\r\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\r\n return data['records'].partners[key];\r\n });\r\n\r\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\r\n return data['records'].family_members_involved[key];\r\n });\r\n let enduse: any = [];\r\n let existRelative: any =[];\r\n selectedMembers.forEach(val => {\r\n enduse.push(val.member);\r\n existRelative.push(val);\r\n });\r\n this.relativeNames = existRelative;\r\n if (DesgnArray.length == 0) {\r\n Desgn.push(this.createDesignation());\r\n } else {\r\n DesgnArray.forEach(datas => {\r\n Desgn.push(this.createDesignation());\r\n });\r\n \r\n }\r\n if (PartnrArray.length == 0) {\r\n Partnr.push(this.createPartners());\r\n } else {\r\n PartnrArray.forEach(datas => {\r\n Partnr.push(this.createPartners());\r\n });\r\n }\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n if (data['records'].ownership_setup != 'others') {\r\n businessVal.ownership_others = '';\r\n }\r\n if (data['records'].ownership_setup != 'rented') {\r\n businessVal.rent_paid = '';\r\n }\r\n businessVal.family_members_involved = enduse;\r\n businessVal.pdid = this.pdDetails.pd_id;\r\n businessVal.formid = this.FormId.form_id;\r\n businessVal.fk_createdby = this.users;\r\n businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n businessVal.documents = DocArray;\r\n\r\n this.businessForm.setValue(businessVal);\r\n } else {\r\n Desgn.push(this.createDesignation());\r\n Partnr.push(this.createPartners());\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n });\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n}\r\ninWords(e,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n }\r\n }\r\n ManufacturingCounterArray: any = [];\r\nRetailCounterArray: any = [];\r\nWholeSaleCounterArray: any = [];\r\nServiceCounterArray: any = [];\r\n\r\n CheckExport(value,stringFlag,index){\r\n //this.ExportFlag=false\r\n const parentControl = this.businessForm.controls['select_business_activity_type'];\r\n const childControl = parentControl.controls[0];\r\n // console.log('parentControl',parentControl);\r\n // console.log('parentControl.controls',parentControl.controls);\r\n // console.log('childControl',childControl.value);\r\n // console.log('childControl',childControl.value.exist_status);\r\n\r\n // childControl.forEach((datas,index) => {\r\n \r\n // console.log(datas);\r\n // // exist_status==true && event.value.type_of_activity_id\r\n // console.log(datas[index].);\r\n // console.log(datas[index].controls.exist_status.value);\r\n // });\r\n\r\n console.log('CheckExport');\r\n console.log(value,stringFlag,index);\r\n\r\n console.log(this.ManufacturingChecked , this.RetailedChecked , this.WholeSalesChecked , this.ServiceChecked);\r\n \r\n if(!this.ManufacturingChecked){\r\n if(stringFlag == 'MActivity' && value != \"Within India\"){\r\n this.ManufacturingCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'MActivity' && value != \"Within India\"){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.RetailedChecked){ \r\n if(stringFlag == 'RActivity' && value != \"Within India\"){\r\n this.RetailCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'RActivity' && value != \"Within India\"){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.WholeSalesChecked){\r\n if(stringFlag == 'WActivity' && value != \"Within India\"){\r\n this.WholeSaleCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'WActivity' && value != \"Within India\"){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n \r\n if(!this.ServiceChecked){\r\n \r\n if(stringFlag == 'SPActivity' && value != \"Within India\")\r\n { \r\n this.ServiceCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'SPActivity' && value != \"Within India\"){\r\n this.ServiceCounterArray[index] = 0;\r\n }\r\n\r\n }else if(stringFlag == 'SPActivity'){\r\n this.ServiceCounterArray[index] = 0;\r\n } \r\n\r\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n console.log(SumOfManufacturingCounter,this.ManufacturingCounterArray);\r\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n // console.log(SumOfRetailCounter , this.RetailCounterArray);\r\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n // console.log(SumOfWholeSaleCounter,this.WholeSaleCounterArray);\r\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\r\n // console.log(SumOfServiceCounter,this.ServiceCounterArray);\r\n\r\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\r\n \r\n\r\n this.ExportFlag = overallCounter > 0 ? true : false ;\r\n console.log('overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ' , overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter);\r\n console.log('Current Flag Status : ',this.ExportFlag );\r\n}\r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\r\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessAssetsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-assets',\r\n templateUrl: 'pd-question-business-assets.html',\r\n})\r\nexport class PdQuestionBusinessAssetsPage {\r\n currentYear:any=new Date().getFullYear();\r\n\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n\r\n company_id:any;\r\n pdDetails:any;\r\n formDetails : any;\r\n users:any;\r\n _businessAssetsQuesFrom:FormGroup;\r\n m_assets_type:any;\r\n m_propertyType:any;\r\n AssetValueInwords:any=[];\r\n appxMarketAmtInwords:any=[];\r\n RentAmtInwords:any=[]\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any=[]\r\n applicants:any;\r\n data_all:any;\r\n CustSegAbbr: any;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n yearErrorMessage: any;\r\n monthErrorMessage: any;\r\n addressLabel: string;\r\n placeholderName : any = 'Was any business activity seen at the Address Type during PD visit?';\r\n m_address_type:any=[]\r\n pageTitle: string;\r\n main_applicant: any;\r\n lender_applicant_id: any;\r\n subproduct_abbr: any;\r\n customer_segment_abbr: any;\r\n RentAmtInwordsForAddress: any =[];\r\n appxMarketAmtInwordsForAddress: any =[];\r\n isOtherOwnerForAddress : boolean = false;\r\n isOtherOwner: boolean = false;\r\n public m_vehicle_type = [];\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n \r\n \r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users=this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n this.generalExistBusinessYear = this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\r\n this.main_applicant = this.pdDetails.applicant_name;\r\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\r\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n \r\n this.getDetails()\r\n this.getDropDown()\r\n \r\n \r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id;\r\n params.pd_form_id='5'\r\n\r\n this.qustcat.retiverForm(params).subscribe(data => {\r\n if(data['status'] == 200) {\r\n // console.log(\"form record 5\",data.records);\r\n \r\n this.addressLabel = '';\r\n \r\n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data['records'].address_type)[0];\r\n let address = data['records'].address;\r\n let addressType = data['records'].address_type != 1 ? selectedAddressType.address_type : data['records'].address_type_others;\r\n \r\n this.placeholderName = 'Was any business activity seen at the '+addressType+' during PD visit?';\r\n this.addressLabel = \" : \"+address+' / '+addressType ;\r\n \r\n }\r\n });\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\r\n }\r\n getDropDown(){\r\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\r\n data => {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n })\r\n \r\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\r\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\r\n // console.log(this.m_assets_type)\r\n })\r\n\r\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\r\n })\r\n\r\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\r\n // console.log(\"existCompanyList\",this.existCompanyList)\r\n }\r\n \r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n })\r\n\r\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\r\n })\r\n \r\n }\r\n apiLoadFinish:boolean=false\r\n getDetails(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id\r\n params.company_id=this.company_id\r\n params.pd_form_id=22\r\n this.qustcat.retiverForm(params).subscribe(res=>{\r\n \r\n if(res['dataStatus']==true){\r\n // console.log(\"records\",res['records'])\r\n //this.data_all=res['records']\r\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\r\n return res['records'].business_assets_details[key]\r\n });\r\n console.log(\"Asset Form\",assestArray);\r\n //this.formLoadData(assestArray)\r\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\r\n if(assestArray.length>0){\r\n for(let val of assestArray){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\r\n }\r\n }*/\r\n this.formLoadData(res['records'])\r\n }\r\n\r\n \r\n else{\r\n this.formLoadData(null);\r\n }\r\n this.apiLoadFinish=true\r\n console.log(\"success\");\r\n \r\n })\r\n //this.formLoadData(null);\r\n \r\n }\r\n \r\n formLoadData(data){\r\n if(data==null){\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n business_assets_for_address: this.fb.array([\r\n this.createBusinessAssetsForAddress()]),\r\n business_assets_details : this.fb.array([\r\n this.initBusinessDetails(),\r\n ]),\r\n business_assets_form_remark:['']\r\n });\r\n \r\n }\r\n else{\r\n // console.log(\"Data Here\");\r\n let value=data;\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n business_years:[value.business_years],\r\n business_month:[value.business_month],\r\n business_address_availability:[value.business_address_availability],\r\n business_is_pd_visited:[value.business_is_pd_visited],\r\n business_pd_visited_remark:[value.business_pd_visited_remark],\r\n business_assets_for_address: this.fb.array([]),\r\n business_assets_details : this.fb.array([]),\r\n business_assets_form_remark:[value.business_assets_form_remark || '']\r\n });\r\n if (value.business_address_availability == 'yes') {\r\n // console.log(value.business_assets_for_address);\r\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n }\r\n else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n } \r\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n initBusinessDetails(){\r\n return this.fb.group({\r\n business_assets_mode:[''],\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [''],\r\n business_ownership_type:[''],\r\n business_monthly_rented_amt:[''],\r\n business_name_of_the_owner: [],\r\n business_name_of_the_other_owner: [],\r\n business_vintage: [''],\r\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [''],\r\n \r\n })\r\n }\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: ['']\r\n });\r\n }\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n\r\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n addAssetDetails(e) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetails());\r\n \r\n }\r\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n removeAssetsDetails(i: number) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.removeAt(i);\r\n\r\n}\r\n\r\ncreateBusinessAssetsForAddress(): FormGroup {\r\n return this.fb.group({\r\n business_approximate_market_value: [''],\r\n business_ownership_type: [''],\r\n business_monthly_rented_amt: [''],\r\n business_name_of_the_owner: [''],\r\n business_name_of_the_other_owner: [''],\r\n business_vintage: [''],\r\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: ['']\r\n });\r\n}\r\n\r\n selectedAssetsType(e: any, i: any): void {\r\n let val = i;\r\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n arr.controls.splice(0);\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n let val = i;\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n \r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadPropertyWithData(data) { \r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n });\r\n }\r\n load_Four_WeelerWithData(data){\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n })\r\n }\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadDetails:boolean\r\n addBusinessAssetsForAddress(data) {\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n });\r\n if (result.length > 0) {\r\n result.forEach((datas, index) => {\r\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\r\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\r\n let Avaliablity = 1;\r\n // console.log(datas.business_name_of_the_owner);\r\n if(datas.business_name_of_the_owner.length > 0){\r\n datas.business_name_of_the_owner.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\r\n });\r\n\r\n for (let val of result) {\r\n let vals = {\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type: val.business_ownership_type,\r\n business_monthly_rented_amt: val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_vintage: val.business_vintage,\r\n business_purchase_year: val.business_purchase_year,\r\n business_emi: val.business_emi\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddressWithData(vals));\r\n }\r\n } else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n }\r\n }\r\n addBusinessAssetsDetailsWithData(supp_data){\r\n var result=Object.keys(supp_data).map(function(key){\r\n return supp_data[key];\r\n })\r\n // console.log(\"Result\",result)\r\n if(result.length>0){\r\n result.forEach((datas,index)=>{\r\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\r\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\r\n });\r\n for(let val of result){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type:val.business_ownership_type,\r\n business_monthly_rented_amt:val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\r\n }\r\n // console.log(\"Add Business Details exit\");\r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n createBusinessAssetsForAddressWithData(data): FormGroup {\r\n return this.fb.group({\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type: [data.business_ownership_type],\r\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\r\n business_vintage: [data.business_vintage],\r\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [data.business_emi]\r\n });\r\n }\r\n\r\n initBusinessDetailsWithdata(data) {\r\n // console.log(\"initBusinessDetailsWithdata\",data)\r\n\r\n let formGroup= this.fb.group({\r\n business_assets_mode: [data.business_assets_mode],\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type : [data.business_ownership_type],\r\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\r\n // relation: [data.relation || ''],\r\n business_vintage: [data. business_vintage],\r\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n // purchase_month: [data.purchase_month],\r\n business_emi: [data.business_emi || ''],\r\n });\r\n return formGroup;\r\n }\r\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\r\n // console.log(\"Asset Mode business asset\",assets_details_mode)\r\n // console.log(\"setBusinessAssetsDetailsWithData\",datas)\r\n let val = i;\r\n let data = datas;\r\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n control.controls.splice(0);\r\n\r\n switch (assets_details_mode) {\r\n case '2': {\r\n let business_property_datas : any;\r\n data.forEach((datas,i) => {\r\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 };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadPropertyWithData(business_property_datas));\r\n break;\r\n }\r\n case '3': {\r\n let business_Four_Weeler_datas : any;\r\n data.forEach((datas,i) => {\r\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\r\n break;\r\n }\r\n case '4': {\r\n let equipment_manufacturing_description_datas : any;\r\n data.forEach((datas,i) => {\r\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\r\n break;\r\n }\r\n \r\n case '1': {\r\n let array_datas : any;\r\n data.forEach((datas,i) => {\r\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\r\n array_datas = {\r\n 'any_other_assets': datas.any_other_assets,\r\n // 'any_other_asset_value': datas.any_other_asset_value,\r\n 'any_other_asset_loan': datas.any_other_asset_loan,\r\n };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public paymentModeTextBox: number;\r\n selectedPM(e) {\r\n this.paymentModeTextBox = e.value;\r\n // this.f.supplier_details.controls.get('payment_mode_value');\r\n }\r\n\r\n public freqPurchaseTextBox: number;\r\n selectedFreqPurchase(e) {\r\n this.freqPurchaseTextBox = e.value;\r\n }\r\n \r\n\r\n onSubmit(){\r\n var answerData=this._businessAssetsQuesFrom.value;\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n\r\n this.qustcat.saveForm(answerData).subscribe(result=>{\r\n if(result['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\r\n }\r\n })\r\n \r\n }\r\n // calculate vintage and purchase {}\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 2) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n if (type == 3) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n\r\n // // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n\r\n setRequiredValidation(value, item, flag) {\r\n\r\n if (flag == 1) {\r\n if (value == 'yes') {\r\n this._businessAssetsQuesFrom.controls.business_years.setValidators([Validators.required]);\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.setValidators([Validators.required]);\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n }\r\n else {\r\n this._businessAssetsQuesFrom.controls.business_years.clearValidators();\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.clearValidators();\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n }\r\n this._businessAssetsQuesFrom.controls.business_years.updateValueAndValidity();\r\n \r\n this._businessAssetsQuesFrom.controls.business_address_availability.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n\r\n\r\n }\r\n // if(flag == 2){\r\n // value==1\r\n // ? item.controls.premises_type_others.setValidators([Validators.required])\r\n // : item.controls.premises_type_others.clearValidators();\r\n // item.controls.premises_type_others.updateValueAndValidity();\r\n // }\r\n if (flag == 3) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwner = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwner = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n\r\n // value == 0\r\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\r\n // : item.controls.business_name_of_the_other_owner.clearValidators();\r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n }\r\n if (flag == 5) {\r\n value == 1\r\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\r\n : item.controls.other_vehicle_type.clearValidators();\r\n item.controls.other_vehicle_type.updateValueAndValidity();\r\n }\r\n if (flag == 6) {\r\n value == 1\r\n ? item.controls.other_property_type.setValidators([Validators.required])\r\n : item.controls.other_property_type.clearValidators();\r\n item.controls.other_property_type.updateValueAndValidity();\r\n\r\n value != ''\r\n ? item.controls.address_of_the_property.setValidators([Validators.required])\r\n : item.controls.address_of_the_property.clearValidators();\r\n item.controls.address_of_the_property.updateValueAndValidity();\r\n }\r\n if (flag == 7) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if(flag == 8){\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n // console.log('true');\r\n Avaliablity = option.id;\r\n }\r\n });\r\n // isOtherOwner: boolean = false;\r\n if(Avaliablity == 0){\r\n // console.log(Avaliablity);\r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwnerForAddress = true;\r\n }else{\r\n // console.log(Avaliablity);\r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwnerForAddress = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n \r\n }\r\n\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(e){\r\n\r\n let business_year = this._businessAssetsQuesFrom.controls.business_years.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n let Year = +business_year + +Math.floor(converted_year);\r\n \r\n if(Year > this.generalExistBusinessYear){\r\n this.yearErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\r\n \r\n }\r\n else{\r\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\r\n {\r\n this.monthErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\r\n \r\n }else{\r\n this.monthErrorMessage = '';\r\n this.yearErrorMessage = '';\r\n this._businessAssetsQuesFrom.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n }\r\n\r\n checkWithExistBusinessYear(e){\r\n \r\n if(+e > this.generalExistBusinessYear){\r\n this.yearErrorMessage = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\r\n \r\n }\r\n else{\r\n this.yearErrorMessage = '';\r\n }\r\n }\r\n\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1:\r\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 : \r\n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 3:\r\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 9:\r\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 10:\r\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\n// import { QueryState } from '@angular/core/src/render3/interfaces';\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-banking',\r\n templateUrl: 'pd-question-business-banking.html',\r\n})\r\nexport class PdQuestionBusinessBankingPage {\r\npdDetails:any;\r\nm_btLenderList: any;\r\napplicants: any \r\nsalaryField: boolean;\r\nformDetails: any;\r\nform_id:any;\r\naccountType: any;\r\nusers: any;\r\nbankingForm:FormGroup;\r\npublic pd_cus_segment:string\r\ncompany_id:any;\r\n\r\npdid:any;\r\nitemRows:FormArray;\r\n\r\nexistCompanyList: any=[];\r\nmergeCompanyApplicant: any=[];\r\nstep:number\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n limitCaseFlag: any=[];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails')\r\n // console.log(\"pd\",this.pdDetails);\r\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\r\n this.pdid=this.pdDetails.pd_id;\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id=this.pdDetails.company_id\r\n // console.log(\" business bank Form Id fetched\",this.form_id);\r\n // console.log(\" business bank Form Details\",this.formDetails);\r\n // console.log(\" business bank Form Id\",this.formDetails.form_id);\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n //console.log(this.pdDetails);\r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.step=0\r\n this.bankingForm = this.fb.group(\r\n {\r\n itemRows:this.fb.array([]),\r\n banking_form_remark:[''],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\r\n }\r\n getdropdown(){\r\n \r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n console.log(\"Entering company List\")\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n console.log(\"company List\",data['records'])\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n console.log(\"Company applicant\",this.mergeCompanyApplicant)\r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n console.log(this.mergeCompanyApplicant);\r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n //console.log(itemrow);\r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n /** Amount InWords */\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setRequiredValidation(value,item,flag) {\r\n console.log(item);\r\n console.log(value);\r\n console.log(flag);\r\n \r\n if(flag == 1){\r\n value==0\r\n ? item.controls.other_applicant.setValidators([Validators.required])\r\n : item.controls.other_applicant.clearValidators();\r\n item.controls.other_applicant.updateValueAndValidity();\r\n }\r\n if(flag == 2){\r\n value==1\r\n ? item.controls.other_bank.setValidators([Validators.required])\r\n : item.controls.other_bank.clearValidators();\r\n item.controls.other_bank.updateValueAndValidity();\r\n }\r\n \r\n }\r\n\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n \r\n bank_name: [''],\r\n \r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n addBankDetails(index,event) {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n event.stopPropagation()\r\n const control = this.bankingForm.controls['itemRows'];\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createBankItem(''));\r\n \r\n //console.log(this.pdQuestionAddress.get('items')['controls']);\r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\r\n \r\n this.itemRows.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n const control = this.bankingForm.controls['itemRows'];\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else\r\n // console.log('index value -', index);\r\n \r\n control.removeAt(i);\r\n }\r\n \r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n retiveBankDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\r\n const control = this.bankingForm.controls['itemRows'];\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n console.log(\"retrieve data\",res['records']);\r\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n \r\n \r\n if(result.length == 0){\r\n console.log(\"DAta Status 0\")\r\n control.push(this.createBankItem(''))\r\n }else\r\n {\r\n console.log(\"DAta Status >1\")\r\n result.forEach((datas,index)=>\r\n {\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n if(datas.limit != ''){\r\n console.log(\"Datas\",datas);\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n }\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n control.push(this.createBankItem(''));\r\n })\r\n \r\n this.bankingForm.controls['itemRows'].setValue(result);\r\n } \r\n }else\r\n {\r\n console.log(\"DAta Status False\");\r\n control.push(this.createBankItem(''));\r\n }\r\n });\r\n \r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.form_id;\r\n records.fk_createdby = this.users;\r\n records.company_id=this.company_id;\r\n records.banking_details = answerData.itemRows;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n console.log('data', records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n console.log('data', data);\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n })\r\n //console.log(answerData);\r\n }\r\n \r\n\r\n \r\n\r\n}\r\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';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdGeneralImagesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-general-images',\r\n templateUrl: 'pd-general-images.html',\r\n})\r\nexport class PdGeneralImagesPage {\r\n\r\n cameraArr:any = [];\r\n applicatentDetails: any;\r\n count:any = 0;\r\n saveAccess:boolean =false;\r\n FormId:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdGeneralImagesPage');\r\n }\r\n \r\n takePicture()\r\n {\r\n this.camera.getpicture().then(image=>\r\n {\r\n this.count = this.count+1;\r\n \r\n this.cameraArr.push({'image':image,'name':''});\r\n });\r\n }\r\n\r\n removeimage(i)\r\n {\r\n this.count = this.count - 1; \r\n this.cameraArr.splice(i,1);\r\n }\r\n\r\n docnames(doc,i,img)\r\n {\r\n \r\n this.cameraArr[i] = {'image':img,'Name':doc};\r\n // console.log(JSON.stringify(this.pddocdata)); \r\n }\r\n savePDImages()\r\n {\r\n \r\n this.saveAccess = true;\r\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\r\n records.images = this.cameraArr;\r\n this.qustCat.savePDImages(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.saveAccess = false;\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } \r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\r\n/*\r\n Generated class for the DatabaseProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class DatabaseProvider {\r\n database:SQLiteObject;\r\n constructor(public http: HttpClient,public sql:SQLite) {\r\n console.log('Hello DatabaseProvider Provider');\r\n this.createnewdb();\r\n }\r\n\r\n createnewdb()\r\n {\r\n // alert('function in');\r\n this.sql.create(\r\n {\r\n name:'sinnedge',\r\n location:'defalut',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \r\n {\r\n // alert('db create');\r\n this.getuserDetails();\r\n })\r\n .catch(e => console.log(e));\r\n })\r\n }\r\n getuserDetails()\r\n {\r\n // alert('getusers');\r\n this.sql.create(\r\n {\r\n name:'sineedge',\r\n location:'default',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\r\n {\r\n console.log(res);\r\n })\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the PasswordPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-password',\r\n templateUrl: 'password.html',\r\n})\r\nexport class PasswordPage {\r\n commonImage: string;\r\n newpassword: any;\r\n confirmPassword: any;\r\n pin:any;\r\n Username:any;\r\n Password:any;\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.Username = this.navParams.get('Username');\r\n this.Password = this.navParams.get('Password');\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PasswordPage');\r\n }\r\n setNewPassword(newpass)\r\n {\r\n if(newpass !='' && newpass !=null && newpass !== undefined){\r\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\r\n console.log(auth);\r\n this.aws.dologin(auth).subscribe(res => {\r\n console.log(res);\r\n this.navCtrl.setRoot(PdListPage);\r\n // this.router.navigate(['/home']);\r\n }, err => {\r\n this.toast.pdTriggerappmessage(err.message);\r\n // alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the new Password');\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\n\r\nimport { LoadingProvider } from '../../providers/common-provider/loading';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the AuthPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n \r\n\r\n@Component({\r\n selector: 'page-auth',\r\n templateUrl: 'auth.html',\r\n})\r\nexport class AuthPage {\r\n pinAccess: any;\r\n newpindetails: any;\r\n userDetails: any;\r\npin:any;\r\n mpinaccess:boolean =false;\r\n newpassword:any;\r\n ConfirmPassword:any;\r\n commonImage:any;\r\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) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.shared.refresh();\r\n this.getuserDetails();\r\n \r\n\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad AuthPage');\r\n }\r\n ionViewDidEnter(){\r\n this.Menu.enable(false);\r\n }\r\n ionViewWillLeave(){\r\n this.Menu.enable(true);\r\n }\r\n getuserDetails()\r\n {\r\n this.loadingCtrl.pdloader('loading...');\r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.loadingCtrl.loading.dismiss();\r\n this.userDetails = this.userDetails.records;\r\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\r\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\r\n if(this.userDetails[0].mpin ==null)\r\n {\r\n \r\n this.mpinaccess = true;\r\n \r\n }else\r\n {\r\n this.mpinaccess = false;\r\n }\r\n }else{\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n }else{\r\n this.toast.pdTriggerappmessage('')\r\n }\r\n //console.log(this.mpinaccess);\r\n });\r\n }\r\n setnewpin(newpin)\r\n {\r\n console.log(\"set Pin\")\r\n this.aws.userpinupdate(newpin).subscribe(res=>\r\n {\r\n this.newpindetails = res;\r\n if(this.newpindetails.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n /**Finger print */\r\n \r\n checkpin(pin) {\r\n console.log(\"Check pin\",pin);\r\n if(pin !='' && pin !=null)\r\n {\r\n if(this.userDetails[0].mpin == pin)\r\n {\r\n console.log(\"Entering List page\")\r\n this.navCtrl.setRoot(PdListPage);\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\r\n }\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The PIN');\r\n }\r\n\r\n \r\n \r\n }\r\n checkfingerprint()\r\n {\r\n console.log(\"Check Finger\");\r\n this.faio.show({\r\n clientId: 'Fingerprint-Demo',\r\n clientSecret: 'password', // Only Android\r\n localizedFallbackTitle: 'Use Pin', // Only iOS\r\n localizedReason: 'Please authenticate',\r\n disableBackup:true,\r\n })\r\n .then((result: any) => {\r\n this.navCtrl.setRoot(PdListPage);\r\n })\r\n .catch((error: any) => {\r\n this.toast.pdTriggerappmessage('err: '+ error);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadingController } from 'ionic-angular';\r\n/*\r\n Generated class for the LoadingProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class LoadingProvider {\r\n\r\n loading: any;\r\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\r\n console.log('Hello LoadingProvider Provider');\r\n }\r\n\r\n pdloader(content)\r\n {\r\n this.loading = this.loadingCtrl.create({\r\n content: content\r\n });\r\n\r\n this.loading.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\n\r\nimport { MyApp } from './app.component';\r\n\r\n\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { SQLite } from '@ionic-native/sqlite';\r\nimport { DatabaseProvider } from '../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthGuard } from '../providers/_guard/auth.guard';\r\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { ConstantsProvider } from '../providers/constants/constants';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\r\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\r\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\r\nimport { InputPage } from '../pages/input/input';\r\nimport { ToastProvider } from '../providers/common-provider/toast';\r\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\n\r\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\r\nimport { OtpPage } from '../pages/otp/otp';\r\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\r\n\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\r\nimport { CameraProvider } from '../providers/common-provider/camera';\r\nimport { LoadingProvider } from '../providers/common-provider/loading';\r\nimport { Camera } from '@ionic-native/camera';\r\n\r\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\r\n\r\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\r\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { Geolocation } from '@ionic-native/geolocation';\r\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { DatePicker } from '@ionic-native/date-picker';\r\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\r\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\r\n\r\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\r\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport { PdPipe } from '../pipes/pd/pd';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\r\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\r\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n ],\r\n imports: [\r\n BrowserModule,ReactiveFormsModule,FormsModule,\r\n IonicModule.forRoot(MyApp),\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,HttpClientModule,IonicImageViewerModule\r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n \r\n ],\r\n providers: [\r\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\r\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\r\n {\r\n provide:HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: IonicErrorHandler\r\n },LaunchNavigator,\r\n AwsServiceProvider,\r\n QuestionCategoryProvider,\r\n CameraProvider,Camera,\r\n PdPipe,\r\n LoadingProvider,Geolocation,\r\n DatabaseProvider\r\n ]\r\n})\r\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { Nav, Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { MethodCall } from '@angular/compiler';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { AuthPage } from '../pages/auth/auth';\r\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n userDetails: any;\r\n userAccess:boolean = false;\r\n @ViewChild(Nav) nav: Nav;\r\n\r\n rootPage: any = LoginPage;\r\n\r\n pages: Array<{title: string,icon:any, method: any}>;\r\n\r\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider) {\r\n this.initializeApp();\r\n\r\n // used for an example of ngFor and navigation\r\n this.pages = [ \r\n // { title: 'Home', component: HomePage, icon: 'home' },\r\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\r\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\r\n ];\r\n\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n // Okay, so the platform is ready and our plugins are available.\r\n // Here you can do any higher level native things you might need.\r\n this.statusBar.styleDefault();\r\n if (this.platform.is('android')) {\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n \r\n }\r\n this.splashScreen.hide();\r\n\r\n this.shared.getAccessToken().then(()=>{\r\n this.getuserDetails();\r\n this.rootPage = AuthPage\r\n }).catch(()=>{\r\n setTimeout(() => {\r\n this.rootPage = LoginPage;\r\n }, 1000);\r\n });\r\n })\r\n }\r\n\r\n \r\n getuserDetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.userAccess = true;\r\n this.userDetails = this.userDetails.records[0];\r\n \r\n }\r\n \r\n });\r\n }\r\n menulist(id){\r\n //alert();\r\n switch(id)\r\n {\r\n case 1:\r\n this.nav.setRoot(PdListPage);\r\n break;\r\n case 2:\r\n this.AWS.logout().subscribe(()=>{\r\n \r\n this.nav.setRoot(LoginPage);\r\n });\r\n break;\r\n case 3:\r\n break;\r\n case 4:\r\n break;\r\n}\r\n}\r\n logout()\r\n {\r\n // this.aws.logout();\r\n this.nav.setRoot(LoginPage);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\r\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n \r\n constructor() { \r\n\r\n \r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // // if (this.shared.getToken()) {\r\n // alert(\"if\");\r\n // // this.router.navigate(['']);\r\n // return true\r\n // } else {\r\n // alert(\"else\");\r\n // this.router.navigate(['/login']);\r\n // return false;\r\n // }\r\n // }\r\n getlogin(){\r\n // if (this.shared.getToken()) {\r\n // // alert(\"if\");\r\n // //alert();\r\n // return true;\r\n // } else {\r\n // // alert(\"else\");\r\n \r\n // //this.myGlobalServiceNav.setRoot(LoginPage);\r\n // this.shared.isloggin = false;\r\n // return false;\r\n \r\n \r\n // }\r\n }\r\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n \r\n \r\n // }\r\n\r\n // public getToken(): string {\r\n // return localStorage.getItem('token');\r\n // }\r\n\r\n // public logOut() {\r\n // localStorage.clear();\r\n // if(localStorage.getItem('token') === null){\r\n // this.router.navigate(['/login']);\r\n // }\r\n // }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\n// import { AuthGuard } from './auth.guard';\r\nimport { Observable, of} from 'rxjs';\r\n\r\n// import { Router } from '@angular/router';\r\n\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor{\r\n constructor(public shared:CognitoServiceProvider ) {\r\n \r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // request = request.clone({\r\n // setHeaders: {\r\n // Authorization: `${this.auth.getToken()}`\r\n // }\r\n // });\r\n let token:any;\r\n this.shared.refresh();\r\n token = this.shared.getToken() || null;\r\n \r\n token = token.getIdToken().getJwtToken();\r\n \r\n //console.log(token);\r\n let requests = request.clone({\r\n headers:new HttpHeaders({\r\n \r\n 'Authorization': 'sparqvenba2018',\r\n 'Token':token,\r\n 'From':'1',\r\n \r\n \r\n }) \r\n \r\n });\r\n \r\n return next.handle(requests).pipe(\r\n catchError(this.handleError('role', []))\r\n )\r\n }\r\n\r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n if(error instanceof HttpErrorResponse){\r\n console.error(\"Error: \" + error.status);\r\n if(error.status == 401){\r\n localStorage.clear();\r\n // this.router.navigate(['/authentication/login']);\r\n }\r\n return of(result as T);\r\n }\r\n };\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\r\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the GoogleplaytabPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-googleplaytab',\r\n templateUrl: 'googleplaytab.html',\r\n})\r\nexport class GoogleplaytabPage {\r\n\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= true;\r\n isLeft:boolean= true;\r\n tabs:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\r\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n \r\n}\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n\r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n\r\n this.isLeft=false;\r\n this.isRight=false;\r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n \r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the PdAllocationPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-allocation',\r\n templateUrl: 'pd-allocation.html',\r\n})\r\nexport class PdAllocationPage {\r\npdFullDetails:any = [];\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n \r\n this.pdFullDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdFullDetails);\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdAllocationPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PdListPage } from '../../pd-list/pd-list';\r\n\r\n/**\r\n * Generated class for the BouncedRejectPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-bounced-reject',\r\n templateUrl: 'bounced-reject.html',\r\n})\r\nexport class BouncedRejectPage {\r\n\r\n users: any;\r\n bounseMaster: any;\r\n pdDetails: any;\r\n status: any;\r\n bounce_reason:any;\r\n bounce_reason_others:any = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('appdetails');\r\n this.status = this.navParams.get('status');\r\n this.users = this.aws.getlocale();\r\n this.getDropdown();\r\n \r\n }\r\n\r\n getDropdown()\r\n {\r\n \r\n \r\n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\r\n console.log(this.bounseMaster);\r\n }\r\n })\r\n \r\n }\r\n updatePDStatus()\r\n {\r\n if(this.bounce_reason !=null)\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business',\r\n templateUrl: 'pd-question-business.html',\r\n})\r\nexport class PdQuestionBusinessPage {\r\n pdDetails:any;\r\n pdid:any;\r\n users:any;\r\n FormId:any;\r\n existCompanyList:any=[]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=this.aws.getlocale\r\n\r\n this.getDropDown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\r\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\r\n console.log(this.existCompanyList);\r\n })\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionSalaryInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-salary-info',\r\n templateUrl: 'pd-question-salary-info.html',\r\n})\r\nexport class PdQuestionSalaryInfoPage {\r\n\r\n salaryDetails:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.salaryDetails = this.fb.group(\r\n {\r\n gross:[null],\r\n netTakeHome:[null],\r\n bounsIncentive:[null],\r\n salaryDate:[null],\r\n anydelays:[null], \r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\r\n }\r\n\r\n}\r\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';\r\n\r\n// import { CanActivateChild, Router } from '@angular/router';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\n\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { BehaviorSubject,Observable,of } from 'rxjs';\r\n\r\nconst sineedge_poolData = { \r\n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\r\n};\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"\",\r\n ClientId: \"\"\r\n}\r\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"\";\r\n// serviceProvider\r\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\r\n// const apiurl = \"http://localhost/sparqapi/api/\";\r\n\r\n@Injectable()\r\n\r\nexport class CognitoServiceProvider {\r\n public loggedIn :boolean = false;\r\n // public static _REGION = environment.region;\r\n\r\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\r\n // public static _USER_POOL_ID = environment.UserPoolId;\r\n // public static _CLIENT_ID = environment.ClientId;\r\n\r\n // public static _POOL_DATA: any = {\r\n // UserPoolId: CognitoService._USER_POOL_ID,\r\n // ClientId: CognitoService._CLIENT_ID\r\n // };\r\n \r\n\r\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\r\nisloggin:boolean = false; \r\n\r\n\r\n \r\n\r\n \r\n constructor() { \r\n \r\n }\r\n getCurrentUser() {\r\n \r\n return sineedgedevUserpool.getCurrentUser();\r\n}\r\n get isLoggedIn() {\r\n if(sineedgedevUserpool.getCurrentUser() !=null){\r\n this.loggedIn = true;\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n return this.loggedIn; // {2}\r\n }\r\n \r\nrefresh() {\r\n let tokenexp:boolean;\r\n \r\n if(this.getCurrentUser() !=null){\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n }\r\n\r\n else {\r\n if (session.isValid()) {\r\n tokenexp = session.isValid();\r\n of(tokenexp)\r\n console.log(\"CognitoUtil: refreshed successfully\");\r\n \r\n } else {\r\n tokenexp = session.isValid();\r\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\r\n \r\n }\r\n }\r\n \r\n return tokenexp;\r\n \r\n });\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n}\r\ngetAccessToken(){\r\n this.refresh();\r\n return new Promise((resolve, reject) => {\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n //console.log(JSON.stringify(this.getCurrentUser()));\r\n // console.log('76 if');\r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n jwttoken ='';\r\n // console.log('81 if')\r\n reject(err);\r\n }\r\n else {\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n resolve();\r\n } else {\r\n \r\n }\r\n }\r\n });\r\n }\r\n else {\r\n //console.log(\"else\");\r\n reject();\r\n }\r\n});\r\n}\r\n\r\ngetToken():any {\r\n let isloggin = false;\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n isloggin = false;\r\n //console.log('81 if')\r\n }\r\n else {\r\n //alert('function else');\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n isloggin = true;\r\n } else {\r\n \r\n isloggin = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // console.log(\"else\");\r\n isloggin = false;\r\n }\r\n return jwttoken;\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n\r\n\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { CognitoServiceProvider } from './cognito.service';\r\nimport { ConstantsProvider } from '../constants/constants';\r\nimport { UrlResolver } from '@angular/compiler';\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"ap-south-1_K57yPaWxV\",\r\n ClientId: \"\"\r\n}\r\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\r\n\r\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Injectable()\r\nexport class AwsServiceProvider {\r\napiurl:any;\r\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\r\n this.apiurl = con.apiurl();\r\n }\r\n\r\n dologin(authenticationData) {\r\n // alert();\r\n //(authenticationData);\r\n const authenticationDetails = new AuthenticationDetails(authenticationData);\r\n let Newpassword = authenticationData.newpassword;\r\n let attributesData = [];\r\n const userData = {\r\n Username: authenticationData.Username, // User email id\r\n Pool: sineedgedevUserpool // user Pool ID\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observer => {\r\n cognitoUser.authenticateUser(authenticationDetails, {\r\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \r\n cognitoUser.completeNewPasswordChallenge(\r\n Newpassword,\r\n attributesData,\r\n {\r\n onSuccess: function (result) {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n onFailure: function (err) {\r\n //(err);\r\n observer.error(err);\r\n //LoginComponent.prototype.open();\r\n }\r\n }\r\n );\r\n },\r\n onSuccess: function (result) { // success user login\r\n // let accessToken = result.getAccessToken().getJwtToken();\r\n ////(result);\r\n //window.localStorage.setItem('Currentuser', '1');\r\n observer.next(result);\r\n observer.complete();\r\n this.shared.isloggin = true;\r\n },\r\n onFailure: function (err) { // error user login\r\n\r\n //alert(err.message);\r\n observer.error(err);\r\n }\r\n });\r\n });\r\n }\r\n userforgotpass(auth) {\r\n ////(auth);\r\n const userData = {\r\n Username: auth.Username,\r\n Pool: sineedgedevUserpool\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observe => {\r\n cognitoUser.forgotPassword({\r\n onSuccess: function (data) {\r\n // successfully initiated reset password request\r\n //('CodeDeliveryData from forgotPassword: ' + data);\r\n observe.next(data);\r\n },\r\n onFailure: function (err) {\r\n alert(err.message || JSON.stringify(err));\r\n },\r\n //Optional automatic callback\r\n inputVerificationCode: function (data) {\r\n //('Code sent to: ' + data);\r\n var verificationCode = prompt('Please input verification code ', '');\r\n var newPassword = prompt('Enter new password ', '');\r\n cognitoUser.confirmPassword(verificationCode, newPassword, {\r\n onSuccess() {\r\n //('Password confirmed!');\r\n },\r\n onFailure(err) {\r\n //('Password not confirmed!');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n /**\r\n * End of the function \r\n */\r\n\r\n /**\r\n * Logout function\r\n */\r\n logout(){\r\n \r\n return Observable.create(observe=>{\r\n this.shared.getCurrentUser().signOut(); \r\n \r\n observe.next();\r\n \r\n observe.complete();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Config function\r\n */\r\n // getconfig() {\r\n // let session:any = this.shared.getAccessToken() || \"\";\r\n \r\n // let config = \"\";\r\n // config += AWS.config.region = \"ap-south-1\";\r\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\r\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\r\n // Logins: {\r\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\r\n // .getIdToken()\r\n // .getJwtToken()\r\n // }\r\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\r\n // });\r\n // return config;\r\n // }\r\n\r\n getlocale(){\r\n let session:any = this.shared.getToken() || null;\r\n let userid = session.idToken.payload.locale;\r\n return userid;\r\n }\r\n getuserprofile(userid)\r\n {\r\n \r\n \r\n // alert();\r\n \r\n //console.log(cogusers.idToken.payload.locale);\r\n let roles = {'userid':userid}; \r\n \r\n \r\n // let request = new RequestOptions({headers:headers});\r\n return this.http.post(this.apiurl+'getUsersDetails',roles);\r\n \r\n }\r\n\r\n userpinupdate(pin)\r\n {\r\n let userid = this.getlocale(); \r\n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\r\n let formdata = new FormData();\r\n \r\n formdata.append('records',JSON.stringify(records));\r\n return this.http.post(this.apiurl+'updateExistUser',formdata);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { InputPage } from '../input/input';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { parseDate } from 'ionic-angular/util/datetime-util';\r\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\r\nimport { OtpPage } from '../otp/otp';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { DatabaseProvider } from '../../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n/**\r\n * Generated class for the PdListPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-list',\r\n templateUrl: 'pd-list.html',\r\n})\r\nexport class PdListPage {\r\n\r\n searchinprogress: any;\r\n searchpast: any;\r\n pdschduleDetails: any;\r\n bgColorPast: any = [];\r\n bgColor: any = [];\r\n pdinprogress: any=[];\r\n pdlistdetails: any=[];\r\n viewchange: boolean;\r\n pdlist:any = \"inpro\";\r\n pdlistaccess:boolean = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\r\n //this.getlenderpddetails(); \r\n // this.getpdTriggerdetails();\r\n console.log(\"Entered\")\r\n }\r\n\r\n ionViewDidLoad() {\r\n \r\n console.log('ionViewDidLoad PdListPage');\r\n this.db.getuserDetails();\r\n this.setpermission();\r\n }\r\n ionViewCanEnter()\r\n {\r\n console.log(\"Pd list ionViewCanEnter\")\r\n this.getpdTriggerdetails();\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n this.pdinprogress = this.pdinprogress;\r\n this.pdschduleDetails = this.pdschduleDetails;\r\n }\r\n \r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n console.log(searchbar);\r\n this.pdinprogress = this.searchinprogress;\r\n this.pdschduleDetails = this.searchpast;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n \r\n if(this.pdlist == \"inpro\"){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n this.pdinprogress = this.searchinprogress.filter((v) => {\r\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) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n console.log(q.trim());\r\n console.log(this.pdlistdetails);\r\n return ;\r\n }else{\r\n this.pdschduleDetails = this.searchpast.filter((v) => {\r\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\r\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) {\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n })\r\n }\r\n \r\n}\r\n}\r\n newpage(){\r\n this.navCtrl.push(InputPage);\r\n }\r\n getpdTriggerdetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n console.log(\"User\",userid)\r\n\r\n this.pdofficer.getpddetails(userid).subscribe(res=>\r\n {\r\n this.pdlistdetails = res;\r\n if(this.pdlistdetails.dataStatus == true)\r\n {\r\n console.log(this.pdlistdetails);\r\n this.pdlistaccess = true;\r\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);\r\n this.searchpast = this.pdschduleDetails;\r\n // console.log(65,this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"STARTED\" || sch.pd_status == \"INPROGRESS\" || sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" && sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\"));\r\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\r\n this.searchinprogress = this.pdinprogress;\r\n console.log(this.pdinprogress);\r\n this.random_bg_color();\r\n this.random_ng_past();\r\n }else\r\n {\r\n this.pdlistaccess = false;\r\n this.pdlistdetails = \"No Records Found\";\r\n }\r\n })\r\n }\r\n\r\n random_bg_color() {\r\n for(let id of this.pdinprogress){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n \r\n return this.bgColor;\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.pdschduleDetails){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n doRefresh(refresher) {\r\n this.bgColor = [];\r\n this.pdschduleDetails = [];\r\n this.pdinprogress = [];\r\n console.log('Begin async operation', refresher);\r\n this.shared.refresh();\r\n this.getpdTriggerdetails();\r\n setTimeout(() => {\r\n console.log('Async operation has ended');\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n \r\n PdAllocation(pddetails)\r\n {\r\n \r\n if(pddetails.pd_status == 'STARTED')\r\n {\r\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\r\n }else if(pddetails.pd_status == 'INPROGRESS'){\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':pddetails});\r\n }else{\r\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\r\n }\r\n }\r\n\r\n setpermission()\r\n {\r\n // let permission = this.androidPermissions.PERMISSION; \r\n // let premission_list = [\r\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\r\n // permission.CAMERA,\r\n\r\n\r\n // ];\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {ConstantsProvider} from '../constants/constants';\r\n\r\n/*\r\n Generated class for the PdtriggerProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\r\n@Injectable()\r\nexport class PdtriggerProvider {\r\n apiurl:any;\r\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\r\n this.apiurl = constants.apiurl();\r\n console.log('Hello PdtriggerProvider Provider');\r\n }\r\n\r\n \r\n\r\n /**get dropdonw list */\r\n\r\n /**Get list of PD Trigger */\r\n\r\n getpddetails(userid)\r\n { \r\n console.log(userid);\r\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\r\n }\r\n\r\n getFullPDdetails(pdid)\r\n {\r\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\r\n }\r\n\r\n updatepdStatus(dataStatus)\r\n {\r\n let records = {'records':dataStatus};\r\n return this.http.post(this.apiurl+'updatePDMaster',records);\r\n }\r\n\r\n saveCurrentLocation(data)\r\n {\r\n let records = {'records':data};\r\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\r\n }\r\n\r\n checkotp(otpDetails)\r\n {\r\n let records = {'records':otpDetails};\r\n return this.http.post(this.apiurl+'checkOTP',records); \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Toast, ToastController } from 'ionic-angular';\r\n\r\n/*\r\n Generated class for the ToastProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ToastProvider {\r\n\r\n constructor(public http: HttpClient,public toast:ToastController) {\r\n console.log('Hello ToastProvider Provider');\r\n }\r\n pdTriggerappmessage(mess){\r\n let valalert = this.toast.create({\r\n message:mess, \r\n duration: 3000, \r\n position: 'bottom',\r\n dismissOnPageChange: true,\r\n });\r\n\r\n valalert.present();\r\n} \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/www/build/vendor.js b/www/build/vendor.js deleted file mode 100644 index 321a04af..00000000 --- a/www/build/vendor.js +++ /dev/null @@ -1,198694 +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; }); -/* unused harmony export enableProdMode */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_17", 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__, "_16", 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__, "_19", 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__, "_15", 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__, "_18", 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__, "_34", function() { return isListLikeIterable; }); -/* unused harmony export ɵChangeDetectorStatus */ -/* unused harmony export ɵisDefaultChangeDetectionStrategy */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_21", function() { return Console; }); -/* unused harmony export ɵComponentFactory */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_20", function() { return CodegenComponentFactoryResolver; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_24", function() { return ReflectionCapabilities; }); -/* unused harmony export ɵRenderDebugInfo */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_31", function() { return _global; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_37", function() { return looseIdentical; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_49", function() { return stringify; }); -/* unused harmony export ɵmakeDecorator */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_35", function() { return isObservable; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_36", 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__, "_48", function() { return registerModuleFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_22", function() { return EMPTY_ARRAY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_23", function() { return EMPTY_MAP; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_25", function() { return anchorDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_26", function() { return createComponentFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_27", function() { return createNgModuleFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_28", function() { return createRendererType2; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_29", function() { return directiveDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_30", function() { return elementDef; }); -/* unused harmony export ɵelementEventFullName */ -/* unused harmony export ɵgetComponentViewDefinitionFactory */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_32", function() { return inlineInterpolate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_33", function() { return interpolate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_38", function() { return moduleDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_39", function() { return moduleProvideDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_40", function() { return ngContentDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_41", function() { return nodeValue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_43", function() { return pipeDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_46", function() { return providerDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_42", function() { return pureArrayDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_44", function() { return pureObjectDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_45", function() { return purePipeDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_47", function() { return queryDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_50", function() { return textDef; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_51", function() { return unwrapValue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_52", 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__(444); -/* 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__(244)(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__(244)(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__(205))) - -/***/ }), -/* 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__(257); -/* 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__(539); -/* 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__(258); -/* 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__["_36" /* ɵisPromise */])(r) ? Object(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__["fromPromise"])(r) : r; - if (!(Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["_35" /* ɵ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__["_15" /* 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__["_15" /* 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__["_15" /* 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__["_15" /* 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__["_15" /* 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__["_15" /* 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__["_37" /* ɵ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__["_37" /* ɵ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 `