@rangertechnologies/ngnxt 2.0.43 → 2.0.44

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/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/services/shared.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/components/dependent-table/dependent-table.component.ts","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.html","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.ts","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.html","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.ts","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.html","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.ts","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.html","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.ts","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.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/file-view/file-view.component.ts","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.html","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.ts","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.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';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NxtAppService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-nxt-app',\n template: `\n <p>\n nxt-app works!\n </p>\n `,\n styles: []\n})\nexport class NxtAppComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ChangeWrapper } from '../model/changeWrapper';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ChangeService {\n // Reference: https://angular.io/guide/observables\n constructor() { }\n\n // Observable parentQuestion sources\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\n private changeConfirmedSource = new Subject<string>();\n private validationSource = new Subject<string>();\n private fieldSource = new Subject<any>();\n\n // Observable parentQuestion streams\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\n submitValidate$ = this.validationSource.asObservable();\n changeField$ = this.fieldSource.asObservable();\n\n // Service message commands\n announceChange(changeValue: ChangeWrapper) {\n // console.log('inside announceChange');\n console.log(changeValue);\n this.changeAnnouncedSource.next(changeValue);\n }\n\n confirmChange(childQuestion: string) {\n // console.log('inside confirmChange');\n console.log(childQuestion);\n this.changeConfirmedSource.next(childQuestion);\n }\n\n submitChange(value:string){\n this.validationSource.next(value);\n }\n fieldChange(value:any){\n console.log('getValue',value);\n this.fieldSource.next(value);\n }\n}\n","import { ErrorWrapper } from \"./model/errorWrapper\";\n\nexport class QuestionBook {\n Id: number;\n Name: string;\n Category__c: string;\n Next__c : string;\n Cancel__c : string;\n Back__c : string;\n Submit__c : string;\n Edit__c : string;\n First_Question__c: string;\n Title__c: string;\n Next_Tracking_ID__c: string;\n Back_Tracking_ID__c: string;\n Cancel_Tracking_ID__c: string;\n Submit_Tracking_ID__c: string;\n Total_Questions__c: number;\n Summary_Text__c?: string;\n Questions__r?: QuestionR;\n Progress_Bar__c: boolean;\n SubTitle__c: string;\n Question_Type__c: string;\n Possibilities__c: string;\n Summary_Sub_Text__c: string;\n isShengel__c?: boolean;\n}\n\nexport class Question {\n Id: string;\n Name: string;\n Reference_Field__c?:string;\n Allowed_File_Extensions__c :string;\n Question__c : string;\n Question_Text__c : string;\n Type__c: string;\n Next_Question__c?: string;\n Is_Optional__c: boolean;\n Title__c: string;\n SubTitle__c: string;\n Is_Title__c: boolean;\n X24_Hours__c: boolean;\n Error_Message__c: string;\n Is_Date_Backward__c : boolean;\n Is_Date_Forward__c : boolean;\n Group__c: string;\n Question_No__c?: string;\n Question_Options__r?: OptionR;\n static X24_Hours__c: boolean;\n Size__c: number;\n Sub_Text__c: string;\n Tracking_ID__c: string;\n Time_Text__c: string;\n Date_Text__c: string;\n Additional_Rich__c? : string;\n Questions__r?: QuestionR;\n RecordType: {\n Name: string;\n };\n input?: any;\n error?: ErrorWrapper;\n valueName?:string;\n dropDownOnly?:boolean;\n isDependentPicklist?:boolean;\n tableDataValue?:any[]; \n tableHeader?:string;\n startDate?:any;\n minDate?: any ;\n isShengel__c?: boolean;\n}\n\n\nexport class LocalQuestion {\n Id: string;\n Name: string;\n Allowed_File_Extensions__c :string;\n Question__c : string;\n Question_Text__c : string;\n Type__c: string;\n Title__c: string;\n SubTitle__c: string;\n Next_Question__c?: string;\n Is_Optional__c: boolean;\n Is_Title__c: boolean;\n X24_Hours__c: boolean;\n Error_Message__c: string;\n Is_Date_Backward__c : boolean;\n Is_Date_Forward__c : boolean;\n Time_Text__c : string;\n Date_Text__c : string;\n Group__c: string;\n Question_No__c?: string;\n Question_Options__r?: OptionR;\n Sub_Text__c : string;\n Size__c: number;\n Tracking_ID__c: string;\n Additional_Rich__c? : string;\n Questions__r?: QuestionR;\n RecordType: {\n Name: string;\n };\n input?: string;\n error?: ErrorWrapper;\n static X24_Hours__c: boolean;\n uniqueSubQId: string;\n}\n\nexport class QuestionR {\n records?: Question[];\n}\n\nexport class OptionR {\n records?: Option[];\n}\n\nexport class Option {\n Id: string;\n Name: string;\n Value__c: string;\n Tracking_ID__c: string;\n Next_Question__c?: string;\n}\n\nexport class OptionValue {\n Id: string;\n Name: string;\n Value__c: string;\n Next_Question__c?: string;\n checked: boolean;\n}\n\nexport class AnswerBook {\n Id: string;\n Question_Book__c: string;\n Status__c: string;\n Answers__r?: AnswerR;\n\n}\n\nexport class Answer {\n Id: string;\n Question_Rich_Text__c: string;\n Answer_Long__c : string;\n Question_Type__c: string;\n Question_Ref__c: string;\n Question_Group_Text__c: string;\n}\nexport class AnswerR {\n records?: Answer[];\n}\n\nexport class AnswerWrapper {\n ansId?: string;\n ansNumber?: number;\n abId: string;\n quesId: string;\n quesValue: string;\n qTyp: string;\n ansValue: string;\n groupText: string;\n squesValue: string;\n}\n\nexport class AttachmentWrapper {\n parentId: string;\n fileName: string;\n fileContent: string;\n}\n\nexport class Attachment {\n public attachmentId: string;\n public attachmentName: string;\n public attachmentMetaData: any;\n\n constructor(id: string,name:string,metaData:any){\n this.attachmentId = id;\n this.attachmentName = name;\n this.attachmentMetaData = metaData;\n }\n}\n\n","export class ErrorWrapper {\n errorCode: string;\n errorMsg: string;\n errorDetails: string;\n}\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';\nimport {Router} from '@angular/router';\n\ndeclare class Visualforce {\n static remoting: { Manager: { invokeAction: any } };\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class SalesforceService {\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\n\n public remoteAction(methodName: string,\n params: string[],\n resolve,\n reject,\n config?: any) {\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\n const self = this;\n var nsMethodName = this.getRNXTMethodName();\n //console.log('method name in lib = ' + nsMethodName);\n\n Visualforce.remoting.Manager.invokeAction(\n nsMethodName,\n //'NxtController.process',\n //`{!$RemoteAction.NxtController.process}`,\n ...params,\n function (result, event) {\n try {\n result = JSON.parse(result);\n } catch (error) {\n reject(error);\n }\n //console.log('Function called was - ' + methodName);\n //console.log(result);\n //console.log(resolve(result));\n if (result.status) {\n resolve(result);\n } else {\n resolve(result);\n }\n },\n config || { buffer: false, escape: false }\n );\n }\n\n constructor(private _router: Router) {\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService {\n\n constructor(private http: HttpClient) { }\n\n public getAPIData(tkn: string, \n params: string[],\n resolve,\n reject,\n config?: any) {\n console.log('inside DataService.getAPIData for ' + tkn);\n const self = this;\n\n // Call the ShengelGo Server\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\n headers.append('Accept', 'application/json');\n headers.append('Access-Control-Allow-Origin', '*');\n\n // Use Shengel Go Server IP/Domain https://dev-api.shengelgo.com\n\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' })\n .subscribe(response => {\n if(response.status == 200) {\n resolve(response.body);\n } else {\n reject(response.body);\n }\n }, error => {\n console.log(error.status);\n reject(error);\n });\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, NgModule, NgZone, OnInit, Output, ViewChild } from '@angular/core';\ndeclare var $: any;\n\n@Component({\n selector: 'app-pick-location',\n templateUrl: './pick-location.component.html',\n styleUrls: ['./pick-location.component.css']\n})\nexport class PickLocationComponent implements OnInit {\n latitude = null;\n longitude = null;\n zoom: number = 10;\n private geoCoder;\n // public formGroup: FormGroup;\n @ViewChild('search', { static: true })\n public searchElementRef: ElementRef<HTMLInputElement>;\n showModal: boolean = false;\n @Input() address:string;\n @Output() locationSelected: EventEmitter<any> = new EventEmitter<any>();\n navigatorGeolocation: any;\n markerPosition: { lat: any; lng: any; };\n center: { lat: any; lng: any; };\n markerOptions:any;\n\n constructor(\n // private mapsAPILoader: MapsAPILoader,\n private ngZone: NgZone) { \n this.geoCoder = new google.maps.Geocoder();\n this.markerOptions = new google.maps.Marker ({\n draggable: true,\n animation: google.maps.Animation.DROP\n });\n // this.formGroup = this.formBuilder.group({\n // location: [''] // Add any initial value or leave it empty\n // });\n\n }\n\n ngOnInit(): void {\n this.initAutocomplete();\n this.onMarkerDragEnd();\n }\n \n initAutocomplete(): void {\n if (this.geoCoder) {\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\n types: []\n });\n autocomplete.addListener('place_changed', () => {\n this.ngZone.run(() => {\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n this.latitude = place.geometry.location.lat();\n this.longitude = place.geometry.location.lng();\n this.zoom = 18;\n this.address = place.formatted_address;\n this.locationSelected.emit(this.address);\n });\n });\n }\n }\n\n onMarkerDragEnd(): void {\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\n console.log('dragable working',event);\n this.latitude = event.latLng.lat();\n this.longitude = event.latLng.lng();\n this.getAddress(this.latitude, this.longitude);\n });\n }\n\n onMapClick(event: google.maps.MapMouseEvent): void {\n console.log('onMapClick',event);\n this.latitude = event.latLng.lat();\n this.longitude = event.latLng.lng();\n this.getAddress(this.latitude, this.longitude);\n }\n\n\n private setCurrentLocation() {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition((position) => {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 8;\n this.getAddress(this.latitude, this.longitude);\n });\n }\n }\n\n\n getAddress(latitude: number, longitude: number) {\n if (this.geoCoder) {\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\n console.log('results',results);\n console.log('status',status);\n if (status === 'OK') {\n if (results[0]) {\n // this.zoom = 18;\n this.address = results[0].formatted_address;\n this.locationSelected.emit(this.address);\n } else {\n console.log('No results found');\n }\n } else {\n console.log('Geocoder failed due to: ' + status);\n }\n });\n }\n }\n\n openMap() {\n this.showModal = true;\n if(!this.address){\n this.latitude = this.longitude = null;\n }\n if (!(this.latitude && this.longitude)) {\n this.setCurrentLocation();\n }else{\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 8;\n }\n }\n\n closeModal() {\n this.showModal = false;\n }\n\n\n}\n","<div>\n <!-- <label class=\"she-label\">Location</label> -->\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\n >\n <a (click)=\"openMap()\"\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\n </i> Pick Location</a>\n</div>\n\n<div class=\"map-overlay\" *ngIf=\"showModal\">\n <div class=\"map-modal\">\n <div class=\"map-modal-content\">\n <div class=\"map-modal-header\">\n <h4>Pick Your Location</h4>\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\n </div>\n <!-- Modal content goes here -->\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\n [fullscreenControl]=\"true\">\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\n </agm-map> -->\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\n </google-map>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ChangeService } from '../../services/change.service';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { Question } from '../../wrapper';\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\n\n@Component({\n selector: 'app-custom-input',\n templateUrl: './custom-input.component.html',\n styleUrls: ['./custom-input.component.css']\n})\n\nexport class CustomInputComponent implements OnInit {\n @Input() value: any | any[]; // input value\n @Input() question: Question\n @Input() disabled: boolean = false; // input disabled or not\n @Input() placeholder:string;\n @Input() error:any;\n @Input() fromShengel: boolean = false;\n\n @Input() ngClassValue:any;\n @Input() idValue:any;\n @Input() focusEvent: any;\n @Output() inputValue = new EventEmitter<any>(); \n\n subscription: Subscription;\n\n constructor(private changeService: ChangeService) { \n }\n\n ngOnInit(): void {\n // Since the idValue holds the Parent Question\n if(this.question.Sub_Text__c != undefined) {\n this.disabled = true;\n let dependencyObj: DependencyMeta = JSON.parse(this.question.Sub_Text__c);\n \n if(dependencyObj.disabled && dependencyObj.disabled == \"false\"){\n this.disabled = false;\n }else{\n this.disabled = true;\n }\n // Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n // console.log('inside subscription for the change');\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\n this.value = changeValue.valueObj[dependencyObj.valueField];\n this.inputValue.emit(this.value);\n }\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\n }\n }\n );\n }\n }\n\n ngOnChange(): void {\n }\n\n ngOnDestroy() {\n // prevent memory leak when component destroyed\n this.subscription?.unsubscribe();\n }\n \n onInputChange(input:any){\n this.inputValue.emit(input.target.value);\n }\n}\n","<input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"value\"\n [ngClass]=\"ngClassValue\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [style.border-color]=\"error ? 'red' : ''\"\n [placeholder]=\"placeholder\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"value\"\n type=\"text\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange($event)\" />\n\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-text-area',\n templateUrl: './custom-text-area.component.html',\n styleUrls: ['./custom-text-area.component.css']\n})\nexport class CustomTextAreaComponent implements OnInit {\n @Input() value: any | any[]; // input value\n @Input() placeholder:string;\n @Input() rows:Number; //The number of visible text lines for the control\n @Input() error:any;\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n onTextareaChange(event:any): void {\n this.textareaValueChange.emit(event.target.value);\n }\n\n}\n","\n<textarea \n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TableWrapper } from '../../model/tableWrapper';\nimport { Question } from '../../wrapper';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-custom-table',\n templateUrl: './custom-table.component.html',\n styleUrls: ['./custom-table.component.css']\n})\n\nexport class CustomTableComponent implements OnInit {\n @Input() question: Question\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n tableInfo: TableWrapper;\n tableHeader: any;\n tableData: any;\n addRowColSpan: number;\n\n constructor() { }\n\n ngOnInit(): void {\n if(this.question.Sub_Text__c != undefined) {\n this.tableInfo = JSON.parse(this.question.Sub_Text__c);\n this.tableHeader = this.tableInfo.header;\n this.tableData = this.tableInfo.data;\n this.valueChange.emit(this.tableData);\n\n if(this.tableData?.addRow) {\n this.addRowColSpan = this.tableHeader.length - 2;\n }\n }\n }\n\n addRow(): void {\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\n const updatedTableData = [...this.tableData, newItem];\n this.tableData = updatedTableData;\n this.emitTableDataValue(updatedTableData);\n }\n\n updateRadio(item: any, value: string): void {\n item.value = value;\n this.emitTableDataValue(this.tableData);\n }\n\n updateLabel(rowIndex: number, label: string, value: string): void {\n this.tableData[rowIndex][label] = value;\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\n this.emitTableDataValue(this.tableData);\n }\n\n updateNumber(item: any, label: string, value: string){\n item.value[label] = value;\n this.emitTableDataValue(this.tableData);\n }\n\n\n emitTableDataValue(updatedTableData: any[]): void {\n this.valueChange.emit(updatedTableData);\n }\n}","<table class=\"table table-striped table-bordered\">\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'image'\" [class]=\"'col-md-' + header.size\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\n </div>\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'radio'\" [class]=\"'col-md-' + header.size\">\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow\">\n <td colspan=\"1\">\n <b>Add More</b>\n </td>\n <td colspan=\"3\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n </tbody>\n</table>\n","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\n\n@Component({\n selector: 'app-custom-date-picker',\n templateUrl: './custom-date-picker.component.html',\n styleUrls: ['./custom-date-picker.component.css']\n})\nexport class CustomDatePickerComponent implements OnInit {\n @Input() date: string;\n @Input() minDate:any;\n @Input() maxDate:any;\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\n dateSelected:any\n constructor() { }\n\n ngOnInit(): void {\n this.dateSelected = new Date(this.date);\n }\n\n onDateChange(event: any) {\n this.dateChange.emit(event);\n }\n\n}\n","<!-- <div class=\"date-picker-container\">\n <label>{{label}}</label>\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\n</div> -->\n<!-- <mat-form-field>\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field> -->\n\n<p>\n <input class=\"input-shengel\"\n [(ngModel)]=\"dateSelected\" \n [owlDateTimeTrigger]=\"dt\" \n [owlDateTime]=\"dt\" \n [min]=\"minDate\"\n placeholder=\"DD/MM/YYYY HH:MM\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\">\n <owl-date-time #dt></owl-date-time>\n</p>\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-dropdown-with-flag',\n templateUrl: './dropdown-with-flag.component.html',\n styleUrls: ['./dropdown-with-flag.component.css']\n})\nexport class DropdownWithFlagComponent implements OnInit {\n @Input() certified:boolean= false;\n // @Input() getValue:string = '';\n @Input() JobPerformerCertificates: any[] = [];\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \n selectedValue:string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n }\n ngOnChanges(){\n this.selectedValue = null;\n }\n \n onJobPerformerCertified(event:any){\n this.flagDropDownChange.emit(event);\n }\n\n}\n","<div class=\"she-title\">\n <label class=\"switch\">\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \n <span class=\"switch-handle\"></span> \n </label> \n <ng-select *ngIf=\"certified\"\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \n [items]=\"JobPerformerCertificates\"\n [(ngModel)]=\"selectedValue\"\n (change)=\"onJobPerformerCertified($event)\"\n placeholder=\"---Select---\">\n </ng-select>\n </div> ","export class ChangeWrapper {\n fromQuestionId: string;\n fromQuestionName: string;\n toQuestionId: string;\n toQuestionName: string;\n valueObj: any;\n}\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { APIMeta } from '../../interfaces/apimeta';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { ChangeService } from '../../services/change.service';\n\n@Component({\n selector: 'app-custom-dropdown',\n templateUrl: './custom-dropdown.component.html',\n styleUrls: ['./custom-dropdown.component.css']\n})\nexport class CustomDropdownComponent implements OnInit {\n @Input() options: string[];\n @Input() placeholder: string;\n @Input() apiMeta: string;\n @Input() selectedValue: string;\n @Input() progressBar: boolean;\n @Input() id:string;\n @Input() errorMessage: string;\n @Input() error:any;\n @Input() fromShengel: boolean = false;\n @Input() referenceField:string;\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n invalidFieldIds:string[] = [];\n constructor(private http: HttpClient,private changeService: ChangeService) { \n this.changeService.submitValidate$.subscribe((data)=>{\n // to get the error message's field id's\n this.invalidFieldIds.push(data);\n })\n }\n\n public labelField: string;\n public valueField: string;\n\n ngOnInit(): void {\n // console.log('inside oninit of custom-dropdown of ' + this.id);\n // console.log(this.apiMeta);\n if(this.apiMeta !== undefined) {\n this.options = [];\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.labelField = apiObj.field;\n\n this.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\n let responses = apiResponse[apiObj.variable];\n let results = [];\n for (let i = 0; i < responses.length; i++) {\n var resp = responses[i];\n results.push(resp);\n }\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\n this.options = results;\n })\n }\n }\n\n public apiResponse(endpoint: string): Observable<any> {\n return this.http.get(endpoint);\n }\n\n selectChange(event:any) {\n console.log('inside selectChange from ' + this.id);\n // console.log(event);\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\n change.fromQuestionId = this.id;\n change.valueObj = event;\n this.valueChange.emit(change);\n // once got value in dropdown remove the error validation\n if(event){\n this.invalidFieldIds =[];\n }\n }\n}\n","<select *ngIf=\"!fromShengel\"\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"option.Value__c\" class=\"option\">{{ option.Value__c }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select>\n\n<ng-select *ngIf=\"fromShengel\"\n [class]=\"invalidFieldIds.includes(id) ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option *ngFor=\"let option of options\" [value]=\"option\">{{ this.apiMeta !== undefined ? option[labelField] : option.Value__c }}</ng-option> \n <!-- <ng-option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</ng-option> -->\n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">Required*</span>\n","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n} from \"@angular/core\";\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { UntypedFormBuilder } from \"@angular/forms\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport * as moment from 'moment'; \nimport { DataService } from '../../services/data.service';\nimport { ChangeService } from '../../services/change.service';\n\nimport {\n Question,\n QuestionBook,\n AnswerBook,\n AnswerWrapper,\n Option,\n OptionValue,\n AttachmentWrapper,\n Attachment,\n LocalQuestion\n} from \"../../wrapper\";\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\n\nimport {\n TESTQUESTION,\n DTQUESTION,\n FILEQUESTION,\n TAQUESTION,\n RADIOQUESTION,\n CHECKQUESTION,\n BOOKQUESTION,\n TESTQB,\n} from \"../../sample\";\nimport { from } from \"rxjs\";\n\n@Component({\n selector: \"lib-questionnaire\",\n templateUrl: \"./questionnaire.component.html\",\n encapsulation: ViewEncapsulation.None,\n providers: [ChangeService],\n styleUrls: [\"./questionnaire.component.css\"],\n})\nexport class QuestionnaireComponent implements OnInit {\n @Input() qbId: string;\n @Input() insuranceStartDate: string;\n @Input() serv: string;\n @Input() tkn: string;\n @Output() handleEvent = new EventEmitter();\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\n\n params: Params;\n public deviceInfo = null;\n public abItem: AnswerBook;\n public qbItem: QuestionBook;\n public questionItem: Question;\n public answerWrap: AnswerWrapper;\n\n // CONDITIONAL TYPES\n public radioFlag: boolean = false;\n public dataFlag: boolean = false;\n\n // OPTIONONLY TYPES\n public dropdownFlag: boolean = false;\n public checkboxFlag: boolean = false;\n\n // UNCONDITIONAL TYPES\n public textFlag: boolean = false;\n public taFlag: boolean = false;\n public dtFlag: boolean = false;\n public timeFlag: boolean = false;\n public dateFlag: boolean = false;\n public fileFlag: boolean = false;\n public emailFlag: boolean = false;\n public numberFlag: boolean = false;\n public alphanumericFlag: boolean = false;\n public bookFlag: boolean = false;\n public listFlag: boolean= false;\n //Back button\n public backButtonFlag: boolean = false;\n public optionValues: OptionValue[] = [];\n public subQuestions: Question[] = [];\n public inpValue: string;\n public answerMap = new Map();\n public dateMap = new Map();\n public selectedhourMap = new Map();\n public selectedminuteMap = new Map();\n public attachmentsMap = new Map();\n public sqOptions = new Map();\n public subAnsMap = new Map();\n public localSubQuestions: LocalQuestion[] = [];\n public questionStack = [];\n public questionName = [];\n public attachments: any[] = [];\n public attachmentIdList: any[] = [];\n public attachmentId: string = \"\";\n public attachment: any;\n public allowedFileExtension: string[];\n public fileExceededLimit: boolean = false;\n public fileTypeIncorrect: boolean = false;\n public back: boolean = false;\n public backicon: boolean = false;\n public check: boolean;\n public pop: boolean;\n public localDate: string;\n public currentName: string;\n public pathquestion: number;\n public percent: number;\n public count: number;\n public taFocusOut: boolean = false;\n public notValidAccNum: boolean = false;\n public splCCBackClick: boolean = false;\n public summary = [];\n public localSubQMap = new Map();\n public keyIndex: number = 0;\n //public sques: string;\n public selDate: any = {};\n public selectDate: string;\n private today: Date = new Date();\n private el: HTMLElement;\n public innerhtml: any;\n public possibilities: any;\n public innerhtml1: any;\n public summaryData =[];\n\n public hours: any[] = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n ];\n\n public minutes: string[] = [\n \"00\",\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"24\",\n \"25\",\n \"26\",\n \"27\",\n \"28\",\n \"29\",\n \"30\",\n \"31\",\n \"32\",\n \"33\",\n \"34\",\n \"35\",\n \"36\",\n \"37\",\n \"38\",\n \"39\",\n \"40\",\n \"41\",\n \"42\",\n \"43\",\n \"44\",\n \"45\",\n \"46\",\n \"47\",\n \"48\",\n \"49\",\n \"50\",\n \"51\",\n \"52\",\n \"53\",\n \"54\",\n \"55\",\n \"56\",\n \"57\",\n \"58\",\n \"59\",\n ];\n\n public selectedHour: string = \"\";\n public selectedMinute: string = \"\";\n public selectedMeridiem: string = \"\";\n public valueName: string = \"\";\n public valueName1: string = \"\";\n public bookFlagAccept: string[];\n public recordId: string;\n public currentQuestionId: string;\n public spinnerType: string;\n public spinnerName: string;\n public nextValue:string ='';\n\n start_date?: any;\n\n //search component\n public tempoAddress: any[] = [];\n public selectedValue: string;\n public selectedPostalcode: string;\n public selectedProvince: string;\n public selectedCity: string;\n public selectedArea: string;\n public localaddress: any[] = [];\n\n public allAddress :any [] = [];\n public PostalCode:string;\n public places: any[] = [];\n public province:any[]=[];\n \n // REQ-01 PROGRESS BAR\n public progressStyle: string = \"0%\";\n public answerCount: number = 0;\n public indexCount: number = 0;\n public addFlag: boolean = true;\n\n public myDatePickerOptions: IMyDpOptions = {};\n individualBookButton: boolean;\n\n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private changeService: ChangeService, \n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private spinner: NgxSpinnerService,\n private _formBuilder: UntypedFormBuilder,\n //private dbService: NgxIndexedDBService,\n private deviceService: DeviceDetectorService,\n el: ElementRef\n ) {\n this.spinnerName = \"sp1\";\n this.spinnerType = \"ball-spin-clockwise\";\n }\n\n onDateChanged(event: IMyDateModel) {\n //console.log('Inside the onDateChanged');\n //to change the border color\n if (this.qbItem.Progress_Bar__c) {\n //console.log('Inside the progressBar cond');\n this.inpValue =\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\n if(this.questionItem.Type__c ==\"Book\"){\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\n }\n } else {\n //console.log('Inside the ELSE of progressBar cond');\n if(this.questionItem.Type__c ==\"Book\"){\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\n }\n this.inpValue =\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\n }\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\n this.dateMap.set(this.questionItem.Id, event);\n if (\n event.date.day === 0 &&\n event.date.month === 0 &&\n event.date.year === 0\n ) {\n this.dateMap.delete(this.questionItem.Id);\n this.answerMap.delete(this.questionItem.Id);\n }\n //console.log('this.inpValue = '+this.inpValue);\n //console.log('this.selectDate = '+this.selectDate);\n }\n\n ngOnInit() {\n this.deviceInfo = this.deviceService.getDeviceInfo();\n this.route.queryParams.subscribe((params: Params) => {\n if (params['id']) {\n this.individualBookButton = true;\n }else if(params['bookletId']){\n this.individualBookButton = false;\n }\n });\n console.log('Inside the ngOnInit');\n // console.log(\"RNXT-Claim\");\n this.inpValue = \"\";\n this.selectedMeridiem = \"AM\";\n this.processQB();\n //console.log(localStorage.getItem('address'));\n if(localStorage.getItem(\"address\")){\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\n //console.log('Length='+this.localaddress.length);\n this.allAddress=this.localaddress.filter((item, index) => {\n if (this.localaddress.indexOf(item) == index){\n return item;\n }\n }); \n this.allAddress.sort(function(a, b){\n return a.zipCode - b.zipCode\n });\n } else if(this.deviceInfo.os === 'iOS'){\n let openRequest = indexedDB.open(\"addressDB\");\n openRequest.onsuccess = (event) => {\n const targetNew = event.target as IDBRequest;\n let dbNew = targetNew.result;\n const requestNew = dbNew.transaction('addressTable')\n .objectStore('addressTable')\n .get(1);\n requestNew.onsuccess = ()=> {\n const tempVar = requestNew.result;\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\n this.allAddress=this.localaddress.filter((item, index) => {\n if (this.localaddress.indexOf(item) == index){\n return item;\n }\n }); \n this.allAddress.sort(function(a, b){\n return a.zipCode - b.zipCode\n });\n }\n };\n }\n }\n\n ngOnChanges() {\n console.log('inside Questionnaire ngOnChanges');\n // this.processQB();\n }\n\n date_TimeMap() {\n this.selectedhourMap.set(this.questionItem.Id, this.selectedHour);\n this.selectedminuteMap.set(this.questionItem.Id, this.selectedMinute);\n }\n\n day() {\n this.myDatePickerOptions = {\n dateFormat: \"dd.mm.yyyy\",\n sunHighlight: false,\n disableDateRanges: [],\n showClearDateBtn: false,\n disableSince: {\n year: 0,\n month: 0,\n day: 0,\n },\n disableUntil: {\n year: 0,\n month: 0,\n day: 0,\n },\n showTodayBtn: false,\n dayLabels: {\n su: \"Dom\",\n mo: \"Lun\",\n tu: \"Mar\",\n we: \"Mié\",\n th: \"Jue\",\n fr: \"Vie\",\n sa: \"Sáb\",\n },\n monthLabels: {\n 1: \"Ene\",\n 2: \"Feb\",\n 3: \"Mar\",\n 4: \"Abr\",\n 5: \"Mayo\",\n 6: \"Jun\",\n 7: \"Jul\",\n 8: \"Ago\",\n 9: \"Sep\",\n 10: \"Oct\",\n 11: \"Nov\",\n 12: \"Dic\",\n },\n };\n }\n\n change() {\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n if (this.selDate === null || this.inpValue.length === 0) {\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\n } else {\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\n }\n }\n\n processQB() {\n //console.log('ProcessQB');\n //this.qbItem\n //console.log(this.qbId);\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\n if (this.qbId) {\n if (this.qbId.length == 18) {\n this.readQuestionBook(this.qbId);\n } else {\n //console.log('Inside the else part');\n //console.log('Setting the Question Directly for testing');\n this.questionItem = DTQUESTION;\n this.qbItem = TESTQB;\n this.processQuestion();\n }\n }\n }\n\n trimLastDummy(input: string) {\n return (input = input.substring(0, input.length - 6));\n }\n\n getProperTime(def: string, input: string) {\n return input === \"\" ? def : input;\n }\n\n //Summary Question Clickable Logic\n handleEditClick(value: string) {\n this.backicon = false;\n if (this.abItem?.Status__c == \"Pending\") {\n if (value == null) {\n return;\n }\n this.readQuestion(value);\n //console.log(' in side summaryopen'+ this.summary.length);\n\n //Assign question stack length from summary part\n var arrayLength = this.questionStack.length;\n var lengthValue = this.questionStack.indexOf(value);\n\n for (let i = arrayLength; i > lengthValue; i--) {\n this.questionStack.pop();\n }\n if (this.qbItem.Progress_Bar__c === true) {\n var arrayLength1 = this.questionName.length;\n for (let j = arrayLength1; j > lengthValue; j--) {\n this.questionName.pop();\n }\n }\n this.summary = [];\n this.summaryData = [];\n }\n }\n\n handleNextClick() {\n this.backButtonFlag = false;\n this.AnswerSave();\n }\n\n AnswerSave(){\n //this.updateProgress();\n if (this.currentQuestionId === null) {\n return;\n }\n var questionTxt='';\n this.clearError();\n this.handleEvent.emit(this.qbItem.Next_Tracking_ID__c);\n this.recordId = null;\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n // Create an array of objects to store the values\n for (var i=0; i<this.questionItem.Questions__r.records.length;i++) {\n if(this.questionItem.Questions__r.records[i].Question_Text__c){\n var questionText = this.questionItem.Questions__r.records[i].Question_Text__c.replace(/<[^>]+>/g, ''); // Remove HTML tags from the Question_Text__c value\n }else{\n questionText = 'undefined';\n }\n const input = this.questionItem.Questions__r.records[i].input;\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\n this.summaryData.push(obj); // Add the object to the data array\n }\n var typ = cQuestion.Type__c;\n // this.sques += cQuestion.Question__c + '@@##$$';\n var quesValue = cQuestion.Question_Text__c;\n var mailformat =\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\n\n // Process Inputs\n if (this.checkboxFlag) {\n this.inpValue = \"\";\n // Save all the selected options in the inpValue\n for (var ov of this.optionValues.filter((item) => item.checked)) {\n this.inpValue += ov.Value__c + \"@@##$$\";\n this.recordId = ov.Next_Question__c;\n }\n this.inpValue = this.trimLastDummy(this.inpValue);\n } else if (this.emailFlag) {\n if (this.inpValue && this.inpValue.match(mailformat)) {\n this.recordId = this.questionItem.Next_Question__c;\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.alphanumericFlag) {\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\n if (isNotValidAccNum) {\n this.notValidAccNum = true;\n this.recordId = this.questionItem.Next_Question__c;\n return;\n }\n this.notValidAccNum = false;\n } else if (this.numberFlag) {\n if (this.inpValue) {\n this.recordId = this.questionItem.Next_Question__c;\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.bookFlag) {\n //console.log(this.questionItem.Type__c)\n //console.log('Inside the bookFlag cond');\n //console.log('this.inpValue = '+this.inpValue);\n //console.log('this.selectDate = '+this.selectDate);\n //console.log('this.selDate = ');\n //console.log(this.selDate);\n this.inpValue = \"\";\n var hasMissingInput = false;\n for (var item of this.questionItem.Questions__r.records) {\n var count = 0;\n \n if(item.Type__c == \"Date\" || item.Type__c == \"Time\") {\n //this one\n this.change();\n if(item.Type__c == \"Date\"){\n //console.log('Inside the date type cond = '+this.selectDate);\n this.inpValue = this.selectDate;\n //console.log(this.inpValue)\n //console.log(this.selectDate)\n \n }\n if(item.Type__c == \"Time\"){\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\n \n if (this.questionItem.X24_Hours__c === false) {\n this.questionItem.input =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute + \" PM\";\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\n }\n if (this.qbItem.Progress_Bar__c) {\n if(this.selectDate){\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\n }else{\n this.inpValue = \" \"+this.questionItem.input;\n }\n } else {\n if(this.selectDate){\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\n }else{\n this.inpValue = \" \"+this.questionItem.input;\n }\n \n }\n }\n if (this.questionItem.X24_Hours__c === true) {\n this.questionItem.input =\n this.selectedHour + \":\" + this.selectedMinute;\n if (this.qbItem.Progress_Bar__c) {\n this.inpValue = this.questionItem.input;\n } else {\n this.inpValue = this.questionItem.input;\n }\n }\n }\n\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectedHour || !this.selectedMinute || !this.selectDate) {\n //console.log('Inside the null condition of input');\n this.questionItem.error = new ErrorWrapper();\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\n return;\n }\n this.date_TimeMap();\n }\n\n if(item.Type__c== \"Text\" && item.Question__c === 'Población'){\n for(var loc of this.localaddress){\n if((this.selectedPostalcode == loc.zipCode)&&(this.selectedValue == loc.country)&&(this.selectedCity==loc.town)){\n item.input= this.selectedCity;\n break;\n }\n else if(count == this.localaddress.length -1){\n //console.log('error form city')\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n return;\n }\n count++; \n }\n //console.log('testin values=='+item.input)\n } \n \n // if(item.Type__c === 'Location' && Array.isArray(item.input) && item.input.every((input) => input !== undefined)){\n // const inputValues = \"answerString: \" + item.input ;\n // item.input = inputValues;\n // }\n if(item.Type__c== \"Text\" && item.Question__c === 'Código postal'){\n for(var loc of this.localaddress){\n if(loc.zipCode == this.selectedPostalcode){\n //console.log('testing zipcode value*****'+ this.selectedPostalcode)\n item.input=this.selectedPostalcode;\n break;\n } else if(count == this.localaddress.length -1){\n //console.log('error form')\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n return;\n }\n count++; \n }\n //console.log('testin values=='+item.input)\n }\n \n \n if(item.Type__c== \"Text\" && item.Question__c === 'Provincia'){\n\t\t\t for(var loc of this.localaddress){\n\t\t\t\t if(loc.province == this.selectedProvince){\n\t\t\t\t\t //console.log('******testing province value'+ this.selectedProvince)\n\t\t\t\t\t item.input=this.selectedProvince;\n\t\t\t\t\t break;\n\t\t\t\t } else if(count == this.localaddress.length -1){\n\t\t\t\t\t//console.log('error form')\n\t\t\t\t\titem.error = new ErrorWrapper();\n\t\t\t\t\thasMissingInput = true;\n\t\t\t\t\treturn;\n\t\t\t\t }\n\t\t\t\t count++; \n\t\t\t }\n\t\t\t//console.log('testin values=='+item.input)\n\t\t }\n\n if (\n !item.Is_Optional__c &&\n // ((item.Type__c != \"File\" && !item.input && item.Type__c != 'Date' && item.Type__c != 'Time') ||\n // (item.Type__c == \"File\" && this.attachments.length == 0))\n (item.Type__c == \"File\" && this.attachments.length == 0)\n ) {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n if (item.Type__c == \"Radio\") {\n if (!item.input) {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.Type__c == \"Dropdown\") {\n if (!item.input) {\n item.input = \"\";\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.Type__c == \"Email\") {\n if (item.input && item.input.match(mailformat)) {\n this.recordId = cQuestion.Next_Question__c;\n } else {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.Type__c == \"File\" && this.attachments.length > 0) {\n for (var attachmentItem of this.attachments) {\n this.inpValue +=\n attachmentItem.attachmentId +\n \"@#$\" +\n attachmentItem.attachmentName +\n \",\";\n if (item.input == this.inpValue) {\n this.recordId = cQuestion.Next_Question__c;\n //console.log('inside' + recordId);\n }\n }\n // this.attachments = [];\n } //item.input == this.inpValue;\n\n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\n questionTxt += item.Question__c + \"@@##$$\";\n //console.log('inside book1' + this.inpValue)\n }\n if (hasMissingInput) {\n return;\n }\n this.inpValue = this.trimLastDummy(this.inpValue);\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\n } \n else if (this.listFlag) {\n this.inpValue = '';\n var hasMissingInput = false;\n if(this.localSubQMap.has(this.questionItem.Id)){\n this.subAnsMap = new Map();\n for (var localQues of this.localSubQMap.get(this.questionItem.Id)) {\n if(!localQues.input) {\n localQues.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n if(!this.subAnsMap.has(localQues.Id)){\n // console.log('inside ans map')\n this.subAnsMap.set(localQues.Id,localQues.input);\n } else {\n // console.log('inside ans map else')\n this.subAnsMap.set(localQues.Id,this.subAnsMap.get(localQues.Id) + '$$@@##'+localQues.input);\n }\n }\n\n if (hasMissingInput) {\n //console.log('file two')\n return;\n }\n this.subAnsMap.forEach((value, key) => {\n // console.log('inside Map' );\n // console.log(value);\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\n });\n this.inpValue = this.trimLastDummy(this.inpValue);\n }\n }\n else if (this.dropdownFlag) {\n if (this.inpValue.length <= 1) {\n this.inpValue = \".\";\n this.questionItem.error = new ErrorWrapper();\n }\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\n //this one\n this.change();\n if (this.inpValue) {\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\n //console.log(this.inpValue.length);\n\n if (this.questionItem.X24_Hours__c === false) {\n this.questionItem.input =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute + \" PM\";\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\n }\n if (this.qbItem.Progress_Bar__c) {\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\n } else {\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\n }\n }\n if (this.questionItem.X24_Hours__c === true) {\n this.questionItem.input =\n this.selectedHour + \":\" + this.selectedMinute;\n if (this.qbItem.Progress_Bar__c) {\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\n } else {\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\n }\n }\n if (this.qbItem.Progress_Bar__c) {\n //console.log(\"ans => \" + this.inpValue);\n var date1: any = this.inpValue.split(\" \");\n date1 = date1[0].split(\"/\");\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\n date1 = new Date(date1);\n //console.log(date1)\n var date2: any = this.insuranceStartDate.split(\" \");\n date2 = new Date(date2[0]);\n //console.log(date2);\n if (date1 < date2) {\n this.questionItem.error = new ErrorWrapper();\n this.questionItem.error.errorMsg =\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\";\n //console.log('inside')\n return;\n }\n }\n if (this.selDate === null || !this.inpValue) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n this.date_TimeMap();\n }\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\n this.date_TimeMap();\n if (this.questionItem.X24_Hours__c === false) {\n this.inpValue =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute;\n } else {\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\n }\n if (this.inpValue.length < 5) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\n this.change();\n if (this.inpValue.length < 7 || this.selDate === null) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.fileFlag) {\n //console.log('four')\n this.inpValue = \"\";\n if (this.attachments.length > 0) {\n for (var attachmentItem of this.attachments) {\n this.inpValue +=\n attachmentItem.attachmentId +\n \"@#$\" +\n attachmentItem.attachmentName +\n \",\";\n }\n //console.log('inside filesss' + this.inpValue);\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n }\n\n // Check for the answer before saving to the DB\n if (!this.questionItem.Is_Optional__c && !this.inpValue) {\n // Show error that the question must be answered\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n // Save the Answer in the DB\n this.answerWrap = new AnswerWrapper();\n this.answerWrap.abId = this.abItem.Id;\n this.answerWrap.quesId = cQuestion.Id;\n this.answerWrap.quesValue = quesValue;\n this.answerWrap.qTyp = typ;\n this.answerWrap.ansValue = this.inpValue;\n this.answerWrap.groupText = cQuestion.Group__c;\n this.answerWrap.ansValue = this.inpValue;\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\n // console.log('Bank condition');\n // console.log(this.answerWrap.ansValue);\n }\n /*if (cQuestion.Type__c == 'Book'){\n for (var qb of cQuestion.Questions__r.records){\n //console.log(qb.Question__c+'****'+\"@@##$$\")\n } \n }*/\n //this.answerWrap.squesValue = cQuestion.Question__c;\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.Question__c;\n this.saveAnswer();\n }\n\n next() {\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n var typ = cQuestion.Type__c;\n // If no error then move to next steps\n if (this.questionItem.error) {\n return;\n }\n\n this.questionStack.push(cQuestion.Id);\n // this.questionName.push(cQuestion.Name);\n\n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\n if (cQuestion.RecordType.Name == \"CONDITIONAL\") {\n for (var cOpt of cQuestion.Question_Options__r.records) {\n // Radio / Data\n //console.log('Option => ' + cOpt.Value__c + ' matching with ' + ansVal);\n if (cOpt.Value__c == this.inpValue) {\n //console.log('Match Found using ' + cOpt.Next_Question__c);\n this.recordId = cOpt.Next_Question__c;\n //console.log('conditional record id'+ this.recordId);\n }\n }\n // Could be of type Data and existing value\n if (this.recordId && typ == \"Data\") {\n this.recordId = cQuestion.Next_Question__c;\n }\n } else if (cQuestion.RecordType.Name == \"OPTIONONLY\") {\n // OPTIONONLY logic\n this.recordId = cQuestion.Next_Question__c;\n } else if (cQuestion.RecordType.Name == \"UNCONDITIONAL\") {\n //Unconditional logic\n //console.log(\"inside unconditional\");\n //inside Book Type\n if (cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c !='6') {\n //console.log(\"inside book\");\n for (let opt of cQuestion.Questions__r.records) {\n //console.log(opt.Type__c);\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\") {\n for (var opt1 of opt.Question_Options__r.records) {\n if (this.valueName == opt1.Value__c) {\n this.recordId =opt1.Next_Question__c || cQuestion.Next_Question__c; \n } else {\n //console.log('Else'+this.recordId)\n this.recordId = cQuestion.Next_Question__c;\n \n }\n }\n } else {\n this.recordId = cQuestion.Next_Question__c;\n }\n }\n }\n else if(cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c =='6' ) {\n for (let opt of cQuestion.Questions__r.records) {\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\"){\n for (var opt1 of opt.Question_Options__r.records) {\n if (this.valueName == opt1.Value__c) {\n this.recordId = opt1.Next_Question__c; \n }\n }\n }\n }\n } \n \n else {\n this.recordId = cQuestion.Next_Question__c;\n }\n }\n\n // CATEGORIZATION\n //this.stepperCateg();\n\n // Calling the progres bar update function\n this.answerCount++;\n this.updateProgress();\n\n\n // CATEGORIZATION\n //this.stepperCateg();\n\n if (this.recordId) {\n //console.log('Before Calling readQuestion() using ' + recordId);\n this.readQuestion(this.recordId);\n this.pop = true;\n } else {\n this.pop = false;\n //console.log('Summary Page Logic');\n // Reset the Variables\n this.inpValue = \"\";\n this.answerWrap = new AnswerWrapper();\n this.optionValues = [];\n this.subQuestions = [];\n\n this.resetFlag(typ);\n this.questionItem = null;\n\n // Show Summary\n for (var q of this.questionStack) {\n //console.log('Handling Question => ' + q);\n var ansWrap = this.answerMap.get(q);\n if (ansWrap) {\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\n var newStr = '';\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\n for (var ansStr1 of ansStr.split('$$@@##')) {\n // if(ansStr1.includes('answerString')){ //remove the answer string \n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\n // ansStr1 = withoutAnswerString;\n // }\n if (ansStr1.length > 0) {\n if (newStr.length == 0) {\n newStr = ansStr1;\n } else {\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,) \n if(this.attachmentsMap.has(ansWrap.quesId)){\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\n newStr = newStr.replace(att.attachmentId,'');\n }\n }\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\n }\n }\n }\n }ansWrap.ansValue = newStr;\n }\n this.summary.push(ansWrap);\n this.backicon = true;\n }\n }\n }\n }\n\n getText(value) {\n var doc = new DOMParser().parseFromString(value, \"text/html\");\n //console.log( doc.documentElement.textContent);\n return this.sanitizer.bypassSecurityTrustHtml(\n doc.documentElement.textContent\n );\n }\n\n handleBackClick() {\n this.back = true;\n if (this.pop === true) {\n this.questionName.pop();\n }\n this.handleEvent.emit(this.qbItem.Back_Tracking_ID__c);\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n if(cQuestion.Question_No__c =='1'){\n this.handleEvent.emit(this.qbItem.Back__c);\n }\n \n\n this.answerCount--;\n this.updateProgress();\n // CATEGORIZATION\n //this.stepperCateg();\n\n if (this.summary) {\n //console.log('summary true');\n this.summary = [];\n }\n if(this.summaryData){\n this.summaryData =[];\n }\n\n // Read the previous question from DB\n this.readQuestion(this.questionStack.pop());\n //console.log(this.questionStack);\n }\n\n handleBackClickNew() {\n this.handleEvent.emit(this.qbItem.Edit__c);\n }\n\n //updating status once Q&A completed.\n\n private updateAnswerBook = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"AnswerBook\", \"Update\", uuid],\n this.successupdateAB,\n this.failureupdateAB\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"AnswerBook\", \"Update\", uuid],\n this.successupdateAB,\n this.failureupdateAB\n );\n }\n }\n\n private successupdateAB = (response) => {\n console.log(response);\n // //console.log('status success')\n this.abItem.Status__c = \"Completed\";\n };\n private failureupdateAB = (response) => {\n //console.log('status failed')\n };\n\n private readQuestionBook = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"QuestionBook\", \"read\", uuid],\n this.successReadBook,\n this.failureReadBook\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"QuestionBook\", \"read\", uuid],\n this.successReadBook,\n this.failureReadBook\n );\n }\n }\n\n private successReadBook = (response) => {\n console.log('Inside the successReadBook');\n console.log(response);\n if(response != null || response != undefined){\n this.qbItem = response.questionbook;\n this.abItem = response.answerbook;\n }\n // console.log('readingQuestion using ' + this.qbItem);\n if (this.abItem?.Status__c == \"Pending\") {\n if (\n this.abItem.Answers__r == null ||\n this.abItem.Answers__r.records.length == 0\n ) {\n this.readQuestion(this.qbItem.First_Question__c);\n } else {\n // Populate the existing answers\n var lastQuestionId = \"\";\n\n for (var ansObject of this.abItem.Answers__r.records) {\n lastQuestionId = ansObject.Question_Ref__c;\n\n this.questionStack.push(ansObject.Question_Ref__c);\n\n this.answerMap.set(ansObject.Question_Ref__c, {\n quesValue: ansObject.Question_Rich_Text__c,\n ansValue: ansObject.Answer_Long__c,\n quesId: ansObject.Question_Ref__c,\n qTyp: ansObject.Question_Type__c,\n groupText:ansObject.Question_Group_Text__c,\n });\n\n //console.log(this.questionStack)\n if (ansObject.Question_Type__c == \"Book\") {\n var av1 = ansObject.Answer_Long__c.split(\"@@##$$\");\n // //console.log(\"book log\");\n\n // //console.log(\"bookid\" + av1[0]);\n this.attachmentsMap.set(ansObject.Question_Ref__c, [\n { attachmentName: av1[1], attachmentId: av1[0] },\n ]);\n // //console.log(this.attachmentsMap);\n } else if (ansObject.Question_Type__c == \"File\") {\n // //console.log(\"inside if\");\n var attList;\n var att;\n for (var attVar of ansObject.Answer_Long__c.split(\",\")) {\n var attIdName = attVar.split(\"@@##$$\");\n att.attachmentName = attIdName[1];\n att.attachmentId = attIdName[0];\n attList.push(att);\n }\n this.attachmentsMap.set(ansObject.Question_Ref__c, attList);\n // //console.log(this.attachmentsMap);\n }\n }\n\n this.questionStack.pop();\n //console.log(this.answerMap);\n // Read the last answered question\n this.readQuestion(lastQuestionId);\n }\n } else if (this.abItem?.Status__c == \"Completed\") {\n this.handleEvent.emit(\"Summaryupdated\");\n // Temporary Fix for duplicate answers on the summary.\n this.summary = [];\n this.percent = 100;\n this.progressStyle = \"100%\";\n\n for (var answer of this.abItem.Answers__r.records) {\n //console.log(answer.Question_Group_Text__c);\n //console.log('repeat');\n //console.log(answer.Question_Rich_Text__c);\n var answers = {};\n if (answer.Question_Type__c == \"File\") {\n var files = \"\";\n var fIndex = 0;\n var fileList = answer.Answer_Long__c.split(\",\");\n for (var fileIdName of fileList) {\n var fileName = fileIdName.split(\"@#$\");\n if (fIndex == 0) {\n files = fileName[1];\n } else {\n files = files + \" ,\" + fileName[1];\n }\n\n fIndex++;\n }\n\n answers = {\n groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: files,\n };\n this.summary.push(answers);\n } else if (answer.Question_Type__c == \"Book\") {\n /* var quesNo=0;\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\n //console.log('line 1223');\n for (var bqAnswerValue of answer.Answer_Long__c.split(\"@@##$$\")) {\n var quesValue=answer.Question_Text__c.split(\"@@##$$\");\n answers = {};\n answers = {\n // groupText:answer.Question_Text__c,\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\n ansValue: bqAnswerValue,\n };\n quesNo++;\n this.summary.push(answers);\n }\n }*/\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\n var answervalues = answer.Answer_Long__c.split(\"@@##$$\");\n //console.log('value')\n answers = { \n //groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: answervalues,\n };\n //console.log(answers)\n this.summary.push(answers);\n }\n else{\n answers = { \n //groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: answer.Answer_Long__c,\n };\n this.summary.push(answers);\n }\n } else {\n // var ans1 = answer.Answer_Long__c.split(\"@@##$$\");\n answers = { \n //groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: answer.Answer_Long__c,\n };\n this.summary.push(answers);\n }\n }\n }\n };\n\n private failureReadBook = (response) => {\n console.log('Inside the failureReadBook');\n console.log(response);\n };\n\n private readAnswerbook = (uuid: string) => {\n if(this.serv = \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"AnswerBook\", \"read\", uuid],\n this.successAnswerBookRead,\n this.failureAnswerBookRead\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"AnswerBook\", \"read\", uuid],\n this.successAnswerBookRead,\n this.failureAnswerBookRead\n );\n }\n }\n\n\n private successAnswerBookRead = (response) => {\n if (this.abItem?.Status__c == \"Completed\") {\n for (var answer of this.abItem.Answers__r.records) {\n var av = answer.Answer_Long__c.split(\"@@##$$\");\n var answers = { quesValue: answer.Question_Rich_Text__c, ansValue: av, groupText:answer.Question_Group_Text__c };\n //console.log(answers)\n this.summary.push(answers);\n }\n this.handleEvent.emit(\"Summaryupdated\");\n }\n };\n\n private failureAnswerBookRead = (response) => {\n //console.log('inside failureread');\n //console.log(response);\n };\n\n private readQuestion = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Question\", \"read\", uuid],\n this.successRead,\n this.failureRead\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Question\", \"read\", uuid],\n this.successRead,\n this.failureRead\n );\n }\n }\n\n private successRead = (response) => {\n // console.log('Inside the successRead new');\n // console.log(response);\n // console.log(this.questionItem);\n // Reset the Variables\n\n if (this.questionItem) {\n this.inpValue = \"\";\n this.answerWrap = new AnswerWrapper();\n this.optionValues = [];\n this.subQuestions = [];\n this.resetFlag(this.questionItem.Type__c);\n }\n this.questionItem = response.question;\n // console.log(this.questionItem);\n\n if(this.questionItem.Type__c === 'Alphanumeric'){\n this.splCCBackClick = true;\n }\n\n this.currentQuestionId = this.questionItem.Id;\n this.handlePage.emit(this.questionItem.Tracking_ID__c);\n // Handle the subQuestion options\n if (response.sqOptions) {\n //var newRecords = [];\n for (var q of this.questionItem.Questions__r.records) {\n //console.log(q.Name);\n var sq = response.sqOptions[q.Id];\n if (sq) {\n //console.log('found options for subquestion ' + q.Name);\n if (!q.Question_Options__r) {\n q.Question_Options__r = sq.Question_Options__r;\n }\n }\n }\n }\n this.processQuestion();\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\n this.questionItem.Additional_Rich__c\n );\n this.trackId();\n };\n\n trackId() {\n var qtrackId = this.questionItem.Tracking_ID__c;\n //console.log('trackId-question'+qtrackId);\n }\n\n private failureRead = (response) => {\n //console.log('inside failureread');\n //console.log(response);\n };\n\n private saveAnswer = () => {\n // Set the Answer Number based on the Question Stack Length\n if (this.inpValue != \".\") {\n this.currentQuestionId = null;\n }\n this.answerWrap.ansNumber = this.questionStack.length + 1;\n\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\n this.successSave,\n this.failureSave\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\n this.successSave,\n this.failureSave\n );\n }\n };\n\n htmlDecode(input) {\n var doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n\n private successSave = (response) => {\n if (response.status == \"success\") {\n //this.abItem = response.answerbook;\n this.answerMap.set(response.answer.quesId, response.answer);\n } else {\n this.questionItem.error = new ErrorWrapper();\n this.questionItem.error.errorMsg = response.error.errorMsg;\n }\n if(!this.backButtonFlag){\n this.next();\n }\n };\n\n private failureSave = (response) => {\n //console.log('inside failureSave');\n //console.log(response);\n };\n\n private processQuestion = () => {\n // console.log('Inside the processQuestion');\n // console.log('splCCBackClick = '+this.splCCBackClick);\n // console.log(this.questionStack);\n //console.log(this.questionItem);\n this.pop = true;\n\n // if(!this.back){\n // this.questionName.push(this.questionItem.Name)\n // }\n\n if (this.qbItem.Progress_Bar__c === true) {\n if (!this.back) {\n this.questionName.push(this.questionItem.Name);\n }\n this.back = false;\n if (this.questionName[0] === this.questionName[1]) {\n this.questionName.pop();\n }\n\n this.currentName = this.questionItem.Name;\n this.pathquestion = this.questionName.indexOf(this.currentName);\n this.possibilities = this.qbItem.Possibilities__c;\n }\n\n this.myDatePickerOptions;\n this.day();\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\n\n // Set the Flags to show right fields\n this.setFlag(this.questionItem.Type__c);\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\n\n // Check the existing answer from answerMap\n if (this.answerMap.has(this.questionItem.Id)) {\n // //console.log(\"existing answer found for this.questionItem.Name\");\n var eAnswer = this.answerMap.get(this.questionItem.Id);\n // Get the existing answer from the Map\n this.inpValue = eAnswer.ansValue;\n //console.log('inpValue has been set to ' + this.inpValue);\n if (this.attachmentsMap.has(this.questionItem.Id)) {\n this.attachments = this.attachmentsMap.get(this.questionItem.Id);\n }\n } else {\n //console.log('inside removing attachment array');\n this.attachments = [];\n }\n // console.log(this.inpValue);\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\n // console.log('Inside the if cond');\n this.splCCBackClick = false;\n this.inpValue = this.inpValue.replace('ES','');\n }\n\n if (this.checkboxFlag) {\n // Set the Options for Checkbox\n this.setOptions(this.questionItem.Question_Options__r.records);\n } else if (this.bookFlag) {\n //console.log('Inise the expected bookFlag cond');\n //console.log('dtFlag = '+this.dtFlag);\n this.setSubQuestions(this.questionItem.Questions__r.records);\n } else if (this.listFlag) {\n // Set the LocalSubQuestions\n // console.log('inside list flag');\n // console.log(this.questionItem.Questions__r.records);\n // console.log(this.abItem.Questions__r.records);\n if(!this.localSubQMap.has(this.questionItem.Id)){\n this.setSubQuestions(this.questionItem.Questions__r.records);\n } \n } else if (this.dtFlag) {\n //console.log('Inise the unexpected dtFlag cond');\n this.selectedHour = \"\";\n this.selectedMinute = \"\";\n this.selDate = \"\";\n // 2021-5-16T00:00\n if (this.dateMap.has(this.questionItem.Id)) {\n this.selDate = this.dateMap.get(this.questionItem.Id);\n }\n if (this.selectedhourMap.has(this.questionItem.Id)) {\n this.selectedHour = this.selectedhourMap.get(this.questionItem.Id);\n }\n if (this.selectedminuteMap.has(this.questionItem.Id)) {\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.Id);\n }\n if (this.questionItem.X24_Hours__c === true) {\n this.hours.push(\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"00\"\n );\n }\n if (this.questionItem.X24_Hours__c === false) {\n this.hours = this.hours.slice(0, 12);\n }\n if (this.dtFlag && this.inpValue) {\n var dtVal = this.inpValue.split(\"T\"); \n var dtval0 = this.inpValue.split(\" \");\n this.inpValue = dtVal[0];\n this.inpValue = dtval0[0];\n\n this.questionItem.input = dtVal[1];\n this.questionItem.input = dtval0[1];\n }\n if (\n this.questionItem.Is_Date_Backward__c ||\n this.questionItem.Is_Date_Forward__c\n ) {\n if (this.questionItem.Is_Date_Backward__c === true) {\n this.myDatePickerOptions.disableSince = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate() + 1,\n };\n }\n if (this.questionItem.Is_Date_Forward__c === true) {\n this.myDatePickerOptions.disableUntil = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate(),\n };\n }\n }\n } else if (this.fileFlag) {\n this.fileUI();\n // logic\n this.allowedFileExtension =\n this.questionItem.Allowed_File_Extensions__c.split(\";\");\n //console.log(this.allowedFileExtension);\n }\n \n if (this.qbItem.Progress_Bar__c === true) {\n this.updateProgress();\n }\n };\n\n setFlag(typ) {\n //console.log('inside setFlag for ' + typ);\n\n if (typ) {\n // Set the Flags\n if (typ == \"Text\") {\n this.textFlag = true;\n\n //this.numberFlag = true;\n } else if (typ == \"Number\") {\n this.numberFlag = true;\n } else if (typ == \"AlphaNumeric\") {\n this.alphanumericFlag = true;\n /*if(this.inpValue.length === 0){\n this.inpValue='ES'\n }*/\n } else if (typ == \"Email\") {\n this.emailFlag = true;\n } else if (typ == \"File\") {\n this.fileFlag = true;\n } else if (typ == \"DateTime\") {\n this.dtFlag = true;\n this.timeFlag = true;\n this.dateFlag = true;\n } else if (typ == \"TextArea\") {\n this.taFlag = true;\n } else if (typ == \"Radio\") {\n this.radioFlag = true;\n } else if (typ == \"Dropdown\") {\n this.dropdownFlag = true;\n } else if (typ == \"Checkbox\") {\n this.checkboxFlag = true;\n } else if (typ == \"Book\") {\n this.bookFlag = true;\n }else if (typ == 'List'){\n this.listFlag = true;\n } else if (typ == \"Time\") {\n //console.log('Inside the Time cond');\n this.dtFlag = true;\n this.timeFlag = true;\n //console.log(this.dtFlag);\n } else if (typ == \"Date\") {\n //console.log('Inside the Date cond');\n this.dtFlag = true;\n this.dateFlag = true;\n //console.log(this.dtFlag);\n }\n }\n }\n\n resetFlag(typ) {\n if (typ) {\n // Set the Flags\n if (typ == \"Text\") {\n this.textFlag = false;\n //this.numberFlag = false;\n } else if (typ == \"Number\") {\n this.numberFlag = false;\n } else if (typ == \"Alphanumeric\") {\n this.alphanumericFlag = false;\n } else if (typ == \"Email\") {\n this.emailFlag = false;\n } else if (typ == \"File\") {\n this.fileFlag = false;\n } else if (typ == \"DateTime\") {\n this.dtFlag = false;\n this.dateFlag = false;\n this.timeFlag = false;\n } else if (typ == \"TextArea\") {\n this.taFlag = false;\n } else if (typ == \"Radio\") {\n this.radioFlag = false;\n } else if (typ == \"Dropdown\") {\n this.dropdownFlag = false;\n } else if (typ == \"Checkbox\") {\n this.checkboxFlag = false;\n } else if (typ == \"Book\") {\n this.bookFlag = false;\n } else if (typ == 'List'){\n this.listFlag = false;\n } else if (typ == \"Time\") {\n this.dtFlag = false;\n this.timeFlag = false;\n } else if (typ == \"Date\") {\n this.dtFlag = false;\n this.dateFlag = false;\n }\n }\n }\n\n setOptions(records) {\n for (var opt of records) {\n var ov = new OptionValue();\n ov.Id = opt.Id;\n ov.Name = opt.Name;\n ov.Value__c = opt.Value__c;\n ov.Next_Question__c = opt.Next_Question__c;\n ov.checked = false;\n\n if (\n this.inpValue &&\n this.inpValue.split(\"@@##$$\").includes(opt.Value__c)\n ) {\n ov.checked = true;\n }\n\n this.optionValues.push(ov);\n }\n }\n\n // Capture and Process Child Event\n childEventCapture(event, ques?:any) {\n console.log('inside childEventCapture ');\n console.log(event);\n this.changeService.announceChange(event);\n //ques.input = event; // here when using the ng-select got event as value\n }\n\n setSubQuestions(records) {\n // console.log('inside setSubQuestions');\n // console.log(records);\n var qaMap = new Map();\n // console.log(this.inpValue);\n if (this.inpValue) {\n var aIndex = 0;\n // search changed as semi colon because of address contains comma \n if ((this.inpValue.search(\"; \") == -1)) {\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\n // this.inpValue = withoutAnswerString;\n this.inpValue = this.inpValue + '@@##$$' ;\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\n aIndex++;\n qaMap.set(aIndex, ansStr);\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\n }\n } else {\n for (var ansStr of this.inpValue.split(\"; \")) {\n aIndex++;\n qaMap.set(aIndex, ansStr);\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\n }\n }\n }\n // console.log('after setting values from inpvalue qa map are');\n // console.log(qaMap);\n\n for (var ques of records) {\n if (ques.Type__c == \"File\") {\n this.valueName1 = ques.Allowed_File_Extensions__c;\n //console.log(this.valueName1);\n }\n\n var ans = '';\n if (qaMap.has(ques.Question_No__c)) {\n ques.input = qaMap.get(ques.Question_No__c);\n // console.log('after fetching map values');\n // console.log(ques.input);\n if(ques.input.indexOf('$$@@##') > 0){\n // console.log('answer supposed to be trimmed');\n // console.log(ques.input);\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\n // console.log(ans);\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\n // console.log(ques.input);\n }\n }\n\n if ((ques.Type__c === \"Date\") && (ques.Is_Date_Backward__c || ques.Is_Date_Forward__c)) {\n //console.log('Inside the date backward/forward cond');\n if (ques.Is_Date_Backward__c === true) {\n //console.log('Inside the Is_Date_Backward__c');\n this.myDatePickerOptions.disableSince = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate() + 1,\n };\n }\n if (ques.Is_Date_Forward__c === true) {\n //console.log('Inside the Is_Date_Forward__c');\n this.myDatePickerOptions.disableUntil = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate(),\n };\n }\n //console.log(this.myDatePickerOptions);\n }\n\n this.subQuestions.push(ques);\n for(var i=0; i<this.subQuestions.length;i++){\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\n if(this.subQuestions[i].Size__c == 4){\n this.subQuestions[i].dropDownOnly = true;\n }else{\n this.subQuestions[i].dropDownOnly = false;\n }\n }\n if(ans != ''){\n for(var an of (ans.split('$$@@##'))){\n var sQ = new Question();\n Object.assign(sQ,ques);\n sQ.input = an;\n this.subQuestions.push(sQ);\n }\n }\n }\n if (this.valueName1 != null && this.valueName1.length > 0) {\n this.bookFlagAccept = this.valueName1.split(\";\");\n //console.log(this.subQuestions);\n }\n this.structLocalSubQuestion(null);\n }\n\n optionChange(selValue) {\n let radioTrackingId: string = \"\";\n for (var opt of this.questionItem.Question_Options__r.records) {\n //console.log('optionChange TrackingId'+opt.Tracking_ID__c);\n if (opt.Value__c == selValue) {\n //console.log('inside if'+opt.Tracking_ID__c)\n radioTrackingId = opt.Tracking_ID__c;\n }\n }\n\n this.handleEvent.emit(radioTrackingId);\n this.clearError();\n // //console.log('inside optionChange using ' + selValue);\n\n this.inpValue = selValue;\n }\n\n clearError() {\n if (this.questionItem.error) {\n this.questionItem.error = null;\n }\n }\n\n clearLocalSubQuesError(quesId) {\n quesId.error = null;\n }\n\n inputValidate(e) {\n var keyCode = e.keyCode || e.which;\n // Only ASCII character in that range allowed\n var ASCIICode = (e.which) ? e.which : e.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\n return false;\n }else{\n return true;\n }\n }\n\n CCOnChange(inpValue: string) {\n\n if (inpValue.length == 2) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 7) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 12) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 17) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 22) {\n this.inpValue += \" \";\n }\n\n }\n\n isNotValidAccNumber(s: string) {\n s = s.replace(/\\s+/g, \"\");\n s = 'ES' + s;\n var isNotValidStr = false;\n if (s.length == 24) {\n for (var i = 0; i < s.length; i++) {\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\n //console.log(\"Valid char: \" + s.charAt(i));\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\n //console.log(\"Valid numeric: \" + s.charAt(i));\n } else {\n isNotValidStr = true;\n //console.log(\"Not a valid char\");\n }\n }\n } else {\n isNotValidStr = true;\n //console.log(\"Not a valid acc number\");\n }\n return isNotValidStr;\n }\n\n clearSQError(quesId) {\n var sqList = this.subQuestions.filter((item) => item.Id == quesId);\n for (var sq of sqList) {\n sq.error = null;\n }\n }\n\n uploadFile(event,ques?:any) {\n //console.log('inside upload');\n this.clearError();\n this.fileTypeIncorrect = false;\n var local = this;\n local.attachment = event.target.files[0];\n // Validate the file extension\n //console.log(local.attachment);\n let fileNameWithType: string =\n local.attachment && local.attachment.name.toLowerCase();\n if (\n !fileNameWithType.endsWith(\".jpg\") &&\n !fileNameWithType.endsWith(\".png\") &&\n !fileNameWithType.endsWith(\".pdf\") &&\n !fileNameWithType.endsWith(\".jpeg\") &&\n !fileNameWithType.endsWith(\".heic\") &&\n !fileNameWithType.endsWith(\".heif\") &&\n !fileNameWithType.endsWith(\".JPG\") &&\n !fileNameWithType.endsWith(\".PNG\") &&\n !fileNameWithType.endsWith(\".PDF\") &&\n !fileNameWithType.endsWith(\".JPEG\") &&\n !fileNameWithType.endsWith(\".HEIC\") &&\n !fileNameWithType.endsWith(\".HEIF\")\n ) {\n local.fileTypeIncorrect = true;\n }\n // Return when the file type is incorrect\n if (local.fileTypeIncorrect) {\n return;\n }\n let fileContent: any;\n var reader = new FileReader();\n\n reader.onload = function () {\n fileContent = reader.result;\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\n // Upload the file to Salesforce when the limit is within range\n if (!local.fileExceededLimit) {\n let fileWrapper = new AttachmentWrapper();\n fileWrapper.parentId = local.abItem.Id;\n fileWrapper.fileName = local.attachment.name;\n fileWrapper.fileContent = fileContent;\n local.createAttachment(fileWrapper);\n ques.input = fileWrapper.fileName;\n }\n };\n this.spinner.show(this.spinnerName);\n reader.readAsDataURL(event.target.files[0]);\n }\n\n private successAttachmentCreate = (response) => {\n let createdAttachment: Attachment = new Attachment(\n response.attachmentId,\n response.attachmentName,\n this.attachment.lastModifiedDate\n );\n this.attachments.push(createdAttachment);\n this.attachmentsMap.set(this.questionItem.Id, this.attachments);\n this.spinner.hide(this.spinnerName);\n };\n\n private successAttachmentDelete = (response) => {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].attachmentId === this.attachmentId) {\n this.attachments.splice(i, 1);\n }\n }\n };\n\n private failureAttachmentCreate = (response) => {\n //console.log('inside failureAttachmentCreate');\n };\n\n private failureAttachmentDelete = (response) => {\n //console.log('inside failureAttachmentDelete');\n };\n\n handleSubmitClick() {\n this.handleEvent.emit(this.qbItem.Submit_Tracking_ID__c);\n this.updateAnswerBook(this.abItem.Id);\n }\n\n handleCancelClick() {\n this.handleEvent.emit(this.qbItem.Cancel_Tracking_ID__c);\n }\n\n private createAttachment = (fileWrapper: any) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\n this.successAttachmentCreate,\n this.failureAttachmentCreate\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\n this.successAttachmentCreate,\n this.failureAttachmentCreate\n );\n }\n }\n\n deleteAttachment(attachmentId: string) {\n this.attachmentId = attachmentId;\n this.handleEvent.emit(\"deleteAttachment\");\n this.deleteSFAttachment(attachmentId);\n }\n\n private deleteSFAttachment = (fileId: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Attachment\", \"delete\", fileId],\n this.successAttachmentDelete,\n this.failureAttachmentDelete\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Attachment\", \"delete\", fileId],\n this.successAttachmentDelete,\n this.failureAttachmentDelete\n );\n }\n }\n\n getFileName(fileNamewithIdandType) {\n //truncate file path\n var fileNameWithType = fileNamewithIdandType.substr(\n fileNamewithIdandType.indexOf(\"::::\") + 4\n );\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\n }\n fileUI() {\n if (this.attachments.length === 0) {\n }\n }\n\n //Update function for categorization\n // stepperCateg() {\n // this.firstFormGroup = this._formBuilder.group({\n // firstCtrl: ['', Validators.required]\n // });\n // this.secondFormGroup = this._formBuilder.group({\n // secondCtrl: ['', Validators.required]\n // });\n\n // }\n\n // Update Function for the Progress Bar\n updateProgress() {\n if (this.qbItem.Progress_Bar__c === true) {\n let j = [];\n for (let i = 0; i < this.possibilities.total; i++) {\n var pathposs = Object.values(this.possibilities.paths[i].questions);\n if (pathposs[this.pathquestion] === this.currentName) {\n j.push(i);\n this.check = true;\n } else {\n this.check = false;\n }\n }\n if (j.length === 1) {\n this.count = j[0];\n }\n if (j.length > 1) {\n var width =\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\n this.progressStyle = Math.round(width) + \"%\";\n } else if (j.length === 1) {\n var width =\n 90 *\n (this.questionStack.length /\n this.possibilities.paths[this.count].count);\n this.progressStyle = Math.round(width) + \"%\";\n }\n this.percent = +Math.round(width);\n }\n }\n\n townName(area) {\n this.selectedValue = area.town;\n //console.log('this value='+this.selectedValue)\n this.tempoAddress = [];\n }\n\n getTownLocal() {\n this.tempoAddress = [];\n if (this.selectedValue.length > 0) {\n for (var val of this.localaddress) {\n if (\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\n ) {\n //console.log(val.country)\n this.tempoAddress.push(val);\n //console.log('tempoAddress'+this.tempoAddress)\n if (this.tempoAddress.length == 6) {\n break;\n }\n }\n }\n }\n document.getElementById(\"selectList\").style.display = \"block\";\n this.setSearchListWidth();\n }\n\n clearList() {\n setTimeout(() => {\n this.tempoAddress = [];\n }, 500);\n }\n\n setSearchListWidth() {\n //to resize search list based on the screen size\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\n }\n\n getCode(){\n this.tempoAddress = [];\n if (this.selectedPostalcode.length > 0) {\n for (var val of this.allAddress) {\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\n //console.log(val.country)\n this.tempoAddress.push(val);\n //console.log('tempoAddress'+this.tempoAddress)\n if (this.tempoAddress.length == 6) {\n break;\n }\n }\n }\n }\n document.getElementById(\"selectList\").style.display = \"block\";\n this.setSearchListWidth();\n }\n getPostalcode(value){\n this.places=[];\n this.province=[];\n var province;\n var town;\n this.selectedPostalcode = value.zipCode;\n this.selectedValue = value.country;\n this.tempoAddress=[];\n\n \n for(var val of this.localaddress){\n if(this.selectedPostalcode == val.zipCode ){\n this.places.push(val);\n this.province.push(val);\n this.selectedValue = val.country;\n province = val.province\n town = val.town;\n }\n }\n if(this.places.length == 1){\n \n this.selectedProvince =province;\n this.selectedCity = town;\n }else if(this.places.length >1 || this.places.length ==0){\n \n this.selectedCity ='';\n this.selectedProvince='';\n }\n }\n closeDropdown() {\n if(this.selectedPostalcode.length == 5){\n this.getPostalcode({zipCode:this.selectedPostalcode});\n }\n\n setTimeout(()=> {\n document.getElementById('selectList').style.display = \"none\";\n }, 500);\n }\n\n\n //Plus button implementation.\n structLocalSubQuestion(ques: LocalQuestion){\n // console.log('inside structLocalSubQuestion');\n for(var i = 0; i < this.subQuestions.length; i++){\n var localSubQuestion = new LocalQuestion();\n localSubQuestion.Id = this.subQuestions[i].Id;\n localSubQuestion.Name = this.subQuestions[i].Name;\n localSubQuestion.Question__c = this.subQuestions[i].Question__c;\n localSubQuestion.Question_Text__c = this.subQuestions[i].Question_Text__c;\n localSubQuestion.Type__c = this.subQuestions[i].Type__c;\n localSubQuestion.Title__c = this.subQuestions[i].Title__c;\n localSubQuestion.SubTitle__c = this.subQuestions[i].SubTitle__c;\n localSubQuestion.Is_Optional__c = this.subQuestions[i].Is_Optional__c;\n localSubQuestion.Error_Message__c = this.subQuestions[i].Error_Message__c;\n localSubQuestion.Next_Question__c = this.subQuestions[i].Next_Question__c;\n localSubQuestion.Group__c = this.subQuestions[i].Group__c;\n localSubQuestion.Question_No__c = this.subQuestions[i].Question_No__c;\n localSubQuestion.Allowed_File_Extensions__c = this.subQuestions[i].Allowed_File_Extensions__c;\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].Id + i; \n localSubQuestion.input = this.subQuestions[i].input;\n this.localSubQuestions.push(localSubQuestion);\n }\n // console.log('final local sub questions');\n // console.log(this.localSubQuestions);\n // console.log(this.questionItem.Id);\n this.localSubQMap.set(this.questionItem.Id,this.localSubQuestions);\n this.localSubQuestions = [];\n // console.log('final key localSubQMap map');\n // console.log(this.localSubQMap);\n }\n\n addInputBox(question: LocalQuestion, index: number){\n var arra = this.localSubQMap.get(this.questionItem.Id);\n var qIndex = arra.indexOf(question);\n var ques: LocalQuestion = new LocalQuestion();\n Object.assign(ques, question);\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\n if(this.keyIndex == index){\n ques.uniqueSubQId = ques.Id + (String(index+1));\n this.keyIndex++;\n }else{\n this.keyIndex++;\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\n }\n ques.input = '';\n arra.splice(qIndex+1, 0, ques);\n\n this.localSubQMap.set(this.questionItem.Id,arra);\n //console.log(this.localSubQMap);\n }\n\n removeAddress(quesUniqueId: string, qName: string) {\n //console.log(quesUniqueId)\n var val = this.localSubQMap.get(this.questionItem.Id);\n var keyindex = 0;\n\n for(let i=0; i<val.length; i++){\n if(val[i].Name == qName){\n keyindex++;\n }\n }\n\n if(this.localSubQMap.has(this.questionItem.Id) && keyindex >1){\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\n this.localSubQMap.set(this.questionItem.Id,reorder);\n keyindex--;\n }\n }\n\n getLocalSubQuestions(id: String){\n return this.localSubQMap.get(id);\n }\n\n //Single Add button functionality for List type\nAdd(question: LocalQuestion){\n this.addFlag = false;\n var arra = this.localSubQMap.get(this.questionItem.Id);\n var index = arra.length;\n var a = arra.slice(-1).pop();\n this.indexCount = a.Question_No__c;\n \n for (var i = 0; i < this.indexCount ; i++) {\n var ques: LocalQuestion = new LocalQuestion();\n Object.assign(ques, question[i]);\n this.keyIndex++;\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\n ques.input = '';\n arra.splice(index+(this.indexCount-1), 0, ques);\n this.localSubQMap.set(this.questionItem.Id,arra);\n } \n this.addFlag = true;\n }\n \n handleLocationSelected(location: any,ques:any) {\n ques.input = location;\n }\n\n selectedInput(input:any ,ques:any){ \n ques.input = input;\n }\n\n handleTextareaValueChange(value :string){\n console.log('Selected text-area text:', value);\n }\n getData(data:any){\n console.log('table data',data);\n }\n\n dependentChange(value:any){\n this.nextValue = value;\n }\n\n displayDate(dateSelected: any,ques:any){\n // Parse the date string using moment and assign it to this.selectedDate\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\n }\n\n getKey(item: any): any {\n return Object.keys(item)[0];\n }\n \n getValue(item: any): any {\n return Object.values(item)[0];\n }\n}","<!-- Spinner -->\n<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\n\n<!-- Back Processing -->\n<div *ngIf=\"backicon == false\" >\n <div class=\"backicon\" [style.visibility]=\"questionStack.length >0 ? 'visible' : 'hidden'\">\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.Status__c == 'Completed' ? 'summary-volver':'app-back1'\">\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.Back__c }}\n </button>\n </div>\n</div>\n\n<!-- Question Hanlding -->\n<div *ngIf=\"questionItem\" [class]=\"qbItem.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\n <!-- Progress Bar & Title -->\n <div *ngIf=\"questionItem.Title__c && qbItem.Progress_Bar__c\">\n <h1 class=\"header1\">{{ questionItem?.Title__c }}</h1>\n <div class=\"header2\">{{ questionItem?.SubTitle__c }}</div>\n </div>\n\n <!-- Progress & Grouping -->\n <div [ngClass]=\"{ questiondiv2: !qbItem?.Progress_Bar__c }\">\n <!-- Pie Chart Progress -->\n <div [ngClass]=\"{ bgColor: qbItem?.Progress_Bar__c }\">\n <div id=\"progress\" *ngIf=\"qbItem?.Progress_Bar__c\">\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\n [startFromZero]=\"false\" [responsive]=\"false\" >\n </circle-progress>\n </div>\n </div>\n\n <!-- Show the Group/Module related to the Progress -->\n <div *ngIf=\"questionItem.Group__c && qbItem.Progress_Bar__c\"\n [ngClass]=\"{ questionalign: !qbItem?.Progress_Bar__c }\">\n <div class=\"largeTitle\">\n <h3 class=\"myt-font6 myt-text3\">\n {{ questionItem?.Group__c }}\n </h3>\n <div *ngIf=\"questionItem.Sub_Text__c != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.Sub_Text__c}}</div>\n <div *ngIf=\"questionItem.Sub_Text__c === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.Sub_Text__c}}</div>\n </div>\n </div>\n </div>\n\n <!-- Question Handling -->\n <div class=\"questiondiv2\">\n <!-- Title -->\n <div *ngIf=\"questionItem.Is_Title__c\">\n <div *ngIf=\"questionItem.Type__c != 'Book' && questionItem.Question_No__c!='6' && questionItem.Question_No__c!='9'\"> \n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\n {{questionItem?.Question_Text__c}}\n </h3>\n </div>\n </div>\n <div *ngIf=\"!questionItem.Is_Title__c\" [class]=\"qbItem.isShengel__c ? 'header-style additional' : 'question-f-size additional'\">\n <div [innerHTML]=\"getText(questionItem?.Question_Text__c)\" >\n {{ questionItem?.Question_Text__c }}\n </div>\n </div>\n\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\n <div *ngIf=\"questionItem.Type__c == 'Book'\">\n <div *ngIf=\"questionItem.Question_No__c=='6'\">\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\n {{ questionItem?.Question_Text__c }}\n </h3>\n </div>\n </div>\n \n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\n <div *ngIf=\"questionItem.Type__c == 'File' \">\n <div *ngIf=\"questionItem.Question_No__c=='9'\">\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\n {{questionItem?.Question_Text__c}}\n </h3>\n </div>\n </div>\n </div>\n\n <!-- Additional Info -->\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\n <div *ngIf=\"questionItem.Additional_Rich__c && qbItem.Progress_Bar__c\" >\n <div\n class=\"additional \" [innerHTML]=\"innerhtml\">\n </div>\n </div>\n <div *ngIf=\"questionItem.Additional_Rich__c && !qbItem.Progress_Bar__c\">\n <div class=\"info-alert ques-alert1\">\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\n </div>\n </div>\n\n <!-- Dropdown-->\n <div *ngIf=\"dropdownFlag\" >\n <div class=\"dis-flex\">\n <select \n [ngClass]=\"{\n 'dt-line myt-align3 myt-align2 dpDown dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.Progress_Bar__c,\n 'custom-select': !qbItem?.Progress_Bar__c\n }\" class=\"mr-sm-2 dd-height dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\" style=\"margin-left: 21.5rem !important;\">\n <option *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"option\" value=\"{{ opt.Value__c }}\">\n {{ opt.Value__c }}\n </option>\n <option value=\".\" disabled hidden>Bitte treffen Sie eine Auswahl</option>\n </select>\n </div>\n </div>\n\n <!-- Radio -->\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\n {{ questionItem?.Error_Message__c }}\n </div>\n <div class=\"dis-flex\">\n <div *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"radio radioOption\" >\n <label class=\"radiocontainer container myt-font4\">{{ opt.Value__c }}\n <input type=\"radio\" [id]=\"opt.Id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" value=\"{{ opt.Value__c }}\"\n (change)=\"optionChange(opt.Value__c)\" />\n <span class=\"checkmark\"></span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Checkbox -->\n <div *ngIf=\"checkboxFlag\" class=\"\">\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\n {{ questionItem?.Error_Message__c }}\n </div>\n <div class=\"dis-flex\">\n <div *ngFor=\"let item of optionValues\" class=\"radio col-md-6 optiondiv\">\n <label class=\" container1 \" >{{ item.Value__c }}\n <input type=\"checkbox\" [id]=\"item.Id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\n <span class='checkmark1'></span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"textFlag\" class=\"col-md-12 myt-book1\">\n <div class=\"col-md-12\" class=\"dis-flex myt-align1\" [class]=\"'col-md-' + questionItem?.Size__c + ' paddingnone'\">\n <input type=\"text\" [(ngModel)]=\"inpValue\" [ngClass]=\"{\n 'boxoutline myt-font1 myt-book1': qbItem?.Progress_Bar__c,\n textBox1: !qbItem?.Progress_Bar__c\n }\" id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n\n <!-- Text Area -->\n <div *ngIf=\"taFlag\" class=\"col-md-12\">\n <div class=\"dis-flex\">\n <textarea class=\"ta-input\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error\n ? 'red'\n : inpValue?.length > 0 && taFocusOut\n ? '#87be1c'\n : ''\n }}\" (focusout)=\"taFocusOut = true\"\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\"></i>\n </div>\n </div>\n\n <!-- CC Number Format -->\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\n <div class=\"dis-flex\">\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\"\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\n this.questionItem.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" />\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\n *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n <!-- END-->\n\n <!-- AlphaNumeric -->\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\n <div style=\"position:relative;\">\n <input type=text placeholder=\"0 of 0\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\n </div>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\n <div class=\"dis-flex\">\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\n this.questionItem.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" />\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\n *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero myt-time1\" >\n <!-- Error Handling -->\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n\n <!-- Date -->\n <div *ngIf=\"dateFlag\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\n <div class=\"dis-flex\">\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\">\n </my-date-picker>\n </div>\n </div>\n </div>\n\n <!-- Time -->\n <div *ngIf=\"timeFlag\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\n <div class=\"dis-flex\">\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\n dateandTime: !qbItem?.Progress_Bar__c}\" \n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\n (focus)=\"(clearSQError) \">\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\n (focus)=\"clearError()\">\n <option value=\"\">HH</option>\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\n {{ hour }}\n </option>\n </select>\n <span class=\"colon\"> : </span>\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\n (focus)=\"clearError()\">\n <option value=\"\">MM</option>\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\n {{ minute }}\n </option>\n </select>\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem?.X24_Hours__c == false\">\n <span class=\"colon\"> : </span>\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n <!-- <div [ngClass]=\"{'': qbItem.Progress_Bar__c, 'dateandTime': !qbItem.Progress_Bar__c}\"></div> -->\n </div>\n </div>\n </div>\n </div>\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\n </div>\n </div>\n\n <!-- Attachment / File -->\n <div *ngIf=\"fileFlag\">\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\n <label class=\"picture-upload\" for=\"file-upload\">\n <span class=\"picture-upload-child\">\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\n </span>\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\n <i class=\"\" aria-hidden=\"true\"></i>\n </span>\n </label>\n </div>\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event)\" />\n </div>\n <ul *ngIf=\"\n attachments?.length > 0 &&\n questionItem?.Type__c === 'File' &&\n !qbItem?.Progress_Bar__c\n \" class=\"attach-ulist col-md-12\">\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\n {{ attachment.attachmentName\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\n </li>\n </ul>\n\n <!-- Attachment Progress -->\n <div *ngIf=\"qbItem.Progress_Bar__c\">\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\n </div>\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\n \n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\"> {{ questionItem?.Question_Text__c}}</span>\n <label class=\"file-label \">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\n class=\"file-upload-btn\">\n </label>\n </div>\n </div>\n </div>\n\n <!-- Book -->\n <div *ngIf=\"bookFlag\">\n <div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\" [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.Id\">\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\n </div>\n <div class=\"col-md-12 paddingZero myt-dateTimeNew\" *ngIf=\"ques.Type__c === 'Time' || ques.Type__c === 'Date'\">\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\n <div class=\"dis-flex dateandtime\">\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\" >\n </my-date-picker>\n </div>\n </div>\n </div>\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\n <div class=\"dis-flex dateandtime\">\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\n dateandTime: !qbItem?.Progress_Bar__c}\" \n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\n (focus)=\"(clearSQError) \">\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\n (focus)=\"clearError()\">\n <option value=\"\">HH</option>\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\n {{ hour }}\n </option>\n </select>\n <span class=\"colon\"> : </span>\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\n (focus)=\"clearError()\">\n <option value=\"\">MM</option>\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\n {{ minute }}\n </option>\n </select>\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem.X24_Hours__c == false\">\n <span class=\"colon\"> : </span>\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\n </div>\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input\n [fromShengel]=\"qbItem.isShengel__c\"\n [value]=\"ques.input\"\n [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\"\n [question]=\"ques\" \n [idValue]=\"ques.Tracking_ID__c\"\n [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\"\n [placeholder]=\"ques.Question__c\"\n (inputValue)=\"selectedInput($event,ques)\">\n </app-custom-input>\n </div>\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <!-- for pick location -->\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\n </div>\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <div *ngIf=\"ques.Type__c === 'File'\">\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\n <span class=\"picture-upload-child\">\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\n </span>\n <span class=\"\n fa fa-plus fa-2x\n picture-upload-child\n pic-upload\n icolor\n \">\n <i class=\"\" aria-hidden=\"true\"></i>\n </span>\n </label>\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\n </div>\n\n <ul *ngIf=\"\n attachments?.length > 0 &&\n ques.Type__c === 'File' &&\n !qbItem.Progress_Bar__c\n \" class=\"attach-ulist col-md-12\">\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\n {{ attachment.attachmentName\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\n </li>\n </ul>\n <div class=\"myt-box\" *ngIf=\"qbItem.Progress_Bar__c\">\n\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\n </div>\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\n <span class=\"f-Name\">{{ ques?.Question__c }}</span>\n <label class=\"file-label \">\n <span style=\"color: #c5281c;text-decoration:underline\">\n Adjuntar\n </span>\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\n class=\"file-upload-btn\">\n </label>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table \n [question]=\"ques\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <!-- for common dropdown -->\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\"\n [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\"\n [id]=\"ques.Name\"\n [selectedValue]=\"ques.input\"\n [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\"\n [error]=\"ques.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\n </div> \n </div>\n </div>\n </div>\n </div>\n\n <!--List start-->\n <div *ngIf=\"listFlag\">\n <div class=\"form-group\">\n <div class=\"form-row\">\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n <div class=\"myt-align3\" [class]=\"'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.Id);let i = index\">\n <div>\n <span class=\"dis-flex myt-font3 myt-font7\">{{ ques?.Question__c }}</span>\n </div>\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\"\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\n </div>\n </div>\n <div class=\"\" *ngIf=\"addFlag\">\n <button (click)=\"Add(getLocalSubQuestions(questionItem.Id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>Add</button>\n </div>\n </div>\n </div>\n </div>\n <!--List End-->\n\n <!-- Actions -->\n <div *ngIf=\"individualBookButton\" class=\"flexer\">\n <!-- Backward / Back -->\n <div class=\"backbutton\" [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\"\n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\">\n <div [ngClass]=\"{}\">\n <button [ngClass]=\"{\n 'left-bt': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\n !qbItem.Progress_Bar__c\n }\" (click)=\"handleBackClick()\">\n {{ qbItem?.Back__c }}\n </button>\n </div>\n </div>\n\n <!-- Forward / Next -->\n <div [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\">\n <div>\n <button [ngClass]=\"{\n 'rusty': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\n !qbItem.Progress_Bar__c\n }\" (click)=\"handleNextClick()\">\n {{ qbItem.Next__c }}\n </button>\n </div>\n </div>\n </div>\n</div>\n\n<!-- Summary -->\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\n 'col-md-12':!qbItem.Progress_Bar__c\n }\">\n <h1 class=\"header1 summarypadd\" >{{ qbItem.SubTitle__c }}</h1> \n <div id=\"progress2\" *ngIf=\"!qbItem.Progress_Bar__c && this.abItem.Status__c != 'Completed' \">\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\n <div *ngFor=\"let qa of summary\">\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\n <div [ngClass]=\"{ summary: !qbItem.Progress_Bar__c }\">\n <div *ngIf=\"!qbItem.Edit__c\"\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\n </div>\n <div *ngIf=\"qbItem.Edit__c\"\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\n <div [ngClass]=\"{ 'question': this.abItem.Status__c === 'Completed' }\"\n [innerHTML]=\"getText(qa.quesValue)\">\n {{ qa.quesValue }}\n </div>\n </div>\n <div class=\"answer\" >\n <div *ngIf=\"qa.qTyp === 'File'\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\n {{ qa.ansValue }}\n </div>\n <div *ngIf=\"qa.qTyp != 'File'\">{{ qa.ansValue }}</div>\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"this.abItem.Status__c === 'Completed'\" class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"ePTW-details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <a data-toggle=\"collapse\" data-parent=\"#ePTW-details\" href=\"#collapseOne\" class=\"collapsed\">\n PTW Details\n </a>\n </h4>\n </div>\n <div id=\"collapseOne\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <ng-container *ngFor=\"let item of summaryData; let i = index\">\n <ng-container *ngIf=\"i % 2 === 0\">\n <div class=\"col-lg-6 m-b-30\">\n <label>{{ getKey(item) }}</label>\n <p class=\"font-size\">{{ getValue(item) || 'N/A' }}</p>\n </div>\n <div class=\"col-lg-6\" *ngIf=\"summaryData[i + 1]\">\n <label>{{ getKey(summaryData[i + 1]) }}</label>\n <p class=\"font-size\">{{ getValue(summaryData[i + 1]) || 'N/A' }}</p>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div id=\"progress2\" *ngIf=\"qbItem.Progress_Bar__c \">\n <div [ngClass]=\"{'bgColor summary-top' : qbItem.Progress_Bar__c }\" >\n <div id=\"progress-summary\" *ngIf=\"qbItem.Progress_Bar__c\">\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\n [startFromZero]=\"false\" [responsive]=\"false\" >\n </circle-progress>\n \n <div *ngIf=\"qbItem.Summary_Text__c && qbItem.Progress_Bar__c\" \n [ngClass]=\"{ summaryTitle: qbItem.Progress_Bar__c }\">\n <h3 class=\"subTitle\" >{{ qbItem.Summary_Text__c }}</h3>\n <div *ngIf=\"abItem.Status__c != 'Completed'\" class=\"subTitle1\" >{{ qbItem.Summary_Sub_Text__c}}</div>\n </div>\n </div>\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\n <h3 class=\"summary-h\">\n {{ qbItem.Summary_Text__c }}\n </h3>\n </div>\n </div>\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\n <div class=\"summary-groupText myt-font2\">\n <!-- <p>Informe de daño</p> -->\n </div>\n <div *ngFor=\"let qa of summary\" >\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\n <div [ngClass]=\"{ summary: this.abItem.Status__c != 'Completed' && !qbItem.Progress_Bar__c }\">\n <div *ngIf=\"!qbItem.Edit__c\"\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\n </div>\n <div *ngIf=\"qbItem.Edit__c\"\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.Status__c === 'Completed' }\"\n [innerHTML]=\"getText(qa.quesValue)\">\n {{ qa.quesValue }}\n </div>\n </div>\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\n </button>\n </div>\n \n <div class=\"answer \" >\n <div *ngIf=\"qa.qTyp === 'File'\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\n {{ qa.ansValue }}\n </div>\n <div *ngIf=\"qa.qTyp != 'File'\">\n {{ qa.ansValue }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Answer Book -->\n <div class=\"flexer1\" *ngIf=\"abItem\">\n <div class=\"\" *ngIf=\"abItem.Status__c == 'Completed'\">\n <div class=\"col-md-12\">\n <button [ngClass]=\"{'btn-text': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\"\n (click)=\"handleCancelClick()\">\n {{ qbItem.Cancel__c }}\n </button>\n </div>\n </div>\n </div>\n\n <!-- Group Actions -->\n <div class=\"align-edit-submit\" *ngIf=\"abItem.Status__c != 'Completed'\">\n <div class=\"col-md-6\">\n <button [ngClass]=\"{ 'btn-text2': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c }\" \n (click)=\"handleSubmitClick()\">\n {{ qbItem.Submit__c }}\n </button>\n </div>\n <div class=\"col-md-6\">\n <button [ngClass]=\"{'grey': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\" \n (click)=\"handleBackClickNew()\">\n {{ qbItem.Edit__c }}\n </button>\n </div>\n </div>\n\n</div>","import { Injectable } from '@angular/core';\nimport { Question } from '../wrapper';\nimport { BookletWrapper } from '../model/bookletWrapper';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n nxtBookletAnswer: BookletWrapper;\n selectedData:any;\n\n constructor() { }\n\n save(qbJson: BookletWrapper) {\n this.nxtBookletAnswer = qbJson;\n }\n\n update(questionWithInput: Question) {\n // Store the Updated Questions (with Answer/Error) in a Map\n\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\n // if(eQuestion == questionWithInput.Id) {\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\n // }\n // }\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].Questions__r;\n for(let i=0;i<questionsR.records.length;i++){\n if(questionsR.records[i].Id == questionWithInput.Id){\n questionsR.records[i] = questionWithInput;\n console.log('assigned success');\n }\n }\n }\n }\n }\n\n get() {\n // return the stored questions\n return this.nxtBookletAnswer;\n\n }\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n ViewChild,\n} from \"@angular/core\";\nimport { DataService } from '../../services/data.service';\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ItemsList } from \"@ng-select/ng-select/lib/items-list\";\nimport { ConsoleService } from \"@ng-select/ng-select/lib/console.service\";\nimport { APIMeta } from \"../../interfaces/apimeta\";\nimport { ChangeWrapper } from \"../../model/changeWrapper\";\n\n@Component({\n selector: 'lib-search-box',\n templateUrl: './search-box.component.html',\n styleUrls: ['./search-box.component.css']\n})\nexport class SearchBoxComponent implements OnInit {\n @Input() placeHolderText: string;\n @ViewChild('auto') auto;\n\n @Input() question;\n @Input() apiMeta: string;\n @Input() id: string;\n @Output() searchValueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n apiObj:any;\n\n public filterName: string;\n public finalResults: any[] = [];\n public searchKeyWord: string = '';\n public newResult: any;\n public showResult = false;\n public noResult = false;\n public showSuggestion = true;\n private el: HTMLElement;\n private serv: string = 'api';\n private tkn: string = '';\n \n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private route: ActivatedRoute,\n private http: HttpClient,\n el: ElementRef\n ) { }\n\n ngOnInit(): void {\n\n }\n\n clearList(){\n setTimeout(()=> {\n this.finalResults = [];\n }, 1000);\n }\n\n getSourceDataLocal(event) { //to get results list from backend API whenever key is up after the entering atleast one key\n if(event.target.value.length > 2){\n this.showSuggestion=true;\n this.finalResults=[];\n this.searchKeyWord = event.target.value;\n this.showResult = false;\n this.getSourceData(event.target.value);\n } else {\n this.showSuggestion=false;\n this.finalResults = [];\n this.noResult = false;\n }\n }\n\n public apiResponse(keyword: string): Observable<any> {\n return this.http.get(keyword);\n }\n\n public getSourceData = (keyword: string) => {\n if(this.apiMeta !== undefined) {\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\n let response = apiResponse[apiObj.variable];\n let results=[];\n for (let i = 0; i < response.length; i++) {\n if(response[i].firstName?.toLowerCase() === keyword?.toLowerCase() || response[i].lastName?.toLowerCase() === keyword?.toLowerCase()) {\n console.log('pushing ' + response[i].firstName);\n results.push(response[i]);\n }\n }\n this.noResult = !(results.length > 1);\n this.finalResults = results;\n })\n }\n }\n\n public clickItem(event) {\n // console.log('inside clickItem of ' + event.target.value);\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\n change.fromQuestionId = this.id;\n change.valueObj = event;\n this.searchValueChange.emit(change);\n }\n /*\n public getSourceData = (keyword: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"QuestionBook\", \"read\", uuid],\n this.successSourceData,\n this.failureSourceData\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"QuestionBook\", \"read\", uuid],\n this.successSourceData,\n this.failureSourceData\n );\n }\n }\n\n public successSourceData = (response) => {\n let results=[];\n results=response.results;\n results.push({uuid: null, name: \"\"});\n this.noResult = !(results.length > 1);\n this.finalResults = results;\n }\n\n public failureSourceData = (response) => {\n console.log(\"Error reading the data from API\");\n }\n */\n}\n","<div id=\"autocomplete-input\">\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\" \n [(ngModel)]=\"filterName\" \n type=\"text\" \n name=\"name\" \n [placeholder]=\"placeHolderText\" \n style=\"margin: 0 !important;\" \n class=\"searchInput she-line-input form-control\" \n (focusin)=\"getSourceDataLocal($event)\" \n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \n class=\"suggestions-container\">\n <!-- <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\n <div class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\n <h4 >{{item.title}}</h4>\n <div class=\"show-for-medium\" style=\" white-space: nowrap;\n overflow: hidden;text-overflow: ellipsis;\" > {{item.description}}\n </div>\n <div *ngIf=\"item.price\" class=\"drop-list\">\n {{item.price.toFixed(2)}}\n </div>\n </div>\n </div>\n </div> -->\n <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>First Name</th>\n <th>Last Name</th>\n <th>Division</th>\n <th>Number Plate</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedService {\n constructor(private __http: HttpClient) { }\n\n processViewFile(fileName: string = '',api:string) {\n if (fileName) {\n this.viewFile(fileName,api).subscribe( (apiResponse: any) => {\n if (apiResponse && apiResponse.sas_url) {\n window.open(apiResponse.sas_url, '_blank');\n }\n }, (apiError) => {\n console.error('ERROR WHILE VIEWING File');\n });\n }\n }\n\n viewFile(fileName: string = '',api:string) {\n const params = { file_name: fileName };\n return this.__http.post(api , params);\n }\n\n docIcon(ext) {\n if (ext === 'pdf') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PDF.png';\n } else if (ext === 'xlsx') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLSX.png';\n } else if (ext === 'docx') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOCX.png';\n } else if (ext === 'avi') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-AVI.png';\n } else if (ext === 'doc') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOC.png';\n } else if (ext === 'gif') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-GIF.png';\n } else if (ext === 'jpg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-JPG.png';\n } else if (ext === 'mov') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MOV.png';\n } else if (ext === 'mp3') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP3.png';\n } else if (ext === 'mp4') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP4.png';\n } else if (ext === 'mpeg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPEG.png';\n } else if (ext === 'mpg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPG.png';\n } else if (ext === 'png') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PNG.png';\n } else if (ext === 'ppt') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PPT.png';\n } else if (ext === 'txt') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-TXT.png';\n } else if (ext === 'xls') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLS.png';\n } else {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_document.svg';\n }\n }\n}\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\nimport { SharedService } from '../../services/shared.service';\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.css']\n})\nexport class FileUploadComponent implements OnInit,OnChanges {\n @Output() selectedFileData = new EventEmitter<any[]>();\n @Output() deletedFileData = new EventEmitter<any>();\n @Input() allFiles;\n @Input() limitFileUploading;\n @Input() isDeleteFileButtonVisible;\n @Input() isShowNoFileIcon;\n @Input() tableFile; // file Upload from table\n\n public selectedFileNameArray: string[] = [];\n public copyOfInputAllFiles;\n public copyOfFileUploadingLimit;\n constructor(private SharedService: SharedService\n ) { }\n\n ngOnInit() { }\n\n onFileUpload(event: any) {\n const fileUploaderElement: HTMLElement = document.getElementById(\n 'fileUpload'\n ) as HTMLElement;\n fileUploaderElement.click();\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n console.log('simple changes', simpleChanges);\n this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;\n if (simpleChanges.limitFileUploading) {\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\n }\n\n }\n\n uploadMultipleFiles(event: any) {\n console.log('File uploader initiated');\n const inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\n const selectedFileData = [];\n const uploadedFiles = event.target.files;\n if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\n for (const eachUploadedFile of uploadedFiles) {\n const reader = new FileReader();\n const file: File = eachUploadedFile;\n const format = file.name.split('.')[1];\n reader.readAsDataURL(file);\n reader.onload = () => {\n selectedFileData.push({\n doc: reader.result,\n name: file.name,\n type: file.type,\n format,\n id: null,\n });\n inputFiles.push({\n doc: reader.result,\n name: file.name,\n type: file.type,\n format,\n id: null,\n });\n };\n }\n } else {\n console.warn('You can upload max 5 files');\n //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\n }\n event.target.value = '';\n this.copyOfInputAllFiles = inputFiles;\n console.log('uploadedFiles',inputFiles);\n this.selectedFileData.emit(inputFiles);\n }\n\n\n deleteFile(currentFileIndex) {\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\n console.log('emit', deletedFile[0]);\n this.deletedFileData.emit(deletedFile[0]);\n }\n\n // viewFile(currentFile) {\n // // Display file here\n // if (currentFile && currentFile.doc) {\n // this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {\n // if (apiResponse && apiResponse.sas_url) {\n // window.open(apiResponse.sas_url, '_blank');\n // }\n // }, (apiError) => {\n // this.toastr.warning('Error while viewing file', 'Warning');\n // });\n // }\n // }\n\n getDocIcon(docName) {\n const ext = docName.split('.').pop(-1);\n return this.SharedService.docIcon(ext);\n }\n\n}\n","<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <label class=\"she-label\">Attachment</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >Choose\n files</button>\n\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n Upload File\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChangeService } from '../../services/change.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-dependent-table',\n templateUrl: './dependent-table.component.html',\n styleUrls: ['./dependent-table.component.css']\n})\nexport class DependentTableComponent implements OnInit {\n\n @Input() alertMessage:any;\n\n ValueLength:boolean;\n Value:any;\n errorObj:any;\n\n constructor(private changeService: ChangeService) { \n this.changeService.changeField$.subscribe((data)=>{\n this.dependentData(data);\n })\n }\n\n ngOnInit(): void {\n this.errorObj = JSON.parse(this.alertMessage);\n }\n\n dependentData(data:any){\n let existingData = data.Permits;\n if(existingData.length !== 0) {\n this.ValueLength = true;\n this.Value = existingData;\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(252, 35, 27)\");\n } else {\n this.ValueLength = false;\n this.Value = [];\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(12, 190, 12)\");\n }\n }\n\n}\n","<div class=\"dropdown\" style=\"cursor: pointer;\">\n <span id=\"zoneIcon\"> \n <img src=\"./../../../../../assets/images/permit_icons/zone.png\" style=\"height: 35px; margin-left: 0px;\" alt=\"adv-search\">\n </span>\n <div class=\"dropdown-content\" style=\"margin-left: -300px; min-width: 415px;\">\n <div class=\"col-lg-12\">\n <table class=\"table table-striped table-bordered\">\n <tbody *ngIf=\"!ValueLength\">\n <tr>\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(12, 190, 12); text-align: center\">\n <span><b>{{ errorObj.noPermits }}</b></span>\n <span>{{ errorObj.noActive }}</span>\n </td>\n </tr>\n </tbody>\n <tbody id=\"zoneDetails\" *ngIf=\"ValueLength\">\n <tr>\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(252, 35, 27); text-align: center\">\n <span><b>{{ errorObj.permits }} ({{Value.length}})</b></span>\n <span>{{ errorObj.active }}</span>\n </td>\n </tr>\n <tr *ngFor=\"let item of Value\" >\n <td>\n <span>{{item?.permit_type}}-{{item?.ref_no}} - {{item?.status}} - {{item?.end_date}}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>","import { Component, Input, OnInit } from '@angular/core';\nimport { ChangeService } from '../../services/change.service';\n\n@Component({\n selector: 'app-custom-label',\n templateUrl: './custom-label.component.html',\n styleUrls: ['./custom-label.component.css']\n})\nexport class CustomLabelComponent implements OnInit {\n\n @Input() labelValue:string;\n\n constructor() { \n }\n\n ngOnInit(): void {\n }\n\n}\n","\n<div class=\"label\">{{ labelValue }}</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TableWrapper } from '../../model/tableWrapper';\nimport { Question } from '../../wrapper';\n\n@Component({\n selector: 'app-table-appendix',\n templateUrl: './table-appendix.component.html',\n styleUrls: ['./table-appendix.component.css']\n})\nexport class TableAppendixComponent implements OnInit {\n @Input() question: Question\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n tableInfo: TableWrapper;\n tableHeader: any;\n tableData: any;\n addRowColSpan: number;\n tableAppendix:any;\n dropDownApi :any;\n dropDownData:any;\n\n constructor() { }\n\n ngOnInit(): void {\n if(this.question.Sub_Text__c != undefined) {\n this.tableInfo = JSON.parse(this.question.Sub_Text__c);\n\n this.tableHeader = this.tableInfo.header;\n this.tableData = this.tableInfo.data;\n this.tableAppendix = this.tableInfo.tableAppendix;\n this.dropDownApi = JSON.stringify(this.tableInfo['dropdownApi']);\n this.dropDownData = this.tableInfo['dropdownData'];\n const combinedData = {\n tableData: this.tableData,\n tableAppendix: null\n };\n if (this.tableAppendix) {\n combinedData.tableAppendix = this.tableAppendix;\n }\n this.valueChange.emit(combinedData);\n\n if(this.tableData?.addRow) {\n this.addRowColSpan = this.tableHeader.length - 2;\n }\n }\n }\n\n addRow(): void {\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\n const updatedTableData = [...this.tableData, newItem];\n this.tableData = updatedTableData;\n this.emitTableDataValue(updatedTableData,this.tableAppendix);\n }\n\n updateLabel(rowIndex: number, label: string, value: string): void {\n this.tableData[rowIndex][label] = value;\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n \n updateNumber(item: any, label: string, value: string){\n item.value[label] = value;\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateToggle(item: any, header: string, value: any){\n let label = header['fieldName'];\n let toggleValue = header['toggleValue'];\n if(label == 'test1'){\n item.value[label][1] = value ? toggleValue[0] : toggleValue[1];\n }else{\n item.value[label] = value ? toggleValue[0] : toggleValue[1];\n }\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n updateDropDown(item: any, label: string, value: any){\n item.value[label] = value.valueObj['Value__c'];\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateCheckText(item: any, label: string, value: any){\n item.value[label][0] = value;\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateTableAppendix(item: any, label: string, value: any){\n let toggleValue = item.value[0].toggleValue;\n if(item.key == 'dropDownData'){\n item.value[0].value[label] = value.valueObj['empIdName'];\n }else if(item.key == 'toggleData'){\n item.value[0].value[label] = value ? toggleValue[0] : toggleValue[1];\n }else{\n item.value[0].value[label] = value;\n }\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n emitTableDataValue(updatedTableData: any[],tableAppendix:any): void {\n const combinedData = {\n tableData: updatedTableData,\n tableAppendix: null\n };\n if(tableAppendix){\n combinedData.tableAppendix = this.tableAppendix;\n }\n this.valueChange.emit(combinedData);\n }\n\n //This function finds the index of the current test in the list of test keys and returns the key of the previous test. \n // If the current test is the first one, it returns null, as there is no previous test\n getPreviousTestKey(item: any, currentTest: string): string {\n const testKeys = Object.keys(item.value);\n const currentIndex = testKeys.indexOf(currentTest);\n \n if (currentIndex > 0) {\n return testKeys[currentIndex - 1];\n }\n\n return null;\n }\n\n}\n","<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"Enter Value\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <span style=\"text-align:left;\">Calibrated</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">Add More +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <b>Add More</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" [placeholder]=\"'---Select---'\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\n </table>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-date',\n templateUrl: './custom-date.component.html',\n styleUrls: ['./custom-date.component.css']\n})\nexport class CustomDateComponent implements OnInit {\n @Input() date: string;\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\n dateSelected: any;\n\n constructor() { }\n\n ngOnInit(): void {\n this.dateSelected = new Date(this.date);\n }\n\n\n onDateChange(event: any) {\n this.dateChange.emit(event)\n }\n}\n","<!-- date component -->\n<p>\n <input\n class=\"input-shengel\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n placeholder=\"DD/MM/YYYY\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-time',\n templateUrl: './custom-time.component.html',\n styleUrls: ['./custom-time.component.css']\n})\nexport class CustomTimeComponent implements OnInit {\n @Input() time: string;\n @Output() timeChange: EventEmitter<any> = new EventEmitter<any>();\n timeSelected: any;\n\n constructor() { }\n\n ngOnInit(): void {\n this.timeSelected = new Date(this.time);\n }\n\n onTimeChange(event: any) {\n this.timeChange.emit(event)\n }\n}\n","<!-- time component -->\n <p>\n <input\n class=\"input-shengel\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\n </p>","import { Component, OnInit, Input, Output, EventEmitter, } from '@angular/core';\nimport { Question, QuestionBook } from '../../wrapper';\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { DataService } from '../../services/data.service';\nimport { ChangeService } from '../../services/change.service';\nimport { StorageService } from '../../services/storage.service';\nimport * as moment from 'moment';\nimport { ErrorWrapper } from '../../model/errorWrapper';\n\n@Component({\n selector: 'lib-questionbook',\n templateUrl: './questionbook.component.html',\n styleUrls: ['./questionbook.component.css']\n})\nexport class QuestionbookComponent implements OnInit {\n @Input() qbItem: QuestionBook;\n @Input() questionItem: Question;\n @Input() questions: Question[];\n @Input() errorFieldId:any;\n @Input() labelValue:string; \n @Output() handleDropDown:EventEmitter<any> = new EventEmitter<any>();\n @Input() dropDownData:any;\n subQuestions: Question[];\n selectedFileData: any[] = [];\n\n constructor(private sfService: SalesforceService,\n private dataService: DataService,\n private changeService: ChangeService, \n private storageService: StorageService) { \n }\n\n ngOnInit(): void {\n console.log('inside QuestionBookComponent OnInit');\n // console.log(this.qbItem);\n // console.log(this.questions);\n this.questions.forEach(element => {\n var htmlElement = element.Question_Text__c ;\n var textOnly = htmlElement?.replace(/<[^>]*>/g, '')\n element.Question_Text__c = textOnly;\n });\n this.subQuestions = [];\n this.setSubQuestions(this.questions);\n }\n\n clearSQError(quesId) {\n // console.log('inside QuestionBookComponent clearSQError');\n var sqList = this.subQuestions?.filter((item) => item.Id == quesId);\n for (var sq of sqList) {\n sq.error = null;\n }\n }\n\n setSubQuestions(records) {\n console.log('inside QuestionbookComponent setSubQuestions');\n this.subQuestions.push(records);\n }\n\n // Capture and Process Child Event\n childEventCapture(event, ques?:any) {\n let dropdownData = {};\n // console.log('inside QuestionbookComponent childEventCapture');\n console.log(event);\n this.changeService.announceChange(event);\n // Process the changes in Table and Dropdown and store right value in ques.input\n if(ques.Type__c == 'Dropdown') {\n ques.input = event.valueObj ? event.valueObj.id : null;\n ques.selectedValue = event.valueObj ? event.valueObj.name : null;\n // emit the dropdown data to parent\n dropdownData['event'] = event.valueObj;\n dropdownData['ques'] = ques;\n if(dropdownData['event']){\n this.handleDropDown.emit(dropdownData);\n }\n }else if(ques.Type__c == 'File'){ \n ques.input = this.selectedFileData = event;\n }else{\n ques.input = event;\n }\n // validating error message\n if(ques.Error_Message__c && !ques.input){\n ques.error = new ErrorWrapper\n }else{\n ques.error = null; \n }\n // Once the right value is stored in ques.input store the ques (with input) in storageService\n this.storageService.update(ques);\n }\n deleteFile(fileData:any){\n console.log('fileDATA',fileData)\n }\n}\n","<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\n <!-- Sub Question Label -->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question_Text__c }}</span>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <app-custom-date [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <app-custom-time [time]=\"ques.input\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.Type__c === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.Type__c === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.Error_Message__c\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.Type__c === 'Label'\" class=\"\">\n <app-custom-label [labelValue]=\"labelValue\">\n </app-custom-label>\n </div>\n </div>\n </div>\n</div>","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef\n} from \"@angular/core\";\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { DataService } from '../../services/data.service';\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { ActionMeta } from '../../interfaces/actionMeta';\nimport { Question } from \"../../wrapper\";\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\nimport { StorageService } from '../../services/storage.service';\nimport { ChangeService } from \"../../services/change.service\";\n\n@Component({\n selector: 'lib-booklet',\n templateUrl: './booklet.component.html',\n styleUrls: ['./booklet.component.css']\n})\nexport class BookletComponent implements OnInit {\n @Input() bookletId: string;\n @Input() serv: string;\n @Input() tkn: string;\n @Input() bookletJSON: any;\n @Input() dropdownDependentData:any;\n @Input() labelValue:string;\n \n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\n\n public nxtBooklet: BookletWrapper;\n\n public booklet: any[] = [];\n public abItem: any = {};\n public actions: ActionMeta[] = [];\n public bookQuestionsMap: any = new Map();\n private sqOptions: any = new Map();\n public isAnswerFlag: boolean = false;\n public spinnerName: string;\n public spinnerType: string;\n\n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private storageService: StorageService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private changeService: ChangeService, \n el: ElementRef\n ) { \n this.spinnerName = \"sp1\";\n this.spinnerType = \"ball-spin-clockwise\";\n console.log('dropdownDependentData',this.dropdownDependentData);\n }\n\n ngOnInit(): void {\n this.processBooklet();\n }\n\n ngOnChanges() {\n console.log(this.booklet);\n //if(this.booklet == undefined || this.booklet.length == 0) {\n this.processBooklet();\n // }\n }\n\n processBooklet() {\n if (this.bookletId) {\n if (this.bookletId.length == 18) {\n this.readBooklet(this.bookletId);\n }\n } else if(this.bookletJSON) {\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\n this.isAnswerFlag = true;\n\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\n // Storing the API response for future use\n this.storageService.save(this.bookletJSON);\n }\n \n this.booklet = this.bookletJSON.records;\n this.abItem = this.bookletJSON.answerbook;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in this.bookletJSON.sqOptions) {\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\n }\n\n // Process the Questions\n for (var value in this.bookletJSON.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\n }\n\n if(this.bookletJSON.questionbook?.Actions__c != undefined) {\n this.actions = JSON.parse(this.bookletJSON.questionbook.Actions__c);\n }\n }\n }\n\n private readBooklet = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Booklet\", \"read\", uuid],\n this.successReadBooklet,\n this.failureReadBooklet\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Booklet\", \"read\", uuid],\n this.successReadBooklet,\n this.failureReadBooklet\n );\n }\n }\n\n private successReadBooklet = (response) => {\n console.log('Inside the successReadBooklet');\n // console.log(response);\n if(response != null || response != undefined) {\n // Storing the API response for future use\n this.storageService.save(response);\n\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\n // this.isAnswerFlag = true;\n \n this.booklet = response.records;\n this.abItem = response.answerbook;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in response.sqOptions) {\n this.sqOptions.set(sq, response.sqOptions[sq]);\n }\n\n // Process the Questions\n for (var value in response.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\n }\n\n if(response.questionbook?.Actions__c != undefined) {\n this.actions = JSON.parse(response.questionbook.Actions__c);\n }\n }\n }\n\n private failureReadBooklet = (response) => {\n\n }\n\n handleBookletActionClick(action:ActionMeta) {\n console.log(action);\n let dataToParent = {};\n dataToParent['action'] = action.eventtoemit;\n dataToParent['data'] = this.storageService.get();\n this.handleBookletActionEvent.emit(dataToParent);\n\n // when clicking the submit button validating the required fields\n for(let key in dataToParent['data'].bookQuestionsMap){\n const currentBook = dataToParent['data'].bookQuestionsMap[key];\n currentBook.Questions__r.records.forEach(element => {\n if(element.Error_Message__c && dataToParent['action'] == 'submit' && !element.input){\n this.changeService.submitChange(element.Id);\n }\n });\n }\n\n }\n\n readQuestions(qbId: string) {\n // console.log('inside BookletComponent.readQuestions ' + qbId);\n // console.log(this.bookQuestionsMap.size);\n let questions = [];\n for(var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {\n let q: Question = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];\n if(q.Type__c == 'Dropdown') {\n questions.push(this.sqOptions.get(q.Id));\n } else {\n questions.push(q);\n }\n }\n // console.log(questions);\n return questions;\n }\n\n getText(value) {\n var doc = new DOMParser().parseFromString(value, \"text/html\");\n //console.log( doc.documentElement.textContent);\n return this.sanitizer.bypassSecurityTrustHtml(\n doc.documentElement.textContent\n );\n }\n getDropDown(event:any){\n this.hadleDropDownDependent.emit(event);\n }\n}\n","<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\n<!-- Booklet Handling-->\n<div *ngFor=\"let qb of booklet\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire> -->\n <div *ngFor=\"let ques of qb.Questions__r.records\" [class]=\"qb.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\n <div class=\"questiondiv2\">\n <div *ngIf=\"!ques.Is_Title__c\" [class]=\"qb.isShengel__c ? 'header-style' : 'question-f-size additional'\">\n <div [innerHTML]=\"getText(ques?.Question_Text__c)\" >\n {{ ques?.Question_Text__c }}\n </div>\n </div>\n <lib-questionbook [qbItem]=\"qb\" [labelValue]=\"labelValue\" [questionItem]=\"ques\" [questions]=\"readQuestions(qb.Id)\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n</div>\n\n<!-- Group Actions -->\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\n <div *ngFor=\"let action of actions; let i = index\">\n <button (click)=\"handleBookletActionClick(action)\" [ngClass]=\"{'first-button': i === 0, 'second-button': i === 1}\">\n {{ action.name }}\n </button>\n </div>\n</div>\n","import { Component, OnInit , Input} from '@angular/core';\nimport { SharedService } from '../../services/shared.service';\n\n@Component({\n selector: 'app-file-view',\n templateUrl: './file-view.component.html',\n styleUrls: ['./file-view.component.css']\n})\nexport class FileViewComponent implements OnInit {\n @Input() documentData;\n @Input() api;\n\n constructor(private SharedService: SharedService) { }\n\n ngOnInit(): void {\n }\n\n viewDoc(link) {\n /*\n Author: Vinay Jadhav\n @description: This function will view the file from azure blob.\n The link passed as a parameter will extract file name and pass it to the service\n @param link: It will accept a doc link\n @return: It will not return anything but it will either show or download the file.\n */\n if (link && link !== null) {\n this.SharedService.processViewFile(link.split('/').pop(),this.api);\n }\n // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');\n }\n\n getDocIcon(docName) {\n const ext = docName.split('.').pop(-1);\n return this.SharedService.docIcon(ext);\n }\n\n \n\n}\n","<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <label class=\"she-label attachment\">Attachment</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ","import { Component, Input, OnInit } from '@angular/core';\nimport { ActionMeta } from '../../interfaces/actionMeta';\nimport { Question } from '../../wrapper';\n\n@Component({\n selector: 'lib-summary-page',\n templateUrl: './summary-page.component.html',\n styleUrls: ['./summary-page.component.css']\n})\nexport class SummaryPageComponent implements OnInit {\n @Input() answerJson:any;\n @Input() api:string;\n\n public booklet: any[] = [];\n public bookQuestionsMap: any = new Map();\n public actions: ActionMeta[] = [];\n private sqOptions: any = new Map();\n public questions:any[] = [];\n filteredQuestion: any[];\n\n constructor() { }\n\n ngOnInit(): void {\n if(this.answerJson) {\n console.log('answer json',this.answerJson);\n this.booklet = this.answerJson.records;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in this.answerJson.sqOptions) {\n this.sqOptions.set(sq, this.answerJson.sqOptions[sq]);\n }\n // Process the Questions\n for (var value in this.answerJson.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, this.answerJson.bookQuestionsMap[value]);\n }\n }\n this.processSummary(this.booklet);\n }\n\n processSummary(data:any){\n let questions = [];\n for( var i = 0; i < data.length ;i++){\n let qbId = data[i].Id;\n for(var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {\n let q: Question = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];\n if(q.Type__c == 'Dropdown') {\n questions.push(this.sqOptions.get(q.Id));\n } else {\n if(!q.input?.includes('|')){ // to avoid the unwanted fields for summary page\n questions.push(q);\n }\n }\n }\n }\n this.questions = questions;\n console.log('question', this.questions);\n // map the questions using the the bookId\n var qbIds = new Set(this.questions.map((item:any) => item.Question_Book__c))\n this.filteredQuestion = [];\n qbIds.forEach((id) => {\n this.filteredQuestion.push({\n Id: id, \n questions: this.questions.filter((i:any) => i.Question_Book__c === id)\n });\n })\n console.log('filteredQuestion',this.filteredQuestion);\n }\n\n}\n","<div class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\n PTW Details \n </a>\n </h4>\n </div>\n <div [id]=\"'collapse'\" class=\"collapse\">\n <div class=\"panel-body\">\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\n <label *ngIf=\"ques.Type__c != 'File'\" >{{ques.Question__c}}</label>\n <p *ngIf = \"ques.Type__c != 'Dropdown' && ques.Type__c != 'Table' && ques.Type__c != 'File'\">{{ ques.input }}</p>\n <p *ngIf=\"ques.Type__c == 'Dropdown'\">{{ ques.selectedValue }}</p>\n <p *ngIf=\"!ques.input\">N/A</p>\n <div *ngIf= \"ques.Type__c == 'Table'\">\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\n </div>\n </div>\n <div *ngIf = \"ques.Type__c == 'File'\">\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\n </div>\n </div>\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\n <hr>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NxtAppComponent } from './nxt-app.component';\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport { MyDatePickerModule } from 'mydatepicker';\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\n//import { AgmCoreModule } from '@agm/core';\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\nimport { OwlDateTimeModule,OwlNativeDateTimeModule } from 'ng-pick-datetime';\n\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BookletComponent } from './pages/booklet/booklet.component';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\nimport { SummaryPageComponent } from './pages/summary-page/summary-page.component';\nimport { FileViewComponent } from './components/file-view/file-view.component';\nimport { DependentTableComponent } from './components/dependent-table/dependent-table.component';\nimport { CustomLabelComponent } from './components/custom-label/custom-label.component';\nimport { TableAppendixComponent } from './components/table-appendix/table-appendix.component';\nimport { CustomDateComponent } from './components/custom-date/custom-date.component';\nimport { CustomTimeComponent } from './components/custom-time/custom-time.component';\n\n// export const MY_CUSTOM_FORMATS = {\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\n// useUtc: true,\n// };\n\n@NgModule({\n declarations: [NxtAppComponent, \n QuestionnaireComponent,\n PickLocationComponent,\n CustomInputComponent,\n CustomTextAreaComponent,\n CustomTableComponent,\n CustomDatePickerComponent,\n DropdownWithFlagComponent,\n CustomDropdownComponent,\n BookletComponent,\n SearchBoxComponent,\n QuestionbookComponent,\n FileUploadComponent,\n SummaryPageComponent,\n FileViewComponent,\n DependentTableComponent,\n CustomLabelComponent,\n TableAppendixComponent,\n CustomDateComponent,\n CustomTimeComponent\n ],\n imports: [\n CommonModule, FormsModule,\n MyDatePickerModule,\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n HttpClientModule,\n NgSelectModule,\n GoogleMapsModule,\n //AgmCoreModule.forRoot({\n // apiKey: GOOGLE_MAP_API_KEY,\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\n // }),\n ReactiveFormsModule, NgxSpinnerModule,\n /*NgCircleProgressModule.forRoot({\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"space\": -6,\n \"innerStrokeColor\": \"#919191\",\n \"outerStrokeColor\": \"#db9594\",\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\n \"innerStrokeWidth\": 2,\n \"backgroundGradient\": true,\n \"backgroundColor\": \"#dd2e13\",\n \"backgroundGradientStopColor\": \"#dd2e13\",\n \"backgroundStroke\": \"#d3cfcf\",\n \"title\": [\n \n \"%\"\n ],\n // titleFontSize: 12,\n // \"subtitleFontSize\": 20,\n \"animateTitle\": false,\n \"animationDuration\": 1000,\n \"showUnits\": false,\n \"clockwise\":true\n\n //\"backgroundStrokeWidth\": \"0\",\n\"backgroundGradient\": true,\n //\"backgroundColor\": \"#dd2e13\",\n \"backgroundGradientStopColor\": \"#dd2e13\",\n \"backgroundStroke\": \"#000000\",\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"unitsFontWeight\": \"600\",\n \"unitsColor\": \"#f2f2f2\",\n \"outerStrokeGradient\": true,\n \"outerStrokeColor\": \"#e0b1b0\",\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\n \"outerStrokeLinecap\": \"inherit\",\n \"innerStrokeColor\": \"#f6dfdf\",\n \"title\": [\n \n \"%\"\n],\n \"titleColor\": \"#e7d9d9\",\n \"titleFontSize\": \"31\",\n \"titleFontWeight\": \"100\",\n \"subtitleColor\": \"#f7f7f7\",\n \"subtitleFontSize\": \"36\",\n \"subtitleFontWeight\": \"900\",\n \"animateTitle\": false,\n \"animationDuration\": 1000,\n \"showTitle\": true,\n \"showUnits\": true,\n \"clockwise\": false,\n \"startFromZero\": true,\n \"showZeroOuterStroke\": false,\n \"lazy\": true})*/\n\n NgCircleProgressModule.forRoot({\n \"backgroundGradient\": true,\n \"backgroundColor\": \"#e29d98\",\n \"backgroundGradientStopColor\": \"#c5281c\",\n \"backgroundStroke\": \"#ece4e4\",\n \"backgroundStrokeWidth\": 0,\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"space\": 4,\n \"maxPercent\": 100,\n \"unitsFontSize\": \"35\",\n \"unitsColor\": \"#f0ebeb\",\n \"outerStrokeGradient\": true,\n \"outerStrokeWidth\": 10,\n \"outerStrokeColor\": \"#f7c0bf\",\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\n \"innerStrokeWidth\": 0,\n \"titleColor\": \"#f3eded\",\n \"titleFontSize\": \"40\",\n \"subtitleColor\": \"#444444\",\n \"showSubtitle\": false})\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n exports: [NxtAppComponent, \n QuestionnaireComponent,\n BookletComponent,\n SummaryPageComponent\n ]\n // providers: [\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\n // ]\n})\nexport class NxtAppModule { }\n","/*\n * Public API Surface of nxt-app\n */\n\nexport * from './lib/nxt-app.service';\nexport * from './lib/nxt-app.component';\nexport * from './lib/nxt-app.module';\nexport * from './lib/pages/questionnaire/questionnaire.component';\nexport * from './lib/pages/booklet/booklet.component';\nexport * from './lib/pages/summary-page/summary-page.component';\nexport * from './lib/services/salesforce.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.ChangeService","i2","i3","i2.ChangeService","i4","i1.SalesforceService","i2.DataService","i3.ChangeService","i5","i7","i9","i12.PickLocationComponent","i13.CustomInputComponent","i14.CustomTextAreaComponent","i15.CustomTableComponent","i16.CustomDatePickerComponent","i17.DropdownWithFlagComponent","i18.CustomDropdownComponent","i6","i1.SharedService","i3.CustomDropdownComponent","i4.FileUploadComponent","i4.StorageService","i7.PickLocationComponent","i8.CustomInputComponent","i9.CustomTextAreaComponent","i10.CustomTableComponent","i11.CustomDatePickerComponent","i12.CustomDropdownComponent","i13.SearchBoxComponent","i14.FileUploadComponent","i15.DependentTableComponent","i16.CustomLabelComponent","i17.TableAppendixComponent","i18.CustomDateComponent","i19.CustomTimeComponent","i3.StorageService","i6.ChangeService","i8","i9.QuestionbookComponent","i2.FileViewComponent"],"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/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/services/shared.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/components/dependent-table/dependent-table.component.ts","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.html","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.ts","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.html","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.ts","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.html","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.ts","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.html","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.ts","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.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/file-view/file-view.component.ts","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.html","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.ts","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.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';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NxtAppService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-nxt-app',\n template: `\n <p>\n nxt-app works!\n </p>\n `,\n styles: []\n})\nexport class NxtAppComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ChangeWrapper } from '../model/changeWrapper';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ChangeService {\n // Reference: https://angular.io/guide/observables\n constructor() { }\n\n // Observable parentQuestion sources\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\n private changeConfirmedSource = new Subject<string>();\n private validationSource = new Subject<string>();\n private fieldSource = new Subject<any>();\n\n // Observable parentQuestion streams\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\n submitValidate$ = this.validationSource.asObservable();\n changeField$ = this.fieldSource.asObservable();\n\n // Service message commands\n announceChange(changeValue: ChangeWrapper) {\n // console.log('inside announceChange');\n console.log(changeValue);\n this.changeAnnouncedSource.next(changeValue);\n }\n\n confirmChange(childQuestion: string) {\n // console.log('inside confirmChange');\n console.log(childQuestion);\n this.changeConfirmedSource.next(childQuestion);\n }\n\n submitChange(value:string){\n this.validationSource.next(value);\n }\n fieldChange(value:any){\n console.log('getValue',value);\n this.fieldSource.next(value);\n }\n}\n","import { ErrorWrapper } from \"./model/errorWrapper\";\n\nexport class QuestionBook {\n Id: number;\n Name: string;\n Category__c: string;\n Next__c : string;\n Cancel__c : string;\n Back__c : string;\n Submit__c : string;\n Edit__c : string;\n First_Question__c: string;\n Title__c: string;\n Next_Tracking_ID__c: string;\n Back_Tracking_ID__c: string;\n Cancel_Tracking_ID__c: string;\n Submit_Tracking_ID__c: string;\n Total_Questions__c: number;\n Summary_Text__c?: string;\n Questions__r?: QuestionR;\n Progress_Bar__c: boolean;\n SubTitle__c: string;\n Question_Type__c: string;\n Possibilities__c: string;\n Summary_Sub_Text__c: string;\n isShengel__c?: boolean;\n}\n\nexport class Question {\n Id: string;\n Name: string;\n Reference_Field__c?:string;\n Allowed_File_Extensions__c :string;\n Question__c : string;\n Question_Text__c : string;\n Type__c: string;\n Next_Question__c?: string;\n Is_Optional__c: boolean;\n Title__c: string;\n SubTitle__c: string;\n Is_Title__c: boolean;\n X24_Hours__c: boolean;\n Error_Message__c: string;\n Is_Date_Backward__c : boolean;\n Is_Date_Forward__c : boolean;\n Group__c: string;\n Question_No__c?: string;\n Question_Options__r?: OptionR;\n static X24_Hours__c: boolean;\n Size__c: number;\n Sub_Text__c: string;\n Tracking_ID__c: string;\n Time_Text__c: string;\n Date_Text__c: string;\n Additional_Rich__c? : string;\n Questions__r?: QuestionR;\n RecordType: {\n Name: string;\n };\n input?: any;\n error?: ErrorWrapper;\n valueName?:string;\n dropDownOnly?:boolean;\n isDependentPicklist?:boolean;\n tableDataValue?:any[]; \n tableHeader?:string;\n startDate?:any;\n minDate?: any ;\n isShengel__c?: boolean;\n}\n\n\nexport class LocalQuestion {\n Id: string;\n Name: string;\n Allowed_File_Extensions__c :string;\n Question__c : string;\n Question_Text__c : string;\n Type__c: string;\n Title__c: string;\n SubTitle__c: string;\n Next_Question__c?: string;\n Is_Optional__c: boolean;\n Is_Title__c: boolean;\n X24_Hours__c: boolean;\n Error_Message__c: string;\n Is_Date_Backward__c : boolean;\n Is_Date_Forward__c : boolean;\n Time_Text__c : string;\n Date_Text__c : string;\n Group__c: string;\n Question_No__c?: string;\n Question_Options__r?: OptionR;\n Sub_Text__c : string;\n Size__c: number;\n Tracking_ID__c: string;\n Additional_Rich__c? : string;\n Questions__r?: QuestionR;\n RecordType: {\n Name: string;\n };\n input?: string;\n error?: ErrorWrapper;\n static X24_Hours__c: boolean;\n uniqueSubQId: string;\n}\n\nexport class QuestionR {\n records?: Question[];\n}\n\nexport class OptionR {\n records?: Option[];\n}\n\nexport class Option {\n Id: string;\n Name: string;\n Value__c: string;\n Tracking_ID__c: string;\n Next_Question__c?: string;\n}\n\nexport class OptionValue {\n Id: string;\n Name: string;\n Value__c: string;\n Next_Question__c?: string;\n checked: boolean;\n}\n\nexport class AnswerBook {\n Id: string;\n Question_Book__c: string;\n Status__c: string;\n Answers__r?: AnswerR;\n\n}\n\nexport class Answer {\n Id: string;\n Question_Rich_Text__c: string;\n Answer_Long__c : string;\n Question_Type__c: string;\n Question_Ref__c: string;\n Question_Group_Text__c: string;\n}\nexport class AnswerR {\n records?: Answer[];\n}\n\nexport class AnswerWrapper {\n ansId?: string;\n ansNumber?: number;\n abId: string;\n quesId: string;\n quesValue: string;\n qTyp: string;\n ansValue: string;\n groupText: string;\n squesValue: string;\n}\n\nexport class AttachmentWrapper {\n parentId: string;\n fileName: string;\n fileContent: string;\n}\n\nexport class Attachment {\n public attachmentId: string;\n public attachmentName: string;\n public attachmentMetaData: any;\n\n constructor(id: string,name:string,metaData:any){\n this.attachmentId = id;\n this.attachmentName = name;\n this.attachmentMetaData = metaData;\n }\n}\n\n","export class ErrorWrapper {\n errorCode: string;\n errorMsg: string;\n errorDetails: string;\n}\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';\nimport {Router} from '@angular/router';\n\ndeclare class Visualforce {\n static remoting: { Manager: { invokeAction: any } };\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class SalesforceService {\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\n\n public remoteAction(methodName: string,\n params: string[],\n resolve,\n reject,\n config?: any) {\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\n const self = this;\n var nsMethodName = this.getRNXTMethodName();\n //console.log('method name in lib = ' + nsMethodName);\n\n Visualforce.remoting.Manager.invokeAction(\n nsMethodName,\n //'NxtController.process',\n //`{!$RemoteAction.NxtController.process}`,\n ...params,\n function (result, event) {\n try {\n result = JSON.parse(result);\n } catch (error) {\n reject(error);\n }\n //console.log('Function called was - ' + methodName);\n //console.log(result);\n //console.log(resolve(result));\n if (result.status) {\n resolve(result);\n } else {\n resolve(result);\n }\n },\n config || { buffer: false, escape: false }\n );\n }\n\n constructor(private _router: Router) {\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService {\n\n constructor(private http: HttpClient) { }\n\n public getAPIData(tkn: string, \n params: string[],\n resolve,\n reject,\n config?: any) {\n console.log('inside DataService.getAPIData for ' + tkn);\n const self = this;\n\n // Call the ShengelGo Server\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\n headers.append('Accept', 'application/json');\n headers.append('Access-Control-Allow-Origin', '*');\n\n // Use Shengel Go Server IP/Domain https://dev-api.shengelgo.com\n\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' })\n .subscribe(response => {\n if(response.status == 200) {\n resolve(response.body);\n } else {\n reject(response.body);\n }\n }, error => {\n console.log(error.status);\n reject(error);\n });\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, NgModule, NgZone, OnInit, Output, ViewChild } from '@angular/core';\ndeclare var $: any;\n\n@Component({\n selector: 'app-pick-location',\n templateUrl: './pick-location.component.html',\n styleUrls: ['./pick-location.component.css']\n})\nexport class PickLocationComponent implements OnInit {\n latitude = null;\n longitude = null;\n zoom: number = 10;\n private geoCoder;\n // public formGroup: FormGroup;\n @ViewChild('search', { static: true })\n public searchElementRef: ElementRef<HTMLInputElement>;\n showModal: boolean = false;\n @Input() address:string;\n @Output() locationSelected: EventEmitter<any> = new EventEmitter<any>();\n navigatorGeolocation: any;\n markerPosition: { lat: any; lng: any; };\n center: { lat: any; lng: any; };\n markerOptions:any;\n\n constructor(\n // private mapsAPILoader: MapsAPILoader,\n private ngZone: NgZone) { \n this.geoCoder = new google.maps.Geocoder();\n this.markerOptions = new google.maps.Marker ({\n draggable: true,\n animation: google.maps.Animation.DROP\n });\n // this.formGroup = this.formBuilder.group({\n // location: [''] // Add any initial value or leave it empty\n // });\n\n }\n\n ngOnInit(): void {\n this.initAutocomplete();\n this.onMarkerDragEnd();\n }\n \n initAutocomplete(): void {\n if (this.geoCoder) {\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\n types: []\n });\n autocomplete.addListener('place_changed', () => {\n this.ngZone.run(() => {\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n this.latitude = place.geometry.location.lat();\n this.longitude = place.geometry.location.lng();\n this.zoom = 18;\n this.address = place.formatted_address;\n this.locationSelected.emit(this.address);\n });\n });\n }\n }\n\n onMarkerDragEnd(): void {\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\n console.log('dragable working',event);\n this.latitude = event.latLng.lat();\n this.longitude = event.latLng.lng();\n this.getAddress(this.latitude, this.longitude);\n });\n }\n\n onMapClick(event: google.maps.MapMouseEvent): void {\n console.log('onMapClick',event);\n this.latitude = event.latLng.lat();\n this.longitude = event.latLng.lng();\n this.getAddress(this.latitude, this.longitude);\n }\n\n\n private setCurrentLocation() {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition((position) => {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 8;\n this.getAddress(this.latitude, this.longitude);\n });\n }\n }\n\n\n getAddress(latitude: number, longitude: number) {\n if (this.geoCoder) {\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\n console.log('results',results);\n console.log('status',status);\n if (status === 'OK') {\n if (results[0]) {\n // this.zoom = 18;\n this.address = results[0].formatted_address;\n this.locationSelected.emit(this.address);\n } else {\n console.log('No results found');\n }\n } else {\n console.log('Geocoder failed due to: ' + status);\n }\n });\n }\n }\n\n openMap() {\n this.showModal = true;\n if(!this.address){\n this.latitude = this.longitude = null;\n }\n if (!(this.latitude && this.longitude)) {\n this.setCurrentLocation();\n }else{\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\n this.center = { lat: this.latitude, lng: this.longitude };\n this.zoom = 8;\n }\n }\n\n closeModal() {\n this.showModal = false;\n }\n\n\n}\n","<div>\n <!-- <label class=\"she-label\">Location</label> -->\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\n >\n <a (click)=\"openMap()\"\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\n </i> Pick Location</a>\n</div>\n\n<div class=\"map-overlay\" *ngIf=\"showModal\">\n <div class=\"map-modal\">\n <div class=\"map-modal-content\">\n <div class=\"map-modal-header\">\n <h4>Pick Your Location</h4>\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\n </div>\n <!-- Modal content goes here -->\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\n [fullscreenControl]=\"true\">\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\n </agm-map> -->\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\n </google-map>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ChangeService } from '../../services/change.service';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { Question } from '../../wrapper';\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\n\n@Component({\n selector: 'app-custom-input',\n templateUrl: './custom-input.component.html',\n styleUrls: ['./custom-input.component.css']\n})\n\nexport class CustomInputComponent implements OnInit {\n @Input() value: any | any[]; // input value\n @Input() question: Question\n @Input() disabled: boolean = false; // input disabled or not\n @Input() placeholder:string;\n @Input() error:any;\n @Input() fromShengel: boolean = false;\n\n @Input() ngClassValue:any;\n @Input() idValue:any;\n @Input() focusEvent: any;\n @Output() inputValue = new EventEmitter<any>(); \n\n subscription: Subscription;\n\n constructor(private changeService: ChangeService) { \n }\n\n ngOnInit(): void {\n // Since the idValue holds the Parent Question\n if(this.question.Sub_Text__c != undefined) {\n this.disabled = true;\n let dependencyObj: DependencyMeta = JSON.parse(this.question.Sub_Text__c);\n \n if(dependencyObj.disabled && dependencyObj.disabled == \"false\"){\n this.disabled = false;\n }else{\n this.disabled = true;\n }\n // Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n // console.log('inside subscription for the change');\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\n this.value = changeValue.valueObj[dependencyObj.valueField];\n this.inputValue.emit(this.value);\n }\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\n }\n }\n );\n }\n }\n\n ngOnChange(): void {\n }\n\n ngOnDestroy() {\n // prevent memory leak when component destroyed\n this.subscription?.unsubscribe();\n }\n \n onInputChange(input:any){\n this.inputValue.emit(input.target.value);\n }\n}\n","<input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"value\"\n [ngClass]=\"ngClassValue\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [style.border-color]=\"error ? 'red' : ''\"\n [placeholder]=\"placeholder\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"value\"\n type=\"text\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange($event)\" />\n\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-text-area',\n templateUrl: './custom-text-area.component.html',\n styleUrls: ['./custom-text-area.component.css']\n})\nexport class CustomTextAreaComponent implements OnInit {\n @Input() value: any | any[]; // input value\n @Input() placeholder:string;\n @Input() rows:Number; //The number of visible text lines for the control\n @Input() error:any;\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n onTextareaChange(event:any): void {\n this.textareaValueChange.emit(event.target.value);\n }\n\n}\n","\n<textarea \n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<span *ngIf=\"error\" class=\"error-msg\">Required*</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TableWrapper } from '../../model/tableWrapper';\nimport { Question } from '../../wrapper';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-custom-table',\n templateUrl: './custom-table.component.html',\n styleUrls: ['./custom-table.component.css']\n})\n\nexport class CustomTableComponent implements OnInit {\n @Input() question: Question\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n tableInfo: TableWrapper;\n tableHeader: any;\n tableData: any;\n addRowColSpan: number;\n\n constructor() { }\n\n ngOnInit(): void {\n if(this.question.Sub_Text__c != undefined) {\n this.tableInfo = JSON.parse(this.question.Sub_Text__c);\n this.tableHeader = this.tableInfo.header;\n this.tableData = this.tableInfo.data;\n this.valueChange.emit(this.tableData);\n\n if(this.tableData?.addRow) {\n this.addRowColSpan = this.tableHeader.length - 2;\n }\n }\n }\n\n addRow(): void {\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\n const updatedTableData = [...this.tableData, newItem];\n this.tableData = updatedTableData;\n this.emitTableDataValue(updatedTableData);\n }\n\n updateRadio(item: any, value: string): void {\n item.value = value;\n this.emitTableDataValue(this.tableData);\n }\n\n updateLabel(rowIndex: number, label: string, value: string): void {\n this.tableData[rowIndex][label] = value;\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\n this.emitTableDataValue(this.tableData);\n }\n\n updateNumber(item: any, label: string, value: string){\n item.value[label] = value;\n this.emitTableDataValue(this.tableData);\n }\n\n\n emitTableDataValue(updatedTableData: any[]): void {\n this.valueChange.emit(updatedTableData);\n }\n}","<table class=\"table table-striped table-bordered\">\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'image'\" [class]=\"'col-md-' + header.size\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\n </div>\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'radio'\" [class]=\"'col-md-' + header.size\">\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow\">\n <td colspan=\"1\">\n <b>Add More</b>\n </td>\n <td colspan=\"3\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n </tbody>\n</table>\n","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\n\n@Component({\n selector: 'app-custom-date-picker',\n templateUrl: './custom-date-picker.component.html',\n styleUrls: ['./custom-date-picker.component.css']\n})\nexport class CustomDatePickerComponent implements OnInit {\n @Input() date: string;\n @Input() minDate:any;\n @Input() maxDate:any;\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\n dateSelected:any\n constructor() { }\n\n ngOnInit(): void {\n this.dateSelected = new Date(this.date);\n }\n\n onDateChange(event: any) {\n this.dateChange.emit(event);\n }\n\n}\n","<!-- <div class=\"date-picker-container\">\n <label>{{label}}</label>\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\n</div> -->\n<!-- <mat-form-field>\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field> -->\n\n<p>\n <input class=\"input-shengel\"\n [(ngModel)]=\"dateSelected\" \n [owlDateTimeTrigger]=\"dt\" \n [owlDateTime]=\"dt\" \n [min]=\"minDate\"\n placeholder=\"DD/MM/YYYY HH:MM\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\">\n <owl-date-time #dt></owl-date-time>\n</p>\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-dropdown-with-flag',\n templateUrl: './dropdown-with-flag.component.html',\n styleUrls: ['./dropdown-with-flag.component.css']\n})\nexport class DropdownWithFlagComponent implements OnInit {\n @Input() certified:boolean= false;\n // @Input() getValue:string = '';\n @Input() JobPerformerCertificates: any[] = [];\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \n selectedValue:string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n }\n ngOnChanges(){\n this.selectedValue = null;\n }\n \n onJobPerformerCertified(event:any){\n this.flagDropDownChange.emit(event);\n }\n\n}\n","<div class=\"she-title\">\n <label class=\"switch\">\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \n <span class=\"switch-handle\"></span> \n </label> \n <ng-select *ngIf=\"certified\"\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \n [items]=\"JobPerformerCertificates\"\n [(ngModel)]=\"selectedValue\"\n (change)=\"onJobPerformerCertified($event)\"\n placeholder=\"---Select---\">\n </ng-select>\n </div> ","export class ChangeWrapper {\n fromQuestionId: string;\n fromQuestionName: string;\n toQuestionId: string;\n toQuestionName: string;\n valueObj: any;\n}\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subscription } from 'rxjs';\nimport { APIMeta } from '../../interfaces/apimeta';\nimport { ChangeWrapper } from '../../model/changeWrapper';\nimport { ChangeService } from '../../services/change.service';\n\n@Component({\n selector: 'app-custom-dropdown',\n templateUrl: './custom-dropdown.component.html',\n styleUrls: ['./custom-dropdown.component.css']\n})\nexport class CustomDropdownComponent implements OnInit {\n @Input() options: string[];\n @Input() placeholder: string;\n @Input() apiMeta: string;\n @Input() selectedValue: string;\n @Input() progressBar: boolean;\n @Input() id:string;\n @Input() errorMessage: string;\n @Input() error:any;\n @Input() fromShengel: boolean = false;\n @Input() referenceField:string;\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n invalidFieldIds:string[] = [];\n constructor(private http: HttpClient,private changeService: ChangeService) { \n this.changeService.submitValidate$.subscribe((data)=>{\n // to get the error message's field id's\n this.invalidFieldIds.push(data);\n })\n }\n\n public labelField: string;\n public valueField: string;\n subscription: Subscription;\n\n ngOnInit(): void {\n // console.log('inside oninit of custom-dropdown of ' + this.id);\n // console.log(this.apiMeta);\n if(this.apiMeta !== undefined) {\n this.options = [];\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.labelField = apiObj.field;\n\n this.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\n let responses = apiResponse[apiObj.variable];\n let results = [];\n for (let i = 0; i < responses.length; i++) {\n var resp = responses[i];\n results.push(resp);\n }\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\n this.options = results;\n })\n let sourceId = apiObj.sourceQuestionId;\n if(sourceId){\n // Subscribe for the changes\n this.subscription = this.changeService.changeAnnounced$.subscribe(\n (changeValue) => {\n if(changeValue != undefined) {\n // console.log('inside subscription for the change');\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\n this.selectedValue = changeValue.valueObj[apiObj.valueField];\n let value ={};\n value['name'] = this.selectedValue;\n this.selectChange(value);\n }\n this.changeService.confirmChange(apiObj.sourceQuestionId);\n }\n }\n );\n }\n }\n }\n\n public apiResponse(endpoint: string): Observable<any> {\n return this.http.get(endpoint);\n }\n\n selectChange(event:any) {\n console.log('inside selectChange from ' + this.id);\n // console.log(event);\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\n change.fromQuestionId = this.id;\n change.valueObj = event;\n this.valueChange.emit(change);\n // once got value in dropdown remove the error validation\n if(event){\n this.invalidFieldIds =[];\n }\n }\n}\n","<select *ngIf=\"!fromShengel\"\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"option.Value__c\" class=\"option\">{{ option.Value__c }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select>\n\n<ng-select *ngIf=\"fromShengel\"\n [class]=\"invalidFieldIds.includes(id) ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option *ngFor=\"let option of options\" [value]=\"option\">{{ this.apiMeta !== undefined ? option[labelField] : option.Value__c }}</ng-option> \n <!-- <ng-option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</ng-option> -->\n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">Required*</span>\n","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n} from \"@angular/core\";\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { UntypedFormBuilder } from \"@angular/forms\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport * as moment from 'moment'; \nimport { DataService } from '../../services/data.service';\nimport { ChangeService } from '../../services/change.service';\n\nimport {\n Question,\n QuestionBook,\n AnswerBook,\n AnswerWrapper,\n Option,\n OptionValue,\n AttachmentWrapper,\n Attachment,\n LocalQuestion\n} from \"../../wrapper\";\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\n\nimport {\n TESTQUESTION,\n DTQUESTION,\n FILEQUESTION,\n TAQUESTION,\n RADIOQUESTION,\n CHECKQUESTION,\n BOOKQUESTION,\n TESTQB,\n} from \"../../sample\";\nimport { from } from \"rxjs\";\n\n@Component({\n selector: \"lib-questionnaire\",\n templateUrl: \"./questionnaire.component.html\",\n encapsulation: ViewEncapsulation.None,\n providers: [ChangeService],\n styleUrls: [\"./questionnaire.component.css\"],\n})\nexport class QuestionnaireComponent implements OnInit {\n @Input() qbId: string;\n @Input() insuranceStartDate: string;\n @Input() serv: string;\n @Input() tkn: string;\n @Output() handleEvent = new EventEmitter();\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\n\n params: Params;\n public deviceInfo = null;\n public abItem: AnswerBook;\n public qbItem: QuestionBook;\n public questionItem: Question;\n public answerWrap: AnswerWrapper;\n\n // CONDITIONAL TYPES\n public radioFlag: boolean = false;\n public dataFlag: boolean = false;\n\n // OPTIONONLY TYPES\n public dropdownFlag: boolean = false;\n public checkboxFlag: boolean = false;\n\n // UNCONDITIONAL TYPES\n public textFlag: boolean = false;\n public taFlag: boolean = false;\n public dtFlag: boolean = false;\n public timeFlag: boolean = false;\n public dateFlag: boolean = false;\n public fileFlag: boolean = false;\n public emailFlag: boolean = false;\n public numberFlag: boolean = false;\n public alphanumericFlag: boolean = false;\n public bookFlag: boolean = false;\n public listFlag: boolean= false;\n //Back button\n public backButtonFlag: boolean = false;\n public optionValues: OptionValue[] = [];\n public subQuestions: Question[] = [];\n public inpValue: string;\n public answerMap = new Map();\n public dateMap = new Map();\n public selectedhourMap = new Map();\n public selectedminuteMap = new Map();\n public attachmentsMap = new Map();\n public sqOptions = new Map();\n public subAnsMap = new Map();\n public localSubQuestions: LocalQuestion[] = [];\n public questionStack = [];\n public questionName = [];\n public attachments: any[] = [];\n public attachmentIdList: any[] = [];\n public attachmentId: string = \"\";\n public attachment: any;\n public allowedFileExtension: string[];\n public fileExceededLimit: boolean = false;\n public fileTypeIncorrect: boolean = false;\n public back: boolean = false;\n public backicon: boolean = false;\n public check: boolean;\n public pop: boolean;\n public localDate: string;\n public currentName: string;\n public pathquestion: number;\n public percent: number;\n public count: number;\n public taFocusOut: boolean = false;\n public notValidAccNum: boolean = false;\n public splCCBackClick: boolean = false;\n public summary = [];\n public localSubQMap = new Map();\n public keyIndex: number = 0;\n //public sques: string;\n public selDate: any = {};\n public selectDate: string;\n private today: Date = new Date();\n private el: HTMLElement;\n public innerhtml: any;\n public possibilities: any;\n public innerhtml1: any;\n public summaryData =[];\n\n public hours: any[] = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n ];\n\n public minutes: string[] = [\n \"00\",\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"24\",\n \"25\",\n \"26\",\n \"27\",\n \"28\",\n \"29\",\n \"30\",\n \"31\",\n \"32\",\n \"33\",\n \"34\",\n \"35\",\n \"36\",\n \"37\",\n \"38\",\n \"39\",\n \"40\",\n \"41\",\n \"42\",\n \"43\",\n \"44\",\n \"45\",\n \"46\",\n \"47\",\n \"48\",\n \"49\",\n \"50\",\n \"51\",\n \"52\",\n \"53\",\n \"54\",\n \"55\",\n \"56\",\n \"57\",\n \"58\",\n \"59\",\n ];\n\n public selectedHour: string = \"\";\n public selectedMinute: string = \"\";\n public selectedMeridiem: string = \"\";\n public valueName: string = \"\";\n public valueName1: string = \"\";\n public bookFlagAccept: string[];\n public recordId: string;\n public currentQuestionId: string;\n public spinnerType: string;\n public spinnerName: string;\n public nextValue:string ='';\n\n start_date?: any;\n\n //search component\n public tempoAddress: any[] = [];\n public selectedValue: string;\n public selectedPostalcode: string;\n public selectedProvince: string;\n public selectedCity: string;\n public selectedArea: string;\n public localaddress: any[] = [];\n\n public allAddress :any [] = [];\n public PostalCode:string;\n public places: any[] = [];\n public province:any[]=[];\n \n // REQ-01 PROGRESS BAR\n public progressStyle: string = \"0%\";\n public answerCount: number = 0;\n public indexCount: number = 0;\n public addFlag: boolean = true;\n\n public myDatePickerOptions: IMyDpOptions = {};\n individualBookButton: boolean;\n\n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private changeService: ChangeService, \n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private spinner: NgxSpinnerService,\n private _formBuilder: UntypedFormBuilder,\n //private dbService: NgxIndexedDBService,\n private deviceService: DeviceDetectorService,\n el: ElementRef\n ) {\n this.spinnerName = \"sp1\";\n this.spinnerType = \"ball-spin-clockwise\";\n }\n\n onDateChanged(event: IMyDateModel) {\n //console.log('Inside the onDateChanged');\n //to change the border color\n if (this.qbItem.Progress_Bar__c) {\n //console.log('Inside the progressBar cond');\n this.inpValue =\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\n if(this.questionItem.Type__c ==\"Book\"){\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\n }\n } else {\n //console.log('Inside the ELSE of progressBar cond');\n if(this.questionItem.Type__c ==\"Book\"){\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\n }\n this.inpValue =\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\n }\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\n this.dateMap.set(this.questionItem.Id, event);\n if (\n event.date.day === 0 &&\n event.date.month === 0 &&\n event.date.year === 0\n ) {\n this.dateMap.delete(this.questionItem.Id);\n this.answerMap.delete(this.questionItem.Id);\n }\n //console.log('this.inpValue = '+this.inpValue);\n //console.log('this.selectDate = '+this.selectDate);\n }\n\n ngOnInit() {\n this.deviceInfo = this.deviceService.getDeviceInfo();\n this.route.queryParams.subscribe((params: Params) => {\n if (params['id']) {\n this.individualBookButton = true;\n }else if(params['bookletId']){\n this.individualBookButton = false;\n }\n });\n console.log('Inside the ngOnInit');\n // console.log(\"RNXT-Claim\");\n this.inpValue = \"\";\n this.selectedMeridiem = \"AM\";\n this.processQB();\n //console.log(localStorage.getItem('address'));\n if(localStorage.getItem(\"address\")){\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\n //console.log('Length='+this.localaddress.length);\n this.allAddress=this.localaddress.filter((item, index) => {\n if (this.localaddress.indexOf(item) == index){\n return item;\n }\n }); \n this.allAddress.sort(function(a, b){\n return a.zipCode - b.zipCode\n });\n } else if(this.deviceInfo.os === 'iOS'){\n let openRequest = indexedDB.open(\"addressDB\");\n openRequest.onsuccess = (event) => {\n const targetNew = event.target as IDBRequest;\n let dbNew = targetNew.result;\n const requestNew = dbNew.transaction('addressTable')\n .objectStore('addressTable')\n .get(1);\n requestNew.onsuccess = ()=> {\n const tempVar = requestNew.result;\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\n this.allAddress=this.localaddress.filter((item, index) => {\n if (this.localaddress.indexOf(item) == index){\n return item;\n }\n }); \n this.allAddress.sort(function(a, b){\n return a.zipCode - b.zipCode\n });\n }\n };\n }\n }\n\n ngOnChanges() {\n console.log('inside Questionnaire ngOnChanges');\n // this.processQB();\n }\n\n date_TimeMap() {\n this.selectedhourMap.set(this.questionItem.Id, this.selectedHour);\n this.selectedminuteMap.set(this.questionItem.Id, this.selectedMinute);\n }\n\n day() {\n this.myDatePickerOptions = {\n dateFormat: \"dd.mm.yyyy\",\n sunHighlight: false,\n disableDateRanges: [],\n showClearDateBtn: false,\n disableSince: {\n year: 0,\n month: 0,\n day: 0,\n },\n disableUntil: {\n year: 0,\n month: 0,\n day: 0,\n },\n showTodayBtn: false,\n dayLabels: {\n su: \"Dom\",\n mo: \"Lun\",\n tu: \"Mar\",\n we: \"Mié\",\n th: \"Jue\",\n fr: \"Vie\",\n sa: \"Sáb\",\n },\n monthLabels: {\n 1: \"Ene\",\n 2: \"Feb\",\n 3: \"Mar\",\n 4: \"Abr\",\n 5: \"Mayo\",\n 6: \"Jun\",\n 7: \"Jul\",\n 8: \"Ago\",\n 9: \"Sep\",\n 10: \"Oct\",\n 11: \"Nov\",\n 12: \"Dic\",\n },\n };\n }\n\n change() {\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n if (this.selDate === null || this.inpValue.length === 0) {\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\n } else {\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\n }\n }\n\n processQB() {\n //console.log('ProcessQB');\n //this.qbItem\n //console.log(this.qbId);\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\n if (this.qbId) {\n if (this.qbId.length == 18) {\n this.readQuestionBook(this.qbId);\n } else {\n //console.log('Inside the else part');\n //console.log('Setting the Question Directly for testing');\n this.questionItem = DTQUESTION;\n this.qbItem = TESTQB;\n this.processQuestion();\n }\n }\n }\n\n trimLastDummy(input: string) {\n return (input = input.substring(0, input.length - 6));\n }\n\n getProperTime(def: string, input: string) {\n return input === \"\" ? def : input;\n }\n\n //Summary Question Clickable Logic\n handleEditClick(value: string) {\n this.backicon = false;\n if (this.abItem?.Status__c == \"Pending\") {\n if (value == null) {\n return;\n }\n this.readQuestion(value);\n //console.log(' in side summaryopen'+ this.summary.length);\n\n //Assign question stack length from summary part\n var arrayLength = this.questionStack.length;\n var lengthValue = this.questionStack.indexOf(value);\n\n for (let i = arrayLength; i > lengthValue; i--) {\n this.questionStack.pop();\n }\n if (this.qbItem.Progress_Bar__c === true) {\n var arrayLength1 = this.questionName.length;\n for (let j = arrayLength1; j > lengthValue; j--) {\n this.questionName.pop();\n }\n }\n this.summary = [];\n this.summaryData = [];\n }\n }\n\n handleNextClick() {\n this.backButtonFlag = false;\n this.AnswerSave();\n }\n\n AnswerSave(){\n //this.updateProgress();\n if (this.currentQuestionId === null) {\n return;\n }\n var questionTxt='';\n this.clearError();\n this.handleEvent.emit(this.qbItem.Next_Tracking_ID__c);\n this.recordId = null;\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n // Create an array of objects to store the values\n for (var i=0; i<this.questionItem.Questions__r.records.length;i++) {\n if(this.questionItem.Questions__r.records[i].Question_Text__c){\n var questionText = this.questionItem.Questions__r.records[i].Question_Text__c.replace(/<[^>]+>/g, ''); // Remove HTML tags from the Question_Text__c value\n }else{\n questionText = 'undefined';\n }\n const input = this.questionItem.Questions__r.records[i].input;\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\n this.summaryData.push(obj); // Add the object to the data array\n }\n var typ = cQuestion.Type__c;\n // this.sques += cQuestion.Question__c + '@@##$$';\n var quesValue = cQuestion.Question_Text__c;\n var mailformat =\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\n\n // Process Inputs\n if (this.checkboxFlag) {\n this.inpValue = \"\";\n // Save all the selected options in the inpValue\n for (var ov of this.optionValues.filter((item) => item.checked)) {\n this.inpValue += ov.Value__c + \"@@##$$\";\n this.recordId = ov.Next_Question__c;\n }\n this.inpValue = this.trimLastDummy(this.inpValue);\n } else if (this.emailFlag) {\n if (this.inpValue && this.inpValue.match(mailformat)) {\n this.recordId = this.questionItem.Next_Question__c;\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.alphanumericFlag) {\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\n if (isNotValidAccNum) {\n this.notValidAccNum = true;\n this.recordId = this.questionItem.Next_Question__c;\n return;\n }\n this.notValidAccNum = false;\n } else if (this.numberFlag) {\n if (this.inpValue) {\n this.recordId = this.questionItem.Next_Question__c;\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.bookFlag) {\n //console.log(this.questionItem.Type__c)\n //console.log('Inside the bookFlag cond');\n //console.log('this.inpValue = '+this.inpValue);\n //console.log('this.selectDate = '+this.selectDate);\n //console.log('this.selDate = ');\n //console.log(this.selDate);\n this.inpValue = \"\";\n var hasMissingInput = false;\n for (var item of this.questionItem.Questions__r.records) {\n var count = 0;\n \n if(item.Type__c == \"Date\" || item.Type__c == \"Time\") {\n //this one\n this.change();\n if(item.Type__c == \"Date\"){\n //console.log('Inside the date type cond = '+this.selectDate);\n this.inpValue = this.selectDate;\n //console.log(this.inpValue)\n //console.log(this.selectDate)\n \n }\n if(item.Type__c == \"Time\"){\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\n \n if (this.questionItem.X24_Hours__c === false) {\n this.questionItem.input =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute + \" PM\";\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\n }\n if (this.qbItem.Progress_Bar__c) {\n if(this.selectDate){\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\n }else{\n this.inpValue = \" \"+this.questionItem.input;\n }\n } else {\n if(this.selectDate){\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\n }else{\n this.inpValue = \" \"+this.questionItem.input;\n }\n \n }\n }\n if (this.questionItem.X24_Hours__c === true) {\n this.questionItem.input =\n this.selectedHour + \":\" + this.selectedMinute;\n if (this.qbItem.Progress_Bar__c) {\n this.inpValue = this.questionItem.input;\n } else {\n this.inpValue = this.questionItem.input;\n }\n }\n }\n\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectedHour || !this.selectedMinute || !this.selectDate) {\n //console.log('Inside the null condition of input');\n this.questionItem.error = new ErrorWrapper();\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\n htmlElement\n .item(0)\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\n return;\n }\n this.date_TimeMap();\n }\n\n if(item.Type__c== \"Text\" && item.Question__c === 'Población'){\n for(var loc of this.localaddress){\n if((this.selectedPostalcode == loc.zipCode)&&(this.selectedValue == loc.country)&&(this.selectedCity==loc.town)){\n item.input= this.selectedCity;\n break;\n }\n else if(count == this.localaddress.length -1){\n //console.log('error form city')\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n return;\n }\n count++; \n }\n //console.log('testin values=='+item.input)\n } \n \n // if(item.Type__c === 'Location' && Array.isArray(item.input) && item.input.every((input) => input !== undefined)){\n // const inputValues = \"answerString: \" + item.input ;\n // item.input = inputValues;\n // }\n if(item.Type__c== \"Text\" && item.Question__c === 'Código postal'){\n for(var loc of this.localaddress){\n if(loc.zipCode == this.selectedPostalcode){\n //console.log('testing zipcode value*****'+ this.selectedPostalcode)\n item.input=this.selectedPostalcode;\n break;\n } else if(count == this.localaddress.length -1){\n //console.log('error form')\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n return;\n }\n count++; \n }\n //console.log('testin values=='+item.input)\n }\n \n \n if(item.Type__c== \"Text\" && item.Question__c === 'Provincia'){\n\t\t\t for(var loc of this.localaddress){\n\t\t\t\t if(loc.province == this.selectedProvince){\n\t\t\t\t\t //console.log('******testing province value'+ this.selectedProvince)\n\t\t\t\t\t item.input=this.selectedProvince;\n\t\t\t\t\t break;\n\t\t\t\t } else if(count == this.localaddress.length -1){\n\t\t\t\t\t//console.log('error form')\n\t\t\t\t\titem.error = new ErrorWrapper();\n\t\t\t\t\thasMissingInput = true;\n\t\t\t\t\treturn;\n\t\t\t\t }\n\t\t\t\t count++; \n\t\t\t }\n\t\t\t//console.log('testin values=='+item.input)\n\t\t }\n\n if (\n !item.Is_Optional__c &&\n // ((item.Type__c != \"File\" && !item.input && item.Type__c != 'Date' && item.Type__c != 'Time') ||\n // (item.Type__c == \"File\" && this.attachments.length == 0))\n (item.Type__c == \"File\" && this.attachments.length == 0)\n ) {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n if (item.Type__c == \"Radio\") {\n if (!item.input) {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.Type__c == \"Dropdown\") {\n if (!item.input) {\n item.input = \"\";\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.Type__c == \"Email\") {\n if (item.input && item.input.match(mailformat)) {\n this.recordId = cQuestion.Next_Question__c;\n } else {\n item.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n }\n if (item.Type__c == \"File\" && this.attachments.length > 0) {\n for (var attachmentItem of this.attachments) {\n this.inpValue +=\n attachmentItem.attachmentId +\n \"@#$\" +\n attachmentItem.attachmentName +\n \",\";\n if (item.input == this.inpValue) {\n this.recordId = cQuestion.Next_Question__c;\n //console.log('inside' + recordId);\n }\n }\n // this.attachments = [];\n } //item.input == this.inpValue;\n\n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\n questionTxt += item.Question__c + \"@@##$$\";\n //console.log('inside book1' + this.inpValue)\n }\n if (hasMissingInput) {\n return;\n }\n this.inpValue = this.trimLastDummy(this.inpValue);\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\n } \n else if (this.listFlag) {\n this.inpValue = '';\n var hasMissingInput = false;\n if(this.localSubQMap.has(this.questionItem.Id)){\n this.subAnsMap = new Map();\n for (var localQues of this.localSubQMap.get(this.questionItem.Id)) {\n if(!localQues.input) {\n localQues.error = new ErrorWrapper();\n hasMissingInput = true;\n }\n if(!this.subAnsMap.has(localQues.Id)){\n // console.log('inside ans map')\n this.subAnsMap.set(localQues.Id,localQues.input);\n } else {\n // console.log('inside ans map else')\n this.subAnsMap.set(localQues.Id,this.subAnsMap.get(localQues.Id) + '$$@@##'+localQues.input);\n }\n }\n\n if (hasMissingInput) {\n //console.log('file two')\n return;\n }\n this.subAnsMap.forEach((value, key) => {\n // console.log('inside Map' );\n // console.log(value);\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\n });\n this.inpValue = this.trimLastDummy(this.inpValue);\n }\n }\n else if (this.dropdownFlag) {\n if (this.inpValue.length <= 1) {\n this.inpValue = \".\";\n this.questionItem.error = new ErrorWrapper();\n }\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\n //this one\n this.change();\n if (this.inpValue) {\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\n //console.log(this.inpValue.length);\n\n if (this.questionItem.X24_Hours__c === false) {\n this.questionItem.input =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute + \" PM\";\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\n }\n if (this.qbItem.Progress_Bar__c) {\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\n } else {\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\n }\n }\n if (this.questionItem.X24_Hours__c === true) {\n this.questionItem.input =\n this.selectedHour + \":\" + this.selectedMinute;\n if (this.qbItem.Progress_Bar__c) {\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\n } else {\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\n }\n }\n if (this.qbItem.Progress_Bar__c) {\n //console.log(\"ans => \" + this.inpValue);\n var date1: any = this.inpValue.split(\" \");\n date1 = date1[0].split(\"/\");\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\n date1 = new Date(date1);\n //console.log(date1)\n var date2: any = this.insuranceStartDate.split(\" \");\n date2 = new Date(date2[0]);\n //console.log(date2);\n if (date1 < date2) {\n this.questionItem.error = new ErrorWrapper();\n this.questionItem.error.errorMsg =\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\";\n //console.log('inside')\n return;\n }\n }\n if (this.selDate === null || !this.inpValue) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n this.date_TimeMap();\n }\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\n this.date_TimeMap();\n if (this.questionItem.X24_Hours__c === false) {\n this.inpValue =\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\n ? Number(this.selectedHour) + 12\n : this.selectedHour) +\n \":\" +\n this.selectedMinute;\n } else {\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\n }\n if (this.inpValue.length < 5) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\n this.change();\n if (this.inpValue.length < 7 || this.selDate === null) {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n } else if (this.fileFlag) {\n //console.log('four')\n this.inpValue = \"\";\n if (this.attachments.length > 0) {\n for (var attachmentItem of this.attachments) {\n this.inpValue +=\n attachmentItem.attachmentId +\n \"@#$\" +\n attachmentItem.attachmentName +\n \",\";\n }\n //console.log('inside filesss' + this.inpValue);\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\n } else {\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n }\n\n // Check for the answer before saving to the DB\n if (!this.questionItem.Is_Optional__c && !this.inpValue) {\n // Show error that the question must be answered\n this.questionItem.error = new ErrorWrapper();\n return;\n }\n // Save the Answer in the DB\n this.answerWrap = new AnswerWrapper();\n this.answerWrap.abId = this.abItem.Id;\n this.answerWrap.quesId = cQuestion.Id;\n this.answerWrap.quesValue = quesValue;\n this.answerWrap.qTyp = typ;\n this.answerWrap.ansValue = this.inpValue;\n this.answerWrap.groupText = cQuestion.Group__c;\n this.answerWrap.ansValue = this.inpValue;\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\n // console.log('Bank condition');\n // console.log(this.answerWrap.ansValue);\n }\n /*if (cQuestion.Type__c == 'Book'){\n for (var qb of cQuestion.Questions__r.records){\n //console.log(qb.Question__c+'****'+\"@@##$$\")\n } \n }*/\n //this.answerWrap.squesValue = cQuestion.Question__c;\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.Question__c;\n this.saveAnswer();\n }\n\n next() {\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n var typ = cQuestion.Type__c;\n // If no error then move to next steps\n if (this.questionItem.error) {\n return;\n }\n\n this.questionStack.push(cQuestion.Id);\n // this.questionName.push(cQuestion.Name);\n\n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\n if (cQuestion.RecordType.Name == \"CONDITIONAL\") {\n for (var cOpt of cQuestion.Question_Options__r.records) {\n // Radio / Data\n //console.log('Option => ' + cOpt.Value__c + ' matching with ' + ansVal);\n if (cOpt.Value__c == this.inpValue) {\n //console.log('Match Found using ' + cOpt.Next_Question__c);\n this.recordId = cOpt.Next_Question__c;\n //console.log('conditional record id'+ this.recordId);\n }\n }\n // Could be of type Data and existing value\n if (this.recordId && typ == \"Data\") {\n this.recordId = cQuestion.Next_Question__c;\n }\n } else if (cQuestion.RecordType.Name == \"OPTIONONLY\") {\n // OPTIONONLY logic\n this.recordId = cQuestion.Next_Question__c;\n } else if (cQuestion.RecordType.Name == \"UNCONDITIONAL\") {\n //Unconditional logic\n //console.log(\"inside unconditional\");\n //inside Book Type\n if (cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c !='6') {\n //console.log(\"inside book\");\n for (let opt of cQuestion.Questions__r.records) {\n //console.log(opt.Type__c);\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\") {\n for (var opt1 of opt.Question_Options__r.records) {\n if (this.valueName == opt1.Value__c) {\n this.recordId =opt1.Next_Question__c || cQuestion.Next_Question__c; \n } else {\n //console.log('Else'+this.recordId)\n this.recordId = cQuestion.Next_Question__c;\n \n }\n }\n } else {\n this.recordId = cQuestion.Next_Question__c;\n }\n }\n }\n else if(cQuestion.Type__c == \"Book\" && cQuestion.Question_No__c =='6' ) {\n for (let opt of cQuestion.Questions__r.records) {\n if (opt.Type__c == \"Dropdown\" || opt.Type__c == \"Radio\"){\n for (var opt1 of opt.Question_Options__r.records) {\n if (this.valueName == opt1.Value__c) {\n this.recordId = opt1.Next_Question__c; \n }\n }\n }\n }\n } \n \n else {\n this.recordId = cQuestion.Next_Question__c;\n }\n }\n\n // CATEGORIZATION\n //this.stepperCateg();\n\n // Calling the progres bar update function\n this.answerCount++;\n this.updateProgress();\n\n\n // CATEGORIZATION\n //this.stepperCateg();\n\n if (this.recordId) {\n //console.log('Before Calling readQuestion() using ' + recordId);\n this.readQuestion(this.recordId);\n this.pop = true;\n } else {\n this.pop = false;\n //console.log('Summary Page Logic');\n // Reset the Variables\n this.inpValue = \"\";\n this.answerWrap = new AnswerWrapper();\n this.optionValues = [];\n this.subQuestions = [];\n\n this.resetFlag(typ);\n this.questionItem = null;\n\n // Show Summary\n for (var q of this.questionStack) {\n //console.log('Handling Question => ' + q);\n var ansWrap = this.answerMap.get(q);\n if (ansWrap) {\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\n var newStr = '';\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\n for (var ansStr1 of ansStr.split('$$@@##')) {\n // if(ansStr1.includes('answerString')){ //remove the answer string \n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\n // ansStr1 = withoutAnswerString;\n // }\n if (ansStr1.length > 0) {\n if (newStr.length == 0) {\n newStr = ansStr1;\n } else {\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,) \n if(this.attachmentsMap.has(ansWrap.quesId)){\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\n newStr = newStr.replace(att.attachmentId,'');\n }\n }\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\n }\n }\n }\n }ansWrap.ansValue = newStr;\n }\n this.summary.push(ansWrap);\n this.backicon = true;\n }\n }\n }\n }\n\n getText(value) {\n var doc = new DOMParser().parseFromString(value, \"text/html\");\n //console.log( doc.documentElement.textContent);\n return this.sanitizer.bypassSecurityTrustHtml(\n doc.documentElement.textContent\n );\n }\n\n handleBackClick() {\n this.back = true;\n if (this.pop === true) {\n this.questionName.pop();\n }\n this.handleEvent.emit(this.qbItem.Back_Tracking_ID__c);\n var cQuestion: Question = new Question();\n cQuestion = this.questionItem;\n if(cQuestion.Question_No__c =='1'){\n this.handleEvent.emit(this.qbItem.Back__c);\n }\n \n\n this.answerCount--;\n this.updateProgress();\n // CATEGORIZATION\n //this.stepperCateg();\n\n if (this.summary) {\n //console.log('summary true');\n this.summary = [];\n }\n if(this.summaryData){\n this.summaryData =[];\n }\n\n // Read the previous question from DB\n this.readQuestion(this.questionStack.pop());\n //console.log(this.questionStack);\n }\n\n handleBackClickNew() {\n this.handleEvent.emit(this.qbItem.Edit__c);\n }\n\n //updating status once Q&A completed.\n\n private updateAnswerBook = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"AnswerBook\", \"Update\", uuid],\n this.successupdateAB,\n this.failureupdateAB\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"AnswerBook\", \"Update\", uuid],\n this.successupdateAB,\n this.failureupdateAB\n );\n }\n }\n\n private successupdateAB = (response) => {\n console.log(response);\n // //console.log('status success')\n this.abItem.Status__c = \"Completed\";\n };\n private failureupdateAB = (response) => {\n //console.log('status failed')\n };\n\n private readQuestionBook = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"QuestionBook\", \"read\", uuid],\n this.successReadBook,\n this.failureReadBook\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"QuestionBook\", \"read\", uuid],\n this.successReadBook,\n this.failureReadBook\n );\n }\n }\n\n private successReadBook = (response) => {\n console.log('Inside the successReadBook');\n console.log(response);\n if(response != null || response != undefined){\n this.qbItem = response.questionbook;\n this.abItem = response.answerbook;\n }\n // console.log('readingQuestion using ' + this.qbItem);\n if (this.abItem?.Status__c == \"Pending\") {\n if (\n this.abItem.Answers__r == null ||\n this.abItem.Answers__r.records.length == 0\n ) {\n this.readQuestion(this.qbItem.First_Question__c);\n } else {\n // Populate the existing answers\n var lastQuestionId = \"\";\n\n for (var ansObject of this.abItem.Answers__r.records) {\n lastQuestionId = ansObject.Question_Ref__c;\n\n this.questionStack.push(ansObject.Question_Ref__c);\n\n this.answerMap.set(ansObject.Question_Ref__c, {\n quesValue: ansObject.Question_Rich_Text__c,\n ansValue: ansObject.Answer_Long__c,\n quesId: ansObject.Question_Ref__c,\n qTyp: ansObject.Question_Type__c,\n groupText:ansObject.Question_Group_Text__c,\n });\n\n //console.log(this.questionStack)\n if (ansObject.Question_Type__c == \"Book\") {\n var av1 = ansObject.Answer_Long__c.split(\"@@##$$\");\n // //console.log(\"book log\");\n\n // //console.log(\"bookid\" + av1[0]);\n this.attachmentsMap.set(ansObject.Question_Ref__c, [\n { attachmentName: av1[1], attachmentId: av1[0] },\n ]);\n // //console.log(this.attachmentsMap);\n } else if (ansObject.Question_Type__c == \"File\") {\n // //console.log(\"inside if\");\n var attList;\n var att;\n for (var attVar of ansObject.Answer_Long__c.split(\",\")) {\n var attIdName = attVar.split(\"@@##$$\");\n att.attachmentName = attIdName[1];\n att.attachmentId = attIdName[0];\n attList.push(att);\n }\n this.attachmentsMap.set(ansObject.Question_Ref__c, attList);\n // //console.log(this.attachmentsMap);\n }\n }\n\n this.questionStack.pop();\n //console.log(this.answerMap);\n // Read the last answered question\n this.readQuestion(lastQuestionId);\n }\n } else if (this.abItem?.Status__c == \"Completed\") {\n this.handleEvent.emit(\"Summaryupdated\");\n // Temporary Fix for duplicate answers on the summary.\n this.summary = [];\n this.percent = 100;\n this.progressStyle = \"100%\";\n\n for (var answer of this.abItem.Answers__r.records) {\n //console.log(answer.Question_Group_Text__c);\n //console.log('repeat');\n //console.log(answer.Question_Rich_Text__c);\n var answers = {};\n if (answer.Question_Type__c == \"File\") {\n var files = \"\";\n var fIndex = 0;\n var fileList = answer.Answer_Long__c.split(\",\");\n for (var fileIdName of fileList) {\n var fileName = fileIdName.split(\"@#$\");\n if (fIndex == 0) {\n files = fileName[1];\n } else {\n files = files + \" ,\" + fileName[1];\n }\n\n fIndex++;\n }\n\n answers = {\n groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: files,\n };\n this.summary.push(answers);\n } else if (answer.Question_Type__c == \"Book\") {\n /* var quesNo=0;\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\n //console.log('line 1223');\n for (var bqAnswerValue of answer.Answer_Long__c.split(\"@@##$$\")) {\n var quesValue=answer.Question_Text__c.split(\"@@##$$\");\n answers = {};\n answers = {\n // groupText:answer.Question_Text__c,\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\n ansValue: bqAnswerValue,\n };\n quesNo++;\n this.summary.push(answers);\n }\n }*/\n if(answer.Answer_Long__c.includes(\"@@##$$\")){\n var answervalues = answer.Answer_Long__c.split(\"@@##$$\");\n //console.log('value')\n answers = { \n //groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: answervalues,\n };\n //console.log(answers)\n this.summary.push(answers);\n }\n else{\n answers = { \n //groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: answer.Answer_Long__c,\n };\n this.summary.push(answers);\n }\n } else {\n // var ans1 = answer.Answer_Long__c.split(\"@@##$$\");\n answers = { \n //groupText:answer.Question_Group_Text__c,\n quesValue: answer.Question_Rich_Text__c,\n ansValue: answer.Answer_Long__c,\n };\n this.summary.push(answers);\n }\n }\n }\n };\n\n private failureReadBook = (response) => {\n console.log('Inside the failureReadBook');\n console.log(response);\n };\n\n private readAnswerbook = (uuid: string) => {\n if(this.serv = \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"AnswerBook\", \"read\", uuid],\n this.successAnswerBookRead,\n this.failureAnswerBookRead\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"AnswerBook\", \"read\", uuid],\n this.successAnswerBookRead,\n this.failureAnswerBookRead\n );\n }\n }\n\n\n private successAnswerBookRead = (response) => {\n if (this.abItem?.Status__c == \"Completed\") {\n for (var answer of this.abItem.Answers__r.records) {\n var av = answer.Answer_Long__c.split(\"@@##$$\");\n var answers = { quesValue: answer.Question_Rich_Text__c, ansValue: av, groupText:answer.Question_Group_Text__c };\n //console.log(answers)\n this.summary.push(answers);\n }\n this.handleEvent.emit(\"Summaryupdated\");\n }\n };\n\n private failureAnswerBookRead = (response) => {\n //console.log('inside failureread');\n //console.log(response);\n };\n\n private readQuestion = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Question\", \"read\", uuid],\n this.successRead,\n this.failureRead\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Question\", \"read\", uuid],\n this.successRead,\n this.failureRead\n );\n }\n }\n\n private successRead = (response) => {\n // console.log('Inside the successRead new');\n // console.log(response);\n // console.log(this.questionItem);\n // Reset the Variables\n\n if (this.questionItem) {\n this.inpValue = \"\";\n this.answerWrap = new AnswerWrapper();\n this.optionValues = [];\n this.subQuestions = [];\n this.resetFlag(this.questionItem.Type__c);\n }\n this.questionItem = response.question;\n // console.log(this.questionItem);\n\n if(this.questionItem.Type__c === 'Alphanumeric'){\n this.splCCBackClick = true;\n }\n\n this.currentQuestionId = this.questionItem.Id;\n this.handlePage.emit(this.questionItem.Tracking_ID__c);\n // Handle the subQuestion options\n if (response.sqOptions) {\n //var newRecords = [];\n for (var q of this.questionItem.Questions__r.records) {\n //console.log(q.Name);\n var sq = response.sqOptions[q.Id];\n if (sq) {\n //console.log('found options for subquestion ' + q.Name);\n if (!q.Question_Options__r) {\n q.Question_Options__r = sq.Question_Options__r;\n }\n }\n }\n }\n this.processQuestion();\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\n this.questionItem.Additional_Rich__c\n );\n this.trackId();\n };\n\n trackId() {\n var qtrackId = this.questionItem.Tracking_ID__c;\n //console.log('trackId-question'+qtrackId);\n }\n\n private failureRead = (response) => {\n //console.log('inside failureread');\n //console.log(response);\n };\n\n private saveAnswer = () => {\n // Set the Answer Number based on the Question Stack Length\n if (this.inpValue != \".\") {\n this.currentQuestionId = null;\n }\n this.answerWrap.ansNumber = this.questionStack.length + 1;\n\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\n this.successSave,\n this.failureSave\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\n this.successSave,\n this.failureSave\n );\n }\n };\n\n htmlDecode(input) {\n var doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n\n private successSave = (response) => {\n if (response.status == \"success\") {\n //this.abItem = response.answerbook;\n this.answerMap.set(response.answer.quesId, response.answer);\n } else {\n this.questionItem.error = new ErrorWrapper();\n this.questionItem.error.errorMsg = response.error.errorMsg;\n }\n if(!this.backButtonFlag){\n this.next();\n }\n };\n\n private failureSave = (response) => {\n //console.log('inside failureSave');\n //console.log(response);\n };\n\n private processQuestion = () => {\n // console.log('Inside the processQuestion');\n // console.log('splCCBackClick = '+this.splCCBackClick);\n // console.log(this.questionStack);\n //console.log(this.questionItem);\n this.pop = true;\n\n // if(!this.back){\n // this.questionName.push(this.questionItem.Name)\n // }\n\n if (this.qbItem.Progress_Bar__c === true) {\n if (!this.back) {\n this.questionName.push(this.questionItem.Name);\n }\n this.back = false;\n if (this.questionName[0] === this.questionName[1]) {\n this.questionName.pop();\n }\n\n this.currentName = this.questionItem.Name;\n this.pathquestion = this.questionName.indexOf(this.currentName);\n this.possibilities = this.qbItem.Possibilities__c;\n }\n\n this.myDatePickerOptions;\n this.day();\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\n\n // Set the Flags to show right fields\n this.setFlag(this.questionItem.Type__c);\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\n\n // Check the existing answer from answerMap\n if (this.answerMap.has(this.questionItem.Id)) {\n // //console.log(\"existing answer found for this.questionItem.Name\");\n var eAnswer = this.answerMap.get(this.questionItem.Id);\n // Get the existing answer from the Map\n this.inpValue = eAnswer.ansValue;\n //console.log('inpValue has been set to ' + this.inpValue);\n if (this.attachmentsMap.has(this.questionItem.Id)) {\n this.attachments = this.attachmentsMap.get(this.questionItem.Id);\n }\n } else {\n //console.log('inside removing attachment array');\n this.attachments = [];\n }\n // console.log(this.inpValue);\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\n // console.log('Inside the if cond');\n this.splCCBackClick = false;\n this.inpValue = this.inpValue.replace('ES','');\n }\n\n if (this.checkboxFlag) {\n // Set the Options for Checkbox\n this.setOptions(this.questionItem.Question_Options__r.records);\n } else if (this.bookFlag) {\n //console.log('Inise the expected bookFlag cond');\n //console.log('dtFlag = '+this.dtFlag);\n this.setSubQuestions(this.questionItem.Questions__r.records);\n } else if (this.listFlag) {\n // Set the LocalSubQuestions\n // console.log('inside list flag');\n // console.log(this.questionItem.Questions__r.records);\n // console.log(this.abItem.Questions__r.records);\n if(!this.localSubQMap.has(this.questionItem.Id)){\n this.setSubQuestions(this.questionItem.Questions__r.records);\n } \n } else if (this.dtFlag) {\n //console.log('Inise the unexpected dtFlag cond');\n this.selectedHour = \"\";\n this.selectedMinute = \"\";\n this.selDate = \"\";\n // 2021-5-16T00:00\n if (this.dateMap.has(this.questionItem.Id)) {\n this.selDate = this.dateMap.get(this.questionItem.Id);\n }\n if (this.selectedhourMap.has(this.questionItem.Id)) {\n this.selectedHour = this.selectedhourMap.get(this.questionItem.Id);\n }\n if (this.selectedminuteMap.has(this.questionItem.Id)) {\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.Id);\n }\n if (this.questionItem.X24_Hours__c === true) {\n this.hours.push(\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"00\"\n );\n }\n if (this.questionItem.X24_Hours__c === false) {\n this.hours = this.hours.slice(0, 12);\n }\n if (this.dtFlag && this.inpValue) {\n var dtVal = this.inpValue.split(\"T\"); \n var dtval0 = this.inpValue.split(\" \");\n this.inpValue = dtVal[0];\n this.inpValue = dtval0[0];\n\n this.questionItem.input = dtVal[1];\n this.questionItem.input = dtval0[1];\n }\n if (\n this.questionItem.Is_Date_Backward__c ||\n this.questionItem.Is_Date_Forward__c\n ) {\n if (this.questionItem.Is_Date_Backward__c === true) {\n this.myDatePickerOptions.disableSince = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate() + 1,\n };\n }\n if (this.questionItem.Is_Date_Forward__c === true) {\n this.myDatePickerOptions.disableUntil = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate(),\n };\n }\n }\n } else if (this.fileFlag) {\n this.fileUI();\n // logic\n this.allowedFileExtension =\n this.questionItem.Allowed_File_Extensions__c.split(\";\");\n //console.log(this.allowedFileExtension);\n }\n \n if (this.qbItem.Progress_Bar__c === true) {\n this.updateProgress();\n }\n };\n\n setFlag(typ) {\n //console.log('inside setFlag for ' + typ);\n\n if (typ) {\n // Set the Flags\n if (typ == \"Text\") {\n this.textFlag = true;\n\n //this.numberFlag = true;\n } else if (typ == \"Number\") {\n this.numberFlag = true;\n } else if (typ == \"AlphaNumeric\") {\n this.alphanumericFlag = true;\n /*if(this.inpValue.length === 0){\n this.inpValue='ES'\n }*/\n } else if (typ == \"Email\") {\n this.emailFlag = true;\n } else if (typ == \"File\") {\n this.fileFlag = true;\n } else if (typ == \"DateTime\") {\n this.dtFlag = true;\n this.timeFlag = true;\n this.dateFlag = true;\n } else if (typ == \"TextArea\") {\n this.taFlag = true;\n } else if (typ == \"Radio\") {\n this.radioFlag = true;\n } else if (typ == \"Dropdown\") {\n this.dropdownFlag = true;\n } else if (typ == \"Checkbox\") {\n this.checkboxFlag = true;\n } else if (typ == \"Book\") {\n this.bookFlag = true;\n }else if (typ == 'List'){\n this.listFlag = true;\n } else if (typ == \"Time\") {\n //console.log('Inside the Time cond');\n this.dtFlag = true;\n this.timeFlag = true;\n //console.log(this.dtFlag);\n } else if (typ == \"Date\") {\n //console.log('Inside the Date cond');\n this.dtFlag = true;\n this.dateFlag = true;\n //console.log(this.dtFlag);\n }\n }\n }\n\n resetFlag(typ) {\n if (typ) {\n // Set the Flags\n if (typ == \"Text\") {\n this.textFlag = false;\n //this.numberFlag = false;\n } else if (typ == \"Number\") {\n this.numberFlag = false;\n } else if (typ == \"Alphanumeric\") {\n this.alphanumericFlag = false;\n } else if (typ == \"Email\") {\n this.emailFlag = false;\n } else if (typ == \"File\") {\n this.fileFlag = false;\n } else if (typ == \"DateTime\") {\n this.dtFlag = false;\n this.dateFlag = false;\n this.timeFlag = false;\n } else if (typ == \"TextArea\") {\n this.taFlag = false;\n } else if (typ == \"Radio\") {\n this.radioFlag = false;\n } else if (typ == \"Dropdown\") {\n this.dropdownFlag = false;\n } else if (typ == \"Checkbox\") {\n this.checkboxFlag = false;\n } else if (typ == \"Book\") {\n this.bookFlag = false;\n } else if (typ == 'List'){\n this.listFlag = false;\n } else if (typ == \"Time\") {\n this.dtFlag = false;\n this.timeFlag = false;\n } else if (typ == \"Date\") {\n this.dtFlag = false;\n this.dateFlag = false;\n }\n }\n }\n\n setOptions(records) {\n for (var opt of records) {\n var ov = new OptionValue();\n ov.Id = opt.Id;\n ov.Name = opt.Name;\n ov.Value__c = opt.Value__c;\n ov.Next_Question__c = opt.Next_Question__c;\n ov.checked = false;\n\n if (\n this.inpValue &&\n this.inpValue.split(\"@@##$$\").includes(opt.Value__c)\n ) {\n ov.checked = true;\n }\n\n this.optionValues.push(ov);\n }\n }\n\n // Capture and Process Child Event\n childEventCapture(event, ques?:any) {\n console.log('inside childEventCapture ');\n console.log(event);\n this.changeService.announceChange(event);\n //ques.input = event; // here when using the ng-select got event as value\n }\n\n setSubQuestions(records) {\n // console.log('inside setSubQuestions');\n // console.log(records);\n var qaMap = new Map();\n // console.log(this.inpValue);\n if (this.inpValue) {\n var aIndex = 0;\n // search changed as semi colon because of address contains comma \n if ((this.inpValue.search(\"; \") == -1)) {\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\n // this.inpValue = withoutAnswerString;\n this.inpValue = this.inpValue + '@@##$$' ;\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\n aIndex++;\n qaMap.set(aIndex, ansStr);\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\n }\n } else {\n for (var ansStr of this.inpValue.split(\"; \")) {\n aIndex++;\n qaMap.set(aIndex, ansStr);\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\n }\n }\n }\n // console.log('after setting values from inpvalue qa map are');\n // console.log(qaMap);\n\n for (var ques of records) {\n if (ques.Type__c == \"File\") {\n this.valueName1 = ques.Allowed_File_Extensions__c;\n //console.log(this.valueName1);\n }\n\n var ans = '';\n if (qaMap.has(ques.Question_No__c)) {\n ques.input = qaMap.get(ques.Question_No__c);\n // console.log('after fetching map values');\n // console.log(ques.input);\n if(ques.input.indexOf('$$@@##') > 0){\n // console.log('answer supposed to be trimmed');\n // console.log(ques.input);\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\n // console.log(ans);\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\n // console.log(ques.input);\n }\n }\n\n if ((ques.Type__c === \"Date\") && (ques.Is_Date_Backward__c || ques.Is_Date_Forward__c)) {\n //console.log('Inside the date backward/forward cond');\n if (ques.Is_Date_Backward__c === true) {\n //console.log('Inside the Is_Date_Backward__c');\n this.myDatePickerOptions.disableSince = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate() + 1,\n };\n }\n if (ques.Is_Date_Forward__c === true) {\n //console.log('Inside the Is_Date_Forward__c');\n this.myDatePickerOptions.disableUntil = {\n year: this.today.getFullYear(),\n month: this.today.getMonth() + 1,\n day: this.today.getDate(),\n };\n }\n //console.log(this.myDatePickerOptions);\n }\n\n this.subQuestions.push(ques);\n for(var i=0; i<this.subQuestions.length;i++){\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\n if(this.subQuestions[i].Size__c == 4){\n this.subQuestions[i].dropDownOnly = true;\n }else{\n this.subQuestions[i].dropDownOnly = false;\n }\n }\n if(ans != ''){\n for(var an of (ans.split('$$@@##'))){\n var sQ = new Question();\n Object.assign(sQ,ques);\n sQ.input = an;\n this.subQuestions.push(sQ);\n }\n }\n }\n if (this.valueName1 != null && this.valueName1.length > 0) {\n this.bookFlagAccept = this.valueName1.split(\";\");\n //console.log(this.subQuestions);\n }\n this.structLocalSubQuestion(null);\n }\n\n optionChange(selValue) {\n let radioTrackingId: string = \"\";\n for (var opt of this.questionItem.Question_Options__r.records) {\n //console.log('optionChange TrackingId'+opt.Tracking_ID__c);\n if (opt.Value__c == selValue) {\n //console.log('inside if'+opt.Tracking_ID__c)\n radioTrackingId = opt.Tracking_ID__c;\n }\n }\n\n this.handleEvent.emit(radioTrackingId);\n this.clearError();\n // //console.log('inside optionChange using ' + selValue);\n\n this.inpValue = selValue;\n }\n\n clearError() {\n if (this.questionItem.error) {\n this.questionItem.error = null;\n }\n }\n\n clearLocalSubQuesError(quesId) {\n quesId.error = null;\n }\n\n inputValidate(e) {\n var keyCode = e.keyCode || e.which;\n // Only ASCII character in that range allowed\n var ASCIICode = (e.which) ? e.which : e.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\n return false;\n }else{\n return true;\n }\n }\n\n CCOnChange(inpValue: string) {\n\n if (inpValue.length == 2) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 7) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 12) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 17) {\n this.inpValue += \" \";\n }\n else if (inpValue.length == 22) {\n this.inpValue += \" \";\n }\n\n }\n\n isNotValidAccNumber(s: string) {\n s = s.replace(/\\s+/g, \"\");\n s = 'ES' + s;\n var isNotValidStr = false;\n if (s.length == 24) {\n for (var i = 0; i < s.length; i++) {\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\n //console.log(\"Valid char: \" + s.charAt(i));\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\n //console.log(\"Valid numeric: \" + s.charAt(i));\n } else {\n isNotValidStr = true;\n //console.log(\"Not a valid char\");\n }\n }\n } else {\n isNotValidStr = true;\n //console.log(\"Not a valid acc number\");\n }\n return isNotValidStr;\n }\n\n clearSQError(quesId) {\n var sqList = this.subQuestions.filter((item) => item.Id == quesId);\n for (var sq of sqList) {\n sq.error = null;\n }\n }\n\n uploadFile(event,ques?:any) {\n //console.log('inside upload');\n this.clearError();\n this.fileTypeIncorrect = false;\n var local = this;\n local.attachment = event.target.files[0];\n // Validate the file extension\n //console.log(local.attachment);\n let fileNameWithType: string =\n local.attachment && local.attachment.name.toLowerCase();\n if (\n !fileNameWithType.endsWith(\".jpg\") &&\n !fileNameWithType.endsWith(\".png\") &&\n !fileNameWithType.endsWith(\".pdf\") &&\n !fileNameWithType.endsWith(\".jpeg\") &&\n !fileNameWithType.endsWith(\".heic\") &&\n !fileNameWithType.endsWith(\".heif\") &&\n !fileNameWithType.endsWith(\".JPG\") &&\n !fileNameWithType.endsWith(\".PNG\") &&\n !fileNameWithType.endsWith(\".PDF\") &&\n !fileNameWithType.endsWith(\".JPEG\") &&\n !fileNameWithType.endsWith(\".HEIC\") &&\n !fileNameWithType.endsWith(\".HEIF\")\n ) {\n local.fileTypeIncorrect = true;\n }\n // Return when the file type is incorrect\n if (local.fileTypeIncorrect) {\n return;\n }\n let fileContent: any;\n var reader = new FileReader();\n\n reader.onload = function () {\n fileContent = reader.result;\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\n // Upload the file to Salesforce when the limit is within range\n if (!local.fileExceededLimit) {\n let fileWrapper = new AttachmentWrapper();\n fileWrapper.parentId = local.abItem.Id;\n fileWrapper.fileName = local.attachment.name;\n fileWrapper.fileContent = fileContent;\n local.createAttachment(fileWrapper);\n ques.input = fileWrapper.fileName;\n }\n };\n this.spinner.show(this.spinnerName);\n reader.readAsDataURL(event.target.files[0]);\n }\n\n private successAttachmentCreate = (response) => {\n let createdAttachment: Attachment = new Attachment(\n response.attachmentId,\n response.attachmentName,\n this.attachment.lastModifiedDate\n );\n this.attachments.push(createdAttachment);\n this.attachmentsMap.set(this.questionItem.Id, this.attachments);\n this.spinner.hide(this.spinnerName);\n };\n\n private successAttachmentDelete = (response) => {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].attachmentId === this.attachmentId) {\n this.attachments.splice(i, 1);\n }\n }\n };\n\n private failureAttachmentCreate = (response) => {\n //console.log('inside failureAttachmentCreate');\n };\n\n private failureAttachmentDelete = (response) => {\n //console.log('inside failureAttachmentDelete');\n };\n\n handleSubmitClick() {\n this.handleEvent.emit(this.qbItem.Submit_Tracking_ID__c);\n this.updateAnswerBook(this.abItem.Id);\n }\n\n handleCancelClick() {\n this.handleEvent.emit(this.qbItem.Cancel_Tracking_ID__c);\n }\n\n private createAttachment = (fileWrapper: any) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\n this.successAttachmentCreate,\n this.failureAttachmentCreate\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\n this.successAttachmentCreate,\n this.failureAttachmentCreate\n );\n }\n }\n\n deleteAttachment(attachmentId: string) {\n this.attachmentId = attachmentId;\n this.handleEvent.emit(\"deleteAttachment\");\n this.deleteSFAttachment(attachmentId);\n }\n\n private deleteSFAttachment = (fileId: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Attachment\", \"delete\", fileId],\n this.successAttachmentDelete,\n this.failureAttachmentDelete\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Attachment\", \"delete\", fileId],\n this.successAttachmentDelete,\n this.failureAttachmentDelete\n );\n }\n }\n\n getFileName(fileNamewithIdandType) {\n //truncate file path\n var fileNameWithType = fileNamewithIdandType.substr(\n fileNamewithIdandType.indexOf(\"::::\") + 4\n );\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\n }\n fileUI() {\n if (this.attachments.length === 0) {\n }\n }\n\n //Update function for categorization\n // stepperCateg() {\n // this.firstFormGroup = this._formBuilder.group({\n // firstCtrl: ['', Validators.required]\n // });\n // this.secondFormGroup = this._formBuilder.group({\n // secondCtrl: ['', Validators.required]\n // });\n\n // }\n\n // Update Function for the Progress Bar\n updateProgress() {\n if (this.qbItem.Progress_Bar__c === true) {\n let j = [];\n for (let i = 0; i < this.possibilities.total; i++) {\n var pathposs = Object.values(this.possibilities.paths[i].questions);\n if (pathposs[this.pathquestion] === this.currentName) {\n j.push(i);\n this.check = true;\n } else {\n this.check = false;\n }\n }\n if (j.length === 1) {\n this.count = j[0];\n }\n if (j.length > 1) {\n var width =\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\n this.progressStyle = Math.round(width) + \"%\";\n } else if (j.length === 1) {\n var width =\n 90 *\n (this.questionStack.length /\n this.possibilities.paths[this.count].count);\n this.progressStyle = Math.round(width) + \"%\";\n }\n this.percent = +Math.round(width);\n }\n }\n\n townName(area) {\n this.selectedValue = area.town;\n //console.log('this value='+this.selectedValue)\n this.tempoAddress = [];\n }\n\n getTownLocal() {\n this.tempoAddress = [];\n if (this.selectedValue.length > 0) {\n for (var val of this.localaddress) {\n if (\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\n ) {\n //console.log(val.country)\n this.tempoAddress.push(val);\n //console.log('tempoAddress'+this.tempoAddress)\n if (this.tempoAddress.length == 6) {\n break;\n }\n }\n }\n }\n document.getElementById(\"selectList\").style.display = \"block\";\n this.setSearchListWidth();\n }\n\n clearList() {\n setTimeout(() => {\n this.tempoAddress = [];\n }, 500);\n }\n\n setSearchListWidth() {\n //to resize search list based on the screen size\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\n }\n\n getCode(){\n this.tempoAddress = [];\n if (this.selectedPostalcode.length > 0) {\n for (var val of this.allAddress) {\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\n //console.log(val.country)\n this.tempoAddress.push(val);\n //console.log('tempoAddress'+this.tempoAddress)\n if (this.tempoAddress.length == 6) {\n break;\n }\n }\n }\n }\n document.getElementById(\"selectList\").style.display = \"block\";\n this.setSearchListWidth();\n }\n getPostalcode(value){\n this.places=[];\n this.province=[];\n var province;\n var town;\n this.selectedPostalcode = value.zipCode;\n this.selectedValue = value.country;\n this.tempoAddress=[];\n\n \n for(var val of this.localaddress){\n if(this.selectedPostalcode == val.zipCode ){\n this.places.push(val);\n this.province.push(val);\n this.selectedValue = val.country;\n province = val.province\n town = val.town;\n }\n }\n if(this.places.length == 1){\n \n this.selectedProvince =province;\n this.selectedCity = town;\n }else if(this.places.length >1 || this.places.length ==0){\n \n this.selectedCity ='';\n this.selectedProvince='';\n }\n }\n closeDropdown() {\n if(this.selectedPostalcode.length == 5){\n this.getPostalcode({zipCode:this.selectedPostalcode});\n }\n\n setTimeout(()=> {\n document.getElementById('selectList').style.display = \"none\";\n }, 500);\n }\n\n\n //Plus button implementation.\n structLocalSubQuestion(ques: LocalQuestion){\n // console.log('inside structLocalSubQuestion');\n for(var i = 0; i < this.subQuestions.length; i++){\n var localSubQuestion = new LocalQuestion();\n localSubQuestion.Id = this.subQuestions[i].Id;\n localSubQuestion.Name = this.subQuestions[i].Name;\n localSubQuestion.Question__c = this.subQuestions[i].Question__c;\n localSubQuestion.Question_Text__c = this.subQuestions[i].Question_Text__c;\n localSubQuestion.Type__c = this.subQuestions[i].Type__c;\n localSubQuestion.Title__c = this.subQuestions[i].Title__c;\n localSubQuestion.SubTitle__c = this.subQuestions[i].SubTitle__c;\n localSubQuestion.Is_Optional__c = this.subQuestions[i].Is_Optional__c;\n localSubQuestion.Error_Message__c = this.subQuestions[i].Error_Message__c;\n localSubQuestion.Next_Question__c = this.subQuestions[i].Next_Question__c;\n localSubQuestion.Group__c = this.subQuestions[i].Group__c;\n localSubQuestion.Question_No__c = this.subQuestions[i].Question_No__c;\n localSubQuestion.Allowed_File_Extensions__c = this.subQuestions[i].Allowed_File_Extensions__c;\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].Id + i; \n localSubQuestion.input = this.subQuestions[i].input;\n this.localSubQuestions.push(localSubQuestion);\n }\n // console.log('final local sub questions');\n // console.log(this.localSubQuestions);\n // console.log(this.questionItem.Id);\n this.localSubQMap.set(this.questionItem.Id,this.localSubQuestions);\n this.localSubQuestions = [];\n // console.log('final key localSubQMap map');\n // console.log(this.localSubQMap);\n }\n\n addInputBox(question: LocalQuestion, index: number){\n var arra = this.localSubQMap.get(this.questionItem.Id);\n var qIndex = arra.indexOf(question);\n var ques: LocalQuestion = new LocalQuestion();\n Object.assign(ques, question);\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\n if(this.keyIndex == index){\n ques.uniqueSubQId = ques.Id + (String(index+1));\n this.keyIndex++;\n }else{\n this.keyIndex++;\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\n }\n ques.input = '';\n arra.splice(qIndex+1, 0, ques);\n\n this.localSubQMap.set(this.questionItem.Id,arra);\n //console.log(this.localSubQMap);\n }\n\n removeAddress(quesUniqueId: string, qName: string) {\n //console.log(quesUniqueId)\n var val = this.localSubQMap.get(this.questionItem.Id);\n var keyindex = 0;\n\n for(let i=0; i<val.length; i++){\n if(val[i].Name == qName){\n keyindex++;\n }\n }\n\n if(this.localSubQMap.has(this.questionItem.Id) && keyindex >1){\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\n this.localSubQMap.set(this.questionItem.Id,reorder);\n keyindex--;\n }\n }\n\n getLocalSubQuestions(id: String){\n return this.localSubQMap.get(id);\n }\n\n //Single Add button functionality for List type\nAdd(question: LocalQuestion){\n this.addFlag = false;\n var arra = this.localSubQMap.get(this.questionItem.Id);\n var index = arra.length;\n var a = arra.slice(-1).pop();\n this.indexCount = a.Question_No__c;\n \n for (var i = 0; i < this.indexCount ; i++) {\n var ques: LocalQuestion = new LocalQuestion();\n Object.assign(ques, question[i]);\n this.keyIndex++;\n ques.uniqueSubQId = ques.Id + (String(this.keyIndex));\n ques.input = '';\n arra.splice(index+(this.indexCount-1), 0, ques);\n this.localSubQMap.set(this.questionItem.Id,arra);\n } \n this.addFlag = true;\n }\n \n handleLocationSelected(location: any,ques:any) {\n ques.input = location;\n }\n\n selectedInput(input:any ,ques:any){ \n ques.input = input;\n }\n\n handleTextareaValueChange(value :string){\n console.log('Selected text-area text:', value);\n }\n getData(data:any){\n console.log('table data',data);\n }\n\n dependentChange(value:any){\n this.nextValue = value;\n }\n\n displayDate(dateSelected: any,ques:any){\n // Parse the date string using moment and assign it to this.selectedDate\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\n }\n\n getKey(item: any): any {\n return Object.keys(item)[0];\n }\n \n getValue(item: any): any {\n return Object.values(item)[0];\n }\n}","<!-- Spinner -->\n<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\n\n<!-- Back Processing -->\n<div *ngIf=\"backicon == false\" >\n <div class=\"backicon\" [style.visibility]=\"questionStack.length >0 ? 'visible' : 'hidden'\">\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.Status__c == 'Completed' ? 'summary-volver':'app-back1'\">\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.Back__c }}\n </button>\n </div>\n</div>\n\n<!-- Question Hanlding -->\n<div *ngIf=\"questionItem\" [class]=\"qbItem.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\n <!-- Progress Bar & Title -->\n <div *ngIf=\"questionItem.Title__c && qbItem.Progress_Bar__c\">\n <h1 class=\"header1\">{{ questionItem?.Title__c }}</h1>\n <div class=\"header2\">{{ questionItem?.SubTitle__c }}</div>\n </div>\n\n <!-- Progress & Grouping -->\n <div [ngClass]=\"{ questiondiv2: !qbItem?.Progress_Bar__c }\">\n <!-- Pie Chart Progress -->\n <div [ngClass]=\"{ bgColor: qbItem?.Progress_Bar__c }\">\n <div id=\"progress\" *ngIf=\"qbItem?.Progress_Bar__c\">\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\n [startFromZero]=\"false\" [responsive]=\"false\" >\n </circle-progress>\n </div>\n </div>\n\n <!-- Show the Group/Module related to the Progress -->\n <div *ngIf=\"questionItem.Group__c && qbItem.Progress_Bar__c\"\n [ngClass]=\"{ questionalign: !qbItem?.Progress_Bar__c }\">\n <div class=\"largeTitle\">\n <h3 class=\"myt-font6 myt-text3\">\n {{ questionItem?.Group__c }}\n </h3>\n <div *ngIf=\"questionItem.Sub_Text__c != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.Sub_Text__c}}</div>\n <div *ngIf=\"questionItem.Sub_Text__c === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.Sub_Text__c}}</div>\n </div>\n </div>\n </div>\n\n <!-- Question Handling -->\n <div class=\"questiondiv2\">\n <!-- Title -->\n <div *ngIf=\"questionItem.Is_Title__c\">\n <div *ngIf=\"questionItem.Type__c != 'Book' && questionItem.Question_No__c!='6' && questionItem.Question_No__c!='9'\"> \n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\n {{questionItem?.Question_Text__c}}\n </h3>\n </div>\n </div>\n <div *ngIf=\"!questionItem.Is_Title__c\" [class]=\"qbItem.isShengel__c ? 'header-style additional' : 'question-f-size additional'\">\n <div [innerHTML]=\"getText(questionItem?.Question_Text__c)\" >\n {{ questionItem?.Question_Text__c }}\n </div>\n </div>\n\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\n <div *ngIf=\"questionItem.Type__c == 'Book'\">\n <div *ngIf=\"questionItem.Question_No__c=='6'\">\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\n {{ questionItem?.Question_Text__c }}\n </h3>\n </div>\n </div>\n \n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\n <div *ngIf=\"questionItem.Type__c == 'File' \">\n <div *ngIf=\"questionItem.Question_No__c=='9'\">\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\">\n {{questionItem?.Question_Text__c}}\n </h3>\n </div>\n </div>\n </div>\n\n <!-- Additional Info -->\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\n <div *ngIf=\"questionItem.Additional_Rich__c && qbItem.Progress_Bar__c\" >\n <div\n class=\"additional \" [innerHTML]=\"innerhtml\">\n </div>\n </div>\n <div *ngIf=\"questionItem.Additional_Rich__c && !qbItem.Progress_Bar__c\">\n <div class=\"info-alert ques-alert1\">\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\n </div>\n </div>\n\n <!-- Dropdown-->\n <div *ngIf=\"dropdownFlag\" >\n <div class=\"dis-flex\">\n <select \n [ngClass]=\"{\n 'dt-line myt-align3 myt-align2 dpDown dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.Progress_Bar__c,\n 'custom-select': !qbItem?.Progress_Bar__c\n }\" class=\"mr-sm-2 dd-height dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\" style=\"margin-left: 21.5rem !important;\">\n <option *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"option\" value=\"{{ opt.Value__c }}\">\n {{ opt.Value__c }}\n </option>\n <option value=\".\" disabled hidden>Bitte treffen Sie eine Auswahl</option>\n </select>\n </div>\n </div>\n\n <!-- Radio -->\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\n {{ questionItem?.Error_Message__c }}\n </div>\n <div class=\"dis-flex\">\n <div *ngFor=\"let opt of questionItem.Question_Options__r.records\" class=\"radio radioOption\" >\n <label class=\"radiocontainer container myt-font4\">{{ opt.Value__c }}\n <input type=\"radio\" [id]=\"opt.Id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" value=\"{{ opt.Value__c }}\"\n (change)=\"optionChange(opt.Value__c)\" />\n <span class=\"checkmark\"></span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Checkbox -->\n <div *ngIf=\"checkboxFlag\" class=\"\">\n <div *ngIf=\"this.questionItem.error\" class=\"cond-div2\">\n {{ questionItem?.Error_Message__c }}\n </div>\n <div class=\"dis-flex\">\n <div *ngFor=\"let item of optionValues\" class=\"radio col-md-6 optiondiv\">\n <label class=\" container1 \" >{{ item.Value__c }}\n <input type=\"checkbox\" [id]=\"item.Id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\n <span class='checkmark1'></span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"textFlag\" class=\"col-md-12 myt-book1\">\n <div class=\"col-md-12\" class=\"dis-flex myt-align1\" [class]=\"'col-md-' + questionItem?.Size__c + ' paddingnone'\">\n <input type=\"text\" [(ngModel)]=\"inpValue\" [ngClass]=\"{\n 'boxoutline myt-font1 myt-book1': qbItem?.Progress_Bar__c,\n textBox1: !qbItem?.Progress_Bar__c\n }\" id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n\n <!-- Text Area -->\n <div *ngIf=\"taFlag\" class=\"col-md-12\">\n <div class=\"dis-flex\">\n <textarea class=\"ta-input\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\n this.questionItem?.error\n ? 'red'\n : inpValue?.length > 0 && taFocusOut\n ? '#87be1c'\n : ''\n }}\" (focusout)=\"taFocusOut = true\"\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\n <i class=\"fa fa-check check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\"></i>\n </div>\n </div>\n\n <!-- CC Number Format -->\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\n <div class=\"dis-flex\">\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\"\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\n this.questionItem.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" />\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\n *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n <!-- END-->\n\n <!-- AlphaNumeric -->\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\n <div style=\"position:relative;\">\n <input type=text placeholder=\"0 of 0\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\n </div>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\n <div class=\"dis-flex\">\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.Progress_Bar__c }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\n this.questionItem.error\n ? 'red'\n : inpValue?.length > 0\n ? '#87be1c'\n : ''\n }}\" />\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\n *ngIf=\"inpValue?.length > 0\"></i>\n </div>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero myt-time1\" >\n <!-- Error Handling -->\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n\n <!-- Date -->\n <div *ngIf=\"dateFlag\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\n <div class=\"dis-flex\">\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\">\n </my-date-picker>\n </div>\n </div>\n </div>\n\n <!-- Time -->\n <div *ngIf=\"timeFlag\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\n <div class=\"dis-flex\">\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\n dateandTime: !qbItem?.Progress_Bar__c}\" \n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\n (focus)=\"(clearSQError) \">\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\n (focus)=\"clearError()\">\n <option value=\"\">HH</option>\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\n {{ hour }}\n </option>\n </select>\n <span class=\"colon\"> : </span>\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\n (focus)=\"clearError()\">\n <option value=\"\">MM</option>\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\n {{ minute }}\n </option>\n </select>\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem?.X24_Hours__c == false\">\n <span class=\"colon\"> : </span>\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n <!-- <div [ngClass]=\"{'': qbItem.Progress_Bar__c, 'dateandTime': !qbItem.Progress_Bar__c}\"></div> -->\n </div>\n </div>\n </div>\n </div>\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\n </div>\n </div>\n\n <!-- Attachment / File -->\n <div *ngIf=\"fileFlag\">\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\n <label class=\"picture-upload\" for=\"file-upload\">\n <span class=\"picture-upload-child\">\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\n </span>\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\n <i class=\"\" aria-hidden=\"true\"></i>\n </span>\n </label>\n </div>\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event)\" />\n </div>\n <ul *ngIf=\"\n attachments?.length > 0 &&\n questionItem?.Type__c === 'File' &&\n !qbItem?.Progress_Bar__c\n \" class=\"attach-ulist col-md-12\">\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\n {{ attachment.attachmentName\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\n </li>\n </ul>\n\n <!-- Attachment Progress -->\n <div *ngIf=\"qbItem.Progress_Bar__c\">\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\n </div>\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\n \n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.Question_Text__c)\"> {{ questionItem?.Question_Text__c}}</span>\n <label class=\"file-label \">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\n class=\"file-upload-btn\">\n </label>\n </div>\n </div>\n </div>\n\n <!-- Book -->\n <div *ngIf=\"bookFlag\">\n <div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\" [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.Id\">\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\n </div>\n <div class=\"col-md-12 paddingZero myt-dateTimeNew\" *ngIf=\"ques.Type__c === 'Time' || ques.Type__c === 'Date'\">\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Date_Text__c }}</label>\n <div class=\"dis-flex dateandtime\">\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event)\"\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"Seleccione fecha\" (focus)=\"clearError()\" >\n </my-date-picker>\n </div>\n </div>\n </div>\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <div class=\"col-md-12 paddingBottom\">\n <label class=\"date-time colorf\">{{ questionItem?.Time_Text__c }}</label>\n <div class=\"dis-flex dateandtime\">\n <div [ngClass]=\"{'dt-line date-line dt-time': qbItem?.Progress_Bar__c,\n dateandTime: !qbItem?.Progress_Bar__c}\" \n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\n (focus)=\"(clearSQError) \">\n <select name=\"hours\" class=\"datetime showHour myt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\n (focus)=\"clearError()\">\n <option value=\"\">HH</option>\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\n {{ hour }}\n </option>\n </select>\n <span class=\"colon\"> : </span>\n <select name=\"minutes\" class=\"datetime showminute myt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\n (focus)=\"clearError()\">\n <option value=\"\">MM</option>\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\n {{ minute }}\n </option>\n </select>\n <div [ngClass]=\"{ colon1: qbItem?.Progress_Bar__c }\" *ngIf=\"questionItem.X24_Hours__c == false\">\n <span class=\"colon\"> : </span>\n <select name=\"AM/PM\" class=\"myt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\n <option value=\"AM\">AM</option>\n <option value=\"PM\">PM</option>\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\n </div>\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input\n [fromShengel]=\"qbItem.isShengel__c\"\n [value]=\"ques.input\"\n [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\"\n [question]=\"ques\" \n [idValue]=\"ques.Tracking_ID__c\"\n [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\"\n [placeholder]=\"ques.Question__c\"\n (inputValue)=\"selectedInput($event,ques)\">\n </app-custom-input>\n </div>\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <!-- for pick location -->\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\n </div>\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <div *ngIf=\"ques.Type__c === 'File'\">\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\n <span class=\"picture-upload-child\">\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\n </span>\n <span class=\"\n fa fa-plus fa-2x\n picture-upload-child\n pic-upload\n icolor\n \">\n <i class=\"\" aria-hidden=\"true\"></i>\n </span>\n </label>\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\n </div>\n\n <ul *ngIf=\"\n attachments?.length > 0 &&\n ques.Type__c === 'File' &&\n !qbItem.Progress_Bar__c\n \" class=\"attach-ulist col-md-12\">\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\n {{ attachment.attachmentName\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\n </li>\n </ul>\n <div class=\"myt-box\" *ngIf=\"qbItem.Progress_Bar__c\">\n\n <div *ngFor=\"let attachment of attachments\" class=\"file-uploading-box\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\n </div>\n <div class=\"file-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />\n <span class=\"f-Name\">{{ ques?.Question__c }}</span>\n <label class=\"file-label \">\n <span style=\"color: #c5281c;text-decoration:underline\">\n Adjuntar\n </span>\n <input name=\"attachment\" type=\"file\" placeholder=\"Ticket kaufen\" multiple\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\n class=\"file-upload-btn\">\n </label>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table \n [question]=\"ques\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <!-- for common dropdown -->\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\"\n [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\"\n [id]=\"ques.Name\"\n [selectedValue]=\"ques.input\"\n [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\"\n [error]=\"ques.error\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\n </div> \n </div>\n </div>\n </div>\n </div>\n\n <!--List start-->\n <div *ngIf=\"listFlag\">\n <div class=\"form-group\">\n <div class=\"form-row\">\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\n <div class=\"myt-align3\" [class]=\"'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.Id);let i = index\">\n <div>\n <span class=\"dis-flex myt-font3 myt-font7\">{{ ques?.Question__c }}</span>\n </div>\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\"\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\n </div>\n </div>\n <div class=\"\" *ngIf=\"addFlag\">\n <button (click)=\"Add(getLocalSubQuestions(questionItem.Id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>Add</button>\n </div>\n </div>\n </div>\n </div>\n <!--List End-->\n\n <!-- Actions -->\n <div *ngIf=\"individualBookButton\" class=\"flexer\">\n <!-- Backward / Back -->\n <div class=\"backbutton\" [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\"\n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\">\n <div [ngClass]=\"{}\">\n <button [ngClass]=\"{\n 'left-bt': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\n !qbItem.Progress_Bar__c\n }\" (click)=\"handleBackClick()\">\n {{ qbItem?.Back__c }}\n </button>\n </div>\n </div>\n\n <!-- Forward / Next -->\n <div [ngClass]=\"{ 'col-md-6': !qbItem.Progress_Bar__c }\">\n <div>\n <button [ngClass]=\"{\n 'rusty': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color':\n !qbItem.Progress_Bar__c\n }\" (click)=\"handleNextClick()\">\n {{ qbItem.Next__c }}\n </button>\n </div>\n </div>\n </div>\n</div>\n\n<!-- Summary -->\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\n 'col-md-12':!qbItem.Progress_Bar__c\n }\">\n <h1 class=\"header1 summarypadd\" >{{ qbItem.SubTitle__c }}</h1> \n <div id=\"progress2\" *ngIf=\"!qbItem.Progress_Bar__c && this.abItem.Status__c != 'Completed' \">\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\n <div *ngFor=\"let qa of summary\">\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\n <div [ngClass]=\"{ summary: !qbItem.Progress_Bar__c }\">\n <div *ngIf=\"!qbItem.Edit__c\"\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\n </div>\n <div *ngIf=\"qbItem.Edit__c\"\n [ngClass]=\"{ 'question': this.abItem.Status__c != 'Completed' }\">\n <div [ngClass]=\"{ 'question': this.abItem.Status__c === 'Completed' }\"\n [innerHTML]=\"getText(qa.quesValue)\">\n {{ qa.quesValue }}\n </div>\n </div>\n <div class=\"answer\" >\n <div *ngIf=\"qa.qTyp === 'File'\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\n {{ qa.ansValue }}\n </div>\n <div *ngIf=\"qa.qTyp != 'File'\">{{ qa.ansValue }}</div>\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"this.abItem.Status__c === 'Completed'\" class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"ePTW-details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <a data-toggle=\"collapse\" data-parent=\"#ePTW-details\" href=\"#collapseOne\" class=\"collapsed\">\n PTW Details\n </a>\n </h4>\n </div>\n <div id=\"collapseOne\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <ng-container *ngFor=\"let item of summaryData; let i = index\">\n <ng-container *ngIf=\"i % 2 === 0\">\n <div class=\"col-lg-6 m-b-30\">\n <label>{{ getKey(item) }}</label>\n <p class=\"font-size\">{{ getValue(item) || 'N/A' }}</p>\n </div>\n <div class=\"col-lg-6\" *ngIf=\"summaryData[i + 1]\">\n <label>{{ getKey(summaryData[i + 1]) }}</label>\n <p class=\"font-size\">{{ getValue(summaryData[i + 1]) || 'N/A' }}</p>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div id=\"progress2\" *ngIf=\"qbItem.Progress_Bar__c \">\n <div [ngClass]=\"{'bgColor summary-top' : qbItem.Progress_Bar__c }\" >\n <div id=\"progress-summary\" *ngIf=\"qbItem.Progress_Bar__c\">\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\n [startFromZero]=\"false\" [responsive]=\"false\" >\n </circle-progress>\n \n <div *ngIf=\"qbItem.Summary_Text__c && qbItem.Progress_Bar__c\" \n [ngClass]=\"{ summaryTitle: qbItem.Progress_Bar__c }\">\n <h3 class=\"subTitle\" >{{ qbItem.Summary_Text__c }}</h3>\n <div *ngIf=\"abItem.Status__c != 'Completed'\" class=\"subTitle1\" >{{ qbItem.Summary_Sub_Text__c}}</div>\n </div>\n </div>\n <div *ngIf=\"!qbItem.Progress_Bar__c\">\n <h3 class=\"summary-h\">\n {{ qbItem.Summary_Text__c }}\n </h3>\n </div>\n </div>\n <div [ngClass]=\"{ 'full-summary': qbItem.Progress_Bar__c }\">\n <div class=\"summary-groupText myt-font2\">\n <!-- <p>Informe de daño</p> -->\n </div>\n <div *ngFor=\"let qa of summary\" >\n <div [ngClass]=\"{ non: qbItem.Progress_Bar__c }\">\n <div [ngClass]=\"{ summary: this.abItem.Status__c != 'Completed' && !qbItem.Progress_Bar__c }\">\n <div *ngIf=\"!qbItem.Edit__c\"\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\n <a [ngClass]=\"{ asum: this.abItem.Status__c === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\n </div>\n <div *ngIf=\"qbItem.Edit__c\"\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.Status__c != 'Completed' }\">\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.Status__c === 'Completed' }\"\n [innerHTML]=\"getText(qa.quesValue)\">\n {{ qa.quesValue }}\n </div>\n </div>\n <div *ngIf=\"qbItem.Edit__c && this.abItem.Status__c != 'Completed'\" style=\"background: #dedddd;\">\n <button class=\"edit\" (click)=\"handleEditClick(qa.quesId)\">\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"icon-editios\"/>\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit\" />\n </button>\n </div>\n \n <div class=\"answer \" >\n <div *ngIf=\"qa.qTyp === 'File'\">\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"icon-edit-summary\" />\n {{ qa.ansValue }}\n </div>\n <div *ngIf=\"qa.qTyp != 'File'\">\n {{ qa.ansValue }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Answer Book -->\n <div class=\"flexer1\" *ngIf=\"abItem\">\n <div class=\"\" *ngIf=\"abItem.Status__c == 'Completed'\">\n <div class=\"col-md-12\">\n <button [ngClass]=\"{'btn-text': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\"\n (click)=\"handleCancelClick()\">\n {{ qbItem.Cancel__c }}\n </button>\n </div>\n </div>\n </div>\n\n <!-- Group Actions -->\n <div class=\"align-edit-submit\" *ngIf=\"abItem.Status__c != 'Completed'\">\n <div class=\"col-md-6\">\n <button [ngClass]=\"{ 'btn-text2': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c }\" \n (click)=\"handleSubmitClick()\">\n {{ qbItem.Submit__c }}\n </button>\n </div>\n <div class=\"col-md-6\">\n <button [ngClass]=\"{'grey': qbItem.Progress_Bar__c,\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.Progress_Bar__c}\" \n (click)=\"handleBackClickNew()\">\n {{ qbItem.Edit__c }}\n </button>\n </div>\n </div>\n\n</div>","import { Injectable } from '@angular/core';\nimport { Question } from '../wrapper';\nimport { BookletWrapper } from '../model/bookletWrapper';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n nxtBookletAnswer: BookletWrapper;\n selectedData:any;\n\n constructor() { }\n\n save(qbJson: BookletWrapper) {\n this.nxtBookletAnswer = qbJson;\n }\n\n update(questionWithInput: Question) {\n // Store the Updated Questions (with Answer/Error) in a Map\n\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\n // if(eQuestion == questionWithInput.Id) {\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\n // }\n // }\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].Questions__r;\n for(let i=0;i<questionsR.records.length;i++){\n if(questionsR.records[i].Id == questionWithInput.Id){\n questionsR.records[i] = questionWithInput;\n console.log('assigned success');\n }\n }\n }\n }\n }\n\n get() {\n // return the stored questions\n return this.nxtBookletAnswer;\n\n }\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n ViewChild,\n} from \"@angular/core\";\nimport { DataService } from '../../services/data.service';\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ItemsList } from \"@ng-select/ng-select/lib/items-list\";\nimport { ConsoleService } from \"@ng-select/ng-select/lib/console.service\";\nimport { APIMeta } from \"../../interfaces/apimeta\";\nimport { ChangeWrapper } from \"../../model/changeWrapper\";\n\n@Component({\n selector: 'lib-search-box',\n templateUrl: './search-box.component.html',\n styleUrls: ['./search-box.component.css']\n})\nexport class SearchBoxComponent implements OnInit {\n @Input() placeHolderText: string;\n @ViewChild('auto') auto;\n\n @Input() question;\n @Input() apiMeta: string;\n @Input() id: string;\n @Output() searchValueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\n apiObj:any;\n\n public filterName: string;\n public finalResults: any[] = [];\n public searchKeyWord: string = '';\n public newResult: any;\n public showResult = false;\n public noResult = false;\n public showSuggestion = true;\n private el: HTMLElement;\n private serv: string = 'api';\n private tkn: string = '';\n \n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private route: ActivatedRoute,\n private http: HttpClient,\n el: ElementRef\n ) { }\n\n ngOnInit(): void {\n\n }\n\n clearList(){\n setTimeout(()=> {\n this.finalResults = [];\n }, 1000);\n }\n\n getSourceDataLocal(event) { //to get results list from backend API whenever key is up after the entering atleast one key\n if(event.target.value.length > 2){\n this.showSuggestion=true;\n this.finalResults=[];\n this.searchKeyWord = event.target.value;\n this.showResult = false;\n this.getSourceData(event.target.value);\n } else {\n this.showSuggestion=false;\n this.finalResults = [];\n this.noResult = false;\n }\n }\n\n public apiResponse(keyword: string): Observable<any> {\n return this.http.get(keyword);\n }\n\n public getSourceData = (keyword: string) => {\n if(this.apiMeta !== undefined) {\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\n this.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\n let response = apiResponse[apiObj.variable];\n let results=[];\n for (let i = 0; i < response.length; i++) {\n if(response[i].firstName?.toLowerCase() === keyword?.toLowerCase() || response[i].lastName?.toLowerCase() === keyword?.toLowerCase()) {\n console.log('pushing ' + response[i].firstName);\n results.push(response[i]);\n }\n }\n this.noResult = !(results.length > 1);\n this.finalResults = results;\n })\n }\n }\n\n public clickItem(event) {\n // console.log('inside clickItem of ' + event.target.value);\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\n change.fromQuestionId = this.id;\n change.valueObj = event;\n this.searchValueChange.emit(change);\n }\n /*\n public getSourceData = (keyword: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"QuestionBook\", \"read\", uuid],\n this.successSourceData,\n this.failureSourceData\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"QuestionBook\", \"read\", uuid],\n this.successSourceData,\n this.failureSourceData\n );\n }\n }\n\n public successSourceData = (response) => {\n let results=[];\n results=response.results;\n results.push({uuid: null, name: \"\"});\n this.noResult = !(results.length > 1);\n this.finalResults = results;\n }\n\n public failureSourceData = (response) => {\n console.log(\"Error reading the data from API\");\n }\n */\n}\n","<div id=\"autocomplete-input\">\n <input #auto id=\"searchbox-style\"\n (blur)=\"clearList()\" \n [(ngModel)]=\"filterName\" \n type=\"text\" \n name=\"name\" \n [placeholder]=\"placeHolderText\" \n style=\"margin: 0 !important;\" \n class=\"searchInput she-line-input form-control\" \n (focusin)=\"getSourceDataLocal($event)\" \n (input)=\"getSourceDataLocal($event)\">\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \n class=\"suggestions-container\">\n <!-- <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\" *ngIf=\"item.id != null\">\n <div class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\n </div>\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\n <h4 >{{item.title}}</h4>\n <div class=\"show-for-medium\" style=\" white-space: nowrap;\n overflow: hidden;text-overflow: ellipsis;\" > {{item.description}}\n </div>\n <div *ngIf=\"item.price\" class=\"drop-list\">\n {{item.price.toFixed(2)}}\n </div>\n </div>\n </div>\n </div> -->\n <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <th>First Name</th>\n <th>Last Name</th>\n <th>Division</th>\n <th>Number Plate</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\n <td>{{ item.firstName }}</td>\n <td>{{ item.lastName }}</td>\n <td>{{ item.division }}</td>\n <td>{{ item.numberPlate }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedService {\n constructor(private __http: HttpClient) { }\n\n processViewFile(fileName: string = '',api:string) {\n if (fileName) {\n this.viewFile(fileName,api).subscribe( (apiResponse: any) => {\n if (apiResponse && apiResponse.sas_url) {\n window.open(apiResponse.sas_url, '_blank');\n }\n }, (apiError) => {\n console.error('ERROR WHILE VIEWING File');\n });\n }\n }\n\n viewFile(fileName: string = '',api:string) {\n const params = { file_name: fileName };\n return this.__http.post(api , params);\n }\n\n docIcon(ext) {\n if (ext === 'pdf') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PDF.png';\n } else if (ext === 'xlsx') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLSX.png';\n } else if (ext === 'docx') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOCX.png';\n } else if (ext === 'avi') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-AVI.png';\n } else if (ext === 'doc') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOC.png';\n } else if (ext === 'gif') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-GIF.png';\n } else if (ext === 'jpg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-JPG.png';\n } else if (ext === 'mov') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MOV.png';\n } else if (ext === 'mp3') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP3.png';\n } else if (ext === 'mp4') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP4.png';\n } else if (ext === 'mpeg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPEG.png';\n } else if (ext === 'mpg') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPG.png';\n } else if (ext === 'png') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PNG.png';\n } else if (ext === 'ppt') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PPT.png';\n } else if (ext === 'txt') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-TXT.png';\n } else if (ext === 'xls') {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLS.png';\n } else {\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_document.svg';\n }\n }\n}\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\nimport { SharedService } from '../../services/shared.service';\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.css']\n})\nexport class FileUploadComponent implements OnInit,OnChanges {\n @Output() selectedFileData = new EventEmitter<any[]>();\n @Output() deletedFileData = new EventEmitter<any>();\n @Input() allFiles;\n @Input() limitFileUploading;\n @Input() isDeleteFileButtonVisible;\n @Input() isShowNoFileIcon;\n @Input() tableFile; // file Upload from table\n\n public selectedFileNameArray: string[] = [];\n public copyOfInputAllFiles;\n public copyOfFileUploadingLimit;\n constructor(private SharedService: SharedService\n ) { }\n\n ngOnInit() { }\n\n onFileUpload(event: any) {\n const fileUploaderElement: HTMLElement = document.getElementById(\n 'fileUpload'\n ) as HTMLElement;\n fileUploaderElement.click();\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n console.log('simple changes', simpleChanges);\n this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;\n if (simpleChanges.limitFileUploading) {\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\n }\n\n }\n\n uploadMultipleFiles(event: any) {\n console.log('File uploader initiated');\n const inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\n const selectedFileData = [];\n const uploadedFiles = event.target.files;\n if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\n for (const eachUploadedFile of uploadedFiles) {\n const reader = new FileReader();\n const file: File = eachUploadedFile;\n const format = file.name.split('.')[1];\n reader.readAsDataURL(file);\n reader.onload = () => {\n selectedFileData.push({\n doc: reader.result,\n name: file.name,\n type: file.type,\n format,\n id: null,\n });\n inputFiles.push({\n doc: reader.result,\n name: file.name,\n type: file.type,\n format,\n id: null,\n });\n };\n }\n } else {\n console.warn('You can upload max 5 files');\n //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\n }\n event.target.value = '';\n this.copyOfInputAllFiles = inputFiles;\n console.log('uploadedFiles',inputFiles);\n this.selectedFileData.emit(inputFiles);\n }\n\n\n deleteFile(currentFileIndex) {\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\n console.log('emit', deletedFile[0]);\n this.deletedFileData.emit(deletedFile[0]);\n }\n\n // viewFile(currentFile) {\n // // Display file here\n // if (currentFile && currentFile.doc) {\n // this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {\n // if (apiResponse && apiResponse.sas_url) {\n // window.open(apiResponse.sas_url, '_blank');\n // }\n // }, (apiError) => {\n // this.toastr.warning('Error while viewing file', 'Warning');\n // });\n // }\n // }\n\n getDocIcon(docName) {\n const ext = docName.split('.').pop(-1);\n return this.SharedService.docIcon(ext);\n }\n\n}\n","<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <label class=\"she-label\">Attachment</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >Choose\n files</button>\n\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n Upload File\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChangeService } from '../../services/change.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-dependent-table',\n templateUrl: './dependent-table.component.html',\n styleUrls: ['./dependent-table.component.css']\n})\nexport class DependentTableComponent implements OnInit {\n\n @Input() alertMessage:any;\n\n ValueLength:boolean;\n Value:any;\n errorObj:any;\n\n constructor(private changeService: ChangeService) { \n this.changeService.changeField$.subscribe((data)=>{\n this.dependentData(data);\n })\n }\n\n ngOnInit(): void {\n this.errorObj = JSON.parse(this.alertMessage);\n }\n\n dependentData(data:any){\n let existingData = data.Permits;\n if(existingData.length !== 0) {\n this.ValueLength = true;\n this.Value = existingData;\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(252, 35, 27)\");\n } else {\n this.ValueLength = false;\n this.Value = [];\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(12, 190, 12)\");\n }\n }\n\n}\n","<div class=\"dropdown\" style=\"cursor: pointer;\">\n <span id=\"zoneIcon\"> \n <img src=\"./../../../../../assets/images/permit_icons/zone.png\" style=\"height: 35px; margin-left: 0px;\" alt=\"adv-search\">\n </span>\n <div class=\"dropdown-content\" style=\"margin-left: -300px; min-width: 415px;\">\n <div class=\"col-lg-12\">\n <table class=\"table table-striped table-bordered\">\n <tbody *ngIf=\"!ValueLength\">\n <tr>\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(12, 190, 12); text-align: center\">\n <span><b>{{ errorObj.noPermits }}</b></span>\n <span>{{ errorObj.noActive }}</span>\n </td>\n </tr>\n </tbody>\n <tbody id=\"zoneDetails\" *ngIf=\"ValueLength\">\n <tr>\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(252, 35, 27); text-align: center\">\n <span><b>{{ errorObj.permits }} ({{Value.length}})</b></span>\n <span>{{ errorObj.active }}</span>\n </td>\n </tr>\n <tr *ngFor=\"let item of Value\" >\n <td>\n <span>{{item?.permit_type}}-{{item?.ref_no}} - {{item?.status}} - {{item?.end_date}}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>","import { Component, Input, OnInit } from '@angular/core';\nimport { ChangeService } from '../../services/change.service';\n\n@Component({\n selector: 'app-custom-label',\n templateUrl: './custom-label.component.html',\n styleUrls: ['./custom-label.component.css']\n})\nexport class CustomLabelComponent implements OnInit {\n\n @Input() labelValue:string;\n\n constructor() { \n }\n\n ngOnInit(): void {\n }\n\n}\n","\n<div class=\"label\">{{ labelValue }}</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TableWrapper } from '../../model/tableWrapper';\nimport { Question } from '../../wrapper';\n\n@Component({\n selector: 'app-table-appendix',\n templateUrl: './table-appendix.component.html',\n styleUrls: ['./table-appendix.component.css']\n})\nexport class TableAppendixComponent implements OnInit {\n @Input() question: Question\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n tableInfo: TableWrapper;\n tableHeader: any;\n tableData: any;\n addRowColSpan: number;\n tableAppendix:any;\n dropDownApi :any;\n dropDownData:any;\n\n constructor() { }\n\n ngOnInit(): void {\n if(this.question.Sub_Text__c != undefined) {\n this.tableInfo = JSON.parse(this.question.Sub_Text__c);\n\n this.tableHeader = this.tableInfo.header;\n this.tableData = this.tableInfo.data;\n this.tableAppendix = this.tableInfo.tableAppendix;\n this.dropDownApi = JSON.stringify(this.tableInfo['dropdownApi']);\n this.dropDownData = this.tableInfo['dropdownData'];\n const combinedData = {\n tableData: this.tableData,\n tableAppendix: null\n };\n if (this.tableAppendix) {\n combinedData.tableAppendix = this.tableAppendix;\n }\n this.valueChange.emit(combinedData);\n\n if(this.tableData?.addRow) {\n this.addRowColSpan = this.tableHeader.length - 2;\n }\n }\n }\n\n addRow(): void {\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\n const updatedTableData = [...this.tableData, newItem];\n this.tableData = updatedTableData;\n this.emitTableDataValue(updatedTableData,this.tableAppendix);\n }\n\n updateLabel(rowIndex: number, label: string, value: string): void {\n this.tableData[rowIndex][label] = value;\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n \n updateNumber(item: any, label: string, value: string){\n item.value[label] = value;\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateToggle(item: any, header: string, value: any){\n let label = header['fieldName'];\n let toggleValue = header['toggleValue'];\n if(label == 'test1'){\n item.value[label][1] = value ? toggleValue[0] : toggleValue[1];\n }else{\n item.value[label] = value ? toggleValue[0] : toggleValue[1];\n }\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n updateDropDown(item: any, label: string, value: any){\n item.value[label] = value.valueObj['Value__c'];\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateCheckText(item: any, label: string, value: any){\n item.value[label][0] = value;\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n updateTableAppendix(item: any, label: string, value: any){\n let toggleValue = item.value[0].toggleValue;\n if(item.key == 'dropDownData'){\n item.value[0].value[label] = value.valueObj['empIdName'];\n }else if(item.key == 'toggleData'){\n item.value[0].value[label] = value ? toggleValue[0] : toggleValue[1];\n }else{\n item.value[0].value[label] = value;\n }\n this.emitTableDataValue(this.tableData,this.tableAppendix);\n }\n\n emitTableDataValue(updatedTableData: any[],tableAppendix:any): void {\n const combinedData = {\n tableData: updatedTableData,\n tableAppendix: null\n };\n if(tableAppendix){\n combinedData.tableAppendix = this.tableAppendix;\n }\n this.valueChange.emit(combinedData);\n }\n\n //This function finds the index of the current test in the list of test keys and returns the key of the previous test. \n // If the current test is the first one, it returns null, as there is no previous test\n getPreviousTestKey(item: any, currentTest: string): string {\n const testKeys = Object.keys(item.value);\n const currentIndex = testKeys.indexOf(currentTest);\n \n if (currentIndex > 0) {\n return testKeys[currentIndex - 1];\n }\n\n return null;\n }\n\n}\n","<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"Enter Value\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <span style=\"text-align:left;\">Calibrated</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">Add More +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <b>Add More</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" [placeholder]=\"'---Select---'\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\n </table>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-date',\n templateUrl: './custom-date.component.html',\n styleUrls: ['./custom-date.component.css']\n})\nexport class CustomDateComponent implements OnInit {\n @Input() date: string;\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\n dateSelected: any;\n\n constructor() { }\n\n ngOnInit(): void {\n this.dateSelected = new Date(this.date);\n }\n\n\n onDateChange(event: any) {\n this.dateChange.emit(event)\n }\n}\n","<!-- date component -->\n<p>\n <input\n class=\"input-shengel\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n placeholder=\"DD/MM/YYYY\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-custom-time',\n templateUrl: './custom-time.component.html',\n styleUrls: ['./custom-time.component.css']\n})\nexport class CustomTimeComponent implements OnInit {\n @Input() time: string;\n @Output() timeChange: EventEmitter<any> = new EventEmitter<any>();\n timeSelected: any;\n\n constructor() { }\n\n ngOnInit(): void {\n this.timeSelected = new Date(this.time);\n }\n\n onTimeChange(event: any) {\n this.timeChange.emit(event)\n }\n}\n","<!-- time component -->\n <p>\n <input\n class=\"input-shengel\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\n </p>","import { Component, OnInit, Input, Output, EventEmitter, } from '@angular/core';\nimport { Question, QuestionBook } from '../../wrapper';\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { DataService } from '../../services/data.service';\nimport { ChangeService } from '../../services/change.service';\nimport { StorageService } from '../../services/storage.service';\nimport * as moment from 'moment';\nimport { ErrorWrapper } from '../../model/errorWrapper';\n\n@Component({\n selector: 'lib-questionbook',\n templateUrl: './questionbook.component.html',\n styleUrls: ['./questionbook.component.css']\n})\nexport class QuestionbookComponent implements OnInit {\n @Input() qbItem: QuestionBook;\n @Input() questionItem: Question;\n @Input() questions: Question[];\n @Input() errorFieldId:any;\n @Input() labelValue:string; \n @Output() handleDropDown:EventEmitter<any> = new EventEmitter<any>();\n @Input() dropDownData:any;\n subQuestions: Question[];\n selectedFileData: any[] = [];\n\n constructor(private sfService: SalesforceService,\n private dataService: DataService,\n private changeService: ChangeService, \n private storageService: StorageService) { \n }\n\n ngOnInit(): void {\n console.log('inside QuestionBookComponent OnInit');\n // console.log(this.qbItem);\n // console.log(this.questions);\n this.questions.forEach(element => {\n var htmlElement = element.Question_Text__c ;\n var textOnly = htmlElement?.replace(/<[^>]*>/g, '')\n element.Question_Text__c = textOnly;\n });\n this.subQuestions = [];\n this.setSubQuestions(this.questions);\n }\n\n clearSQError(quesId) {\n // console.log('inside QuestionBookComponent clearSQError');\n var sqList = this.subQuestions?.filter((item) => item.Id == quesId);\n for (var sq of sqList) {\n sq.error = null;\n }\n }\n\n setSubQuestions(records) {\n console.log('inside QuestionbookComponent setSubQuestions');\n this.subQuestions.push(records);\n }\n\n // Capture and Process Child Event\n childEventCapture(event, ques?:any) {\n let dropdownData = {};\n // console.log('inside QuestionbookComponent childEventCapture');\n console.log(event);\n this.changeService.announceChange(event);\n // Process the changes in Table and Dropdown and store right value in ques.input\n if(ques.Type__c == 'Dropdown') {\n ques.input = event.valueObj ? event.valueObj.id : null;\n ques.selectedValue = event.valueObj ? event.valueObj.name : null;\n // emit the dropdown data to parent\n dropdownData['event'] = event.valueObj;\n dropdownData['ques'] = ques;\n if(dropdownData['event']){\n this.handleDropDown.emit(dropdownData);\n }\n }else if(ques.Type__c == 'File'){ \n ques.input = this.selectedFileData = event;\n }else{\n ques.input = event;\n }\n // validating error message\n if(ques.Error_Message__c && !ques.input){\n ques.error = new ErrorWrapper\n }else{\n ques.error = null; \n }\n // Once the right value is stored in ques.input store the ques (with input) in storageService\n this.storageService.update(ques);\n }\n deleteFile(fileData:any){\n console.log('fileDATA',fileData)\n }\n}\n","<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\n <div class=\"form-row\">\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\n <!-- Sub Question Label -->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question_Text__c }}</span>\n </div>\n\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <app-custom-date [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <app-custom-time [time]=\"ques.input\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.Type__c === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" [placeholder]=\"'---Select---'\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.Type__c === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.Error_Message__c\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.Type__c === 'Label'\" class=\"\">\n <app-custom-label [labelValue]=\"labelValue\">\n </app-custom-label>\n </div>\n </div>\n </div>\n</div>","import {\n Component,\n OnInit,\n OnChanges,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n SimpleChanges,\n} from \"@angular/core\";\nimport { SalesforceService } from \"../../services/salesforce.service\";\nimport { DataService } from '../../services/data.service';\nimport { ActivatedRoute, Params } from \"@angular/router\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { ActionMeta } from '../../interfaces/actionMeta';\nimport { Question } from \"../../wrapper\";\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\nimport { StorageService } from '../../services/storage.service';\nimport { ChangeService } from \"../../services/change.service\";\n\n@Component({\n selector: 'lib-booklet',\n templateUrl: './booklet.component.html',\n styleUrls: ['./booklet.component.css']\n})\nexport class BookletComponent implements OnInit {\n @Input() bookletId: string;\n @Input() serv: string;\n @Input() tkn: string;\n @Input() bookletJSON: any;\n @Input() dropdownDependentData:any;\n @Input() labelValue:string;\n \n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\n\n public nxtBooklet: BookletWrapper;\n\n public booklet: any[] = [];\n public abItem: any = {};\n public actions: ActionMeta[] = [];\n public bookQuestionsMap: any = new Map();\n private sqOptions: any = new Map();\n public isAnswerFlag: boolean = false;\n public spinnerName: string;\n public spinnerType: string;\n\n constructor(\n private sfService: SalesforceService,\n private dataService: DataService,\n private storageService: StorageService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private changeService: ChangeService, \n el: ElementRef\n ) { \n this.spinnerName = \"sp1\";\n this.spinnerType = \"ball-spin-clockwise\";\n console.log('dropdownDependentData',this.dropdownDependentData);\n }\n\n ngOnInit(): void {\n this.processBooklet();\n }\n\n ngOnChanges(simplechanges:SimpleChanges) {\n if(simplechanges['bookletId']){\n this.processBooklet();\n }\n // console.log('inside Questionnaire ngOnChanges');\n // console.log(this.booklet);\n // if(this.booklet == undefined || this.booklet.length == 0) {\n // this.processBooklet();\n // }\n }\n\n processBooklet() {\n if (this.bookletId) {\n if (this.bookletId.length == 18) {\n this.readBooklet(this.bookletId);\n }\n } else if(this.bookletJSON) {\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\n this.isAnswerFlag = true;\n\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\n // Storing the API response for future use\n this.storageService.save(this.bookletJSON);\n }\n \n this.booklet = this.bookletJSON.records;\n this.abItem = this.bookletJSON.answerbook;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in this.bookletJSON.sqOptions) {\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\n }\n\n // Process the Questions\n for (var value in this.bookletJSON.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\n }\n\n if(this.bookletJSON.questionbook?.Actions__c != undefined) {\n this.actions = JSON.parse(this.bookletJSON.questionbook.Actions__c);\n }\n }\n }\n\n private readBooklet = (uuid: string) => {\n if(this.serv == \"api\") {\n this.dataService.getAPIData(\n this.tkn,\n [\"Booklet\", \"read\", uuid],\n this.successReadBooklet,\n this.failureReadBooklet\n );\n } else {\n this.sfService.remoteAction(\n \"NxtController.process\",\n [\"Booklet\", \"read\", uuid],\n this.successReadBooklet,\n this.failureReadBooklet\n );\n }\n }\n\n private successReadBooklet = (response) => {\n console.log('Inside the successReadBooklet');\n // console.log(response);\n if(response != null || response != undefined) {\n // Storing the API response for future use\n this.storageService.save(response);\n\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\n // this.isAnswerFlag = true;\n \n this.booklet = response.records;\n this.abItem = response.answerbook;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in response.sqOptions) {\n this.sqOptions.set(sq, response.sqOptions[sq]);\n }\n\n // Process the Questions\n for (var value in response.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\n }\n\n if(response.questionbook?.Actions__c != undefined) {\n this.actions = JSON.parse(response.questionbook.Actions__c);\n }\n }\n }\n\n private failureReadBooklet = (response) => {\n\n }\n\n handleBookletActionClick(action:ActionMeta) {\n console.log(action);\n let dataToParent = {};\n dataToParent['action'] = action.eventtoemit;\n dataToParent['data'] = this.storageService.get();\n this.handleBookletActionEvent.emit(dataToParent);\n\n // when clicking the submit button validating the required fields\n for(let key in dataToParent['data'].bookQuestionsMap){\n const currentBook = dataToParent['data'].bookQuestionsMap[key];\n currentBook.Questions__r.records.forEach(element => {\n if(element.Error_Message__c && dataToParent['action'] == 'submit' && !element.input){\n this.changeService.submitChange(element.Id);\n }\n });\n }\n\n }\n\n readQuestions(qbId: string) {\n // console.log('inside BookletComponent.readQuestions ' + qbId);\n // console.log(this.bookQuestionsMap.size);\n let questions = [];\n for(var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {\n let q: Question = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];\n if(q.Type__c == 'Dropdown') {\n questions.push(this.sqOptions.get(q.Id));\n } else {\n questions.push(q);\n }\n }\n // console.log(questions);\n return questions;\n }\n\n getText(value) {\n var doc = new DOMParser().parseFromString(value, \"text/html\");\n //console.log( doc.documentElement.textContent);\n return this.sanitizer.bypassSecurityTrustHtml(\n doc.documentElement.textContent\n );\n }\n getDropDown(event:any){\n this.hadleDropDownDependent.emit(event);\n }\n}\n","<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\n<!-- Booklet Handling-->\n<div *ngFor=\"let qb of booklet\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire> -->\n <div *ngFor=\"let ques of qb.Questions__r.records\" [class]=\"qb.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\n <div class=\"questiondiv2\">\n <div *ngIf=\"!ques.Is_Title__c\" [class]=\"qb.isShengel__c ? 'header-style' : 'question-f-size additional'\">\n <div [innerHTML]=\"getText(ques?.Question_Text__c)\" >\n {{ ques?.Question_Text__c }}\n </div>\n </div>\n <lib-questionbook [qbItem]=\"qb\" [labelValue]=\"labelValue\" [questionItem]=\"ques\" [questions]=\"readQuestions(qb.Id)\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n</div>\n\n<!-- Group Actions -->\n<div class=\"align-submit-row\" *ngIf=\"abItem?.Status__c != 'Completed'\">\n <div *ngFor=\"let action of actions; let i = index\">\n <button (click)=\"handleBookletActionClick(action)\" [ngClass]=\"{'first-button': i === 0, 'second-button': i === 1}\">\n {{ action.name }}\n </button>\n </div>\n</div>\n","import { Component, OnInit , Input} from '@angular/core';\nimport { SharedService } from '../../services/shared.service';\n\n@Component({\n selector: 'app-file-view',\n templateUrl: './file-view.component.html',\n styleUrls: ['./file-view.component.css']\n})\nexport class FileViewComponent implements OnInit {\n @Input() documentData;\n @Input() api;\n\n constructor(private SharedService: SharedService) { }\n\n ngOnInit(): void {\n }\n\n viewDoc(link) {\n /*\n Author: Vinay Jadhav\n @description: This function will view the file from azure blob.\n The link passed as a parameter will extract file name and pass it to the service\n @param link: It will accept a doc link\n @return: It will not return anything but it will either show or download the file.\n */\n if (link && link !== null) {\n this.SharedService.processViewFile(link.split('/').pop(),this.api);\n }\n // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');\n }\n\n getDocIcon(docName) {\n const ext = docName.split('.').pop(-1);\n return this.SharedService.docIcon(ext);\n }\n\n \n\n}\n","<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <label class=\"she-label attachment\">Attachment</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ","import { Component, Input, OnInit } from '@angular/core';\nimport { ActionMeta } from '../../interfaces/actionMeta';\nimport { Question } from '../../wrapper';\n\n@Component({\n selector: 'lib-summary-page',\n templateUrl: './summary-page.component.html',\n styleUrls: ['./summary-page.component.css']\n})\nexport class SummaryPageComponent implements OnInit {\n @Input() answerJson:any;\n @Input() api:string;\n\n public booklet: any[] = [];\n public bookQuestionsMap: any = new Map();\n public actions: ActionMeta[] = [];\n private sqOptions: any = new Map();\n public questions:any[] = [];\n filteredQuestion: any[];\n\n constructor() { }\n\n ngOnInit(): void {\n if(this.answerJson) {\n console.log('answer json',this.answerJson);\n this.booklet = this.answerJson.records;\n\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\n for (var sq in this.answerJson.sqOptions) {\n this.sqOptions.set(sq, this.answerJson.sqOptions[sq]);\n }\n // Process the Questions\n for (var value in this.answerJson.bookQuestionsMap) {\n this.bookQuestionsMap.set(value, this.answerJson.bookQuestionsMap[value]);\n }\n }\n this.processSummary(this.booklet);\n }\n\n processSummary(data:any){\n let questions = [];\n for( var i = 0; i < data.length ;i++){\n let qbId = data[i].Id;\n for(var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {\n let q: Question = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];\n if(q.Type__c == 'Dropdown') {\n questions.push(this.sqOptions.get(q.Id));\n } else {\n if(!q.input?.includes('|')){ // to avoid the unwanted fields for summary page\n questions.push(q);\n }\n }\n }\n }\n this.questions = questions;\n console.log('question', this.questions);\n // map the questions using the the bookId\n var qbIds = new Set(this.questions.map((item:any) => item.Question_Book__c))\n this.filteredQuestion = [];\n qbIds.forEach((id) => {\n this.filteredQuestion.push({\n Id: id, \n questions: this.questions.filter((i:any) => i.Question_Book__c === id)\n });\n })\n console.log('filteredQuestion',this.filteredQuestion);\n }\n\n}\n","<div class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\n PTW Details \n </a>\n </h4>\n </div>\n <div [id]=\"'collapse'\" class=\"collapse\">\n <div class=\"panel-body\">\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\n <label *ngIf=\"ques.Type__c != 'File'\" >{{ques.Question__c}}</label>\n <p *ngIf = \"ques.Type__c != 'Dropdown' && ques.Type__c != 'Table' && ques.Type__c != 'File'\">{{ ques.input }}</p>\n <p *ngIf=\"ques.Type__c == 'Dropdown'\">{{ ques.selectedValue }}</p>\n <p *ngIf=\"!ques.input\">N/A</p>\n <div *ngIf= \"ques.Type__c == 'Table'\">\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\n </div>\n </div>\n <div *ngIf = \"ques.Type__c == 'File'\">\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\n </div>\n </div>\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\n <hr>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NxtAppComponent } from './nxt-app.component';\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport { MyDatePickerModule } from 'mydatepicker';\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\n//import { AgmCoreModule } from '@agm/core';\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\nimport { OwlDateTimeModule,OwlNativeDateTimeModule } from 'ng-pick-datetime';\n\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BookletComponent } from './pages/booklet/booklet.component';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\nimport { SummaryPageComponent } from './pages/summary-page/summary-page.component';\nimport { FileViewComponent } from './components/file-view/file-view.component';\nimport { DependentTableComponent } from './components/dependent-table/dependent-table.component';\nimport { CustomLabelComponent } from './components/custom-label/custom-label.component';\nimport { TableAppendixComponent } from './components/table-appendix/table-appendix.component';\nimport { CustomDateComponent } from './components/custom-date/custom-date.component';\nimport { CustomTimeComponent } from './components/custom-time/custom-time.component';\n\n// export const MY_CUSTOM_FORMATS = {\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\n// useUtc: true,\n// };\n\n@NgModule({\n declarations: [NxtAppComponent, \n QuestionnaireComponent,\n PickLocationComponent,\n CustomInputComponent,\n CustomTextAreaComponent,\n CustomTableComponent,\n CustomDatePickerComponent,\n DropdownWithFlagComponent,\n CustomDropdownComponent,\n BookletComponent,\n SearchBoxComponent,\n QuestionbookComponent,\n FileUploadComponent,\n SummaryPageComponent,\n FileViewComponent,\n DependentTableComponent,\n CustomLabelComponent,\n TableAppendixComponent,\n CustomDateComponent,\n CustomTimeComponent\n ],\n imports: [\n CommonModule, FormsModule,\n MyDatePickerModule,\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n HttpClientModule,\n NgSelectModule,\n GoogleMapsModule,\n //AgmCoreModule.forRoot({\n // apiKey: GOOGLE_MAP_API_KEY,\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\n // }),\n ReactiveFormsModule, NgxSpinnerModule,\n /*NgCircleProgressModule.forRoot({\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"space\": -6,\n \"innerStrokeColor\": \"#919191\",\n \"outerStrokeColor\": \"#db9594\",\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\n \"innerStrokeWidth\": 2,\n \"backgroundGradient\": true,\n \"backgroundColor\": \"#dd2e13\",\n \"backgroundGradientStopColor\": \"#dd2e13\",\n \"backgroundStroke\": \"#d3cfcf\",\n \"title\": [\n \n \"%\"\n ],\n // titleFontSize: 12,\n // \"subtitleFontSize\": 20,\n \"animateTitle\": false,\n \"animationDuration\": 1000,\n \"showUnits\": false,\n \"clockwise\":true\n\n //\"backgroundStrokeWidth\": \"0\",\n\"backgroundGradient\": true,\n //\"backgroundColor\": \"#dd2e13\",\n \"backgroundGradientStopColor\": \"#dd2e13\",\n \"backgroundStroke\": \"#000000\",\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"unitsFontWeight\": \"600\",\n \"unitsColor\": \"#f2f2f2\",\n \"outerStrokeGradient\": true,\n \"outerStrokeColor\": \"#e0b1b0\",\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\n \"outerStrokeLinecap\": \"inherit\",\n \"innerStrokeColor\": \"#f6dfdf\",\n \"title\": [\n \n \"%\"\n],\n \"titleColor\": \"#e7d9d9\",\n \"titleFontSize\": \"31\",\n \"titleFontWeight\": \"100\",\n \"subtitleColor\": \"#f7f7f7\",\n \"subtitleFontSize\": \"36\",\n \"subtitleFontWeight\": \"900\",\n \"animateTitle\": false,\n \"animationDuration\": 1000,\n \"showTitle\": true,\n \"showUnits\": true,\n \"clockwise\": false,\n \"startFromZero\": true,\n \"showZeroOuterStroke\": false,\n \"lazy\": true})*/\n\n NgCircleProgressModule.forRoot({\n \"backgroundGradient\": true,\n \"backgroundColor\": \"#e29d98\",\n \"backgroundGradientStopColor\": \"#c5281c\",\n \"backgroundStroke\": \"#ece4e4\",\n \"backgroundStrokeWidth\": 0,\n \"backgroundPadding\": -10,\n \"radius\": 60,\n \"space\": 4,\n \"maxPercent\": 100,\n \"unitsFontSize\": \"35\",\n \"unitsColor\": \"#f0ebeb\",\n \"outerStrokeGradient\": true,\n \"outerStrokeWidth\": 10,\n \"outerStrokeColor\": \"#f7c0bf\",\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\n \"innerStrokeWidth\": 0,\n \"titleColor\": \"#f3eded\",\n \"titleFontSize\": \"40\",\n \"subtitleColor\": \"#444444\",\n \"showSubtitle\": false})\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n exports: [NxtAppComponent, \n QuestionnaireComponent,\n BookletComponent,\n SummaryPageComponent\n ]\n // providers: [\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\n // ]\n})\nexport class NxtAppModule { }\n","/*\n * Public API Surface of nxt-app\n */\n\nexport * from './lib/nxt-app.service';\nexport * from './lib/nxt-app.component';\nexport * from './lib/nxt-app.module';\nexport * from './lib/pages/questionnaire/questionnaire.component';\nexport * from './lib/pages/booklet/booklet.component';\nexport * from './lib/pages/summary-page/summary-page.component';\nexport * from './lib/services/salesforce.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.ChangeService","i2","i3","i2.ChangeService","i4","i1.SalesforceService","i2.DataService","i3.ChangeService","i5","i7","i9","i12.PickLocationComponent","i13.CustomInputComponent","i14.CustomTextAreaComponent","i15.CustomTableComponent","i16.CustomDatePickerComponent","i17.DropdownWithFlagComponent","i18.CustomDropdownComponent","i6","i1.SharedService","i3.CustomDropdownComponent","i4.FileUploadComponent","i4.StorageService","i7.PickLocationComponent","i8.CustomInputComponent","i9.CustomTextAreaComponent","i10.CustomTableComponent","i11.CustomDatePickerComponent","i12.CustomDropdownComponent","i13.SearchBoxComponent","i14.FileUploadComponent","i15.DependentTableComponent","i16.CustomLabelComponent","i17.TableAppendixComponent","i18.CustomDateComponent","i19.CustomTimeComponent","i3.StorageService","i6.ChangeService","i8","i9.QuestionbookComponent","i2.FileViewComponent"],"mappings":"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"}