jconsumer-shared 0.0.2 → 0.0.3

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.
Files changed (67) hide show
  1. package/esm2022/lib/account-service.mjs +21 -0
  2. package/esm2022/lib/auth-service.mjs +155 -0
  3. package/esm2022/lib/calendar/date-time/datetime-processor.service.mjs +448 -0
  4. package/esm2022/lib/common.service.mjs +38 -0
  5. package/esm2022/lib/error-message.service.mjs +22 -0
  6. package/esm2022/lib/file-service.mjs +229 -0
  7. package/esm2022/lib/group-storage.service.mjs +66 -0
  8. package/esm2022/lib/i8n.module.mjs +43 -0
  9. package/esm2022/lib/local-storage.service.mjs +77 -0
  10. package/esm2022/lib/phone-input/phone-input.component.mjs +127 -0
  11. package/esm2022/lib/phone-input/phone-input.module.mjs +24 -0
  12. package/esm2022/lib/pipes/autolink/autolink.pipe.mjs +22 -0
  13. package/esm2022/lib/pipes/capitalize/capitalize.module.mjs +20 -0
  14. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +18 -0
  15. package/esm2022/lib/pipes/filter/filter.pipe.mjs +24 -0
  16. package/esm2022/lib/pipes/limit-to/limitTo.pipe.mjs +18 -0
  17. package/esm2022/lib/pipes/safe-html/safehtml.module.mjs +20 -0
  18. package/esm2022/lib/pipes/safe-html/safehtml.pipe.mjs +19 -0
  19. package/esm2022/lib/project-messages.mjs +146 -0
  20. package/esm2022/lib/questionaire/edit/questionnaire.component.mjs +1422 -0
  21. package/esm2022/lib/questionaire/edit/questionnaire.module.mjs +77 -0
  22. package/esm2022/lib/questionaire/questionaire-service.mjs +92 -0
  23. package/esm2022/lib/session-storage.service.mjs +57 -0
  24. package/esm2022/lib/shared.service.mjs +24 -2
  25. package/esm2022/lib/showuploadfile/showuploadfile.component.mjs +61 -0
  26. package/esm2022/lib/showuploadfile/showuploadfile.module.mjs +28 -0
  27. package/esm2022/lib/spinner/loading-spinner.component.mjs +22 -0
  28. package/esm2022/lib/spinner/loading-spinner.module.mjs +28 -0
  29. package/esm2022/lib/storage.service.mjs +75 -0
  30. package/esm2022/lib/word-processor.service.mjs +181 -0
  31. package/esm2022/public-api.mjs +27 -1
  32. package/fesm2022/jconsumer-shared.mjs +3522 -26
  33. package/fesm2022/jconsumer-shared.mjs.map +1 -1
  34. package/jconsumer-shared-0.0.3.tgz +0 -0
  35. package/lib/account-service.d.ts +9 -0
  36. package/lib/auth-service.d.ts +43 -0
  37. package/lib/calendar/date-time/datetime-processor.service.d.ts +120 -0
  38. package/lib/common.service.d.ts +9 -0
  39. package/lib/error-message.service.d.ts +5 -0
  40. package/lib/file-service.d.ts +26 -0
  41. package/lib/group-storage.service.d.ts +14 -0
  42. package/lib/i8n.module.d.ts +12 -0
  43. package/lib/local-storage.service.d.ts +34 -0
  44. package/lib/phone-input/phone-input.component.d.ts +25 -0
  45. package/lib/phone-input/phone-input.module.d.ts +9 -0
  46. package/lib/pipes/autolink/autolink.pipe.d.ts +7 -0
  47. package/lib/pipes/capitalize/capitalize.module.d.ts +8 -0
  48. package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
  49. package/lib/pipes/filter/filter.pipe.d.ts +7 -0
  50. package/lib/pipes/limit-to/limitTo.pipe.d.ts +7 -0
  51. package/lib/pipes/safe-html/safehtml.module.d.ts +8 -0
  52. package/lib/pipes/safe-html/safehtml.pipe.d.ts +10 -0
  53. package/lib/project-messages.d.ts +1 -0
  54. package/lib/questionaire/edit/questionnaire.component.d.ts +151 -0
  55. package/lib/questionaire/edit/questionnaire.module.d.ts +19 -0
  56. package/lib/questionaire/questionaire-service.d.ts +28 -0
  57. package/lib/session-storage.service.d.ts +26 -0
  58. package/lib/shared.service.d.ts +12 -3
  59. package/lib/showuploadfile/showuploadfile.component.d.ts +21 -0
  60. package/lib/showuploadfile/showuploadfile.module.d.ts +9 -0
  61. package/lib/spinner/loading-spinner.component.d.ts +11 -0
  62. package/lib/spinner/loading-spinner.module.d.ts +9 -0
  63. package/lib/storage.service.d.ts +16 -0
  64. package/lib/word-processor.service.d.ts +80 -0
  65. package/package.json +1 -1
  66. package/public-api.d.ts +26 -0
  67. package/jconsumer-shared-0.0.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"jconsumer-shared.mjs","sources":["../../../projects/jconsumer-shared/src/lib/service-meta.ts","../../../projects/jconsumer-shared/src/lib/subscription.service.ts","../../../projects/jconsumer-shared/src/lib/toast.service.ts","../../../projects/jconsumer-shared/src/lib/shared.service.ts","../../../projects/jconsumer-shared/src/lib/order.service.ts","../../../projects/jconsumer-shared/src/lib/skeleton/skeleton-loading.component.ts","../../../projects/jconsumer-shared/src/lib/skeleton/skeleton-loading.component.html","../../../projects/jconsumer-shared/src/lib/skeleton/skeleton-loading.module.ts","../../../projects/jconsumer-shared/src/public-api.ts","../../../projects/jconsumer-shared/src/jconsumer-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class ServiceMeta {\r\n constructor(private http: HttpClient) { }\r\n\r\n getJSON(path: any): Observable<any> {\r\n return this.http.get(path);\r\n }\r\n\r\n httpGet(url: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n options.showLoader = true;\r\n }\r\n return this.http.get(url, options);\r\n }\r\n httpGetText(url: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n const httpHeads = new HttpHeaders({\r\n 'Accept': 'text/html, application/xhtml+xml, */*',\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n options.headers = httpHeads;\r\n options.responseType = 'Text';\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n\r\n });\r\n options.params = httpParams;\r\n options.showLoader = true;\r\n }\r\n return this.http.get(url, options);\r\n }\r\n httpPost(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n return this.http.post(url, body, options); // ...using post request\r\n }\r\n\r\n httpPatch(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n return this.http.patch(url, body, options); // ...using patch request\r\n }\r\n\r\n httpPut(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n return this.http.put(url, body, options); // ...using put request\r\n }\r\n\r\n httpDelete(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n if (body) {\r\n options.body = body;\r\n }\r\n return this.http.delete(url, options);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SubscriptionService {\r\n\r\n private subject = new Subject<any>();\r\n\r\n sendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n clearMessage() {\r\n this.subject.next(null);\r\n }\r\n getMessage(): Observable<any> {\r\n return this.subject.asObservable();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(\r\n private messageService: MessageService\r\n ) { }\r\n // Types : success,info,warn,error\r\n showToast(type: any, heading: any, content: any) {\r\n this.messageService.add({ severity: type, summary: heading, detail: content });\r\n }\r\n\r\n showSuccess(message: any) {\r\n this.messageService.add({ severity: 'success', detail: message });\r\n }\r\n\r\n showInfo(message: any) {\r\n this.messageService.add({ severity: 'info', detail: message });\r\n }\r\n\r\n showWarn(message: any) {\r\n this.messageService.add({ severity: 'warn', detail: message });\r\n }\r\n\r\n showError(message: any) {\r\n this.messageService.add({ severity: 'error', detail: message.error });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n \r\n accountID: string = '';\r\n customID: string = '';\r\n templateJSON: any;\r\n templateID: string = '';\r\n uniqueID: string = '';\r\n apiEndPoint: string | undefined;\r\n S3EndPoint: string | undefined;\r\n SAPath: string | undefined;\r\n\r\n constructor() { }\r\n\r\n setUniqueID(uniqueId: string) {\r\n this.uniqueID = uniqueId;\r\n }\r\n\r\n getUniqueID() {\r\n return this.uniqueID;\r\n }\r\n\r\n setTemplateID(templateID: string) {\r\n this.templateID = templateID;\r\n localStorage.setItem('_tid', this.templateID);\r\n }\r\n\r\n getTemplateID() {\r\n return this.templateID;\r\n }\r\n\r\n setTemplateJSON(templateJSON: any) {\r\n this.templateJSON = templateJSON;\r\n }\r\n\r\n setAccountID(accountID: string) {\r\n this.accountID = accountID;\r\n }\r\n\r\n getAccountID() {\r\n return this.accountID;\r\n }\r\n\r\n setCustomID(customID: string) {\r\n this.customID = customID;\r\n }\r\n\r\n getCustomID() {\r\n return this.customID;\r\n }\r\n\r\n getTemplateJSON() {\r\n return this.templateJSON;\r\n }\r\n\r\n getConfigPath () {\r\n return this.S3EndPoint;\r\n }\r\n\r\n setSAPath(SAPath: string) {\r\n this.SAPath = SAPath;\r\n }\r\n\r\n getSAPath() {\r\n return this.SAPath;\r\n }\r\n\r\n setConfigPath(s3EndPoint: string) {\r\n this.S3EndPoint = s3EndPoint;\r\n }\r\n\r\n setAPIEndPoint(apiEndPoint: string) {\r\n this.apiEndPoint = apiEndPoint;\r\n }\r\n\r\n getAPIEndPoint() {\r\n return this.apiEndPoint;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SharedService } from './shared.service';\r\nimport { ServiceMeta } from './service-meta';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrderService {\r\n\r\n constructor(\r\n private servicemeta: ServiceMeta,\r\n private sharedService: SharedService\r\n ) { }\r\n\r\n getStores(filter = {}) {\r\n const url = 'consumer/store';\r\n return this.servicemeta.httpGet(url, null, filter);\r\n }\r\n\r\n getStoreCatalogItems(filter = {}) {\r\n const url = 'consumer/so/catalog/item';\r\n return this.servicemeta.httpGet(url, null, filter);\r\n }\r\n\r\n getStoreCatalogItemsCount(filter = {}) {\r\n const url = 'consumer/so/catalog/item/count';\r\n return this.servicemeta.httpGet(url, null, filter);\r\n }\r\n\r\n createCart(data: any) {\r\n const url = 'consumer/cart';\r\n return this.servicemeta.httpPost(url, data);\r\n }\r\n\r\n getCart(id: string) {\r\n const url = 'consumer/cart/procon/' + id;\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getCartItems(cartUid: string) {\r\n const url = 'consumer/cart/' + cartUid + '/getitems';\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n removeItemFromCart(itemUid: string) {\r\n const url = 'consumer/cart/item/' + itemUid;\r\n return this.servicemeta.httpDelete(url, null);\r\n }\r\n\r\n updateCartItems(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/updateitems';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n updateCart(cartUid: string, data: any) {\r\n const url = 'consumer/cart/update/' + cartUid;\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n checkoutCartItems(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/checkout';\r\n return this.servicemeta.httpPost(url, data);\r\n }\r\n\r\n getOrderByUid(orderUid: string) {\r\n const url = 'consumer/sorder/' + orderUid;\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getSoCatalogItemById(accountId: string, itemEncid: string) {\r\n const url = 'consumer/so/catalog/' + accountId + '/item/' + itemEncid;\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getInvoiceByOrderUid(accountId: string, orderUid: string) {\r\n const url = 'consumer/so/invoice/' + accountId + '/order/' + orderUid + '/invoice';\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getConsumeraddress() {\r\n const url = 'consumer/deliveryAddress';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n\r\n updateConsumeraddress(data: any) {\r\n const url = 'consumer/deliveryAddress';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n consumerSoPayment(data: any) {\r\n const url = 'consumer/so/pay';\r\n return this.servicemeta.httpPost(url, data);\r\n }\r\n\r\n getItemCategory(accountId: string) {\r\n const url = 'consumer/spitem/settings/'+accountId + '/category?status-eq=Enable';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n\r\n applyCoupon(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/apply/providercoupon';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n getSoCoupons(catalogId: string) {\r\n const url = 'consumer/cart/' + catalogId + '/get/providercoupon';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n\r\n removeCoupon(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/remove/providercoupon';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n searchSpItem(accountId: any, value: any) {\r\n const url =\r\n this.sharedService.getSAPath() +`searchdetails/${accountId}/sordercatalog/item/suggestion/search?name=${value}*`;\r\n return this.servicemeta.httpGet(url);\r\n }\r\n getQnrOrder(itemId: string) {\r\n const url = 'consumer/questionnaire/sorder/item/' + itemId + '/ONLINE';\r\n return this.servicemeta.httpGet(url);\r\n}\r\n\r\nsubmitQnrOrder(body: any, uuid: string) {\r\n const url = 'consumer/sorder/questionnaire/submit/' + uuid ;\r\n return this.servicemeta.httpPost(url, body);\r\n}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-skeleton-loading',\r\n templateUrl: './skeleton-loading.component.html',\r\n styleUrls: ['./skeleton-loading.component.css']\r\n})\r\nexport class SkeletonLoadingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ul class=\"o-vertical-spacing o-vertical-spacing--l\">\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n\r\n</ul>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SkeletonLoadingComponent } from './skeleton-loading.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SkeletonLoadingComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SkeletonLoadingComponent\r\n ]\r\n})\r\nexport class SkeletonLoadingModule { }\r\n","/*\r\n * Public API Surface of jconsumer-shared\r\n */\r\n\r\nexport * from './lib/service-meta';\r\nexport * from './lib/subscription.service';\r\nexport * from './lib/toast.service';\r\nexport * from './lib/shared.service';\r\nexport * from './lib/order.service';\r\nexport * from './lib/skeleton/skeleton-loading.component';\r\nexport * from './lib/skeleton/skeleton-loading.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.ServiceMeta","i2.SharedService"],"mappings":"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"}
