@rangertechnologies/ngnxt 2.0.35 → 2.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"rangertechnologies-ngnxt.mjs","sources":["../../../projects/nxt-app/src/lib/nxt-app.service.ts","../../../projects/nxt-app/src/lib/nxt-app.component.ts","../../../projects/nxt-app/src/lib/services/change.service.ts","../../../projects/nxt-app/src/lib/wrapper.ts","../../../projects/nxt-app/src/lib/model/errorWrapper.ts","../../../projects/nxt-app/src/lib/sample.ts","../../../projects/nxt-app/src/lib/services/salesforce.service.ts","../../../projects/nxt-app/src/lib/services/data.service.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.html","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.ts","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.html","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.ts","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.html","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.html","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.ts","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.html","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.ts","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.html","../../../projects/nxt-app/src/lib/model/changeWrapper.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.html","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.ts","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.html","../../../projects/nxt-app/src/lib/services/storage.service.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.html","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.ts","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.html","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.ts","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.html","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/nxt-app.module.ts","../../../projects/nxt-app/src/public-api.ts","../../../projects/nxt-app/src/rangertechnologies-ngnxt.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NxtAppService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-nxt-app',\r\n template: `\r\n <p>\r\n nxt-app works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class NxtAppComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ChangeWrapper } from '../model/changeWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ChangeService {\r\n // Reference: https://angular.io/guide/observables\r\n constructor() { }\r\n\r\n // Observable parentQuestion sources\r\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\r\n private changeConfirmedSource = new Subject<string>();\r\n\r\n // Observable parentQuestion streams\r\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\r\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\r\n\r\n // Service message commands\r\n announceChange(changeValue: ChangeWrapper) {\r\n console.log('inside announceChange');\r\n console.log(changeValue);\r\n this.changeAnnouncedSource.next(changeValue);\r\n }\r\n\r\n confirmChange(childQuestion: string) {\r\n console.log('inside confirmChange');\r\n console.log(childQuestion);\r\n this.changeConfirmedSource.next(childQuestion);\r\n }\r\n}\r\n","import { ErrorWrapper } from \"./model/errorWrapper\";\r\n\r\nexport class QuestionBook {\r\n Id: number;\r\n Name: string;\r\n Category__c: string;\r\n Next__c : string;\r\n Cancel__c : string;\r\n Back__c : string;\r\n Submit__c : string;\r\n Edit__c : string;\r\n First_Question__c: string;\r\n Title__c: string;\r\n Next_Tracking_ID__c: string;\r\n Back_Tracking_ID__c: string;\r\n Cancel_Tracking_ID__c: string;\r\n Submit_Tracking_ID__c: string;\r\n Total_Questions__c: number;\r\n Summary_Text__c?: string;\r\n Questions__r?: QuestionR;\r\n Progress_Bar__c: boolean;\r\n SubTitle__c: string;\r\n Question_Type__c: string;\r\n Possibilities__c: string;\r\n Summary_Sub_Text__c: string;\r\n isShengel__c?: boolean;\r\n}\r\n\r\nexport class Question {\r\n Id: string;\r\n Name: string;\r\n Reference_Field__c?:string;\r\n Allowed_File_Extensions__c :string;\r\n Question__c : string;\r\n Question_Text__c : string;\r\n Type__c: string;\r\n Next_Question__c?: string;\r\n Is_Optional__c: boolean;\r\n Title__c: string;\r\n SubTitle__c: string;\r\n Is_Title__c: boolean;\r\n X24_Hours__c: boolean;\r\n Error_Message__c: string;\r\n Is_Date_Backward__c : boolean;\r\n Is_Date_Forward__c : boolean;\r\n Group__c: string;\r\n Question_No__c?: string;\r\n Question_Options__r?: OptionR;\r\n static X24_Hours__c: boolean;\r\n Size__c: number;\r\n Sub_Text__c: string;\r\n Tracking_ID__c: string;\r\n Time_Text__c: string;\r\n Date_Text__c: string;\r\n Additional_Rich__c? : string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n input?: any;\r\n error?: ErrorWrapper;\r\n valueName?:string;\r\n dropDownOnly?:boolean;\r\n isDependentPicklist?:boolean;\r\n tableDataValue?:any[]; \r\n tableHeader?:string;\r\n startDate?:any;\r\n minDate?: any ;\r\n isShengel__c?: boolean;\r\n}\r\n\r\n\r\nexport class LocalQuestion {\r\n Id: string;\r\n Name: string;\r\n Allowed_File_Extensions__c :string;\r\n Question__c : string;\r\n Question_Text__c : string;\r\n Type__c: string;\r\n Title__c: string;\r\n SubTitle__c: string;\r\n Next_Question__c?: string;\r\n Is_Optional__c: boolean;\r\n Is_Title__c: boolean;\r\n X24_Hours__c: boolean;\r\n Error_Message__c: string;\r\n Is_Date_Backward__c : boolean;\r\n Is_Date_Forward__c : boolean;\r\n Time_Text__c : string;\r\n Date_Text__c : string;\r\n Group__c: string;\r\n Question_No__c?: string;\r\n Question_Options__r?: OptionR;\r\n Sub_Text__c : string;\r\n Size__c: number;\r\n Tracking_ID__c: string;\r\n Additional_Rich__c? : string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n input?: string;\r\n error?: ErrorWrapper;\r\n static X24_Hours__c: boolean;\r\n uniqueSubQId: string;\r\n}\r\n\r\nexport class QuestionR {\r\n records?: Question[];\r\n}\r\n\r\nexport class OptionR {\r\n records?: Option[];\r\n}\r\n\r\nexport class Option {\r\n Id: string;\r\n Name: string;\r\n Value__c: string;\r\n Tracking_ID__c: string;\r\n Next_Question__c?: string;\r\n}\r\n\r\nexport class OptionValue {\r\n Id: string;\r\n Name: string;\r\n Value__c: string;\r\n Next_Question__c?: string;\r\n checked: boolean;\r\n}\r\n\r\nexport class AnswerBook {\r\n Id: string;\r\n Question_Book__c: string;\r\n Status__c: string;\r\n Answers__r?: AnswerR;\r\n\r\n}\r\n\r\nexport class Answer {\r\n Id: string;\r\n Question_Rich_Text__c: string;\r\n Answer_Long__c : string;\r\n Question_Type__c: string;\r\n Question_Ref__c: string;\r\n Question_Group_Text__c: string;\r\n}\r\nexport class AnswerR {\r\n records?: Answer[];\r\n}\r\n\r\nexport class AnswerWrapper {\r\n ansId?: string;\r\n ansNumber?: number;\r\n abId: string;\r\n quesId: string;\r\n quesValue: string;\r\n qTyp: string;\r\n ansValue: string;\r\n groupText: string;\r\n squesValue: string;\r\n}\r\n\r\nexport class AttachmentWrapper {\r\n parentId: string;\r\n fileName: string;\r\n fileContent: string;\r\n}\r\n\r\nexport class Attachment {\r\n public attachmentId: string;\r\n public attachmentName: string;\r\n public attachmentMetaData: any;\r\n\r\n constructor(id: string,name:string,metaData:any){\r\n this.attachmentId = id;\r\n this.attachmentName = name;\r\n this.attachmentMetaData = metaData;\r\n }\r\n}\r\n\r\n","export class ErrorWrapper {\r\n errorCode: string;\r\n errorMsg: string;\r\n errorDetails: string;\r\n}\r\n","import { Question, QuestionBook, AnswerBook } from \"./wrapper\";\r\n\r\n/*\r\nexport const TESTQUESTIONS: Question[] = [\r\n{ Id: 11, Name: '001', question: 'What is your Name?' },\r\n{ Id: 12, Name: '002', question: 'What is your favourite City?' },\r\n{ Id: 13, Name: '003', question: 'How many languages you speak?' },\r\n{ Id: 14, Name: '004', question: 'Share your feedback?' },\r\n];\r\n*/\r\n\r\n// Dynamic Field Changes\r\nexport const TESTQB: QuestionBook = {\r\nId: 2,\r\nName: 'QB-0000',\r\nCategory__c: 'Simple',\r\nNext__c : 'weiter',\r\nCancel__c :'zurück',\r\nBack__c : 'zurück',\r\nSubmit__c : 'absenden',\r\nEdit__c : 'Bearbeiten',\r\nNext_Tracking_ID__c: '12345',\r\nBack_Tracking_ID__c: '12345',\r\nCancel_Tracking_ID__c: '12345',\r\nSubmit_Tracking_ID__c: '12345',\r\nFirst_Question__c: '1',\r\nTitle__c: 'Demo Unconditional',\r\nTotal_Questions__c: 3,\r\nSubTitle__c: 'subTitle',\r\nQuestion_Type__c:'type',\r\nPossibilities__c: 'poss',\r\nSummary_Sub_Text__c: 'subText',\r\nProgress_Bar__c: true\r\n}\r\n// Text Question\r\nexport const TESTQUESTION: Question = {\r\nId: '11',\r\nName: 'QN-00001',\r\nType__c: 'Text',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'What is your Name?',\r\nQuestion__c: 'What is your Name?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: true,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// DateTime Question\r\nexport const DTQUESTION: Question = {\r\nId: '12',\r\nName: 'QN-00002',\r\nType__c: 'DateTime',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'When did the incident happen?',\r\nQuestion__c: 'When did the incident happen?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: true,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : true,\r\nIs_Date_Forward__c : true ,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// File Question\r\nexport const FILEQUESTION: Question = {\r\nId: '13',\r\nName: 'QN-00003',\r\nType__c: 'File',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Upload the Incident Report/Images?',\r\nQuestion__c: 'Upload the Incident Report/Images?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: true,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// DateTime Question\r\nexport const TAQUESTION: Question = {\r\nId: '14',\r\nName: 'QN-00004',\r\nType__c: 'TextArea',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Explain the particulars of the Incident?',\r\nQuestion__c: 'Explain the particulars of the Incident?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// Radio Question\r\nexport const RADIOQUESTION: Question = {\r\nId: '15',\r\nName: 'QN-00005',\r\nType__c: 'Radio',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Choose your favorite role',\r\nQuestion__c: 'Choose your favorite role',\r\nTracking_ID__c: '1234',\r\nNext_Question__c: '',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c:'5',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nQuestion_Options__r: {\r\nrecords: [\r\n {\r\n Id: '121',\r\n Name: '121N',\r\n Value__c: '121V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '122',\r\n Name: '122N',\r\n Value__c: '122V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '123',\r\n Name: '123N',\r\n Value__c: '123V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n }\r\n ]\r\n}\r\n};\r\n\r\n// Checkbox Question\r\nexport const CHECKQUESTION: Question = {\r\nId: '16',\r\nName: 'QN-00006',\r\nType__c: 'Checkbox',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Choose your favorite spots',\r\nQuestion__c: 'Choose your favorite spots',\r\nTracking_ID__c: '1234',\r\nNext_Question__c: '',\r\nIs_Optional__c: false,\r\nIs_Title__c: false,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c:'6',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\nQuestion_Options__r: {\r\nrecords: [\r\n {\r\n Id: '121',\r\n Name: '121N',\r\n Value__c: '121V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '122',\r\n Name: '122N',\r\n Value__c: '122V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '123',\r\n Name: '123N',\r\n Value__c: '123V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n }\r\n ]\r\n}\r\n};\r\n\r\nexport const GOOGLE_MAP_API_KEY = 'AIzaSyA18odJnD-pDsu7EVJ7WiXVM5sVvpjAQxw';\r\n\r\n// Book Question\r\nexport const BOOKQUESTION: Question = {\r\nId: '17',\r\nName: 'QN-00007',\r\nType__c: 'Book',\r\nAllowed_File_Extensions__c : '.pdf',\r\nTracking_ID__c: '1234',\r\nQuestion__c: 'Provide your Address',\r\nQuestion_Text__c: 'Provide your Address',\r\nNext_Question__c: '',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c:'7',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nQuestions__r: {\r\nrecords: [\r\n{\r\n Id: '170',\r\n Name: 'QN-000070',\r\n Type__c: 'Dropdown',\r\n Question_Text__c: 'Land',\r\n Question__c: 'Land',\r\n Size__c:1,\r\n Allowed_File_Extensions__c : '.pdf',\r\n Tracking_ID__c: '1234',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c:false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n Question_Options__r: {\r\n records: [\r\n {\r\n Id: '1',\r\n Name: 'D',\r\n Value__c: 'D',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '2',\r\n Name: 'CH',\r\n Value__c: 'CH',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '3',\r\n Name: 'UK',\r\n Value__c: 'UK',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n }\r\n ]\r\n }\r\n},\r\n{\r\n Id: '171',\r\n Name: 'QN-000071',\r\n Type__c: 'Text',\r\n Size__c:3,\r\n Allowed_File_Extensions__c : '.pdf',\r\n Question_Text__c: 'PLZ',\r\n Question__c: 'PLZ',\r\n Tracking_ID__c: '1234',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c: false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n{\r\n Id: '172',\r\n Name: 'QN-000072',\r\n Type__c: 'Text',\r\n Allowed_File_Extensions__c : '.pdf',\r\n Tracking_ID__c: '1234',\r\n Question_Text__c: 'ORT',\r\n Question__c: 'ORT',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c: false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Size__c:8,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n{\r\n Id: '173',\r\n Name: 'QN-000073',\r\n Type__c: 'Text',\r\n Question_Text__c: 'StraBe',\r\n Question__c: 'StraBe',\r\n Tracking_ID__c: '1234',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c:false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Allowed_File_Extensions__c : '.pdf',\r\n Size__c:8,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext', \r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n{\r\n Id: '174',\r\n Name: 'QN-000074',\r\n Type__c: 'Text',\r\n Allowed_File_Extensions__c : '.pdf',\r\n Tracking_ID__c: '1234',\r\n Question_Text__c: 'Hausnummer',\r\n Question__c: 'Hausnummer',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c:false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Size__c:4,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n]\r\n},\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport {Router} from '@angular/router';\r\n\r\ndeclare class Visualforce {\r\n static remoting: { Manager: { invokeAction: any } };\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SalesforceService {\r\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\r\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\r\n\r\n public remoteAction(methodName: string,\r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\r\n const self = this;\r\n var nsMethodName = this.getRNXTMethodName();\r\n //console.log('method name in lib = ' + nsMethodName);\r\n\r\n Visualforce.remoting.Manager.invokeAction(\r\n nsMethodName,\r\n //'NxtController.process',\r\n //`{!$RemoteAction.NxtController.process}`,\r\n ...params,\r\n function (result, event) {\r\n try {\r\n result = JSON.parse(result);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n //console.log('Function called was - ' + methodName);\r\n //console.log(result);\r\n //console.log(resolve(result));\r\n if (result.status) {\r\n resolve(result);\r\n } else {\r\n resolve(result);\r\n }\r\n },\r\n config || { buffer: false, escape: false }\r\n );\r\n }\r\n\r\n constructor(private _router: Router) {\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public getAPIData(tkn: string, \r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n console.log('inside DataService.getAPIData for ' + tkn);\r\n const self = this;\r\n\r\n // Call the ShengelGo Server\r\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\r\n headers.append('Accept', 'application/json');\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n\r\n // Use Shengel Go Server IP/Domain https://dev-api.shengelgo.com\r\n\r\n this.http.get('https://dev-api.shengelgo.com/nxt/api/process/?dataType=' + params[0] + '&operation=' + params[1] + '&param=' + params[2], { headers: headers , observe: 'response' })\r\n .subscribe(response => {\r\n if(response.status == 200) {\r\n resolve(response.body);\r\n } else {\r\n reject(response.body);\r\n }\r\n }, error => {\r\n console.log(error.status);\r\n reject(error);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, NgModule, NgZone, OnInit, Output, ViewChild } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-pick-location',\r\n templateUrl: './pick-location.component.html',\r\n styleUrls: ['./pick-location.component.css']\r\n})\r\nexport class PickLocationComponent implements OnInit {\r\n latitude = null;\r\n longitude = null;\r\n zoom: number = 10;\r\n private geoCoder;\r\n // public formGroup: FormGroup;\r\n @ViewChild('search', { static: true })\r\n public searchElementRef: ElementRef<HTMLInputElement>;\r\n showModal: boolean = false;\r\n @Input() address:string;\r\n @Output() locationSelected: EventEmitter<any> = new EventEmitter<any>();\r\n navigatorGeolocation: any;\r\n markerPosition: { lat: any; lng: any; };\r\n center: { lat: any; lng: any; };\r\n markerOptions:any;\r\n\r\n constructor(\r\n // private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone) { \r\n this.geoCoder = new google.maps.Geocoder();\r\n this.markerOptions = new google.maps.Marker ({\r\n draggable: true,\r\n animation: google.maps.Animation.DROP\r\n });\r\n // this.formGroup = this.formBuilder.group({\r\n // location: [''] // Add any initial value or leave it empty\r\n // });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initAutocomplete();\r\n this.onMarkerDragEnd();\r\n }\r\n \r\n initAutocomplete(): void {\r\n if (this.geoCoder) {\r\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.latitude = place.geometry.location.lat();\r\n this.longitude = place.geometry.location.lng();\r\n this.zoom = 18;\r\n this.address = place.formatted_address;\r\n this.locationSelected.emit(this.address);\r\n });\r\n });\r\n }\r\n }\r\n\r\n onMarkerDragEnd(): void {\r\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\r\n console.log('dragable working',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n\r\n onMapClick(event: google.maps.MapMouseEvent): void {\r\n console.log('onMapClick',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n }\r\n\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n }\r\n\r\n\r\n getAddress(latitude: number, longitude: number) {\r\n if (this.geoCoder) {\r\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\r\n console.log('results',results);\r\n console.log('status',status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n // this.zoom = 18;\r\n this.address = results[0].formatted_address;\r\n this.locationSelected.emit(this.address);\r\n } else {\r\n console.log('No results found');\r\n }\r\n } else {\r\n console.log('Geocoder failed due to: ' + status);\r\n }\r\n });\r\n }\r\n }\r\n\r\n openMap() {\r\n this.showModal = true;\r\n if(!this.address){\r\n this.latitude = this.longitude = null;\r\n }\r\n if (!(this.latitude && this.longitude)) {\r\n this.setCurrentLocation();\r\n }else{\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n }\r\n }\r\n\r\n closeModal() {\r\n this.showModal = false;\r\n }\r\n\r\n\r\n}\r\n","<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { Question } from '../../wrapper';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n\r\n@Component({\r\n selector: 'app-custom-input',\r\n templateUrl: './custom-input.component.html',\r\n styleUrls: ['./custom-input.component.css']\r\n})\r\n\r\nexport class CustomInputComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() question: Question\r\n @Input() disabled: boolean = false; // input disabled or not\r\n @Input() placeholder:string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n\r\n @Input() ngClassValue:any;\r\n @Input() idValue:any;\r\n @Input() focusEvent: any;\r\n @Output() inputValue = new EventEmitter<any>(); \r\n\r\n subscription: Subscription;\r\n\r\n constructor(private changeService: ChangeService) { \r\n }\r\n\r\n ngOnInit(): void {\r\n // Since the idValue holds the Parent Question\r\n if(this.question.Sub_Text__c != undefined) {\r\n this.disabled = true;\r\n let dependencyObj: DependencyMeta = JSON.parse(this.question.Sub_Text__c);\r\n\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n console.log('inside subscription for the change');\r\n if(changeValue != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n this.value = changeValue.valueObj[dependencyObj.valueField];\r\n this.inputValue.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngOnChange(): void {\r\n }\r\n\r\n ngOnDestroy() {\r\n // prevent memory leak when component destroyed\r\n this.subscription?.unsubscribe();\r\n }\r\n \r\n onInputChange(input:any){\r\n this.inputValue.emit(input.target.value);\r\n }\r\n}\r\n","<input *ngIf=\"!fromShengel\" type=\"text\" \r\n [(ngModel)]=\"value\"\r\n [ngClass]=\"ngClassValue\"\r\n [id]=\"idValue\"\r\n (focus)=\"focusEvent\"\r\n [style.border-color]=\"error ? 'red' : ''\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInputChange($event)\" />\r\n\r\n<input *ngIf=\"fromShengel\" class=\"input-shengel\"\r\n [(ngModel)]=\"value\"\r\n type=\"text\" \r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInputChange($event)\" />\r\n\r\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-text-area',\r\n templateUrl: './custom-text-area.component.html',\r\n styleUrls: ['./custom-text-area.component.css']\r\n})\r\nexport class CustomTextAreaComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() placeholder:string;\r\n @Input() rows:Number; //The number of visible text lines for the control\r\n @Input() error:any;\r\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onTextareaChange(event:any): void {\r\n this.textareaValueChange.emit(event.target.value);\r\n }\r\n\r\n}\r\n","\r\n<textarea \r\n [(ngModel)] =\"value\" \r\n [rows]=\"rows\" \r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder\"\r\n (input)=\"onTextareaChange($event)\"\r\n></textarea>\r\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TableWrapper } from '../../model/tableWrapper';\r\nimport { Question } from '../../wrapper';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-custom-table',\r\n templateUrl: './custom-table.component.html',\r\n styleUrls: ['./custom-table.component.css']\r\n})\r\n\r\nexport class CustomTableComponent implements OnInit {\r\n @Input() question: Question\r\n @Output() valueChange: EventEmitter<any[]> = new EventEmitter<any[]>();\r\n\r\n tableInfo: TableWrapper;\r\n tableHeader: any;\r\n tableData: any;\r\n addRowColSpan: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if(this.question.Sub_Text__c != undefined) {\r\n this.tableInfo = JSON.parse(this.question.Sub_Text__c);\r\n\r\n this.tableHeader = this.tableInfo.header;\r\n this.tableData = this.tableInfo.data;\r\n\r\n if(this.tableData.addRow) {\r\n this.addRowColSpan = this.tableHeader.length - 2;\r\n }\r\n }\r\n }\r\n\r\n addRow(): void {\r\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\r\n const updatedTableData = [...this.tableData, newItem];\r\n this.tableData = updatedTableData;\r\n this.emitTableDataValue(updatedTableData);\r\n }\r\n\r\n updateRadio(item: any, value: string): void {\r\n item.value = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n\r\n updateLabel(rowIndex: number, label: string, value: string): void {\r\n this.tableData[rowIndex][label] = value;\r\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n\r\n emitTableDataValue(updatedTableData: any[]): void {\r\n this.valueChange.emit(updatedTableData);\r\n }\r\n}","<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\r\n {{ header.label }}\r\n </th>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.type === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'image'\" [class]=\"'col-md-' + header.size\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\r\n </div>\r\n <div *ngIf=\"header.type === 'text'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'radio'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow\">\r\n <td colspan=\"3\">\r\n <b>Add More</b>\r\n </td>\r\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-date-picker',\r\n templateUrl: './custom-date-picker.component.html',\r\n styleUrls: ['./custom-date-picker.component.css']\r\n})\r\nexport class CustomDatePickerComponent implements OnInit {\r\n @Input() date: string;\r\n @Input() minDate:any;\r\n @Input() maxDate:any;\r\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\r\n dateSelected:any\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.dateSelected = new Date(this.date);\r\n }\r\n\r\n onDateChange(event: any) {\r\n this.dateChange.emit(event);\r\n }\r\n\r\n}\r\n","<!-- <div class=\"date-picker-container\">\r\n <label>{{label}}</label>\r\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\r\n</div> -->\r\n<!-- <mat-form-field>\r\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</mat-form-field> -->\r\n\r\n<p>\r\n <input class=\"input-shengel\"\r\n [(ngModel)]=\"dateSelected\" \r\n [owlDateTimeTrigger]=\"dt\" \r\n [owlDateTime]=\"dt\" \r\n [min]=\"minDate\"\r\n placeholder=\"DD/MM/YYYY HH:MM\"\r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onDateChange($event)\">\r\n <owl-date-time #dt></owl-date-time>\r\n</p>\r\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dropdown-with-flag',\r\n templateUrl: './dropdown-with-flag.component.html',\r\n styleUrls: ['./dropdown-with-flag.component.css']\r\n})\r\nexport class DropdownWithFlagComponent implements OnInit {\r\n @Input() certified:boolean= false;\r\n // @Input() getValue:string = '';\r\n @Input() JobPerformerCertificates: any[] = [];\r\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \r\n selectedValue:string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(){\r\n this.selectedValue = null;\r\n }\r\n \r\n onJobPerformerCertified(event:any){\r\n this.flagDropDownChange.emit(event);\r\n }\r\n\r\n}\r\n","<div class=\"she-title\">\r\n <label class=\"switch\">\r\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\r\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \r\n <span class=\"switch-handle\"></span> \r\n </label> \r\n <ng-select *ngIf=\"certified\"\r\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \r\n [items]=\"JobPerformerCertificates\"\r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"onJobPerformerCertified($event)\"\r\n placeholder=\"---Select---\">\r\n </ng-select>\r\n </div> ","export class ChangeWrapper {\r\n fromQuestionId: string;\r\n fromQuestionName: string;\r\n toQuestionId: string;\r\n toQuestionName: string;\r\n valueObj: any;\r\n}\r\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\n\r\n@Component({\r\n selector: 'app-custom-dropdown',\r\n templateUrl: './custom-dropdown.component.html',\r\n styleUrls: ['./custom-dropdown.component.css']\r\n})\r\nexport class CustomDropdownComponent implements OnInit {\r\n @Input() options: string[];\r\n @Input() placeholder: string;\r\n @Input() apiMeta: string;\r\n @Input() selectedValue: string;\r\n @Input() progressBar: boolean;\r\n @Input() id:string;\r\n @Input() errorMessage: string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n\r\n constructor(private http: HttpClient) { \r\n }\r\n\r\n public labelField: string;\r\n public valueField: string;\r\n\r\n ngOnInit(): void {\r\n console.log('inside oninit of custom-dropdown of ' + this.id);\r\n // console.log(this.apiMeta);\r\n if(this.apiMeta !== undefined) {\r\n this.options = [];\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.labelField = apiObj.field;\r\n\r\n this.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\r\n let responses = apiResponse[apiObj.variable];\r\n let results = [];\r\n for (let i = 0; i < responses.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\r\n this.options = results;\r\n })\r\n }\r\n }\r\n\r\n public apiResponse(endpoint: string): Observable<any> {\r\n return this.http.get(endpoint);\r\n }\r\n\r\n selectChange(event:any) {\r\n console.log('inside selectChange from ' + this.id);\r\n // console.log(event);\r\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event;\r\n this.valueChange.emit(change);\r\n }\r\n}\r\n","<select *ngIf=\"!fromShengel\"\r\n [ngClass]=\"{\r\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\r\n 'custom-select': !progressBar\r\n }\" class=\"custom-select mr-sm-2 dd-height\" \r\n [id]=\"id\" \r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"selectChange($event.target.value);\" \r\n [style.borderColor]=\"error ? 'red' : '#858585'\"\r\n [style.color]=\"error ? 'red' : ''\">\r\n <option *ngFor=\"let option of options\" [value]=\"option.Value__c\" class=\"option\">{{ option.Value__c }}</option>\r\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\r\n</select>\r\n\r\n<ng-select *ngIf=\"fromShengel\"\r\n class=\"shengel-custom-select\"\r\n [(ngModel)]=\"selectedValue\" \r\n [placeholder]=\"placeholder\"\r\n (change)=\"selectChange($event)\"\r\n [id]=\"id\">\r\n <ng-option *ngFor=\"let option of options\" [value]=\"option\">{{ option[labelField] }}</ng-option> \r\n <ng-option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</ng-option>\r\n</ng-select>\r\n\r\n<span *ngIf=\"error && fromShengel\" class=\"error-msg\">Required*</span>","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { UntypedFormBuilder } from \"@angular/forms\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as moment from 'moment'; \r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\n\r\nimport {\r\n Question,\r\n QuestionBook,\r\n AnswerBook,\r\n AnswerWrapper,\r\n Option,\r\n OptionValue,\r\n AttachmentWrapper,\r\n Attachment,\r\n LocalQuestion\r\n} from \"../../wrapper\";\r\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\r\n\r\nimport {\r\n TESTQUESTION,\r\n DTQUESTION,\r\n FILEQUESTION,\r\n TAQUESTION,\r\n RADIOQUESTION,\r\n CHECKQUESTION,\r\n BOOKQUESTION,\r\n TESTQB,\r\n} from \"../../sample\";\r\nimport { from } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"lib-questionnaire\",\r\n templateUrl: \"./questionnaire.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ChangeService],\r\n styleUrls: [\"./questionnaire.component.css\"],\r\n})\r\nexport class QuestionnaireComponent implements OnInit {\r\n @Input() qbId: string;\r\n @Input() insuranceStartDate: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Output() handleEvent = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n\r\n params: Params;\r\n public deviceInfo = null;\r\n public abItem: AnswerBook;\r\n public qbItem: QuestionBook;\r\n public questionItem: Question;\r\n public answerWrap: AnswerWrapper;\r\n\r\n // CONDITIONAL TYPES\r\n public radioFlag: boolean = false;\r\n public dataFlag: boolean = false;\r\n\r\n // OPTIONONLY TYPES\r\n public dropdownFlag: boolean = false;\r\n public checkboxFlag: boolean = false;\r\n\r\n // UNCONDITIONAL TYPES\r\n public textFlag: boolean = false;\r\n public taFlag: boolean = false;\r\n public dtFlag: boolean = false;\r\n public timeFlag: boolean = false;\r\n public dateFlag: boolean = false;\r\n public fileFlag: boolean = false;\r\n public emailFlag: boolean = false;\r\n public numberFlag: boolean = false;\r\n public alphanumericFlag: boolean = false;\r\n public bookFlag: boolean = false;\r\n public listFlag: boolean= false;\r\n //Back button\r\n public backButtonFlag: boolean = false;\r\n public optionValues: OptionValue[] = [];\r\n public subQuestions: Question[] = [];\r\n public inpValue: string;\r\n public answerMap = new Map();\r\n public dateMap = new Map();\r\n public selectedhourMap = new Map();\r\n public selectedminuteMap = new Map();\r\n public attachmentsMap = new Map();\r\n public sqOptions = new Map();\r\n public subAnsMap = new Map();\r\n public localSubQuestions: LocalQuestion[] = [];\r\n public questionStack = [];\r\n public questionName = [];\r\n public attachments: any[] = [];\r\n public attachmentIdList: any[] = [];\r\n public attachmentId: string = \"\";\r\n public attachment: any;\r\n public allowedFileExtension: string[];\r\n public fileExceededLimit: boolean = false;\r\n public fileTypeIncorrect: boolean = false;\r\n public back: boolean = false;\r\n public backicon: boolean = false;\r\n public check: boolean;\r\n public pop: boolean;\r\n public localDate: string;\r\n public currentName: string;\r\n public pathquestion: number;\r\n public percent: number;\r\n public count: number;\r\n public taFocusOut: boolean = false;\r\n public notValidAccNum: boolean = false;\r\n public splCCBackClick: boolean = false;\r\n public summary = [];\r\n public localSubQMap = new Map();\r\n public keyIndex: number = 0;\r\n //public sques: string;\r\n public selDate: any = {};\r\n public selectDate: string;\r\n private today: Date = new Date();\r\n private el: HTMLElement;\r\n public innerhtml: any;\r\n public possibilities: any;\r\n public innerhtml1: any;\r\n public summaryData =[];\r\n\r\n public hours: any[] = [\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n ];\r\n\r\n public minutes: string[] = [\r\n \"00\",\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"24\",\r\n \"25\",\r\n \"26\",\r\n \"27\",\r\n \"28\",\r\n \"29\",\r\n \"30\",\r\n \"31\",\r\n \"32\",\r\n \"33\",\r\n \"34\",\r\n \"35\",\r\n \"36\",\r\n \"37\",\r\n \"38\",\r\n \"39\",\r\n \"40\",\r\n \"41\",\r\n \"42\",\r\n \"43\",\r\n \"44\",\r\n \"45\",\r\n \"46\",\r\n \"47\",\r\n \"48\",\r\n \"49\",\r\n \"50\",\r\n \"51\",\r\n \"52\",\r\n \"53\",\r\n \"54\",\r\n \"55\",\r\n \"56\",\r\n \"57\",\r\n \"58\",\r\n \"59\",\r\n ];\r\n\r\n public selectedHour: string = \"\";\r\n public selectedMinute: string = \"\";\r\n public selectedMeridiem: string = \"\";\r\n public valueName: string = \"\";\r\n public valueName1: string = \"\";\r\n public bookFlagAccept: string[];\r\n public recordId: string;\r\n public currentQuestionId: string;\r\n public spinnerType: string;\r\n public spinnerName: string;\r\n public nextValue:string ='';\r\n\r\n start_date?: any;\r\n\r\n //search component\r\n public tempoAddress: any[] = [];\r\n public selectedValue: string;\r\n public selectedPostalcode: string;\r\n public selectedProvince: string;\r\n public selectedCity: string;\r\n public selectedArea: string;\r\n public localaddress: any[] = [];\r\n\r\n public allAddress :any [] = [];\r\n public PostalCode:string;\r\n public places: any[] = [];\r\n public province:any[]=[];\r\n \r\n // REQ-01 PROGRESS BAR\r\n public progressStyle: string = \"0%\";\r\n public answerCount: number = 0;\r\n public indexCount: number = 0;\r\n public addFlag: boolean = true;\r\n\r\n public myDatePickerOptions: IMyDpOptions = {};\r\n individualBookButton: boolean;\r\n\r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService, \r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private spinner: NgxSpinnerService,\r\n private _formBuilder: UntypedFormBuilder,\r\n //private dbService: NgxIndexedDBService,\r\n private deviceService: DeviceDetectorService,\r\n el: ElementRef\r\n ) {\r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise\";\r\n }\r\n\r\n onDateChanged(event: IMyDateModel) {\r\n //console.log('Inside the onDateChanged');\r\n //to change the border color\r\n if (this.qbItem.Progress_Bar__c) {\r\n //console.log('Inside the progressBar cond');\r\n this.inpValue =\r\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n if(this.questionItem.Type__c ==\"Book\"){\r\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n }\r\n } else {\r\n //console.log('Inside the ELSE of progressBar cond');\r\n if(this.questionItem.Type__c ==\"Book\"){\r\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\r\n }\r\n this.inpValue =\r\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\r\n }\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\r\n this.dateMap.set(this.questionItem.Id, event);\r\n if (\r\n event.date.day === 0 &&\r\n event.date.month === 0 &&\r\n event.date.year === 0\r\n ) {\r\n this.dateMap.delete(this.questionItem.Id);\r\n this.answerMap.delete(this.questionItem.Id);\r\n }\r\n //console.log('this.inpValue = '+this.inpValue);\r\n //console.log('this.selectDate = '+this.selectDate);\r\n }\r\n\r\n ngOnInit() {\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.route.queryParams.subscribe((params: Params) => {\r\n if (params['id']) {\r\n this.individualBookButton = true;\r\n }else if(params['bookletId']){\r\n this.individualBookButton = false;\r\n }\r\n });\r\n console.log('Inside the ngOnInit');\r\n // console.log(\"RNXT-Claim\");\r\n this.inpValue = \"\";\r\n this.selectedMeridiem = \"AM\";\r\n this.processQB();\r\n //console.log(localStorage.getItem('address'));\r\n if(localStorage.getItem(\"address\")){\r\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\r\n //console.log('Length='+this.localaddress.length);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n }); \r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n } else if(this.deviceInfo.os === 'iOS'){\r\n let openRequest = indexedDB.open(\"addressDB\");\r\n openRequest.onsuccess = (event) => {\r\n const targetNew = event.target as IDBRequest;\r\n let dbNew = targetNew.result;\r\n const requestNew = dbNew.transaction('addressTable')\r\n .objectStore('addressTable')\r\n .get(1);\r\n requestNew.onsuccess = ()=> {\r\n const tempVar = requestNew.result;\r\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n }); \r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n }\r\n };\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n console.log('inside Questionnaire ngOnChanges');\r\n // this.processQB();\r\n }\r\n\r\n date_TimeMap() {\r\n this.selectedhourMap.set(this.questionItem.Id, this.selectedHour);\r\n this.selectedminuteMap.set(this.questionItem.Id, this.selectedMinute);\r\n }\r\n\r\n day() {\r\n this.myDatePickerOptions = {\r\n dateFormat: \"dd.mm.yyyy\",\r\n sunHighlight: false,\r\n disableDateRanges: [],\r\n showClearDateBtn: false,\r\n disableSince: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n disableUntil: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n showTodayBtn: false,\r\n dayLabels: {\r\n su: \"Dom\",\r\n mo: \"Lun\",\r\n tu: \"Mar\",\r\n we: \"Mié\",\r\n th: \"Jue\",\r\n fr: \"Vie\",\r\n sa: \"Sáb\",\r\n },\r\n monthLabels: {\r\n 1: \"Ene\",\r\n 2: \"Feb\",\r\n 3: \"Mar\",\r\n 4: \"Abr\",\r\n 5: \"Mayo\",\r\n 6: \"Jun\",\r\n 7: \"Jul\",\r\n 8: \"Ago\",\r\n 9: \"Sep\",\r\n 10: \"Oct\",\r\n 11: \"Nov\",\r\n 12: \"Dic\",\r\n },\r\n };\r\n }\r\n\r\n change() {\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n if (this.selDate === null || this.inpValue.length === 0) {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\r\n } else {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\r\n }\r\n }\r\n\r\n processQB() {\r\n //console.log('ProcessQB');\r\n //this.qbItem\r\n //console.log(this.qbId);\r\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\r\n if (this.qbId) {\r\n if (this.qbId.length == 18) {\r\n this.readQuestionBook(this.qbId);\r\n } else {\r\n //console.log('Inside the else part');\r\n //console.log('Setting the Question Directly for testing');\r\n this.questionItem = DTQUESTION;\r\n this.qbItem = TESTQB;\r\n this.processQuestion();\r\n }\r\n }\r\n }\r\n\r\n trimLastDummy(input: string) {\r\n return (input = input.substring(0, input.length - 6));\r\n }\r\n\r\n getProperTime(def: string, input: string) {\r\n return input === \"\" ? def : input;\r\n }\r\n\r\n //Summary Question Clickable Logic\r\n handleEditClick(value: string) {\r\n this.backicon = false;\r\n if (this.abItem?.Status__c == \"Pending\") {\r\n if (value == null) {\r\n return;\r\n }\r\n this.readQuestion(value);\r\n //console.log(' in side summaryopen'+ this.summary.length);\r\n\r\n //Assign question stack length from summary part\r\n var arrayLength = this.questionStack.length;\r\n var lengthValue = this.questionStack.indexOf(value);\r\n\r\n for (let i = arrayLength; i > lengthValue; i--) {\r\n this.questionStack.pop();\r\n }\r\n if (this.qbItem.Progress_Bar__c === true) {\r\n var arrayLength1 = this.questionName.length;\r\n for (let j = arrayLength1; j > lengthValue; j--) {\r\n this.questionName.pop();\r\n }\r\n }\r\n this.summary = [];\r\n this.summaryData = [];\r\n }\r\n }\r\n\r\n handleNextClick() {\r\n this.backButtonFlag = false;\r\n this.AnswerSave();\r\n }\r\n\r\n AnswerSave(){\r\n //this.updateProgress();\r\n if (this.currentQuestionId === null) {\r\n return;\r\n }\r\n var questionTxt='';\r\n this.clearError();\r\n this.handleEvent.emit(this.qbItem.Next_Tracking_ID__c);\r\n this.recordId = null;\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n // Create an array of objects to store the values\r\n for (var i=0; i<this.questionItem.Questions__r.records.length;i++) {\r\n if(this.questionItem.Questions__r.records[i].Question_Text__c){\r\n var questionText = this.questionItem.Questions__r.records[i].Question_Text__c.replace(/<[^>]+>/g, ''); // Remove HTML tags from the Question_Text__c value\r\n }else{\r\n questionText = 'undefined';\r\n }\r\n const input = this.questionItem.Questions__r.records[i].input;\r\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\r\n this.summaryData.push(obj); // Add the object to the data array\r\n }\r\n var typ = cQuestion.Type__c;\r\n // this.sques += cQuestion.Question__c + '@@##$$';\r\n var quesValue = cQuestion.Question_Text__c;\r\n var mailformat =\r\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\r\n\r\n // Process Inputs\r\n if (this.checkboxFlag) {\r\n this.inpValue = \"\";\r\n // Save all the selected options in the inpValue\r\n for (var ov of this.optionValues.filter((item) => item.checked)) {\r\n this.inpValue += ov.Value__c + \"@@##$$\";\r\n this.recordId = ov.Next_Question__c;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n } else if (this.emailFlag) {\r\n if (this.inpValue && this.inpValue.match(mailformat)) {\r\n this.recordId = this.questionItem.Next_Question__c;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.alphanumericFlag) {\r\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\r\n if (isNotValidAccNum) {\r\n this.notValidAccNum = true;\r\n this.recordId = this.questionItem.Next_Question__c;\r\n return;\r\n }\r\n this.notValidAccNum = false;\r\n } else if (this.numberFlag) {\r\n if (this.inpValue) {\r\n this.recordId = this.questionItem.Next_Question__c;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.bookFlag) {\r\n //console.log(this.questionItem.Type__c)\r\n //console.log('Inside the bookFlag cond');\r\n //console.log('this.inpValue = '+this.inpValue);\r\n //console.log('this.selectDate = '+this.selectDate);\r\n //console.log('this.selDate = ');\r\n //console.log(this.selDate);\r\n this.inpValue = \"\";\r\n var hasMissingInput = false;\r\n for (var item of this.questionItem.Questions__r.records) {\r\n var count = 0;\r\n \r\n if(item.Type__c == \"Date\" || item.Type__c == \"Time\") {\r\n //this one\r\n this.change();\r\n if(item.Type__c == \"Date\"){\r\n //console.log('Inside the date type cond = '+this.selectDate);\r\n this.inpValue = this.selectDate;\r\n //console.log(this.inpValue)\r\n //console.log(this.selectDate)\r\n \r\n }\r\n if(item.Type__c == \"Time\"){\r\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\r\n \r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.Progress_Bar__c) {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n } else {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n \r\n }\r\n }\r\n if (this.questionItem.X24_Hours__c === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.Progress_Bar__c) {\r\n this.inpValue = this.questionItem.input;\r\n } else {\r\n this.inpValue = this.questionItem.input;\r\n }\r\n }\r\n }\r\n\r\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectedHour || !this.selectedMinute || !this.selectDate) {\r\n //console.log('Inside the null condition of input');\r\n this.questionItem.error = new ErrorWrapper();\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n\r\n if(item.Type__c== \"Text\" && item.Question__c === 'Población'){\r\n for(var loc of this.localaddress){\r\n if((this.selectedPostalcode == loc.zipCode)&&(this.selectedValue == loc.country)&&(this.selectedCity==loc.town)){\r\n item.input= this.selectedCity;\r\n break;\r\n }\r\n else if(count == this.localaddress.length -1){\r\n //console.log('error form city')\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n return;\r\n }\r\n count++; \r\n }\r\n //console.log('testin values=='+item.input)\r\n } \r\n \r\n // if(item.Type__c === 'Location' && Array.isArray(item.input) && item.input.every((input) => input !== undefined)){\r\n // const inputValues = \"answerString: \" + item.input ;\r\n // item.input = inputValues;\r\n // }\r\n if(item.Type__c== \"Text\" && item.Question__c === 'Código postal'){\r\n for(var loc of this.localaddress){\r\n if(loc.zipCode == this.selectedPostalcode){\r\n //console.log('testing zipcode value*****'+ this.selectedPostalcode)\r\n item.input=this.selectedPostalcode;\r\n break;\r\n } else if(count == this.localaddress.length -1){\r\n //console.log('error form')\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n return;\r\n }\r\n count++; \r\n }\r\n //console.log('testin values=='+item.input)\r\n }\r\n \r\n \r\n if(item.Type__c== \"Text\" && item.Question__c === 'Provincia'){\r\n\t\t\t for(var loc of this.localaddress){\r\n\t\t\t\t if(loc.province == this.selectedProvince){\r\n\t\t\t\t\t //console.log('******testing province value'+ this.selectedProvince)\r\n\t\t\t\t\t item.input=this.selectedProvince;\r\n\t\t\t\t\t break;\r\n\t\t\t\t } else if(count == this.localaddress.length -1){\r\n\t\t\t\t\t//console.log('error form')\r\n\t\t\t\t\titem.error = new ErrorWrapper();\r\n\t\t\t\t\thasMissingInput = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t }\r\n\t\t\t\t count++; \r\n\t\t\t }\r\n\t\t\t//console.log('testin values=='+item.input)\r\n\t\t }\r\n\r\n if (\r\n !item.Is_Optional__c &&\r\n // ((item.Type__c != \"File\" && !item.input && item.Type__c != 'Date' && item.Type__c != 'Time') ||\r\n // (item.Type__c == \"File\" && this.attachments.length == 0))\r\n (item.Type__c == \"File\" && this.attachments.length == 0)\r\n ) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if (item.Type__c == \"Radio\") {\r\n if (!item.input) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.Type__c == \"Dropdown\") {\r\n if (!item.input) {\r\n item.input = \"\";\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.Type__c == \"Email\") {\r\n if (item.input && item.input.match(mailformat)) {\r\n this.recordId = cQuestion.Next_Question__c;\r\n } else {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.Type__c == \"File\" && this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n if (item.input == this.inpValue) {\r\n this.recordId = cQuestion.Next_Question__c;\r\n //console.log('inside' + recordId);\r\n }\r\n }\r\n // this.attachments = [];\r\n } //item.input == this.inpValue;\r\n\r\n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\r\n questionTxt += item.Question__c + \"@@##$$\";\r\n //console.log('inside book1' + this.inpValue)\r\n }\r\n if (hasMissingInput) {\r\n return;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\r\n } \r\n else if (this.listFlag) {\r\n this.inpValue = '';\r\n var hasMissingInput = false;\r\n if(this.localSubQMap.has(this.questionItem.Id)){\r\n this.subAnsMap = new Map();\r\n for (var localQues of this.localSubQMap.get(this.questionItem.Id)) {\r\n if(!localQues.input) {\r\n localQues.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if(!this.subAnsMap.has(localQues.Id)){\r\n // console.log('inside ans map')\r\n this.subAnsMap.set(localQues.Id,localQues.input);\r\n } else {\r\n // console.log('inside ans map else')\r\n this.subAnsMap.set(localQues.Id,this.subAnsMap.get(localQues.Id) + '$$@@##'+localQues.input);\r\n }\r\n }\r\n\r\n if (hasMissingInput) {\r\n //console.log('file two')\r\n return;\r\n }\r\n this.subAnsMap.forEach((value, key) => {\r\n // console.log('inside Map' );\r\n // console.log(value);\r\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\r\n });\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n }\r\n }\r\n else if (this.dropdownFlag) {\r\n if (this.inpValue.length <= 1) {\r\n this.inpValue = \".\";\r\n this.questionItem.error = new ErrorWrapper();\r\n }\r\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\r\n //this one\r\n this.change();\r\n if (this.inpValue) {\r\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\r\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\r\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\r\n //console.log(this.inpValue.length);\r\n\r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.Progress_Bar__c) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.questionItem.X24_Hours__c === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.Progress_Bar__c) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.qbItem.Progress_Bar__c) {\r\n //console.log(\"ans => \" + this.inpValue);\r\n var date1: any = this.inpValue.split(\" \");\r\n date1 = date1[0].split(\"/\");\r\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\r\n date1 = new Date(date1);\r\n //console.log(date1)\r\n var date2: any = this.insuranceStartDate.split(\" \");\r\n date2 = new Date(date2[0]);\r\n //console.log(date2);\r\n if (date1 < date2) {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg =\r\n \"No es posible dar de alta la reclamación debido a que la fecha del incidente es anterior a la fecha de contratación de la póliza\";\r\n //console.log('inside')\r\n return;\r\n }\r\n }\r\n if (this.selDate === null || !this.inpValue) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\r\n this.date_TimeMap();\r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.inpValue =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute;\r\n } else {\r\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\r\n }\r\n if (this.inpValue.length < 5) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\r\n this.change();\r\n if (this.inpValue.length < 7 || this.selDate === null) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.fileFlag) {\r\n //console.log('four')\r\n this.inpValue = \"\";\r\n if (this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n }\r\n //console.log('inside filesss' + this.inpValue);\r\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n }\r\n\r\n // Check for the answer before saving to the DB\r\n if (!this.questionItem.Is_Optional__c && !this.inpValue) {\r\n // Show error that the question must be answered\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n // Save the Answer in the DB\r\n this.answerWrap = new AnswerWrapper();\r\n this.answerWrap.abId = this.abItem.Id;\r\n this.answerWrap.quesId = cQuestion.Id;\r\n this.answerWrap.quesValue = quesValue;\r\n this.answerWrap.qTyp = typ;\r\n this.answerWrap.ansValue = this.inpValue;\r\n this.answerWrap.groupText = cQuestion.Group__c;\r\n this.answerWrap.ansValue = this.inpValue;\r\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\r\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\r\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\r\n // console.log('Bank condition');\r\n // console.log(this.answerWrap.ansValue);\r\n }\r\n /*if (cQuestion.Type__c == 'Book'){\r\n for (var qb of cQuestion.Questions__r.records){\r\n //console.log(qb.Question__c+'****'+\"@@##$$\")\r\n } \r\n }*/\r\n //this.answerWrap.squesValue = cQuestion.Question__c;\r\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.Question__c;\r\n this.saveAnswer();\r\n }\r\n\r\n next() {\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n var typ = cQuestion.Type__c;\r\n // If no error then move to next steps\r\n if (this.questionItem.error) {\r\n return;\r\n }\r\n\r\n this.questionStack.push(cQuestion.Id);\r\n // this.questionName.push(cQuestion.Name);\r\n\r\n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\r\n if (cQuestion.RecordType.Name == \"CONDITIONAL\") {\r\n for (var cOpt of cQuestion.Question_Options__r.records) {\r\n // Radio / Data\r\n //console.log('Option => ' + cOpt.Value__c + ' matching with ' + ansVal);\r\n if (cOpt.Value__c == this.inpValue) {\r\n //console.log('Match Found using ' + cOpt.Next_Question__c);\r\n this.recordId = cOpt.Next_Question__c;\r\n //console.log('conditional record id'+ this.recordId);\r\n }\r\n }\r\n // Could be of type Data and existing value\r\n if (this.recordId && typ == \"Data\") {\r\n this.recordId = cQuestion.Next_Question__c;\r\n }\r\n } else if (cQuestion.RecordType.Name == \"OPTIONONLY\") {\r\n // OPTIONONLY logic\r\n this.recordId = cQuestion.Next_Question__c;\r\n } else if (cQuestion.RecordType.Name == \"UNCONDITIONAL\") {\r\n //Unconditional logic\r\n //console.log(\"inside unconditional\");\r\n //inside Book Type\r\n if (cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c !='6') {\r\n //console.log(\"inside book\");\r\n for (let opt of cQuestion.Questions__r.records) {\r\n //console.log(opt.Type__c);\r\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\") {\r\n for (var opt1 of opt.Question_Options__r.records) {\r\n if (this.valueName == opt1.Value__c) {\r\n this.recordId =opt1.Next_Question__c || cQuestion.Next_Question__c; \r\n } else {\r\n //console.log('Else'+this.recordId)\r\n this.recordId = cQuestion.Next_Question__c;\r\n \r\n }\r\n }\r\n } else {\r\n this.recordId = cQuestion.Next_Question__c;\r\n }\r\n }\r\n }\r\n else if(cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c =='6' ) {\r\n for (let opt of cQuestion.Questions__r.records) {\r\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\"){\r\n for (var opt1 of opt.Question_Options__r.records) {\r\n if (this.valueName == opt1.Value__c) {\r\n this.recordId = opt1.Next_Question__c; \r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n else {\r\n this.recordId = cQuestion.Next_Question__c;\r\n }\r\n }\r\n\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n\r\n // Calling the progres bar update function\r\n this.answerCount++;\r\n this.updateProgress();\r\n\r\n\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n\r\n if (this.recordId) {\r\n //console.log('Before Calling readQuestion() using ' + recordId);\r\n this.readQuestion(this.recordId);\r\n this.pop = true;\r\n } else {\r\n this.pop = false;\r\n //console.log('Summary Page Logic');\r\n // Reset the Variables\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n\r\n this.resetFlag(typ);\r\n this.questionItem = null;\r\n\r\n // Show Summary\r\n for (var q of this.questionStack) {\r\n //console.log('Handling Question => ' + q);\r\n var ansWrap = this.answerMap.get(q);\r\n if (ansWrap) {\r\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\r\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\r\n var newStr = '';\r\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\r\n for (var ansStr1 of ansStr.split('$$@@##')) {\r\n // if(ansStr1.includes('answerString')){ //remove the answer string \r\n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\r\n // ansStr1 = withoutAnswerString;\r\n // }\r\n if (ansStr1.length > 0) {\r\n if (newStr.length == 0) {\r\n newStr = ansStr1;\r\n } else {\r\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,) \r\n if(this.attachmentsMap.has(ansWrap.quesId)){\r\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\r\n newStr = newStr.replace(att.attachmentId,'');\r\n }\r\n }\r\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\r\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\r\n }\r\n }\r\n }\r\n }ansWrap.ansValue = newStr;\r\n }\r\n this.summary.push(ansWrap);\r\n this.backicon = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n //console.log( doc.documentElement.textContent);\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n\r\n handleBackClick() {\r\n this.back = true;\r\n if (this.pop === true) {\r\n this.questionName.pop();\r\n }\r\n this.handleEvent.emit(this.qbItem.Back_Tracking_ID__c);\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n if(cQuestion.Question_No__c =='1'){\r\n this.handleEvent.emit(this.qbItem.Back__c);\r\n }\r\n \r\n\r\n this.answerCount--;\r\n this.updateProgress();\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n\r\n if (this.summary) {\r\n //console.log('summary true');\r\n this.summary = [];\r\n }\r\n if(this.summaryData){\r\n this.summaryData =[];\r\n }\r\n\r\n // Read the previous question from DB\r\n this.readQuestion(this.questionStack.pop());\r\n //console.log(this.questionStack);\r\n }\r\n\r\n handleBackClickNew() {\r\n this.handleEvent.emit(this.qbItem.Edit__c);\r\n }\r\n\r\n //updating status once Q&A completed.\r\n\r\n private updateAnswerBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"AnswerBook\", \"Update\", uuid],\r\n this.successupdateAB,\r\n this.failureupdateAB\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"AnswerBook\", \"Update\", uuid],\r\n this.successupdateAB,\r\n this.failureupdateAB\r\n );\r\n }\r\n }\r\n\r\n private successupdateAB = (response) => {\r\n console.log(response);\r\n // //console.log('status success')\r\n this.abItem.Status__c = \"Completed\";\r\n };\r\n private failureupdateAB = (response) => {\r\n //console.log('status failed')\r\n };\r\n\r\n private readQuestionBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successReadBook,\r\n this.failureReadBook\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successReadBook,\r\n this.failureReadBook\r\n );\r\n }\r\n }\r\n\r\n private successReadBook = (response) => {\r\n console.log('Inside the successReadBook');\r\n console.log(response);\r\n if(response != null || response != undefined){\r\n this.qbItem = response.questionbook;\r\n this.abItem = response.answerbook;\r\n }\r\n // console.log('readingQuestion using ' + this.qbItem);\r\n if (this.abItem?.Status__c == \"Pending\") {\r\n if (\r\n this.abItem.Answers__r == null ||\r\n this.abItem.Answers__r.records.length == 0\r\n ) {\r\n this.readQuestion(this.qbItem.First_Question__c);\r\n } else {\r\n // Populate the existing answers\r\n var lastQuestionId = \"\";\r\n\r\n for (var ansObject of this.abItem.Answers__r.records) {\r\n lastQuestionId = ansObject.Question_Ref__c;\r\n\r\n this.questionStack.push(ansObject.Question_Ref__c);\r\n\r\n this.answerMap.set(ansObject.Question_Ref__c, {\r\n quesValue: ansObject.Question_Rich_Text__c,\r\n ansValue: ansObject.Answer_Long__c,\r\n quesId: ansObject.Question_Ref__c,\r\n qTyp: ansObject.Question_Type__c,\r\n groupText:ansObject.Question_Group_Text__c,\r\n });\r\n\r\n //console.log(this.questionStack)\r\n if (ansObject.Question_Type__c == \"Book\") {\r\n var av1 = ansObject.Answer_Long__c.split(\"@@##$$\");\r\n // //console.log(\"book log\");\r\n\r\n // //console.log(\"bookid\" + av1[0]);\r\n this.attachmentsMap.set(ansObject.Question_Ref__c, [\r\n { attachmentName: av1[1], attachmentId: av1[0] },\r\n ]);\r\n // //console.log(this.attachmentsMap);\r\n } else if (ansObject.Question_Type__c == \"File\") {\r\n // //console.log(\"inside if\");\r\n var attList;\r\n var att;\r\n for (var attVar of ansObject.Answer_Long__c.split(\",\")) {\r\n var attIdName = attVar.split(\"@@##$$\");\r\n att.attachmentName = attIdName[1];\r\n att.attachmentId = attIdName[0];\r\n attList.push(att);\r\n }\r\n this.attachmentsMap.set(ansObject.Question_Ref__c, attList);\r\n // //console.log(this.attachmentsMap);\r\n }\r\n }\r\n\r\n this.questionStack.pop();\r\n //console.log(this.answerMap);\r\n // Read the last answered question\r\n this.readQuestion(lastQuestionId);\r\n }\r\n } else if (this.abItem?.Status__c == \"Completed\") {\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n // Temporary Fix for duplicate answers on the summary.\r\n this.summary = [];\r\n this.percent = 100;\r\n this.progressStyle = \"100%\";\r\n\r\n for (var answer of this.abItem.Answers__r.records) {\r\n //console.log(answer.Question_Group_Text__c);\r\n //console.log('repeat');\r\n //console.log(answer.Question_Rich_Text__c);\r\n var answers = {};\r\n if (answer.Question_Type__c == \"File\") {\r\n var files = \"\";\r\n var fIndex = 0;\r\n var fileList = answer.Answer_Long__c.split(\",\");\r\n for (var fileIdName of fileList) {\r\n var fileName = fileIdName.split(\"@#$\");\r\n if (fIndex == 0) {\r\n files = fileName[1];\r\n } else {\r\n files = files + \" ,\" + fileName[1];\r\n }\r\n\r\n fIndex++;\r\n }\r\n\r\n answers = {\r\n groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: files,\r\n };\r\n this.summary.push(answers);\r\n } else if (answer.Question_Type__c == \"Book\") {\r\n /* var quesNo=0;\r\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\r\n //console.log('line 1223');\r\n for (var bqAnswerValue of answer.Answer_Long__c.split(\"@@##$$\")) {\r\n var quesValue=answer.Question_Text__c.split(\"@@##$$\");\r\n answers = {};\r\n answers = {\r\n // groupText:answer.Question_Text__c,\r\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\r\n ansValue: bqAnswerValue,\r\n };\r\n quesNo++;\r\n this.summary.push(answers);\r\n }\r\n }*/\r\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\r\n var answervalues = answer.Answer_Long__c.split(\"@@##$$\");\r\n //console.log('value')\r\n answers = { \r\n //groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: answervalues,\r\n };\r\n //console.log(answers)\r\n this.summary.push(answers);\r\n }\r\n else{\r\n answers = { \r\n //groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: answer.Answer_Long__c,\r\n };\r\n this.summary.push(answers);\r\n }\r\n } else {\r\n // var ans1 = answer.Answer_Long__c.split(\"@@##$$\");\r\n answers = { \r\n //groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: answer.Answer_Long__c,\r\n };\r\n this.summary.push(answers);\r\n }\r\n }\r\n }\r\n };\r\n\r\n private failureReadBook = (response) => {\r\n console.log('Inside the failureReadBook');\r\n console.log(response);\r\n };\r\n\r\n private readAnswerbook = (uuid: string) => {\r\n if(this.serv = \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"AnswerBook\", \"read\", uuid],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"AnswerBook\", \"read\", uuid],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n }\r\n }\r\n\r\n\r\n private successAnswerBookRead = (response) => {\r\n if (this.abItem?.Status__c == \"Completed\") {\r\n for (var answer of this.abItem.Answers__r.records) {\r\n var av = answer.Answer_Long__c.split(\"@@##$$\");\r\n var answers = { quesValue: answer.Question_Rich_Text__c, ansValue: av, groupText:answer.Question_Group_Text__c };\r\n //console.log(answers)\r\n this.summary.push(answers);\r\n }\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n }\r\n };\r\n\r\n private failureAnswerBookRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private readQuestion = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Question\", \"read\", uuid],\r\n this.successRead,\r\n this.failureRead\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Question\", \"read\", uuid],\r\n this.successRead,\r\n this.failureRead\r\n );\r\n }\r\n }\r\n\r\n private successRead = (response) => {\r\n // console.log('Inside the successRead new');\r\n // console.log(response);\r\n // console.log(this.questionItem);\r\n // Reset the Variables\r\n\r\n if (this.questionItem) {\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n this.resetFlag(this.questionItem.Type__c);\r\n }\r\n this.questionItem = response.question;\r\n // console.log(this.questionItem);\r\n\r\n if(this.questionItem.Type__c === 'Alphanumeric'){\r\n this.splCCBackClick = true;\r\n }\r\n\r\n this.currentQuestionId = this.questionItem.Id;\r\n this.handlePage.emit(this.questionItem.Tracking_ID__c);\r\n // Handle the subQuestion options\r\n if (response.sqOptions) {\r\n //var newRecords = [];\r\n for (var q of this.questionItem.Questions__r.records) {\r\n //console.log(q.Name);\r\n var sq = response.sqOptions[q.Id];\r\n if (sq) {\r\n //console.log('found options for subquestion ' + q.Name);\r\n if (!q.Question_Options__r) {\r\n q.Question_Options__r = sq.Question_Options__r;\r\n }\r\n }\r\n }\r\n }\r\n this.processQuestion();\r\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\r\n this.questionItem.Additional_Rich__c\r\n );\r\n this.trackId();\r\n };\r\n\r\n trackId() {\r\n var qtrackId = this.questionItem.Tracking_ID__c;\r\n //console.log('trackId-question'+qtrackId);\r\n }\r\n\r\n private failureRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private saveAnswer = () => {\r\n // Set the Answer Number based on the Question Stack Length\r\n if (this.inpValue != \".\") {\r\n this.currentQuestionId = null;\r\n }\r\n this.answerWrap.ansNumber = this.questionStack.length + 1;\r\n\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\r\n this.successSave,\r\n this.failureSave\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\r\n this.successSave,\r\n this.failureSave\r\n );\r\n }\r\n };\r\n\r\n htmlDecode(input) {\r\n var doc = new DOMParser().parseFromString(input, \"text/html\");\r\n return doc.documentElement.textContent;\r\n }\r\n\r\n private successSave = (response) => {\r\n if (response.status == \"success\") {\r\n //this.abItem = response.answerbook;\r\n this.answerMap.set(response.answer.quesId, response.answer);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg = response.error.errorMsg;\r\n }\r\n if(!this.backButtonFlag){\r\n this.next();\r\n }\r\n };\r\n\r\n private failureSave = (response) => {\r\n //console.log('inside failureSave');\r\n //console.log(response);\r\n };\r\n\r\n private processQuestion = () => {\r\n // console.log('Inside the processQuestion');\r\n // console.log('splCCBackClick = '+this.splCCBackClick);\r\n // console.log(this.questionStack);\r\n //console.log(this.questionItem);\r\n this.pop = true;\r\n\r\n // if(!this.back){\r\n // this.questionName.push(this.questionItem.Name)\r\n // }\r\n\r\n if (this.qbItem.Progress_Bar__c === true) {\r\n if (!this.back) {\r\n this.questionName.push(this.questionItem.Name);\r\n }\r\n this.back = false;\r\n if (this.questionName[0] === this.questionName[1]) {\r\n this.questionName.pop();\r\n }\r\n\r\n this.currentName = this.questionItem.Name;\r\n this.pathquestion = this.questionName.indexOf(this.currentName);\r\n this.possibilities = this.qbItem.Possibilities__c;\r\n }\r\n\r\n this.myDatePickerOptions;\r\n this.day();\r\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\r\n\r\n // Set the Flags to show right fields\r\n this.setFlag(this.questionItem.Type__c);\r\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\r\n\r\n // Check the existing answer from answerMap\r\n if (this.answerMap.has(this.questionItem.Id)) {\r\n // //console.log(\"existing answer found for this.questionItem.Name\");\r\n var eAnswer = this.answerMap.get(this.questionItem.Id);\r\n // Get the existing answer from the Map\r\n this.inpValue = eAnswer.ansValue;\r\n //console.log('inpValue has been set to ' + this.inpValue);\r\n if (this.attachmentsMap.has(this.questionItem.Id)) {\r\n this.attachments = this.attachmentsMap.get(this.questionItem.Id);\r\n }\r\n } else {\r\n //console.log('inside removing attachment array');\r\n this.attachments = [];\r\n }\r\n // console.log(this.inpValue);\r\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\r\n // console.log('Inside the if cond');\r\n this.splCCBackClick = false;\r\n this.inpValue = this.inpValue.replace('ES','');\r\n }\r\n\r\n if (this.checkboxFlag) {\r\n // Set the Options for Checkbox\r\n this.setOptions(this.questionItem.Question_Options__r.records);\r\n } else if (this.bookFlag) {\r\n //console.log('Inise the expected bookFlag cond');\r\n //console.log('dtFlag = '+this.dtFlag);\r\n this.setSubQuestions(this.questionItem.Questions__r.records);\r\n } else if (this.listFlag) {\r\n // Set the LocalSubQuestions\r\n // console.log('inside list flag');\r\n // console.log(this.questionItem.Questions__r.records);\r\n // console.log(this.abItem.Questions__r.records);\r\n if(!this.localSubQMap.has(this.questionItem.Id)){\r\n this.setSubQuestions(this.questionItem.Questions__r.records);\r\n } \r\n } else if (this.dtFlag) {\r\n //console.log('Inise the unexpected dtFlag cond');\r\n this.selectedHour = \"\";\r\n this.selectedMinute = \"\";\r\n this.selDate = \"\";\r\n // 2021-5-16T00:00\r\n if (this.dateMap.has(this.questionItem.Id)) {\r\n this.selDate = this.dateMap.get(this.questionItem.Id);\r\n }\r\n if (this.selectedhourMap.has(this.questionItem.Id)) {\r\n this.selectedHour = this.selectedhourMap.get(this.questionItem.Id);\r\n }\r\n if (this.selectedminuteMap.has(this.questionItem.Id)) {\r\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.Id);\r\n }\r\n if (this.questionItem.X24_Hours__c === true) {\r\n this.hours.push(\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"00\"\r\n );\r\n }\r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.hours = this.hours.slice(0, 12);\r\n }\r\n if (this.dtFlag && this.inpValue) {\r\n var dtVal = this.inpValue.split(\"T\"); \r\n var dtval0 = this.inpValue.split(\" \");\r\n this.inpValue = dtVal[0];\r\n this.inpValue = dtval0[0];\r\n\r\n this.questionItem.input = dtVal[1];\r\n this.questionItem.input = dtval0[1];\r\n }\r\n if (\r\n this.questionItem.Is_Date_Backward__c ||\r\n this.questionItem.Is_Date_Forward__c\r\n ) {\r\n if (this.questionItem.Is_Date_Backward__c === true) {\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (this.questionItem.Is_Date_Forward__c === true) {\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n }\r\n } else if (this.fileFlag) {\r\n this.fileUI();\r\n // logic\r\n this.allowedFileExtension =\r\n this.questionItem.Allowed_File_Extensions__c.split(\";\");\r\n //console.log(this.allowedFileExtension);\r\n }\r\n \r\n if (this.qbItem.Progress_Bar__c === true) {\r\n this.updateProgress();\r\n }\r\n };\r\n\r\n setFlag(typ) {\r\n //console.log('inside setFlag for ' + typ);\r\n\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = true;\r\n\r\n //this.numberFlag = true;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = true;\r\n } else if (typ == \"AlphaNumeric\") {\r\n this.alphanumericFlag = true;\r\n /*if(this.inpValue.length === 0){\r\n this.inpValue='ES'\r\n }*/\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = true;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = true;\r\n } else if (typ == \"DateTime\") {\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n this.dateFlag = true;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = true;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = true;\r\n } else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = true;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = true;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = true;\r\n }else if (typ == 'List'){\r\n this.listFlag = true;\r\n } else if (typ == \"Time\") {\r\n //console.log('Inside the Time cond');\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n //console.log(this.dtFlag);\r\n } else if (typ == \"Date\") {\r\n //console.log('Inside the Date cond');\r\n this.dtFlag = true;\r\n this.dateFlag = true;\r\n //console.log(this.dtFlag);\r\n }\r\n }\r\n }\r\n\r\n resetFlag(typ) {\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = false;\r\n //this.numberFlag = false;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = false;\r\n } else if (typ == \"Alphanumeric\") {\r\n this.alphanumericFlag = false;\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = false;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = false;\r\n } else if (typ == \"DateTime\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = false;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = false;\r\n } else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = false;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = false;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = false;\r\n } else if (typ == 'List'){\r\n this.listFlag = false;\r\n } else if (typ == \"Time\") {\r\n this.dtFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"Date\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n }\r\n }\r\n }\r\n\r\n setOptions(records) {\r\n for (var opt of records) {\r\n var ov = new OptionValue();\r\n ov.Id = opt.Id;\r\n ov.Name = opt.Name;\r\n ov.Value__c = opt.Value__c;\r\n ov.Next_Question__c = opt.Next_Question__c;\r\n ov.checked = false;\r\n\r\n if (\r\n this.inpValue &&\r\n this.inpValue.split(\"@@##$$\").includes(opt.Value__c)\r\n ) {\r\n ov.checked = true;\r\n }\r\n\r\n this.optionValues.push(ov);\r\n }\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n console.log('inside childEventCapture ');\r\n console.log(event);\r\n this.changeService.announceChange(event);\r\n //ques.input = event; // here when using the ng-select got event as value\r\n }\r\n\r\n setSubQuestions(records) {\r\n // console.log('inside setSubQuestions');\r\n // console.log(records);\r\n var qaMap = new Map();\r\n // console.log(this.inpValue);\r\n if (this.inpValue) {\r\n var aIndex = 0;\r\n // search changed as semi colon because of address contains comma \r\n if ((this.inpValue.search(\"; \") == -1)) {\r\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\r\n // this.inpValue = withoutAnswerString;\r\n this.inpValue = this.inpValue + '@@##$$' ;\r\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\r\n }\r\n } else {\r\n for (var ansStr of this.inpValue.split(\"; \")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\r\n }\r\n }\r\n }\r\n // console.log('after setting values from inpvalue qa map are');\r\n // console.log(qaMap);\r\n\r\n for (var ques of records) {\r\n if (ques.Type__c == \"File\") {\r\n this.valueName1 = ques.Allowed_File_Extensions__c;\r\n //console.log(this.valueName1);\r\n }\r\n\r\n var ans = '';\r\n if (qaMap.has(ques.Question_No__c)) {\r\n ques.input = qaMap.get(ques.Question_No__c);\r\n // console.log('after fetching map values');\r\n // console.log(ques.input);\r\n if(ques.input.indexOf('$$@@##') > 0){\r\n // console.log('answer supposed to be trimmed');\r\n // console.log(ques.input);\r\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\r\n // console.log(ans);\r\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\r\n // console.log(ques.input);\r\n }\r\n }\r\n\r\n if ((ques.Type__c === \"Date\") && (ques.Is_Date_Backward__c || ques.Is_Date_Forward__c)) {\r\n //console.log('Inside the date backward/forward cond');\r\n if (ques.Is_Date_Backward__c === true) {\r\n //console.log('Inside the Is_Date_Backward__c');\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (ques.Is_Date_Forward__c === true) {\r\n //console.log('Inside the Is_Date_Forward__c');\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n //console.log(this.myDatePickerOptions);\r\n }\r\n\r\n this.subQuestions.push(ques);\r\n for(var i=0; i<this.subQuestions.length;i++){\r\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\r\n if(this.subQuestions[i].Size__c == 4){\r\n this.subQuestions[i].dropDownOnly = true;\r\n }else{\r\n this.subQuestions[i].dropDownOnly = false;\r\n }\r\n }\r\n if(ans != ''){\r\n for(var an of (ans.split('$$@@##'))){\r\n var sQ = new Question();\r\n Object.assign(sQ,ques);\r\n sQ.input = an;\r\n this.subQuestions.push(sQ);\r\n }\r\n }\r\n }\r\n if (this.valueName1 != null && this.valueName1.length > 0) {\r\n this.bookFlagAccept = this.valueName1.split(\";\");\r\n //console.log(this.subQuestions);\r\n }\r\n this.structLocalSubQuestion(null);\r\n }\r\n\r\n optionChange(selValue) {\r\n let radioTrackingId: string = \"\";\r\n for (var opt of this.questionItem.Question_Options__r.records) {\r\n //console.log('optionChange TrackingId'+opt.Tracking_ID__c);\r\n if (opt.Value__c == selValue) {\r\n //console.log('inside if'+opt.Tracking_ID__c)\r\n radioTrackingId = opt.Tracking_ID__c;\r\n }\r\n }\r\n\r\n this.handleEvent.emit(radioTrackingId);\r\n this.clearError();\r\n // //console.log('inside optionChange using ' + selValue);\r\n\r\n this.inpValue = selValue;\r\n }\r\n\r\n clearError() {\r\n if (this.questionItem.error) {\r\n this.questionItem.error = null;\r\n }\r\n }\r\n\r\n clearLocalSubQuesError(quesId) {\r\n quesId.error = null;\r\n }\r\n\r\n inputValidate(e) {\r\n var keyCode = e.keyCode || e.which;\r\n // Only ASCII character in that range allowed\r\n var ASCIICode = (e.which) ? e.which : e.keyCode;\r\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n }\r\n\r\n CCOnChange(inpValue: string) {\r\n\r\n if (inpValue.length == 2) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 7) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 12) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 17) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 22) {\r\n this.inpValue += \" \";\r\n }\r\n\r\n }\r\n\r\n isNotValidAccNumber(s: string) {\r\n s = s.replace(/\\s+/g, \"\");\r\n s = 'ES' + s;\r\n var isNotValidStr = false;\r\n if (s.length == 24) {\r\n for (var i = 0; i < s.length; i++) {\r\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\r\n //console.log(\"Valid char: \" + s.charAt(i));\r\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\r\n //console.log(\"Valid numeric: \" + s.charAt(i));\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid char\");\r\n }\r\n }\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid acc number\");\r\n }\r\n return isNotValidStr;\r\n }\r\n\r\n clearSQError(quesId) {\r\n var sqList = this.subQuestions.filter((item) => item.Id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n\r\n uploadFile(event,ques?:any) {\r\n //console.log('inside upload');\r\n this.clearError();\r\n this.fileTypeIncorrect = false;\r\n var local = this;\r\n local.attachment = event.target.files[0];\r\n // Validate the file extension\r\n //console.log(local.attachment);\r\n let fileNameWithType: string =\r\n local.attachment && local.attachment.name.toLowerCase();\r\n if (\r\n !fileNameWithType.endsWith(\".jpg\") &&\r\n !fileNameWithType.endsWith(\".png\") &&\r\n !fileNameWithType.endsWith(\".pdf\") &&\r\n !fileNameWithType.endsWith(\".jpeg\") &&\r\n !fileNameWithType.endsWith(\".heic\") &&\r\n !fileNameWithType.endsWith(\".heif\") &&\r\n !fileNameWithType.endsWith(\".JPG\") &&\r\n !fileNameWithType.endsWith(\".PNG\") &&\r\n !fileNameWithType.endsWith(\".PDF\") &&\r\n !fileNameWithType.endsWith(\".JPEG\") &&\r\n !fileNameWithType.endsWith(\".HEIC\") &&\r\n !fileNameWithType.endsWith(\".HEIF\")\r\n ) {\r\n local.fileTypeIncorrect = true;\r\n }\r\n // Return when the file type is incorrect\r\n if (local.fileTypeIncorrect) {\r\n return;\r\n }\r\n let fileContent: any;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function () {\r\n fileContent = reader.result;\r\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\r\n // Upload the file to Salesforce when the limit is within range\r\n if (!local.fileExceededLimit) {\r\n let fileWrapper = new AttachmentWrapper();\r\n fileWrapper.parentId = local.abItem.Id;\r\n fileWrapper.fileName = local.attachment.name;\r\n fileWrapper.fileContent = fileContent;\r\n local.createAttachment(fileWrapper);\r\n ques.input = fileWrapper.fileName;\r\n }\r\n };\r\n this.spinner.show(this.spinnerName);\r\n reader.readAsDataURL(event.target.files[0]);\r\n }\r\n\r\n private successAttachmentCreate = (response) => {\r\n let createdAttachment: Attachment = new Attachment(\r\n response.attachmentId,\r\n response.attachmentName,\r\n this.attachment.lastModifiedDate\r\n );\r\n this.attachments.push(createdAttachment);\r\n this.attachmentsMap.set(this.questionItem.Id, this.attachments);\r\n this.spinner.hide(this.spinnerName);\r\n };\r\n\r\n private successAttachmentDelete = (response) => {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].attachmentId === this.attachmentId) {\r\n this.attachments.splice(i, 1);\r\n }\r\n }\r\n };\r\n\r\n private failureAttachmentCreate = (response) => {\r\n //console.log('inside failureAttachmentCreate');\r\n };\r\n\r\n private failureAttachmentDelete = (response) => {\r\n //console.log('inside failureAttachmentDelete');\r\n };\r\n\r\n handleSubmitClick() {\r\n this.handleEvent.emit(this.qbItem.Submit_Tracking_ID__c);\r\n this.updateAnswerBook(this.abItem.Id);\r\n }\r\n\r\n handleCancelClick() {\r\n this.handleEvent.emit(this.qbItem.Cancel_Tracking_ID__c);\r\n }\r\n\r\n private createAttachment = (fileWrapper: any) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\r\n this.successAttachmentCreate,\r\n this.failureAttachmentCreate\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\r\n this.successAttachmentCreate,\r\n this.failureAttachmentCreate\r\n );\r\n }\r\n }\r\n\r\n deleteAttachment(attachmentId: string) {\r\n this.attachmentId = attachmentId;\r\n this.handleEvent.emit(\"deleteAttachment\");\r\n this.deleteSFAttachment(attachmentId);\r\n }\r\n\r\n private deleteSFAttachment = (fileId: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Attachment\", \"delete\", fileId],\r\n this.successAttachmentDelete,\r\n this.failureAttachmentDelete\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Attachment\", \"delete\", fileId],\r\n this.successAttachmentDelete,\r\n this.failureAttachmentDelete\r\n );\r\n }\r\n }\r\n\r\n getFileName(fileNamewithIdandType) {\r\n //truncate file path\r\n var fileNameWithType = fileNamewithIdandType.substr(\r\n fileNamewithIdandType.indexOf(\"::::\") + 4\r\n );\r\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\r\n }\r\n fileUI() {\r\n if (this.attachments.length === 0) {\r\n }\r\n }\r\n\r\n //Update function for categorization\r\n // stepperCateg() {\r\n // this.firstFormGroup = this._formBuilder.group({\r\n // firstCtrl: ['', Validators.required]\r\n // });\r\n // this.secondFormGroup = this._formBuilder.group({\r\n // secondCtrl: ['', Validators.required]\r\n // });\r\n\r\n // }\r\n\r\n // Update Function for the Progress Bar\r\n updateProgress() {\r\n if (this.qbItem.Progress_Bar__c === true) {\r\n let j = [];\r\n for (let i = 0; i < this.possibilities.total; i++) {\r\n var pathposs = Object.values(this.possibilities.paths[i].questions);\r\n if (pathposs[this.pathquestion] === this.currentName) {\r\n j.push(i);\r\n this.check = true;\r\n } else {\r\n this.check = false;\r\n }\r\n }\r\n if (j.length === 1) {\r\n this.count = j[0];\r\n }\r\n if (j.length > 1) {\r\n var width =\r\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n } else if (j.length === 1) {\r\n var width =\r\n 90 *\r\n (this.questionStack.length /\r\n this.possibilities.paths[this.count].count);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n }\r\n this.percent = +Math.round(width);\r\n }\r\n }\r\n\r\n townName(area) {\r\n this.selectedValue = area.town;\r\n //console.log('this value='+this.selectedValue)\r\n this.tempoAddress = [];\r\n }\r\n\r\n getTownLocal() {\r\n this.tempoAddress = [];\r\n if (this.selectedValue.length > 0) {\r\n for (var val of this.localaddress) {\r\n if (\r\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\r\n ) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n\r\n clearList() {\r\n setTimeout(() => {\r\n this.tempoAddress = [];\r\n }, 500);\r\n }\r\n\r\n setSearchListWidth() {\r\n //to resize search list based on the screen size\r\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\r\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\r\n }\r\n\r\n getCode(){\r\n this.tempoAddress = [];\r\n if (this.selectedPostalcode.length > 0) {\r\n for (var val of this.allAddress) {\r\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n getPostalcode(value){\r\n this.places=[];\r\n this.province=[];\r\n var province;\r\n var town;\r\n this.selectedPostalcode = value.zipCode;\r\n this.selectedValue = value.country;\r\n this.tempoAddress=[];\r\n\r\n \r\n for(var val of this.localaddress){\r\n if(this.selectedPostalcode == val.zipCode ){\r\n this.places.push(val);\r\n this.province.push(val);\r\n this.selectedValue = val.country;\r\n province = val.province\r\n town = val.town;\r\n }\r\n }\r\n if(this.places.length == 1){\r\n \r\n this.selectedProvince =province;\r\n this.selectedCity = town;\r\n }else if(this.places.length >1 || this.places.length ==0){\r\n \r\n this.selectedCity ='';\r\n this.selectedProvince='';\r\n }\r\n }\r\n closeDropdown() {\r\n if(this.selectedPostalcode.length == 5){\r\n this.getPostalcode({zipCode:this.selectedPostalcode});\r\n }\r\n\r\n setTimeout(()=> {\r\n document.getElementById('selectList').style.display = \"none\";\r\n }, 500);\r\n }\r\n\r\n\r\n //Plus button implementation.\r\n structLocalSubQuestion(ques: LocalQuestion){\r\n // console.log('inside structLocalSubQuestion');\r\n for(var i = 0; i < this.subQuestions.length; i++){\r\n var localSubQuestion = new LocalQuestion();\r\n localSubQuestion.Id = this.subQuestions[i].Id;\r\n localSubQuestion.Name = this.subQuestions[i].Name;\r\n localSubQuestion.Question__c = this.subQuestions[i].Question__c;\r\n localSubQuestion.Question_Text__c = this.subQuestions[i].Question_Text__c;\r\n localSubQuestion.Type__c = this.subQuestions[i].Type__c;\r\n localSubQuestion.Title__c = this.subQuestions[i].Title__c;\r\n localSubQuestion.SubTitle__c = this.subQuestions[i].SubTitle__c;\r\n localSubQuestion.Is_Optional__c = this.subQuestions[i].Is_Optional__c;\r\n localSubQuestion.Error_Message__c = this.subQuestions[i].Error_Message__c;\r\n localSubQuestion.Next_Question__c = this.subQuestions[i].Next_Question__c;\r\n localSubQuestion.Group__c = this.subQuestions[i].Group__c;\r\n localSubQuestion.Question_No__c = this.subQuestions[i].Question_No__c;\r\n localSubQuestion.Allowed_File_Extensions__c = this.subQuestions[i].Allowed_File_Extensions__c;\r\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].Id + i; \r\n localSubQuestion.input = this.subQuestions[i].input;\r\n this.localSubQuestions.push(localSubQuestion);\r\n }\r\n // console.log('final local sub questions');\r\n // console.log(this.localSubQuestions);\r\n // console.log(this.questionItem.Id);\r\n this.localSubQMap.set(this.questionItem.Id,this.localSubQuestions);\r\n this.localSubQuestions = [];\r\n // console.log('final key localSubQMap map');\r\n // console.log(this.localSubQMap);\r\n }\r\n\r\n addInputBox(question: LocalQuestion, index: number){\r\n var arra = this.localSubQMap.get(this.questionItem.Id);\r\n var qIndex = arra.indexOf(question);\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question);\r\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\r\n if(this.keyIndex == index){\r\n ques.uniqueSubQId = ques.Id + (String(index+1));\r\n this.keyIndex++;\r\n }else{\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\r\n }\r\n ques.input = '';\r\n arra.splice(qIndex+1, 0, ques);\r\n\r\n this.localSubQMap.set(this.questionItem.Id,arra);\r\n //console.log(this.localSubQMap);\r\n }\r\n\r\n removeAddress(quesUniqueId: string, qName: string) {\r\n //console.log(quesUniqueId)\r\n var val = this.localSubQMap.get(this.questionItem.Id);\r\n var keyindex = 0;\r\n\r\n for(let i=0; i<val.length; i++){\r\n if(val[i].Name == qName){\r\n keyindex++;\r\n }\r\n }\r\n\r\n if(this.localSubQMap.has(this.questionItem.Id) && keyindex >1){\r\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\r\n this.localSubQMap.set(this.questionItem.Id,reorder);\r\n keyindex--;\r\n }\r\n }\r\n\r\n getLocalSubQuestions(id: String){\r\n return this.localSubQMap.get(id);\r\n }\r\n\r\n //Single Add button functionality for List type\r\nAdd(question: LocalQuestion){\r\n this.addFlag = false;\r\n var arra = this.localSubQMap.get(this.questionItem.Id);\r\n var index = arra.length;\r\n var a = arra.slice(-1).pop();\r\n this.indexCount = a.Question_No__c;\r\n \r\n for (var i = 0; i < this.indexCount ; i++) {\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question[i]);\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\r\n ques.input = '';\r\n arra.splice(index+(this.indexCount-1), 0, ques);\r\n this.localSubQMap.set(this.questionItem.Id,arra);\r\n } \r\n this.addFlag = true;\r\n }\r\n \r\n handleLocationSelected(location: any,ques:any) {\r\n ques.input = location;\r\n }\r\n\r\n selectedInput(input:any ,ques:any){ \r\n ques.input = input;\r\n }\r\n\r\n handleTextareaValueChange(value :string){\r\n console.log('Selected text-area text:', value);\r\n }\r\n getData(data:any){\r\n console.log('table data',data);\r\n }\r\n\r\n dependentChange(value:any){\r\n this.nextValue = value;\r\n }\r\n\r\n displayDate(dateSelected: any,ques:any){\r\n // Parse the date string using moment and assign it to this.selectedDate\r\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\r\n }\r\n\r\n getKey(item: any): any {\r\n return Object.keys(item)[0];\r\n }\r\n \r\n getValue(item: any): any {\r\n return Object.values(item)[0];\r\n }\r\n}","<!-- Spinner -->\r\n<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n\r\n<!-- Back Processing -->\r\n<div *ngIf=\"backicon == false\" >\r\n <div class=\"backicon\" [style.visibility]=\"questionStack.length >0 ? 'visible' : 'hidden'\">\r\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.Status__c == 'Completed' ? 'summary-volver':'app-back1'\">\r\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.Back__c }}\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<!-- Question Hanlding -->\r\n<div *ngIf=\"questionItem\" [class]=\"qbItem.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\r\n <!-- Progress Bar & Title -->\r\n <div *ngIf=\"questionItem.Title__c && qbItem.Progress_Bar__c\">\r\n <h1 class=\"header1\">{{ questionItem?.Title__c }}</h1>\r\n <div class=\"header2\">{{ questionItem?.SubTitle__c }}</div>\r\n </div>\r\n\r\n <!-- Progress & Grouping -->\r\n <div [ngClass]=\"{ questiondiv2: !qbItem?.Progress_Bar__c }\">\r\n <!-- Pie Chart Progress -->\r\n <div [ngClass]=\"{ bgColor: qbItem?.Progress_Bar__c }\">\r\n <div id=\"progress\" *ngIf=\"qbItem?.Progress_Bar__c\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n </div>\r\n </div>\r\n\r\n <!-- Show the Group/Module related to the Progress -->\r\n <div *ngIf=\"questionItem.Group__c && qbItem.Progress_Bar__c\"\r\n [ngClass]=\"{ questionalign: !qbItem?.Progress_Bar__c }\">\r\n <div class=\"largeTitle\">\r\n <h3 class=\"myt-font6 myt-text3\">\r\n {{ questionItem?.Group__c }}\r\n </h3>\r\n <div *ngIf=\"questionItem.Sub_Text__c != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.Sub_Text__c}}</div>\r\n <div *ngIf=\"questionItem.Sub_Text__c === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.Sub_Text__c}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Question Handling -->\r\n <div class=\"questiondiv2\">\r\n <!-- Title -->\r\n <div *ngIf=\"questionItem.Is_Title__c\">\r\n <div *ngIf=\"questionItem.Type__c != 'Book' && questionItem.Question_No__c!='6' && questionItem.Question_No__c!='9'\"> \r\n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\r\n {{questionItem?.Question_Text__c}}\r\n </h3>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!questionItem.Is_Title__c\" [class]=\"qbItem.isShengel__c ? 'header-style additional' : 'question-f-size additional'\">\r\n <div [innerHTML]=\"getText(questionItem?.Question_Text__c)\" >\r\n {{ questionItem?.Question_Text__c }}\r\n </div>\r\n </div>\r\n\r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <div *ngIf=\"questionItem.Type__c == 'Book'\">\r\n <div *ngIf=\"questionItem.Question_No__c=='6'\">\r\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\r\n {{ questionItem?.Question_Text__c }}\r\n </h3>\r\n </div>\r\n </div>\r\n \r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <div *ngIf=\"questionItem.Type__c == 'File' \">\r\n <div *ngIf=\"questionItem.Question_No__c=='9'\">\r\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\r\n {{questionItem?.Question_Text__c}}\r\n </h3>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Additional Info -->\r\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\r\n <div *ngIf=\"questionItem.Additional_Rich__c && qbItem.Progress_Bar__c\" >\r\n <div\r\n class=\"additional \" [innerHTML]=\"innerhtml\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"questionItem.Additional_Rich__c && !qbItem.Progress_Bar__c\">\r\n <div class=\"info-alert ques-alert1\">\r\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\r\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\r\n </div>\r\n </div>\r\n\r\n <!-- Dropdown-->\r\n <div *ngIf=\"dropdownFlag\" >\r\n <div class=\"dis-flex\">\r\n <select \r\n [ngClass]=\"{\r\n 'dt-line myt-align3 myt-align2 dpDown dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.Progress_Bar__c,\r\n 'custom-select': !qbItem?.Progress_Bar__c\r\n }\" class=\"mr-sm-2 dd-height dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\r\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\" style=\"margin-left: 21.5rem !important;\">\r\n <option *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"option\" value=\"{{ opt.Value__c }}\">\r\n {{ opt.Value__c }}\r\n </option>\r\n <option value=\".\" disabled hidden>Bitte treffen Sie eine Auswahl</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <!-- Radio -->\r\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\r\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\r\n {{ questionItem?.Error_Message__c }}\r\n </div>\r\n <div class=\"dis-flex\">\r\n <div *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"radio radioOption\" >\r\n <label class=\"radiocontainer container myt-font4\">{{ opt.Value__c }}\r\n <input type=\"radio\" [id]=\"opt.Id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" value=\"{{ opt.Value__c }}\"\r\n (change)=\"optionChange(opt.Value__c)\" />\r\n <span class=\"checkmark\"></span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Checkbox -->\r\n <div *ngIf=\"checkboxFlag\" class=\"\">\r\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\r\n {{ questionItem?.Error_Message__c }}\r\n </div>\r\n <div class=\"dis-flex\">\r\n <div *ngFor=\"let item of optionValues\" class=\"radio col-md-6 optiondiv\">\r\n <label class=\" container1 \" >{{ item.Value__c }}\r\n <input type=\"checkbox\" [id]=\"item.Id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\r\n <span class='checkmark1'></span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"textFlag\" class=\"col-md-12 myt-book1\">\r\n <div class=\"col-md-12\" class=\"dis-flex myt-align1\" [class]=\"'col-md-' + questionItem?.Size__c + ' paddingnone'\">\r\n <input type=\"text\" [(ngModel)]=\"inpValue\" [ngClass]=\"{\r\n 'boxoutline myt-font1 myt-book1': qbItem?.Progress_Bar__c,\r\n textBox1: !qbItem?.Progress_Bar__c\r\n }\" id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- Text Area -->\r\n <div *ngIf=\"taFlag\" class=\"col-md-12\">\r\n <div class=\"dis-flex\">\r\n <textarea class=\"ta-input\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : inpValue?.length > 0 && taFocusOut\r\n ? '#87be1c'\r\n : ''\r\n }}\" (focusout)=\"taFocusOut = true\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\r\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- CC Number Format -->\r\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\r\n <div class=\"dis-flex\">\r\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\"\r\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\r\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\r\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n <!-- END-->\r\n\r\n <!-- AlphaNumeric -->\r\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\r\n <div style=\"position:relative;\">\r\n <input type=text placeholder=\"0 of 0\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\r\n </div>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\r\n <div class=\"dis-flex\">\r\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\r\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero myt-time1\" >\r\n <!-- Error Handling -->\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n\r\n <!-- Date -->\r\n <div *ngIf=\"dateFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\r\n <div class=\"dis-flex\">\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\">\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Time -->\r\n <div *ngIf=\"timeFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\r\n <div class=\"dis-flex\">\r\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\r\n dateandTime: !qbItem?.Progress_Bar__c}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem?.X24_Hours__c == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n <!-- <div [ngClass]=\"{'': qbItem.Progress_Bar__c, 'dateandTime': !qbItem.Progress_Bar__c}\"></div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- Attachment / File -->\r\n <div *ngIf=\"fileFlag\">\r\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\r\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\r\n <label class=\"picture-upload\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n </div>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event)\" />\r\n </div>\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n questionItem?.Type__c === 'File' &&\r\n !qbItem?.Progress_Bar__c\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName\r\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n\r\n <!-- Attachment Progress -->\r\n <div *ngIf=\"qbItem.Progress_Bar__c\">\r\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n \r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\"> {{ questionItem?.Question_Text__c}}</span>\r\n <label class=\"file-label \">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\r\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Book -->\r\n <div *ngIf=\"bookFlag\">\r\n <div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\" [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.Id\">\r\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\r\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\r\n </div>\r\n <div class=\"col-md-12 paddingZero myt-dateTimeNew\" *ngIf=\"ques.Type__c === 'Time' || ques.Type__c === 'Date'\">\r\n <div *ngIf=\"ques.Type__c === 'Date'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\r\n <div class=\"dis-flex dateandtime\">\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\" >\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Time'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\r\n <div class=\"dis-flex dateandtime\">\r\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\r\n dateandTime: !qbItem?.Progress_Bar__c}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem.X24_Hours__c == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <app-custom-input\r\n [fromShengel]=\"qbItem.isShengel__c\"\r\n [value]=\"ques.input\"\r\n [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\"\r\n [question]=\"ques\" \r\n [idValue]=\"ques.Tracking_ID__c\"\r\n [focusEvent]=\"clearSQError(ques.Id)\"\r\n [error]=\"ques.error\"\r\n [placeholder]=\"ques.Question__c\"\r\n (inputValue)=\"selectedInput($event,ques)\">\r\n </app-custom-input>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Location'\">\r\n <!-- for pick location -->\r\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\r\n </div>\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.Type__c === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\r\n </div>\r\n\r\n <div *ngIf=\"ques.Type__c === 'File'\">\r\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\r\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"\r\n fa fa-plus fa-2x\r\n picture-upload-child\r\n pic-upload\r\n icolor\r\n \">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\r\n </div>\r\n\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n ques.Type__c === 'File' &&\r\n !qbItem.Progress_Bar__c\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName\r\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n <div class=\"myt-box\" *ngIf=\"qbItem.Progress_Bar__c\">\r\n\r\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\r\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\r\n <span class=\"f-Name\">{{ ques?.Question__c }}</span>\r\n <label class=\"file-label \">\r\n <span style=\"color: #c5281c;text-decoration:underline\">\r\n Adjuntar\r\n </span>\r\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\r\n <app-custom-table \r\n [question]=\"ques\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\r\n <!-- for common dropdown -->\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\"\r\n [options]=\"ques.Question_Options__r.records\"\r\n [apiMeta]=\"ques.Sub_Text__c\"\r\n [id]=\"ques.Name\"\r\n [selectedValue]=\"ques.input\"\r\n [placeholder]=\"'---Select---'\"\r\n [errorMessage]=\"ques.Error_Message__c\"\r\n [error]=\"ques.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-dropdown>\r\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--List start-->\r\n <div *ngIf=\"listFlag\">\r\n <div class=\"form-group\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div class=\"myt-align3\" [class]=\"'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.Id);let i = index\">\r\n <div>\r\n <span class=\"dis-flex myt-font3 myt-font7\">{{ ques?.Question__c }}</span>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n </div>\r\n </div>\r\n <div class=\"\" *ngIf=\"addFlag\">\r\n <button (click)=\"Add(getLocalSubQuestions(questionItem.Id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>Add</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--List End-->\r\n\r\n <!-- Actions -->\r\n <div *ngIf=\"individualBookButton\" class=\"flexer\">\r\n <!-- Backward / Back -->\r\n <div class=\"backbutton\" [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\"\r\n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\">\r\n <div [ngClass]=\"{}\">\r\n <button [ngClass]=\"{\r\n 'left-bt': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\r\n !qbItem.Progress_Bar__c\r\n }\" (click)=\"handleBackClick()\">\r\n {{ qbItem?.Back__c }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Forward / Next -->\r\n <div [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\">\r\n <div>\r\n <button [ngClass]=\"{\r\n 'rusty': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\r\n !qbItem.Progress_Bar__c\r\n }\" (click)=\"handleNextClick()\">\r\n {{ qbItem.Next__c }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Summary -->\r\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\r\n 'col-md-12':!qbItem.Progress_Bar__c\r\n }\">\r\n <h1 class=\"header1 summarypadd\" >{{ qbItem.SubTitle__c }}</h1> \r\n <div id=\"progress2\" *ngIf=\"!qbItem.Progress_Bar__c && this.abItem.Status__c != 'Completed' \">\r\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\r\n <div *ngFor=\"let qa of summary\">\r\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\r\n <div [ngClass]=\"{ summary: !qbItem.Progress_Bar__c }\">\r\n <div *ngIf=\"!qbItem.Edit__c\"\r\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\r\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\r\n </div>\r\n <div *ngIf=\"qbItem.Edit__c\"\r\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\r\n <div [ngClass]=\"{ 'question': this.abItem.Status__c === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\">\r\n {{ qa.quesValue }}\r\n </div>\r\n </div>\r\n <div class=\"answer\" >\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <div *ngIf=\"qa.qTyp != 'File'\">{{ qa.ansValue }}</div>\r\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"this.abItem.Status__c === 'Completed'\" class=\"col-lg-12\">\r\n <div class=\"panel-group panel-group-joined\" id=\"ePTW-details\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-heading\">\r\n <h4 class=\"panel-title\">\r\n <a data-toggle=\"collapse\" data-parent=\"#ePTW-details\" href=\"#collapseOne\" class=\"collapsed\">\r\n PTW Details\r\n </a>\r\n </h4>\r\n </div>\r\n <div id=\"collapseOne\" class=\"panel-collapse collapse\">\r\n <div class=\"panel-body\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let item of summaryData; let i = index\">\r\n <ng-container *ngIf=\"i % 2 === 0\">\r\n <div class=\"col-lg-6 m-b-30\">\r\n <label>{{ getKey(item) }}</label>\r\n <p class=\"font-size\">{{ getValue(item) || 'N/A' }}</p>\r\n </div>\r\n <div class=\"col-lg-6\" *ngIf=\"summaryData[i + 1]\">\r\n <label>{{ getKey(summaryData[i + 1]) }}</label>\r\n <p class=\"font-size\">{{ getValue(summaryData[i + 1]) || 'N/A' }}</p>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div id=\"progress2\" *ngIf=\"qbItem.Progress_Bar__c \">\r\n <div [ngClass]=\"{'bgColor summary-top' : qbItem.Progress_Bar__c }\" >\r\n <div id=\"progress-summary\" *ngIf=\"qbItem.Progress_Bar__c\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n \r\n <div *ngIf=\"qbItem.Summary_Text__c && qbItem.Progress_Bar__c\" \r\n [ngClass]=\"{ summaryTitle: qbItem.Progress_Bar__c }\">\r\n <h3 class=\"subTitle\" >{{ qbItem.Summary_Text__c }}</h3>\r\n <div *ngIf=\"abItem.Status__c != 'Completed'\" class=\"subTitle1\" >{{ qbItem.Summary_Sub_Text__c}}</div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\r\n <h3 class=\"summary-h\">\r\n {{ qbItem.Summary_Text__c }}\r\n </h3>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\r\n <div class=\"summary-groupText myt-font2\">\r\n <!-- <p>Informe de daño</p> -->\r\n </div>\r\n <div *ngFor=\"let qa of summary\" >\r\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\r\n <div [ngClass]=\"{ summary: this.abItem.Status__c != 'Completed' && !qbItem.Progress_Bar__c }\">\r\n <div *ngIf=\"!qbItem.Edit__c\"\r\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\r\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\r\n </div>\r\n <div *ngIf=\"qbItem.Edit__c\"\r\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\r\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.Status__c === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\">\r\n {{ qa.quesValue }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\r\n </button>\r\n </div>\r\n \r\n <div class=\"answer \" >\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <div *ngIf=\"qa.qTyp != 'File'\">\r\n {{ qa.ansValue }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Answer Book -->\r\n <div class=\"flexer1\" *ngIf=\"abItem\">\r\n <div class=\"\" *ngIf=\"abItem.Status__c == 'Completed'\">\r\n <div class=\"col-md-12\">\r\n <button [ngClass]=\"{'btn-text': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\"\r\n (click)=\"handleCancelClick()\">\r\n {{ qbItem.Cancel__c }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Group Actions -->\r\n <div class=\"align-edit-submit\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div class=\"col-md-6\">\r\n <button [ngClass]=\"{ 'btn-text2': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c }\" \r\n (click)=\"handleSubmitClick()\">\r\n {{ qbItem.Submit__c }}\r\n </button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <button [ngClass]=\"{'grey': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\" \r\n (click)=\"handleBackClickNew()\">\r\n {{ qbItem.Edit__c }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { Question } from '../wrapper';\r\nimport { BookletWrapper } from '../model/bookletWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n nxtBookletAnswer: BookletWrapper;\r\n\r\n constructor() { }\r\n\r\n save(qbJson: BookletWrapper) {\r\n this.nxtBookletAnswer = qbJson;\r\n }\r\n\r\n update(questionWithInput: Question) {\r\n // Store the Updated Questions (with Answer/Error) in a Map\r\n\r\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n // if(eQuestion == questionWithInput.Id) {\r\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\r\n // }\r\n // }\r\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\r\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].Questions__r;\r\n for(let i=0;i<questionsR.records.length;i++){\r\n if(questionsR.records[i].Id == questionWithInput.Id){\r\n questionsR.records[i] = questionWithInput;\r\n console.log('assigned success');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n get() {\r\n // return the stored questions\r\n return this.nxtBookletAnswer;\r\n\r\n }\r\n}\r\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css']\r\n})\r\nexport class FileUploadComponent implements OnInit,OnChanges {\r\n @Output() selectedFileData = new EventEmitter<any[]>();\r\n @Output() deletedFileData = new EventEmitter<any>();\r\n @Input() allFiles;\r\n @Input() limitFileUploading;\r\n @Input() isDeleteFileButtonVisible;\r\n @Input() isShowNoFileIcon;\r\n\r\n public selectedFileNameArray: string[] = [];\r\n public copyOfInputAllFiles;\r\n public copyOfFileUploadingLimit;\r\n constructor(\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n onFileUpload(event: any) {\r\n const fileUploaderElement: HTMLElement = document.getElementById(\r\n 'fileUpload'\r\n ) as HTMLElement;\r\n fileUploaderElement.click();\r\n }\r\n\r\n ngOnChanges(simpleChanges: SimpleChanges) {\r\n console.log('simple changes', simpleChanges);\r\n this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;\r\n if (simpleChanges.limitFileUploading) {\r\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\r\n }\r\n\r\n }\r\n\r\n uploadMultipleFiles(event: any) {\r\n console.log('File uploader initiated');\r\n const inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\r\n const selectedFileData = [];\r\n const uploadedFiles = event.target.files;\r\n if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\r\n for (const eachUploadedFile of uploadedFiles) {\r\n const reader = new FileReader();\r\n const file: File = eachUploadedFile;\r\n const format = file.name.split('.')[1];\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n selectedFileData.push({\r\n doc: reader.result,\r\n name: file.name,\r\n type: file.type,\r\n format,\r\n id: null,\r\n });\r\n inputFiles.push({\r\n doc: reader.result,\r\n name: file.name,\r\n type: file.type,\r\n format,\r\n id: null,\r\n });\r\n };\r\n }\r\n } else {\r\n console.warn('You can upload max 5 files');\r\n //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\r\n }\r\n event.target.value = '';\r\n this.copyOfInputAllFiles = inputFiles;\r\n console.log('uploadedFiles',inputFiles);\r\n this.selectedFileData.emit(inputFiles);\r\n }\r\n\r\n\r\n deleteFile(currentFileIndex) {\r\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\r\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\r\n console.log('emit', deletedFile[0]);\r\n this.deletedFileData.emit(deletedFile[0]);\r\n }\r\n\r\n // viewFile(currentFile) {\r\n // // Display file here\r\n // if (currentFile && currentFile.doc) {\r\n // this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {\r\n // if (apiResponse && apiResponse.sas_url) {\r\n // window.open(apiResponse.sas_url, '_blank');\r\n // }\r\n // }, (apiError) => {\r\n // this.toastr.warning('Error while viewing file', 'Warning');\r\n // });\r\n // }\r\n // }\r\n\r\n getDocIcon(docName) {\r\n const ext = docName.split('.').pop(-1);\r\n return this.docIcon(ext);\r\n }\r\n\r\n docIcon(ext) {\r\n if (ext === 'pdf') {\r\n return 'assets/icons/document/img-file-PDF.png';\r\n } else if (ext === 'xlsx') {\r\n return 'assets/icons/document/img-file-XLSX.png';\r\n } else if (ext === 'docx') {\r\n return 'assets/icons/document/img-file-DOCX.png';\r\n } else if (ext === 'avi') {\r\n return 'assets/icons/document/img-file-AVI.png';\r\n } else if (ext === 'doc') {\r\n return 'assets/icons/document/img-file-DOC.png';\r\n } else if (ext === 'gif') {\r\n return 'assets/icons/document/img-file-GIF.png';\r\n } else if (ext === 'jpg') {\r\n return 'assets/icons/document/img-file-JPG.png';\r\n } else if (ext === 'mov') {\r\n return 'assets/icons/document/img-file-MOV.png';\r\n } else if (ext === 'mp3') {\r\n return 'assets/icons/document/img-file-MP3.png';\r\n } else if (ext === 'mp4') {\r\n return 'assets/icons/document/img-file-MP4.png';\r\n } else if (ext === 'mpeg') {\r\n return 'assets/icons/document/img-file-MPEG.png';\r\n } else if (ext === 'mpg') {\r\n return 'assets/icons/document/img-file-MPG.png';\r\n } else if (ext === 'png') {\r\n return 'assets/icons/document/img-file-PNG.png';\r\n } else if (ext === 'ppt') {\r\n return 'assets/icons/document/img-file-PPT.png';\r\n } else if (ext === 'txt') {\r\n return 'projects/nxt-app/src/assets/icons/document/img-file-TXT.png';\r\n } else if (ext === 'xls') {\r\n return 'assets/icons/document/img-file-XLS.png';\r\n } else {\r\n return 'assets/images/ic_document.svg';\r\n }\r\n }\r\n}\r\n","<div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\r\n <label class=\"she-label\">Attachment</label>\r\n </div>\r\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\r\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\r\n <div class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\">\r\n {{eachFile?.name}}\r\n </div>\r\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"assets/images/bin.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\r\n <img src=\"../../../assets/images/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\r\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\r\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\r\n >Choose\r\n files</button>\r\n\r\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\r\n (change) = uploadMultipleFiles($event)\r\n />\r\n </label>\r\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\r\n formControl?.documents?.errors?.required\">\r\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\r\n </span> -->\r\n</div>\r\n","import { Component, OnInit, Input, Output, EventEmitter, } from '@angular/core';\r\nimport { Question, QuestionBook } from '../../wrapper';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { StorageService } from '../../services/storage.service';\r\n\r\n@Component({\r\n selector: 'lib-questionbook',\r\n templateUrl: './questionbook.component.html',\r\n styleUrls: ['./questionbook.component.css']\r\n})\r\nexport class QuestionbookComponent implements OnInit {\r\n @Input() qbItem: QuestionBook;\r\n @Input() questionItem: Question;\r\n @Input() questions: Question[];\r\n \r\n subQuestions: Question[];\r\n selectedFileData: any[] = [];\r\n\r\n constructor(private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService, \r\n private storageService: StorageService) { \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n console.log('inside QuestionBookComponent OnInit');\r\n // console.log(this.qbItem);\r\n // console.log(this.questions);\r\n this.subQuestions = [];\r\n this.setSubQuestions(this.questions);\r\n }\r\n\r\n clearSQError(quesId) {\r\n // console.log('inside QuestionBookComponent clearSQError');\r\n var sqList = this.subQuestions.filter((item) => item.Id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n\r\n setSubQuestions(records) {\r\n console.log('inside QuestionbookComponent setSubQuestions');\r\n this.subQuestions.push(records);\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n console.log('inside QuestionbookComponent childEventCapture');\r\n console.log(event);\r\n this.changeService.announceChange(event);\r\n // Process the changes in Table and Dropdown and store right value in ques.input\r\n if(ques.Type__c == 'Dropdown') {\r\n ques.input = event.valueObj.name;\r\n }else if(ques.Type__c == 'File'){\r\n ques.input = this.selectedFileData = event;\r\n }else{\r\n ques.input = event;\r\n }\r\n // Once the right value is stored in ques.input store the ques (with input) in storageService\r\n this.storageService.update(ques);\r\n }\r\n deleteFile(fileData:any){\r\n console.log('fileDATA',fileData)\r\n }\r\n}\r\n","<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\r\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\r\n <!-- Sub Question Label -->\r\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\r\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date-picker>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\r\n </app-custom-input>\r\n </div>\r\n \r\n <!-- for pick location -->\r\n <div *ngIf=\"ques.Type__c === 'Location'\">\r\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\r\n </app-pick-location>\r\n </div>\r\n\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\r\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.Type__c === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\r\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\r\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.input\" [placeholder]=\"'---Select---'\"\r\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-dropdown>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\r\n </div>\r\n\r\n <!-- Attachment / Files -->\r\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\r\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"selectedFileData\"\r\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\r\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { ActionMeta } from '../../interfaces/actionMeta';\r\nimport { Question } from \"../../wrapper\";\r\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\r\nimport { StorageService } from '../../services/storage.service';\r\n\r\n@Component({\r\n selector: 'lib-booklet',\r\n templateUrl: './booklet.component.html',\r\n styleUrls: ['./booklet.component.css']\r\n})\r\nexport class BookletComponent implements OnInit {\r\n @Input() bookletId: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Input() bookletJSON: any;\r\n \r\n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n\r\n public nxtBooklet: BookletWrapper;\r\n\r\n public booklet: any[] = [];\r\n public abItem: any = {};\r\n public actions: ActionMeta[] = [];\r\n public bookQuestionsMap: any = new Map();\r\n private sqOptions: any = new Map();\r\n public isAnswerFlag: boolean = false;\r\n public spinnerName: string;\r\n public spinnerType: string;\r\n\r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private storageService: StorageService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n el: ElementRef\r\n ) { \r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this.processBooklet();\r\n }\r\n\r\n ngOnChanges() {\r\n console.log('inside Questionnaire ngOnChanges');\r\n console.log(this.booklet);\r\n if(this.booklet == undefined || this.booklet.length == 0) {\r\n this.processBooklet();\r\n }\r\n }\r\n\r\n processBooklet() {\r\n if (this.bookletId) {\r\n if (this.bookletId.length == 18) {\r\n this.readBooklet(this.bookletId);\r\n }\r\n } else if(this.bookletJSON) {\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n this.isAnswerFlag = true;\r\n\r\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(this.bookletJSON);\r\n }\r\n \r\n this.booklet = this.bookletJSON.records;\r\n this.abItem = this.bookletJSON.answerbook;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in this.bookletJSON.sqOptions) {\r\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n for (var value in this.bookletJSON.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\r\n }\r\n\r\n if(this.bookletJSON.questionbook?.Actions__c != undefined) {\r\n this.actions = JSON.parse(this.bookletJSON.questionbook.Actions__c);\r\n }\r\n }\r\n }\r\n\r\n private readBooklet = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Booklet\", \"read\", uuid],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Booklet\", \"read\", uuid],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n }\r\n }\r\n\r\n private successReadBooklet = (response) => {\r\n console.log('Inside the successReadBooklet');\r\n // console.log(response);\r\n if(response != null || response != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(response);\r\n\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n // this.isAnswerFlag = true;\r\n \r\n this.booklet = response.records;\r\n this.abItem = response.answerbook;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in response.sqOptions) {\r\n this.sqOptions.set(sq, response.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n for (var value in response.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\r\n }\r\n\r\n if(response.questionbook?.Actions__c != undefined) {\r\n this.actions = JSON.parse(response.questionbook.Actions__c);\r\n }\r\n }\r\n }\r\n\r\n private failureReadBooklet = (response) => {\r\n\r\n }\r\n\r\n handleBookletActionClick(action:ActionMeta) {\r\n console.log(action);\r\n let dataToParent = {};\r\n dataToParent['action'] = action.eventtoemit;\r\n dataToParent['data'] = this.storageService.get();\r\n this.handleBookletActionEvent.emit(dataToParent);\r\n }\r\n\r\n readQuestions(qbId: string) {\r\n console.log('inside BookletComponent.readQuestions ' + qbId);\r\n // console.log(this.bookQuestionsMap.size);\r\n let questions = [];\r\n for(var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {\r\n let q: Question = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];\r\n if(q.Type__c == 'Dropdown') {\r\n questions.push(this.sqOptions.get(q.Id));\r\n } else {\r\n questions.push(q);\r\n }\r\n }\r\n // console.log(questions);\r\n return questions;\r\n }\r\n\r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n //console.log( doc.documentElement.textContent);\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n}\r\n","<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\r\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire> -->\r\n\r\n <div *ngFor=\"let ques of qb.Questions__r.records\" [class]=\"qb.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\r\n <div class=\"questiondiv2\">\r\n <div *ngIf=\"!ques.Is_Title__c\" [class]=\"qb.isShengel__c ? 'header-style' : 'question-f-size additional'\">\r\n <div [innerHTML]=\"getText(ques?.Question_Text__c)\" >\r\n {{ ques?.Question_Text__c }}\r\n </div>\r\n </div>\r\n <lib-questionbook [qbItem]=\"qb\" [questionItem]=\"ques\" [questions]=\"readQuestions(qb.Id)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ItemsList } from \"@ng-select/ng-select/lib/items-list\";\r\nimport { ConsoleService } from \"@ng-select/ng-select/lib/console.service\";\r\n\r\n@Component({\r\n selector: 'lib-search-box',\r\n templateUrl: './search-box.component.html',\r\n styleUrls: ['./search-box.component.css']\r\n})\r\nexport class SearchBoxComponent implements OnInit {\r\n @Input() placeHolderText: string;\r\n @ViewChild('auto') auto;\r\n\r\n public filterName: string;\r\n public finalResults: any[] = [];\r\n public searchKeyWord: string = '';\r\n public newResult: any;\r\n public showResult = false;\r\n public noResult = false;\r\n public showSuggestion = true;\r\n private el: HTMLElement;\r\n private serv: string = 'api';\r\n private tkn: string = '';\r\n \r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n el: ElementRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n clearList(){\r\n setTimeout(()=> {\r\n this.finalResults = [];\r\n }, 1000);\r\n }\r\n\r\n getSourceDataLocal(event) { //to get results list from backend API whenever key is up after the entering atleast one key\r\n if(event.target.value.length > 2){\r\n this.showSuggestion=true;\r\n this.finalResults=[];\r\n this.searchKeyWord = event.target.value;\r\n this.showResult = false;\r\n this.getSourceData(event.target.value);\r\n } else {\r\n this.showSuggestion=false;\r\n this.finalResults = [];\r\n this.noResult = false;\r\n }\r\n }\r\n\r\n public apiResponse(keyword: string): Observable<any> {\r\n return this.http.get('https://dummyjson.com/products');\r\n }\r\n\r\n public getSourceData = (keyword: string) => {\r\n this.apiResponse('ok').subscribe((apiResponse) => {\r\n let results=[];\r\n for (let i = 0; i < apiResponse.products.length; i++) {\r\n if(apiResponse.products[i].title.indexOf(keyword) >= 0) {\r\n console.log('pushing ' + apiResponse.products[i].title);\r\n results.push(apiResponse.products[i]);\r\n }\r\n }\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n })\r\n }\r\n\r\n public clickItem(event) {\r\n console.log('inside clickItem of ' + event.target.value);\r\n }\r\n /*\r\n public getSourceData = (keyword: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n }\r\n }\r\n\r\n public successSourceData = (response) => {\r\n let results=[];\r\n results=response.results;\r\n results.push({uuid: null, name: \"\"});\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n }\r\n\r\n public failureSourceData = (response) => {\r\n console.log(\"Error reading the data from API\");\r\n }\r\n */\r\n}\r\n","<div id=\"autocomplete-input\">\r\n <input #auto id=\"searchbox-style\" \r\n (blur)=\"clearList()\" \r\n [(ngModel)]=\"filterName\" \r\n type=\"text\" \r\n name=\"name\" \r\n (placeholder)=\"placeHolderText\" \r\n style=\"margin: 0 !important;\" \r\n class=\"searchInput\" \r\n (focusin)=\"getSourceDataLocal($event)\" \r\n (input)=\"getSourceDataLocal($event)\">\r\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\r\n <div *ngIf=\"finalResults.length > 1 && showSuggestion\" \r\n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \r\n class=\"suggestions-container\">\r\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\r\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\r\n <div class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\r\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\r\n </div>\r\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\r\n <h4 >{{item.title}}</h4>\r\n <div class=\"show-for-medium\" style=\" white-space: nowrap;\r\n overflow: hidden;text-overflow: ellipsis;\" > {{item.description}}\r\n </div>\r\n <div *ngIf=\"item.price\" class=\"drop-list\">\r\n {{item.price.toFixed(2)}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { NxtAppComponent } from './nxt-app.component';\r\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { NgCircleProgressModule } from 'ng-circle-progress';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\n//import { AgmCoreModule } from '@agm/core';\r\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\r\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\r\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\r\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\r\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\r\nimport { OwlDateTimeModule,OwlNativeDateTimeModule } from 'ng-pick-datetime';\r\n\r\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\r\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\r\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BookletComponent } from './pages/booklet/booklet.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\r\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\r\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\r\n\r\n// export const MY_CUSTOM_FORMATS = {\r\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\r\n// useUtc: true,\r\n// };\r\n\r\n@NgModule({\r\n declarations: [NxtAppComponent, \r\n QuestionnaireComponent,\r\n PickLocationComponent,\r\n CustomInputComponent,\r\n CustomTextAreaComponent,\r\n CustomTableComponent,\r\n CustomDatePickerComponent,\r\n DropdownWithFlagComponent,\r\n CustomDropdownComponent,\r\n BookletComponent,\r\n SearchBoxComponent,\r\n QuestionbookComponent,\r\n FileUploadComponent\r\n ],\r\n imports: [\r\n CommonModule, FormsModule,\r\n MyDatePickerModule,\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n HttpClientModule,\r\n NgSelectModule,\r\n GoogleMapsModule,\r\n //AgmCoreModule.forRoot({\r\n // apiKey: GOOGLE_MAP_API_KEY,\r\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\r\n // }),\r\n ReactiveFormsModule, NgxSpinnerModule,\r\n /*NgCircleProgressModule.forRoot({\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": -6,\r\n \"innerStrokeColor\": \"#919191\",\r\n \"outerStrokeColor\": \"#db9594\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"innerStrokeWidth\": 2,\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#d3cfcf\",\r\n \"title\": [\r\n \r\n \"%\"\r\n ],\r\n // titleFontSize: 12,\r\n // \"subtitleFontSize\": 20,\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showUnits\": false,\r\n \"clockwise\":true\r\n\r\n //\"backgroundStrokeWidth\": \"0\",\r\n\"backgroundGradient\": true,\r\n //\"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#000000\",\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"unitsFontWeight\": \"600\",\r\n \"unitsColor\": \"#f2f2f2\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeColor\": \"#e0b1b0\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"outerStrokeLinecap\": \"inherit\",\r\n \"innerStrokeColor\": \"#f6dfdf\",\r\n \"title\": [\r\n \r\n \"%\"\r\n],\r\n \"titleColor\": \"#e7d9d9\",\r\n \"titleFontSize\": \"31\",\r\n \"titleFontWeight\": \"100\",\r\n \"subtitleColor\": \"#f7f7f7\",\r\n \"subtitleFontSize\": \"36\",\r\n \"subtitleFontWeight\": \"900\",\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showTitle\": true,\r\n \"showUnits\": true,\r\n \"clockwise\": false,\r\n \"startFromZero\": true,\r\n \"showZeroOuterStroke\": false,\r\n \"lazy\": true})*/\r\n\r\n NgCircleProgressModule.forRoot({\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#e29d98\",\r\n \"backgroundGradientStopColor\": \"#c5281c\",\r\n \"backgroundStroke\": \"#ece4e4\",\r\n \"backgroundStrokeWidth\": 0,\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": 4,\r\n \"maxPercent\": 100,\r\n \"unitsFontSize\": \"35\",\r\n \"unitsColor\": \"#f0ebeb\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeWidth\": 10,\r\n \"outerStrokeColor\": \"#f7c0bf\",\r\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\r\n \"innerStrokeWidth\": 0,\r\n \"titleColor\": \"#f3eded\",\r\n \"titleFontSize\": \"40\",\r\n \"subtitleColor\": \"#444444\",\r\n \"showSubtitle\": false})\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [NxtAppComponent, \r\n QuestionnaireComponent,\r\n BookletComponent\r\n ]\r\n // providers: [\r\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\r\n // ]\r\n})\r\nexport class NxtAppModule { }\r\n","/*\r\n * Public API Surface of nxt-app\r\n */\r\n\r\nexport * from './lib/nxt-app.service';\r\nexport * from './lib/nxt-app.component';\r\nexport * from './lib/nxt-app.module';\r\nexport * from './lib/pages/questionnaire/questionnaire.component';\r\nexport * from './lib/pages/booklet/booklet.component';\r\nexport * from './lib/services/salesforce.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.ChangeService","i3","i4","i1.SalesforceService","i2.DataService","i3.ChangeService","i9","i12.PickLocationComponent","i13.CustomInputComponent","i14.CustomTextAreaComponent","i15.CustomTableComponent","i16.CustomDatePickerComponent","i17.DropdownWithFlagComponent","i18.CustomDropdownComponent","i4.StorageService","i5","i6","i7.PickLocationComponent","i8.CustomInputComponent","i9.CustomTextAreaComponent","i10.CustomTableComponent","i11.CustomDatePickerComponent","i12.CustomDropdownComponent","i13.FileUploadComponent","i3.StorageService","i7","i8.QuestionbookComponent"],"mappings":"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"}
1
+ {"version":3,"file":"rangertechnologies-ngnxt.mjs","sources":["../../../projects/nxt-app/src/lib/nxt-app.service.ts","../../../projects/nxt-app/src/lib/nxt-app.component.ts","../../../projects/nxt-app/src/lib/services/change.service.ts","../../../projects/nxt-app/src/lib/wrapper.ts","../../../projects/nxt-app/src/lib/model/errorWrapper.ts","../../../projects/nxt-app/src/lib/sample.ts","../../../projects/nxt-app/src/lib/services/salesforce.service.ts","../../../projects/nxt-app/src/lib/services/data.service.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.html","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.ts","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.html","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.ts","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.html","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.html","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.ts","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.html","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.ts","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.html","../../../projects/nxt-app/src/lib/model/changeWrapper.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.html","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.ts","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.html","../../../projects/nxt-app/src/lib/services/storage.service.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.html","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.ts","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.html","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.ts","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.html","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/nxt-app.module.ts","../../../projects/nxt-app/src/public-api.ts","../../../projects/nxt-app/src/rangertechnologies-ngnxt.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NxtAppService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-nxt-app',\r\n template: `\r\n <p>\r\n nxt-app works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class NxtAppComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ChangeWrapper } from '../model/changeWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ChangeService {\r\n // Reference: https://angular.io/guide/observables\r\n constructor() { }\r\n\r\n // Observable parentQuestion sources\r\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\r\n private changeConfirmedSource = new Subject<string>();\r\n\r\n // Observable parentQuestion streams\r\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\r\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\r\n\r\n // Service message commands\r\n announceChange(changeValue: ChangeWrapper) {\r\n console.log('inside announceChange');\r\n console.log(changeValue);\r\n this.changeAnnouncedSource.next(changeValue);\r\n }\r\n\r\n confirmChange(childQuestion: string) {\r\n console.log('inside confirmChange');\r\n console.log(childQuestion);\r\n this.changeConfirmedSource.next(childQuestion);\r\n }\r\n}\r\n","import { ErrorWrapper } from \"./model/errorWrapper\";\r\n\r\nexport class QuestionBook {\r\n Id: number;\r\n Name: string;\r\n Category__c: string;\r\n Next__c : string;\r\n Cancel__c : string;\r\n Back__c : string;\r\n Submit__c : string;\r\n Edit__c : string;\r\n First_Question__c: string;\r\n Title__c: string;\r\n Next_Tracking_ID__c: string;\r\n Back_Tracking_ID__c: string;\r\n Cancel_Tracking_ID__c: string;\r\n Submit_Tracking_ID__c: string;\r\n Total_Questions__c: number;\r\n Summary_Text__c?: string;\r\n Questions__r?: QuestionR;\r\n Progress_Bar__c: boolean;\r\n SubTitle__c: string;\r\n Question_Type__c: string;\r\n Possibilities__c: string;\r\n Summary_Sub_Text__c: string;\r\n isShengel__c?: boolean;\r\n}\r\n\r\nexport class Question {\r\n Id: string;\r\n Name: string;\r\n Reference_Field__c?:string;\r\n Allowed_File_Extensions__c :string;\r\n Question__c : string;\r\n Question_Text__c : string;\r\n Type__c: string;\r\n Next_Question__c?: string;\r\n Is_Optional__c: boolean;\r\n Title__c: string;\r\n SubTitle__c: string;\r\n Is_Title__c: boolean;\r\n X24_Hours__c: boolean;\r\n Error_Message__c: string;\r\n Is_Date_Backward__c : boolean;\r\n Is_Date_Forward__c : boolean;\r\n Group__c: string;\r\n Question_No__c?: string;\r\n Question_Options__r?: OptionR;\r\n static X24_Hours__c: boolean;\r\n Size__c: number;\r\n Sub_Text__c: string;\r\n Tracking_ID__c: string;\r\n Time_Text__c: string;\r\n Date_Text__c: string;\r\n Additional_Rich__c? : string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n input?: any;\r\n error?: ErrorWrapper;\r\n valueName?:string;\r\n dropDownOnly?:boolean;\r\n isDependentPicklist?:boolean;\r\n tableDataValue?:any[]; \r\n tableHeader?:string;\r\n startDate?:any;\r\n minDate?: any ;\r\n isShengel__c?: boolean;\r\n}\r\n\r\n\r\nexport class LocalQuestion {\r\n Id: string;\r\n Name: string;\r\n Allowed_File_Extensions__c :string;\r\n Question__c : string;\r\n Question_Text__c : string;\r\n Type__c: string;\r\n Title__c: string;\r\n SubTitle__c: string;\r\n Next_Question__c?: string;\r\n Is_Optional__c: boolean;\r\n Is_Title__c: boolean;\r\n X24_Hours__c: boolean;\r\n Error_Message__c: string;\r\n Is_Date_Backward__c : boolean;\r\n Is_Date_Forward__c : boolean;\r\n Time_Text__c : string;\r\n Date_Text__c : string;\r\n Group__c: string;\r\n Question_No__c?: string;\r\n Question_Options__r?: OptionR;\r\n Sub_Text__c : string;\r\n Size__c: number;\r\n Tracking_ID__c: string;\r\n Additional_Rich__c? : string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n input?: string;\r\n error?: ErrorWrapper;\r\n static X24_Hours__c: boolean;\r\n uniqueSubQId: string;\r\n}\r\n\r\nexport class QuestionR {\r\n records?: Question[];\r\n}\r\n\r\nexport class OptionR {\r\n records?: Option[];\r\n}\r\n\r\nexport class Option {\r\n Id: string;\r\n Name: string;\r\n Value__c: string;\r\n Tracking_ID__c: string;\r\n Next_Question__c?: string;\r\n}\r\n\r\nexport class OptionValue {\r\n Id: string;\r\n Name: string;\r\n Value__c: string;\r\n Next_Question__c?: string;\r\n checked: boolean;\r\n}\r\n\r\nexport class AnswerBook {\r\n Id: string;\r\n Question_Book__c: string;\r\n Status__c: string;\r\n Answers__r?: AnswerR;\r\n\r\n}\r\n\r\nexport class Answer {\r\n Id: string;\r\n Question_Rich_Text__c: string;\r\n Answer_Long__c : string;\r\n Question_Type__c: string;\r\n Question_Ref__c: string;\r\n Question_Group_Text__c: string;\r\n}\r\nexport class AnswerR {\r\n records?: Answer[];\r\n}\r\n\r\nexport class AnswerWrapper {\r\n ansId?: string;\r\n ansNumber?: number;\r\n abId: string;\r\n quesId: string;\r\n quesValue: string;\r\n qTyp: string;\r\n ansValue: string;\r\n groupText: string;\r\n squesValue: string;\r\n}\r\n\r\nexport class AttachmentWrapper {\r\n parentId: string;\r\n fileName: string;\r\n fileContent: string;\r\n}\r\n\r\nexport class Attachment {\r\n public attachmentId: string;\r\n public attachmentName: string;\r\n public attachmentMetaData: any;\r\n\r\n constructor(id: string,name:string,metaData:any){\r\n this.attachmentId = id;\r\n this.attachmentName = name;\r\n this.attachmentMetaData = metaData;\r\n }\r\n}\r\n\r\n","export class ErrorWrapper {\r\n errorCode: string;\r\n errorMsg: string;\r\n errorDetails: string;\r\n}\r\n","import { Question, QuestionBook, AnswerBook } from \"./wrapper\";\r\n\r\n/*\r\nexport const TESTQUESTIONS: Question[] = [\r\n{ Id: 11, Name: '001', question: 'What is your Name?' },\r\n{ Id: 12, Name: '002', question: 'What is your favourite City?' },\r\n{ Id: 13, Name: '003', question: 'How many languages you speak?' },\r\n{ Id: 14, Name: '004', question: 'Share your feedback?' },\r\n];\r\n*/\r\n\r\n// Dynamic Field Changes\r\nexport const TESTQB: QuestionBook = {\r\nId: 2,\r\nName: 'QB-0000',\r\nCategory__c: 'Simple',\r\nNext__c : 'weiter',\r\nCancel__c :'zurück',\r\nBack__c : 'zurück',\r\nSubmit__c : 'absenden',\r\nEdit__c : 'Bearbeiten',\r\nNext_Tracking_ID__c: '12345',\r\nBack_Tracking_ID__c: '12345',\r\nCancel_Tracking_ID__c: '12345',\r\nSubmit_Tracking_ID__c: '12345',\r\nFirst_Question__c: '1',\r\nTitle__c: 'Demo Unconditional',\r\nTotal_Questions__c: 3,\r\nSubTitle__c: 'subTitle',\r\nQuestion_Type__c:'type',\r\nPossibilities__c: 'poss',\r\nSummary_Sub_Text__c: 'subText',\r\nProgress_Bar__c: true\r\n}\r\n// Text Question\r\nexport const TESTQUESTION: Question = {\r\nId: '11',\r\nName: 'QN-00001',\r\nType__c: 'Text',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'What is your Name?',\r\nQuestion__c: 'What is your Name?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: true,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// DateTime Question\r\nexport const DTQUESTION: Question = {\r\nId: '12',\r\nName: 'QN-00002',\r\nType__c: 'DateTime',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'When did the incident happen?',\r\nQuestion__c: 'When did the incident happen?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: true,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : true,\r\nIs_Date_Forward__c : true ,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// File Question\r\nexport const FILEQUESTION: Question = {\r\nId: '13',\r\nName: 'QN-00003',\r\nType__c: 'File',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Upload the Incident Report/Images?',\r\nQuestion__c: 'Upload the Incident Report/Images?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: true,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// DateTime Question\r\nexport const TAQUESTION: Question = {\r\nId: '14',\r\nName: 'QN-00004',\r\nType__c: 'TextArea',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Explain the particulars of the Incident?',\r\nQuestion__c: 'Explain the particulars of the Incident?',\r\nNext_Question__c: 'a013t000013SS89AAG',\r\nTracking_ID__c: '1234',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c: '1',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\n};\r\n\r\n// Radio Question\r\nexport const RADIOQUESTION: Question = {\r\nId: '15',\r\nName: 'QN-00005',\r\nType__c: 'Radio',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Choose your favorite role',\r\nQuestion__c: 'Choose your favorite role',\r\nTracking_ID__c: '1234',\r\nNext_Question__c: '',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c:'5',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nQuestion_Options__r: {\r\nrecords: [\r\n {\r\n Id: '121',\r\n Name: '121N',\r\n Value__c: '121V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '122',\r\n Name: '122N',\r\n Value__c: '122V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '123',\r\n Name: '123N',\r\n Value__c: '123V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n }\r\n ]\r\n}\r\n};\r\n\r\n// Checkbox Question\r\nexport const CHECKQUESTION: Question = {\r\nId: '16',\r\nName: 'QN-00006',\r\nType__c: 'Checkbox',\r\nAllowed_File_Extensions__c : '.pdf',\r\nQuestion_Text__c: 'Choose your favorite spots',\r\nQuestion__c: 'Choose your favorite spots',\r\nTracking_ID__c: '1234',\r\nNext_Question__c: '',\r\nIs_Optional__c: false,\r\nIs_Title__c: false,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c:'6',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\nQuestion_Options__r: {\r\nrecords: [\r\n {\r\n Id: '121',\r\n Name: '121N',\r\n Value__c: '121V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '122',\r\n Name: '122N',\r\n Value__c: '122V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '123',\r\n Name: '123N',\r\n Value__c: '123V',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n }\r\n ]\r\n}\r\n};\r\n\r\nexport const GOOGLE_MAP_API_KEY = 'AIzaSyA18odJnD-pDsu7EVJ7WiXVM5sVvpjAQxw';\r\n\r\n// Book Question\r\nexport const BOOKQUESTION: Question = {\r\nId: '17',\r\nName: 'QN-00007',\r\nType__c: 'Book',\r\nAllowed_File_Extensions__c : '.pdf',\r\nTracking_ID__c: '1234',\r\nQuestion__c: 'Provide your Address',\r\nQuestion_Text__c: 'Provide your Address',\r\nNext_Question__c: '',\r\nIs_Optional__c: false,\r\nIs_Title__c: true,\r\nX24_Hours__c: false,\r\nError_Message__c: 'Please Enter a Value',\r\nIs_Date_Backward__c : false,\r\nIs_Date_Forward__c : false,\r\nGroup__c: 'Basic',\r\nSize__c:1,\r\nQuestion_No__c:'7',\r\nTime_Text__c: 'hour',\r\nTitle__c: 'title',\r\nSubTitle__c: 'subtitle',\r\nSub_Text__c: 'subtext',\r\nDate_Text__c: 'datetext',\r\nQuestions__r: {\r\nrecords: [\r\n{\r\n Id: '170',\r\n Name: 'QN-000070',\r\n Type__c: 'Dropdown',\r\n Question_Text__c: 'Land',\r\n Question__c: 'Land',\r\n Size__c:1,\r\n Allowed_File_Extensions__c : '.pdf',\r\n Tracking_ID__c: '1234',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c:false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n Question_Options__r: {\r\n records: [\r\n {\r\n Id: '1',\r\n Name: 'D',\r\n Value__c: 'D',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '2',\r\n Name: 'CH',\r\n Value__c: 'CH',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n },\r\n {\r\n Id: '3',\r\n Name: 'UK',\r\n Value__c: 'UK',\r\n Tracking_ID__c: '1234',\r\n Next_Question__c: '',\r\n }\r\n ]\r\n }\r\n},\r\n{\r\n Id: '171',\r\n Name: 'QN-000071',\r\n Type__c: 'Text',\r\n Size__c:3,\r\n Allowed_File_Extensions__c : '.pdf',\r\n Question_Text__c: 'PLZ',\r\n Question__c: 'PLZ',\r\n Tracking_ID__c: '1234',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c: false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n{\r\n Id: '172',\r\n Name: 'QN-000072',\r\n Type__c: 'Text',\r\n Allowed_File_Extensions__c : '.pdf',\r\n Tracking_ID__c: '1234',\r\n Question_Text__c: 'ORT',\r\n Question__c: 'ORT',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c: false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Size__c:8,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n{\r\n Id: '173',\r\n Name: 'QN-000073',\r\n Type__c: 'Text',\r\n Question_Text__c: 'StraBe',\r\n Question__c: 'StraBe',\r\n Tracking_ID__c: '1234',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c:false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Allowed_File_Extensions__c : '.pdf',\r\n Size__c:8,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext', \r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n{\r\n Id: '174',\r\n Name: 'QN-000074',\r\n Type__c: 'Text',\r\n Allowed_File_Extensions__c : '.pdf',\r\n Tracking_ID__c: '1234',\r\n Question_Text__c: 'Hausnummer',\r\n Question__c: 'Hausnummer',\r\n Is_Optional__c: false,\r\n Is_Title__c: true,\r\n X24_Hours__c:false,\r\n Error_Message__c: 'Please Enter a Value',\r\n Is_Date_Backward__c : false,\r\n Is_Date_Forward__c : false,\r\n Size__c:4,\r\n Group__c: 'Basic',\r\n Time_Text__c: 'hour',\r\n Title__c: 'title',\r\n SubTitle__c: 'subtitle',\r\n Sub_Text__c: 'subtext',\r\n Date_Text__c: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n }\r\n},\r\n]\r\n},\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport {Router} from '@angular/router';\r\n\r\ndeclare class Visualforce {\r\n static remoting: { Manager: { invokeAction: any } };\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SalesforceService {\r\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\r\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\r\n\r\n public remoteAction(methodName: string,\r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\r\n const self = this;\r\n var nsMethodName = this.getRNXTMethodName();\r\n //console.log('method name in lib = ' + nsMethodName);\r\n\r\n Visualforce.remoting.Manager.invokeAction(\r\n nsMethodName,\r\n //'NxtController.process',\r\n //`{!$RemoteAction.NxtController.process}`,\r\n ...params,\r\n function (result, event) {\r\n try {\r\n result = JSON.parse(result);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n //console.log('Function called was - ' + methodName);\r\n //console.log(result);\r\n //console.log(resolve(result));\r\n if (result.status) {\r\n resolve(result);\r\n } else {\r\n resolve(result);\r\n }\r\n },\r\n config || { buffer: false, escape: false }\r\n );\r\n }\r\n\r\n constructor(private _router: Router) {\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public getAPIData(tkn: string, \r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n console.log('inside DataService.getAPIData for ' + tkn);\r\n const self = this;\r\n\r\n // Call the ShengelGo Server\r\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\r\n headers.append('Accept', 'application/json');\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n\r\n // Use Shengel Go Server IP/Domain https://dev-api.shengelgo.com\r\n\r\n this.http.get('https://dev-api.shengelgo.com/nxt/api/process/?dataType=' + params[0] + '&operation=' + params[1] + '&param=' + params[2], { headers: headers , observe: 'response' })\r\n .subscribe(response => {\r\n if(response.status == 200) {\r\n resolve(response.body);\r\n } else {\r\n reject(response.body);\r\n }\r\n }, error => {\r\n console.log(error.status);\r\n reject(error);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, NgModule, NgZone, OnInit, Output, ViewChild } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-pick-location',\r\n templateUrl: './pick-location.component.html',\r\n styleUrls: ['./pick-location.component.css']\r\n})\r\nexport class PickLocationComponent implements OnInit {\r\n latitude = null;\r\n longitude = null;\r\n zoom: number = 10;\r\n private geoCoder;\r\n // public formGroup: FormGroup;\r\n @ViewChild('search', { static: true })\r\n public searchElementRef: ElementRef<HTMLInputElement>;\r\n showModal: boolean = false;\r\n @Input() address:string;\r\n @Output() locationSelected: EventEmitter<any> = new EventEmitter<any>();\r\n navigatorGeolocation: any;\r\n markerPosition: { lat: any; lng: any; };\r\n center: { lat: any; lng: any; };\r\n markerOptions:any;\r\n\r\n constructor(\r\n // private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone) { \r\n this.geoCoder = new google.maps.Geocoder();\r\n this.markerOptions = new google.maps.Marker ({\r\n draggable: true,\r\n animation: google.maps.Animation.DROP\r\n });\r\n // this.formGroup = this.formBuilder.group({\r\n // location: [''] // Add any initial value or leave it empty\r\n // });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initAutocomplete();\r\n this.onMarkerDragEnd();\r\n }\r\n \r\n initAutocomplete(): void {\r\n if (this.geoCoder) {\r\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.latitude = place.geometry.location.lat();\r\n this.longitude = place.geometry.location.lng();\r\n this.zoom = 18;\r\n this.address = place.formatted_address;\r\n this.locationSelected.emit(this.address);\r\n });\r\n });\r\n }\r\n }\r\n\r\n onMarkerDragEnd(): void {\r\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\r\n console.log('dragable working',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n\r\n onMapClick(event: google.maps.MapMouseEvent): void {\r\n console.log('onMapClick',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n }\r\n\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n }\r\n\r\n\r\n getAddress(latitude: number, longitude: number) {\r\n if (this.geoCoder) {\r\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\r\n console.log('results',results);\r\n console.log('status',status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n // this.zoom = 18;\r\n this.address = results[0].formatted_address;\r\n this.locationSelected.emit(this.address);\r\n } else {\r\n console.log('No results found');\r\n }\r\n } else {\r\n console.log('Geocoder failed due to: ' + status);\r\n }\r\n });\r\n }\r\n }\r\n\r\n openMap() {\r\n this.showModal = true;\r\n if(!this.address){\r\n this.latitude = this.longitude = null;\r\n }\r\n if (!(this.latitude && this.longitude)) {\r\n this.setCurrentLocation();\r\n }else{\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n }\r\n }\r\n\r\n closeModal() {\r\n this.showModal = false;\r\n }\r\n\r\n\r\n}\r\n","<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { Question } from '../../wrapper';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n\r\n@Component({\r\n selector: 'app-custom-input',\r\n templateUrl: './custom-input.component.html',\r\n styleUrls: ['./custom-input.component.css']\r\n})\r\n\r\nexport class CustomInputComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() question: Question\r\n @Input() disabled: boolean = false; // input disabled or not\r\n @Input() placeholder:string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n\r\n @Input() ngClassValue:any;\r\n @Input() idValue:any;\r\n @Input() focusEvent: any;\r\n @Output() inputValue = new EventEmitter<any>(); \r\n\r\n subscription: Subscription;\r\n\r\n constructor(private changeService: ChangeService) { \r\n }\r\n\r\n ngOnInit(): void {\r\n // Since the idValue holds the Parent Question\r\n if(this.question.Sub_Text__c != undefined) {\r\n this.disabled = true;\r\n let dependencyObj: DependencyMeta = JSON.parse(this.question.Sub_Text__c);\r\n\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n console.log('inside subscription for the change');\r\n if(changeValue != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n this.value = changeValue.valueObj[dependencyObj.valueField];\r\n this.inputValue.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngOnChange(): void {\r\n }\r\n\r\n ngOnDestroy() {\r\n // prevent memory leak when component destroyed\r\n this.subscription?.unsubscribe();\r\n }\r\n \r\n onInputChange(input:any){\r\n this.inputValue.emit(input.target.value);\r\n }\r\n}\r\n","<input *ngIf=\"!fromShengel\" type=\"text\" \r\n [(ngModel)]=\"value\"\r\n [ngClass]=\"ngClassValue\"\r\n [id]=\"idValue\"\r\n (focus)=\"focusEvent\"\r\n [style.border-color]=\"error ? 'red' : ''\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInputChange($event)\" />\r\n\r\n<input *ngIf=\"fromShengel\" class=\"input-shengel\"\r\n [(ngModel)]=\"value\"\r\n type=\"text\" \r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInputChange($event)\" />\r\n\r\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-text-area',\r\n templateUrl: './custom-text-area.component.html',\r\n styleUrls: ['./custom-text-area.component.css']\r\n})\r\nexport class CustomTextAreaComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() placeholder:string;\r\n @Input() rows:Number; //The number of visible text lines for the control\r\n @Input() error:any;\r\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onTextareaChange(event:any): void {\r\n this.textareaValueChange.emit(event.target.value);\r\n }\r\n\r\n}\r\n","\r\n<textarea \r\n [(ngModel)] =\"value\" \r\n [rows]=\"rows\" \r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder\"\r\n (input)=\"onTextareaChange($event)\"\r\n></textarea>\r\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TableWrapper } from '../../model/tableWrapper';\r\nimport { Question } from '../../wrapper';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-custom-table',\r\n templateUrl: './custom-table.component.html',\r\n styleUrls: ['./custom-table.component.css']\r\n})\r\n\r\nexport class CustomTableComponent implements OnInit {\r\n @Input() question: Question\r\n @Output() valueChange: EventEmitter<any[]> = new EventEmitter<any[]>();\r\n\r\n tableInfo: TableWrapper;\r\n tableHeader: any;\r\n tableData: any;\r\n addRowColSpan: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if(this.question.Sub_Text__c != undefined) {\r\n this.tableInfo = JSON.parse(this.question.Sub_Text__c);\r\n\r\n this.tableHeader = this.tableInfo.header;\r\n this.tableData = this.tableInfo.data;\r\n this.valueChange.emit(this.tableData);\r\n\r\n if(this.tableData.addRow) {\r\n this.addRowColSpan = this.tableHeader.length - 2;\r\n }\r\n }\r\n }\r\n\r\n addRow(): void {\r\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\r\n const updatedTableData = [...this.tableData, newItem];\r\n this.tableData = updatedTableData;\r\n this.emitTableDataValue(updatedTableData);\r\n }\r\n\r\n updateRadio(item: any, value: string): void {\r\n item.value = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n\r\n updateLabel(rowIndex: number, label: string, value: string): void {\r\n this.tableData[rowIndex][label] = value;\r\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n\r\n emitTableDataValue(updatedTableData: any[]): void {\r\n this.valueChange.emit(updatedTableData);\r\n }\r\n}","<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\r\n {{ header.label }}\r\n </th>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.type === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'image'\" [class]=\"'col-md-' + header.size\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\r\n </div>\r\n <div *ngIf=\"header.type === 'text'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'radio'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow\">\r\n <td colspan=\"3\">\r\n <b>Add More</b>\r\n </td>\r\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-date-picker',\r\n templateUrl: './custom-date-picker.component.html',\r\n styleUrls: ['./custom-date-picker.component.css']\r\n})\r\nexport class CustomDatePickerComponent implements OnInit {\r\n @Input() date: string;\r\n @Input() minDate:any;\r\n @Input() maxDate:any;\r\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\r\n dateSelected:any\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.dateSelected = new Date(this.date);\r\n }\r\n\r\n onDateChange(event: any) {\r\n this.dateChange.emit(event);\r\n }\r\n\r\n}\r\n","<!-- <div class=\"date-picker-container\">\r\n <label>{{label}}</label>\r\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\r\n</div> -->\r\n<!-- <mat-form-field>\r\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</mat-form-field> -->\r\n\r\n<p>\r\n <input class=\"input-shengel\"\r\n [(ngModel)]=\"dateSelected\" \r\n [owlDateTimeTrigger]=\"dt\" \r\n [owlDateTime]=\"dt\" \r\n [min]=\"minDate\"\r\n placeholder=\"DD/MM/YYYY HH:MM\"\r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onDateChange($event)\">\r\n <owl-date-time #dt></owl-date-time>\r\n</p>\r\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dropdown-with-flag',\r\n templateUrl: './dropdown-with-flag.component.html',\r\n styleUrls: ['./dropdown-with-flag.component.css']\r\n})\r\nexport class DropdownWithFlagComponent implements OnInit {\r\n @Input() certified:boolean= false;\r\n // @Input() getValue:string = '';\r\n @Input() JobPerformerCertificates: any[] = [];\r\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \r\n selectedValue:string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(){\r\n this.selectedValue = null;\r\n }\r\n \r\n onJobPerformerCertified(event:any){\r\n this.flagDropDownChange.emit(event);\r\n }\r\n\r\n}\r\n","<div class=\"she-title\">\r\n <label class=\"switch\">\r\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\r\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \r\n <span class=\"switch-handle\"></span> \r\n </label> \r\n <ng-select *ngIf=\"certified\"\r\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \r\n [items]=\"JobPerformerCertificates\"\r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"onJobPerformerCertified($event)\"\r\n placeholder=\"---Select---\">\r\n </ng-select>\r\n </div> ","export class ChangeWrapper {\r\n fromQuestionId: string;\r\n fromQuestionName: string;\r\n toQuestionId: string;\r\n toQuestionName: string;\r\n valueObj: any;\r\n}\r\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\n\r\n@Component({\r\n selector: 'app-custom-dropdown',\r\n templateUrl: './custom-dropdown.component.html',\r\n styleUrls: ['./custom-dropdown.component.css']\r\n})\r\nexport class CustomDropdownComponent implements OnInit {\r\n @Input() options: string[];\r\n @Input() placeholder: string;\r\n @Input() apiMeta: string;\r\n @Input() selectedValue: string;\r\n @Input() progressBar: boolean;\r\n @Input() id:string;\r\n @Input() errorMessage: string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n\r\n constructor(private http: HttpClient) { \r\n }\r\n\r\n public labelField: string;\r\n public valueField: string;\r\n\r\n ngOnInit(): void {\r\n console.log('inside oninit of custom-dropdown of ' + this.id);\r\n // console.log(this.apiMeta);\r\n if(this.apiMeta !== undefined) {\r\n this.options = [];\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.labelField = apiObj.field;\r\n\r\n this.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\r\n let responses = apiResponse[apiObj.variable];\r\n let results = [];\r\n for (let i = 0; i < responses.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\r\n this.options = results;\r\n })\r\n }\r\n }\r\n\r\n public apiResponse(endpoint: string): Observable<any> {\r\n return this.http.get(endpoint);\r\n }\r\n\r\n selectChange(event:any) {\r\n console.log('inside selectChange from ' + this.id);\r\n // console.log(event);\r\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event;\r\n this.valueChange.emit(change);\r\n }\r\n}\r\n","<select *ngIf=\"!fromShengel\"\r\n [ngClass]=\"{\r\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\r\n 'custom-select': !progressBar\r\n }\" class=\"custom-select mr-sm-2 dd-height\" \r\n [id]=\"id\" \r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"selectChange($event.target.value);\" \r\n [style.borderColor]=\"error ? 'red' : '#858585'\"\r\n [style.color]=\"error ? 'red' : ''\">\r\n <option *ngFor=\"let option of options\" [value]=\"option.Value__c\" class=\"option\">{{ option.Value__c }}</option>\r\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\r\n</select>\r\n\r\n<ng-select *ngIf=\"fromShengel\"\r\n class=\"shengel-custom-select\"\r\n [(ngModel)]=\"selectedValue\" \r\n [placeholder]=\"placeholder\"\r\n (change)=\"selectChange($event)\"\r\n [id]=\"id\">\r\n <ng-option *ngFor=\"let option of options\" [value]=\"option\">{{ option[labelField] }}</ng-option> \r\n <ng-option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</ng-option>\r\n</ng-select>\r\n\r\n<span *ngIf=\"error && fromShengel\" class=\"error-msg\">Required*</span>","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { UntypedFormBuilder } from \"@angular/forms\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as moment from 'moment'; \r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\n\r\nimport {\r\n Question,\r\n QuestionBook,\r\n AnswerBook,\r\n AnswerWrapper,\r\n Option,\r\n OptionValue,\r\n AttachmentWrapper,\r\n Attachment,\r\n LocalQuestion\r\n} from \"../../wrapper\";\r\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\r\n\r\nimport {\r\n TESTQUESTION,\r\n DTQUESTION,\r\n FILEQUESTION,\r\n TAQUESTION,\r\n RADIOQUESTION,\r\n CHECKQUESTION,\r\n BOOKQUESTION,\r\n TESTQB,\r\n} from \"../../sample\";\r\nimport { from } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"lib-questionnaire\",\r\n templateUrl: \"./questionnaire.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ChangeService],\r\n styleUrls: [\"./questionnaire.component.css\"],\r\n})\r\nexport class QuestionnaireComponent implements OnInit {\r\n @Input() qbId: string;\r\n @Input() insuranceStartDate: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Output() handleEvent = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n\r\n params: Params;\r\n public deviceInfo = null;\r\n public abItem: AnswerBook;\r\n public qbItem: QuestionBook;\r\n public questionItem: Question;\r\n public answerWrap: AnswerWrapper;\r\n\r\n // CONDITIONAL TYPES\r\n public radioFlag: boolean = false;\r\n public dataFlag: boolean = false;\r\n\r\n // OPTIONONLY TYPES\r\n public dropdownFlag: boolean = false;\r\n public checkboxFlag: boolean = false;\r\n\r\n // UNCONDITIONAL TYPES\r\n public textFlag: boolean = false;\r\n public taFlag: boolean = false;\r\n public dtFlag: boolean = false;\r\n public timeFlag: boolean = false;\r\n public dateFlag: boolean = false;\r\n public fileFlag: boolean = false;\r\n public emailFlag: boolean = false;\r\n public numberFlag: boolean = false;\r\n public alphanumericFlag: boolean = false;\r\n public bookFlag: boolean = false;\r\n public listFlag: boolean= false;\r\n //Back button\r\n public backButtonFlag: boolean = false;\r\n public optionValues: OptionValue[] = [];\r\n public subQuestions: Question[] = [];\r\n public inpValue: string;\r\n public answerMap = new Map();\r\n public dateMap = new Map();\r\n public selectedhourMap = new Map();\r\n public selectedminuteMap = new Map();\r\n public attachmentsMap = new Map();\r\n public sqOptions = new Map();\r\n public subAnsMap = new Map();\r\n public localSubQuestions: LocalQuestion[] = [];\r\n public questionStack = [];\r\n public questionName = [];\r\n public attachments: any[] = [];\r\n public attachmentIdList: any[] = [];\r\n public attachmentId: string = \"\";\r\n public attachment: any;\r\n public allowedFileExtension: string[];\r\n public fileExceededLimit: boolean = false;\r\n public fileTypeIncorrect: boolean = false;\r\n public back: boolean = false;\r\n public backicon: boolean = false;\r\n public check: boolean;\r\n public pop: boolean;\r\n public localDate: string;\r\n public currentName: string;\r\n public pathquestion: number;\r\n public percent: number;\r\n public count: number;\r\n public taFocusOut: boolean = false;\r\n public notValidAccNum: boolean = false;\r\n public splCCBackClick: boolean = false;\r\n public summary = [];\r\n public localSubQMap = new Map();\r\n public keyIndex: number = 0;\r\n //public sques: string;\r\n public selDate: any = {};\r\n public selectDate: string;\r\n private today: Date = new Date();\r\n private el: HTMLElement;\r\n public innerhtml: any;\r\n public possibilities: any;\r\n public innerhtml1: any;\r\n public summaryData =[];\r\n\r\n public hours: any[] = [\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n ];\r\n\r\n public minutes: string[] = [\r\n \"00\",\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"24\",\r\n \"25\",\r\n \"26\",\r\n \"27\",\r\n \"28\",\r\n \"29\",\r\n \"30\",\r\n \"31\",\r\n \"32\",\r\n \"33\",\r\n \"34\",\r\n \"35\",\r\n \"36\",\r\n \"37\",\r\n \"38\",\r\n \"39\",\r\n \"40\",\r\n \"41\",\r\n \"42\",\r\n \"43\",\r\n \"44\",\r\n \"45\",\r\n \"46\",\r\n \"47\",\r\n \"48\",\r\n \"49\",\r\n \"50\",\r\n \"51\",\r\n \"52\",\r\n \"53\",\r\n \"54\",\r\n \"55\",\r\n \"56\",\r\n \"57\",\r\n \"58\",\r\n \"59\",\r\n ];\r\n\r\n public selectedHour: string = \"\";\r\n public selectedMinute: string = \"\";\r\n public selectedMeridiem: string = \"\";\r\n public valueName: string = \"\";\r\n public valueName1: string = \"\";\r\n public bookFlagAccept: string[];\r\n public recordId: string;\r\n public currentQuestionId: string;\r\n public spinnerType: string;\r\n public spinnerName: string;\r\n public nextValue:string ='';\r\n\r\n start_date?: any;\r\n\r\n //search component\r\n public tempoAddress: any[] = [];\r\n public selectedValue: string;\r\n public selectedPostalcode: string;\r\n public selectedProvince: string;\r\n public selectedCity: string;\r\n public selectedArea: string;\r\n public localaddress: any[] = [];\r\n\r\n public allAddress :any [] = [];\r\n public PostalCode:string;\r\n public places: any[] = [];\r\n public province:any[]=[];\r\n \r\n // REQ-01 PROGRESS BAR\r\n public progressStyle: string = \"0%\";\r\n public answerCount: number = 0;\r\n public indexCount: number = 0;\r\n public addFlag: boolean = true;\r\n\r\n public myDatePickerOptions: IMyDpOptions = {};\r\n individualBookButton: boolean;\r\n\r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService, \r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private spinner: NgxSpinnerService,\r\n private _formBuilder: UntypedFormBuilder,\r\n //private dbService: NgxIndexedDBService,\r\n private deviceService: DeviceDetectorService,\r\n el: ElementRef\r\n ) {\r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise\";\r\n }\r\n\r\n onDateChanged(event: IMyDateModel) {\r\n //console.log('Inside the onDateChanged');\r\n //to change the border color\r\n if (this.qbItem.Progress_Bar__c) {\r\n //console.log('Inside the progressBar cond');\r\n this.inpValue =\r\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n if(this.questionItem.Type__c ==\"Book\"){\r\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n }\r\n } else {\r\n //console.log('Inside the ELSE of progressBar cond');\r\n if(this.questionItem.Type__c ==\"Book\"){\r\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\r\n }\r\n this.inpValue =\r\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\r\n }\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\r\n this.dateMap.set(this.questionItem.Id, event);\r\n if (\r\n event.date.day === 0 &&\r\n event.date.month === 0 &&\r\n event.date.year === 0\r\n ) {\r\n this.dateMap.delete(this.questionItem.Id);\r\n this.answerMap.delete(this.questionItem.Id);\r\n }\r\n //console.log('this.inpValue = '+this.inpValue);\r\n //console.log('this.selectDate = '+this.selectDate);\r\n }\r\n\r\n ngOnInit() {\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.route.queryParams.subscribe((params: Params) => {\r\n if (params['id']) {\r\n this.individualBookButton = true;\r\n }else if(params['bookletId']){\r\n this.individualBookButton = false;\r\n }\r\n });\r\n console.log('Inside the ngOnInit');\r\n // console.log(\"RNXT-Claim\");\r\n this.inpValue = \"\";\r\n this.selectedMeridiem = \"AM\";\r\n this.processQB();\r\n //console.log(localStorage.getItem('address'));\r\n if(localStorage.getItem(\"address\")){\r\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\r\n //console.log('Length='+this.localaddress.length);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n }); \r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n } else if(this.deviceInfo.os === 'iOS'){\r\n let openRequest = indexedDB.open(\"addressDB\");\r\n openRequest.onsuccess = (event) => {\r\n const targetNew = event.target as IDBRequest;\r\n let dbNew = targetNew.result;\r\n const requestNew = dbNew.transaction('addressTable')\r\n .objectStore('addressTable')\r\n .get(1);\r\n requestNew.onsuccess = ()=> {\r\n const tempVar = requestNew.result;\r\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n }); \r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n }\r\n };\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n console.log('inside Questionnaire ngOnChanges');\r\n // this.processQB();\r\n }\r\n\r\n date_TimeMap() {\r\n this.selectedhourMap.set(this.questionItem.Id, this.selectedHour);\r\n this.selectedminuteMap.set(this.questionItem.Id, this.selectedMinute);\r\n }\r\n\r\n day() {\r\n this.myDatePickerOptions = {\r\n dateFormat: \"dd.mm.yyyy\",\r\n sunHighlight: false,\r\n disableDateRanges: [],\r\n showClearDateBtn: false,\r\n disableSince: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n disableUntil: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n showTodayBtn: false,\r\n dayLabels: {\r\n su: \"Dom\",\r\n mo: \"Lun\",\r\n tu: \"Mar\",\r\n we: \"Mié\",\r\n th: \"Jue\",\r\n fr: \"Vie\",\r\n sa: \"Sáb\",\r\n },\r\n monthLabels: {\r\n 1: \"Ene\",\r\n 2: \"Feb\",\r\n 3: \"Mar\",\r\n 4: \"Abr\",\r\n 5: \"Mayo\",\r\n 6: \"Jun\",\r\n 7: \"Jul\",\r\n 8: \"Ago\",\r\n 9: \"Sep\",\r\n 10: \"Oct\",\r\n 11: \"Nov\",\r\n 12: \"Dic\",\r\n },\r\n };\r\n }\r\n\r\n change() {\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n if (this.selDate === null || this.inpValue.length === 0) {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\r\n } else {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\r\n }\r\n }\r\n\r\n processQB() {\r\n //console.log('ProcessQB');\r\n //this.qbItem\r\n //console.log(this.qbId);\r\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\r\n if (this.qbId) {\r\n if (this.qbId.length == 18) {\r\n this.readQuestionBook(this.qbId);\r\n } else {\r\n //console.log('Inside the else part');\r\n //console.log('Setting the Question Directly for testing');\r\n this.questionItem = DTQUESTION;\r\n this.qbItem = TESTQB;\r\n this.processQuestion();\r\n }\r\n }\r\n }\r\n\r\n trimLastDummy(input: string) {\r\n return (input = input.substring(0, input.length - 6));\r\n }\r\n\r\n getProperTime(def: string, input: string) {\r\n return input === \"\" ? def : input;\r\n }\r\n\r\n //Summary Question Clickable Logic\r\n handleEditClick(value: string) {\r\n this.backicon = false;\r\n if (this.abItem?.Status__c == \"Pending\") {\r\n if (value == null) {\r\n return;\r\n }\r\n this.readQuestion(value);\r\n //console.log(' in side summaryopen'+ this.summary.length);\r\n\r\n //Assign question stack length from summary part\r\n var arrayLength = this.questionStack.length;\r\n var lengthValue = this.questionStack.indexOf(value);\r\n\r\n for (let i = arrayLength; i > lengthValue; i--) {\r\n this.questionStack.pop();\r\n }\r\n if (this.qbItem.Progress_Bar__c === true) {\r\n var arrayLength1 = this.questionName.length;\r\n for (let j = arrayLength1; j > lengthValue; j--) {\r\n this.questionName.pop();\r\n }\r\n }\r\n this.summary = [];\r\n this.summaryData = [];\r\n }\r\n }\r\n\r\n handleNextClick() {\r\n this.backButtonFlag = false;\r\n this.AnswerSave();\r\n }\r\n\r\n AnswerSave(){\r\n //this.updateProgress();\r\n if (this.currentQuestionId === null) {\r\n return;\r\n }\r\n var questionTxt='';\r\n this.clearError();\r\n this.handleEvent.emit(this.qbItem.Next_Tracking_ID__c);\r\n this.recordId = null;\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n // Create an array of objects to store the values\r\n for (var i=0; i<this.questionItem.Questions__r.records.length;i++) {\r\n if(this.questionItem.Questions__r.records[i].Question_Text__c){\r\n var questionText = this.questionItem.Questions__r.records[i].Question_Text__c.replace(/<[^>]+>/g, ''); // Remove HTML tags from the Question_Text__c value\r\n }else{\r\n questionText = 'undefined';\r\n }\r\n const input = this.questionItem.Questions__r.records[i].input;\r\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\r\n this.summaryData.push(obj); // Add the object to the data array\r\n }\r\n var typ = cQuestion.Type__c;\r\n // this.sques += cQuestion.Question__c + '@@##$$';\r\n var quesValue = cQuestion.Question_Text__c;\r\n var mailformat =\r\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\r\n\r\n // Process Inputs\r\n if (this.checkboxFlag) {\r\n this.inpValue = \"\";\r\n // Save all the selected options in the inpValue\r\n for (var ov of this.optionValues.filter((item) => item.checked)) {\r\n this.inpValue += ov.Value__c + \"@@##$$\";\r\n this.recordId = ov.Next_Question__c;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n } else if (this.emailFlag) {\r\n if (this.inpValue && this.inpValue.match(mailformat)) {\r\n this.recordId = this.questionItem.Next_Question__c;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.alphanumericFlag) {\r\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\r\n if (isNotValidAccNum) {\r\n this.notValidAccNum = true;\r\n this.recordId = this.questionItem.Next_Question__c;\r\n return;\r\n }\r\n this.notValidAccNum = false;\r\n } else if (this.numberFlag) {\r\n if (this.inpValue) {\r\n this.recordId = this.questionItem.Next_Question__c;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.bookFlag) {\r\n //console.log(this.questionItem.Type__c)\r\n //console.log('Inside the bookFlag cond');\r\n //console.log('this.inpValue = '+this.inpValue);\r\n //console.log('this.selectDate = '+this.selectDate);\r\n //console.log('this.selDate = ');\r\n //console.log(this.selDate);\r\n this.inpValue = \"\";\r\n var hasMissingInput = false;\r\n for (var item of this.questionItem.Questions__r.records) {\r\n var count = 0;\r\n \r\n if(item.Type__c == \"Date\" || item.Type__c == \"Time\") {\r\n //this one\r\n this.change();\r\n if(item.Type__c == \"Date\"){\r\n //console.log('Inside the date type cond = '+this.selectDate);\r\n this.inpValue = this.selectDate;\r\n //console.log(this.inpValue)\r\n //console.log(this.selectDate)\r\n \r\n }\r\n if(item.Type__c == \"Time\"){\r\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\r\n \r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.Progress_Bar__c) {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n } else {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n \r\n }\r\n }\r\n if (this.questionItem.X24_Hours__c === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.Progress_Bar__c) {\r\n this.inpValue = this.questionItem.input;\r\n } else {\r\n this.inpValue = this.questionItem.input;\r\n }\r\n }\r\n }\r\n\r\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectedHour || !this.selectedMinute || !this.selectDate) {\r\n //console.log('Inside the null condition of input');\r\n this.questionItem.error = new ErrorWrapper();\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n\r\n if(item.Type__c== \"Text\" && item.Question__c === 'Población'){\r\n for(var loc of this.localaddress){\r\n if((this.selectedPostalcode == loc.zipCode)&&(this.selectedValue == loc.country)&&(this.selectedCity==loc.town)){\r\n item.input= this.selectedCity;\r\n break;\r\n }\r\n else if(count == this.localaddress.length -1){\r\n //console.log('error form city')\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n return;\r\n }\r\n count++; \r\n }\r\n //console.log('testin values=='+item.input)\r\n } \r\n \r\n // if(item.Type__c === 'Location' && Array.isArray(item.input) && item.input.every((input) => input !== undefined)){\r\n // const inputValues = \"answerString: \" + item.input ;\r\n // item.input = inputValues;\r\n // }\r\n if(item.Type__c== \"Text\" && item.Question__c === 'Código postal'){\r\n for(var loc of this.localaddress){\r\n if(loc.zipCode == this.selectedPostalcode){\r\n //console.log('testing zipcode value*****'+ this.selectedPostalcode)\r\n item.input=this.selectedPostalcode;\r\n break;\r\n } else if(count == this.localaddress.length -1){\r\n //console.log('error form')\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n return;\r\n }\r\n count++; \r\n }\r\n //console.log('testin values=='+item.input)\r\n }\r\n \r\n \r\n if(item.Type__c== \"Text\" && item.Question__c === 'Provincia'){\r\n\t\t\t for(var loc of this.localaddress){\r\n\t\t\t\t if(loc.province == this.selectedProvince){\r\n\t\t\t\t\t //console.log('******testing province value'+ this.selectedProvince)\r\n\t\t\t\t\t item.input=this.selectedProvince;\r\n\t\t\t\t\t break;\r\n\t\t\t\t } else if(count == this.localaddress.length -1){\r\n\t\t\t\t\t//console.log('error form')\r\n\t\t\t\t\titem.error = new ErrorWrapper();\r\n\t\t\t\t\thasMissingInput = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t }\r\n\t\t\t\t count++; \r\n\t\t\t }\r\n\t\t\t//console.log('testin values=='+item.input)\r\n\t\t }\r\n\r\n if (\r\n !item.Is_Optional__c &&\r\n // ((item.Type__c != \"File\" && !item.input && item.Type__c != 'Date' && item.Type__c != 'Time') ||\r\n // (item.Type__c == \"File\" && this.attachments.length == 0))\r\n (item.Type__c == \"File\" && this.attachments.length == 0)\r\n ) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if (item.Type__c == \"Radio\") {\r\n if (!item.input) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.Type__c == \"Dropdown\") {\r\n if (!item.input) {\r\n item.input = \"\";\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.Type__c == \"Email\") {\r\n if (item.input && item.input.match(mailformat)) {\r\n this.recordId = cQuestion.Next_Question__c;\r\n } else {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.Type__c == \"File\" && this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n if (item.input == this.inpValue) {\r\n this.recordId = cQuestion.Next_Question__c;\r\n //console.log('inside' + recordId);\r\n }\r\n }\r\n // this.attachments = [];\r\n } //item.input == this.inpValue;\r\n\r\n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\r\n questionTxt += item.Question__c + \"@@##$$\";\r\n //console.log('inside book1' + this.inpValue)\r\n }\r\n if (hasMissingInput) {\r\n return;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\r\n } \r\n else if (this.listFlag) {\r\n this.inpValue = '';\r\n var hasMissingInput = false;\r\n if(this.localSubQMap.has(this.questionItem.Id)){\r\n this.subAnsMap = new Map();\r\n for (var localQues of this.localSubQMap.get(this.questionItem.Id)) {\r\n if(!localQues.input) {\r\n localQues.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if(!this.subAnsMap.has(localQues.Id)){\r\n // console.log('inside ans map')\r\n this.subAnsMap.set(localQues.Id,localQues.input);\r\n } else {\r\n // console.log('inside ans map else')\r\n this.subAnsMap.set(localQues.Id,this.subAnsMap.get(localQues.Id) + '$$@@##'+localQues.input);\r\n }\r\n }\r\n\r\n if (hasMissingInput) {\r\n //console.log('file two')\r\n return;\r\n }\r\n this.subAnsMap.forEach((value, key) => {\r\n // console.log('inside Map' );\r\n // console.log(value);\r\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\r\n });\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n }\r\n }\r\n else if (this.dropdownFlag) {\r\n if (this.inpValue.length <= 1) {\r\n this.inpValue = \".\";\r\n this.questionItem.error = new ErrorWrapper();\r\n }\r\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\r\n //this one\r\n this.change();\r\n if (this.inpValue) {\r\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\r\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\r\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\r\n //console.log(this.inpValue.length);\r\n\r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.Progress_Bar__c) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.questionItem.X24_Hours__c === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.Progress_Bar__c) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.qbItem.Progress_Bar__c) {\r\n //console.log(\"ans => \" + this.inpValue);\r\n var date1: any = this.inpValue.split(\" \");\r\n date1 = date1[0].split(\"/\");\r\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\r\n date1 = new Date(date1);\r\n //console.log(date1)\r\n var date2: any = this.insuranceStartDate.split(\" \");\r\n date2 = new Date(date2[0]);\r\n //console.log(date2);\r\n if (date1 < date2) {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg =\r\n \"No es posible dar de alta la reclamación debido a que la fecha del incidente es anterior a la fecha de contratación de la póliza\";\r\n //console.log('inside')\r\n return;\r\n }\r\n }\r\n if (this.selDate === null || !this.inpValue) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\r\n this.date_TimeMap();\r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.inpValue =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute;\r\n } else {\r\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\r\n }\r\n if (this.inpValue.length < 5) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\r\n this.change();\r\n if (this.inpValue.length < 7 || this.selDate === null) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.fileFlag) {\r\n //console.log('four')\r\n this.inpValue = \"\";\r\n if (this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n }\r\n //console.log('inside filesss' + this.inpValue);\r\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n }\r\n\r\n // Check for the answer before saving to the DB\r\n if (!this.questionItem.Is_Optional__c && !this.inpValue) {\r\n // Show error that the question must be answered\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n // Save the Answer in the DB\r\n this.answerWrap = new AnswerWrapper();\r\n this.answerWrap.abId = this.abItem.Id;\r\n this.answerWrap.quesId = cQuestion.Id;\r\n this.answerWrap.quesValue = quesValue;\r\n this.answerWrap.qTyp = typ;\r\n this.answerWrap.ansValue = this.inpValue;\r\n this.answerWrap.groupText = cQuestion.Group__c;\r\n this.answerWrap.ansValue = this.inpValue;\r\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\r\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\r\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\r\n // console.log('Bank condition');\r\n // console.log(this.answerWrap.ansValue);\r\n }\r\n /*if (cQuestion.Type__c == 'Book'){\r\n for (var qb of cQuestion.Questions__r.records){\r\n //console.log(qb.Question__c+'****'+\"@@##$$\")\r\n } \r\n }*/\r\n //this.answerWrap.squesValue = cQuestion.Question__c;\r\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.Question__c;\r\n this.saveAnswer();\r\n }\r\n\r\n next() {\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n var typ = cQuestion.Type__c;\r\n // If no error then move to next steps\r\n if (this.questionItem.error) {\r\n return;\r\n }\r\n\r\n this.questionStack.push(cQuestion.Id);\r\n // this.questionName.push(cQuestion.Name);\r\n\r\n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\r\n if (cQuestion.RecordType.Name == \"CONDITIONAL\") {\r\n for (var cOpt of cQuestion.Question_Options__r.records) {\r\n // Radio / Data\r\n //console.log('Option => ' + cOpt.Value__c + ' matching with ' + ansVal);\r\n if (cOpt.Value__c == this.inpValue) {\r\n //console.log('Match Found using ' + cOpt.Next_Question__c);\r\n this.recordId = cOpt.Next_Question__c;\r\n //console.log('conditional record id'+ this.recordId);\r\n }\r\n }\r\n // Could be of type Data and existing value\r\n if (this.recordId && typ == \"Data\") {\r\n this.recordId = cQuestion.Next_Question__c;\r\n }\r\n } else if (cQuestion.RecordType.Name == \"OPTIONONLY\") {\r\n // OPTIONONLY logic\r\n this.recordId = cQuestion.Next_Question__c;\r\n } else if (cQuestion.RecordType.Name == \"UNCONDITIONAL\") {\r\n //Unconditional logic\r\n //console.log(\"inside unconditional\");\r\n //inside Book Type\r\n if (cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c !='6') {\r\n //console.log(\"inside book\");\r\n for (let opt of cQuestion.Questions__r.records) {\r\n //console.log(opt.Type__c);\r\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\") {\r\n for (var opt1 of opt.Question_Options__r.records) {\r\n if (this.valueName == opt1.Value__c) {\r\n this.recordId =opt1.Next_Question__c || cQuestion.Next_Question__c; \r\n } else {\r\n //console.log('Else'+this.recordId)\r\n this.recordId = cQuestion.Next_Question__c;\r\n \r\n }\r\n }\r\n } else {\r\n this.recordId = cQuestion.Next_Question__c;\r\n }\r\n }\r\n }\r\n else if(cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c =='6' ) {\r\n for (let opt of cQuestion.Questions__r.records) {\r\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\"){\r\n for (var opt1 of opt.Question_Options__r.records) {\r\n if (this.valueName == opt1.Value__c) {\r\n this.recordId = opt1.Next_Question__c; \r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n else {\r\n this.recordId = cQuestion.Next_Question__c;\r\n }\r\n }\r\n\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n\r\n // Calling the progres bar update function\r\n this.answerCount++;\r\n this.updateProgress();\r\n\r\n\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n\r\n if (this.recordId) {\r\n //console.log('Before Calling readQuestion() using ' + recordId);\r\n this.readQuestion(this.recordId);\r\n this.pop = true;\r\n } else {\r\n this.pop = false;\r\n //console.log('Summary Page Logic');\r\n // Reset the Variables\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n\r\n this.resetFlag(typ);\r\n this.questionItem = null;\r\n\r\n // Show Summary\r\n for (var q of this.questionStack) {\r\n //console.log('Handling Question => ' + q);\r\n var ansWrap = this.answerMap.get(q);\r\n if (ansWrap) {\r\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\r\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\r\n var newStr = '';\r\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\r\n for (var ansStr1 of ansStr.split('$$@@##')) {\r\n // if(ansStr1.includes('answerString')){ //remove the answer string \r\n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\r\n // ansStr1 = withoutAnswerString;\r\n // }\r\n if (ansStr1.length > 0) {\r\n if (newStr.length == 0) {\r\n newStr = ansStr1;\r\n } else {\r\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,) \r\n if(this.attachmentsMap.has(ansWrap.quesId)){\r\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\r\n newStr = newStr.replace(att.attachmentId,'');\r\n }\r\n }\r\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\r\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\r\n }\r\n }\r\n }\r\n }ansWrap.ansValue = newStr;\r\n }\r\n this.summary.push(ansWrap);\r\n this.backicon = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n //console.log( doc.documentElement.textContent);\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n\r\n handleBackClick() {\r\n this.back = true;\r\n if (this.pop === true) {\r\n this.questionName.pop();\r\n }\r\n this.handleEvent.emit(this.qbItem.Back_Tracking_ID__c);\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n if(cQuestion.Question_No__c =='1'){\r\n this.handleEvent.emit(this.qbItem.Back__c);\r\n }\r\n \r\n\r\n this.answerCount--;\r\n this.updateProgress();\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n\r\n if (this.summary) {\r\n //console.log('summary true');\r\n this.summary = [];\r\n }\r\n if(this.summaryData){\r\n this.summaryData =[];\r\n }\r\n\r\n // Read the previous question from DB\r\n this.readQuestion(this.questionStack.pop());\r\n //console.log(this.questionStack);\r\n }\r\n\r\n handleBackClickNew() {\r\n this.handleEvent.emit(this.qbItem.Edit__c);\r\n }\r\n\r\n //updating status once Q&A completed.\r\n\r\n private updateAnswerBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"AnswerBook\", \"Update\", uuid],\r\n this.successupdateAB,\r\n this.failureupdateAB\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"AnswerBook\", \"Update\", uuid],\r\n this.successupdateAB,\r\n this.failureupdateAB\r\n );\r\n }\r\n }\r\n\r\n private successupdateAB = (response) => {\r\n console.log(response);\r\n // //console.log('status success')\r\n this.abItem.Status__c = \"Completed\";\r\n };\r\n private failureupdateAB = (response) => {\r\n //console.log('status failed')\r\n };\r\n\r\n private readQuestionBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successReadBook,\r\n this.failureReadBook\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successReadBook,\r\n this.failureReadBook\r\n );\r\n }\r\n }\r\n\r\n private successReadBook = (response) => {\r\n console.log('Inside the successReadBook');\r\n console.log(response);\r\n if(response != null || response != undefined){\r\n this.qbItem = response.questionbook;\r\n this.abItem = response.answerbook;\r\n }\r\n // console.log('readingQuestion using ' + this.qbItem);\r\n if (this.abItem?.Status__c == \"Pending\") {\r\n if (\r\n this.abItem.Answers__r == null ||\r\n this.abItem.Answers__r.records.length == 0\r\n ) {\r\n this.readQuestion(this.qbItem.First_Question__c);\r\n } else {\r\n // Populate the existing answers\r\n var lastQuestionId = \"\";\r\n\r\n for (var ansObject of this.abItem.Answers__r.records) {\r\n lastQuestionId = ansObject.Question_Ref__c;\r\n\r\n this.questionStack.push(ansObject.Question_Ref__c);\r\n\r\n this.answerMap.set(ansObject.Question_Ref__c, {\r\n quesValue: ansObject.Question_Rich_Text__c,\r\n ansValue: ansObject.Answer_Long__c,\r\n quesId: ansObject.Question_Ref__c,\r\n qTyp: ansObject.Question_Type__c,\r\n groupText:ansObject.Question_Group_Text__c,\r\n });\r\n\r\n //console.log(this.questionStack)\r\n if (ansObject.Question_Type__c == \"Book\") {\r\n var av1 = ansObject.Answer_Long__c.split(\"@@##$$\");\r\n // //console.log(\"book log\");\r\n\r\n // //console.log(\"bookid\" + av1[0]);\r\n this.attachmentsMap.set(ansObject.Question_Ref__c, [\r\n { attachmentName: av1[1], attachmentId: av1[0] },\r\n ]);\r\n // //console.log(this.attachmentsMap);\r\n } else if (ansObject.Question_Type__c == \"File\") {\r\n // //console.log(\"inside if\");\r\n var attList;\r\n var att;\r\n for (var attVar of ansObject.Answer_Long__c.split(\",\")) {\r\n var attIdName = attVar.split(\"@@##$$\");\r\n att.attachmentName = attIdName[1];\r\n att.attachmentId = attIdName[0];\r\n attList.push(att);\r\n }\r\n this.attachmentsMap.set(ansObject.Question_Ref__c, attList);\r\n // //console.log(this.attachmentsMap);\r\n }\r\n }\r\n\r\n this.questionStack.pop();\r\n //console.log(this.answerMap);\r\n // Read the last answered question\r\n this.readQuestion(lastQuestionId);\r\n }\r\n } else if (this.abItem?.Status__c == \"Completed\") {\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n // Temporary Fix for duplicate answers on the summary.\r\n this.summary = [];\r\n this.percent = 100;\r\n this.progressStyle = \"100%\";\r\n\r\n for (var answer of this.abItem.Answers__r.records) {\r\n //console.log(answer.Question_Group_Text__c);\r\n //console.log('repeat');\r\n //console.log(answer.Question_Rich_Text__c);\r\n var answers = {};\r\n if (answer.Question_Type__c == \"File\") {\r\n var files = \"\";\r\n var fIndex = 0;\r\n var fileList = answer.Answer_Long__c.split(\",\");\r\n for (var fileIdName of fileList) {\r\n var fileName = fileIdName.split(\"@#$\");\r\n if (fIndex == 0) {\r\n files = fileName[1];\r\n } else {\r\n files = files + \" ,\" + fileName[1];\r\n }\r\n\r\n fIndex++;\r\n }\r\n\r\n answers = {\r\n groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: files,\r\n };\r\n this.summary.push(answers);\r\n } else if (answer.Question_Type__c == \"Book\") {\r\n /* var quesNo=0;\r\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\r\n //console.log('line 1223');\r\n for (var bqAnswerValue of answer.Answer_Long__c.split(\"@@##$$\")) {\r\n var quesValue=answer.Question_Text__c.split(\"@@##$$\");\r\n answers = {};\r\n answers = {\r\n // groupText:answer.Question_Text__c,\r\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\r\n ansValue: bqAnswerValue,\r\n };\r\n quesNo++;\r\n this.summary.push(answers);\r\n }\r\n }*/\r\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\r\n var answervalues = answer.Answer_Long__c.split(\"@@##$$\");\r\n //console.log('value')\r\n answers = { \r\n //groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: answervalues,\r\n };\r\n //console.log(answers)\r\n this.summary.push(answers);\r\n }\r\n else{\r\n answers = { \r\n //groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: answer.Answer_Long__c,\r\n };\r\n this.summary.push(answers);\r\n }\r\n } else {\r\n // var ans1 = answer.Answer_Long__c.split(\"@@##$$\");\r\n answers = { \r\n //groupText:answer.Question_Group_Text__c,\r\n quesValue: answer.Question_Rich_Text__c,\r\n ansValue: answer.Answer_Long__c,\r\n };\r\n this.summary.push(answers);\r\n }\r\n }\r\n }\r\n };\r\n\r\n private failureReadBook = (response) => {\r\n console.log('Inside the failureReadBook');\r\n console.log(response);\r\n };\r\n\r\n private readAnswerbook = (uuid: string) => {\r\n if(this.serv = \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"AnswerBook\", \"read\", uuid],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"AnswerBook\", \"read\", uuid],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n }\r\n }\r\n\r\n\r\n private successAnswerBookRead = (response) => {\r\n if (this.abItem?.Status__c == \"Completed\") {\r\n for (var answer of this.abItem.Answers__r.records) {\r\n var av = answer.Answer_Long__c.split(\"@@##$$\");\r\n var answers = { quesValue: answer.Question_Rich_Text__c, ansValue: av, groupText:answer.Question_Group_Text__c };\r\n //console.log(answers)\r\n this.summary.push(answers);\r\n }\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n }\r\n };\r\n\r\n private failureAnswerBookRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private readQuestion = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Question\", \"read\", uuid],\r\n this.successRead,\r\n this.failureRead\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Question\", \"read\", uuid],\r\n this.successRead,\r\n this.failureRead\r\n );\r\n }\r\n }\r\n\r\n private successRead = (response) => {\r\n // console.log('Inside the successRead new');\r\n // console.log(response);\r\n // console.log(this.questionItem);\r\n // Reset the Variables\r\n\r\n if (this.questionItem) {\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n this.resetFlag(this.questionItem.Type__c);\r\n }\r\n this.questionItem = response.question;\r\n // console.log(this.questionItem);\r\n\r\n if(this.questionItem.Type__c === 'Alphanumeric'){\r\n this.splCCBackClick = true;\r\n }\r\n\r\n this.currentQuestionId = this.questionItem.Id;\r\n this.handlePage.emit(this.questionItem.Tracking_ID__c);\r\n // Handle the subQuestion options\r\n if (response.sqOptions) {\r\n //var newRecords = [];\r\n for (var q of this.questionItem.Questions__r.records) {\r\n //console.log(q.Name);\r\n var sq = response.sqOptions[q.Id];\r\n if (sq) {\r\n //console.log('found options for subquestion ' + q.Name);\r\n if (!q.Question_Options__r) {\r\n q.Question_Options__r = sq.Question_Options__r;\r\n }\r\n }\r\n }\r\n }\r\n this.processQuestion();\r\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\r\n this.questionItem.Additional_Rich__c\r\n );\r\n this.trackId();\r\n };\r\n\r\n trackId() {\r\n var qtrackId = this.questionItem.Tracking_ID__c;\r\n //console.log('trackId-question'+qtrackId);\r\n }\r\n\r\n private failureRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private saveAnswer = () => {\r\n // Set the Answer Number based on the Question Stack Length\r\n if (this.inpValue != \".\") {\r\n this.currentQuestionId = null;\r\n }\r\n this.answerWrap.ansNumber = this.questionStack.length + 1;\r\n\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\r\n this.successSave,\r\n this.failureSave\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\r\n this.successSave,\r\n this.failureSave\r\n );\r\n }\r\n };\r\n\r\n htmlDecode(input) {\r\n var doc = new DOMParser().parseFromString(input, \"text/html\");\r\n return doc.documentElement.textContent;\r\n }\r\n\r\n private successSave = (response) => {\r\n if (response.status == \"success\") {\r\n //this.abItem = response.answerbook;\r\n this.answerMap.set(response.answer.quesId, response.answer);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg = response.error.errorMsg;\r\n }\r\n if(!this.backButtonFlag){\r\n this.next();\r\n }\r\n };\r\n\r\n private failureSave = (response) => {\r\n //console.log('inside failureSave');\r\n //console.log(response);\r\n };\r\n\r\n private processQuestion = () => {\r\n // console.log('Inside the processQuestion');\r\n // console.log('splCCBackClick = '+this.splCCBackClick);\r\n // console.log(this.questionStack);\r\n //console.log(this.questionItem);\r\n this.pop = true;\r\n\r\n // if(!this.back){\r\n // this.questionName.push(this.questionItem.Name)\r\n // }\r\n\r\n if (this.qbItem.Progress_Bar__c === true) {\r\n if (!this.back) {\r\n this.questionName.push(this.questionItem.Name);\r\n }\r\n this.back = false;\r\n if (this.questionName[0] === this.questionName[1]) {\r\n this.questionName.pop();\r\n }\r\n\r\n this.currentName = this.questionItem.Name;\r\n this.pathquestion = this.questionName.indexOf(this.currentName);\r\n this.possibilities = this.qbItem.Possibilities__c;\r\n }\r\n\r\n this.myDatePickerOptions;\r\n this.day();\r\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\r\n\r\n // Set the Flags to show right fields\r\n this.setFlag(this.questionItem.Type__c);\r\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\r\n\r\n // Check the existing answer from answerMap\r\n if (this.answerMap.has(this.questionItem.Id)) {\r\n // //console.log(\"existing answer found for this.questionItem.Name\");\r\n var eAnswer = this.answerMap.get(this.questionItem.Id);\r\n // Get the existing answer from the Map\r\n this.inpValue = eAnswer.ansValue;\r\n //console.log('inpValue has been set to ' + this.inpValue);\r\n if (this.attachmentsMap.has(this.questionItem.Id)) {\r\n this.attachments = this.attachmentsMap.get(this.questionItem.Id);\r\n }\r\n } else {\r\n //console.log('inside removing attachment array');\r\n this.attachments = [];\r\n }\r\n // console.log(this.inpValue);\r\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\r\n // console.log('Inside the if cond');\r\n this.splCCBackClick = false;\r\n this.inpValue = this.inpValue.replace('ES','');\r\n }\r\n\r\n if (this.checkboxFlag) {\r\n // Set the Options for Checkbox\r\n this.setOptions(this.questionItem.Question_Options__r.records);\r\n } else if (this.bookFlag) {\r\n //console.log('Inise the expected bookFlag cond');\r\n //console.log('dtFlag = '+this.dtFlag);\r\n this.setSubQuestions(this.questionItem.Questions__r.records);\r\n } else if (this.listFlag) {\r\n // Set the LocalSubQuestions\r\n // console.log('inside list flag');\r\n // console.log(this.questionItem.Questions__r.records);\r\n // console.log(this.abItem.Questions__r.records);\r\n if(!this.localSubQMap.has(this.questionItem.Id)){\r\n this.setSubQuestions(this.questionItem.Questions__r.records);\r\n } \r\n } else if (this.dtFlag) {\r\n //console.log('Inise the unexpected dtFlag cond');\r\n this.selectedHour = \"\";\r\n this.selectedMinute = \"\";\r\n this.selDate = \"\";\r\n // 2021-5-16T00:00\r\n if (this.dateMap.has(this.questionItem.Id)) {\r\n this.selDate = this.dateMap.get(this.questionItem.Id);\r\n }\r\n if (this.selectedhourMap.has(this.questionItem.Id)) {\r\n this.selectedHour = this.selectedhourMap.get(this.questionItem.Id);\r\n }\r\n if (this.selectedminuteMap.has(this.questionItem.Id)) {\r\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.Id);\r\n }\r\n if (this.questionItem.X24_Hours__c === true) {\r\n this.hours.push(\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"00\"\r\n );\r\n }\r\n if (this.questionItem.X24_Hours__c === false) {\r\n this.hours = this.hours.slice(0, 12);\r\n }\r\n if (this.dtFlag && this.inpValue) {\r\n var dtVal = this.inpValue.split(\"T\"); \r\n var dtval0 = this.inpValue.split(\" \");\r\n this.inpValue = dtVal[0];\r\n this.inpValue = dtval0[0];\r\n\r\n this.questionItem.input = dtVal[1];\r\n this.questionItem.input = dtval0[1];\r\n }\r\n if (\r\n this.questionItem.Is_Date_Backward__c ||\r\n this.questionItem.Is_Date_Forward__c\r\n ) {\r\n if (this.questionItem.Is_Date_Backward__c === true) {\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (this.questionItem.Is_Date_Forward__c === true) {\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n }\r\n } else if (this.fileFlag) {\r\n this.fileUI();\r\n // logic\r\n this.allowedFileExtension =\r\n this.questionItem.Allowed_File_Extensions__c.split(\";\");\r\n //console.log(this.allowedFileExtension);\r\n }\r\n \r\n if (this.qbItem.Progress_Bar__c === true) {\r\n this.updateProgress();\r\n }\r\n };\r\n\r\n setFlag(typ) {\r\n //console.log('inside setFlag for ' + typ);\r\n\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = true;\r\n\r\n //this.numberFlag = true;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = true;\r\n } else if (typ == \"AlphaNumeric\") {\r\n this.alphanumericFlag = true;\r\n /*if(this.inpValue.length === 0){\r\n this.inpValue='ES'\r\n }*/\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = true;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = true;\r\n } else if (typ == \"DateTime\") {\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n this.dateFlag = true;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = true;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = true;\r\n } else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = true;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = true;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = true;\r\n }else if (typ == 'List'){\r\n this.listFlag = true;\r\n } else if (typ == \"Time\") {\r\n //console.log('Inside the Time cond');\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n //console.log(this.dtFlag);\r\n } else if (typ == \"Date\") {\r\n //console.log('Inside the Date cond');\r\n this.dtFlag = true;\r\n this.dateFlag = true;\r\n //console.log(this.dtFlag);\r\n }\r\n }\r\n }\r\n\r\n resetFlag(typ) {\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = false;\r\n //this.numberFlag = false;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = false;\r\n } else if (typ == \"Alphanumeric\") {\r\n this.alphanumericFlag = false;\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = false;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = false;\r\n } else if (typ == \"DateTime\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = false;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = false;\r\n } else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = false;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = false;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = false;\r\n } else if (typ == 'List'){\r\n this.listFlag = false;\r\n } else if (typ == \"Time\") {\r\n this.dtFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"Date\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n }\r\n }\r\n }\r\n\r\n setOptions(records) {\r\n for (var opt of records) {\r\n var ov = new OptionValue();\r\n ov.Id = opt.Id;\r\n ov.Name = opt.Name;\r\n ov.Value__c = opt.Value__c;\r\n ov.Next_Question__c = opt.Next_Question__c;\r\n ov.checked = false;\r\n\r\n if (\r\n this.inpValue &&\r\n this.inpValue.split(\"@@##$$\").includes(opt.Value__c)\r\n ) {\r\n ov.checked = true;\r\n }\r\n\r\n this.optionValues.push(ov);\r\n }\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n console.log('inside childEventCapture ');\r\n console.log(event);\r\n this.changeService.announceChange(event);\r\n //ques.input = event; // here when using the ng-select got event as value\r\n }\r\n\r\n setSubQuestions(records) {\r\n // console.log('inside setSubQuestions');\r\n // console.log(records);\r\n var qaMap = new Map();\r\n // console.log(this.inpValue);\r\n if (this.inpValue) {\r\n var aIndex = 0;\r\n // search changed as semi colon because of address contains comma \r\n if ((this.inpValue.search(\"; \") == -1)) {\r\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\r\n // this.inpValue = withoutAnswerString;\r\n this.inpValue = this.inpValue + '@@##$$' ;\r\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\r\n }\r\n } else {\r\n for (var ansStr of this.inpValue.split(\"; \")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\r\n }\r\n }\r\n }\r\n // console.log('after setting values from inpvalue qa map are');\r\n // console.log(qaMap);\r\n\r\n for (var ques of records) {\r\n if (ques.Type__c == \"File\") {\r\n this.valueName1 = ques.Allowed_File_Extensions__c;\r\n //console.log(this.valueName1);\r\n }\r\n\r\n var ans = '';\r\n if (qaMap.has(ques.Question_No__c)) {\r\n ques.input = qaMap.get(ques.Question_No__c);\r\n // console.log('after fetching map values');\r\n // console.log(ques.input);\r\n if(ques.input.indexOf('$$@@##') > 0){\r\n // console.log('answer supposed to be trimmed');\r\n // console.log(ques.input);\r\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\r\n // console.log(ans);\r\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\r\n // console.log(ques.input);\r\n }\r\n }\r\n\r\n if ((ques.Type__c === \"Date\") && (ques.Is_Date_Backward__c || ques.Is_Date_Forward__c)) {\r\n //console.log('Inside the date backward/forward cond');\r\n if (ques.Is_Date_Backward__c === true) {\r\n //console.log('Inside the Is_Date_Backward__c');\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (ques.Is_Date_Forward__c === true) {\r\n //console.log('Inside the Is_Date_Forward__c');\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n //console.log(this.myDatePickerOptions);\r\n }\r\n\r\n this.subQuestions.push(ques);\r\n for(var i=0; i<this.subQuestions.length;i++){\r\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\r\n if(this.subQuestions[i].Size__c == 4){\r\n this.subQuestions[i].dropDownOnly = true;\r\n }else{\r\n this.subQuestions[i].dropDownOnly = false;\r\n }\r\n }\r\n if(ans != ''){\r\n for(var an of (ans.split('$$@@##'))){\r\n var sQ = new Question();\r\n Object.assign(sQ,ques);\r\n sQ.input = an;\r\n this.subQuestions.push(sQ);\r\n }\r\n }\r\n }\r\n if (this.valueName1 != null && this.valueName1.length > 0) {\r\n this.bookFlagAccept = this.valueName1.split(\";\");\r\n //console.log(this.subQuestions);\r\n }\r\n this.structLocalSubQuestion(null);\r\n }\r\n\r\n optionChange(selValue) {\r\n let radioTrackingId: string = \"\";\r\n for (var opt of this.questionItem.Question_Options__r.records) {\r\n //console.log('optionChange TrackingId'+opt.Tracking_ID__c);\r\n if (opt.Value__c == selValue) {\r\n //console.log('inside if'+opt.Tracking_ID__c)\r\n radioTrackingId = opt.Tracking_ID__c;\r\n }\r\n }\r\n\r\n this.handleEvent.emit(radioTrackingId);\r\n this.clearError();\r\n // //console.log('inside optionChange using ' + selValue);\r\n\r\n this.inpValue = selValue;\r\n }\r\n\r\n clearError() {\r\n if (this.questionItem.error) {\r\n this.questionItem.error = null;\r\n }\r\n }\r\n\r\n clearLocalSubQuesError(quesId) {\r\n quesId.error = null;\r\n }\r\n\r\n inputValidate(e) {\r\n var keyCode = e.keyCode || e.which;\r\n // Only ASCII character in that range allowed\r\n var ASCIICode = (e.which) ? e.which : e.keyCode;\r\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n }\r\n\r\n CCOnChange(inpValue: string) {\r\n\r\n if (inpValue.length == 2) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 7) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 12) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 17) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 22) {\r\n this.inpValue += \" \";\r\n }\r\n\r\n }\r\n\r\n isNotValidAccNumber(s: string) {\r\n s = s.replace(/\\s+/g, \"\");\r\n s = 'ES' + s;\r\n var isNotValidStr = false;\r\n if (s.length == 24) {\r\n for (var i = 0; i < s.length; i++) {\r\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\r\n //console.log(\"Valid char: \" + s.charAt(i));\r\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\r\n //console.log(\"Valid numeric: \" + s.charAt(i));\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid char\");\r\n }\r\n }\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid acc number\");\r\n }\r\n return isNotValidStr;\r\n }\r\n\r\n clearSQError(quesId) {\r\n var sqList = this.subQuestions.filter((item) => item.Id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n\r\n uploadFile(event,ques?:any) {\r\n //console.log('inside upload');\r\n this.clearError();\r\n this.fileTypeIncorrect = false;\r\n var local = this;\r\n local.attachment = event.target.files[0];\r\n // Validate the file extension\r\n //console.log(local.attachment);\r\n let fileNameWithType: string =\r\n local.attachment && local.attachment.name.toLowerCase();\r\n if (\r\n !fileNameWithType.endsWith(\".jpg\") &&\r\n !fileNameWithType.endsWith(\".png\") &&\r\n !fileNameWithType.endsWith(\".pdf\") &&\r\n !fileNameWithType.endsWith(\".jpeg\") &&\r\n !fileNameWithType.endsWith(\".heic\") &&\r\n !fileNameWithType.endsWith(\".heif\") &&\r\n !fileNameWithType.endsWith(\".JPG\") &&\r\n !fileNameWithType.endsWith(\".PNG\") &&\r\n !fileNameWithType.endsWith(\".PDF\") &&\r\n !fileNameWithType.endsWith(\".JPEG\") &&\r\n !fileNameWithType.endsWith(\".HEIC\") &&\r\n !fileNameWithType.endsWith(\".HEIF\")\r\n ) {\r\n local.fileTypeIncorrect = true;\r\n }\r\n // Return when the file type is incorrect\r\n if (local.fileTypeIncorrect) {\r\n return;\r\n }\r\n let fileContent: any;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function () {\r\n fileContent = reader.result;\r\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\r\n // Upload the file to Salesforce when the limit is within range\r\n if (!local.fileExceededLimit) {\r\n let fileWrapper = new AttachmentWrapper();\r\n fileWrapper.parentId = local.abItem.Id;\r\n fileWrapper.fileName = local.attachment.name;\r\n fileWrapper.fileContent = fileContent;\r\n local.createAttachment(fileWrapper);\r\n ques.input = fileWrapper.fileName;\r\n }\r\n };\r\n this.spinner.show(this.spinnerName);\r\n reader.readAsDataURL(event.target.files[0]);\r\n }\r\n\r\n private successAttachmentCreate = (response) => {\r\n let createdAttachment: Attachment = new Attachment(\r\n response.attachmentId,\r\n response.attachmentName,\r\n this.attachment.lastModifiedDate\r\n );\r\n this.attachments.push(createdAttachment);\r\n this.attachmentsMap.set(this.questionItem.Id, this.attachments);\r\n this.spinner.hide(this.spinnerName);\r\n };\r\n\r\n private successAttachmentDelete = (response) => {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].attachmentId === this.attachmentId) {\r\n this.attachments.splice(i, 1);\r\n }\r\n }\r\n };\r\n\r\n private failureAttachmentCreate = (response) => {\r\n //console.log('inside failureAttachmentCreate');\r\n };\r\n\r\n private failureAttachmentDelete = (response) => {\r\n //console.log('inside failureAttachmentDelete');\r\n };\r\n\r\n handleSubmitClick() {\r\n this.handleEvent.emit(this.qbItem.Submit_Tracking_ID__c);\r\n this.updateAnswerBook(this.abItem.Id);\r\n }\r\n\r\n handleCancelClick() {\r\n this.handleEvent.emit(this.qbItem.Cancel_Tracking_ID__c);\r\n }\r\n\r\n private createAttachment = (fileWrapper: any) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\r\n this.successAttachmentCreate,\r\n this.failureAttachmentCreate\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\r\n this.successAttachmentCreate,\r\n this.failureAttachmentCreate\r\n );\r\n }\r\n }\r\n\r\n deleteAttachment(attachmentId: string) {\r\n this.attachmentId = attachmentId;\r\n this.handleEvent.emit(\"deleteAttachment\");\r\n this.deleteSFAttachment(attachmentId);\r\n }\r\n\r\n private deleteSFAttachment = (fileId: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Attachment\", \"delete\", fileId],\r\n this.successAttachmentDelete,\r\n this.failureAttachmentDelete\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Attachment\", \"delete\", fileId],\r\n this.successAttachmentDelete,\r\n this.failureAttachmentDelete\r\n );\r\n }\r\n }\r\n\r\n getFileName(fileNamewithIdandType) {\r\n //truncate file path\r\n var fileNameWithType = fileNamewithIdandType.substr(\r\n fileNamewithIdandType.indexOf(\"::::\") + 4\r\n );\r\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\r\n }\r\n fileUI() {\r\n if (this.attachments.length === 0) {\r\n }\r\n }\r\n\r\n //Update function for categorization\r\n // stepperCateg() {\r\n // this.firstFormGroup = this._formBuilder.group({\r\n // firstCtrl: ['', Validators.required]\r\n // });\r\n // this.secondFormGroup = this._formBuilder.group({\r\n // secondCtrl: ['', Validators.required]\r\n // });\r\n\r\n // }\r\n\r\n // Update Function for the Progress Bar\r\n updateProgress() {\r\n if (this.qbItem.Progress_Bar__c === true) {\r\n let j = [];\r\n for (let i = 0; i < this.possibilities.total; i++) {\r\n var pathposs = Object.values(this.possibilities.paths[i].questions);\r\n if (pathposs[this.pathquestion] === this.currentName) {\r\n j.push(i);\r\n this.check = true;\r\n } else {\r\n this.check = false;\r\n }\r\n }\r\n if (j.length === 1) {\r\n this.count = j[0];\r\n }\r\n if (j.length > 1) {\r\n var width =\r\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n } else if (j.length === 1) {\r\n var width =\r\n 90 *\r\n (this.questionStack.length /\r\n this.possibilities.paths[this.count].count);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n }\r\n this.percent = +Math.round(width);\r\n }\r\n }\r\n\r\n townName(area) {\r\n this.selectedValue = area.town;\r\n //console.log('this value='+this.selectedValue)\r\n this.tempoAddress = [];\r\n }\r\n\r\n getTownLocal() {\r\n this.tempoAddress = [];\r\n if (this.selectedValue.length > 0) {\r\n for (var val of this.localaddress) {\r\n if (\r\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\r\n ) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n\r\n clearList() {\r\n setTimeout(() => {\r\n this.tempoAddress = [];\r\n }, 500);\r\n }\r\n\r\n setSearchListWidth() {\r\n //to resize search list based on the screen size\r\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\r\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\r\n }\r\n\r\n getCode(){\r\n this.tempoAddress = [];\r\n if (this.selectedPostalcode.length > 0) {\r\n for (var val of this.allAddress) {\r\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n getPostalcode(value){\r\n this.places=[];\r\n this.province=[];\r\n var province;\r\n var town;\r\n this.selectedPostalcode = value.zipCode;\r\n this.selectedValue = value.country;\r\n this.tempoAddress=[];\r\n\r\n \r\n for(var val of this.localaddress){\r\n if(this.selectedPostalcode == val.zipCode ){\r\n this.places.push(val);\r\n this.province.push(val);\r\n this.selectedValue = val.country;\r\n province = val.province\r\n town = val.town;\r\n }\r\n }\r\n if(this.places.length == 1){\r\n \r\n this.selectedProvince =province;\r\n this.selectedCity = town;\r\n }else if(this.places.length >1 || this.places.length ==0){\r\n \r\n this.selectedCity ='';\r\n this.selectedProvince='';\r\n }\r\n }\r\n closeDropdown() {\r\n if(this.selectedPostalcode.length == 5){\r\n this.getPostalcode({zipCode:this.selectedPostalcode});\r\n }\r\n\r\n setTimeout(()=> {\r\n document.getElementById('selectList').style.display = \"none\";\r\n }, 500);\r\n }\r\n\r\n\r\n //Plus button implementation.\r\n structLocalSubQuestion(ques: LocalQuestion){\r\n // console.log('inside structLocalSubQuestion');\r\n for(var i = 0; i < this.subQuestions.length; i++){\r\n var localSubQuestion = new LocalQuestion();\r\n localSubQuestion.Id = this.subQuestions[i].Id;\r\n localSubQuestion.Name = this.subQuestions[i].Name;\r\n localSubQuestion.Question__c = this.subQuestions[i].Question__c;\r\n localSubQuestion.Question_Text__c = this.subQuestions[i].Question_Text__c;\r\n localSubQuestion.Type__c = this.subQuestions[i].Type__c;\r\n localSubQuestion.Title__c = this.subQuestions[i].Title__c;\r\n localSubQuestion.SubTitle__c = this.subQuestions[i].SubTitle__c;\r\n localSubQuestion.Is_Optional__c = this.subQuestions[i].Is_Optional__c;\r\n localSubQuestion.Error_Message__c = this.subQuestions[i].Error_Message__c;\r\n localSubQuestion.Next_Question__c = this.subQuestions[i].Next_Question__c;\r\n localSubQuestion.Group__c = this.subQuestions[i].Group__c;\r\n localSubQuestion.Question_No__c = this.subQuestions[i].Question_No__c;\r\n localSubQuestion.Allowed_File_Extensions__c = this.subQuestions[i].Allowed_File_Extensions__c;\r\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].Id + i; \r\n localSubQuestion.input = this.subQuestions[i].input;\r\n this.localSubQuestions.push(localSubQuestion);\r\n }\r\n // console.log('final local sub questions');\r\n // console.log(this.localSubQuestions);\r\n // console.log(this.questionItem.Id);\r\n this.localSubQMap.set(this.questionItem.Id,this.localSubQuestions);\r\n this.localSubQuestions = [];\r\n // console.log('final key localSubQMap map');\r\n // console.log(this.localSubQMap);\r\n }\r\n\r\n addInputBox(question: LocalQuestion, index: number){\r\n var arra = this.localSubQMap.get(this.questionItem.Id);\r\n var qIndex = arra.indexOf(question);\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question);\r\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\r\n if(this.keyIndex == index){\r\n ques.uniqueSubQId = ques.Id + (String(index+1));\r\n this.keyIndex++;\r\n }else{\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\r\n }\r\n ques.input = '';\r\n arra.splice(qIndex+1, 0, ques);\r\n\r\n this.localSubQMap.set(this.questionItem.Id,arra);\r\n //console.log(this.localSubQMap);\r\n }\r\n\r\n removeAddress(quesUniqueId: string, qName: string) {\r\n //console.log(quesUniqueId)\r\n var val = this.localSubQMap.get(this.questionItem.Id);\r\n var keyindex = 0;\r\n\r\n for(let i=0; i<val.length; i++){\r\n if(val[i].Name == qName){\r\n keyindex++;\r\n }\r\n }\r\n\r\n if(this.localSubQMap.has(this.questionItem.Id) && keyindex >1){\r\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\r\n this.localSubQMap.set(this.questionItem.Id,reorder);\r\n keyindex--;\r\n }\r\n }\r\n\r\n getLocalSubQuestions(id: String){\r\n return this.localSubQMap.get(id);\r\n }\r\n\r\n //Single Add button functionality for List type\r\nAdd(question: LocalQuestion){\r\n this.addFlag = false;\r\n var arra = this.localSubQMap.get(this.questionItem.Id);\r\n var index = arra.length;\r\n var a = arra.slice(-1).pop();\r\n this.indexCount = a.Question_No__c;\r\n \r\n for (var i = 0; i < this.indexCount ; i++) {\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question[i]);\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\r\n ques.input = '';\r\n arra.splice(index+(this.indexCount-1), 0, ques);\r\n this.localSubQMap.set(this.questionItem.Id,arra);\r\n } \r\n this.addFlag = true;\r\n }\r\n \r\n handleLocationSelected(location: any,ques:any) {\r\n ques.input = location;\r\n }\r\n\r\n selectedInput(input:any ,ques:any){ \r\n ques.input = input;\r\n }\r\n\r\n handleTextareaValueChange(value :string){\r\n console.log('Selected text-area text:', value);\r\n }\r\n getData(data:any){\r\n console.log('table data',data);\r\n }\r\n\r\n dependentChange(value:any){\r\n this.nextValue = value;\r\n }\r\n\r\n displayDate(dateSelected: any,ques:any){\r\n // Parse the date string using moment and assign it to this.selectedDate\r\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\r\n }\r\n\r\n getKey(item: any): any {\r\n return Object.keys(item)[0];\r\n }\r\n \r\n getValue(item: any): any {\r\n return Object.values(item)[0];\r\n }\r\n}","<!-- Spinner -->\r\n<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n\r\n<!-- Back Processing -->\r\n<div *ngIf=\"backicon == false\" >\r\n <div class=\"backicon\" [style.visibility]=\"questionStack.length >0 ? 'visible' : 'hidden'\">\r\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.Status__c == 'Completed' ? 'summary-volver':'app-back1'\">\r\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.Back__c }}\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<!-- Question Hanlding -->\r\n<div *ngIf=\"questionItem\" [class]=\"qbItem.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\r\n <!-- Progress Bar & Title -->\r\n <div *ngIf=\"questionItem.Title__c && qbItem.Progress_Bar__c\">\r\n <h1 class=\"header1\">{{ questionItem?.Title__c }}</h1>\r\n <div class=\"header2\">{{ questionItem?.SubTitle__c }}</div>\r\n </div>\r\n\r\n <!-- Progress & Grouping -->\r\n <div [ngClass]=\"{ questiondiv2: !qbItem?.Progress_Bar__c }\">\r\n <!-- Pie Chart Progress -->\r\n <div [ngClass]=\"{ bgColor: qbItem?.Progress_Bar__c }\">\r\n <div id=\"progress\" *ngIf=\"qbItem?.Progress_Bar__c\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n </div>\r\n </div>\r\n\r\n <!-- Show the Group/Module related to the Progress -->\r\n <div *ngIf=\"questionItem.Group__c && qbItem.Progress_Bar__c\"\r\n [ngClass]=\"{ questionalign: !qbItem?.Progress_Bar__c }\">\r\n <div class=\"largeTitle\">\r\n <h3 class=\"myt-font6 myt-text3\">\r\n {{ questionItem?.Group__c }}\r\n </h3>\r\n <div *ngIf=\"questionItem.Sub_Text__c != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.Sub_Text__c}}</div>\r\n <div *ngIf=\"questionItem.Sub_Text__c === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.Sub_Text__c}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Question Handling -->\r\n <div class=\"questiondiv2\">\r\n <!-- Title -->\r\n <div *ngIf=\"questionItem.Is_Title__c\">\r\n <div *ngIf=\"questionItem.Type__c != 'Book' && questionItem.Question_No__c!='6' && questionItem.Question_No__c!='9'\"> \r\n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\r\n {{questionItem?.Question_Text__c}}\r\n </h3>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!questionItem.Is_Title__c\" [class]=\"qbItem.isShengel__c ? 'header-style additional' : 'question-f-size additional'\">\r\n <div [innerHTML]=\"getText(questionItem?.Question_Text__c)\" >\r\n {{ questionItem?.Question_Text__c }}\r\n </div>\r\n </div>\r\n\r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <div *ngIf=\"questionItem.Type__c == 'Book'\">\r\n <div *ngIf=\"questionItem.Question_No__c=='6'\">\r\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\r\n {{ questionItem?.Question_Text__c }}\r\n </h3>\r\n </div>\r\n </div>\r\n \r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <div *ngIf=\"questionItem.Type__c == 'File' \">\r\n <div *ngIf=\"questionItem.Question_No__c=='9'\">\r\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\r\n {{questionItem?.Question_Text__c}}\r\n </h3>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Additional Info -->\r\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\r\n <div *ngIf=\"questionItem.Additional_Rich__c && qbItem.Progress_Bar__c\" >\r\n <div\r\n class=\"additional \" [innerHTML]=\"innerhtml\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"questionItem.Additional_Rich__c && !qbItem.Progress_Bar__c\">\r\n <div class=\"info-alert ques-alert1\">\r\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\r\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\r\n </div>\r\n </div>\r\n\r\n <!-- Dropdown-->\r\n <div *ngIf=\"dropdownFlag\" >\r\n <div class=\"dis-flex\">\r\n <select \r\n [ngClass]=\"{\r\n 'dt-line myt-align3 myt-align2 dpDown dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.Progress_Bar__c,\r\n 'custom-select': !qbItem?.Progress_Bar__c\r\n }\" class=\"mr-sm-2 dd-height dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\r\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\" style=\"margin-left: 21.5rem !important;\">\r\n <option *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"option\" value=\"{{ opt.Value__c }}\">\r\n {{ opt.Value__c }}\r\n </option>\r\n <option value=\".\" disabled hidden>Bitte treffen Sie eine Auswahl</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <!-- Radio -->\r\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\r\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\r\n {{ questionItem?.Error_Message__c }}\r\n </div>\r\n <div class=\"dis-flex\">\r\n <div *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"radio radioOption\" >\r\n <label class=\"radiocontainer container myt-font4\">{{ opt.Value__c }}\r\n <input type=\"radio\" [id]=\"opt.Id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" value=\"{{ opt.Value__c }}\"\r\n (change)=\"optionChange(opt.Value__c)\" />\r\n <span class=\"checkmark\"></span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Checkbox -->\r\n <div *ngIf=\"checkboxFlag\" class=\"\">\r\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\r\n {{ questionItem?.Error_Message__c }}\r\n </div>\r\n <div class=\"dis-flex\">\r\n <div *ngFor=\"let item of optionValues\" class=\"radio col-md-6 optiondiv\">\r\n <label class=\" container1 \" >{{ item.Value__c }}\r\n <input type=\"checkbox\" [id]=\"item.Id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\r\n <span class='checkmark1'></span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"textFlag\" class=\"col-md-12 myt-book1\">\r\n <div class=\"col-md-12\" class=\"dis-flex myt-align1\" [class]=\"'col-md-' + questionItem?.Size__c + ' paddingnone'\">\r\n <input type=\"text\" [(ngModel)]=\"inpValue\" [ngClass]=\"{\r\n 'boxoutline myt-font1 myt-book1': qbItem?.Progress_Bar__c,\r\n textBox1: !qbItem?.Progress_Bar__c\r\n }\" id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- Text Area -->\r\n <div *ngIf=\"taFlag\" class=\"col-md-12\">\r\n <div class=\"dis-flex\">\r\n <textarea class=\"ta-input\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : inpValue?.length > 0 && taFocusOut\r\n ? '#87be1c'\r\n : ''\r\n }}\" (focusout)=\"taFocusOut = true\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\r\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- CC Number Format -->\r\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\r\n <div class=\"dis-flex\">\r\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\"\r\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\r\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\r\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n <!-- END-->\r\n\r\n <!-- AlphaNumeric -->\r\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\r\n <div style=\"position:relative;\">\r\n <input type=text placeholder=\"0 of 0\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\r\n </div>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\r\n <div class=\"dis-flex\">\r\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\r\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero myt-time1\" >\r\n <!-- Error Handling -->\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n\r\n <!-- Date -->\r\n <div *ngIf=\"dateFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\r\n <div class=\"dis-flex\">\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\">\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Time -->\r\n <div *ngIf=\"timeFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\r\n <div class=\"dis-flex\">\r\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\r\n dateandTime: !qbItem?.Progress_Bar__c}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem?.X24_Hours__c == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n <!-- <div [ngClass]=\"{'': qbItem.Progress_Bar__c, 'dateandTime': !qbItem.Progress_Bar__c}\"></div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- Attachment / File -->\r\n <div *ngIf=\"fileFlag\">\r\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\r\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\r\n <label class=\"picture-upload\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n </div>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event)\" />\r\n </div>\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n questionItem?.Type__c === 'File' &&\r\n !qbItem?.Progress_Bar__c\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName\r\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n\r\n <!-- Attachment Progress -->\r\n <div *ngIf=\"qbItem.Progress_Bar__c\">\r\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n \r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\"> {{ questionItem?.Question_Text__c}}</span>\r\n <label class=\"file-label \">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\r\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Book -->\r\n <div *ngIf=\"bookFlag\">\r\n <div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\" [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.Id\">\r\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\r\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\r\n </div>\r\n <div class=\"col-md-12 paddingZero myt-dateTimeNew\" *ngIf=\"ques.Type__c === 'Time' || ques.Type__c === 'Date'\">\r\n <div *ngIf=\"ques.Type__c === 'Date'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\r\n <div class=\"dis-flex dateandtime\">\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\" >\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Time'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\r\n <div class=\"dis-flex dateandtime\">\r\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\r\n dateandTime: !qbItem?.Progress_Bar__c}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem.X24_Hours__c == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <app-custom-input\r\n [fromShengel]=\"qbItem.isShengel__c\"\r\n [value]=\"ques.input\"\r\n [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\"\r\n [question]=\"ques\" \r\n [idValue]=\"ques.Tracking_ID__c\"\r\n [focusEvent]=\"clearSQError(ques.Id)\"\r\n [error]=\"ques.error\"\r\n [placeholder]=\"ques.Question__c\"\r\n (inputValue)=\"selectedInput($event,ques)\">\r\n </app-custom-input>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Location'\">\r\n <!-- for pick location -->\r\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\r\n </div>\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.Type__c === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\r\n </div>\r\n\r\n <div *ngIf=\"ques.Type__c === 'File'\">\r\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\r\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"\r\n fa fa-plus fa-2x\r\n picture-upload-child\r\n pic-upload\r\n icolor\r\n \">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\r\n </div>\r\n\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n ques.Type__c === 'File' &&\r\n !qbItem.Progress_Bar__c\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName\r\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n <div class=\"myt-box\" *ngIf=\"qbItem.Progress_Bar__c\">\r\n\r\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\r\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\r\n <span class=\"f-Name\">{{ ques?.Question__c }}</span>\r\n <label class=\"file-label \">\r\n <span style=\"color: #c5281c;text-decoration:underline\">\r\n Adjuntar\r\n </span>\r\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\r\n <app-custom-table \r\n [question]=\"ques\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\r\n <!-- for common dropdown -->\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\"\r\n [options]=\"ques.Question_Options__r.records\"\r\n [apiMeta]=\"ques.Sub_Text__c\"\r\n [id]=\"ques.Name\"\r\n [selectedValue]=\"ques.input\"\r\n [placeholder]=\"'---Select---'\"\r\n [errorMessage]=\"ques.Error_Message__c\"\r\n [error]=\"ques.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-dropdown>\r\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--List start-->\r\n <div *ngIf=\"listFlag\">\r\n <div class=\"form-group\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div class=\"myt-align3\" [class]=\"'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.Id);let i = index\">\r\n <div>\r\n <span class=\"dis-flex myt-font3 myt-font7\">{{ ques?.Question__c }}</span>\r\n </div>\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n </div>\r\n </div>\r\n <div class=\"\" *ngIf=\"addFlag\">\r\n <button (click)=\"Add(getLocalSubQuestions(questionItem.Id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>Add</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--List End-->\r\n\r\n <!-- Actions -->\r\n <div *ngIf=\"individualBookButton\" class=\"flexer\">\r\n <!-- Backward / Back -->\r\n <div class=\"backbutton\" [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\"\r\n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\">\r\n <div [ngClass]=\"{}\">\r\n <button [ngClass]=\"{\r\n 'left-bt': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\r\n !qbItem.Progress_Bar__c\r\n }\" (click)=\"handleBackClick()\">\r\n {{ qbItem?.Back__c }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Forward / Next -->\r\n <div [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\">\r\n <div>\r\n <button [ngClass]=\"{\r\n 'rusty': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\r\n !qbItem.Progress_Bar__c\r\n }\" (click)=\"handleNextClick()\">\r\n {{ qbItem.Next__c }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Summary -->\r\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\r\n 'col-md-12':!qbItem.Progress_Bar__c\r\n }\">\r\n <h1 class=\"header1 summarypadd\" >{{ qbItem.SubTitle__c }}</h1> \r\n <div id=\"progress2\" *ngIf=\"!qbItem.Progress_Bar__c && this.abItem.Status__c != 'Completed' \">\r\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\r\n <div *ngFor=\"let qa of summary\">\r\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\r\n <div [ngClass]=\"{ summary: !qbItem.Progress_Bar__c }\">\r\n <div *ngIf=\"!qbItem.Edit__c\"\r\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\r\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\r\n </div>\r\n <div *ngIf=\"qbItem.Edit__c\"\r\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\r\n <div [ngClass]=\"{ 'question': this.abItem.Status__c === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\">\r\n {{ qa.quesValue }}\r\n </div>\r\n </div>\r\n <div class=\"answer\" >\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <div *ngIf=\"qa.qTyp != 'File'\">{{ qa.ansValue }}</div>\r\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"this.abItem.Status__c === 'Completed'\" class=\"col-lg-12\">\r\n <div class=\"panel-group panel-group-joined\" id=\"ePTW-details\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-heading\">\r\n <h4 class=\"panel-title\">\r\n <a data-toggle=\"collapse\" data-parent=\"#ePTW-details\" href=\"#collapseOne\" class=\"collapsed\">\r\n PTW Details\r\n </a>\r\n </h4>\r\n </div>\r\n <div id=\"collapseOne\" class=\"panel-collapse collapse\">\r\n <div class=\"panel-body\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let item of summaryData; let i = index\">\r\n <ng-container *ngIf=\"i % 2 === 0\">\r\n <div class=\"col-lg-6 m-b-30\">\r\n <label>{{ getKey(item) }}</label>\r\n <p class=\"font-size\">{{ getValue(item) || 'N/A' }}</p>\r\n </div>\r\n <div class=\"col-lg-6\" *ngIf=\"summaryData[i + 1]\">\r\n <label>{{ getKey(summaryData[i + 1]) }}</label>\r\n <p class=\"font-size\">{{ getValue(summaryData[i + 1]) || 'N/A' }}</p>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div id=\"progress2\" *ngIf=\"qbItem.Progress_Bar__c \">\r\n <div [ngClass]=\"{'bgColor summary-top' : qbItem.Progress_Bar__c }\" >\r\n <div id=\"progress-summary\" *ngIf=\"qbItem.Progress_Bar__c\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n \r\n <div *ngIf=\"qbItem.Summary_Text__c && qbItem.Progress_Bar__c\" \r\n [ngClass]=\"{ summaryTitle: qbItem.Progress_Bar__c }\">\r\n <h3 class=\"subTitle\" >{{ qbItem.Summary_Text__c }}</h3>\r\n <div *ngIf=\"abItem.Status__c != 'Completed'\" class=\"subTitle1\" >{{ qbItem.Summary_Sub_Text__c}}</div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\r\n <h3 class=\"summary-h\">\r\n {{ qbItem.Summary_Text__c }}\r\n </h3>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\r\n <div class=\"summary-groupText myt-font2\">\r\n <!-- <p>Informe de daño</p> -->\r\n </div>\r\n <div *ngFor=\"let qa of summary\" >\r\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\r\n <div [ngClass]=\"{ summary: this.abItem.Status__c != 'Completed' && !qbItem.Progress_Bar__c }\">\r\n <div *ngIf=\"!qbItem.Edit__c\"\r\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\r\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\r\n </div>\r\n <div *ngIf=\"qbItem.Edit__c\"\r\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\r\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.Status__c === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\">\r\n {{ qa.quesValue }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\r\n </button>\r\n </div>\r\n \r\n <div class=\"answer \" >\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <div *ngIf=\"qa.qTyp != 'File'\">\r\n {{ qa.ansValue }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Answer Book -->\r\n <div class=\"flexer1\" *ngIf=\"abItem\">\r\n <div class=\"\" *ngIf=\"abItem.Status__c == 'Completed'\">\r\n <div class=\"col-md-12\">\r\n <button [ngClass]=\"{'btn-text': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\"\r\n (click)=\"handleCancelClick()\">\r\n {{ qbItem.Cancel__c }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Group Actions -->\r\n <div class=\"align-edit-submit\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div class=\"col-md-6\">\r\n <button [ngClass]=\"{ 'btn-text2': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c }\" \r\n (click)=\"handleSubmitClick()\">\r\n {{ qbItem.Submit__c }}\r\n </button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <button [ngClass]=\"{'grey': qbItem.Progress_Bar__c,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\" \r\n (click)=\"handleBackClickNew()\">\r\n {{ qbItem.Edit__c }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { Question } from '../wrapper';\r\nimport { BookletWrapper } from '../model/bookletWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n nxtBookletAnswer: BookletWrapper;\r\n\r\n constructor() { }\r\n\r\n save(qbJson: BookletWrapper) {\r\n this.nxtBookletAnswer = qbJson;\r\n }\r\n\r\n update(questionWithInput: Question) {\r\n // Store the Updated Questions (with Answer/Error) in a Map\r\n\r\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n // if(eQuestion == questionWithInput.Id) {\r\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\r\n // }\r\n // }\r\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\r\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].Questions__r;\r\n for(let i=0;i<questionsR.records.length;i++){\r\n if(questionsR.records[i].Id == questionWithInput.Id){\r\n questionsR.records[i] = questionWithInput;\r\n console.log('assigned success');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n get() {\r\n // return the stored questions\r\n return this.nxtBookletAnswer;\r\n\r\n }\r\n}\r\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css']\r\n})\r\nexport class FileUploadComponent implements OnInit,OnChanges {\r\n @Output() selectedFileData = new EventEmitter<any[]>();\r\n @Output() deletedFileData = new EventEmitter<any>();\r\n @Input() allFiles;\r\n @Input() limitFileUploading;\r\n @Input() isDeleteFileButtonVisible;\r\n @Input() isShowNoFileIcon;\r\n\r\n public selectedFileNameArray: string[] = [];\r\n public copyOfInputAllFiles;\r\n public copyOfFileUploadingLimit;\r\n constructor(\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n onFileUpload(event: any) {\r\n const fileUploaderElement: HTMLElement = document.getElementById(\r\n 'fileUpload'\r\n ) as HTMLElement;\r\n fileUploaderElement.click();\r\n }\r\n\r\n ngOnChanges(simpleChanges: SimpleChanges) {\r\n console.log('simple changes', simpleChanges);\r\n this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;\r\n if (simpleChanges.limitFileUploading) {\r\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\r\n }\r\n\r\n }\r\n\r\n uploadMultipleFiles(event: any) {\r\n console.log('File uploader initiated');\r\n const inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\r\n const selectedFileData = [];\r\n const uploadedFiles = event.target.files;\r\n if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\r\n for (const eachUploadedFile of uploadedFiles) {\r\n const reader = new FileReader();\r\n const file: File = eachUploadedFile;\r\n const format = file.name.split('.')[1];\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n selectedFileData.push({\r\n doc: reader.result,\r\n name: file.name,\r\n type: file.type,\r\n format,\r\n id: null,\r\n });\r\n inputFiles.push({\r\n doc: reader.result,\r\n name: file.name,\r\n type: file.type,\r\n format,\r\n id: null,\r\n });\r\n };\r\n }\r\n } else {\r\n console.warn('You can upload max 5 files');\r\n //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\r\n }\r\n event.target.value = '';\r\n this.copyOfInputAllFiles = inputFiles;\r\n console.log('uploadedFiles',inputFiles);\r\n this.selectedFileData.emit(inputFiles);\r\n }\r\n\r\n\r\n deleteFile(currentFileIndex) {\r\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\r\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\r\n console.log('emit', deletedFile[0]);\r\n this.deletedFileData.emit(deletedFile[0]);\r\n }\r\n\r\n // viewFile(currentFile) {\r\n // // Display file here\r\n // if (currentFile && currentFile.doc) {\r\n // this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {\r\n // if (apiResponse && apiResponse.sas_url) {\r\n // window.open(apiResponse.sas_url, '_blank');\r\n // }\r\n // }, (apiError) => {\r\n // this.toastr.warning('Error while viewing file', 'Warning');\r\n // });\r\n // }\r\n // }\r\n\r\n getDocIcon(docName) {\r\n const ext = docName.split('.').pop(-1);\r\n return this.docIcon(ext);\r\n }\r\n\r\n docIcon(ext) {\r\n if (ext === 'pdf') {\r\n return 'assets/icons/document/img-file-PDF.png';\r\n } else if (ext === 'xlsx') {\r\n return 'assets/icons/document/img-file-XLSX.png';\r\n } else if (ext === 'docx') {\r\n return 'assets/icons/document/img-file-DOCX.png';\r\n } else if (ext === 'avi') {\r\n return 'assets/icons/document/img-file-AVI.png';\r\n } else if (ext === 'doc') {\r\n return 'assets/icons/document/img-file-DOC.png';\r\n } else if (ext === 'gif') {\r\n return 'assets/icons/document/img-file-GIF.png';\r\n } else if (ext === 'jpg') {\r\n return 'assets/icons/document/img-file-JPG.png';\r\n } else if (ext === 'mov') {\r\n return 'assets/icons/document/img-file-MOV.png';\r\n } else if (ext === 'mp3') {\r\n return 'assets/icons/document/img-file-MP3.png';\r\n } else if (ext === 'mp4') {\r\n return 'assets/icons/document/img-file-MP4.png';\r\n } else if (ext === 'mpeg') {\r\n return 'assets/icons/document/img-file-MPEG.png';\r\n } else if (ext === 'mpg') {\r\n return 'assets/icons/document/img-file-MPG.png';\r\n } else if (ext === 'png') {\r\n return 'assets/icons/document/img-file-PNG.png';\r\n } else if (ext === 'ppt') {\r\n return 'assets/icons/document/img-file-PPT.png';\r\n } else if (ext === 'txt') {\r\n return 'projects/nxt-app/src/assets/icons/document/img-file-TXT.png';\r\n } else if (ext === 'xls') {\r\n return 'assets/icons/document/img-file-XLS.png';\r\n } else {\r\n return 'assets/images/ic_document.svg';\r\n }\r\n }\r\n}\r\n","<div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\r\n <label class=\"she-label\">Attachment</label>\r\n </div>\r\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\r\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\r\n <div class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\">\r\n {{eachFile?.name}}\r\n </div>\r\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"assets/images/bin.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\r\n <img src=\"../../../assets/images/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\r\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\r\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\r\n >Choose\r\n files</button>\r\n\r\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\r\n (change) = uploadMultipleFiles($event)\r\n />\r\n </label>\r\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\r\n formControl?.documents?.errors?.required\">\r\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\r\n </span> -->\r\n</div>\r\n","import { Component, OnInit, Input, Output, EventEmitter, } from '@angular/core';\r\nimport { Question, QuestionBook } from '../../wrapper';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { StorageService } from '../../services/storage.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'lib-questionbook',\r\n templateUrl: './questionbook.component.html',\r\n styleUrls: ['./questionbook.component.css']\r\n})\r\nexport class QuestionbookComponent implements OnInit {\r\n @Input() qbItem: QuestionBook;\r\n @Input() questionItem: Question;\r\n @Input() questions: Question[];\r\n \r\n subQuestions: Question[];\r\n selectedFileData: any[] = [];\r\n\r\n constructor(private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService, \r\n private storageService: StorageService) { \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n console.log('inside QuestionBookComponent OnInit');\r\n // console.log(this.qbItem);\r\n // console.log(this.questions);\r\n this.subQuestions = [];\r\n this.setSubQuestions(this.questions);\r\n }\r\n\r\n clearSQError(quesId) {\r\n // console.log('inside QuestionBookComponent clearSQError');\r\n var sqList = this.subQuestions.filter((item) => item.Id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n\r\n setSubQuestions(records) {\r\n console.log('inside QuestionbookComponent setSubQuestions');\r\n this.subQuestions.push(records);\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n console.log('inside QuestionbookComponent childEventCapture');\r\n console.log(event);\r\n this.changeService.announceChange(event);\r\n // Process the changes in Table and Dropdown and store right value in ques.input\r\n if(ques.Type__c == 'Dropdown') {\r\n ques.input = event.valueObj.id;\r\n ques.selectedValue = event.valueObj.name;\r\n }else if(ques.Type__c == 'File'){\r\n ques.input = this.selectedFileData = event;\r\n }else if(ques.Type__c == 'DateTime'){\r\n ques.input = moment(event.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\r\n }else{\r\n ques.input = event;\r\n }\r\n // Once the right value is stored in ques.input store the ques (with input) in storageService\r\n this.storageService.update(ques);\r\n }\r\n deleteFile(fileData:any){\r\n console.log('fileDATA',fileData)\r\n }\r\n}\r\n","<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\r\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\r\n <!-- Sub Question Label -->\r\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\r\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date-picker>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\r\n </app-custom-input>\r\n </div>\r\n \r\n <!-- for pick location -->\r\n <div *ngIf=\"ques.Type__c === 'Location'\">\r\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\r\n </app-pick-location>\r\n </div>\r\n\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\r\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.Type__c === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\r\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\r\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\r\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-dropdown>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\r\n </div>\r\n\r\n <!-- Attachment / Files -->\r\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\r\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"selectedFileData\"\r\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\r\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { ActionMeta } from '../../interfaces/actionMeta';\r\nimport { Question } from \"../../wrapper\";\r\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\r\nimport { StorageService } from '../../services/storage.service';\r\n\r\n@Component({\r\n selector: 'lib-booklet',\r\n templateUrl: './booklet.component.html',\r\n styleUrls: ['./booklet.component.css']\r\n})\r\nexport class BookletComponent implements OnInit {\r\n @Input() bookletId: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Input() bookletJSON: any;\r\n \r\n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n\r\n public nxtBooklet: BookletWrapper;\r\n\r\n public booklet: any[] = [];\r\n public abItem: any = {};\r\n public actions: ActionMeta[] = [];\r\n public bookQuestionsMap: any = new Map();\r\n private sqOptions: any = new Map();\r\n public isAnswerFlag: boolean = false;\r\n public spinnerName: string;\r\n public spinnerType: string;\r\n\r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private storageService: StorageService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n el: ElementRef\r\n ) { \r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this.processBooklet();\r\n }\r\n\r\n ngOnChanges() {\r\n console.log('inside Questionnaire ngOnChanges');\r\n console.log(this.booklet);\r\n if(this.booklet == undefined || this.booklet.length == 0) {\r\n this.processBooklet();\r\n }\r\n }\r\n\r\n processBooklet() {\r\n if (this.bookletId) {\r\n if (this.bookletId.length == 18) {\r\n this.readBooklet(this.bookletId);\r\n }\r\n } else if(this.bookletJSON) {\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n this.isAnswerFlag = true;\r\n\r\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(this.bookletJSON);\r\n }\r\n \r\n this.booklet = this.bookletJSON.records;\r\n this.abItem = this.bookletJSON.answerbook;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in this.bookletJSON.sqOptions) {\r\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n for (var value in this.bookletJSON.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\r\n }\r\n\r\n if(this.bookletJSON.questionbook?.Actions__c != undefined) {\r\n this.actions = JSON.parse(this.bookletJSON.questionbook.Actions__c);\r\n }\r\n }\r\n }\r\n\r\n private readBooklet = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Booklet\", \"read\", uuid],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"Booklet\", \"read\", uuid],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n }\r\n }\r\n\r\n private successReadBooklet = (response) => {\r\n console.log('Inside the successReadBooklet');\r\n // console.log(response);\r\n if(response != null || response != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(response);\r\n\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n // this.isAnswerFlag = true;\r\n \r\n this.booklet = response.records;\r\n this.abItem = response.answerbook;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in response.sqOptions) {\r\n this.sqOptions.set(sq, response.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n for (var value in response.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\r\n }\r\n\r\n if(response.questionbook?.Actions__c != undefined) {\r\n this.actions = JSON.parse(response.questionbook.Actions__c);\r\n }\r\n }\r\n }\r\n\r\n private failureReadBooklet = (response) => {\r\n\r\n }\r\n\r\n handleBookletActionClick(action:ActionMeta) {\r\n console.log(action);\r\n let dataToParent = {};\r\n dataToParent['action'] = action.eventtoemit;\r\n dataToParent['data'] = this.storageService.get();\r\n this.handleBookletActionEvent.emit(dataToParent);\r\n }\r\n\r\n readQuestions(qbId: string) {\r\n console.log('inside BookletComponent.readQuestions ' + qbId);\r\n // console.log(this.bookQuestionsMap.size);\r\n let questions = [];\r\n for(var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {\r\n let q: Question = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];\r\n if(q.Type__c == 'Dropdown') {\r\n questions.push(this.sqOptions.get(q.Id));\r\n } else {\r\n questions.push(q);\r\n }\r\n }\r\n // console.log(questions);\r\n return questions;\r\n }\r\n\r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n //console.log( doc.documentElement.textContent);\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n}\r\n","<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\r\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire> -->\r\n\r\n <div *ngFor=\"let ques of qb.Questions__r.records\" [class]=\"qb.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\r\n <div class=\"questiondiv2\">\r\n <div *ngIf=\"!ques.Is_Title__c\" [class]=\"qb.isShengel__c ? 'header-style' : 'question-f-size additional'\">\r\n <div [innerHTML]=\"getText(ques?.Question_Text__c)\" >\r\n {{ ques?.Question_Text__c }}\r\n </div>\r\n </div>\r\n <lib-questionbook [qbItem]=\"qb\" [questionItem]=\"ques\" [questions]=\"readQuestions(qb.Id)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ItemsList } from \"@ng-select/ng-select/lib/items-list\";\r\nimport { ConsoleService } from \"@ng-select/ng-select/lib/console.service\";\r\n\r\n@Component({\r\n selector: 'lib-search-box',\r\n templateUrl: './search-box.component.html',\r\n styleUrls: ['./search-box.component.css']\r\n})\r\nexport class SearchBoxComponent implements OnInit {\r\n @Input() placeHolderText: string;\r\n @ViewChild('auto') auto;\r\n\r\n public filterName: string;\r\n public finalResults: any[] = [];\r\n public searchKeyWord: string = '';\r\n public newResult: any;\r\n public showResult = false;\r\n public noResult = false;\r\n public showSuggestion = true;\r\n private el: HTMLElement;\r\n private serv: string = 'api';\r\n private tkn: string = '';\r\n \r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n el: ElementRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n clearList(){\r\n setTimeout(()=> {\r\n this.finalResults = [];\r\n }, 1000);\r\n }\r\n\r\n getSourceDataLocal(event) { //to get results list from backend API whenever key is up after the entering atleast one key\r\n if(event.target.value.length > 2){\r\n this.showSuggestion=true;\r\n this.finalResults=[];\r\n this.searchKeyWord = event.target.value;\r\n this.showResult = false;\r\n this.getSourceData(event.target.value);\r\n } else {\r\n this.showSuggestion=false;\r\n this.finalResults = [];\r\n this.noResult = false;\r\n }\r\n }\r\n\r\n public apiResponse(keyword: string): Observable<any> {\r\n return this.http.get('https://dummyjson.com/products');\r\n }\r\n\r\n public getSourceData = (keyword: string) => {\r\n this.apiResponse('ok').subscribe((apiResponse) => {\r\n let results=[];\r\n for (let i = 0; i < apiResponse.products.length; i++) {\r\n if(apiResponse.products[i].title.indexOf(keyword) >= 0) {\r\n console.log('pushing ' + apiResponse.products[i].title);\r\n results.push(apiResponse.products[i]);\r\n }\r\n }\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n })\r\n }\r\n\r\n public clickItem(event) {\r\n console.log('inside clickItem of ' + event.target.value);\r\n }\r\n /*\r\n public getSourceData = (keyword: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n }\r\n }\r\n\r\n public successSourceData = (response) => {\r\n let results=[];\r\n results=response.results;\r\n results.push({uuid: null, name: \"\"});\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n }\r\n\r\n public failureSourceData = (response) => {\r\n console.log(\"Error reading the data from API\");\r\n }\r\n */\r\n}\r\n","<div id=\"autocomplete-input\">\r\n <input #auto id=\"searchbox-style\" \r\n (blur)=\"clearList()\" \r\n [(ngModel)]=\"filterName\" \r\n type=\"text\" \r\n name=\"name\" \r\n (placeholder)=\"placeHolderText\" \r\n style=\"margin: 0 !important;\" \r\n class=\"searchInput\" \r\n (focusin)=\"getSourceDataLocal($event)\" \r\n (input)=\"getSourceDataLocal($event)\">\r\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\r\n <div *ngIf=\"finalResults.length > 1 && showSuggestion\" \r\n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \r\n class=\"suggestions-container\">\r\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\r\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\r\n <div class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\r\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\r\n </div>\r\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\r\n <h4 >{{item.title}}</h4>\r\n <div class=\"show-for-medium\" style=\" white-space: nowrap;\r\n overflow: hidden;text-overflow: ellipsis;\" > {{item.description}}\r\n </div>\r\n <div *ngIf=\"item.price\" class=\"drop-list\">\r\n {{item.price.toFixed(2)}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { NxtAppComponent } from './nxt-app.component';\r\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { NgCircleProgressModule } from 'ng-circle-progress';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\n//import { AgmCoreModule } from '@agm/core';\r\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\r\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\r\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\r\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\r\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\r\nimport { OwlDateTimeModule,OwlNativeDateTimeModule } from 'ng-pick-datetime';\r\n\r\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\r\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\r\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BookletComponent } from './pages/booklet/booklet.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\r\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\r\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\r\n\r\n// export const MY_CUSTOM_FORMATS = {\r\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\r\n// useUtc: true,\r\n// };\r\n\r\n@NgModule({\r\n declarations: [NxtAppComponent, \r\n QuestionnaireComponent,\r\n PickLocationComponent,\r\n CustomInputComponent,\r\n CustomTextAreaComponent,\r\n CustomTableComponent,\r\n CustomDatePickerComponent,\r\n DropdownWithFlagComponent,\r\n CustomDropdownComponent,\r\n BookletComponent,\r\n SearchBoxComponent,\r\n QuestionbookComponent,\r\n FileUploadComponent\r\n ],\r\n imports: [\r\n CommonModule, FormsModule,\r\n MyDatePickerModule,\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n HttpClientModule,\r\n NgSelectModule,\r\n GoogleMapsModule,\r\n //AgmCoreModule.forRoot({\r\n // apiKey: GOOGLE_MAP_API_KEY,\r\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\r\n // }),\r\n ReactiveFormsModule, NgxSpinnerModule,\r\n /*NgCircleProgressModule.forRoot({\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": -6,\r\n \"innerStrokeColor\": \"#919191\",\r\n \"outerStrokeColor\": \"#db9594\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"innerStrokeWidth\": 2,\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#d3cfcf\",\r\n \"title\": [\r\n \r\n \"%\"\r\n ],\r\n // titleFontSize: 12,\r\n // \"subtitleFontSize\": 20,\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showUnits\": false,\r\n \"clockwise\":true\r\n\r\n //\"backgroundStrokeWidth\": \"0\",\r\n\"backgroundGradient\": true,\r\n //\"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#000000\",\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"unitsFontWeight\": \"600\",\r\n \"unitsColor\": \"#f2f2f2\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeColor\": \"#e0b1b0\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"outerStrokeLinecap\": \"inherit\",\r\n \"innerStrokeColor\": \"#f6dfdf\",\r\n \"title\": [\r\n \r\n \"%\"\r\n],\r\n \"titleColor\": \"#e7d9d9\",\r\n \"titleFontSize\": \"31\",\r\n \"titleFontWeight\": \"100\",\r\n \"subtitleColor\": \"#f7f7f7\",\r\n \"subtitleFontSize\": \"36\",\r\n \"subtitleFontWeight\": \"900\",\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showTitle\": true,\r\n \"showUnits\": true,\r\n \"clockwise\": false,\r\n \"startFromZero\": true,\r\n \"showZeroOuterStroke\": false,\r\n \"lazy\": true})*/\r\n\r\n NgCircleProgressModule.forRoot({\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#e29d98\",\r\n \"backgroundGradientStopColor\": \"#c5281c\",\r\n \"backgroundStroke\": \"#ece4e4\",\r\n \"backgroundStrokeWidth\": 0,\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": 4,\r\n \"maxPercent\": 100,\r\n \"unitsFontSize\": \"35\",\r\n \"unitsColor\": \"#f0ebeb\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeWidth\": 10,\r\n \"outerStrokeColor\": \"#f7c0bf\",\r\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\r\n \"innerStrokeWidth\": 0,\r\n \"titleColor\": \"#f3eded\",\r\n \"titleFontSize\": \"40\",\r\n \"subtitleColor\": \"#444444\",\r\n \"showSubtitle\": false})\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [NxtAppComponent, \r\n QuestionnaireComponent,\r\n BookletComponent\r\n ]\r\n // providers: [\r\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\r\n // ]\r\n})\r\nexport class NxtAppModule { }\r\n","/*\r\n * Public API Surface of nxt-app\r\n */\r\n\r\nexport * from './lib/nxt-app.service';\r\nexport * from './lib/nxt-app.component';\r\nexport * from './lib/nxt-app.module';\r\nexport * from './lib/pages/questionnaire/questionnaire.component';\r\nexport * from './lib/pages/booklet/booklet.component';\r\nexport * from './lib/services/salesforce.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.ChangeService","i3","i4","i1.SalesforceService","i2.DataService","i3.ChangeService","i9","i12.PickLocationComponent","i13.CustomInputComponent","i14.CustomTextAreaComponent","i15.CustomTableComponent","i16.CustomDatePickerComponent","i17.DropdownWithFlagComponent","i18.CustomDropdownComponent","i4.StorageService","i5","i6","i7.PickLocationComponent","i8.CustomInputComponent","i9.CustomTextAreaComponent","i10.CustomTableComponent","i11.CustomDatePickerComponent","i12.CustomDropdownComponent","i13.FileUploadComponent","i3.StorageService","i7","i8.QuestionbookComponent"],"mappings":"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"}