1
+ {"version":3,"file":"jconsumer-shared.mjs","sources":["../../../projects/jconsumer-shared/src/lib/service-meta.ts","../../../projects/jconsumer-shared/src/lib/subscription.service.ts","../../../projects/jconsumer-shared/src/lib/toast.service.ts","../../../projects/jconsumer-shared/src/lib/shared.service.ts","../../../projects/jconsumer-shared/src/lib/i8n.module.ts","../../../projects/jconsumer-shared/src/lib/order.service.ts","../../../projects/jconsumer-shared/src/lib/account-service.ts","../../../projects/jconsumer-shared/src/lib/local-storage.service.ts","../../../projects/jconsumer-shared/src/lib/session-storage.service.ts","../../../projects/jconsumer-shared/src/lib/group-storage.service.ts","../../../projects/jconsumer-shared/src/lib/auth-service.ts","../../../projects/jconsumer-shared/src/lib/file-service.ts","../../../projects/jconsumer-shared/src/lib/common.service.ts","../../../projects/jconsumer-shared/src/lib/storage.service.ts","../../../projects/jconsumer-shared/src/lib/error-message.service.ts","../../../projects/jconsumer-shared/src/lib/project-messages.ts","../../../projects/jconsumer-shared/src/lib/word-processor.service.ts","../../../projects/jconsumer-shared/src/lib/pipes/safe-html/safehtml.pipe.ts","../../../projects/jconsumer-shared/src/lib/pipes/limit-to/limitTo.pipe.ts","../../../projects/jconsumer-shared/src/lib/pipes/filter/filter.pipe.ts","../../../projects/jconsumer-shared/src/lib/pipes/capitalize/capitalize.pipe.ts","../../../projects/jconsumer-shared/src/lib/pipes/autolink/autolink.pipe.ts","../../../projects/jconsumer-shared/src/lib/skeleton/skeleton-loading.component.ts","../../../projects/jconsumer-shared/src/lib/skeleton/skeleton-loading.component.html","../../../projects/jconsumer-shared/src/lib/skeleton/skeleton-loading.module.ts","../../../projects/jconsumer-shared/src/lib/spinner/loading-spinner.component.ts","../../../projects/jconsumer-shared/src/lib/spinner/loading-spinner.component.html","../../../projects/jconsumer-shared/src/lib/spinner/loading-spinner.module.ts","../../../projects/jconsumer-shared/src/lib/questionaire/questionaire-service.ts","../../../projects/jconsumer-shared/src/lib/showuploadfile/showuploadfile.component.ts","../../../projects/jconsumer-shared/src/lib/showuploadfile/showuploadfile.component.html","../../../projects/jconsumer-shared/src/lib/calendar/date-time/datetime-processor.service.ts","../../../projects/jconsumer-shared/src/lib/questionaire/edit/questionnaire.component.ts","../../../projects/jconsumer-shared/src/lib/questionaire/edit/questionnaire.component.html","../../../projects/jconsumer-shared/src/lib/pipes/capitalize/capitalize.module.ts","../../../projects/jconsumer-shared/src/lib/pipes/safe-html/safehtml.module.ts","../../../projects/jconsumer-shared/src/lib/questionaire/edit/questionnaire.module.ts","../../../projects/jconsumer-shared/src/lib/showuploadfile/showuploadfile.module.ts","../../../projects/jconsumer-shared/src/lib/phone-input/phone-input.component.ts","../../../projects/jconsumer-shared/src/lib/phone-input/phone-input.component.html","../../../projects/jconsumer-shared/src/lib/phone-input/phone-input.module.ts","../../../projects/jconsumer-shared/src/public-api.ts","../../../projects/jconsumer-shared/src/jconsumer-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class ServiceMeta {\r\n constructor(private http: HttpClient) { }\r\n\r\n getJSON(path: any): Observable<any> {\r\n return this.http.get(path);\r\n }\r\n\r\n httpGet(url: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n options.showLoader = true;\r\n }\r\n return this.http.get(url, options);\r\n }\r\n httpGetText(url: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n const httpHeads = new HttpHeaders({\r\n 'Accept': 'text/html, application/xhtml+xml, */*',\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n options.headers = httpHeads;\r\n options.responseType = 'Text';\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n\r\n });\r\n options.params = httpParams;\r\n options.showLoader = true;\r\n }\r\n return this.http.get(url, options);\r\n }\r\n httpPost(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n return this.http.post(url, body, options); // ...using post request\r\n }\r\n\r\n httpPatch(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n return this.http.patch(url, body, options); // ...using patch request\r\n }\r\n\r\n httpPut(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n return this.http.put(url, body, options); // ...using put request\r\n }\r\n\r\n httpDelete(url: any, body?: any, header?: any, params?: any) {\r\n const options: any = {}; // Create a request option\r\n if (header) {\r\n const httpHeads = new HttpHeaders(header);\r\n options.headers = httpHeads;\r\n }\r\n if (params) {\r\n let httpParams = new HttpParams();\r\n Object.keys(params).forEach(function (key) {\r\n httpParams = httpParams.append(key, params[key]);\r\n });\r\n options.params = httpParams;\r\n }\r\n if (body) {\r\n options.body = body;\r\n }\r\n return this.http.delete(url, options);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SubscriptionService {\r\n\r\n private subject = new Subject<any>();\r\n\r\n sendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n clearMessage() {\r\n this.subject.next(null);\r\n }\r\n getMessage(): Observable<any> {\r\n return this.subject.asObservable();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(\r\n private messageService: MessageService\r\n ) { }\r\n // Types : success,info,warn,error\r\n showToast(type: any, heading: any, content: any) {\r\n this.messageService.add({ severity: type, summary: heading, detail: content });\r\n }\r\n\r\n showSuccess(message: any) {\r\n this.messageService.add({ severity: 'success', detail: message });\r\n }\r\n\r\n showInfo(message: any) {\r\n this.messageService.add({ severity: 'info', detail: message });\r\n }\r\n\r\n showWarn(message: any) {\r\n this.messageService.add({ severity: 'warn', detail: message });\r\n }\r\n\r\n showError(message: any) {\r\n this.messageService.add({ severity: 'error', detail: message.error });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n \r\n environment: any = {\r\n i8nPath: null\r\n };\r\n accountID: string = '';\r\n customID: string = '';\r\n templateJSON: any;\r\n templateID: string = '';\r\n uniqueID: string = '';\r\n apiEndPoint: string | undefined;\r\n S3EndPoint: string | undefined;\r\n SAPath: string | undefined;\r\n routeID: string = '';\r\n dateFormat: string = 'EEE, MMM dd, y';\r\n\r\n constructor() { }\r\n\r\n setUniqueID(uniqueId: string) {\r\n this.uniqueID = uniqueId;\r\n }\r\n\r\n getUniqueID() {\r\n return this.uniqueID;\r\n }\r\n\r\n getI8nPath() {\r\n return this.environment['i8nPath'];\r\n }\r\n\r\n setI8nPath(path: any) {\r\n this.environment['i8nPath'] = path;\r\n }\r\n\r\n setTemplateID(templateID: string) {\r\n this.templateID = templateID;\r\n }\r\n\r\n getTemplateID() {\r\n return this.templateID;\r\n }\r\n\r\n getDateFormat() {\r\n return this.dateFormat;\r\n }\r\n\r\n setDateFormat(dateFormat: string) {\r\n this.dateFormat = dateFormat;\r\n }\r\n\r\n setTemplateJSON(templateJSON: any) {\r\n this.templateJSON = templateJSON;\r\n }\r\n\r\n setAccountID(accountID: string) {\r\n this.accountID = accountID;\r\n }\r\n\r\n getAccountID() {\r\n return this.accountID;\r\n }\r\n\r\n setCustomID(customID: string) {\r\n this.customID = customID;\r\n }\r\n\r\n getCustomID() {\r\n return this.customID;\r\n }\r\n\r\n getTemplateJSON() {\r\n return this.templateJSON;\r\n }\r\n\r\n getConfigPath () {\r\n return this.S3EndPoint;\r\n }\r\n\r\n setSAPath(SAPath: string) {\r\n this.SAPath = SAPath;\r\n }\r\n\r\n getSAPath() {\r\n return this.SAPath;\r\n }\r\n\r\n setConfigPath(s3EndPoint: string) {\r\n this.S3EndPoint = s3EndPoint;\r\n }\r\n\r\n setAPIEndPoint(apiEndPoint: string) {\r\n this.apiEndPoint = apiEndPoint;\r\n }\r\n\r\n getAPIEndPoint() {\r\n return this.apiEndPoint;\r\n }\r\n\r\n setRouteID(routeID: string) {\r\n this.routeID = routeID;\r\n }\r\n\r\n getRouteID() {\r\n return this.routeID;\r\n }\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { SharedService } from './shared.service';\r\n\r\nexport function HttpLoaderFactory(http: HttpClient, sharedService: SharedService) {\r\n return new TranslateHttpLoader(http, sharedService.getI8nPath() + 'assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient, SharedService]\r\n }\r\n })\r\n ],\r\n exports : [\r\n TranslateModule\r\n ]\r\n})\r\nexport class I8nModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { SharedService } from './shared.service';\r\nimport { ServiceMeta } from './service-meta';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrderService {\r\n\r\n constructor(\r\n private servicemeta: ServiceMeta,\r\n private sharedService: SharedService\r\n ) { }\r\n\r\n getStores(filter = {}) {\r\n const url = 'consumer/store';\r\n return this.servicemeta.httpGet(url, null, filter);\r\n }\r\n\r\n getStoreCatalogItems(filter = {}) {\r\n const url = 'consumer/so/catalog/item';\r\n return this.servicemeta.httpGet(url, null, filter);\r\n }\r\n\r\n getStoreCatalogItemsCount(filter = {}) {\r\n const url = 'consumer/so/catalog/item/count';\r\n return this.servicemeta.httpGet(url, null, filter);\r\n }\r\n\r\n createCart(data: any) {\r\n const url = 'consumer/cart';\r\n return this.servicemeta.httpPost(url, data);\r\n }\r\n\r\n getCart(id: string) {\r\n const url = 'consumer/cart/procon/' + id;\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getCartItems(cartUid: string) {\r\n const url = 'consumer/cart/' + cartUid + '/getitems';\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n removeItemFromCart(itemUid: string) {\r\n const url = 'consumer/cart/item/' + itemUid;\r\n return this.servicemeta.httpDelete(url, null);\r\n }\r\n\r\n updateCartItems(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/updateitems';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n updateCart(cartUid: string, data: any) {\r\n const url = 'consumer/cart/update/' + cartUid;\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n checkoutCartItems(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/checkout';\r\n return this.servicemeta.httpPost(url, data);\r\n }\r\n\r\n getOrderByUid(orderUid: string) {\r\n const url = 'consumer/sorder/' + orderUid;\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getSoCatalogItemById(accountId: string, itemEncid: string) {\r\n const url = 'consumer/so/catalog/' + accountId + '/item/' + itemEncid;\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getInvoiceByOrderUid(accountId: string, orderUid: string) {\r\n const url = 'consumer/so/invoice/' + accountId + '/order/' + orderUid + '/invoice';\r\n return this.servicemeta.httpGet(url, null);\r\n }\r\n\r\n getConsumeraddress() {\r\n const url = 'consumer/deliveryAddress';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n\r\n updateConsumeraddress(data: any) {\r\n const url = 'consumer/deliveryAddress';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n consumerSoPayment(data: any) {\r\n const url = 'consumer/so/pay';\r\n return this.servicemeta.httpPost(url, data);\r\n }\r\n\r\n getItemCategory(accountId: string) {\r\n const url = 'consumer/spitem/settings/'+accountId + '/category?status-eq=Enable';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n\r\n applyCoupon(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/apply/providercoupon';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n getSoCoupons(catalogId: string) {\r\n const url = 'consumer/cart/' + catalogId + '/get/providercoupon';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n\r\n removeCoupon(cartUid: string, data: any) {\r\n const url = 'consumer/cart/' + cartUid + '/remove/providercoupon';\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n\r\n searchSpItem(accountId: any, value: any) {\r\n const url =\r\n this.sharedService.getSAPath() +`searchdetails/${accountId}/sordercatalog/item/suggestion/search?name=${value}*`;\r\n return this.servicemeta.httpGet(url);\r\n }\r\n getQnrOrder(itemId: string) {\r\n const url = 'consumer/questionnaire/sorder/item/' + itemId + '/ONLINE';\r\n return this.servicemeta.httpGet(url);\r\n}\r\n\r\nsubmitQnrOrder(body: any, uuid: string) {\r\n const url = 'consumer/sorder/questionnaire/submit/' + uuid ;\r\n return this.servicemeta.httpPost(url, body);\r\n}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n \r\n store: any;\r\n\r\n constructor() { }\r\n\r\n setActiveStore(store: any) {\r\n this.store = store;\r\n } \r\n\r\n getActiveStore() {\r\n return this.store;\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n/**\r\n * Handle Local Storage related actions\r\n */\r\nexport class LocalStorageService {\r\n\r\n /* holds the variables which not removed by clearLocalstorage() method */\r\n dont_delete_localstorage = ['refreshToken', 'userType', 'version', 'qrp', 'mUniqueId', 'authToken', 'reqFrom', 'source', 'translatevariable', 'appId', 'installId', 'appUniqueId', 'cleared', 'googleToken', 'sysdate', 'pt_pwd', 'target', 'activeLocation', 'busId'];\r\n\r\n /**\r\n * Default constructor\r\n */\r\n constructor(\r\n // @Inject(PLATFORM_ID) private platformId: object\r\n ) {\r\n }\r\n\r\n /**\r\n * function to get local storage item value\r\n * @param itemname name of variable\r\n */\r\n public getitemfromLocalStorage(itemname: string) {\r\n // if (isPlatformBrowser(this.platformId)) {\r\n if (localStorage.getItem(itemname) !== 'undefined') {\r\n return JSON.parse(localStorage.getItem(itemname));\r\n }\r\n // }\r\n // return null;\r\n }\r\n /**\r\n * // function to set local storage item value\r\n * @param itemname name of variable \r\n * @param itemvalue value to set\r\n */\r\n public setitemonLocalStorage(itemname: string, itemvalue: any) {\r\n // if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(itemname, JSON.stringify(itemvalue));\r\n // }\r\n }\r\n /**\r\n * Method to remove an item from local storage\r\n * @param itemname item to be removed\r\n */\r\n public removeitemfromLocalStorage(itemname: string) {\r\n // if (isPlatformBrowser(this.platformId)) {\r\n localStorage.removeItem(itemname);\r\n // }\r\n }\r\n /**\r\n * Method to clear the local storage items except the ones contained in 'dont_delete_localstorage'\r\n */\r\n public clearLocalstorage() {\r\n // if (isPlatformBrowser(this.platformId)) {\r\n this.removeitemfromLocalStorage('ynw-credentials');\r\n for (let index = 0; index < localStorage.length; index++) {\r\n if (this.dont_delete_localstorage.indexOf(localStorage.key(index)) === -1) {\r\n localStorage.removeItem(localStorage.key(index));\r\n index = index - 1; // manage index after remove\r\n }\r\n }\r\n // }\r\n }\r\n /**\r\n * Method to clear the local storage items\r\n */\r\n public clearAll() {\r\n for (let index = 0; index < localStorage.length; index++) {\r\n localStorage.removeItem(localStorage.key(index));\r\n index = index - 1; // manage index after remove\r\n }\r\n }\r\n}\r\n","// import { isPlatformBrowser } from \"@angular/common\";\r\n// import { Inject, Injectable, PLATFORM_ID } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n/**\r\n * Handle Session Storage related actions\r\n */\r\nexport class SessionStorageService {\r\n constructor(\r\n // @Inject(PLATFORM_ID) private platformId: Object\r\n ) {\r\n\r\n }\r\n /**\r\n * Method to set an item on session storage\r\n * @param itemname \r\n * @param itemvalue \r\n */\r\n public setitemOnSessionStorage(itemname: string, itemvalue: any) {\r\n // if (isPlatformBrowser(this.platformId)) {\r\n sessionStorage.setItem(itemname, JSON.stringify(itemvalue));\r\n // }\r\n }\r\n /**\r\n * Method to get an item from session storage\r\n * @param itemname \r\n */\r\n public getitemfromSessionStorage(itemname: string) { // function to get local storage item value\r\n const itemValue = sessionStorage.getItem(itemname); \r\n if (sessionStorage.getItem(itemname) !== 'undefined') {\r\n return JSON.parse(itemValue !== null ? JSON.parse(itemValue) : null);\r\n }\r\n }\r\n /**\r\n * Method to remove an item from session storage\r\n * @param itemname \r\n */\r\n public removeitemfromSessionStorage(itemname: string) {\r\n sessionStorage.removeItem(itemname);\r\n }\r\n /**\r\n * Method to clear all the items from session storage\r\n */\r\n public clearSessionStorage() {\r\n for (let index = 0; index < sessionStorage.length; index++) {\r\n const itemValue = sessionStorage.key(index); \r\n sessionStorage.removeItem(itemValue !== null ? itemValue: '');\r\n index = index - 1; // manage index after remove\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { SessionStorageService } from \"./session-storage.service\";\r\nimport { LocalStorageService } from \"./local-storage.service\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class GroupStorageService {\r\n constructor(private sessionStorageService: SessionStorageService, private lStorageService: LocalStorageService) {}\r\n\r\n public getGroup() {\r\n if (this.sessionStorageService.getitemfromSessionStorage('tabId')) {\r\n return this.sessionStorageService.getitemfromSessionStorage('accountid');\r\n } else {\r\n return 0;\r\n }\r\n }\r\n \r\n public setitemToGroupStorage(itemname: any, itemvalue: any) {\r\n const group = this.getGroup();\r\n let groupObj: any = {};\r\n if (this.lStorageService.getitemfromLocalStorage(group)) {\r\n groupObj = JSON.parse(this.lStorageService.getitemfromLocalStorage(group))?JSON.parse(this.lStorageService.getitemfromLocalStorage(group)): {};\r\n if (groupObj) {\r\n groupObj[itemname] = itemvalue;\r\n }\r\n } else {\r\n groupObj[itemname] = itemvalue;\r\n }\r\n this.lStorageService.setitemonLocalStorage(group, JSON.stringify(groupObj));\r\n }\r\n public getitemFromGroupStorage(itemname: string, type?: any) {\r\n let group;\r\n if (type) {\r\n group = 0;\r\n } else {\r\n group = this.getGroup();\r\n }\r\n if (this.lStorageService.getitemfromLocalStorage(group)) {\r\n const groupObj = JSON.parse(this.lStorageService.getitemfromLocalStorage(group));\r\n if (groupObj[itemname] || (itemname === 'isCheckin' && groupObj[itemname] !== undefined)) {\r\n return groupObj[itemname];\r\n }\r\n }\r\n }\r\n public removeitemFromGroupStorage(itemname: string | number) {\r\n const group = this.getGroup();\r\n const groupObj = JSON.parse(this.lStorageService.getitemfromLocalStorage(group));\r\n if (groupObj[itemname]) {\r\n delete groupObj[itemname];\r\n this.lStorageService.setitemonLocalStorage(group, JSON.stringify(groupObj));\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { ServiceMeta } from \"./service-meta\";\r\nimport { LocalStorageService } from \"./local-storage.service\";\r\nimport { SessionStorageService } from \"./session-storage.service\";\r\nimport { GroupStorageService } from \"./group-storage.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n/**\r\n * \r\n * Service handles authentication\r\n */\r\nexport class AuthService {\r\n\r\n private subject = new Subject<any>();\r\n\r\n getMessage(): Observable<any> {\r\n return this.subject.asObservable();\r\n }\r\n\r\n sendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n\r\n constructor(\r\n private serviceMeta: ServiceMeta,\r\n private lStorageService: LocalStorageService,\r\n private sessionStorageService: SessionStorageService,\r\n private groupService: GroupStorageService\r\n ) {}\r\n\r\n login(post_data: any) {\r\n const _this = this;\r\n this.lStorageService.setitemonLocalStorage('login', true);\r\n post_data.mUniqueId = this.lStorageService.getitemfromLocalStorage('mUniqueId');\r\n console.log(post_data);\r\n const promise = new Promise((resolve, reject) => {\r\n _this.loginConsumer(post_data).subscribe(data => {\r\n this.lStorageService.removeitemfromLocalStorage('login');\r\n _this.setLoginData(data, post_data);\r\n this.sendMessage({ ttype: 'refresh', action: false });\r\n resolve(data);\r\n }, error => {\r\n if (error.status === 401 && error.error === 'Session Already Exist') {\r\n const authToken = this.lStorageService.getitemfromLocalStorage('c_authorizationToken');\r\n _this.doLogout().then(\r\n () => {\r\n this.lStorageService.setitemonLocalStorage('c_authorizationToken', authToken);\r\n _this.login(post_data);\r\n })\r\n }\r\n reject(error);\r\n });\r\n });\r\n return promise;\r\n }\r\n /**\r\n * Set Credentials and User Type (provider/consumer) in Local Storage\r\n * @param data \r\n * @param post_data \r\n * @param mod \r\n */\r\n setLoginData(data: any, post_data: any) {\r\n console.log(\"Set Login Data:\", data);\r\n this.groupService.setitemToGroupStorage('ynw-user', data);\r\n this.lStorageService.setitemonLocalStorage('isBusinessOwner', 'false');\r\n if (post_data['password']) {\r\n delete post_data['password'];\r\n }\r\n this.lStorageService.setitemonLocalStorage('ynw-credentials', JSON.stringify(post_data));\r\n }\r\n signUp(post_data: any) {\r\n const promise = new Promise((resolve, reject) => {\r\n this.signUpConsumer(post_data).subscribe(\r\n data => {\r\n resolve(data);\r\n }, error => {\r\n reject(error);\r\n });\r\n });\r\n return promise;\r\n }\r\n doLogout() {\r\n console.log(\"Do Logout\")\r\n const _this = this;\r\n this.lStorageService.setitemonLocalStorage('logout', true);\r\n this.lStorageService.removeitemfromLocalStorage('authorization');\r\n const promise = new Promise<void>((resolve, reject) => {\r\n _this.consumerLogout().subscribe(() => {\r\n _this.lStorageService.clearLocalstorage();\r\n _this.sessionStorageService.clearSessionStorage();\r\n this.sendMessage({ ttype: 'refresh', action: false });\r\n resolve();\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n signUpConsumer(body: any) {\r\n return this.serviceMeta.httpPost('consumer', body);\r\n }\r\n\r\n loginConsumer(body: any) {\r\n console.log(\"LoginConsumer\", body);\r\n return this.serviceMeta.httpPost('consumer/login', body);\r\n }\r\n\r\n consumerLogout() {\r\n return this.serviceMeta.httpDelete('consumer/login');\r\n }\r\n sendConsumerOTP(body: any) {\r\n const url = 'consumer/oauth/identify';\r\n return this.serviceMeta.httpPost(url, body);\r\n }\r\n verifyConsumerOTP(otp: string) {\r\n const url = 'consumer/oauth/otp/' + otp + '/verify';\r\n return this.serviceMeta.httpPost(url);\r\n }\r\n verifyNewPhoneOTP(otp: string, body: any, origin?: string) {\r\n const path = origin + '/login/' + otp + '/verifyLogin';\r\n return this.serviceMeta.httpPut(path, body);\r\n }\r\n verifyNewPhone(phonenumber: string, origin?: string, countryCode?: string) {\r\n const path = origin + '/login/verifyLogin/' + phonenumber + '?countryCode=' + countryCode;\r\n return this.serviceMeta.httpPost(path);\r\n }\r\n\r\n getProviderConsumer() {\r\n return this.serviceMeta.httpGet('spconsumer');\r\n }\r\n /**\r\n * To check whether user logged in or not\r\n * @returns true/false\r\n */\r\n goThroughLogin() {\r\n const _this = this;\r\n return new Promise(function (resolve) {\r\n if (_this.lStorageService.getitemfromLocalStorage('ynw-credentials')) {\r\n resolve(true);\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n }\r\n shareOTPforForm(uuid: string) {\r\n const url = 'consumer/consentform/sendOtp/' + uuid;\r\n return this.serviceMeta.httpPut(url);\r\n }\r\n verifyOTPforForm(otp: string, uuid: string) {\r\n const url = 'consumer/consentform/verifyOtp/' + otp + '/' + uuid;\r\n return this.serviceMeta.httpPatch(url);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * \r\n */\r\nexport class FileService {\r\n // Supported images types\r\n IMAGE_FORMATS = [\r\n 'image/gif',\r\n 'image/png',\r\n 'image/jpeg',\r\n 'image/bmp',\r\n 'image/webp'\r\n ];\r\n\r\n FILETYPES_UPLOAD = [\r\n 'image/jpg',\r\n 'image/png',\r\n 'image/jpeg',\r\n 'image/bmp',\r\n 'application/pdf',\r\n 'application/jfif',\r\n 'video/mp4',\r\n 'video/mpeg',\r\n 'audio/mpeg',\r\n 'audio/mp3',\r\n 'audio/ogg',\r\n 'application/vnd.ms-excel',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'application/doc',\r\n 'application/ms-doc',\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'docx',\r\n 'doc'\r\n ];\r\n\r\n imageSize = 15000000;\r\n FILE_MAX_SIZE = 10000000;\r\n constructor() { }\r\n\r\n /**\r\n * Method returns supported formats of files which has to be uploaded\r\n * @param source image/file\r\n * @returns available formats\r\n */\r\n getSupportedFormats(source: any) {\r\n console.log(source);\r\n let formats = [];\r\n if (source == 'image') {\r\n formats = this.IMAGE_FORMATS;\r\n //return this.IMAGE_FORMATS;\r\n } else {\r\n formats = this.FILETYPES_UPLOAD;\r\n //return this.FILETYPES_UPLOAD;\r\n }\r\n console.log(formats);\r\n return formats;\r\n }\r\n\r\n /**\r\n * Method will return the maximum uploadable size of a file/image\r\n * @returns Maximum size of the image to upload\r\n */\r\n getMaximumImageSize() {\r\n return this.imageSize;\r\n }\r\n\r\n imageValidation(file: any, source?: any) {\r\n console.log(\"In Image Validation:\", source);\r\n let file_types = [];\r\n if (source === 'attachment' || source === 'consumerimages') {\r\n file_types = this.getSupportedFormats('file');\r\n } else {\r\n file_types = this.getSupportedFormats('image');\r\n }\r\n const image_max_size = this.getMaximumImageSize();\r\n const error: any = [];\r\n console.log(file_types);\r\n console.log(file.type);\r\n let is_error = false;\r\n if (!file.type || (file.type && file_types.indexOf(file.type) === -1)) {\r\n error['type'] = true;\r\n is_error = true;\r\n }\r\n if (file.size && file.size > image_max_size) {\r\n error['size'] = true;\r\n is_error = true;\r\n }\r\n if (is_error === false) {\r\n return true;\r\n } else {\r\n return error;\r\n }\r\n }\r\n getImage(url: any, fileObj: any) {\r\n let file = fileObj;\r\n if (fileObj && fileObj['mimeType']) {\r\n file['type'] = fileObj['mimeType'];\r\n }\r\n // console.log(\"File :\", file);\r\n // console.log(\"File Type :\", file.type)\r\n // console.log(\"File Name :\", file.name.includes('docx'))\r\n if (file.type) {\r\n if (file.type == 'application/pdf') {\r\n return './assets/images/pdf.png';\r\n } else if (file.type == 'application/vnd.ms-excel' || file.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {\r\n return './assets/images/xls.png';\r\n } else if (file.type == 'audio/mp3' || file.type == 'audio/mpeg' || file.type == 'audio/ogg') {\r\n return './assets/images/audio.png';\r\n } else if (file.type == 'video/mp4' || file.type == 'video/mpeg') {\r\n return './assets/images/video.png';\r\n } else if (file.type == 'application/msword' || file.type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' || file.type.includes('docx') || file.type.includes('doc')) {\r\n return './assets/images/ImgeFileIcon/wordDocsBgWhite.jpg';\r\n } else if (file.type.includes('txt')) {\r\n return './assets/images/ImgeFileIcon/docTxt.png';\r\n } else {\r\n return url;\r\n }\r\n }\r\n return url;\r\n }\r\n getImageByType(type: any) {\r\n if (type == 'pdf') {\r\n return './assets/images/pdf.png';\r\n } else if (type == 'vnd.ms-excel' || type == 'vnd.openxmlformats-officedocument.spreadsheetml.sheet' || type == 'xls' || type == 'xlsx') {\r\n return './assets/images/xls.png';\r\n } else if (type == 'mp3' || type == 'mpeg' || type == 'ogg') {\r\n return './assets/images/audio.png';\r\n } else if (type == 'mp4' || type == 'mpeg') {\r\n return './assets/images/video.png';\r\n } else if (type == 'application/msword' || type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' || type == 'docx' || type == 'doc' || type == 'msword') {\r\n return './assets/images/ImgeFileIcon/wordDocsBgWhite.jpg';\r\n } else if (type == 'txt') {\r\n return './assets/images/ImgeFileIcon/docTxt.png';\r\n } else {\r\n return './assets/images/img_uplod.png';\r\n }\r\n }\r\n\r\n filesSelected(event: any, selectedMessage: any) {\r\n const _this = this;\r\n return new Promise(function (resolve, reject) {\r\n // const input = event.target.files;\r\n let input = event.files;\r\n if (event.target && event.target.files) {\r\n input = event.target.files;\r\n }\r\n console.log(\"File Selected :\", input);\r\n if (input) {\r\n let count = 0;\r\n let filesCount = input.length;\r\n for (const file of input) {\r\n if (_this.FILETYPES_UPLOAD.indexOf(file.type) === -1) {\r\n reject(\"Selected file type not supported\");\r\n } else if (file.size > _this.FILE_MAX_SIZE) {\r\n reject(\"Please upload files with size < 10mb\");\r\n } else {\r\n selectedMessage.files.push(file);\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n selectedMessage.base64.push(e.target[\"result\"]);\r\n count++;\r\n if (count === filesCount) {\r\n resolve(true);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n }\r\n })\r\n }\r\n filessSelected(event: any, selectedMessage: any) {\r\n const _this = this;\r\n return new Promise(function (resolve, reject) {\r\n // const input = event.target.files;\r\n let input = event.files;\r\n if (event.target && event.target.files) {\r\n input = event.target.files;\r\n }\r\n console.log(\"File Selected :\", input);\r\n if (input) {\r\n let count = 0;\r\n let filesCount = input.length;\r\n for (const file of input) {\r\n if (_this.IMAGE_FORMATS.indexOf(file.type) === -1) {\r\n reject(\"Selected file type not supported\");\r\n } else if (file.size > _this.FILE_MAX_SIZE) {\r\n reject(\"Please upload files with size < 10mb\");\r\n } else {\r\n selectedMessage.files.push(file);\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n selectedMessage.base64.push(e.target[\"result\"]);\r\n count++;\r\n if (count === filesCount) {\r\n resolve(true);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n }\r\n })\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n constructor() { }\r\n\r\n groupBy(xs: any, key: any) {\r\n return xs.reduce(function (rv: any, x: any) {\r\n (rv[x[key]] = rv[x[key]] || []).push(x);\r\n return rv;\r\n }, {});\r\n }\r\n isNumeric(evt: any) {\r\n const inputKeyCode = evt.keyCode ? evt.keyCode : evt.which;\r\n if ((inputKeyCode >= 48 && inputKeyCode <= 57) || inputKeyCode === 8 || inputKeyCode === 46) {\r\n return true;\r\n } else {\r\n evt.preventDefault();\r\n return false;\r\n }\r\n }\r\n showlogoicon(logo: any) {\r\n if (logo == null || logo === '') {\r\n return '../../assets/images/no_image_icon.png';\r\n } else {\r\n return logo;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ServiceMeta } from './service-meta';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n private storage: any = {\r\n 'spconsumer': null,\r\n 'salutation': null\r\n }\r\n\r\n constructor(\r\n private servicemeta: ServiceMeta\r\n ) { }\r\n\r\n clear() {\r\n this.storage = {\r\n 'spconsumer': null,\r\n 'salutation': null\r\n }\r\n }\r\n\r\n set(key: string, value: any) {\r\n this.storage[key] = value;\r\n }\r\n\r\n get(key: string) {\r\n return this.storage[key];\r\n }\r\n\r\n getSPConsumer() {\r\n return this.servicemeta.httpGet('spconsumer');\r\n }\r\n\r\n getProviderConsumer() {\r\n const _this = this;\r\n\r\n return new Promise(function (resolve, reject) {\r\n\r\n const spConsumer = _this.get('spconsumer');\r\n if (spConsumer) {\r\n resolve(spConsumer);\r\n } else {\r\n _this.getSPConsumer().subscribe((spconsumer) => {\r\n _this.set('spconsumer', spconsumer);\r\n resolve(spconsumer);\r\n }, (error) => {\r\n reject(error);\r\n })\r\n }\r\n });\r\n }\r\n getSalutationsRest() {\r\n const url = 'consumer/userTitle';\r\n return this.servicemeta.httpGet(url);\r\n }\r\n getSalutations() {\r\n const _this = this;\r\n return new Promise(function (resolve, reject) {\r\n const salutations = _this.get('salutations');\r\n if (salutations) {\r\n resolve(salutations);\r\n } else {\r\n _this.getSalutationsRest().subscribe((salutations) => {\r\n _this.set('salutations', salutations);\r\n resolve(salutations);\r\n }, (error) => {\r\n reject(error);\r\n }\r\n )\r\n }\r\n })\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nInjectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ErrorMessagingService {\r\n\r\n API_ERROR = 'There was a problem while connecting to our server. Please try again.';\r\n\r\n constructor() {\r\n }\r\n getApiError(error: any) {\r\n console.log(\"Get Api Error:\", error);\r\n if (error.error && typeof error.error === 'string') {\r\n return error.error;\r\n } else if (typeof error === 'string') {\r\n return error;\r\n } else {\r\n return this.API_ERROR;\r\n }\r\n }\r\n}\r\n","export const Messages: any = {\r\n 'OTP_SENT_EMAIL': 'Enter the OTP sent to [your_email]',\r\n 'OTP_SENT_LABEL': 'Enter the OTP sent to [your_mobile]',\r\n 'PROFILE_UPDATE': 'Profile has been updated successfully',\r\n 'EMAIL_MISMATCH': 'Email and Re-entered Email do not match',\r\n 'PHONE_VERIFIED': 'Your mobile number has been verified',\r\n 'MEMBER_CREATED': 'Member added successfully',\r\n 'MEMBER_UPDATED': 'Member updated successfully',\r\n 'APPLIED_INBILLTIME': ' Coupon will be applied on the final bill',\r\n 'CONSUMERTOPROVIDER_NOTE_ADD': 'Message has been successfully sent',\r\n 'PROVIDERTOCONSUMER_NOTE_ADD': 'Message has been successfully sent',\r\n 'MSG_ERROR': 'Please enter the message',\r\n 'CHECKIN_SUCC_REDIRECT': 'Please wait ... You are being redirected to the Payment Gateway ...',\r\n 'CHECKIN_ERROR': 'Sorry! an error occured',\r\n 'SERVICE_RATE_UPDATE': 'Thank you for your feedback',\r\n 'INBOXICON_TOOPTIP': 'Messages',\r\n 'FILE_TOOLTIP': 'Upload Files',\r\n 'NXT_AVAILABLE_TIME_CAPTION': 'Next Available Time',\r\n 'ESTIMATED_TIME_SMALL_CAPTION': 'Est Wait Time',\r\n 'SAVE_BTN': 'Save',\r\n 'CANCEL_BTN': 'Cancel',\r\n 'UPDATE_BTN': 'Update',\r\n 'EDIT_BTN': 'Edit',\r\n 'DELETE_BTN': 'Delete',\r\n 'SEND_BTN': 'Send',\r\n 'OK_BTN': 'Ok',\r\n 'YES_BTN': 'Yes',\r\n 'NO_BTN': 'No',\r\n 'CLOSE_BTN': 'Close',\r\n 'DONE_BTN': 'Complete',\r\n 'RESEND_BTN': 'Resend',\r\n 'CONFIRM_BTN': 'Confirm',\r\n 'FAMILY_MEMBERS': 'Family Members',\r\n 'FAMILY_MEMBER': 'Family Member',\r\n 'MEMBER_CAPTION': 'Member',\r\n 'ADD_FAMILY_MEMBER': 'Add Family Member',\r\n 'FIRST_NAME_CAP': 'First Name',\r\n 'LAST_NAME_CAP': 'Last Name',\r\n 'MOBILE_NUMBER_CAP': 'Mobile #',\r\n 'GENDER_CAP': 'Gender',\r\n 'DOB_CAP': 'Date of Birth',\r\n 'RELATED_LINKS': 'Related Links',\r\n 'USER_PROF_CAP': 'My Account',\r\n 'CHANGE_MOB_CAP': 'Change Mobile',\r\n 'ADD_CHANGE_EMAIL': 'Update Email',\r\n 'SEND_MSGS_CAP': 'Enquiry',\r\n 'SEND_MSG_CAP': 'Send Message',\r\n 'SEND_MSG': 'Enquiry',\r\n 'MAKE_PAYMENT_CAP': 'Make Payment',\r\n 'PAYMENT_REDIRECT': 'Please wait ... You are being redirected to the Payment Gateway ...',\r\n 'PROVIDER_BILL_PAYMENT': 'Payment completed successfully',\r\n 'BILL_CAPTION': 'Bill',\r\n 'RATE_VISIT': 'Rate Your Visit',\r\n 'DATE_CAP': 'Date:',\r\n 'LOCATION_CAP': 'Location',\r\n 'NAME_CAP': 'Name:',\r\n 'RATE_YOU_VISIT': 'Rate Your Visit',\r\n 'RATING_CAP': 'Rate *',\r\n 'MESSAGE_CAP': 'Message',\r\n 'RATE_BTN_CAP': 'Rate',\r\n 'OTHERMESSAGE_CAP': 'Please Enter Reason For Cancellation',\r\n 'F_NAME_CAP': 'First Name *',\r\n 'L_NAME_CAP': 'Last Name *',\r\n 'TERMS_CONDITIONS_CAP': 'Terms & Conditions',\r\n 'FILL_FOLL_DETAILS_CAP': 'Please fill in the following details',\r\n 'MALE_CAP': 'Male',\r\n 'FEMALE_CAP': 'Female',\r\n 'EMAIL_CAP': 'Email',\r\n 'CHANGEMOBILE_CAP': 'Change Mobile #',\r\n 'APPLY_CAP': 'Apply',\r\n 'ADD_MEMBER_CAP': 'Add Member',\r\n 'SERV_PROVIDER_CAP': 'Service Provider',\r\n 'DATE_COL_CAP': 'Date',\r\n 'BILL_PAYMENT_CAP': 'Bill Payment',\r\n 'COUPON_CODE_CAP': 'Coupon Code',\r\n 'AMNT_TO_PAY_CAP': 'Amount to pay',\r\n 'NO_PAY_OPT_AVIL_CAP': 'No payment options available.',\r\n 'PHONE_NO_CAP': 'Phone Number',\r\n 'EMAIL_ID_CAP': 'Email Id',\r\n 'DATE_TIME_CAP': 'Date/Time',\r\n 'LOGOUT_CAP': 'Logout',\r\n 'PROVIDER_CONSUMER_CAP': 'Provider / Consumer',\r\n 'REPLY_CAP': 'Reply',\r\n 'DELETE_MSG_CAP': 'Delete Message',\r\n 'NO_MSG_EXISTS_CAP': 'No messages found',\r\n 'ENTER_OTP_CAP': 'Enter OTP *',\r\n 'RESEND_OTP_TO_CAP': 'Resend OTP',\r\n 'RESEND_OTP_EMAIL_CAP': 'Resend OTP via email',\r\n 'RESEND_OTP_OPT_ACTIVE_IN_CAP': 'Resend OTP option will be active in',\r\n 'SECONDS_CAP': 'seconds.',\r\n 'ENTER_EMAIL_CAP': 'Enter Email',\r\n 'TIME_CAP': 'Time',\r\n 'BILL_NO_CAP': 'Bill #',\r\n 'GSTIN_CAP': 'GSTIN',\r\n 'QTY_CAP': 'Qty',\r\n 'DISCOUNT_CAP': 'Discount',\r\n 'COUPON_CAP': 'Coupon',\r\n 'SUB_TOT_CAP': 'Sub Total',\r\n 'GROSS_AMNT_CAP': 'Gross Amount',\r\n 'TAX_CAP': 'Tax',\r\n 'AMNT_PAID_CAP': 'Amount Paid',\r\n 'BACK_TO_BILL_CAP': 'Back to Bill',\r\n 'PAY_LOGS_CAP': 'Payment Logs',\r\n 'AMOUNT_CAP': 'Amount',\r\n 'REFUNDABLE_CAP': 'Refundable',\r\n 'MODE_CAP': 'Mode',\r\n 'REFUNDS_CAP': 'Refunds',\r\n 'PAY_STATUS': 'Status',\r\n 'GALLERY_CAP': 'Gallery',\r\n 'SELECT_IMAGE_CAP': 'Click here to select the files',\r\n 'NEW_CAP': 'New',\r\n 'ADD_SER_ITEM_CAP': 'Add Service/Item',\r\n 'AVAILABLE_CAP': 'Available',\r\n 'QTY_CAPITAL_CAP': 'Qty',\r\n 'SEL_DISC_CAP': 'Select Discount',\r\n 'SEL_COUPON_CAP': 'Select Coupon ',\r\n 'DISCOUNTS_COUPONS_CAP': 'Discounts / Coupons',\r\n 'BILL_DISCOUNT_CAP': 'Discount',\r\n 'ADD_BTN': 'Add',\r\n 'CUSTOMER_MOBILE_CAP': 'Mobile',\r\n 'COUPONS_CAP': 'Coupons',\r\n 'SERVICE_PHOTO_CAP': 'photos',\r\n 'POPUP_SELECT_REASON_CAP': 'Select a reason',\r\n 'POPUP_SEND_MSG_CAP': 'Create your own message for',\r\n 'DASHBOARD_TITLE': 'Dashboard',\r\n 'CONS_NOTE_NOTE_CAP': 'Note',\r\n 'CURRENTMOBMSG': 'Your Current Mobile # :',\r\n 'GET_TOKEN': 'Get Token',\r\n 'CHECK_DET_NO_CUS_NOTES_FOUND_CAP': 'No [customer] note found',\r\n 'NOUSERCAP': 'Global Services',\r\n 'SEND_MESSAGE': 'The [customer] does not have a mobile number/email',\r\n 'ATTACHMENT_SEND': 'Attachment sent successfully',\r\n 'QUESTIONNAIRE_CONSUMER_HEADING': 'More info',\r\n 'CHECK_DET_DATE_CAP': 'Date',\r\n 'CHECK_DET_LOCATION_CAP': 'Location',\r\n 'CHECK_DET_SERVICE_CAP': 'Service',\r\n 'CHECK_DET_SEND_MSG_CAP': 'Send Message',\r\n 'CHECK_DET_CUST_NOTES_CAP': '[customer] Note',\r\n 'BPROFILE_HAVE_NOT_ADD_CAP': 'You haven\\'t added ',\r\n 'BPROFILE_ADD_IT_NOW_CAP': 'Add It Now',\r\n 'BPROFILE_PHONENO': 'Please enter the phone number',\r\n 'BPROFILE_PRIVACY_PHONE_10DIGITS': 'Mobile number should have 10 digits',\r\n 'PRO_STATUS_CAP': 'Status',\r\n 'PRO_SERVICE_CAP': 'Service'\r\n};","import { Injectable } from \"@angular/core\"\r\nimport { Messages } from \"./project-messages\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n/**\r\n * Terminology/Word Factory\r\n */\r\nexport class WordProcessor {\r\n TIMEOUT_DELAY_LARGE10 = 10000; // msec\r\n terminologies: any;\r\n spterminologies: any;\r\n\r\n constructor() { }\r\n /**\r\n * Method to set the terminlogies for Jaldee\r\n * @param terminologies \r\n */\r\n setTerminologies(terminologies: any) {\r\n // console.log(\"Set Terminologies:\", terminologies);\r\n this.terminologies = terminologies;\r\n }\r\n /**\r\n * Method to get the terminologies\r\n */\r\n getTerminologies() {\r\n return this.terminologies;\r\n }\r\n\r\n /**\r\n * Method to set the sp terminlogies for Jaldee\r\n * @param terminology \r\n */\r\n setSPTerminologies(terminology: any) {\r\n this.spterminologies = terminology;\r\n }\r\n\r\n /**\r\n * Method to get the sp terminologies\r\n */\r\n getSPTerminologies() {\r\n return this.spterminologies;\r\n }\r\n\r\n /**\r\n * Method returns the CamelCase\r\n * @param str text to convert\r\n */\r\n toCamelCase(str: any) {\r\n return str;\r\n }\r\n\r\n /**\r\n * Convert the first letter to Uppercase\r\n * @param str \r\n */\r\n firstToUpper(str: any) {\r\n if (str) {\r\n if (str.substr(0, 7) === 'http://' || str.substr(0, 8) === 'https://') {\r\n return str;\r\n } else {\r\n return str.charAt(0).toUpperCase() + str.substr(1);\r\n }\r\n }\r\n }\r\n /**\r\n * Show/Hide Success or Error Messages\r\n * @param ob Object to put the message\r\n * @param message Message to show\r\n */\r\n apiSuccessAutoHide(ob: any, message: any) {\r\n const replaced_message = this.findTerminologyTerm(message);\r\n ob.api_success = this.firstToUpper(replaced_message);\r\n setTimeout(() => {\r\n ob.api_success = null;\r\n }, this.TIMEOUT_DELAY_LARGE10);\r\n }\r\n /**\r\n * Show error and hide it automatically\r\n * @param ob Object holds the message\r\n * @param error Message to be shown\r\n */\r\n apiErrorAutoHide(ob: any, error: any) {\r\n // error = this.errorService.getApiError(error);\r\n const replaced_message = this.findTerminologyTerm(error);\r\n ob.api_error = this.firstToUpper(replaced_message);\r\n setTimeout(() => {\r\n ob.api_error = null;\r\n }, this.TIMEOUT_DELAY_LARGE10);\r\n }\r\n /**\r\n * Get the terminology from terminologies\r\n * @param term \r\n */\r\n getTerminologyTerm(term: any, terminologies?: any) {\r\n if (terminologies) {\r\n this.setTerminologies(terminologies);\r\n } else {\r\n terminologies = this.getTerminologies();\r\n }\r\n const term_only = term.replace(/[\\[\\]']/g, '').toLowerCase();\r\n // console.log(\"Get Terminology Term\", terminologies);\r\n if (terminologies) {\r\n return (terminologies[term_only]) ? terminologies[term_only] : ((term === term_only) ? term_only : term);\r\n } else {\r\n return (term === term_only) ? term_only : term;\r\n }\r\n }\r\n /**\r\n * Replace the term within the full message\r\n * @param term term to be replaced\r\n * @param full_message full message\r\n */\r\n removeTerminologyTerm(term: any, full_message: any) {\r\n const term_replace = this.getTerminologyTerm(term);\r\n // console.log(\"Term To replace:\", term_replace);\r\n const term_only = term.replace(/[\\[\\]']/g, ''); // term may me with or without '[' ']'\r\n // console.log(\"Term:\", term_only);\r\n return full_message.replace('[' + term_only + ']', term_replace);\r\n }\r\n /**\r\n * Find the terminology\r\n * @param message \r\n */\r\n findTerminologyTerm(message: any) {\r\n // console.log(\"Message:\", message);\r\n let replaced_msg = message;\r\n if (message) {\r\n const matches = message.match(/\\[(.*?)\\]/g);\r\n replaced_msg = message;\r\n // console.log(\"Matches\", matches);\r\n if (matches) {\r\n for (const match of matches) {\r\n replaced_msg = this.removeTerminologyTerm(match, replaced_msg);\r\n }\r\n }\r\n }\r\n return replaced_msg;\r\n }\r\n /**\r\n * get the message from the messages list\r\n * @param key identifier for the message\r\n */\r\n getProjectMesssages(key: any) {\r\n let message = Messages[key] || '';\r\n message = this.findTerminologyTerm(message);\r\n return this.firstToUpper(message);\r\n }\r\n /**\r\n * Extract error message from the error object\r\n * @param error error message to shown\r\n */\r\n getProjectErrorMesssages(message: any, terminologies?: any) {\r\n if (terminologies) {\r\n this.setTerminologies(this.terminologies);\r\n }\r\n // let message = this.errorService.getApiError(error);\r\n message = this.findTerminologyTerm(message);\r\n return this.firstToUpper(message);\r\n }\r\n /**\r\n * Get the terminology from terminologies\r\n * @param term \r\n */\r\n getSPTerminologyTerm(term: any) {\r\n const term_only = term;\r\n const terminologies = this.getSPTerminologies();\r\n // console.log(\"Terminologies:\", terminologies);\r\n if (terminologies) {\r\n return (terminologies[term_only]) ? terminologies[term_only] : ((term === term_only) ? term_only : term);\r\n } else {\r\n return (term === term_only) ? term_only : term;\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({ name: 'safeHtml'})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value: any) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'limitTo'\r\n})\r\n\r\nexport class TruncatePipe implements PipeTransform {\r\n transform(value: string, args: any[]): string {\r\n const limit = args.length > 0 ? parseInt(args[0], 10) : 20;\r\n const trail = args.length > 1 ? args[1] : '...';\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) return [];\r\n if (!searchText) return items;\r\n \r\n return items.filter(item => {\r\n return Object.keys(item).some(key => {\r\n return String(item[key]).toLowerCase().includes(searchText.toLowerCase());\r\n });\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'capitalizeFirst'})\r\nexport class CapitalizeFirstPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (value !== null && value !== undefined ) {\r\n value = value.toString().trim();\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n return '';\r\n }\r\n }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'autolink'\r\n})\r\nexport class AutolinkPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n if (!value) return value;\r\n\r\n const urlPattern = /(\\b(https?|ftp|file):\\/\\/[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])/ig;\r\n const emailPattern = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\\.[a-zA-Z0-9._-]+)/ig;\r\n\r\n return value\r\n .replace(urlPattern, '<a href=\"$1\" target=\"_blank\">$1</a>')\r\n .replace(emailPattern, '<a href=\"mailto:$1\">$1</a>');\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-skeleton-loading',\r\n templateUrl: './skeleton-loading.component.html',\r\n styleUrls: ['./skeleton-loading.component.css']\r\n})\r\nexport class SkeletonLoadingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ul class=\"o-vertical-spacing o-vertical-spacing--l\">\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n\r\n</ul>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SkeletonLoadingComponent } from './skeleton-loading.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SkeletonLoadingComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SkeletonLoadingComponent\r\n ]\r\n})\r\nexport class SkeletonLoadingModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n@Component({\r\n selector: 'app-common-innerloading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.scss']\r\n})\r\n\r\nexport class LoadingSpinnerComponent implements OnInit {\r\n @Input() spinnerParams: any = [];\r\n diameter: any;\r\n stroke: any;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.diameter = (this.spinnerParams['diameter']) ? this.spinnerParams['diameter'] : 40;\r\n this.stroke = (this.spinnerParams['strokewidth']) ? this.spinnerParams['strokewidth'] : 5;\r\n }\r\n}\r\n","<mat-spinner class=\"inner-load-spinner\" [strokeWidth]=\"stroke\" [diameter]=\"diameter\"></mat-spinner>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatProgressSpinnerModule\r\n ],\r\n declarations: [\r\n LoadingSpinnerComponent\r\n ],\r\n exports: [\r\n LoadingSpinnerComponent\r\n ]\r\n})\r\n\r\nexport class LoadingSpinnerModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { ServiceMeta } from \"../service-meta\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * Class which handle Questionaire\r\n */\r\nexport class QuestionaireService {\r\n\r\n private subject = new Subject<any>();\r\n\r\n getMessage(): Observable<any> {\r\n return this.subject.asObservable();\r\n }\r\n\r\n sendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n\r\n constructor(private servicemeta: ServiceMeta) { }\r\n validateConsumerQuestionnaire(body: any, accountId: string) {\r\n const url = 'consumer/questionnaire/validate' + '?account=' + accountId;\r\n return this.servicemeta.httpPut(url, body);\r\n }\r\n validateConsumerQuestionnaireResbumit(body: any, accountId: string) {\r\n const url = 'consumer/questionnaire/resubmit/validate' + '?account=' + accountId;\r\n return this.servicemeta.httpPut(url, body);\r\n }\r\n consumerOrderQnrUploadStatusUpdate(uid: string, account: string, data: any) {\r\n const url = 'consumer/orders/questionnaire/upload/status/' + uid + '?account=' + account;\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n consumerDonationQnrUploadStatusUpdate(uid: string, account: string, data: any) {\r\n const url = 'consumer/donation/questionnaire/upload/status/' + uid + '?account=' + account;\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n consumerApptQnrUploadStatusUpdate(uid: string, account: string, data: any) {\r\n const url = 'consumer/appointment/questionnaire/upload/status/' + uid + '?account=' + account;\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n consumerWaitlistQnrUploadStatusUpdate(uid: string, account: string, data: any) {\r\n const url = 'consumer/waitlist/questionnaire/upload/status/' + uid + '?account=' + account;\r\n return this.servicemeta.httpPut(url, data);\r\n }\r\n videoaudioS3Upload(file: any, url: any) {\r\n return this.servicemeta.httpPut(url, file);\r\n }\r\n resubmitConsumerWaitlistQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/waitlist/questionnaire/resubmit/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n submitConsumerWaitlistQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/waitlist/questionnaire/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n resubmitConsumerDonationQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/donation/questionnaire/resubmit/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n resubmitConsumerApptQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/appointment/questionnaire/resubmit/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n submitConsumerApptQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/appointment/questionnaire/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n resubmitConsumerOrderQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/orders/questionnaire/resubmit/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n submitConsumerOrderQuestionnaire(body: any, uuid: string, accountId: string) {\r\n const url = 'consumer/orders/questionnaire/' + uuid + '?account=' + accountId;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n validateConsumerIvrQuestionnaire(body: any, id: string) {\r\n const url = 'consumer/ivr/questionnaire/submit/' + id;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n submitDonationQuestionnaire(uuid: string, body: any, account_id: string) {\r\n const url = 'consumer/donation/questionnaire/submit/' + uuid + '?account=' + account_id;\r\n return this.servicemeta.httpPost(url, body);\r\n }\r\n}","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CommonService } from '../common.service';\r\n@Component({\r\n selector: 'app-showuploadfile',\r\n templateUrl: './showuploadfile.component.html',\r\n styleUrls: ['./showuploadfile.component.scss']\r\n})\r\nexport class ShowuploadfileComponent implements OnInit {\r\n details: any = [];\r\n locationImg: any;\r\n cacheavoider = '';\r\n title = 'Detailed View';\r\n type: any;\r\n theme: any;\r\n constructor(\r\n private dialogRef: MatDialogRef<ShowuploadfileComponent>,\r\n private commonService: CommonService,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.details = this.data.file;\r\n console.log('details',this.details);\r\n if (this.data.source === 'qnr') {\r\n this.title = (this.details.comments) ? this.details.comments : '';\r\n if (this.details.s3path) {\r\n this.details.url = this.details.s3path;\r\n } else {\r\n this.details.url = this.details.path;\r\n }\r\n this.type = this.details.type.split('/');\r\n this.type = this.type[0];\r\n }\r\n }\r\n ngOnInit() {\r\n this.theme = this.data.theme; \r\n const cnow = new Date();\r\n const dd = cnow.getHours() + '' + cnow.getMinutes() + '' + cnow.getSeconds();\r\n this.cacheavoider = dd;\r\n\r\n }\r\n showimg(imgurl: any) {\r\n let logourl = '';\r\n if (imgurl) {\r\n logourl = (imgurl) ? imgurl + '?' + this.cacheavoider : '';\r\n }\r\n return this.commonService.showlogoicon(logourl);\r\n }\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<form [ngClass]=\"theme\">\r\n <h1 class=\"mat-dialog-title\"> {{title}}\r\n <button #locte mat-dialog-close class=\"modal_close\" tabindex=\"-1\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\r\n </button>\r\n </h1>\r\n <div class=\"pad-20 image-scroll\">\r\n <img style=\"width:100%;margin-top: -20px;\" [src]=\"details.url||details.s3path\" alt=\"\"\r\n *ngIf=\"details.type && details.type == 'image/bmp'|| details.type =='image/png'|| details.type == 'image/gif' || details.type == 'image/jpg' ||details.type =='image/jpeg'||details.type == 'image/webp'\r\n ||details.type == 'bmp' ||details.type == 'png' ||details.type == 'gif' ||details.type == 'jpg' ||details.type == 'jpeg' ||details.type == 'webp'\" />\r\n <video style=\"width:100%;height: 75vh;\" controls [class.mgn-up-minus-20]=\"data.source === 'mr'\"\r\n *ngIf=\"(data.source === 'qnr' && type === 'video') || (data.source === 'mr' && details.type && details.type == 'video/mp4' || details.type == 'video/mpeg'||details.type == 'video/quicktime')\">\r\n <source [src]=\"details.url\" />\r\n </video>\r\n <audio style=\"width:100%;\" controls [class.mgn-up-minus-20]=\"data.source === 'mr'\"\r\n *ngIf=\"(data.source === 'qnr' && type === 'audio') || (data.source === 'mr' && details.type && details.type == 'audio/ogg'|| details.type == 'audio/mpeg'|| details.type == 'audio/mp3')\">\r\n <source [src]=\"details.url\" />\r\n </audio>\r\n </div>\r\n</form>","import { Injectable } from \"@angular/core\";\r\nimport moment from 'moment';\r\nimport { ServiceMeta } from \"../../service-meta\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * Class which handles date/time related functions\r\n */\r\nexport class DateTimeProcessor {\r\n\r\n REGION_LANGUAGE = \"en-US\";\r\n TIME_ZONE_REGION = \"Asia/Kolkata\";\r\n myweekdaysSchedule = [\r\n \"\",\r\n \"Sun\",\r\n \"Mon\",\r\n \"Tue\",\r\n \"Wed\",\r\n \"Thu\",\r\n \"Fri\",\r\n \"Sat\"\r\n ];\r\n\r\n constructor(private servicemeta: ServiceMeta) { }\r\n\r\n /**\r\n * \r\n * @param date1 \r\n * @param date2 \r\n * @returns difference between the two dates\r\n */\r\n getdaysdifffromDates(date1: any, date2: any) {\r\n let firstdate;\r\n let seconddate;\r\n if (date1 === 'now') {\r\n firstdate = new Date();\r\n } else {\r\n firstdate = new Date(date1);\r\n }\r\n seconddate = new Date(date2);\r\n const hours = Math.abs(firstdate.getTime() - seconddate.getTime()) / 36e5; // 36e5 is the scientific notation for 60*60*1000\r\n return { 'hours': hours };\r\n }\r\n\r\n /**\r\n * \r\n * @param time \r\n * @returns \r\n */\r\n getTimeAsNumberOfMinutes(time: string) {\r\n const timeParts = time.split(':');\r\n const timeInMinutes = (parseInt(timeParts[0], 10) * 60) + parseInt(timeParts[1], 10);\r\n return timeInMinutes;\r\n }\r\n /**\r\n * convert year-month-day to day-monthname-year\r\n * @param psdate \r\n * @param params \r\n * @returns \r\n */\r\n formatDate(psdate: string, params: any = []) {\r\n const monthNames: any = {\r\n '01': 'Jan',\r\n '02': 'Feb',\r\n '03': 'Mar',\r\n '04': 'Apr',\r\n '05': 'May',\r\n '06': 'Jun',\r\n '07': 'Jul',\r\n '08': 'Aug',\r\n '09': 'Sep',\r\n '10': 'Oct',\r\n '11': 'Nov',\r\n '12': 'Dec'\r\n };\r\n const darr = psdate.split('-');\r\n if (params['rettype'] === 'monthname') {\r\n darr[1] = monthNames[darr[1]];\r\n return darr[1] + ' ' + darr[2];\r\n } else if (params['rettype'] === 'fullarr') {\r\n darr[1] = monthNames[darr[1]];\r\n return darr;\r\n } else {\r\n return darr[1] + ' ' + darr[2];\r\n }\r\n }\r\n /**\r\n * \r\n * @param i \r\n * @returns \r\n */\r\n addZero(i: any) {\r\n if (i < 10) {\r\n i = '0' + i;\r\n }\r\n return i;\r\n }\r\n /**\r\n * \r\n * @param time \r\n * @param secreq \r\n * @returns \r\n */\r\n convert24HourtoAmPm(time: string, secreq?:any) {\r\n const timesp = time.split(':');\r\n let hr = parseInt(timesp[0], 10);\r\n const min = parseInt(timesp[1], 10);\r\n const sec = parseInt(timesp[2], 10);\r\n let ampm = '';\r\n let retstr = '';\r\n if (hr >= 12) {\r\n hr = hr - 12;\r\n if (hr === 0) {\r\n hr = 12;\r\n ampm = 'PM';\r\n } else if (hr < 0) {\r\n ampm = 'AM';\r\n } else {\r\n ampm = 'PM';\r\n }\r\n } else if (hr === 0) {\r\n hr = 12;\r\n ampm = 'AM';\r\n } else {\r\n ampm = 'AM';\r\n }\r\n retstr = this.addZero(hr) + ':' + this.addZero(min);\r\n if (secreq) {\r\n retstr += ':' + sec;\r\n }\r\n retstr += ' ' + ampm;\r\n return retstr;\r\n }\r\n\r\n /**\r\n * \r\n * @param mins \r\n * @returns \r\n */\r\n providerConvertMinutesToHourMinute(mins: any) {\r\n let rethr = '';\r\n let retmin = '';\r\n if (mins > 0) {\r\n const hr = Math.floor(mins / 60);\r\n const min = Math.floor(mins % 60);\r\n if (hr > 0) {\r\n if (hr > 1) {\r\n rethr = hr + ' Hrs';\r\n } else {\r\n rethr = hr + ' Hr';\r\n }\r\n }\r\n if (min > 0) {\r\n if (min > 1) {\r\n retmin = ' ' + min + ' Mins';\r\n } else {\r\n retmin = ' ' + min + ' Min';\r\n }\r\n }\r\n } else {\r\n retmin = '' + 0 + ' Min';\r\n }\r\n return rethr + retmin;\r\n }\r\n /**\r\n * \r\n * @param mins \r\n * @returns \r\n */\r\n convertMinutesToHourMinute(mins: any) {\r\n let rethr = '';\r\n let retmin = '';\r\n if (mins > 0) {\r\n const hr = Math.floor(mins / 60);\r\n const min = Math.floor(mins % 60);\r\n if (hr > 0) {\r\n if (hr > 1) {\r\n rethr = hr + ' hours';\r\n } else {\r\n rethr = hr + ' hour';\r\n }\r\n }\r\n if (min > 0) {\r\n if (min > 1) {\r\n retmin = ' ' + min + ' minutes';\r\n } else {\r\n retmin = ' ' + min + ' minute';\r\n }\r\n }\r\n } else {\r\n retmin = '' + 0 + ' minutes';\r\n }\r\n return rethr + retmin;\r\n }\r\n /**\r\n * \r\n * @param mins \r\n * @returns \r\n */\r\n convertMinutesToHourMinuteForCheckin(mins: any) {\r\n let rethr = '';\r\n let retmin = '';\r\n if (mins > 0) {\r\n const hr = Math.floor(mins / 60);\r\n const min = Math.floor(mins % 60);\r\n if (hr > 0) {\r\n if (hr > 1) {\r\n rethr = hr + 'Hrs';\r\n } else {\r\n rethr = hr + 'Hr';\r\n }\r\n }\r\n if (min > 0) {\r\n if (min > 1) {\r\n retmin = ' ' + min + 'Mins';\r\n } else {\r\n retmin = ' ' + min + 'Min';\r\n }\r\n }\r\n } else {\r\n retmin = '' + 0 + 'Min';\r\n }\r\n return rethr + retmin;\r\n }\r\n /**\r\n * \r\n * @param time \r\n * @returns \r\n */\r\n getDateFromTimeString(time: string) {\r\n const startTime = new Date();\r\n const parts = time.match(/(\\d+):(\\d+) (AM|PM)/);\r\n if (parts) {\r\n let hours = parseInt(parts[1], 0);\r\n const minutes = parseInt(parts[2], 0);\r\n const tt = parts[3];\r\n if (tt === 'PM' && hours < 12) {\r\n hours += 12;\r\n }\r\n startTime.setHours(hours, minutes, 0, 0);\r\n }\r\n return startTime;\r\n }\r\n /**\r\n * \r\n * @param dt \r\n * @param mod \r\n * @returns \r\n */\r\n stringtoDate(dt: string, mod: string) {\r\n let dtsarr;\r\n if (dt) {\r\n dtsarr = dt.split(' ');\r\n const dtarr = dtsarr[0].split('-');\r\n let retval = '';\r\n if (mod === 'all') {\r\n retval = dtarr[2] + '/' + dtarr[1] + '/' + dtarr[0] + ' ' + dtsarr[1] + ' ' + dtsarr[2];\r\n } else if (mod === 'date') {\r\n retval = dtarr[2] + '/' + dtarr[1] + '/' + dtarr[0];\r\n } else if (mod === 'time') {\r\n retval = dtsarr[1] + ' ' + dtsarr[2];\r\n }\r\n return retval;\r\n } else {\r\n return '';\r\n }\r\n }\r\n /**\r\n * \r\n * @param date \r\n * @returns \r\n */\r\n transformToYMDFormat(date: any) {\r\n console.log(\"In transformToYMDFormat:\", date);\r\n const server = date.toLocaleString(this.REGION_LANGUAGE, { timeZone: this.TIME_ZONE_REGION });\r\n const serverdate = moment(server).format();\r\n const newdate = new Date(serverdate);\r\n const dd = newdate.getDate();\r\n const mm = newdate.getMonth() + 1;\r\n const y = newdate.getFullYear();\r\n const date1 = y + '-' + mm + '-' + dd;\r\n return date1;\r\n }\r\n /**\r\n * \r\n * @param dateStr \r\n * @returns \r\n */\r\n formatDateDisplay(dateStr: string) {\r\n const pubDate = new Date(dateStr);\r\n const obtshowdate = this.addZero(pubDate.getDate()) + '/' + this.addZero((pubDate.getMonth() + 1)) + '/' + pubDate.getFullYear();\r\n return obtshowdate;\r\n }\r\n /**\r\n * \r\n * @returns \r\n */\r\n getMoment() {\r\n return moment;\r\n }\r\n /**\r\n * \r\n * @param num \r\n * @returns \r\n */\r\n getDay(num: any) {\r\n return this.myweekdaysSchedule[num];\r\n }\r\n\r\n /**\r\n * Convert Date to String in YYYYMMDD format\r\n * @param inputDate input date\r\n * @returns string\r\n */\r\n getStringFromDate_YYYYMMDD(inputDate: any) {\r\n const today = new Date(inputDate);\r\n const dd = today.getDate();\r\n const mm = today.getMonth() + 1; // January is 0!\r\n const yyyy = today.getFullYear();\r\n let cday = '';\r\n if (dd < 10) {\r\n cday = '0' + dd;\r\n } else {\r\n cday = '' + dd;\r\n }\r\n let cmon;\r\n if (mm < 10) {\r\n cmon = '0' + mm;\r\n } else {\r\n cmon = '' + mm;\r\n }\r\n const dateString = yyyy + '-' + cmon + '-' + cday;\r\n return dateString;\r\n }\r\n\r\n getLocaleDateFromServer(serverDate: any) {\r\n return new Date(serverDate.split(' ')[0]).toLocaleString(this.REGION_LANGUAGE, { timeZone: this.TIME_ZONE_REGION })\r\n }\r\n\r\n getToday(serverDate: any) {\r\n let today: any;\r\n today = new Date(serverDate.split(' ')[0]).toLocaleString(this.REGION_LANGUAGE, { timeZone: this.TIME_ZONE_REGION });\r\n today = new Date(today);\r\n const dd = today.getDate();\r\n const mm = today.getMonth() + 1; // January is 0!\r\n const yyyy = today.getFullYear();\r\n let cday = '';\r\n if (dd < 10) {\r\n cday = '0' + dd;\r\n } else {\r\n cday = '' + dd;\r\n }\r\n let cmon;\r\n if (mm < 10) {\r\n cmon = '0' + mm;\r\n } else {\r\n cmon = '' + mm;\r\n }\r\n const dtoday = yyyy + '-' + cmon + '-' + cday;\r\n return dtoday;\r\n }\r\n\r\n isFutureDate(serverDate: any, appmtDate: any) {\r\n let today: any;\r\n today = this.getToday(serverDate);\r\n const dt0 = today.toLocaleString(this.REGION_LANGUAGE, { timeZone: this.TIME_ZONE_REGION });\r\n const dt2 = moment(dt0, 'YYYY-MM-DD HH:mm').format();\r\n const date2 = new Date(dt2);\r\n const dte0 = appmtDate.toLocaleString(this.REGION_LANGUAGE, { timeZone: this.TIME_ZONE_REGION });\r\n const dte2 = moment(dte0, 'YYYY-MM-DD HH:mm').format();\r\n const datee2 = new Date(dte2);\r\n if (datee2.getTime() !== date2.getTime()) { // this is to decide whether future date selection is to be displayed. This is displayed if the sel_checkindate is a future date\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getMomentDate(pdate: any) {\r\n return moment(pdate, 'YYYY-MM-DD HH:mm').format();\r\n }\r\n\r\n /**\r\n * \r\n * @param date \r\n * @returns \r\n */\r\n transformToMMDDYYYY_(date: any) {\r\n const server = date.toLocaleString(this.REGION_LANGUAGE, { timeZone: this.TIME_ZONE_REGION });\r\n const serverdate = moment(server).format();\r\n const newdate = new Date(serverdate);\r\n const dd = newdate.getDate();\r\n const mm = newdate.getMonth() + 1;\r\n const y = newdate.getFullYear();\r\n const date1 = mm + '/' + dd + '/' + y;\r\n return date1;\r\n }\r\n\r\n getCurrentUTCdatetimestring() {\r\n const curdate = new Date();\r\n const cdate = new Date(Date.UTC(curdate.getUTCFullYear(), curdate.getUTCMonth(), curdate.getUTCDate(), curdate.getUTCHours(),\r\n curdate.getUTCMinutes(), curdate.getUTCSeconds(), curdate.getUTCMilliseconds()));\r\n return cdate.toISOString();\r\n }\r\n\r\n getSystemDate() {\r\n return this.servicemeta.httpGet('provider/server/date');\r\n }\r\n \r\n AMHourto24(date: any, time12: any) {\r\n const time = time12;\r\n let hours = Number(time.match(/^(\\d+)/)[1]);\r\n const minutes = Number(time.match(/:(\\d+)/)[1]);\r\n const AMPM = time.match(/\\s(.*)$/)[1];\r\n if (AMPM === 'PM' && hours < 12) { hours = hours + 12; }\r\n if (AMPM === 'AM' && hours === 12) { hours = hours - 12; }\r\n const sHours = hours;\r\n const sMinutes = minutes;\r\n const mom_date = moment(date);\r\n mom_date.set('hour', sHours);\r\n mom_date.set('minute', sMinutes);\r\n return mom_date;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ButtonsConfig, ButtonsStrategy, ButtonType, Image, ButtonEvent, ModalGalleryRef, ModalLibConfig, ModalGalleryConfig, ModalGalleryService } from '@ks89/angular-modal-gallery';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Subscription } from 'rxjs';\r\nimport { QuestionaireService } from '../questionaire-service';\r\nimport { LocalStorageService } from '../../local-storage.service';\r\nimport { FileService } from '../../file-service';\r\nimport { CommonService } from '../../common.service';\r\nimport { ToastService } from '../../toast.service';\r\nimport { ShowuploadfileComponent } from '../../showuploadfile/showuploadfile.component';\r\nimport { DateTimeProcessor } from '../../calendar/date-time/datetime-processor.service';\r\nimport { ErrorMessagingService } from '../../error-message.service';\r\nimport { WordProcessor } from '../../word-processor.service';\r\n@Component({\r\n selector: 'app-questionnaire',\r\n templateUrl: './questionnaire.component.html',\r\n styleUrls: ['./questionnaire.component.css']\r\n})\r\nexport class QuestionnaireComponent implements OnInit, OnChanges {\r\n @Input() questionnaireList: any;\r\n @Input() source: any;\r\n @Input() accountId: any;\r\n @Input() questionAnswers: any;\r\n @Input() customerDetails: any;\r\n @Input() uuid: any;\r\n @Input() type: any;\r\n @Input() waitlistStatus: any;\r\n @Input() orderStatus: any;\r\n @Input() donationDetails: any;\r\n @Input() service: any;\r\n @Input() mode: any; // Added by mani to check the file upload\r\n @Output() fileChanged = new EventEmitter<any>();\r\n @Output() returnAnswers = new EventEmitter<any>();\r\n @Input() tempType: any;\r\n @Input() bookingType: any;\r\n answers: any = {};\r\n showDataGrid: any = {};\r\n selectedMessage: any = [];\r\n apiError: any = [];\r\n params: any;\r\n fileuploadpreAnswers: any = {};\r\n loading = false;\r\n buttonDisable = false;\r\n questions: any = [];\r\n selectedDocs: any = [];\r\n documentsToUpload: any = [];\r\n subscription: Subscription;\r\n uploadFilesTemp: any = [];\r\n filestoUpload: any = [];\r\n changeHappened = false;\r\n uploadedFiles: any = [];\r\n uploadedImages: any = [];\r\n bookingDetails: any = [];\r\n @ViewChild('logofile1') file2!: ElementRef;\r\n customButtonsFontAwesomeConfig: ButtonsConfig = {\r\n visible: true,\r\n strategy: ButtonsStrategy.CUSTOM,\r\n buttons: [\r\n {\r\n className: 'fa fa-download',\r\n type: ButtonType.DOWNLOAD,\r\n ariaLabel: 'custom close aria label',\r\n title: 'Download',\r\n fontSize: '20px'\r\n },\r\n {\r\n className: 'inside close-image',\r\n type: ButtonType.CLOSE,\r\n ariaLabel: 'custom close aria label',\r\n title: 'Close',\r\n fontSize: '20px'\r\n }\r\n ]\r\n };\r\n image_list_popup!: Image[];\r\n questionnaire_heading = '';\r\n customer_label = '';\r\n editQuestionnaire = false;\r\n audioVideoFiles: any = [];\r\n groupedQnr: any = [];\r\n dataGridColumns: any = {};\r\n dataGridColumnsAnswerList: any = [];\r\n updatedGridIndex: any = {};\r\n newTimeDateFormat = '';\r\n qnrStatus = '';\r\n comments: any = {};\r\n tday = new Date();\r\n minday = new Date(1900, 0, 1);\r\n dataGridListColumns: any = {};\r\n showqnr!: boolean;\r\n item: any;\r\n showItem = false;\r\n totalPrice: any;\r\n itemLength: any;\r\n itemArray: any = [];\r\n dataGridList: any = [];\r\n id: number = 0;\r\n post_Data: any;\r\n dgList: any;\r\n sequenceId: any;\r\n finalObjectList: any = [];\r\n showservice = false;\r\n quesStore: any;\r\n allList: string = '';\r\n popSearches: any;\r\n serviceTotalPrice: number = 0;\r\n editableItem: any;\r\n constructor(\r\n private activated_route: ActivatedRoute,\r\n private wordProcessor: WordProcessor,\r\n private lStorageService: LocalStorageService,\r\n private dateProcessor: DateTimeProcessor,\r\n public dialog: MatDialog,\r\n private fileService: FileService,\r\n private commonService: CommonService,\r\n private questionaireService: QuestionaireService,\r\n private errorService: ErrorMessagingService,\r\n private toastService: ToastService,\r\n private modalGalleryService: ModalGalleryService,\r\n private location: Location) {\r\n this.activated_route.queryParams.subscribe(qparams => {\r\n this.params = qparams;\r\n if (this.params.type) {\r\n this.source = this.params.type;\r\n console.log(this.source)\r\n }\r\n if (this.params.providerId) {\r\n this.accountId = this.params.providerId;\r\n }\r\n if (this.params.uuid) {\r\n this.uuid = this.params.uuid;\r\n }\r\n });\r\n this.subscription = this.questionaireService.getMessage().subscribe(message => {\r\n switch (message.type) {\r\n case 'qnrValidateError':\r\n this.setValidateError(message.value);\r\n break;\r\n }\r\n });\r\n }\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n ngOnChanges() {\r\n if (this.questionAnswers && this.questionAnswers.filestoUpload && this.source === 'proLead') {\r\n this.filestoUpload = this.questionAnswers.filestoUpload;\r\n }\r\n\r\n }\r\n ngOnInit(): void {\r\n console.log(\"Service Details:\", this.questionnaireList);\r\n console.log(\"Service Details:\", this.service);\r\n if (this.lStorageService.getitemfromLocalStorage('itemArray')) {\r\n this.itemArray = this.lStorageService.getitemfromLocalStorage('itemArray');\r\n if (this.itemArray) {\r\n this.showItem = true;\r\n console.log(\"this.itemArray\", this.itemArray)\r\n }\r\n }\r\n\r\n this.customer_label = this.wordProcessor.getTerminologyTerm('customer');\r\n\r\n if (this.questionnaireList) {\r\n console.log(this.source)\r\n if (this.source === 'customer-create' || this.source === 'onetime') {\r\n if (this.questionnaireList.labels && this.questionnaireList.labels.length > 0) {\r\n this.questions = this.questionnaireList.labels[0].questions;\r\n this.groupQuestionsBySection();\r\n // this.getAnswers(this.questions, 'get');\r\n }\r\n if (this.customerDetails && this.customerDetails[0] && this.customerDetails[0].questionnaire && this.customerDetails[0].questionnaire.questionAnswers) {\r\n this.getAnswers(this.customerDetails[0].questionnaire.questionAnswers, 'get');\r\n }\r\n } else if (this.source === 'qnrDetails') {\r\n this.questions = this.questionnaireList.questions;\r\n this.groupQuestionsBySection();\r\n } else if (this.source === 'serviceOptionAppt') {\r\n this.showservice = true;\r\n this.questions = this.questionnaireList.labels;\r\n this.groupQuestionsBySection();\r\n } else if (this.source === 'qnrpaper') {\r\n this.questions = this.questionnaireList[0].labels;\r\n this.groupQuestionsBySection();\r\n } else if (!this.uuid && this.questionnaireList.labels) {\r\n this.questions = this.questionnaireList.labels;\r\n this.groupQuestionsBySection();\r\n } else if (this.source === 'qnrView' && this.questionnaireList.labels) {\r\n this.questions = this.questionnaireList.labels;\r\n this.groupQuestionsBySection();\r\n }\r\n else if (this.source === 'condumerOrder' && this.questionnaireList.labels) {\r\n this.questions = this.questionnaireList.labels;\r\n this.groupQuestionsBySection();\r\n } else if (this.source === 'ivr' && this.questionnaireList && this.questionnaireList[0].labels) {\r\n this.questions = this.questionnaireList[0].labels;\r\n console.log(\"Questions:\", this.questions);\r\n this.groupQuestionsBySection();\r\n }\r\n\r\n }\r\n if (this.source === 'customer-details' && this.customerDetails[0] && this.customerDetails[0].questionnaire) {\r\n this.questionnaireList = this.customerDetails[0].questionnaire;\r\n this.questions = this.customerDetails[0].questionnaire.questionAnswers;\r\n this.groupQuestionsBySection();\r\n this.getAnswers(this.questions, 'get');\r\n }\r\n if (this.questionAnswers) {\r\n if (this.questionAnswers.files) {\r\n this.selectedMessage = this.questionAnswers.files;\r\n }\r\n if (this.questionAnswers.audioVideo) {\r\n this.audioVideoFiles = this.questionAnswers.audioVideo;\r\n }\r\n if (this.questionAnswers.filestoUpload) {\r\n this.filestoUpload = this.questionAnswers.filestoUpload;\r\n }\r\n if (this.questionAnswers.dataGridColumnsAnswerList) {\r\n this.dataGridColumnsAnswerList = this.questionAnswers.dataGridColumnsAnswerList;\r\n }\r\n if (this.questionAnswers.comments) {\r\n this.comments = this.questionAnswers.comments;\r\n }\r\n if (this.questionAnswers.answers) {\r\n this.getAnswers(this.questionAnswers.answers.answerLine, 'init');\r\n }\r\n if (this.source == 'ivr') {\r\n this.getAnswers(this.questionAnswers, 'get');\r\n }\r\n }\r\n if (this.donationDetails && this.donationDetails.questionnaire) {\r\n this.questionnaireList = this.donationDetails.questionnaire;\r\n this.questions = this.questionnaireList.questionAnswers;\r\n this.groupQuestionsBySection();\r\n if (this.questions && this.questions.length > 0) {\r\n this.getAnswers(this.questions, 'get');\r\n }\r\n }\r\n\r\n if (this.uuid) {\r\n if (this.questionnaireList.questionAnswers) {\r\n this.questions = this.questionnaireList.questionAnswers;\r\n this.qnrStatus = 'submitted';\r\n this.groupQuestionsBySection();\r\n } else if (this.questionnaireList.labels) {\r\n this.questions = this.questionnaireList.labels;\r\n this.qnrStatus = 'released';\r\n this.groupQuestionsBySection();\r\n }\r\n else if (this.questionnaireList[0] && this.questionnaireList[0].labels) {\r\n this.questions = this.questionnaireList[0].labels;\r\n this.qnrStatus = 'released';\r\n this.groupQuestionsBySection();\r\n }\r\n if (this.questions && this.questions.length > 0) {\r\n this.getAnswers(this.questions, 'get');\r\n }\r\n }\r\n\r\n this.disableField()\r\n }\r\n\r\n //disable field\r\n disableField() {\r\n if (this.tempType && (this.tempType === 'Loan Sanction' || this.tempType === 'Rejected')) {\r\n this.buttonDisable = true;\r\n // this.disableInput();\r\n }\r\n }\r\n // *.component.ts\r\n asIsOrder(a: any, b: any) {\r\n return 1;\r\n }\r\n groupQuestionsBySection() {\r\n if (this.source === 'customer-create' || this.source === 'qnrDetails' || this.source === 'onetime') {\r\n this.groupedQnr = this.commonService.groupBy(this.questions, 'sectionName');\r\n }\r\n else if (this.source === 'proLead') {\r\n this.groupedQnr = this.questions.reduce(function (rv: any, x: any) {\r\n (rv[x.question['sequnceId']] = rv[x.question['sequnceId']] || []).push(x);\r\n return rv;\r\n }, {});\r\n }\r\n else {\r\n this.groupedQnr = this.questions.reduce(function (rv: any, x: any) {\r\n (rv[x.question['sectionOrder']] = rv[x.question['sectionOrder']] || []).push(x);\r\n return rv;\r\n }, {});\r\n }\r\n }\r\n setValidateError(errors: any) {\r\n this.apiError = [];\r\n if (errors.length > 0) {\r\n for (let error of errors) {\r\n this.apiError[error.questionField] = [];\r\n this.apiError[error.questionField].push(error.error);\r\n }\r\n this.buttonDisable = false;\r\n }\r\n }\r\n getAnswers(answerData: any, type?: any) {\r\n this.answers = new Object();\r\n this.dataGridColumns = {};\r\n if (type === 'get') {\r\n this.selectedMessage = [];\r\n this.uploadedImages = [];\r\n this.uploadedFiles = [];\r\n for (let answ of answerData) {\r\n\r\n if (answ.answerLine) {\r\n if (answ.question.fieldDataType === 'fileUpload') {\r\n\r\n if (this.source === 'proLead') {\r\n if (answ.answerLine.answer[answ.question.fieldDataType] && answ.answerLine.answer[answ.question.fieldDataType].length > 0) {\r\n for (let i = 0; i < answ.answerLine.answer[answ.question.fieldDataType].length; i++) {\r\n answ.answerLine.answer[answ.question.fieldDataType][i].action = 'add';\r\n answ.answerLine.answer[answ.question.fieldDataType][i].status = 'COMPLETE';\r\n answ.answerLine.answer[answ.question.fieldDataType][i].s3path = answ.answerLine.answer[answ.question.fieldDataType][i].s3path;\r\n answ.answerLine.answer[answ.question.fieldDataType][i].uid = answ.answerLine.answer[answ.question.fieldDataType][i].uid;\r\n answ.answerLine.answer[answ.question.fieldDataType][i].driveId = answ.answerLine.answer[answ.question.fieldDataType][i].driveId;\r\n answ.answerLine.answer[answ.question.fieldDataType][i].url = answ.answerLine.answer[answ.question.fieldDataType][i].keyName;\r\n }\r\n this.answers[answ.answerLine.labelName] = answ.answerLine.answer[answ.question.fieldDataType];\r\n }\r\n }\r\n\r\n if (answ.answerLine.answer && answ.answerLine.answer[answ.question.fieldDataType] && answ.answerLine.answer[answ.question.fieldDataType].length > 0) {\r\n for (let i = 0; i < answ.answerLine.answer[answ.question.fieldDataType].length; i++) {\r\n if (type === 'get') {\r\n this.uploadedImages.push(answ.answerLine.answer[answ.question.fieldDataType][i]);\r\n if (!this.uploadedFiles[answ.answerLine.labelName]) {\r\n this.uploadedFiles[answ.answerLine.labelName] = {};\r\n }\r\n if (!this.uploadedFiles[answ.answerLine.labelName][answ.answerLine.answer[answ.question.fieldDataType][i].caption]) {\r\n this.uploadedFiles[answ.answerLine.labelName][answ.answerLine.answer[answ.question.fieldDataType][i].caption] = {};\r\n }\r\n this.comments[answ.answerLine.labelName + '=' + answ.answerLine.answer[answ.question.fieldDataType][i].caption] = answ.answerLine.answer[answ.question.fieldDataType][i].comments;\r\n this.uploadedFiles[answ.answerLine.labelName][answ.answerLine.answer[answ.question.fieldDataType][i].caption] = answ.answerLine.answer[answ.question.fieldDataType][i];\r\n\r\n\r\n } else {\r\n this.selectedMessage.push(answ.answerLine.answer[answ.question.fieldDataType][i]);\r\n if (!this.filestoUpload[answ.answerLine.labelName]) {\r\n this.filestoUpload[answ.answerLine.labelName] = {};\r\n }\r\n if (!this.filestoUpload[answ.answerLine.labelName][answ.answerLine.answer[answ.question.fieldDataType][i].caption]) {\r\n this.filestoUpload[answ.answerLine.labelName][answ.answerLine.answer[answ.question.fieldDataType][i].caption] = {};\r\n }\r\n this.filestoUpload[answ.answerLine.labelName][answ.answerLine.answer[answ.question.fieldDataType][i].caption] = answ.answerLine.answer[answ.question.fieldDataType][i];\r\n\r\n }\r\n }\r\n }\r\n } else if (answ.question.fieldDataType === 'dataGrid') {\r\n for (let row of answ.answerLine.answer[answ.question.fieldDataType]) {\r\n let columns = [];\r\n for (let i = 0; i < row.dataGridColumn.length; i++) {\r\n columns[i + 1] = row.dataGridColumn[i].column[Object.keys(row.dataGridColumn[i].column)[0]];\r\n }\r\n if (!this.dataGridColumnsAnswerList[answ.answerLine.labelName]) {\r\n this.dataGridColumnsAnswerList[answ.answerLine.labelName] = [];\r\n }\r\n this.dataGridColumnsAnswerList[answ.answerLine.labelName].push(columns);\r\n }\r\n } else {\r\n this.answers[answ.answerLine.labelName] = answ.answerLine.answer[answ.question.fieldDataType];\r\n }\r\n }\r\n }\r\n } else {\r\n for (let answ of answerData) {\r\n if (answ.answer[Object.keys(answ.answer)[0]]) {\r\n this.answers[answ.labelName] = answ.answer[Object.keys(answ.answer)[0]];\r\n }\r\n }\r\n }\r\n if (type === 'get') {\r\n Object.keys(this.uploadedFiles).forEach(key => {\r\n this.uploadFilesTemp[key] = [];\r\n Object.keys(this.uploadedFiles[key]).forEach(key1 => {\r\n if (this.uploadedFiles[key][key1]) {\r\n if (!this.uploadFilesTemp[key]) {\r\n this.uploadFilesTemp[key] = [];\r\n }\r\n const type = this.uploadedFiles[key][key1].type.split('/');\r\n\r\n if (type[0] !== 'audio' && type[0] !== 'video' || ((type[0] === 'audio' || type[0] === 'video') && this.uploadedFiles[key][key1].status === 'COMPLETE')) {\r\n this.uploadFilesTemp[key].push(key1);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n Object.keys(this.filestoUpload).forEach(key => {\r\n Object.keys(this.filestoUpload[key]).forEach(key1 => {\r\n if (this.filestoUpload[key][key1]) {\r\n if (!this.uploadFilesTemp[key]) {\r\n this.uploadFilesTemp[key] = [];\r\n }\r\n this.uploadFilesTemp[key].push(key1);\r\n }\r\n });\r\n });\r\n }\r\n this.onSubmit('init');\r\n }\r\n filesSelected(event: any, question: any, document: any) {\r\n const input = event.target.files;\r\n if (input) {\r\n for (const file of input) {\r\n const fileInput = {\r\n caption: document,\r\n file: file,\r\n labelName: question.labelName\r\n }\r\n this.fileChanged.emit(fileInput);\r\n let type = file.type.split('/');\r\n\r\n this.apiError[question.labelName] = [];\r\n if (!this.filestoUpload[question.labelName]) {\r\n this.filestoUpload[question.labelName] = {};\r\n }\r\n if (!this.filestoUpload[question.labelName][document]) {\r\n this.filestoUpload[question.labelName][document] = {};\r\n }\r\n if (this.filestoUpload[question.labelName] && this.filestoUpload[question.labelName][document]) {\r\n let index;\r\n if (type[0] === 'application' || type[0] === 'image') {\r\n index = this.selectedMessage.indexOf(this.filestoUpload[question.labelName][document]);\r\n } else {\r\n index = this.audioVideoFiles.indexOf(this.filestoUpload[question.labelName][document]);\r\n }\r\n if (index !== -1) {\r\n if (type[0] === 'application' || type[0] === 'image') {\r\n this.selectedMessage.splice(index, 1);\r\n } else {\r\n this.audioVideoFiles.splice(index, 1);\r\n }\r\n delete this.filestoUpload[question.labelName][document];\r\n delete this.answers[question.labelName][index];\r\n }\r\n }\r\n this.filestoUpload[question.labelName][document] = file;\r\n if (type[0] === 'application' || type[0] === 'image') {\r\n this.selectedMessage.push(file);\r\n const indx = this.selectedMessage.indexOf(file);\r\n if (indx !== -1) {\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.selectedMessage[indx]['path'] = e.target['result'];\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n } else {\r\n this.audioVideoFiles.push(file);\r\n const indx = this.audioVideoFiles.indexOf(file);\r\n if (indx !== -1) {\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.audioVideoFiles[indx]['path'] = e.target['result'];\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n }\r\n if (this.file2 && this.file2.nativeElement.value) {\r\n this.file2.nativeElement.value = '';\r\n }\r\n this.onSubmit('inputChange');\r\n }\r\n }\r\n changeImageSelected(question: any, document: any) {\r\n if (this.filestoUpload[question.labelName] && this.filestoUpload[question.labelName][document]) {\r\n let type = this.filestoUpload[question.labelName][document].type.split('/');\r\n type = type[0];\r\n let index;\r\n if (type === 'application' || type === 'image') {\r\n index = this.selectedMessage.indexOf(this.filestoUpload[question.labelName][document]);\r\n } else {\r\n index = this.audioVideoFiles.indexOf(this.filestoUpload[question.labelName][document]);\r\n }\r\n if (index !== -1) {\r\n if (type === 'application' || type === 'image') {\r\n this.selectedMessage.splice(index, 1);\r\n } else {\r\n this.audioVideoFiles.splice(index, 1);\r\n }\r\n delete this.filestoUpload[question.labelName][document];\r\n this.comments[question.labelName + '=' + document] = '';\r\n if (this.answers[question.labelName] && this.answers[question.labelName].length > 0) {\r\n const filteredAnswer = this.answers[question.labelName].filter((answer: any) => answer.caption === document);\r\n if (filteredAnswer[0]) {\r\n const index = this.answers[question.labelName].indexOf(filteredAnswer[0]);\r\n if (index !== -1) {\r\n this.answers[question.labelName].splice(index, 1);\r\n }\r\n }\r\n }\r\n }\r\n if (Object.keys(this.filestoUpload[question.labelName]).length === 0) {\r\n delete this.filestoUpload[question.labelName];\r\n }\r\n if (this.answers[question.labelName] && this.answers[question.labelName].length === 0) {\r\n delete this.answers[question.labelName];\r\n }\r\n } else if (this.uploadedFiles[question.labelName] && this.uploadedFiles[question.labelName][document]) {\r\n const index = this.uploadedImages.indexOf(this.uploadedFiles[question.labelName][document]);\r\n if (index !== -1) {\r\n this.uploadedFiles[question.labelName][document] = 'remove';\r\n this.comments[question.labelName + '=' + document] = '';\r\n }\r\n }\r\n this.onSubmit('inputChange');\r\n }\r\n isNumeric(evt: any) {\r\n return this.commonService.isNumeric(evt);\r\n }\r\n onSubmit(keytype?: any) {\r\n\r\n Object.keys(this.filestoUpload).forEach(key => {\r\n if (!this.answers[key]) {\r\n this.answers[key] = [];\r\n }\r\n if (Object.keys(this.filestoUpload[key]).length > 0) {\r\n Object.keys(this.filestoUpload[key]).forEach(key1 => {\r\n if (this.filestoUpload[key][key1]) {\r\n let type = this.filestoUpload[key][key1].type.split('/');\r\n type = type[0];\r\n let indx;\r\n if (type === 'application' || type === 'image') {\r\n indx = this.selectedMessage.indexOf(this.filestoUpload[key][key1]);\r\n } else {\r\n indx = this.audioVideoFiles.indexOf(this.filestoUpload[key][key1]);\r\n }\r\n if (indx !== -1) {\r\n let status = 'add';\r\n if (this.uploadedFiles[key] && this.uploadedFiles[key][key1]) {\r\n status = 'update';\r\n }\r\n if (this.answers[key] && this.answers[key].length > 0) {\r\n const filteredAnswer = this.answers[key].filter((answer: any) => answer.caption === key1);\r\n if (filteredAnswer[0]) {\r\n const index = this.answers[key].indexOf(filteredAnswer[0]);\r\n if (index !== -1) {\r\n this.answers[key].splice(index, 1);\r\n }\r\n }\r\n }\r\n let type = this.filestoUpload[key][key1].type.split('/');\r\n type = type[0];\r\n if (type === 'application' || type === 'image') {\r\n this.answers[key].push({ caption: key1, action: status, mimeType: this.filestoUpload[key][key1].type, url: this.filestoUpload[key][key1].name, size: this.filestoUpload[key][key1].size, comments: this.comments[key + '=' + key1], driveId: this.filestoUpload[key][key1].driveId, uid: this.filestoUpload[key][key1].uid, status: 'COMPLETE' });\r\n } else {\r\n this.answers[key].push({ caption: key1, action: status, mimeType: this.filestoUpload[key][key1].type, url: this.filestoUpload[key][key1].name, size: this.filestoUpload[key][key1].size, comments: this.comments[key + '=' + key1], driveId: this.filestoUpload[key][key1].driveId, uid: this.filestoUpload[key][key1].uid, status: 'COMPLETE' });\r\n }\r\n }\r\n } else {\r\n if (this.answers[key] && this.answers[key].length > 0) {\r\n const filteredAnswer = this.answers[key].filter((answer: any) => answer.caption === key1);\r\n if (filteredAnswer[0]) {\r\n const index = this.answers[key].indexOf(filteredAnswer[0]);\r\n if (index !== -1) {\r\n this.answers[key].splice(index, 1);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n delete this.answers[key];\r\n }\r\n if (this.answers[key] && this.answers[key].length === 0) {\r\n delete this.answers[key];\r\n }\r\n });\r\n\r\n Object.keys(this.uploadedFiles).forEach(key => {\r\n if (!this.answers[key]) {\r\n this.answers[key] = [];\r\n }\r\n if (this.uploadedFiles[key] && Object.keys(this.uploadedFiles[key]).length > 0) {\r\n Object.keys(this.uploadedFiles[key]).forEach(key1 => {\r\n if ((!this.filestoUpload[key] || (this.filestoUpload[key] && !this.filestoUpload[key][key1])) && this.uploadedFiles[key][key1] && this.uploadedFiles[key][key1] === 'remove') {\r\n if (this.answers[key] && this.answers[key].length > 0) {\r\n const filteredAnswer = this.answers[key].filter((answer: any) => answer.caption === key1);\r\n if (filteredAnswer[0]) {\r\n const index = this.answers[key].indexOf(filteredAnswer[0]);\r\n if (index !== -1) {\r\n this.answers[key].splice(index, 1);\r\n }\r\n }\r\n }\r\n this.answers[key].push({ caption: key1, action: 'remove' });\r\n }\r\n });\r\n if (this.answers[key].length === 0) {\r\n delete this.answers[key];\r\n }\r\n }\r\n });\r\n\r\n let data: any = [];\r\n Object.keys(this.dataGridColumnsAnswerList).forEach(key => {\r\n let newFiled: any = {};\r\n let question = this.questions.filter((quest: any) => this.getQuestion(quest).labelName === key);\r\n question = question[0].question;\r\n for (let gridAnswer of this.dataGridColumnsAnswerList[key]) {\r\n let columnData: any = [];\r\n Object.keys(gridAnswer).forEach(key1 => {\r\n let newType: any = {};\r\n const columnDetails = question.dataGridProperties.dataGridColumns.filter((clmn: any) => clmn.order === JSON.parse(key1));\r\n if (columnDetails[0]) {\r\n const columnType = columnDetails[0].dataType;\r\n newType[columnType] = gridAnswer[key1];\r\n columnData.push({\r\n columnId: columnDetails[0].columnId,\r\n column: newType\r\n });\r\n }\r\n });\r\n let newMap: any = {};\r\n newMap['dataGridColumn'] = columnData;\r\n if (!newFiled[question.fieldDataType]) {\r\n newFiled[question.fieldDataType] = [];\r\n }\r\n newFiled[question.fieldDataType].push(newMap);\r\n }\r\n data.push({\r\n 'labelName': key,\r\n 'answer': newFiled\r\n });\r\n });\r\n\r\n Object.keys(this.answers).forEach(key => {\r\n\r\n this.apiError[key] = [];\r\n let newMap: any = {};\r\n let question = this.questions.filter((quest: any) => this.getQuestion(quest).labelName === key);\r\n if (this.source === 'customer-create' || this.source === 'qnrDetails' || this.source === 'onetime') {\r\n question = question[0];\r\n } else {\r\n question = question[0].question;\r\n }\r\n if (this.answers[key] || question.fieldDataType === 'bool') {\r\n let answer = this.answers[key];\r\n if (question.fieldDataType === 'date') {\r\n answer = this.dateProcessor.transformToYMDFormat(answer);\r\n }\r\n newMap[question.fieldDataType] = answer;\r\n data.push({\r\n 'labelName': key,\r\n 'answer': newMap\r\n });\r\n } else {\r\n // newMap = '';\r\n // data.push({\r\n // 'labelName': key,\r\n // });\r\n }\r\n });\r\n let postData;\r\n if (this.source === 'qnrpaper') {\r\n postData = {\r\n 'questionnaireId': (this.questionnaireList[0].id) ? this.questionnaireList[0].id : this.questionnaireList[0].questionnaireId,\r\n 'answerLine': data\r\n }\r\n }\r\n else if (keytype === 'serviceOption') {\r\n postData = {\r\n 'questionnaireId': (this.questionnaireList.id) ? this.questionnaireList.id : this.questionnaireList[0].questionnaireId,\r\n 'answerLine': this.finalObjectList\r\n }\r\n }\r\n else if (this.source === 'ivr' && this.params.customId) {\r\n console.log('fffffffffffffffffffff', this.questionnaireList)\r\n postData = {\r\n 'questionnaireId': (this.questionnaireList[0].id) ? this.questionnaireList[0].id : this.questionnaireList[0].questionnaireId,\r\n 'answerLine': data\r\n }\r\n }\r\n else {\r\n console.log('questionnaireList', this.questionnaireList)\r\n postData = {\r\n 'questionnaireId': (this.questionnaireList.id) ? this.questionnaireList.id : this.questionnaireList.questionnaireId,\r\n 'answerLine': data\r\n }\r\n }\r\n const passData = { 'answers': postData, 'files': this.selectedMessage, 'audioVideo': this.audioVideoFiles, 'filestoUpload': this.filestoUpload, 'dataGridColumnsAnswerList': this.dataGridColumnsAnswerList, 'comments': this.comments };\r\n if (keytype === 'inputChange') {\r\n this.changeHappened = true;\r\n }\r\n if (keytype === 'submit') {\r\n if (this.changeHappened) {\r\n this.submitQuestionnaire(passData);\r\n } else {\r\n if (!this.type) {\r\n this.location.back();\r\n } else {\r\n if (this.type === 'qnr-link') {\r\n this.returnAnswers.emit('nochange');\r\n } else {\r\n this.editQnr();\r\n }\r\n }\r\n }\r\n } else {\r\n\r\n this.returnAnswers.emit(passData);\r\n }\r\n }\r\n getDate(date: any) {\r\n return new Date(date);\r\n }\r\n listChange(ev: any, value: any, question: any, column?: any) {\r\n if (question.fieldDataType !== 'dataGrid') {\r\n if (ev.target.checked) {\r\n if (!this.answers[question.labelName]) {\r\n this.answers[question.labelName] = [];\r\n }\r\n if (question.listPropertie && question.listPropertie.maxAnswers && question.listPropertie.maxAnswers > 1) {\r\n this.answers[question.labelName].push(value);\r\n } else {\r\n this.answers[question.labelName][0] = value;\r\n }\r\n } else {\r\n const indx = this.answers[question.labelName].indexOf(value);\r\n this.answers[question.labelName].splice(indx, 1);\r\n }\r\n if (this.answers[question.labelName].length === 0) {\r\n this.answers[question.labelName] = '';\r\n }\r\n } else {\r\n if (ev.target.checked) {\r\n if (!this.dataGridColumns[question.labelName + '=' + column.order]) {\r\n this.dataGridColumns[question.labelName + '=' + column.order] = [];\r\n }\r\n this.dataGridColumns[question.labelName + '=' + column.order].push(value);\r\n } else {\r\n const indx = this.dataGridColumns[question.labelName + '=' + column.order].indexOf(value);\r\n this.dataGridColumns[question.labelName + '=' + column.order].splice(indx, 1);\r\n }\r\n }\r\n this.onSubmit('inputChange');\r\n }\r\n isChecked(value: any, question: any, column?: any) {\r\n if (question.fieldDataType !== 'dataGrid') {\r\n if (this.answers[question.labelName]) {\r\n const indx = this.answers[question.labelName].indexOf(value);\r\n if (indx !== -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n if (this.dataGridColumns[question.labelName + '=' + column.order]) {\r\n const indx = this.dataGridColumns[question.labelName + '=' + column.order].indexOf(value);\r\n if (indx !== -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n booleanChange(ev: any, value: any, question: any, column?: any) {\r\n if (question.fieldDataType !== 'dataGrid') {\r\n if (ev.target.checked) {\r\n if (!this.answers[question.labelName]) {\r\n this.answers[question.labelName] = {};\r\n }\r\n this.answers[question.labelName] = (value.toLowerCase() === 'yes') ? true : false;\r\n }\r\n } else {\r\n if (ev.target.checked) {\r\n this.dataGridColumns[question.labelName + '=' + column.order] = (value === 'yes') ? true : false;\r\n }\r\n }\r\n this.onSubmit('inputChange');\r\n }\r\n isBooleanChecked(value: any, question: any, column?: any) {\r\n value = (value.toLowerCase() === 'yes') ? true : false;\r\n if (question.fieldDataType !== 'dataGrid') {\r\n if (this.answers[question.labelName] !== '' && typeof this.answers[question.labelName] === 'string') {\r\n this.answers[question.labelName] = JSON.parse(this.answers[question.labelName])\r\n }\r\n if (this.answers[question.labelName] === value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n if (this.dataGridColumns[question.labelName + '=' + column.order] !== '' && typeof this.dataGridColumns[question.labelName + '=' + column.order] === 'string') {\r\n this.dataGridColumns[question.labelName + '=' + column.order] = JSON.parse(this.dataGridColumns[question.labelName + '=' + column.order])\r\n }\r\n if (this.dataGridColumns[question.labelName + '=' + column.order] === value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n submitQuestionnaire(passData: any) {\r\n console.log('fdff', passData)\r\n const dataToSend: FormData = new FormData();\r\n const blobpost_Data = new Blob([JSON.stringify(passData.answers)], { type: 'application/json' });\r\n dataToSend.append('question', blobpost_Data);\r\n this.buttonDisable = true;\r\n\r\n }\r\n\r\n\r\n uploadAudioVideo(data: any, type: any) {\r\n if (data.urls && data.urls.length > 0) {\r\n let postData: any = {\r\n urls: []\r\n };\r\n for (const url of data.urls) {\r\n const file = this.filestoUpload[url.labelName][url.document];\r\n this.questionaireService.videoaudioS3Upload(file, url.url)\r\n .subscribe(() => {\r\n postData['urls'].push({ uid: url.uid, labelName: url.labelName });\r\n if (data.urls.length === postData['urls'].length) {\r\n if (type === 'consCheckin') {\r\n this.questionaireService.consumerWaitlistQnrUploadStatusUpdate(this.uuid, this.accountId, postData)\r\n .subscribe((data) => {\r\n this.successGoback();\r\n },\r\n error => {\r\n let errorObj = this.errorService.getApiError(error);\r\n this.toastService.showError(this.wordProcessor.getProjectErrorMesssages(errorObj));\r\n this.buttonDisable = false;\r\n });\r\n } else if (type === 'consAppt') {\r\n this.questionaireService.consumerApptQnrUploadStatusUpdate(this.uuid, this.accountId, postData)\r\n .subscribe((data) => {\r\n this.successGoback();\r\n },\r\n error => {\r\n let errorObj = this.errorService.getApiError(error);\r\n this.toastService.showError(this.wordProcessor.getProjectErrorMesssages(errorObj));\r\n this.buttonDisable = false;\r\n });\r\n } else if (type === 'consOrder' || type === 'paper') {\r\n this.questionaireService.consumerOrderQnrUploadStatusUpdate(this.uuid, this.accountId, postData)\r\n .subscribe((data) => {\r\n this.successGoback();\r\n },\r\n error => {\r\n this.toastService.showError(this.wordProcessor.getProjectErrorMesssages(error));\r\n this.buttonDisable = false;\r\n });\r\n } else if (type === 'consDonationDetails') {\r\n this.questionaireService.consumerDonationQnrUploadStatusUpdate(this.uuid, this.accountId, postData)\r\n .subscribe(() => {\r\n this.successGoback();\r\n }, (error: any) => {\r\n let errorObj = this.errorService.getApiError(error);\r\n this.toastService.showError(this.wordProcessor.getProjectErrorMesssages(errorObj));\r\n this.buttonDisable = false;\r\n });\r\n }\r\n }\r\n }, (error: any) => {\r\n let errorObj = this.errorService.getApiError(error);\r\n this.toastService.showError(this.wordProcessor.getProjectErrorMesssages(errorObj));\r\n this.buttonDisable = false;\r\n });\r\n }\r\n } else {\r\n this.successGoback();\r\n }\r\n }\r\n goBack() {\r\n this.location.back();\r\n }\r\n getQuestion(question: any) {\r\n if (this.source === 'customer-create' || this.source === 'qnrDetails' || this.source === 'onetime' || this.source === 'serviceOptionAppt') {\r\n return question;\r\n } else {\r\n return question.question;\r\n }\r\n }\r\n validateQuestionnaire(src?: any) {\r\n if (!this.questionAnswers) {\r\n this.questionAnswers = {\r\n answers: {\r\n answerLine: [],\r\n questionnaireId: (this.questionnaireList.id) ? this.questionnaireList.id : this.questionnaireList.questionnaireId,\r\n }\r\n }\r\n }\r\n }\r\n\r\n getImg(question: any, document: any) {\r\n if (this.filestoUpload[question.labelName] && this.filestoUpload[question.labelName][document]) {\r\n let type = this.filestoUpload[question.labelName][document].type.split('/');\r\n let file;\r\n if (type[0] === 'video' || type[0] === 'audio') {\r\n file = this.audioVideoFiles;\r\n } else {\r\n file = this.selectedMessage;\r\n }\r\n const indx = file.indexOf(this.filestoUpload[question.labelName][document]);\r\n if (indx !== -1) {\r\n let path = this.fileService.getImage(null, this.filestoUpload[question.labelName][document]);\r\n\r\n if (path && path !== null) {\r\n return path;\r\n }\r\n path = file[indx].path;\r\n return path;\r\n }\r\n } else if (this.uploadedFiles[question.labelName] && this.uploadedFiles[question.labelName][document]) {\r\n const indx = this.uploadedImages.indexOf(this.uploadedFiles[question.labelName][document]);\r\n if (indx !== -1) {\r\n let path = this.fileService.getImage(null, this.uploadedImages[indx]);\r\n if (path && path !== null) {\r\n return path;\r\n }\r\n path = this.uploadedImages[indx].s3path;\r\n return path;\r\n }\r\n }\r\n }\r\n onButtonBeforeHook(event: any) {\r\n if (!event || !event.button) {\r\n return;\r\n }\r\n if (event.button.type === ButtonType.DOWNLOAD) {\r\n }\r\n }\r\n openAttachmentGallery(question: any, document: any) {\r\n this.image_list_popup = [];\r\n let count = 0;\r\n let imagePath;\r\n let caption = '';\r\n if (this.filestoUpload[question.labelName] && this.filestoUpload[question.labelName][document]) {\r\n let type = this.filestoUpload[question.labelName][document].type.split('/');\r\n if (type[0] === 'video' || type[0] === 'audio') {\r\n const indx = this.audioVideoFiles.indexOf(this.filestoUpload[question.labelName][document]);\r\n this.showAudioVideoFile(this.audioVideoFiles[indx]);\r\n } else {\r\n const indx = this.selectedMessage.indexOf(this.filestoUpload[question.labelName][document]);\r\n if (indx !== -1) {\r\n if (type[1] === 'pdf' || type[1] === 'docx' || type[1] === 'txt' || type[1] === 'doc') {\r\n if (this.selectedMessage[indx].s3path) {\r\n window.open(this.selectedMessage[indx].s3path, '_blank');\r\n } else {\r\n window.open(this.selectedMessage[indx].path, '_blank');\r\n }\r\n } else {\r\n imagePath = this.uploadedImages[indx].path;\r\n caption = this.comments[question.labelName + '=' + document];\r\n }\r\n }\r\n }\r\n } else if (this.uploadedFiles[question.labelName] && this.uploadedFiles[question.labelName][document]) {\r\n const indx = this.uploadedImages.indexOf(this.uploadedFiles[question.labelName][document]);\r\n let type = this.uploadedFiles[question.labelName][document].type.split('/');\r\n let ext = type[1];\r\n type = type[0];\r\n if (indx !== -1) {\r\n if (type === 'video' || type === 'audio') {\r\n this.showAudioVideoFile(this.uploadedImages[indx]);\r\n } else if (ext === 'pdf' || ext === 'docx' || ext === 'txt' || ext === 'doc' || ext === 'vnd.openxmlformats-officedocument.spreadsheetml.sheet') {\r\n window.open(this.uploadedFiles[question.labelName][document].s3path, '_blank');\r\n } else {\r\n // console.log('typetxt2',this.uploadedImages[indx]);\r\n if (this.uploadedImages && this.uploadedImages[indx] && this.uploadedImages[indx]['keyName'] &&\r\n this.uploadedImages[indx]['keyName'].includes('docx')) {\r\n window.open(this.uploadedFiles[question.labelName][document].s3path, '_blank');\r\n }\r\n else {\r\n imagePath = this.uploadedImages[indx].s3path;\r\n caption = this.uploadedImages[indx].comments;\r\n }\r\n\r\n }\r\n }\r\n }\r\n if (imagePath) {\r\n\r\n const imgobj = new Image(\r\n count,\r\n {\r\n img: imagePath,\r\n description: caption\r\n },\r\n );\r\n this.image_list_popup.push(imgobj);\r\n count++;\r\n }\r\n if (count > 0) {\r\n setTimeout(() => {\r\n this.openImageModalRow(this.image_list_popup[0]);\r\n }, 200);\r\n }\r\n }\r\n openImageModalRow(image: Image) {\r\n const index: number = this.getCurrentIndexCustomLayout(image, this.image_list_popup);\r\n this.openModal(1, index, this.customButtonsFontAwesomeConfig);\r\n }\r\n private getCurrentIndexCustomLayout(image: Image, images: Image[]): number {\r\n return image ? images.indexOf(image) : -1;\r\n }\r\n openModal(id: number, imageIndex: number, buttonsConfig: ButtonsConfig): void {\r\n const dialogRef: ModalGalleryRef = this.modalGalleryService.open({\r\n id: id,\r\n images: this.image_list_popup,\r\n currentImage: this.image_list_popup[imageIndex],\r\n libConfig: {\r\n buttonsConfig: buttonsConfig,\r\n currentImageConfig: {\r\n downloadable: true\r\n }\r\n } as ModalLibConfig\r\n } as ModalGalleryConfig) as ModalGalleryRef;\r\n }\r\n showAudioVideoFile(file: any) {\r\n const fileviewdialogRef = this.dialog.open(ShowuploadfileComponent, {\r\n width: '50%',\r\n panelClass: ['popup-class', 'commonpopupmainclass', 'uploadfilecomponentclass'],\r\n disableClose: true,\r\n data: {\r\n file: file,\r\n source: 'qnr'\r\n }\r\n });\r\n fileviewdialogRef.afterClosed().subscribe(result => {\r\n });\r\n }\r\n editQnr() {\r\n this.editQuestionnaire = !this.editQuestionnaire;\r\n }\r\n getDocuments(question: any) {\r\n if (question.filePropertie.maxNoOfFile > 1 && question.filePropertie.minNoOfFile !== question.filePropertie.maxNoOfFile) {\r\n return this.uploadFilesTemp[question.labelName];\r\n } else {\r\n return question.filePropertie.allowedDocuments;\r\n }\r\n }\r\n showProviderText(question: any) {\r\n if (question.whoCanAnswer && question.whoCanAnswer === 'PROVIDER_ONLY') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n successGoback() {\r\n this.buttonDisable = false;\r\n if (!this.type) {\r\n this.location.back();\r\n } else {\r\n this.filestoUpload = [];\r\n this.editQnr();\r\n this.returnAnswers.emit('reload');\r\n if (this.type !== 'qnr-link') {\r\n this.toastService.showSuccess('Updated Successfully');\r\n }\r\n }\r\n }\r\n showDataGridAddSection(question: any, value: any) {\r\n this.showDataGrid[question.labelName] = value;\r\n this.updatedGridIndex[question.labelName] = null;\r\n }\r\n showDataGridAddSectionn(question: any, value: any) {\r\n this.quesStore = question;\r\n this.lStorageService.setitemonLocalStorage('quesStore', this.quesStore);\r\n this.showDataGrid[question.labelName] = value;\r\n this.updatedGridIndex[question.labelName] = null;\r\n this.qnrPopup(question, true)\r\n }\r\n saveDataGridColumn(question: any) {\r\n let columns = [];\r\n for (let column of question.dataGridProperties.dataGridColumns) {\r\n if (this.dataGridColumns[question.labelName + '=' + column.order] || column.dataType === 'bool') {\r\n columns[column.order] = this.dataGridColumns[question.labelName + '=' + column.order];\r\n } else {\r\n if (column.dataType === 'list' || column.dataType === 'fileUpload') {\r\n columns[column.order] = [];\r\n } else {\r\n columns[column.order] = '';\r\n }\r\n }\r\n }\r\n if (!this.dataGridColumnsAnswerList[question.labelName]) {\r\n this.dataGridColumnsAnswerList[question.labelName] = [];\r\n }\r\n if (this.updatedGridIndex[question.labelName] !== null) {\r\n this.dataGridColumnsAnswerList[question.labelName][this.updatedGridIndex[question.labelName]] = columns;\r\n } else {\r\n this.dataGridColumnsAnswerList[question.labelName].push(columns);\r\n }\r\n this.cancelAddorUpdate(question);\r\n this.onSubmit('inputChange');\r\n }\r\n editDataGrid(question: any, column: any) {\r\n const index = this.dataGridColumnsAnswerList[question.labelName].indexOf(column);\r\n Object.keys(column).forEach(key => {\r\n this.dataGridColumns[question.labelName + '=' + key] = column[key];\r\n });\r\n this.updatedGridIndex[question.labelName] = index;\r\n this.showDataGrid[question.labelName] = true;\r\n }\r\n deleteDataGrid(question: any, column: any) {\r\n const index = this.dataGridColumnsAnswerList[question.labelName].indexOf(column);\r\n this.dataGridColumnsAnswerList[question.labelName].splice(index, 1);\r\n this.onSubmit('inputChange');\r\n }\r\n cancelAddorUpdate(question: any) {\r\n this.showDataGrid[question.labelName] = false;\r\n this.updatedGridIndex[question.labelName] = null;\r\n for (let column of question.dataGridProperties.dataGridColumns) {\r\n this.dataGridColumns[question.labelName + '=' + column.order] = '';\r\n }\r\n }\r\n getColumnType(columns: any, column: any) {\r\n const columnDetails = columns.filter((clmn: any) => clmn.order === JSON.parse(column));\r\n if (columnDetails[0]) {\r\n return columnDetails[0].dataType;\r\n }\r\n }\r\n getSectionCount() {\r\n return Object.keys(this.groupedQnr).length;\r\n }\r\n getBoolValue(value: any) {\r\n value = (value !== '' && typeof value === 'string') ? JSON.parse(value) : value;\r\n if (value === true) {\r\n return 'Yes';\r\n }\r\n return 'No';\r\n }\r\n getMaxdate(data: any) {\r\n let date;\r\n if (this.getQuestion(data).dateProperties && this.getQuestion(data).dateProperties.endDate) {\r\n const dt = this.reverse(this.getQuestion(data).dateProperties.endDate);\r\n date = new Date(dt)\r\n } else {\r\n date = this.tday;\r\n }\r\n return date;\r\n }\r\n getMindate(data: any) {\r\n let date;\r\n if (this.getQuestion(data).dateProperties && this.getQuestion(data).dateProperties.startDate) {\r\n const dt = this.reverse(this.getQuestion(data).dateProperties.startDate);\r\n date = new Date(dt)\r\n } else {\r\n date = this.minday;\r\n }\r\n\r\n return date;\r\n }\r\n reverse(s: string) {\r\n return s.split(\"-\").reverse().join(\"-\");\r\n }\r\n qnrPopup(question: any, value: any) {\r\n // if (value === 'edit') {\r\n // this.quesStore = this.lStorageService.getitemfromLocalStorage('quesStore');\r\n // this.showqnr = true;\r\n // this.editableItem = question;\r\n // console.log(JSON.stringify(this.quesStore))\r\n // const removeitemdialogRef = this.dialog.open(QnrDialogComponent, {\r\n // width: '50%',\r\n // panelClass: ['popup-class', 'commonpopupmainclass', 'confirmationmainclass'],\r\n // disableClose: true,\r\n // data: {\r\n // data: this.quesStore,\r\n // qnr_type: 'service_option',\r\n // view: 'qnrView',\r\n // isEdit: 'edit',\r\n // editableItem: this.editableItem,\r\n // servDetails: this.service\r\n // }\r\n // });\r\n // removeitemdialogRef.afterClosed().subscribe(result => {\r\n // if (result) {\r\n // console.log(\"result.data.answerLine\", result.data.answerLine)\r\n // this.dataGridList = result.data.answerLine;\r\n // this.post_Data = result.data;\r\n // this.showItem = true;\r\n // this.item = result.data.answerLine[0].answer.dataGridList[0].dataGridListColumn[0].column.list[0];\r\n // if (result.data.totalPrice) {\r\n // this.totalPrice = result.data.totalPrice\r\n // }\r\n // let index1 = this.itemArray.findIndex(x => x.id === this.editableItem.id)\r\n // if (index1 > -1) {\r\n // this.itemArray.splice(index1, 1);\r\n // }\r\n // let dummyArray = { id: this.id, sequenceId: this.sequenceId, item: this.item, price: this.totalPrice, columnItem: this.dataGridList }\r\n // this.itemArray.push(dummyArray)\r\n // if (this.itemArray) {\r\n // this.lStorageService.setitemonLocalStorage('itemArray', this.itemArray);\r\n // }\r\n // this.serviceTotalPrice = 0;\r\n // this.itemArray.forEach((item: any) => {\r\n // this.serviceTotalPrice = this.serviceTotalPrice + item.price;\r\n // this.lStorageService.setitemonLocalStorage('serviceTotalPrice', this.serviceTotalPrice);\r\n // });\r\n // this.id = this.id + 1\r\n // let obj = { sequenceId: this.sequenceId, dgList: this.post_Data.answerLine };\r\n // this.finalObjectList.push(obj);\r\n // this.onSubmit('serviceOption')\r\n // }\r\n // });\r\n // }\r\n // else {\r\n // this.showqnr = true;\r\n // console.log(\"this.sequenceId\", question)\r\n // this.sequenceId = question.sequnceId;\r\n // const removeitemdialogRef = this.dialog.open(QnrDialogComponent, {\r\n // width: '50%',\r\n // panelClass: ['popup-class', 'commonpopupmainclass', 'confirmationmainclass'],\r\n // disableClose: true,\r\n // data: {\r\n // data: question,\r\n // qnr_type: 'service_option',\r\n // view: 'qnrView',\r\n // isEdit: 'add',\r\n // servDetails: this.service\r\n // }\r\n // });\r\n // removeitemdialogRef.afterClosed().subscribe(result => {\r\n // if (result) {\r\n // this.dataGridList = result.data.answerLine;\r\n // this.post_Data = result.data;\r\n // this.showItem = true;\r\n // this.item = result.data.answerLine[0].answer.dataGridList[0].dataGridListColumn[0].column.list[0];\r\n\r\n // if (result.data.totalPrice) {\r\n // this.totalPrice = result.data.totalPrice\r\n // }\r\n // let dummyArray = { id: this.id, sequenceId: this.sequenceId, item: this.item, price: this.totalPrice, columnItem: this.dataGridList }\r\n // this.itemArray.push(dummyArray)\r\n\r\n // if (this.itemArray) {\r\n // this.lStorageService.setitemonLocalStorage('itemArray', this.itemArray);\r\n // }\r\n // this.serviceTotalPrice = 0;\r\n // this.itemArray.forEach((item: any) => {\r\n // let quantity = item.columnItem[0].answer.dataGridList[0].dataGridListColumn[0].quantity;\r\n // this.serviceTotalPrice = (this.serviceTotalPrice + item.price) * quantity;\r\n // this.lStorageService.setitemonLocalStorage('serviceTotalPrice', this.serviceTotalPrice);\r\n // });\r\n // this.id = this.id + 1\r\n // let obj = { sequenceId: this.sequenceId, dgList: this.post_Data.answerLine };\r\n // this.finalObjectList.push(obj);\r\n // this.onSubmit('serviceOption')\r\n // }\r\n // });\r\n // }\r\n }\r\n increment(item: any) {\r\n // const removeitemdialogRef = this.dialog.open(QnrDialogComponent, {\r\n // width: '100%',\r\n // panelClass: ['popup-class', 'commonpopupmainclass', 'confirmationmainclass'],\r\n // disableClose: true,\r\n // data: {\r\n // item: item,\r\n // data: this.questionnaireList,\r\n // view: 'qnrrepeatView',\r\n // servDetails: this.service\r\n // }\r\n // });\r\n // removeitemdialogRef.afterClosed().subscribe(result => {\r\n // if (result) {\r\n // if (result === 'addNew') {\r\n // this.quesStore = this.lStorageService.getitemfromLocalStorage('quesStore');\r\n // this.qnrPopup(this.quesStore, true)\r\n // } else {\r\n // if (!this.sequenceId) {\r\n // this.sequenceId = item.sequenceId\r\n // }\r\n // let dummyArray = { id: this.id, sequenceId: this.sequenceId, item: result.repeatItem.item, price: result.repeatItem.price, columnItem: result.repeatItem.columnItem }\r\n // let items = dummyArray.columnItem[0].answer.dataGridList[0].dataGridListColumn;\r\n // for (let i = 0; i < items.length; i++) {\r\n // items[i].quantity = items[i].quantity + 1;\r\n // }\r\n // if (this.itemArray) {\r\n // this.lStorageService.setitemonLocalStorage('itemArray', this.itemArray);\r\n // }\r\n // console.log(\"This.ItemArray\", this.itemArray)\r\n // this.serviceTotalPrice = 0;\r\n // this.itemArray.forEach((item: any) => {\r\n // let quantity = item.columnItem[0].answer.dataGridList[0].dataGridListColumn[0].quantity;\r\n // console.log(\"quantity\", quantity)\r\n // this.serviceTotalPrice += item.price * quantity;\r\n // });\r\n // console.log(\"serviceTotalPrice\", this.serviceTotalPrice)\r\n // this.lStorageService.setitemonLocalStorage('serviceTotalPrice', this.serviceTotalPrice);\r\n // this.id = this.id + 1\r\n // let obj = { sequenceId: this.sequenceId, dgList: result.repeatItem.columnItem };\r\n // this.finalObjectList.push(obj);\r\n // this.onSubmit('serviceOption')\r\n // }\r\n\r\n // }\r\n // });\r\n }\r\n getItemQuantity(item: any) {\r\n let quantity = item.columnItem[0].answer.dataGridList[0].dataGridListColumn[0].quantity;\r\n return quantity\r\n // console.log(\"item\", item)\r\n }\r\n decrement(removingItem: any) {\r\n let index = this.itemArray.findIndex((x: any) => x.id === removingItem.id)\r\n if (index > -1) {\r\n console.log(\"this.itemArray[index]\", this.itemArray[index])\r\n if (this.getItemQuantity(this.itemArray[index]) == 1) {\r\n this.itemArray.splice(index, 1); // 2nd parameter means remove one item only\r\n }\r\n else {\r\n let items = this.itemArray[index].columnItem[0].answer.dataGridList[0].dataGridListColumn;\r\n for (let i = 0; i < items.length; i++) {\r\n items[i].quantity = items[i].quantity - 1;\r\n }\r\n }\r\n if (this.itemArray) {\r\n this.lStorageService.setitemonLocalStorage('itemArray', this.itemArray);\r\n }\r\n this.serviceTotalPrice = 0;\r\n this.itemArray.forEach((item: any) => {\r\n this.serviceTotalPrice = this.serviceTotalPrice + item.price;\r\n });\r\n this.lStorageService.setitemonLocalStorage('serviceTotalPrice', this.serviceTotalPrice);\r\n this.finalObjectList.splice(index, 1);\r\n }\r\n this.onSubmit('serviceOption')\r\n }\r\n disableInput() {\r\n return false;\r\n }\r\n}\r\n","<section class=\"cons-inbox no-padding-small\" *ngIf=\"!showservice\">\r\n <div class=\"container consumer-dashhome no-padding no-padding-small\" *ngIf=\"!type && source!='proLead'\">\r\n <div class=\"card title-gb rounded-0\" *ngIf=\"uuid\">\r\n <h5 class=\"mgn-up-10 bold\">{{questionnaire_heading | capitalizeFirst}} <a class=\"pull-left mgn-rt-20 back-btn\"\r\n (click)=\"goBack()\"><i class=\"fa fa-arrow-left\"></i></a></h5>\r\n </div>\r\n </div>\r\n <app-common-innerloading-spinner *ngIf=\"loading\"></app-common-innerloading-spinner>\r\n <div class=\"d-flex flex-column-fluid pull-right mgn-rt-10 mgn-bt-20\"\r\n *ngIf=\"type !== 'qnrLinkProvider' && !buttonDisable && waitlistStatus\">\r\n <button class=\"normal-btn edit\" mat-flat-button (click)=\"editQnr()\">Edit</button>\r\n </div>\r\n <div class=\"d-flex flex-column-fluid width-100\" [class.qnrDisableState]=\"disableInput()\"\r\n [class.no-padding]=\"uuid && (source === 'consCheckin' || source === 'consAppt' || source === 'consOrder' || source === 'paper' || source === 'consDonationDetails' || source === 'ivr')\">\r\n <div class=\"col-xl-12 force_center\" [class.no-padding]=\"uuid\" [class.no-padding-small]=\"source && source=='ivr'\">\r\n <div class=\"\">\r\n <div class=\"qnrsec\" *ngFor=\"let qnr of groupedQnr | keyvalue: asIsOrder\"\r\n [class.section-shadow]=\"getSectionCount() > 1\" [class.no-padding-small]=\"source && source=='ivr'\">\r\n <!-- {{qnr | json}} -->\r\n <!-- <div class=\"qnr-section\" *ngIf=\"getSectionCount() > 1\">{{qnr.key}}</div> -->\r\n <div class=\"form-group card mgn-0\" *ngFor=\"let question of qnr.value\">\r\n <!-- <div class=\"qnr-section\" *ngIf=\"getSectionCount() > 1\">{{getQuestion(question).sectionName}}</div> -->\r\n <label class=\"col-12 quest\">{{getQuestion(question).label}}\r\n <i class=\"fa fa-plus-circle pull-right\" aria-hidden=\"true\"\r\n [class.addicon]=\"!buttonDisable && !disableInput()\"\r\n *ngIf=\"getQuestion(question).fieldDataType === 'dataGrid' && !showDataGrid[getQuestion(question).labelName]\"\r\n (click)=\"!buttonDisable && !disableInput() && showDataGridAddSection(getQuestion(question), true)\"></i>\r\n <div class=\"pro-only\" *ngIf=\"showProviderText(getQuestion(question))\">For Providers</div>\r\n <span class=\"red\" *ngIf=\"getQuestion(question).mandatory\">*</span>\r\n <div class=\"form-level-settings\" *ngIf=\"getQuestion(question).hint\"\r\n [innerHTML]=\"getQuestion(question).hint | safeHtml\">\r\n </div>\r\n </label>\r\n <!-- for file upload -->\r\n <div class=\"col-12\" *ngIf=\"getQuestion(question).fieldDataType === 'fileUpload'\">\r\n <mat-select multiple #deptsel [disabled]=\"buttonDisable || disableInput()\"\r\n *ngIf=\"getQuestion(question).filePropertie.maxNoOfFile > 1 && getQuestion(question).filePropertie.minNoOfFile !== getQuestion(question).filePropertie.maxNoOfFile\"\r\n [(ngModel)]=\"uploadFilesTemp[getQuestion(question).labelName]\" class=\"select-box\" placeholder=\"Select\">\r\n <mat-option *ngFor=\"let document of getQuestion(question).filePropertie.allowedDocuments\"\r\n [value]=\"document\" (click)=\"changeImageSelected(getQuestion(question), document)\">\r\n {{document}}</mat-option>\r\n </mat-select>\r\n <div class=\"col-lg-12 col-12 col-md-12 col-sm-12 no-padding mgn-up-20\"\r\n *ngIf=\"getDocuments(getQuestion(question)) && getDocuments(getQuestion(question)).length > 0\">\r\n <div class=\"dropzone dropzone-default dropzone-primary dz-clickable\"\r\n [class.single-file]=\"getQuestion(question).filePropertie.allowedDocuments.length==1\"\r\n style=\"cursor: auto;\">\r\n <ng-container *ngFor=\"let doc of getDocuments(getQuestion(question))\">\r\n <div class=\"dz-preview dz-processing dz-image-preview dz-error dz-complete\"\r\n *ngIf=\"getImg(getQuestion(question), doc)\">\r\n <div class=\"docname\" *ngIf=\"getQuestion(question).filePropertie.allowedDocuments.length > 1\">\r\n {{doc}}</div>\r\n <div class=\"dzimage pointer-cursor\" (click)=\"openAttachmentGallery(getQuestion(question), doc)\">\r\n <img alt=\"\" class=\"img_fit\" [src]=\"getImg(getQuestion(question), doc)\">\r\n </div>\r\n <input [disabled]=\"buttonDisable || disableInput()\" (blur)=\"onSubmit('inputChange');\"\r\n [(ngModel)]=\"comments[getQuestion(question).labelName + '=' + doc]\">\r\n <div class=\"gal_action\" *ngIf=\"!buttonDisable && !disableInput() && mode!=='read'\"\r\n (click)=\"changeImageSelected(getQuestion(question), doc)\">\r\n <i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>\r\n </div>\r\n </div>\r\n <div class=\"dz-preview dz-processing dz-image-preview dz-error dz-complete\"\r\n (click)=\"logofile1.click()\" *ngIf=\"!getImg(getQuestion(question), doc)\">\r\n <div class=\"docname\" *ngIf=\"getQuestion(question).filePropertie.allowedDocuments.length > 1\">\r\n {{doc}}</div>\r\n <div class=\"dz-image pointer-cursor\">\r\n </div>\r\n <input #logofile1 type=\"file\" accept=\"/*;capture=camera\" style=\"display:none;\"\r\n [disabled]=\"buttonDisable || disableInput()\"\r\n (change)=\"filesSelected($event, getQuestion(question), doc)\">\r\n <div class=\"dz-error-mark\">\r\n <a class=\"btn btn-icon btn-light-success btn-circle mr-2\"><i\r\n class=\"text-dark-50 flaticon-upload\"></i></a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for checkbox -->\r\n <div class=\"col-12\"\r\n *ngIf=\"getQuestion(question).fieldDataType === 'list' && getQuestion(question).listPropertie.maxAnswers > 1\">\r\n <div class=\"checkbox-list\">\r\n <label class=\"checkbox\" *ngFor=\"let value of getQuestion(question).labelValues\">\r\n <input type=\"checkbox\" [checked]=\"isChecked(value, getQuestion(question))\"\r\n (change)=\"listChange($event, value, getQuestion(question))\"\r\n [disabled]=\"buttonDisable || disableInput()\">\r\n <span></span>\r\n {{value}}\r\n </label>\r\n </div>\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for radio -->\r\n <div class=\"col-12\"\r\n *ngIf=\"getQuestion(question).fieldDataType === 'list' && getQuestion(question).listPropertie.maxAnswers === 1\">\r\n <div class=\"radio-list\">\r\n <label class=\"radio\" *ngFor=\"let value of getQuestion(question).labelValues\">\r\n <input type=\"radio\" [disabled]=\"buttonDisable || disableInput()\"\r\n [checked]=\"isChecked(value, getQuestion(question))\"\r\n (change)=\"listChange($event, value, getQuestion(question))\">\r\n <span></span>\r\n {{value}}\r\n </label>\r\n </div>\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for toggel boolean -->\r\n <div class=\"col-12\" *ngIf=\"getQuestion(question).fieldDataType === 'bool'\">\r\n <div class=\"radio-list\">\r\n <label class=\"radio\" *ngFor=\"let value of getQuestion(question).labelValues\">\r\n <input type=\"radio\" [disabled]=\"buttonDisable || disableInput()\"\r\n [checked]=\"isBooleanChecked(value, getQuestion(question))\"\r\n (change)=\"booleanChange($event, value, getQuestion(question))\">\r\n <span></span>\r\n {{value}}\r\n </label>\r\n </div>\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for Text -->\r\n <div class=\"col-12\" *ngIf=\"getQuestion(question).fieldDataType === 'plainText'\">\r\n <input *ngIf=\"getQuestion(question).plainTextPropertie.maxNoOfLetter<=100\"\r\n [(ngModel)]=\"answers[getQuestion(question).labelName]\" (input)=\"onSubmit('inputChange');\" \r\n [minlength]=\"getQuestion(question).plainTextPropertie.minNoOfLetter\"\r\n [maxlength]=\"getQuestion(question).plainTextPropertie.maxNoOfLetter\"\r\n class=\"form-control1 form-control-solid\" type=\"text\" [disabled]=\"buttonDisable || disableInput()\">\r\n <!-- [disabled]=\"buttonDisable || disableInput()\" -->\r\n <textarea rows=\"3\" *ngIf=\"getQuestion(question).plainTextPropertie.maxNoOfLetter>100\"\r\n [(ngModel)]=\"answers[getQuestion(question).labelName]\" (input)=\"onSubmit('inputChange');\"\r\n [minlength]=\"getQuestion(question).plainTextPropertie.minNoOfLetter\"\r\n [maxlength]=\"getQuestion(question).plainTextPropertie.maxNoOfLetter\" [disabled]=\"buttonDisable || disableInput()\"\r\n class=\"form-control2 form-control-solid\"></textarea>\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for Number -->\r\n <div class=\"col-12\" *ngIf=\"getQuestion(question).fieldDataType === 'number'\">\r\n <input [(ngModel)]=\"answers[getQuestion(question).labelName]\" (input)=\"onSubmit('inputChange');\"\r\n [min]=\"getQuestion(question).numberPropertie.start\" [max]=\"getQuestion(question).numberPropertie.end\"\r\n [disabled]=\"buttonDisable || disableInput()\" class=\"form-control1 form-control-solid\" type=\"number\"\r\n (keypress)=\"isNumeric($event)\">\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for Date -->\r\n <div class=\"col-12 disp-flex\" *ngIf=\"getQuestion(question).fieldDataType === 'date'\">\r\n <input class=\"form-control1\" [matDatepicker]=\"picker\" [max]=\"getMaxdate(question)\"\r\n [min]=\"getMindate(question)\" [(ngModel)]=\"answers[getQuestion(question).labelName]\"\r\n (dateChange)=\"onSubmit('inputChange')\" [disabled]=\"buttonDisable || disableInput()\"\r\n (click)=\"picker.open()\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker [disabled]=\"buttonDisable || disableInput()\"></mat-datepicker>\r\n <div class=\"mt-2 text-danger\" *ngIf=\"apiError[getQuestion(question).labelName]\">\r\n {{apiError[getQuestion(question).labelName]}}</div>\r\n </div>\r\n <!-- for Datagrid -->\r\n <div class=\"table-responsive1\"\r\n *ngIf=\"getQuestion(question).fieldDataType === 'dataGrid' && dataGridColumnsAnswerList[getQuestion(question).labelName] && dataGridColumnsAnswerList[getQuestion(question).labelName].length > 0\">\r\n <table class=\"table table-head-custom table-head-bg table-borderless table-vertical-center\">\r\n <thead>\r\n <th *ngFor=\"let column of getQuestion(question).dataGridProperties.dataGridColumns\">\r\n {{column.columnId}}</th>\r\n <th *ngIf=\"!buttonDisable && !disableInput() && !showDataGrid[getQuestion(question).labelName]\">\r\n </th>\r\n <th *ngIf=\"!buttonDisable && !disableInput() && !showDataGrid[getQuestion(question).labelName]\">\r\n </th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let column of dataGridColumnsAnswerList[getQuestion(question).labelName];let i =index\">\r\n <td *ngFor=\"let data of column | keyvalue\">\r\n <div\r\n *ngIf=\"getColumnType(getQuestion(question).dataGridProperties.dataGridColumns, data.key) === 'date'\">\r\n {{data.value | date : newTimeDateFormat}}\r\n </div>\r\n <div\r\n *ngIf=\"getColumnType(getQuestion(question).dataGridProperties.dataGridColumns, data.key) === 'bool'\">\r\n {{getBoolValue(data.value)}}\r\n </div>\r\n <div\r\n *ngIf=\"getColumnType(getQuestion(question).dataGridProperties.dataGridColumns, data.key) !== 'date' && getColumnType(getQuestion(question).dataGridProperties.dataGridColumns, data.key) !== 'bool'\">\r\n {{data.value}}\r\n </div>\r\n </td>\r\n <td *ngIf=\"!buttonDisable && !disableInput() && !showDataGrid[getQuestion(question).labelName]\">\r\n <i class=\"fa fa-pen\" (click)=\"editDataGrid(getQuestion(question), column)\"></i>\r\n </td>\r\n <td *ngIf=\"!buttonDisable && !disableInput() && !showDataGrid[getQuestion(question).labelName]\">\r\n <i class=\"fa fa-trash\" (click)=\"deleteDataGrid(getQuestion(question), column)\"></i>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"gridSection\" *ngIf=\"showDataGrid[getQuestion(question).labelName]\">\r\n <div class=\"gridColumn\" *ngFor=\"let column of getQuestion(question).dataGridProperties.dataGridColumns\">\r\n <label>{{column.label}}\r\n <span class=\"red\" *ngIf=\"column.mandatory\">*</span>\r\n </label>\r\n <!-- for checkbox -->\r\n <div class=\"col-12\" *ngIf=\"column.dataType === 'list'\">\r\n <div class=\"checkbox-list\">\r\n <label class=\"checkbox\" *ngFor=\"let value of column.listPropertie.values\">\r\n <input type=\"checkbox\" [checked]=\"isChecked(value, getQuestion(question), column)\"\r\n (change)=\"listChange($event, value, getQuestion(question), column)\"\r\n [disabled]=\"buttonDisable || disableInput()\">\r\n <span></span>\r\n {{value}}\r\n </label>\r\n </div>\r\n </div>\r\n <!-- for toggel boolean -->\r\n <div class=\"col-12\" *ngIf=\"column.dataType === 'bool'\">\r\n <div class=\"radio-list\">\r\n <label class=\"radio\">\r\n <input type=\"radio\" [disabled]=\"buttonDisable || disableInput()\"\r\n [checked]=\"isBooleanChecked('yes', getQuestion(question), column)\"\r\n (change)=\"booleanChange($event, 'yes', getQuestion(question), column)\">\r\n <span></span>\r\n Yes\r\n </label>\r\n <label class=\"radio\">\r\n <input type=\"radio\" [disabled]=\"buttonDisable || disableInput()\"\r\n [checked]=\"isBooleanChecked('no', getQuestion(question), column)\"\r\n (change)=\"booleanChange($event, 'no', getQuestion(question), column)\">\r\n <span></span>\r\n No\r\n </label>\r\n </div>\r\n </div>\r\n <!-- for Text -->\r\n <div class=\"col-12\" *ngIf=\"column.dataType === 'plainText'\">\r\n <input [(ngModel)]=\"dataGridColumns[getQuestion(question).labelName + '=' + column.order]\"\r\n [disabled]=\"buttonDisable || disableInput()\" class=\"form-control1 form-control-solid\" type=\"text\">\r\n </div>\r\n <!-- for Number -->\r\n <div class=\"col-12\" *ngIf=\"column.dataType === 'number'\">\r\n <input [(ngModel)]=\"dataGridColumns[getQuestion(question).labelName + '=' + column.order]\"\r\n [disabled]=\"buttonDisable || disableInput()\" [min]=\"column.numberPropertie.start\"\r\n [max]=\"column.numberPropertie.end\" class=\"form-control1 form-control-solid\" type=\"number\">\r\n </div>\r\n <!-- for Date -->\r\n <div class=\"col-12 disp-flex\" *ngIf=\"column.dataType === 'date'\">\r\n <input class=\"form-control1\" [matDatepicker]=\"picker\" [max]=\"getMaxdate(question)\"\r\n [min]=\"getMindate(question)\"\r\n [(ngModel)]=\"dataGridColumns[getQuestion(question).labelName + '=' + column.order]\"\r\n [disabled]=\"buttonDisable || disableInput()\" (click)=\"picker.open()\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker [disabled]=\"buttonDisable || disableInput()\">\r\n </mat-datepicker>\r\n </div>\r\n </div>\r\n <div class=\"act-btns\">\r\n <button type=\"button\" class=\"btn btn-light-primary font-weight-bold\"\r\n (click)=\"cancelAddorUpdate(getQuestion(question))\">\r\n Cancel\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary font-weight-bold\"\r\n (click)=\"saveDataGridColumn(getQuestion(question))\">Add</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-12 col-sm-12 col-lg-12 no-padding submit-pad\"\r\n *ngIf=\"type !== 'qnrLinkProvider' && source!=='proLead' && (uuid || source === 'customer-details' || source === 'proDonation') && !disableInput()\">\r\n <button class=\"normal-btn\" mat-flat-button [class.spinner]=\"buttonDisable\"\r\n [class.spinner-darker-success]=\"buttonDisable\" [class.spinner-center]=\"buttonDisable\"\r\n (click)=\"!buttonDisable && onSubmit('submit')\" [disabled]=\"buttonDisable\"\r\n [class.disabled]=\"buttonDisable\">{{(type == 'qnr-link') ? 'Submit' : 'Update'}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n<ks-modal-gallery [id]=\"0\" *ngIf=\"image_list_popup && image_list_popup.length>0\" [modalImages]=\"image_list_popup\"\r\n [plainGalleryConfig]=\"customPlainGalleryRowConfig\" [buttonsConfig]=\"customButtonsFontAwesomeConfig\"\r\n (buttonBeforeHook)=\"onButtonBeforeHook($event)\"></ks-modal-gallery>\r\n<section class=\"cons-inbox no-padding-small\" *ngIf=\"showservice\">\r\n <div class=\"container consumer-dashhome no-padding no-padding-small\" *ngIf=\"!type\">\r\n <div class=\"card title-gb rounded-0\" *ngIf=\"uuid\">\r\n <h5 class=\"mgn-up-10 bold\">{{questionnaire_heading | capitalizeFirst}} <a class=\"pull-left mgn-rt-20 back-btn\"\r\n (click)=\"goBack()\"><i class=\"fa fa-arrow-left\"></i></a></h5>\r\n </div>\r\n </div>\r\n <app-common-innerloading-spinner *ngIf=\"loading\"></app-common-innerloading-spinner>\r\n <div class=\"d-flex flex-column-fluid pull-right mgn-rt-10 mgn-bt-20\"\r\n *ngIf=\"type !== 'qnrLinkProvider' && !buttonDisable && waitlistStatus\">\r\n <button class=\"normal-btn edit\" mat-flat-button (click)=\"editQnr()\">Edit</button>\r\n </div>\r\n <div class=\"d-flex flex-column-fluid width-100\" [class.qnrDisableState]=\"disableInput()\"\r\n [class.no-padding]=\"uuid && (source === 'consCheckin' || source === 'consAppt' || source === 'consDonationDetails' )\">\r\n <div class=\"col-xl-12 force_center no-padding\" [class.no-padding]=\"uuid\"\r\n [class.no-padding-small]=\"source && source=='ivr'\">\r\n <div class=\"\">\r\n <div class=\"\" *ngFor=\"let qnr of groupedQnr | keyvalue\" [class.section-shadow]=\"getSectionCount() > 1\">\r\n <!-- <div class=\"qnr-section\" *ngIf=\"getSectionCount() > 1\">{{qnr.key}}</div> -->\r\n <div *ngIf=\"itemArray.length == 0 \">\r\n <div class=\"form-group mgn-0 border-dashed text-center\" *ngFor=\"let question of qnr.value\">\r\n <div class=\"qnr-section\" *ngIf=\"getSectionCount() > 1\">\r\n {{getQuestion(question).question.sectionName}}</div>\r\n <label class=\"col-12 quest pointer-cursor\"\r\n (click)=\"showDataGridAddSectionn(getQuestion(question).question, true)\">\r\n <!-- {{getQuestion(question).question.label}} -->\r\n <!-- <div class=\"pull-right btn btn-primary font-weight-bold\"\r\n (click)=\"showDataGridAddSectionn(getQuestion(question).question, true)\"><i\r\n class=\"fa fa-plus add-plus\"></i>Add Item\r\n </div> -->\r\n <div>\r\n <img src=\"./assets/images/service-options.svg\" alt=\"Service Options\" class=\"img-fluid pb-0\"\r\n width=\"300\" height=\"300\">\r\n </div>\r\n <div class=\"pro-only\" *ngIf=\"showProviderText(getQuestion(question).question)\">For Providers</div>\r\n <span class=\"red\" *ngIf=\"getQuestion(question).question.mandatory\">*</span>\r\n <!-- <div class=\"form-level-settings\" *ngIf=\"getQuestion(question).question.hint\">\r\n {{getQuestion(question).question.hint}}\r\n </div> -->\r\n <div>\r\n <span class=\"text-primary font-weight-bold\">Please Choose your Pet</span>\r\n </div>\r\n <div class=\"mt-3\">\r\n <span class=\"btn btn-light font-weight-bold\">Continue</span>\r\n </div>\r\n </label>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n <!-- {{itemArray | json}} -->\r\n <div class=\"col-md-12 col-12 col-sm-12 mgn-bt-12 no-padding\" *ngIf=\"showItem\">\r\n\r\n\r\n <div>\r\n <div class=\"card-border\" *ngFor=\" let items of itemArray\">\r\n\r\n <div class=\"d-flex justify-content-between\">\r\n <div>\r\n <div class=\"text-capitalize\">\r\n <div class=\"\">\r\n <span class=\"text-primary\">\r\n {{items.item}}<br>\r\n </span>\r\n <!-- <span class=\"disp-none-small\">&nbsp;-&nbsp;</span>\r\n <span class=\"disp-none-large\"><br></span> -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex border-apply px-0\">\r\n <div (click)=\"decrement(items);\" class=\"pointer-cursor quantity quantity-1\">\r\n <span class=\"p-10\">-</span>\r\n </div>\r\n <div class=\"mx-2 pointer-cursor\"><span class=\"quantity\"\r\n *ngIf=\"items && items.columnItem && items.columnItem[0] && items.columnItem[0].answer && items.columnItem[0].answer.dataGridList && items.columnItem[0].answer.dataGridList[0] && items.columnItem[0].answer.dataGridList[0].dataGridListColumn && items.columnItem[0].answer.dataGridList[0].dataGridListColumn[0] && items.columnItem[0].answer.dataGridList[0].dataGridListColumn[0].quantity\">\r\n {{items.columnItem[0].answer.dataGridList[0].dataGridListColumn[0].quantity}}</span>\r\n </div>\r\n <div (click)=\"increment(items);\" class=\"pointer-cursor quantity quantity-1\">\r\n <span class=\"p-10\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <span class=\"text-primary\"><span><i class=\"fa fa-inr\"></i>\r\n {{items.price * getItemQuantity(items)}}/-\r\n </span>\r\n </span>\r\n </div>\r\n <!-- <div (click)=\"qnrPopup(items, 'edit');\">\r\n <span class=\"text-link font-weight-bold\"><span>\r\n Edit*\r\n </span>\r\n </span>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"clearfix\"></div>\r\n <div *ngIf=\"showItem &&itemArray.length > 0\">\r\n <div *ngFor=\"let qnr of groupedQnr | keyvalue\" [class.section-shadow]=\"getSectionCount() > 1\">\r\n <div *ngFor=\"let question of qnr.value\">\r\n <label class=\"col-12 quest pointer-cursor\"\r\n (click)=\"showDataGridAddSectionn(getQuestion(question).question, true)\">\r\n <span class=\"btn btn-light font-weight-bold\"><i class=\"fa fa-plus text-white\"></i>Add</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</section>\r\n\r\n<!-- <ks-modal-gallery [id]=\"0\" *ngIf=\"image_list_popup && image_list_popup.length>0\" [modalImages]=\"image_list_popup\"\r\n [plainGalleryConfig]=\"customPlainGalleryRowConfig\" [buttonsConfig]=\"customButtonsFontAwesomeConfig\"\r\n (buttonBeforeHook)=\"onButtonBeforeHook($event)\"></ks-modal-gallery> -->","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CapitalizeFirstPipe } from './capitalize.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [CapitalizeFirstPipe],\r\n exports: [CapitalizeFirstPipe]\r\n})\r\nexport class CapitalizeFirstPipeModule {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SafeHtmlPipe } from './safehtml.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [SafeHtmlPipe],\r\n exports: [SafeHtmlPipe]\r\n})\r\nexport class SafeHtmlModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { QuestionnaireComponent } from './questionnaire.component';\r\nimport { GalleryModule } from '@ks89/angular-modal-gallery';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { LoadingSpinnerModule } from '../../spinner/loading-spinner.module';\r\nimport { CapitalizeFirstPipeModule } from '../../pipes/capitalize/capitalize.module';\r\nimport { SafeHtmlModule } from '../../pipes/safe-html/safehtml.module';\r\n@NgModule({\r\n declarations: [\r\n QuestionnaireComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n LoadingSpinnerModule,\r\n CapitalizeFirstPipeModule,\r\n GalleryModule,\r\n MatDatepickerModule,\r\n MatCheckboxModule,\r\n MatSlideToggleModule,\r\n MatOptionModule,\r\n MatSelectModule,\r\n SafeHtmlModule,\r\n // SharedModule,\r\n MatIconModule\r\n ],\r\n providers:[],\r\n schemas: [\r\n NO_ERRORS_SCHEMA,\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ],\r\n exports: [QuestionnaireComponent]\r\n})\r\nexport class QuestionnaireModule { }\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { ShowuploadfileComponent } from \"./showuploadfile.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatDialogModule\r\n ],\r\n exports: [\r\n ShowuploadfileComponent\r\n ],\r\n declarations: [\r\n ShowuploadfileComponent\r\n ]\r\n})\r\nexport class ShowuploadfileModule {}","import { AfterViewInit, Component, ElementRef, forwardRef, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport intlTelInput from 'intl-tel-input';\r\n\r\n@Component({\r\n selector: 'app-phone-input',\r\n templateUrl: './phone-input.component.html',\r\n styleUrls: ['./phone-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => PhoneInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class PhoneInputComponent implements AfterViewInit, ControlValueAccessor {\r\n @Input() initialCountry: string = 'us'; // Default to 'us'\r\n @Input() preferredCountries: string[] = []; // List of preferred countries\r\n @Input() nationalMode: boolean = true; // Use national mode so dial code is hidden in input box\r\n @Input() separateDialCode: boolean = true; // Whether to separate dial code (controls formatting)\r\n @Input() otherOptions: any = {}; // Any other options for intl-tel-input\r\n\r\n @ViewChild('phoneInput', { static: false }) phoneInput: ElementRef;\r\n phoneNumber: any = { dialCode: '', countryCode: '', e164Number: '', number: '' }; // Structured phone number object\r\n phoneInputInstance: any;\r\n\r\n // Output Event to send the phone number value to the parent component\r\n @Output() phoneNumberChange = new EventEmitter<any>();\r\n\r\n // Function to handle form control value changes\r\n onChange = (value: any) => {};\r\n onTouched = () => {};\r\n\r\n ngAfterViewInit(): void {\r\n if (this.phoneInput && this.phoneInput.nativeElement) {\r\n this.initializePhoneInput();\r\n }\r\n }\r\n\r\n // Initialize intl-tel-input for the phone input field\r\n initializePhoneInput(): void {\r\n const options = {\r\n initialCountry: this.initialCountry,\r\n preferredCountries: this.preferredCountries,\r\n nationalMode: this.nationalMode, // Use national mode to hide dial code\r\n separateDialCode: this.separateDialCode, // Keep separate dial code for processing\r\n utilsScript: 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.8/js/utils.js',\r\n ...this.otherOptions // Merge any additional options provided\r\n };\r\n\r\n // Initialize intl-tel-input\r\n this.phoneInputInstance = intlTelInput(this.phoneInput.nativeElement, options);\r\n\r\n // Capture the country change event to track the selected country code and dial code\r\n this.phoneInput.nativeElement.addEventListener('countrychange', () => {\r\n this.updatePhoneNumber();\r\n });\r\n\r\n // Capture input event to update phone number in E.164 format\r\n this.phoneInput.nativeElement.addEventListener('input', () => {\r\n this.updatePhoneNumber();\r\n });\r\n\r\n // Set the initial value if available (without showing the dial code)\r\n if (this.phoneNumber.e164Number) {\r\n this.phoneInputInstance.setNumber(this.phoneNumber.e164Number); // Set the E.164 formatted number\r\n }\r\n }\r\n\r\n // Method to update the phone number object\r\n updatePhoneNumber(): void {\r\n const dialCode = '+' + this.phoneInputInstance.getSelectedCountryData().dialCode;\r\n const countryCode = this.phoneInputInstance.getSelectedCountryData().iso2;\r\n const e164Number = this.phoneInputInstance.getNumber(); // Full number in E.164 format\r\n const number = e164Number.split(dialCode)[1];\r\n\r\n // Update the phoneNumber object with the full details\r\n this.phoneNumber = {\r\n dialCode,\r\n countryCode,\r\n e164Number,\r\n number\r\n };\r\n\r\n // Emit the updated value to the parent component\r\n this.phoneNumberChange.emit(this.phoneNumber); // Sending the value to parent\r\n }\r\n\r\n // Implement the writeValue method for ControlValueAccessor\r\n writeValue(value: any): void {\r\n if (value && value.e164Number) {\r\n this.phoneNumber = value;\r\n if (this.phoneInput && this.phoneInput.nativeElement) {\r\n this.phoneInputInstance.setNumber(value.e164Number); // Set the E.164 formatted number\r\n }\r\n }\r\n }\r\n\r\n // Implement the registerOnChange method for ControlValueAccessor\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n // Implement the registerOnTouched method for ControlValueAccessor\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n // Custom Validation Method: Validate the phone number\r\n validatePhoneNumber(): boolean {\r\n if (this.phoneInputInstance) {\r\n // Check if the current phone number is valid according to the selected country\r\n const isValid = this.phoneInputInstance.isValidNumber() || this.phoneNumber.number.startsWith('555');\r\n return isValid;\r\n }\r\n return false;\r\n }\r\n}","<div class=\"phone-input-wrapper\">\r\n <input #phoneInput type=\"tel\" [(ngModel)]=\"phoneNumber.phoneNumber\"\r\n name=\"phoneNumber\" [required]=\"true\" #phone=\"ngModel\"\r\n [ngClass]=\"{'is-invalid': !validatePhoneNumber() && phone.touched}\">\r\n\r\n <!-- Validation feedback -->\r\n <!-- <div *ngIf=\"!validatePhoneNumber() && phone.touched\" class=\"text-danger\">\r\n Invalid phone number.\r\n </div> -->\r\n <!-- <input #phoneInput [(ngModel)]=\"phoneNumber.number\" /> -->\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PhoneInputComponent } from './phone-input.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [PhoneInputComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [PhoneInputComponent]\r\n})\r\nexport class PhoneInputModule { }\r\n","/*\r\n * Public API Surface of jconsumer-shared\r\n */\r\n\r\nexport * from './lib/service-meta';\r\nexport * from './lib/subscription.service';\r\nexport * from './lib/toast.service';\r\nexport * from './lib/shared.service';\r\nexport * from './lib/i8n.module';\r\nexport * from './lib/order.service';\r\nexport * from './lib/account-service';\r\nexport * from './lib/auth-service';\r\nexport * from './lib/file-service';\r\nexport * from './lib/common.service';\r\nexport * from './lib/storage.service';\r\nexport * from './lib/group-storage.service';\r\nexport * from './lib/local-storage.service';\r\nexport * from './lib/error-message.service';\r\nexport * from './lib/session-storage.service';\r\nexport * from './lib/word-processor.service';\r\nexport * from './lib/project-messages';\r\nexport * from './lib/pipes/safe-html/safehtml.pipe';\r\nexport * from './lib/pipes/limit-to/limitTo.pipe';\r\nexport * from './lib/pipes/filter/filter.pipe';\r\nexport * from './lib/pipes/capitalize/capitalize.pipe';\r\nexport * from './lib/pipes/autolink/autolink.pipe';\r\nexport * from './lib/skeleton/skeleton-loading.component';\r\nexport * from './lib/skeleton/skeleton-loading.module';\r\nexport * from './lib/spinner/loading-spinner.component';\r\nexport * from './lib/spinner/loading-spinner.module';\r\nexport * from './lib/questionaire/questionaire-service';\r\nexport * from './lib/questionaire/edit/questionnaire.component';\r\nexport * from './lib/questionaire/edit/questionnaire.module';\r\nexport * from './lib/showuploadfile/showuploadfile.component';\r\nexport * from './lib/showuploadfile/showuploadfile.module';\r\nexport * from './lib/phone-input/phone-input.component';\r\nexport * from './lib/phone-input/phone-input.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.ServiceMeta","i2.SharedService","i1.SessionStorageService","i2.LocalStorageService","i3.SessionStorageService","i4.GroupStorageService","i3","i2.WordProcessor","i3.LocalStorageService","i4.DateTimeProcessor","i5","i6.FileService","i7.CommonService","i8.QuestionaireService","i9.ErrorMessagingService","i10.ToastService","i14.LoadingSpinnerComponent","i19.CapitalizeFirstPipe","i20.SafeHtmlPipe","i2"],"mappings":"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"}