{"version":3,"file":"main.js","mappings":"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mFAAmF;AACnF,+BAA+B;AAC/B,SAAS;AACT,MAAM;AACN,yFAAsB,EAAE,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACflC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9OA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["./src/app/action-sheet-model/action-sheet-model-routing.module.ts","./src/app/action-sheet-model/action-sheet-model.module.ts","./src/app/action-sheet-model/action-sheet-model.page.ts","./src/app/agent-profilev2/agent-profilev2.page.ts","./src/app/api/proppy.service.ts","./src/app/api/talk.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/bump-popover/bump-popover.component.ts","./src/app/butler-notification/butler-notification-routing.module.ts","./src/app/butler-notification/butler-notification.module.ts","./src/app/butler-notification/butler-notification.page.ts","./src/app/endorsement-list.pipe.ts","./src/app/language-popover/language-popover-routing.module.ts","./src/app/language-popover/language-popover.module.ts","./src/app/language-popover/language-popover.page.ts","./src/app/marketplace-media-popup/marketplace-media-popup-routing.module.ts","./src/app/marketplace-media-popup/marketplace-media-popup.module.ts","./src/app/marketplace-media-popup/marketplace-media-popup.page.ts","./src/app/marketplacenewlisting-modal-info/marketplacenewlisting-modal-info-routing.module.ts","./src/app/marketplacenewlisting-modal-info/marketplacenewlisting-modal-info.module.ts","./src/app/marketplacenewlisting-modal-info/marketplacenewlisting-modal-info.page.ts","./src/app/merchant-popover/merchant-popover-routing.module.ts","./src/app/merchant-popover/merchant-popover.module.ts","./src/app/merchant-popover/merchant-popover.page.ts","./src/app/modal-mortgage-diag/modal-mortgage-diag-routing.module.ts","./src/app/modal-mortgage-diag/modal-mortgage-diag.module.ts","./src/app/modal-mortgage-diag/modal-mortgage-diag.page.ts","./src/app/modal-shop-cart/modal-shop-cart-routing.module.ts","./src/app/modal-shop-cart/modal-shop-cart.module.ts","./src/app/modal-shop-cart/modal-shop-cart.page.ts","./src/app/modals/internet-connection-modal/internet-connection-modal-routing.module.ts","./src/app/modals/internet-connection-modal/internet-connection-modal.module.ts","./src/app/modals/internet-connection-modal/internet-connection-modal.page.ts","./src/app/modals/permission-modal/permission-modal-routing.module.ts","./src/app/modals/permission-modal/permission-modal.module.ts","./src/app/modals/permission-modal/permission-modal.page.ts","./src/app/premium-merchant/pm-promoter/pm-popover/pm-popover.component.ts","./src/app/premium-merchant/pm-promoter/pm-popover/pm-popover.module.ts","./src/app/proppycares-modal-info/proppycares-modal-info-routing.module.ts","./src/app/proppycares-modal-info/proppycares-modal-info.module.ts","./src/app/proppycares-modal-info/proppycares-modal-info.page.ts","./src/app/providers/user-data.ts","./src/app/reusables/display-col-dropdown/display-col-dropdown.page.ts","./src/app/reusables/photo-viewer/photo-viewer-routing.module.ts","./src/app/reusables/photo-viewer/photo-viewer.module.ts","./src/app/reusables/photo-viewer/photo-viewer.page.ts","./src/app/reusables/proppy-wizard/proppy-wizard.page.ts","./src/app/select-residents-type-drop-down/select-residents-type-drop-down.page.ts","./src/app/services/alert-handler.service.ts","./src/app/services/api-fetcher.service.ts","./src/app/services/api-manager.service.ts","./src/app/services/api.service.ts","./src/app/services/auth.service.ts","./src/app/services/connectivity.service.ts","./src/app/services/constants.service.ts","./src/app/services/data-fetcher/data-fetcher.service.ts","./src/app/services/db-handler.service.ts","./src/app/services/error.interceptor.ts","./src/app/services/fcm.service.ts","./src/app/services/firebase-auth-service.service.ts","./src/app/services/jwt.interceptor.ts","./src/app/services/language.service.ts","./src/app/services/middleware/admob-service.ts","./src/app/services/middleware/app-helper.ts","./src/app/services/middleware/auth-guard.service.ts","./src/app/services/middleware/auth.service.ts","./src/app/services/middleware/deeplink-helper.service.ts","./src/app/services/middleware/global-error-handler.service.ts","./src/app/services/middleware/lang.pipe.ts","./src/app/services/middleware/photo.service.ts","./src/app/services/open-file-util.service.ts","./src/app/services/permission.service.ts","./src/app/services/preloadmodule.service.ts","./src/app/services/routes.service.ts","./src/app/services/storage-service.service.ts","./src/app/services/storage.service.ts","./src/app/ui-shared.module.ts","./src/app/uicomponents/app-refresher/app-refresher.component.ts","./src/app/uicomponents/app-refresher/app-refresher.module.ts","./src/app/uicomponents/enums.ts","./src/app/uicomponents/pro-button/pro-button.component.ts","./src/app/uicomponents/pro-button/pro-button.module.ts","./src/app/uicomponents/pro-cb-dropdown/pro-cb-dropdown.component.ts","./src/app/uicomponents/pro-cb-dropdown/pro-cb-dropdown.module.ts","./src/app/uicomponents/pro-custom-modal/pro-custom-modal.component.ts","./src/app/uicomponents/pro-custom-modal/pro-custom-modal.module.ts","./src/app/uicomponents/pro-slider/pro-slider.component.ts","./src/app/uicomponents/pro-slider/pro-slider.module.ts","./src/app/uicomponents/product-review-rating-details/product-review-rating-details.component.ts","./src/app/uicomponents/product-review-rating-details/product-review-rating-details.module.ts","./src/app/uicomponents/progress-tracker/progress-tracker.component.ts","./src/app/uicomponents/progress-tracker/progress-tracker.module.ts","./src/app/uicomponents/review-rating-details/review-rating-details.component.ts","./src/app/uicomponents/review-rating-details/review-rating-details.module.ts","./src/app/uicomponents/review-rating/review-rating.component.ts","./src/app/uicomponents/review-rating/review-rating.module.ts","./src/app/uicomponents/separator/separator.component.ts","./src/app/uicomponents/separator/separator.module.ts","./src/app/uicomponents/skeletons/skeletons.component.ts","./src/app/uicomponents/skeletons/skeletons.module.ts","./src/app/uicomponents/ui-chip/ui-chip.component.ts","./src/app/uicomponents/ui-chip/ui-chip.module.ts","./src/app/uicomponents/ui-favourites/ui-favourites.component.ts","./src/app/uicomponents/ui-favourites/ui-favourites.module.ts","./src/app/uicomponents/ui-likes/ui-likes.component.ts","./src/app/uicomponents/ui-likes/ui-likes.module.ts","./src/app/uicomponents/ui-ph-property/ui-ph-property.component.ts","./src/app/uicomponents/ui-ph-property/ui-ph-property.module.ts","./src/app/uicomponents/ui-popover/ui-popover.component.ts","./src/app/uicomponents/ui-popover/ui-popover.module.ts","./src/app/uicomponents/ui-side-fab/ui-side-fab.component.ts","./src/app/uicomponents/ui-side-fab/ui-side-fab.module.ts","./src/app/uicomponents/uiads-display/uiads-display.component.ts","./src/app/uicomponents/uiads-display/uiads-display.module.ts","./src/app/uicomponents/uibookmark/uibookmark.component.ts","./src/app/uicomponents/uibookmark/uibookmark.module.ts","./src/app/uicomponents/uicalendar/uicalendar-routing.module.ts","./src/app/uicomponents/uicalendar/uicalendar.module.ts","./src/app/uicomponents/uicalendar/uicalendar.page.ts","./src/app/uicomponents/uicheckbox/uicheckbox.component.ts","./src/app/uicomponents/uicheckbox/uicheckbox.module.ts","./src/app/uicomponents/uicontrol.ts","./src/app/uicomponents/uidate-picker/uidate-picker.component.ts","./src/app/uicomponents/uidate-picker/uidate-picker.module.ts","./src/app/uicomponents/uidropdown/uidropdown.component.ts","./src/app/uicomponents/uidropdown/uidropdown.module.ts","./src/app/uicomponents/uifollow/uifollow.component.ts","./src/app/uicomponents/uifollow/uifollow.module.ts","./src/app/uicomponents/uiimg/uiimg.component.ts","./src/app/uicomponents/uiimg/uiimg.module.ts","./src/app/uicomponents/uilabel/uilabel.component.ts","./src/app/uicomponents/uilabel/uilabel.module.ts","./src/app/uicomponents/uiradio-button/uiradio-button.component.ts","./src/app/uicomponents/uiradio-button/uiradio-button.module.ts","./src/app/uicomponents/uitext-field/uitext-field.component.ts","./src/app/uicomponents/uitext-field/uitext-field.module.ts","./src/app/uicomponents/utils/custom-pipe/custom-pipe.module.ts","./src/app/uicomponents/utils/date-helper.service.ts","./src/app/uicomponents/utils/date.pipe.ts","./src/app/uicomponents/utils/iamge-sanitizer.pipe.ts","./src/app/view-video/view-video.page.ts","./src/environments/environment.prod.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\object-inspect|./util.inspect","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\pdfjs-dist\\build|canvas","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\pdfjs-dist\\build|fs","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\pdfjs-dist\\build|http","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\pdfjs-dist\\build|https","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\pdfjs-dist\\build|url","ignored|D:\\ProppyApp\\SouceCode\\ionic\\ProppyAppV2\\node_modules\\pdfjs-dist\\build|zlib"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ActionSheetModelPage } from './action-sheet-model.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ActionSheetModelPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ActionSheetModelPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { ActionSheetModelPageRoutingModule } from './action-sheet-model-routing.module';\r\nimport { ActionSheetModelPage } from './action-sheet-model.page';\r\nimport {TranslateModule} from '@ngx-translate/core'\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n ActionSheetModelPageRoutingModule,\r\n TranslateModule\r\n ],\r\n declarations: [ActionSheetModelPage]\r\n})\r\nexport class ActionSheetModelPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NavigationExtras, Router } from '@angular/router';\r\nimport { QRScanner, QRScannerStatus } from '@ionic-native/qr-scanner/ngx';\r\nimport { ModalController, NavController, Platform } from '@ionic/angular';\r\nimport {TranslateService} from '@ngx-translate/core'\r\nimport { InAppBrowser } from '@ionic-native/in-app-browser/ngx';\r\nimport { SocialSharing } from '@ionic-native/social-sharing/ngx';\r\nimport { StorageService } from '../services/storage-service.service';\r\nimport { LanguageService } from '../services/language.service';\r\nimport { deep_link_hostname } from 'src/environments/environment';\r\nimport { AppHelper } from \"../services/middleware/app-helper\";\r\nimport { DeeplinkHelperService } from '../services/middleware/deeplink-helper.service';\r\n\r\n@Component({\r\n selector: \"app-action-sheet-model\",\r\n templateUrl: \"./action-sheet-model.page.html\",\r\n styleUrls: [\"./action-sheet-model.page.scss\"],\r\n})\r\nexport class ActionSheetModelPage implements OnInit {\r\n scanSub: any;\r\n qrText: string;\r\n proppyUserID = \"\";\r\n propertyAgentID: string;\r\n showAgentActivation: boolean;\r\n\r\n constructor(public router: Router, private navCtrl:NavController\r\n , private modalController: ModalController\r\n , private translate:TranslateService\r\n , private qrScanner: QRScanner\r\n , private plt: Platform\r\n , private iab: InAppBrowser\r\n , private socialSharing: SocialSharing\r\n , private storageService:StorageService\r\n , public lanService:LanguageService,\r\n private deeplink_helper:DeeplinkHelperService,\r\n public helper:AppHelper) { }\r\n\r\n ngOnInit() {\r\n this.storageService.getString(\"Proppy_Agent_ID\", (proppyAgentID) => {\r\n if (proppyAgentID != \"\") {\r\n this.propertyAgentID = proppyAgentID;\r\n this.showAgentActivation = false;\r\n } else {\r\n this.propertyAgentID = \"\";\r\n this.showAgentActivation = true;\r\n }\r\n console.log(this.propertyAgentID);\r\n console.log(this.showAgentActivation);\r\n });\r\n }\r\n\r\n btnNavClick(path) {\r\n this.dismiss();\r\n this.navCtrl.navigateForward([path]);\r\n }\r\n\r\n dismiss(role=null) {\r\n // using the injected ModalController this page\r\n // can \"dismiss\" itself and optionally pass back data\r\n var params = {dismissed: true}\r\n if(role != null){\r\n params['role'] = role\r\n }\r\n this.modalController.dismiss(params);\r\n }\r\n\r\n navigateTo(path, params = {}) {\r\n if (Object.keys(params).length == 0) {\r\n this.navCtrl.navigateForward(path);\r\n } else {\r\n this.navCtrl.navigateForward(path, { queryParams: params });\r\n }\r\n this.dismiss();\r\n }\r\n\r\n shareSvgQRCodeImgData() {\r\n this.storageService.getString(\"Proppy_UserID\",(proppyID)=>{\r\n this.deeplink_helper.processShareLink('MemberProfile',proppyID,(link)=>{\r\n var sMessage = 'Click to View My Profile at ProppyApp. '+link;\r\n // this.socialSharing.share(sMessage, sMessage, null, null);\r\n this.helper.socialShare(sMessage)\r\n })\r\n })\r\n this.dismiss();\r\n }\r\n\r\n mEndorseMe(){\r\n this.storageService.getString(\"Proppy_UserID\",(proppyID)=>{\r\n this.deeplink_helper.processShareLink('AddEndorsement',proppyID,(link)=>{\r\n var sMessage = 'Click to Endorse Me at ProppyApp. '+link;\r\n this.socialSharing.share(sMessage, sMessage, null, null);\r\n },'Member/'+proppyID)\r\n })\r\n this.dismiss();\r\n }\r\n\r\n sendShare(message, subject) {\r\n this.storageService.getString(\"Proppy_UserID\",(proppyID)=>{\r\n this.deeplink_helper.processShareLink('Registration',proppyID,(link)=>{\r\n this.socialSharing.share(message + ' Referral Code: ' + proppyID, subject + ' Referral Code: ' + proppyID, null, link);\r\n })\r\n })\r\n this.dismiss();\r\n }\r\n\r\n goToEarn(){\r\n this.navCtrl.navigateForward(\"/tabs/earn\");\r\n this.dismiss();\r\n }\r\n\r\n btnAgentActivateClick() {\r\n this.router.navigate([\"/tabs/agent-activation\"]);\r\n this.dismiss();\r\n }\r\n\r\n btnAgentProfileClick() {\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n AgentId: this.propertyAgentID,\r\n },\r\n };\r\n this.navCtrl.navigateForward([\"./tabs/property-agent\"], navigationExtras);\r\n this.dismiss();\r\n }\r\n\r\n openQRScanner() {\r\n this.dismiss(\"OpenScanner\") \r\n return\r\n this.qrScanner.prepare().\r\n then((status: QRScannerStatus) => {\r\n if (status.scanning) {\r\n // Scanner active, close scanner\r\n document.querySelector('ion-app').classList.remove('cameraView');\r\n document.querySelector('ion-app').style.background='#e1e9ec'\r\n document.getElementById('homepage').style.visibility = \"visible\";\r\n document.getElementById('qr-button').style.visibility = \"hidden\";\r\n this.qrScanner.hide();\r\n this.qrScanner.destroy();\r\n this.scanSub.unsubscribe();\r\n \r\n }\r\n else if (status.authorized) {\r\n this.qrScanner.show();\r\n document.getElementById('homepage').style.visibility = \"hidden\";\r\n document.getElementById('qr-button').style.visibility = \"visible\";\r\n document.querySelector('ion-app').classList.add('cameraView');\r\n this.scanSub = this.qrScanner.scan()\r\n .subscribe((textFound: string) => {\r\n document.querySelector('ion-app').classList.remove('cameraView');\r\n // document.getElementsByTagName('ion-content')[0].style.opacity = '1';\r\n document.getElementById('homepage').style.visibility = \"visible\";\r\n document.getElementById('qr-button').style.visibility = \"hidden\";\r\n this.qrScanner.hide();\r\n this.qrScanner.destroy();\r\n this.scanSub.unsubscribe();\r\n \r\n this.qrText = textFound;\r\n //alert(this.qrText);\r\n \r\n //first check the string is our valid app link\r\n if (this.isValidAppLink(this.qrText)) {\r\n let applink = new URL(this.qrText);\r\n if(applink.toString().includes('AccessID')){\r\n this.deeplink_helper.onAccessCapture(applink.toString().split('=')[1])\r\n return;\r\n }\r\n let pathname = applink.pathname.replace(/^\\/+/g, '');\r\n let approute = pathname.split('/');\r\n \r\n // Create our internal Router path by hand\r\n //`/${match.$route}/${match.$args['id']}`;\r\n let internalPath = \"\"; \r\n if (approute[0]) {\r\n internalPath = \"/\"+ approute[0];\r\n }\r\n if (approute[1]) {\r\n internalPath = internalPath + \"/\"+ approute[1];\r\n }\r\n \r\n // Run the navigation in the Angular zone\r\n if (internalPath != \"\") {\r\n this.router.navigateByUrl(internalPath); \r\n }\r\n }\r\n //valid link that's not our app\r\n else if (this.isValidLink(this.qrText)) {\r\n //open the link in inAppBrowser\r\n this.openAppstoreEntry(this.qrText);\r\n }\r\n //any other type of data that we cannot handle atm\r\n else {\r\n console.log('invalid data: '+ this.qrText);\r\n }\r\n \r\n }, (err) => {\r\n //alert(JSON.stringify(err));\r\n console.log('error: '+ JSON.stringify(err));\r\n });\r\n } else if (status.denied) {\r\n if(confirm(\"Would you like to enable QR code scanning? You can allow camera access in your settings.\")){\r\n this.qrScanner.openSettings();\r\n } \r\n } else {\r\n \r\n }\r\n })\r\n .catch((e: any) => console.log('Error is', e));\r\n }\r\n\r\n isValidAppLink(string) {\r\n try {\r\n let url = new URL(string);\r\n return (\r\n url.protocol === \"proppyapp:\" ||\r\n (url.protocol === \"https:\" && url.hostname === deep_link_hostname)\r\n );\r\n } catch (error) {\r\n console.log(\"Error\", error);\r\n return false;\r\n }\r\n }\r\n\r\n isValidLink(string) {\r\n try {\r\n let url = new URL(string);\r\n return true;\r\n } catch (error) {\r\n console.log(\"Error\", error);\r\n return false;\r\n }\r\n }\r\n\r\n openAppstoreEntry(url = \"\") {\r\n const isAndroid = this.plt.is(\"android\");\r\n //console.log(\"open:\" + url);\r\n if (isAndroid) {\r\n window.open(url, \"_system\");\r\n } else {\r\n this.iab.create(url, \"_system\");\r\n // this.iab.open('http://whitelisted-url.com', '_system');\r\n // window.open(url, \"_system\");\r\n }\r\n }\r\n openForm(url) {\r\n window.open(url)\r\n }\r\n\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { IonInfiniteScroll, LoadingController, ModalController, NavController, Platform } from '@ionic/angular';\r\nimport { AlertHandlerService } from '../services/alert-handler.service';\r\nimport { ApiService } from '../services/api.service';\r\nimport { DataFetcherService } from '../services/data-fetcher/data-fetcher.service';\r\nimport { AppHelper } from '../services/middleware/app-helper';\r\nimport { DeeplinkHelperService } from '../services/middleware/deeplink-helper.service';\r\nimport { StorageService } from '../services/storage.service';\r\nimport { ProDataTypes, ProElementStyle, ProImageIcon, UIButtonStyle } from '../uicomponents/enums';\r\nimport { UIControl } from '../uicomponents/uicontrol';\r\nimport { Storage } from '@ionic/storage';\r\nimport * as svg from \"save-svg-as-png\";\r\nimport QRCode from 'easyqrcodejs';\r\nimport { ConstantsService } from '../services/constants.service';\r\nimport { SocialSharing } from '@ionic-native/social-sharing/ngx';\r\nimport * as _ from 'underscore';\r\n@Component({\r\n selector: 'app-agent-profilev2',\r\n templateUrl: './agent-profilev2.page.html',\r\n styleUrls: ['./agent-profilev2.page.scss'],\r\n})\r\nexport class AgentProfilev2Page implements OnInit {\r\n forSaleBtn: UIControl;\r\n forRentBtn: UIControl;\r\n editbtn: UIControl;\r\n shareSvgQRCodeImg : UIControl;\r\n details_params = { AgentID: \"\", PID:\"\"};\r\n property_params={\r\n ListingType:'Sale',\r\n AgentID:'',\r\n PageNumber:1,\r\n PageLimit:20\r\n }\r\n \r\n AgentDetails={}\r\n AgentProperties=[]\r\n isModel=false\r\n @ViewChild(\"qrcode1\", { static: false }) qrcode: ElementRef;\r\n @ViewChild(IonInfiniteScroll, { static: true }) infiniteScroll: IonInfiniteScroll;\r\n constructor(\r\n private storage: StorageService,\r\n private navCtrl: NavController,\r\n private activatedRoute: ActivatedRoute,\r\n private http: DataFetcherService,\r\n private alertHanderler: AlertHandlerService,\r\n private deeplink_helper: DeeplinkHelperService,\r\n private ref: ChangeDetectorRef,\r\n private socialSharing: SocialSharing,\r\n public modalCtrl: ModalController,\r\n public plt:Platform,\r\n public helper:AppHelper,\r\n\r\n ) {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params.hasOwnProperty(\"AgentId\")) {\r\n this.details_params.AgentID = params[\"AgentId\"];\r\n this.property_params.AgentID = params[\"AgentId\"];\r\n this.storage.getString('Proppy_UserID', pid => {\r\n this.details_params.PID = pid;\r\n this.getPropertyAgentDetails()\r\n })\r\n this.genQRCode()\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if(this.isModel){\r\n this.property_params.AgentID=this.details_params.AgentID\r\n this.storage.getString('Proppy_UserID', pid => {\r\n this.details_params.PID = pid;\r\n this.getPropertyAgentDetails()\r\n })\r\n this.genQRCode()\r\n }\r\n }\r\n\r\n getPropertyAgentDetails() {\r\n this.http\r\n .doPost(ApiService.GET_AGENT_DETAILS, this.details_params)\r\n .subscribe((res) => {\r\n if (res.hasOwnProperty(\"status\") && res.status) {\r\n this.AgentDetails=res['data']\r\n this.AgentDetails['FavInfo']=JSON.parse(this.AgentDetails['FavInfo']||'[{}]')[0]||{}\r\n this.onTabChange(this.property_params.ListingType || 'Sale')\r\n } else {\r\n this.alertHanderler.presenToast(ApiService.ERROR_TOAST_MSG)\r\n }\r\n });\r\n }\r\n\r\n \r\n onTabChange(val) {\r\n this.property_params.ListingType = val\r\n this.setUpView();\r\n this.getAgentProperties()\r\n }\r\n \r\n setUpView() {\r\n this.forSaleBtn = new UIControl(ProDataTypes.Button, 1, \"For sale (\" + (this.AgentDetails['SaleCount'] || 0) + \")\");\r\n this.forSaleBtn.elementSize = 6;\r\n this.forSaleBtn.elementStyle =\r\n ProElementStyle[\r\n this.property_params.ListingType == \"Sale\" ? \"TabIconBtn\" : \"InactiveTabIconBtn\"\r\n ];\r\n this.forRentBtn = new UIControl(ProDataTypes.Button, 2, \"For Rent(\" + (this.AgentDetails['RentCount'] || 0) + \")\");\r\n this.forRentBtn.elementSize = 6;\r\n this.forRentBtn.elementStyle =\r\n ProElementStyle[\r\n this.property_params.ListingType == \"Rent\" ? \"TabIconBtn\" : \"InactiveTabIconBtn\"\r\n ];\r\n this.editbtn = new UIControl(ProDataTypes.Button, 2, \"Edit\");\r\n this.editbtn.elementSize = 6;\r\n this.editbtn.imageIcon = ProImageIcon.plusCircle;\r\n this.editbtn.elementStyle = UIButtonStyle.Primary\r\n\r\n this.shareSvgQRCodeImg = new UIControl(ProDataTypes.Button,1,'share');\r\n this.shareSvgQRCodeImg.elementSize = 6;\r\n this.shareSvgQRCodeImg.elementStyle = ProElementStyle.PrimaryGradiantFull;\r\n this.shareSvgQRCodeImg.imageIcon = ProImageIcon.Share\r\n\r\n }\r\n\r\n async getAgentProperties(event=null) {\r\n if(event==null){\r\n this.infiniteScroll.disabled=true;\r\n this.property_params.PageNumber=1;\r\n // await this.alertHanderler.presentLoading('Loading News...')\r\n } else {\r\n this.property_params.PageNumber++;\r\n }\r\n this.http.doPost(ApiService.GET_AGENT_PROPERTIES_V2,this.property_params).subscribe(res=>{\r\n if(res.hasOwnProperty('status') && res['status']==true){\r\n res['data'].map(obj=>{\r\n obj['images']=JSON.parse(obj['images']||'[]')||[]\r\n })\r\n if(event==null){\r\n this.AgentProperties=res['data']\r\n this.alertHanderler.dismissLoading()\r\n this.infiniteScroll.disabled=false\r\n } else {\r\n this.AgentProperties=[...this.AgentProperties,...res['data']]\r\n event.target.complete()\r\n }\r\n if (event != null && (res.data.length == 0 || res.data.length < this.property_params.PageLimit)) {\r\n event.target.disabled = true;\r\n }\r\n } else {\r\n if (event != null) {\r\n this.property_params.PageNumber--;\r\n } else {\r\n this.alertHanderler.dismissLoading()\r\n }\r\n this.alertHanderler.presenToast('Unable to process your request, Please try again.')\r\n }\r\n },err=>{\r\n if (event != null) {\r\n this.property_params.PageNumber--;\r\n } else {\r\n this.alertHanderler.dismissLoading()\r\n }\r\n this.alertHanderler.presenToast('Unable to process your request, Please try again.')\r\n })\r\n }\r\n\r\n async onChatClick() {\r\n const participants = { \"UserID\": this.AgentDetails['AgentID'], \"Name\": this.AgentDetails['Name'], \"ProfilePicURL\": this.AgentDetails['ImageUrl'] }\r\n var conversationData = {\r\n \"GroupName\": (\"Agent : \" + this.AgentDetails['DisplayName']),\r\n \"GroupId\": (this.AgentDetails['AgentID'] + this.details_params['PID']), \"Participants\": [participants]\r\n }\r\n await this.storage.setData(\"newConversation\", conversationData);\r\n console.log(conversationData);\r\n this.navCtrl.navigateForward(['group-chat']);\r\n }\r\n\r\n goBack() {\r\n if(this.isModel){\r\n this.modalCtrl.dismiss()\r\n } else {\r\n this.navCtrl.back();\r\n }\r\n }\r\n \r\n onDetailsClick(ListingID){\r\n if(this.isModel){\r\n // this.alertHanderler.presenToast(\"Unable To Open It From Get An Agent,\")\r\n return\r\n }\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n ListingID: ListingID,\r\n },\r\n };\r\n this.navCtrl.navigateForward([\"./tabs/property-details\"], navigationExtras);\r\n }\r\n\r\n onEditClick() {\r\n // if(this.isModel){\r\n // this.alertHanderler.presenToast(\"Unable To Open It From Get An Agent,\")\r\n // return\r\n // }\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n AgentID: this.AgentDetails['AgentID'],\r\n },\r\n };\r\n this.navCtrl.navigateForward([\"./tabs/update-agent\"], navigationExtras);\r\n }\r\n onEndorsementclick(objectType) {\r\n // if(this.isModel){\r\n // this.alertHanderler.presenToast(\"Unable To Open It From Get An Agent,\")\r\n // return\r\n // }\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n ObjectID: this.AgentDetails['AgentID'],\r\n ObjectType: objectType,\r\n },\r\n };\r\n this.navCtrl.navigateForward([\"tabs/add-endorsement\"], navigationExtras);\r\n }\r\n\r\n mEndorseMe() {\r\n this.deeplink_helper.processShareLink('AddEndorsement', this.AgentDetails['AgentID'], (link) => {\r\n var sMessage = \"Click to Endorse Me at ProppyApp. \" + link;\r\n this.socialSharing.share(sMessage, sMessage, null, null);\r\n }, 'Agent/' + this.AgentDetails['AgentID'])\r\n }\r\n\r\n onFavoriteStarClick() {\r\n var params = { Favourite: 1, Type: 3 };\r\n if (this.AgentDetails['FavInfo'].hasOwnProperty(\"ID\")) {\r\n params[\"Favourite\"] = this.AgentDetails['FavInfo'][\"Favourite\"] == 1 ? 0 : 1;\r\n params[\"ID\"] = this.AgentDetails['FavInfo'][\"ID\"];\r\n } else {\r\n params[\"ProppyUserID\"] = this.details_params['PID'];\r\n params[\"ListingID\"] = this.details_params.AgentID;\r\n }\r\n this.http\r\n .doPost(\r\n params.hasOwnProperty(\"ID\")\r\n ? ApiService.UPDATE_PROPERTYMARKET_USER_FAVOURITE\r\n : ApiService.ADD_PROPERTYMARKET_USER_FAVOURITE,\r\n params\r\n )\r\n .subscribe((res) => {\r\n if (res.hasOwnProperty(\"status\") && res[\"status\"] == true) {\r\n if (!params.hasOwnProperty(\"ID\")) {\r\n this.AgentDetails['FavInfo'] = res[\"insertedRow\"];\r\n } else {\r\n this.AgentDetails['FavInfo']['Favourite'] = params[\"Favourite\"];\r\n }\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n\r\n genQRCode() {\r\n this.deeplink_helper.processShareLink('AgentProperty', this.details_params[\"AgentID\"], (link) => {\r\n // Options\r\n var options = {\r\n width: 300,\r\n height: 300,\r\n drawer: \"svg\",\r\n binary: false,\r\n correctLevel: QRCode.CorrectLevel.H,\r\n text: link,\r\n colorDark: \"#010600\",\r\n dotScale: \"0.8\",\r\n logo: \"/assets/icon/proppy_logo_forapp_TM.png\",\r\n //logoBackgroundTransparent:true,\r\n PO: \"#0320F7\",\r\n timing_H: \"#6274FB\",\r\n timing_V: \"#6274FB\",\r\n AO: \"#0320F7\",\r\n quietZone: 10,\r\n quietZoneColor: \"#FFFFFF\",\r\n };\r\n\r\n // Create new QRCode Object\r\n new QRCode(this.qrcode.nativeElement, options);\r\n this.ref.detectChanges()\r\n })\r\n }\r\n\r\n shareSvgQRCodeImgData(type=1) {\r\n svg.svgAsPngUri(\r\n document.getElementById(\"qrcode1\").getElementsByTagName(\"svg\")[0],\r\n { excludeCss: true },\r\n (uri) => {\r\n this.deeplink_helper.processShareLink('AgentProperty', this.details_params['AgentID'], (link) => {\r\n var sMessage = \"Click to see My Agent Profile at ProppyApp. \" + link;\r\n this.helper.socialShare(sMessage,uri,type)\r\n })\r\n }\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { map, filter, switchMap, retry, catchError } from 'rxjs/operators'\r\nimport { environment, url } from '../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProppyService {\r\n\r\n private url = url;\r\n //private url = 'http://localhost:6146/api';\r\n //private url = 'https://api.proppyapp.dev/api'\r\n //private url = 'http://realitysystemsapi.realty-systems.com/api';\r\n //private url2 = 'https://aversavewebapi.aversave.com';\r\n //private apiProducts = this.url2 + '/api/products';\r\n public apiProductsAddToCart = this.url + '/ShoppingCarts1'\r\n public apiMember = this.url + '/Members'\r\n \r\n public apiMemberPoints = this.url + '/memberpoints'\r\n //public apiMemberPoints = this.url + '/ProppyApp/GetMemberPoints'\r\n\r\n public apiAdvertiser = this.url + '/AdvertiserProppyCares'\r\n public apiMortgage = this.url + '/mortgage'\r\n public apiProperty = this.url + '/propertymarkets?'\r\n public apiProperty2 = this.url + '/ProppyPropertyMarket?'\r\n public apiProperty3 = this.url + '/ProppyPropertyMarket/'\r\n public apiPropertySale = this.url + '/propertymarkets?type=sale'\r\n public apiPropertyRent = this.url + '/propertymarkets?type=rent'\r\n public apiDiagnoseWizard = this.url + '/MemberProperties'\r\n private apiMerchantsImages = this.url + '/merchants_images';\r\n public apiMerchants = this.url + '/Merchants1/';\r\n public apiMerchants1Images = this.url + '/Merchants1_Images';\r\n public apiMerchants1ImagesUpload = this.url + '/ProppyCaresImageUploader';\r\n public apiMemberProperty = this.url + '/MemberProperties1'\r\n public apiMemberPropertyPaymentSch = this.url + '/MemberPropertyPaymentSches'\r\n public apiPMONotification = this.url + '/PMONotifications'\r\n public apiPChat = this.url + '/ProppyChats'\r\n public apiPChatMessages = this.url + '/ProppyChatMessages'\r\n public apiChatGetPPM = this.url + '/ProppyPropertyMarket/'\r\n public apiCountries = this.url + '/countries'\r\n public apiProducts = this.url + '/Products1'\r\n public apiDefaultImagePPM = this.url + '/PPMImages'\r\n public apiDefaultImagePSP = this.url + '/ProppyCaresImage'\r\n public apiDefaultDescriptionPSP = this.url + '/ProppyCaresImageDescription'\r\n public apiDefaultImageProppyPreloved = this.url + '/ProppyPrelovedImageUploader'\r\n \r\n public apiProppyPreloved = this.url + '/ProppyPreloved'\r\n public apiProppyPrelovedImage = this.url + '/ProppyPrelovedImage'\r\n\r\n public apiProppyCaresCategory = this.url + '/ProppyCaresCategories'\r\n public apiProductImages = this.url + '/Products_Images'\r\n public apiAcademy = this.url + '/Videos' \r\n\r\n public advertiserPortal = \"https://advertiser.proppyapp.dev\"\r\n\r\n public CartItems: number = 0;\r\n public userProppyPoints: number;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getMerchantsImagesByUsername(username) {\r\n return this.http.get(this.apiMerchantsImages + '?merchantId=' + username);\r\n}\r\n getCategories() {\r\n return this.http.get(this.url + '/Categories1');\r\n }\r\n\r\n getCategoriesMain() {\r\n return this.http.get(this.url + '/ServiceProvider');\r\n }\r\n\r\n getProppyCaresCategories() {\r\n return this.http.get(this.apiProppyCaresCategory);\r\n }\r\n\r\n getCountries() {\r\n return this.http.get(this.apiCountries);\r\n }\r\n\r\n getCategoriesSub(id) {\r\n return this.http.get(this.url + '/CategoriesSub?id=' + id);\r\n }\r\n\r\n getProductImages(id) {\r\n return this.http.get(this.url + '/Products_Images?productId=' + id);\r\n }\r\n\r\n getPropertyImages(id) {\r\n return this.http.get(this.url + '/PropertyMarket_Images?propertyId=' + id);\r\n }\r\n\r\n getProppyCaresImages(merchantid) {\r\n return this.http.get(this.apiMerchants1Images + '?merchantID=' + merchantid);\r\n }\r\n\r\n getPropertyDetails(id) {\r\n return this.http.get(this.apiChatGetPPM + id);\r\n }\r\n\r\n getAdvertistments(): Observable {\r\n //return this.http.get(this.url + '/Advertistments1');\r\n return this.http.get(this.url + '/Advertistments1')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProducts() {\r\n return this.http.get(this.url + '/Products1');\r\n }\r\n\r\n getMerchants(category,long, lat, search) {\r\n //return this.http.get(this.url + '/Merchants1?categoryCode=' + category);\r\n if (search != ''){\r\n return this.http.get(this.url + '/ProppyCares?categoryCode=' + category + '&gpslong=' + long + '&gpslat=' + lat + '&search=' + search);\r\n } else {\r\n return this.http.get(this.url + '/ProppyCares?categoryCode=' + category + '&gpslong=' + long + '&gpslat=' + lat);\r\n }\r\n }\r\n\r\n getMerchantsByCreator(createdBy) {\r\n return this.http.get(this.url + '/AdvertiserProppyCares?createdBy=' + createdBy);\r\n }\r\n\r\n getPrelovedByCreator(createdBy) {\r\n return this.http.get(this.url + '/proppypreloved?createdBy=' + createdBy);\r\n }\r\n\r\n // getProductsByMerchant(merchantCode) {\r\n // return this.http.get(this.apiProducts + '?merchantCode=' + merchantCode);\r\n // }\r\n\r\n getShoppingCartItems(customerEmail) {\r\n return this.http.get(this.apiProductsAddToCart + '?customerEmail=' + customerEmail).pipe(res => res);\r\n }\r\n\r\n // getMortgage(principle,loanTerm,intRate) {\r\n // return this.http.get(this.apiMortgage + '?principle=' + principle + '&loanTerm=' + loanTerm + 'intRate=' + intRate).pipe(res => res);\r\n // }\r\n\r\n getMortgage(principle,loanTerm,intRate) {\r\n return this.http.get(this.apiMortgage + '?principal=' + principle + '&loanTerm=' + loanTerm + '&intRate=' + intRate);\r\n }\r\n\r\n async mGeocoder(address){\r\n return this.http.get('https://api.locationiq.com/v1/autocomplete.php?key=pk.173ad3548e6f88d486058ecf9f42e720&q=' + address);\r\n }\r\n \r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n window.alert(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n\r\n getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {\r\n var R = 6371; // Radius of the earth in km\r\n var dLat = this.deg2rad(lat2-lat1); // deg2rad below\r\n var dLon = this.deg2rad(lon2-lon1); \r\n var a = \r\n Math.sin(dLat/2) * Math.sin(dLat/2) +\r\n Math.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) * \r\n Math.sin(dLon/2) * Math.sin(dLon/2)\r\n ; \r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); \r\n var d = R * c; // Distance in km\r\n return d;\r\n }\r\n \r\n deg2rad(deg) {\r\n return deg * (Math.PI/180)\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Subject } from \"rxjs\";\r\nimport { environment } from 'src/environments/environment';\r\nimport Talk from \"talkjs\";\r\nimport { StorageService } from '../services/storage.service';\r\nimport { ApiService } from '../services/api.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TalkService {\r\n constructor(private storage: StorageService) {\r\n }\r\n\r\n private currentUser: Talk.User;\r\n //role: applicationUser.role\r\n async createUser(applicationUser: any) {\r\n const talkUser = new Talk.User({\r\n id: applicationUser.Proppy_UserID,\r\n name: applicationUser.Proppy_Name,\r\n photoUrl: applicationUser.Proppy_Profile_Pic ? applicationUser.Proppy_Profile_Pic : \"assets/avatar.png\",\r\n role: \"members\",\r\n welcomeMessage: null\r\n });\r\n // console.log(talkUser, \"talkUser creating user\");\r\n // console.log(applicationUser.Proppy_UserID + ' - ' + applicationUser.Proppy_Profile_Pic);\r\n //?applicationUser.photoUrl:'assets/avatar.png'\r\n return talkUser;\r\n }\r\n\r\n async createCurrentSession(user) {\r\n await Talk.ready;\r\n //console.log(user);\r\n this.currentUser = await this.createUser(user);\r\n const session = new Talk.Session({\r\n appId: environment.talkjs.appId,\r\n me: this.currentUser\r\n });\r\n session.unreads.on(\"change\", function (unreadConversations) {\r\n ApiService.BeepNotificationCount = unreadConversations.length\r\n });\r\n return session;\r\n }\r\n\r\n async getConversation(session: Talk.Session, chatWith, subject, subjectId) {\r\n\r\n //const conversation = await this.getOrCreateConversation(session, otherApplicationUser);\r\n const otherUser = await this.createUser(chatWith);\r\n const conversation = session.getOrCreateConversation(subjectId); // we should pass subject id here not tile\r\n conversation.setParticipant(this.currentUser);\r\n conversation.setParticipant(otherUser);\r\n conversation.subject = subject;\r\n return conversation;\r\n }\r\n\r\n // private async getOrCreateConversation(session: Talk.Session, otherApplicationUser: any) {\r\n // const otherUser = await this.createUser(otherApplicationUser);\r\n // const conversation = session.getOrCreateConversation(Talk.oneOnOneId(this.currentUser, otherUser));\r\n // conversation.setParticipant(this.currentUser);\r\n // conversation.setParticipant(otherUser);\r\n // const popup = session.createPopup(conversation, { keepOpen: false });\r\n // popup.mount({ show: false });\r\n\r\n // const button = document.getElementById(\"btn-getInTouch\");\r\n // button.addEventListener(\"click\", event => {\r\n // event.preventDefault();\r\n // popup.show();\r\n // });\r\n // return conversation;\r\n // }\r\n\r\n async createInbox(session: Talk.Session, chatWith, subject: string, subjectId: string) {\r\n const otherApplicationUser = chatWith;\r\n const conversation = await this.getConversation(session, otherApplicationUser, subject, subjectId);\r\n conversation.subject = subject; \r\n // try {\r\n // await session.registerDevice({ platform: \"android\", pushRegistrationId: this.pushNotificationService.androidToken });\r\n // } catch (error) {\r\n // console.log(\"Unable to fetch token\",conversation);\r\n // }\r\n return session.createInbox({\r\n selected: conversation,\r\n useBrowserHistory: false,\r\n chatTitleMode: \"subject\",\r\n chatSubtitleMode: \"participants\",\r\n feedConversationTitleMode: \"subject\", \r\n });\r\n }\r\n\r\n async createChatBoxes(session: Talk.Session) {\r\n //registering for push\r\n\r\n return session.createInbox({\r\n useBrowserHistory: false,\r\n chatTitleMode: \"subject\",\r\n chatSubtitleMode: \"participants\",\r\n feedConversationTitleMode: \"subject\"\r\n });\r\n }\r\n\r\n async createPopup(session: Talk.Session) {\r\n //console.log('talk service',this.storage.helpdesk);\r\n const customerCare = await this.createUser(this.storage.helpdesk);\r\n const me = this.currentUser;\r\n const other = customerCare;\r\n const conversation = session.getOrCreateConversation(Talk.oneOnOneId(me, other));\r\n conversation.setParticipant(me);\r\n conversation.setParticipant(other);\r\n conversation.subject = \"HELP DESK\";\r\n // try {\r\n // await session.registerDevice({ platform: \"android\", pushRegistrationId: this.pushNotificationService.androidToken });\r\n // } catch (error) {\r\n // console.log(\"Unable to fetch token\",error);\r\n // }\r\n return session.createPopup(conversation, {\r\n chatTitleMode: \"subject\",\r\n chatSubtitleMode: \"participants\",\r\n });\r\n }\r\n\r\n async createCustomChatbox(session: Talk.Session, conversationId, subject) {\r\n const conversation = session.getOrCreateConversation(conversationId); // we should pass subject id here not tile\r\n conversation.subject = subject;\r\n var chatbox = session.createChatbox({\r\n showChatHeader: false\r\n });\r\n chatbox.select(conversation)\r\n return chatbox\r\n }\r\n async createConversation(session: Talk.Session, user,conversationId, conversationName, participants) {\r\n const conversation = session.getOrCreateConversation(conversationId); // we should pass subject id here not tile\r\n conversation.subject = conversationName\r\n const me = await this.createUser(user);\r\n conversation.setParticipant(me);\r\n for (const op1 of participants) {\r\n const op = new Talk.User({id: op1['UserID'] || '',name: op1['Name'] || '',\"role\":\"members\",photoUrl:op1['ProfilePicURL'] || \"assets/avatar.png\"});\r\n conversation.setParticipant(op);\r\n }\r\n // conversation.setAttributes({\r\n // photoUrl: \"https://demo.talkjs.com/img/11.jpg\",\r\n // subject: conversationName\r\n // });\r\n // conversation.sendMessage(\"Welcome!!\")\r\n var chatbox = session.createChatbox({\r\n showChatHeader: false\r\n });\r\n chatbox.select(conversation)\r\n return chatbox\r\n }\r\n async joinSuperChatConversaton(conversationId,userInfo) {\r\n // console.log(userInfo);return;\r\n const session = new Talk.Session({\r\n appId: environment.talkjs.appId,\r\n me: new Talk.User({\r\n id: userInfo['Proppy_UserID'],\r\n name: userInfo['Proppy_Name'],\r\n photoUrl: (userInfo['Proppy_Profile_Pic'] || \"assets/avatar.png\"),\r\n })\r\n });\r\n const conversation = session.getOrCreateConversation(conversationId);\r\n const chatbox = session.createChatbox({showChatHeader: false});\r\n chatbox.select(conversation, { asGuest: true });\r\n return chatbox\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PreloadAllModules, RouterModule, Routes } from \"@angular/router\";\r\nimport { PropertyAgentPageModule } from \"./property-agent/property-agent.module\";\r\nimport { AuthGuardService as AuthGuard } from \"./services/middleware/auth-guard.service\";\r\nimport { PreloadModulesService } from \"./services/preloadmodule.service\";\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n redirectTo: \"splash\",\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"tabs\",\r\n loadChildren: () =>\r\n import(\"./tabs/tabs.module\").then((m) => m.TabsPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"c360\",\r\n loadChildren: () =>\r\n import(\"./community360/community360.module\").then(\r\n (m) => m.Community360Module\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"signup\",\r\n loadChildren: () =>\r\n import(\"./signup/signup.module\").then((m) => m.SignupPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"subcategory\",\r\n loadChildren: () =>\r\n import(\"./subcategory/subcategory.module\").then(\r\n (m) => m.SubcategoryPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgageform\",\r\n loadChildren: () =>\r\n import(\"./mortgageform/mortgageform.module\").then(\r\n (m) => m.MortgageformPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgagebenefits\",\r\n loadChildren: () =>\r\n import(\"./mortgagebenefits/mortgagebenefits.module\").then(\r\n (m) => m.MortgagebenefitsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"specialservices\",\r\n loadChildren: () =>\r\n import(\"./specialservices/specialservices.module\").then(\r\n (m) => m.SpecialservicesPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"propertymarket\",\r\n loadChildren: () =>\r\n import(\"./propertymarket/propertymarket.module\").then(\r\n (m) => m.PropertymarketPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"fleamarket\",\r\n loadChildren: () =>\r\n import(\"./fleamarket/fleamarket.module\").then(\r\n (m) => m.FleamarketPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"categorysub\",\r\n loadChildren: () =>\r\n import(\"./categorysub/categorysub.module\").then(\r\n (m) => m.CategorysubPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"merchants\",\r\n loadChildren: () =>\r\n import('./proppy-cares/proppy-cares.module').then(m => m.ProppyCaresPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"merchantdetails\",\r\n loadChildren: () =>\r\n import(\"./premium-merchant/merchant-details-v3/merchant-details-v3.module\").then(\r\n (m) => m.MerchantDetailsV3PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"userprofile\",\r\n loadChildren: () =>\r\n import(\"./userprofile/userprofile.module\").then(\r\n (m) => m.UserprofilePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"modal-shop-cart\",\r\n loadChildren: () =>\r\n import(\"./modal-shop-cart/modal-shop-cart.module\").then(\r\n (m) => m.ModalShopCartPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"modal-mortgage-diag\",\r\n loadChildren: () =>\r\n import(\"./modal-mortgage-diag/modal-mortgage-diag.module\").then(\r\n (m) => m.ModalMortgageDiagPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"modal-mortgage-diag-report\",\r\n loadChildren: () =>\r\n import(\r\n \"./modal-mortgage-diag-report/modal-mortgage-diag-report.module\"\r\n ).then((m) => m.ModalMortgageDiagReportPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgage-reports\",\r\n loadChildren: () =>\r\n import(\"./mortgage-reports/mortgage-reports.module\").then(\r\n (m) => m.MortgageReportsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgage-must-know\",\r\n loadChildren: () =>\r\n import(\"./mortgage-must-know/mortgage-must-know.module\").then(\r\n (m) => m.MortgageMustKnowPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"payment-stripe\",\r\n loadChildren: () =>\r\n import(\"./payment-stripe/payment-stripe.module\").then(\r\n (m) => m.PaymentStripePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"payment-success\",\r\n loadChildren: () =>\r\n import(\"./payment-success/payment-success.module\").then(\r\n (m) => m.PaymentSuccessPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"fleamarket-details\",\r\n loadChildren: () =>\r\n import(\"./fleamarket-details/fleamarket-details.module\").then(\r\n (m) => m.FleamarketDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"propertymarket-details\",\r\n loadChildren: () =>\r\n import(\"./propertymarket-details/propertymarket-details.module\").then(\r\n (m) => m.PropertymarketDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgagepayoptions\",\r\n loadChildren: () =>\r\n import(\"./mortgagepayoptions/mortgagepayoptions.module\").then(\r\n (m) => m.MortgagepayoptionsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"diagnose-wizard\",\r\n loadChildren: () =>\r\n import(\"./diagnose-wizard/diagnose-wizard.module\").then(\r\n (m) => m.DiagnoseWizardPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"update-personal-details\",\r\n loadChildren: () =>\r\n import(\"./update-personal-details/update-personal-details.module\").then(\r\n (m) => m.UpdatePersonalDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgagereportsschedule\",\r\n loadChildren: () =>\r\n import(\"./mortgagereportsschedule/mortgagereportsschedule.module\").then(\r\n (m) => m.MortgagereportsschedulePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"tab4\",\r\n loadChildren: () =>\r\n import(\"./tab4/tab4.module\").then((m) => m.Tab4PageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"tab5\",\r\n loadChildren: () =>\r\n import(\"./tab5/tab5.module\").then((m) => m.Tab5PageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"butler\",\r\n loadChildren: () =>\r\n import(\"./butler/butler.module\").then((m) => m.ButlerPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"embassy\",\r\n loadChildren: () =>\r\n import(\"./embassy/embassy.module\").then((m) => m.EmbassyPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"service-provider\",\r\n loadChildren: () =>\r\n import(\"./service-provider/service-provider.module\").then(\r\n (m) => m.ServiceProviderPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"reno-repairs\",\r\n loadChildren: () =>\r\n import(\"./reno-repairs/reno-repairs.module\").then(\r\n (m) => m.RenoRepairsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"advertiser\",\r\n loadChildren: () =>\r\n import(\"./advertiser/advertiser.module\").then(\r\n (m) => m.AdvertiserPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mortgageoverview\",\r\n loadChildren: () =>\r\n import(\"./mortgageoverview/mortgageoverview.module\").then(\r\n (m) => m.MortgageoverviewPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"discovery\",\r\n loadChildren: () =>\r\n import(\"./discovery/discovery.module\").then((m) => m.DiscoveryPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"invitation\",\r\n loadChildren: () =>\r\n import(\"./invitation/invitation.module\").then(\r\n (m) => m.InvitationPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"butler-notification\",\r\n loadChildren: () =>\r\n import(\"./butler-notification/butler-notification.module\").then(\r\n (m) => m.ButlerNotificationPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-business\",\r\n loadChildren: () =>\r\n import(\"./proppy-business/proppy-business.module\").then(\r\n (m) => m.ProppyBusinessPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplacenew\",\r\n loadChildren: () =>\r\n import(\"./marketplacenew/marketplacenew.module\").then(\r\n (m) => m.MarketplacenewPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"chat\",\r\n loadChildren: () =>\r\n import(\"./chat/chat.module\").then((m) => m.ChatPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"chatmessages\",\r\n loadChildren: () =>\r\n import(\"./chatmessages/chatmessages.module\").then(\r\n (m) => m.ChatmessagesPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplacenewphotos\",\r\n loadChildren: () =>\r\n import(\"./marketplacenewphotos/marketplacenewphotos.module\").then(\r\n (m) => m.MarketplacenewphotosPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplacenewlisting\",\r\n loadChildren: () =>\r\n import(\"./marketplacenewlisting/marketplacenewlisting.module\").then(\r\n (m) => m.MarketplacenewlistingPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-listing\",\r\n loadChildren: () =>\r\n import(\"./proppycares-listing/proppycares-listing.module\").then(\r\n (m) => m.ProppycaresListingPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create\",\r\n loadChildren: () =>\r\n import(\"./proppycares-create/proppycares-create.module\").then(\r\n (m) => m.ProppycaresCreatePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-photos\",\r\n loadChildren: () =>\r\n import(\"./proppycares-photos/proppycares-photos.module\").then(\r\n (m) => m.ProppycaresPhotosPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppypreloved-listing\",\r\n loadChildren: () =>\r\n import(\"./proppypreloved-listing/proppypreloved-listing.module\").then(\r\n (m) => m.ProppyprelovedListingPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppypreloved-create\",\r\n loadChildren: () =>\r\n import(\"./proppypreloved-create/proppypreloved-create.module\").then(\r\n (m) => m.ProppyprelovedCreatePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppypreloved-photos\",\r\n loadChildren: () =>\r\n import(\"./proppypreloved-photos/proppypreloved-photos.module\").then(\r\n (m) => m.ProppyprelovedPhotosPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-terms\",\r\n loadChildren: () =>\r\n import(\"./proppycares-terms/proppycares-terms.module\").then(\r\n (m) => m.ProppycaresTermsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplace-terms\",\r\n loadChildren: () =>\r\n import(\"./marketplace-terms/marketplace-terms.module\").then(\r\n (m) => m.MarketplaceTermsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppypreloved-terms\",\r\n loadChildren: () =>\r\n import(\"./proppypreloved-terms/proppypreloved-terms.module\").then(\r\n (m) => m.ProppyprelovedTermsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"diagnose-terms\",\r\n loadChildren: () =>\r\n import(\"./diagnose-terms/diagnose-terms.module\").then(\r\n (m) => m.DiagnoseTermsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppychat-inbox\",\r\n loadChildren: () =>\r\n import(\"./proppychat-inbox/proppychat-inbox.module\").then(\r\n (m) => m.ProppychatInboxPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"registration/:id\",\r\n loadChildren: () =>\r\n import(\"./registration/registration.module\").then(\r\n (m) => m.RegistrationPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"registration/:id/:rentag\",\r\n loadChildren: () =>\r\n import(\"./registration/registration.module\").then(\r\n (m) => m.RegistrationPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"registration\",\r\n loadChildren: () =>\r\n import(\"./registration/registration.module\").then(\r\n (m) => m.RegistrationPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"country-codes-dropdown\",\r\n loadChildren: () =>\r\n import(\r\n \"./reusables/country-codes-dropdown/country-codes-dropdown.module\"\r\n ).then((m) => m.CountryCodesDropdownPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mydeals\",\r\n loadChildren: () =>\r\n import(\"./mydeals/mydeals.module\").then((m) => m.MydealsPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"property-details/:id\",\r\n loadChildren: () =>\r\n import(\"./property-details/property-details.module\").then(\r\n (m) => m.PropertyDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"property-details\",\r\n loadChildren: () =>\r\n import(\"./property-details-v1/property-details-v1.module\").then(\r\n (m) => m.PropertyDetailsV1PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"property-agent/:id\",\r\n loadChildren: () =>\r\n import(\"./property-agent/property-agent.module\").then(\r\n (m) => m.PropertyAgentPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: 'property-agent',\r\n children: [\r\n {\r\n path: '',\r\n loadChildren: () =>\r\n import('./agent-profilev2/agent-profilev2.module').then(m => m.AgentProfilev2PageModule),\r\n canActivate: [AuthGuard],\r\n }\r\n ]\r\n },\r\n {\r\n path: \"merchantdetails/:id\",\r\n loadChildren: () =>\r\n import(\"./merchantdetails/merchantdetails.module\").then(\r\n (m) => m.MerchantdetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-listing/:id\",\r\n loadChildren: () =>\r\n import(\"./businesses-own/businesses-own.module\").then(\r\n (m) => m.BusinessesOwnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"password-reset\",\r\n loadChildren: () =>\r\n import(\"./password-reset/password-reset.module\").then(\r\n (m) => m.PasswordResetPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"chatinbox\",\r\n loadChildren: () =>\r\n import(\"./chatinbox/chatinbox.module\").then((m) => m.ChatinboxPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-review-rating-screen\",\r\n loadChildren: () =>\r\n import(\"./add-review-rating-screen/add-review-rating-screen.module\").then(\r\n (m) => m.AddReviewRatingScreenPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"global-search-by\",\r\n loadChildren: () =>\r\n import(\"./global-search-by/global-search-by.module\").then(\r\n (m) => m.GlobalSearchByPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"endorsement-list\",\r\n loadChildren: () =>\r\n import(\"./endorsement-list/endorsement-list.module\").then(\r\n (m) => m.EndorsementListPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-endorsement/:id1/:id2\",\r\n loadChildren: () =>\r\n import(\"./add-endorsement/add-endorsement.module\").then(\r\n (m) => m.AddEndorsementPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"endorsement-display-screen\",\r\n loadChildren: () =>\r\n import(\r\n \"./endorsement-display-screen/endorsement-display-screen.module\"\r\n ).then((m) => m.EndorsementDisplayScreenPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"myqrcode\",\r\n loadChildren: () =>\r\n import(\"./myqrcode/myqrcode.module\").then((m) => m.MyqrcodePageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"myaccount\",\r\n loadChildren: () =>\r\n import(\"./myaccount/myaccount.module\").then((m) => m.MyaccountPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"myaccountupdate\",\r\n loadChildren: () =>\r\n import(\"./myaccountupdate/myaccountupdate.module\").then(\r\n (m) => m.MyaccountupdatePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"propertylist-map\",\r\n loadChildren: () =>\r\n import(\"./propertylist-map/propertylist-map.module\").then(\r\n (m) => m.PropertylistMapPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"merchants-map\",\r\n loadChildren: () =>\r\n import(\"./merchants-mapv2/merchants-mapv2.module\").then(\r\n (m) => m.MerchantsMapv2PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"myaccountprofileupdate\",\r\n loadChildren: () =>\r\n import(\"./myaccountprofileupdate/myaccountprofileupdate.module\").then(\r\n (m) => m.MyaccountprofileupdatePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"google-geocoding\",\r\n loadChildren: () =>\r\n import(\"./google-geocoding/google-geocoding.module\").then(\r\n (m) => m.GoogleGeocodingPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"poppycares-create-wiki\",\r\n loadChildren: () =>\r\n import(\"./poppycares-create-wiki/poppycares-create-wiki.module\").then(\r\n (m) => m.PoppycaresCreateWikiPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-wiki\",\r\n loadChildren: () =>\r\n import(\"./proppycares-create-wiki/proppycares-create-wiki.module\").then(\r\n (m) => m.ProppycaresCreateWikiPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"360/home\",\r\n loadChildren: () =>\r\n import(\"./community360/home/home.module\").then((m) => m.HomePageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"globalsearch\",\r\n loadChildren: () =>\r\n import(\"./modals/globalsearch/globalsearch.module\").then(\r\n (m) => m.GlobalsearchPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-property-to-market-terms\",\r\n loadChildren: () =>\r\n import(\r\n \"./add-property-to-market-terms/add-property-to-market-terms.module\"\r\n ).then((m) => m.AddPropertyToMarketTermsPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"map-marker-selection\",\r\n loadChildren: () =>\r\n import(\r\n \"./reusables/map-marker-selection/map-marker-selection.module\"\r\n ).then((m) => m.MapMarkerSelectionPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-v2\",\r\n loadChildren: () =>\r\n import(\"./proppycares-create-v2/proppycares-create-v2.module\").then(\r\n (m) => m.ProppycaresCreateV2PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"fav-bookmarks-list\",\r\n loadChildren: () =>\r\n import(\"./fav-bookmarks-list/fav-bookmarks-list.module\").then(\r\n (m) => m.FavBookmarksListPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"login\",\r\n loadChildren: () =>\r\n import(\"./login/login.module\").then((m) => m.LoginPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"report\",\r\n loadChildren: () =>\r\n import(\"./report/report.module\").then((m) => m.ReportPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"thankyou-screen\",\r\n loadChildren: () =>\r\n import(\"./thankyou-screen/thankyou-screen.module\").then(\r\n (m) => m.ThankyouScreenPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"endorsedlist\",\r\n loadChildren: () =>\r\n import(\"./endorsedlist/endorsedlist.module\").then(\r\n (m) => m.EndorsedlistPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"memberprofile/:id\",\r\n loadChildren: () =>\r\n import(\"./member-public-profile/member-public-profile.module\").then(\r\n (m) => m.MemberPublicProfilePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"memberprofile\",\r\n loadChildren: () =>\r\n import(\"./member-public-profile/member-public-profile.module\").then(\r\n (m) => m.MemberPublicProfilePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ekyc\",\r\n loadChildren: () =>\r\n import(\"./ekyc/ekyc.module\").then((m) => m.EkycPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ekyc-doc\",\r\n loadChildren: () =>\r\n import(\"./ekyc-doc/ekyc-doc.module\").then((m) => m.EkycDocPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"own-property-add\",\r\n loadChildren: () =>\r\n import(\"./own-property-add/own-property-add.module\").then(\r\n (m) => m.OwnPropertyAddPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"own-property-list\",\r\n loadChildren: () =>\r\n import(\"./own-property-list/own-property-list.module\").then(\r\n (m) => m.OwnPropertyListPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-modal-info\",\r\n loadChildren: () =>\r\n import(\"./proppycares-modal-info/proppycares-modal-info.module\").then(\r\n (m) => m.ProppycaresModalInfoPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"propertylist-grid\",\r\n loadChildren: () =>\r\n import(\"./propertylist-grid/propertylist-grid.module\").then(\r\n (m) => m.PropertylistGridPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplace-media-popup\",\r\n loadChildren: () =>\r\n import(\"./marketplace-media-popup/marketplace-media-popup.module\").then(\r\n (m) => m.MarketplaceMediaPopupPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplacenewlisting-modal-info\",\r\n loadChildren: () =>\r\n import(\r\n \"./marketplacenewlisting-modal-info/marketplacenewlisting-modal-info.module\"\r\n ).then((m) => m.MarketplacenewlistingModalInfoPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-deal\",\r\n loadChildren: () =>\r\n import(\"./proppy-deal/proppy-deal.module\").then(\r\n (m) => m.ProppyDealPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-wishlist\",\r\n loadChildren: () =>\r\n import(\"./proppy-wishlist/proppy-wishlist.module\").then(\r\n (m) => m.ProppyWishlistPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-createaneed\",\r\n loadChildren: () =>\r\n import(\"./proppy-createaneed/proppy-createaneed.module\").then(\r\n (m) => m.ProppyCreateaneedPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-mywishlist\",\r\n loadChildren: () =>\r\n import(\"./proppy-mywishlist/proppy-mywishlist.module\").then(\r\n (m) => m.ProppyMywishlistPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-comingsoon\",\r\n loadChildren: () =>\r\n import(\"./proppy-comingsoon/proppy-comingsoon.module\").then(\r\n (m) => m.ProppyComingsoonPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-chest\",\r\n loadChildren: () =>\r\n import(\"./proppy-chest/proppy-chest.module\").then(\r\n (m) => m.ProppyChestPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-earn\",\r\n loadChildren: () =>\r\n import(\"./proppy-earn/proppy-earn.module\").then(\r\n (m) => m.ProppyEarnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-transfergem\",\r\n loadChildren: () =>\r\n import(\"./proppy-transfergem/proppy-transfergem.module\").then(\r\n (m) => m.ProppyTransfergemPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-packet\",\r\n loadChildren: () =>\r\n import(\"./proppy-packet/proppy-packet.module\").then(\r\n (m) => m.ProppyPacketPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-academy\",\r\n loadChildren: () =>\r\n import(\"./proppy-academy-v1/proppy-academy-v1.module\").then(\r\n (m) => m.ProppyAcademyV1PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-dreamhome\",\r\n loadChildren: () =>\r\n import(\"./proppy-dreamhome/proppy-dreamhome.module\").then(\r\n (m) => m.ProppyDreamhomePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-beambassador\",\r\n loadChildren: () =>\r\n import(\"./proppy-beambassador/proppy-beambassador.module\").then(\r\n (m) => m.ProppyBeambassadorPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-aboutus\",\r\n loadChildren: () =>\r\n import(\"./proppy-aboutus/proppy-aboutus.module\").then(\r\n (m) => m.ProppyAboutusPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-academy-details\",\r\n loadChildren: () =>\r\n import(\"./proppy-academy-details/proppy-academy-details.module\").then(\r\n (m) => m.ProppyAcademyDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-academy-details/:id\",\r\n loadChildren: () =>\r\n import(\"./proppy-academy-details/proppy-academy-details.module\").then(\r\n (m) => m.ProppyAcademyDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-pink\",\r\n loadChildren: () =>\r\n import(\"./proppy-pink/proppy-pink.module\").then(\r\n (m) => m.ProppyPinkPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-claim/:id1/:id2\",\r\n loadChildren: () =>\r\n import(\"./proppycares-claim/proppycares-claim.module\").then(\r\n (m) => m.ProppycaresClaimPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"internet-connection-modal\",\r\n loadChildren: () =>\r\n import(\r\n \"./modals/internet-connection-modal/internet-connection-modal.module\"\r\n ).then((m) => m.InternetConnectionModalPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"display-col-dropdown\",\r\n loadChildren: () =>\r\n import(\r\n \"./reusables/display-col-dropdown/display-col-dropdown.module\"\r\n ).then((m) => m.DisplayColDropdownPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"photo-viewer\",\r\n loadChildren: () =>\r\n import(\"./reusables/photo-viewer/photo-viewer.module\").then(\r\n (m) => m.PhotoViewerPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"permission-modal\",\r\n loadChildren: () =>\r\n import(\"./modals/permission-modal/permission-modal.module\").then(\r\n (m) => m.PermissionModalPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-precheck\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycares-create-precheck/proppycares-create-precheck.module\"\r\n ).then((m) => m.ProppycaresCreatePrecheckPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-precheck-activate\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycares-create-precheck-activate/proppycares-create-precheck-activate.module\"\r\n ).then((m) => m.ProppycaresCreatePrecheckActivatePageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"about-proppy\",\r\n loadChildren: () =>\r\n import(\"./proppy-app/proppy-app.module\").then(\r\n (m) => m.ProppyAppPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"merchant-popover\",\r\n loadChildren: () =>\r\n import(\"./merchant-popover/merchant-popover.module\").then(\r\n (m) => m.MerchantPopoverPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"business-add\",\r\n loadChildren: () =>\r\n import(\"./business-add/business-add.module\").then(\r\n (m) => m.BusinessAddPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"businesses-own\",\r\n loadChildren: () =>\r\n import(\"./businesses-own/businesses-own.module\").then(\r\n (m) => m.BusinessesOwnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"businesses-own/:id\",\r\n loadChildren: () =>\r\n import(\"./businesses-own/businesses-own.module\").then(\r\n (m) => m.BusinessesOwnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"business-found\",\r\n loadChildren: () =>\r\n import(\"./business-found/business-found.module\").then(\r\n (m) => m.BusinessFoundPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-gophermap\",\r\n loadChildren: () =>\r\n import(\"./proppy-gophermap/proppy-gophermap.module\").then(\r\n (m) => m.ProppyGophermapPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-add\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-add/proppy-news-add.module\").then(\r\n (m) => m.ProppyNewsAddPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-display\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-display/proppy-news-display.module\").then(\r\n (m) => m.ProppyNewsDisplayPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-moderator\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-moderator/proppy-news-moderator.module\").then(\r\n (m) => m.ProppyNewsModeratorPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-share/:id\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-share/proppy-news-share.module\").then(\r\n (m) => m.ProppyNewsSharePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycare-needs\",\r\n loadChildren: () =>\r\n import(\"./proppycare-needs/proppycare-needs.module\").then(\r\n (m) => m.ProppycareNeedsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-property-to-market-terms-v2\",\r\n loadChildren: () =>\r\n import(\r\n \"./add-property-to-market-terms-v2/add-property-to-market-terms-v2.module\"\r\n ).then((m) => m.AddPropertyToMarketTermsV2PageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"bulletin-board-need-details\",\r\n loadChildren: () =>\r\n import(\r\n \"./bulletin-board-need-details/bulletin-board-need-details.module\"\r\n ).then((m) => m.BulletinBoardNeedDetailsPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycare-needs-create-order\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycare-needs-create-order/proppycare-needs-create-order.module\"\r\n ).then((m) => m.ProppycareNeedsCreateOrderPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycare-needs-confirm-order/:id\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycare-needs-confirm-order/proppycare-needs-confirm-order.module\"\r\n ).then((m) => m.ProppycareNeedsConfirmOrderPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"myaccountupdatemember\",\r\n loadChildren: () =>\r\n import(\"./myaccountupdatemember/myaccountupdatemember.module\").then(\r\n (m) => m.MyaccountupdatememberPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-property-to-market-v2\",\r\n loadChildren: () =>\r\n import(\r\n \"./add-property-to-market-v2/add-property-to-market-v2.module\"\r\n ).then((m) => m.AddPropertyToMarketV2PageModule),\r\n // canActivate:[AuthGuard]\r\n },\r\n {\r\n path: \"splash\",\r\n loadChildren: () =>\r\n import(\"./splash/splash.module\").then((m) => m.SplashPageModule),\r\n },\r\n {\r\n path: \"web-landing\",\r\n loadChildren: () =>\r\n import(\"./tab1/tab1-v1/tab1-v1.module\").then((m) => m.Tab1V1PageModule),\r\n },\r\n {\r\n path: \"propertylist\",\r\n loadChildren: () =>\r\n import(\"./propertylist/propertylist.module\").then(\r\n (m) => m.PropertylistPageModule\r\n ),\r\n },\r\n {\r\n path: \"property-filter\",\r\n loadChildren: () =>\r\n import(\"./property-filter/property-filter.module\").then(\r\n (m) => m.PropertyFilterPageModule\r\n ),\r\n },\r\n {\r\n path: 'display-dropdown',\r\n loadChildren: () =>\r\n import('./reusables/display-dropdown/display-dropdown.module').then(m => m.DisplayDropdownPageModule)\r\n },\r\n {\r\n path: 'select-residents-type-drop-down',\r\n loadChildren: () =>\r\n import('./select-residents-type-drop-down/select-residents-type-drop-down.module').then(m => m.SelectResidentsTypeDropDownPageModule)\r\n },\r\n {\r\n path: 'send-to-marketplace',\r\n loadChildren: () => import('./send-to-marketplace/send-to-marketplace.module').then(m => m.SendToMarketplacePageModule)\r\n },\r\n {\r\n path: 'proppy-news-moderator-v2',\r\n loadChildren: () => import('./proppy-news-moderator-v2/proppy-news-moderator-v2.module').then(m => m.ProppyNewsModeratorV2PageModule)\r\n },\r\n {\r\n path: 'proppy-news-moderator-batchselection',\r\n loadChildren: () => import('./proppy-news-moderator-batchselection/proppy-news-moderator-batchselection.module').then(m => m.ProppyNewsModeratorBatchselectionPageModule)\r\n },\r\n {\r\n path: 'group-chat',\r\n loadChildren: () => import('./group-chat/group-chat.module').then(m => m.GroupChatPageModule)\r\n },\r\n {\r\n path: 'create-groups',\r\n loadChildren: () => import('./create-groups/create-groups.module').then(m => m.CreateGroupsPageModule)\r\n },\r\n {\r\n path: 'proppy-store-link',\r\n loadChildren: () => import('./proppy-store-link/proppy-store-link.module').then(m => m.ProppyStoreLinkPageModule)\r\n },\r\n {\r\n path: 'view-video',\r\n loadChildren: () => import('./view-video/view-video.module').then(m => m.ViewVideoPageModule)\r\n },\r\n {\r\n path: 'ordersummary',\r\n loadChildren: () => import('./ordersummary/ordersummary.module').then(m => m.OrdersummaryPageModule)\r\n },\r\n {\r\n path: 'unsubscribe-mop',\r\n loadChildren: () => import('./unsubscribe-mop/unsubscribe-mop.module').then(m => m.UnsubscribeMOPPageModule)\r\n },\r\n {\r\n path: 'mortageplan',\r\n loadChildren: () => import('./mortageplan/mortageplan.module').then(m => m.MortageplanPageModule)\r\n },\r\n {\r\n path: 'bulletin-board-agent-details',\r\n loadChildren: () => import('./bulletin-board-agent-details/bulletin-board-agent-details.module').then(m => m.BulletinBoardAgentDetailsPageModule)\r\n },\r\n // {\r\n // path: 'mortgage-optimisation-plan',\r\n // loadChildren: () => import('./mortgage-optimisation-plan/mortgage-optimisation-plan.module').then( m => m.MortgageOptimisationPlanPageModule)\r\n // },\r\n {\r\n path: 'mortgage-diagnosis',\r\n loadChildren: () => import('./mortgage-diagnosis/mortgage-diagnosis.module').then(m => m.MortgageDiagnosisPageModule)\r\n },\r\n {\r\n path: 'mortgage-diagnosis-report',\r\n loadChildren: () => import('./mortgage-diagnosis-report/mortgage-diagnosis-report.module').then(m => m.MortgageDiagnosisReportPageModule)\r\n },\r\n {\r\n path: 'popup1',\r\n loadChildren: () => import('./popup1/popup1.module').then(m => m.Popup1PageModule)\r\n },\r\n {\r\n path: 'popup2',\r\n loadChildren: () => import('./popup2/popup2.module').then(m => m.Popup2PageModule)\r\n },\r\n {\r\n path: \"add-property-to-market-terms\",\r\n loadChildren: () =>\r\n import(\r\n \"./add-property-to-market-terms/add-property-to-market-terms.module\"\r\n ).then((m) => m.AddPropertyToMarketTermsPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"map-marker-selection\",\r\n loadChildren: () =>\r\n import(\r\n \"./reusables/map-marker-selection/map-marker-selection.module\"\r\n ).then((m) => m.MapMarkerSelectionPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-v2\",\r\n loadChildren: () =>\r\n import(\"./proppycares-create-v2/proppycares-create-v2.module\").then(\r\n (m) => m.ProppycaresCreateV2PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"fav-bookmarks-list\",\r\n loadChildren: () =>\r\n import(\"./fav-bookmarks-list/fav-bookmarks-list.module\").then(\r\n (m) => m.FavBookmarksListPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"login\",\r\n loadChildren: () =>\r\n import(\"./login/login.module\").then((m) => m.LoginPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"report\",\r\n loadChildren: () =>\r\n import(\"./report/report.module\").then((m) => m.ReportPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"thankyou-screen\",\r\n loadChildren: () =>\r\n import(\"./thankyou-screen/thankyou-screen.module\").then(\r\n (m) => m.ThankyouScreenPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"endorsedlist\",\r\n loadChildren: () =>\r\n import(\"./endorsedlist/endorsedlist.module\").then(\r\n (m) => m.EndorsedlistPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"memberprofile/:id\",\r\n loadChildren: () =>\r\n import(\"./member-public-profile/member-public-profile.module\").then(\r\n (m) => m.MemberPublicProfilePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"memberprofile\",\r\n loadChildren: () =>\r\n import(\"./member-public-profile/member-public-profile.module\").then(\r\n (m) => m.MemberPublicProfilePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ekyc\",\r\n loadChildren: () =>\r\n import(\"./ekyc/ekyc.module\").then((m) => m.EkycPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ekyc-doc\",\r\n loadChildren: () =>\r\n import(\"./ekyc-doc/ekyc-doc.module\").then((m) => m.EkycDocPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"own-property-add\",\r\n loadChildren: () =>\r\n import(\"./own-property-add/own-property-add.module\").then(\r\n (m) => m.OwnPropertyAddPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"own-property-list\",\r\n loadChildren: () =>\r\n import(\"./own-property-list/own-property-list.module\").then(\r\n (m) => m.OwnPropertyListPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-modal-info\",\r\n loadChildren: () =>\r\n import(\"./proppycares-modal-info/proppycares-modal-info.module\").then(\r\n (m) => m.ProppycaresModalInfoPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"propertylist-grid\",\r\n loadChildren: () =>\r\n import(\"./propertylist-grid/propertylist-grid.module\").then(\r\n (m) => m.PropertylistGridPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplace-media-popup\",\r\n loadChildren: () =>\r\n import(\"./marketplace-media-popup/marketplace-media-popup.module\").then(\r\n (m) => m.MarketplaceMediaPopupPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplacenewlisting-modal-info\",\r\n loadChildren: () =>\r\n import(\r\n \"./marketplacenewlisting-modal-info/marketplacenewlisting-modal-info.module\"\r\n ).then((m) => m.MarketplacenewlistingModalInfoPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-deal\",\r\n loadChildren: () =>\r\n import(\"./proppy-deal/proppy-deal.module\").then(\r\n (m) => m.ProppyDealPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-wishlist\",\r\n loadChildren: () =>\r\n import(\"./proppy-wishlist/proppy-wishlist.module\").then(\r\n (m) => m.ProppyWishlistPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-createaneed\",\r\n loadChildren: () =>\r\n import(\"./proppy-createaneed/proppy-createaneed.module\").then(\r\n (m) => m.ProppyCreateaneedPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-mywishlist\",\r\n loadChildren: () =>\r\n import(\"./proppy-mywishlist/proppy-mywishlist.module\").then(\r\n (m) => m.ProppyMywishlistPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-comingsoon\",\r\n loadChildren: () =>\r\n import(\"./proppy-comingsoon/proppy-comingsoon.module\").then(\r\n (m) => m.ProppyComingsoonPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-chest\",\r\n loadChildren: () =>\r\n import(\"./proppy-chest/proppy-chest.module\").then(\r\n (m) => m.ProppyChestPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-earn\",\r\n loadChildren: () =>\r\n import(\"./proppy-earn/proppy-earn.module\").then(\r\n (m) => m.ProppyEarnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-transfergem\",\r\n loadChildren: () =>\r\n import(\"./proppy-transfergem/proppy-transfergem.module\").then(\r\n (m) => m.ProppyTransfergemPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-packet\",\r\n loadChildren: () =>\r\n import(\"./proppy-packet/proppy-packet.module\").then(\r\n (m) => m.ProppyPacketPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-academy\",\r\n loadChildren: () =>\r\n import(\"./proppy-academy-v1/proppy-academy-v1.module\").then(\r\n (m) => m.ProppyAcademyV1PageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-dreamhome\",\r\n loadChildren: () =>\r\n import(\"./proppy-dreamhome/proppy-dreamhome.module\").then(\r\n (m) => m.ProppyDreamhomePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-beambassador\",\r\n loadChildren: () =>\r\n import(\"./proppy-beambassador/proppy-beambassador.module\").then(\r\n (m) => m.ProppyBeambassadorPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-aboutus\",\r\n loadChildren: () =>\r\n import(\"./proppy-aboutus/proppy-aboutus.module\").then(\r\n (m) => m.ProppyAboutusPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-academy-details\",\r\n loadChildren: () =>\r\n import(\"./proppy-academy-details/proppy-academy-details.module\").then(\r\n (m) => m.ProppyAcademyDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-academy-details/:id\",\r\n loadChildren: () =>\r\n import(\"./proppy-academy-details/proppy-academy-details.module\").then(\r\n (m) => m.ProppyAcademyDetailsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-pink\",\r\n loadChildren: () =>\r\n import(\"./proppy-pink/proppy-pink.module\").then(\r\n (m) => m.ProppyPinkPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-claim/:id1/:id2\",\r\n loadChildren: () =>\r\n import(\"./proppycares-claim/proppycares-claim.module\").then(\r\n (m) => m.ProppycaresClaimPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"internet-connection-modal\",\r\n loadChildren: () =>\r\n import(\r\n \"./modals/internet-connection-modal/internet-connection-modal.module\"\r\n ).then((m) => m.InternetConnectionModalPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"display-col-dropdown\",\r\n loadChildren: () =>\r\n import(\r\n \"./reusables/display-col-dropdown/display-col-dropdown.module\"\r\n ).then((m) => m.DisplayColDropdownPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"photo-viewer\",\r\n loadChildren: () =>\r\n import(\"./reusables/photo-viewer/photo-viewer.module\").then(\r\n (m) => m.PhotoViewerPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"permission-modal\",\r\n loadChildren: () =>\r\n import(\"./modals/permission-modal/permission-modal.module\").then(\r\n (m) => m.PermissionModalPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-precheck\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycares-create-precheck/proppycares-create-precheck.module\"\r\n ).then((m) => m.ProppycaresCreatePrecheckPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycares-create-precheck-activate\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycares-create-precheck-activate/proppycares-create-precheck-activate.module\"\r\n ).then((m) => m.ProppycaresCreatePrecheckActivatePageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"about-proppy\",\r\n loadChildren: () =>\r\n import(\"./proppy-app/proppy-app.module\").then(\r\n (m) => m.ProppyAppPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"merchant-popover\",\r\n loadChildren: () =>\r\n import(\"./merchant-popover/merchant-popover.module\").then(\r\n (m) => m.MerchantPopoverPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"business-add\",\r\n loadChildren: () =>\r\n import(\"./business-add/business-add.module\").then(\r\n (m) => m.BusinessAddPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"businesses-own\",\r\n loadChildren: () =>\r\n import(\"./businesses-own/businesses-own.module\").then(\r\n (m) => m.BusinessesOwnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"businesses-own/:id\",\r\n loadChildren: () =>\r\n import(\"./businesses-own/businesses-own.module\").then(\r\n (m) => m.BusinessesOwnPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"business-found\",\r\n loadChildren: () =>\r\n import(\"./business-found/business-found.module\").then(\r\n (m) => m.BusinessFoundPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-gophermap\",\r\n loadChildren: () =>\r\n import(\"./proppy-gophermap/proppy-gophermap.module\").then(\r\n (m) => m.ProppyGophermapPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-add\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-add/proppy-news-add.module\").then(\r\n (m) => m.ProppyNewsAddPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-display\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-display/proppy-news-display.module\").then(\r\n (m) => m.ProppyNewsDisplayPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-moderator\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-moderator/proppy-news-moderator.module\").then(\r\n (m) => m.ProppyNewsModeratorPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppy-news-share/:id\",\r\n loadChildren: () =>\r\n import(\"./proppy-news-share/proppy-news-share.module\").then(\r\n (m) => m.ProppyNewsSharePageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycare-needs\",\r\n loadChildren: () =>\r\n import(\"./proppycare-needs/proppycare-needs.module\").then(\r\n (m) => m.ProppycareNeedsPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-property-to-market-terms-v2\",\r\n loadChildren: () =>\r\n import(\r\n \"./add-property-to-market-terms-v2/add-property-to-market-terms-v2.module\"\r\n ).then((m) => m.AddPropertyToMarketTermsV2PageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"bulletin-board-need-details\",\r\n loadChildren: () =>\r\n import(\r\n \"./bulletin-board-need-details/bulletin-board-need-details.module\"\r\n ).then((m) => m.BulletinBoardNeedDetailsPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycare-needs-create-order\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycare-needs-create-order/proppycare-needs-create-order.module\"\r\n ).then((m) => m.ProppycareNeedsCreateOrderPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"proppycare-needs-confirm-order/:id\",\r\n loadChildren: () =>\r\n import(\r\n \"./proppycare-needs-confirm-order/proppycare-needs-confirm-order.module\"\r\n ).then((m) => m.ProppycareNeedsConfirmOrderPageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"myaccountupdatemember\",\r\n loadChildren: () =>\r\n import(\"./myaccountupdatemember/myaccountupdatemember.module\").then(\r\n (m) => m.MyaccountupdatememberPageModule\r\n ),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"add-property-to-market-v2\",\r\n loadChildren: () =>\r\n import(\r\n \"./add-property-to-market-v2/add-property-to-market-v2.module\"\r\n ).then((m) => m.AddPropertyToMarketV2PageModule),\r\n // canActivate:[AuthGuard]\r\n },\r\n {\r\n path: \"splash\",\r\n loadChildren: () =>\r\n import(\"./splash/splash.module\").then((m) => m.SplashPageModule),\r\n },\r\n {\r\n path: \"web-landing\",\r\n loadChildren: () =>\r\n import(\"./tab1/tab1-v1/tab1-v1.module\").then((m) => m.Tab1V1PageModule),\r\n },\r\n {\r\n path: \"propertylist\",\r\n loadChildren: () =>\r\n import(\"./propertylist/propertylist.module\").then(\r\n (m) => m.PropertylistPageModule\r\n ),\r\n },\r\n {\r\n path: \"property-filter\",\r\n loadChildren: () =>\r\n import(\"./property-filter/property-filter.module\").then(\r\n (m) => m.PropertyFilterPageModule\r\n ),\r\n },\r\n {\r\n path: 'display-dropdown',\r\n loadChildren: () =>\r\n import('./reusables/display-dropdown/display-dropdown.module').then(m => m.DisplayDropdownPageModule)\r\n },\r\n {\r\n path: 'select-residents-type-drop-down',\r\n loadChildren: () =>\r\n import('./select-residents-type-drop-down/select-residents-type-drop-down.module').then(m => m.SelectResidentsTypeDropDownPageModule)\r\n },\r\n {\r\n path: 'send-to-marketplace',\r\n loadChildren: () => import('./send-to-marketplace/send-to-marketplace.module').then(m => m.SendToMarketplacePageModule)\r\n },\r\n {\r\n path: 'proppy-news-moderator-v2',\r\n loadChildren: () => import('./proppy-news-moderator-v2/proppy-news-moderator-v2.module').then(m => m.ProppyNewsModeratorV2PageModule)\r\n },\r\n {\r\n path: 'proppy-news-moderator-batchselection',\r\n loadChildren: () => import('./proppy-news-moderator-batchselection/proppy-news-moderator-batchselection.module').then(m => m.ProppyNewsModeratorBatchselectionPageModule)\r\n },\r\n {\r\n path: 'group-chat',\r\n loadChildren: () => import('./group-chat/group-chat.module').then(m => m.GroupChatPageModule)\r\n },\r\n {\r\n path: 'create-groups',\r\n loadChildren: () => import('./create-groups/create-groups.module').then(m => m.CreateGroupsPageModule)\r\n },\r\n {\r\n path: 'proppy-store-link',\r\n loadChildren: () => import('./proppy-store-link/proppy-store-link.module').then(m => m.ProppyStoreLinkPageModule)\r\n },\r\n {\r\n path: 'view-video',\r\n loadChildren: () => import('./view-video/view-video.module').then(m => m.ViewVideoPageModule)\r\n },\r\n {\r\n path: 'ordersummary',\r\n loadChildren: () => import('./ordersummary/ordersummary.module').then(m => m.OrdersummaryPageModule)\r\n },\r\n {\r\n path: 'unsubscribe-mop',\r\n loadChildren: () => import('./unsubscribe-mop/unsubscribe-mop.module').then(m => m.UnsubscribeMOPPageModule)\r\n },\r\n {\r\n path: 'mortageplan',\r\n loadChildren: () => import('./mortageplan/mortageplan.module').then(m => m.MortageplanPageModule)\r\n },\r\n {\r\n path: 'bulletin-board-agent-details',\r\n loadChildren: () => import('./bulletin-board-agent-details/bulletin-board-agent-details.module').then(m => m.BulletinBoardAgentDetailsPageModule)\r\n },\r\n {\r\n path: 'mortgage-plan',\r\n loadChildren: () => import('./mortageplan/mortageplan.module').then(m => m.MortageplanPageModule)\r\n },\r\n {\r\n path: 'mortgage-diagnosis',\r\n loadChildren: () => import('./mortgage-diagnosis/mortgage-diagnosis.module').then(m => m.MortgageDiagnosisPageModule)\r\n },\r\n {\r\n path: 'mortgage-diagnosis-report',\r\n loadChildren: () => import('./mortgage-diagnosis-report/mortgage-diagnosis-report.module').then(m => m.MortgageDiagnosisReportPageModule)\r\n },\r\n {\r\n path: 'my-wish-list',\r\n loadChildren: () => import('./my-wish-list/my-wish-list.module').then(m => m.MyWishListPageModule)\r\n },\r\n\r\n {\r\n path: 'popup1',\r\n loadChildren: () => import('./popup1/popup1.module').then(m => m.Popup1PageModule)\r\n },\r\n {\r\n path: 'popup2',\r\n loadChildren: () => import('./popup2/popup2.module').then(m => m.Popup2PageModule)\r\n },\r\n {\r\n path: 'make-an-offer',\r\n loadChildren: () => import('./make-an-offer/make-an-offer.module').then(m => m.MakeAnOfferPageModule)\r\n },\r\n {\r\n path: 'questionnaire',\r\n loadChildren: () => import('./questionnaire/questionnaire.module').then(m => m.QuestionnairePageModule)\r\n },\r\n {\r\n path: 'popup3',\r\n loadChildren: () => import('./popup3/popup3.module').then(m => m.Popup3PageModule)\r\n },\r\n {\r\n path: 'wish',\r\n loadChildren: () => import('./my-wish/my-wish.module').then(m => m.MyWishPageModule)\r\n },\r\n {\r\n path: 'my-wish-list-filter',\r\n loadChildren: () => import('./my-wish-list-filter/my-wish-list-filter.module').then(m => m.MyWishListFilterPageModule)\r\n },\r\n {\r\n path: 'my-referrals',\r\n loadChildren: () => import('./my-referrals/my-referrals.module').then(m => m.MyReferralsPageModule)\r\n },\r\n {\r\n path: 'proppy-gophermap-list',\r\n loadChildren: () => import('./proppy-gophermap-list/proppy-gophermap-list.module').then(m => m.ProppyGophermapListPageModule)\r\n },\r\n {\r\n path: 'proppy-gophermap-filter',\r\n loadChildren: () => import('./proppy-gophermap-filter/proppy-gophermap-filter.module').then(m => m.ProppyGophermapFilterPageModule)\r\n },\r\n {\r\n path: 'proppy-wizard',\r\n loadChildren: () => import('./reusables/proppy-wizard/proppy-wizard.module').then(m => m.ProppyWizardPageModule)\r\n },\r\n {\r\n path: 'proppy-homes',\r\n loadChildren: () => import('./proppy-homes/proppy-homes.module').then(m => m.ProppyHomesPageModule)\r\n },\r\n {\r\n path: 'agent-profilev2',\r\n loadChildren: () => import('./agent-profilev2/agent-profilev2.module').then(m => m.AgentProfilev2PageModule)\r\n },\r\n {\r\n path: 'agency-profile',\r\n loadChildren: () => import('./agency-profile/agency-profile.module').then(m => m.AgencyProfilePageModule)\r\n },\r\n {\r\n path: 'proppy-needs-process-tracker',\r\n loadChildren: () => import('./proppy-needs-process-tracker/proppy-needs-process-tracker.module').then(m => m.ProppyNeedsProcessTrackerPageModule)\r\n },\r\n {\r\n path: 'property-agent-activation',\r\n loadChildren: () => import('./property-agent-activation/property-agent-activation.module').then(m => m.PropertyAgentActivationPageModule)\r\n },\r\n {\r\n path: 'uicongratulations',\r\n loadChildren: () => import('./uicomponents/uicongratulations/uicongratulations.module').then(m => m.UicongratulationsPageModule)\r\n },\r\n {\r\n path: 'developer-gallery',\r\n loadChildren: () => import('./developer-gallery/developer-gallery.module').then(m => m.DeveloperGalleryPageModule)\r\n },\r\n {\r\n path: 'wish-list-suggest-properties',\r\n loadChildren: () => import('./wish-list-suggest-properties/wish-list-suggest-properties.module').then(m => m.WishListSuggestPropertiesPageModule)\r\n },\r\n {\r\n path: 'bulletin-board-agent-details-wishlist',\r\n loadChildren: () => import('./bulletin-board-agent-details-wishlist/bulletin-board-agent-details-wishlist.module').then(m => m.BulletinBoardAgentDetailsWishlistPageModule)\r\n },\r\n {\r\n path: 'appeal-board',\r\n loadChildren: () => import('./appeal-board/appeal-board.module').then(m => m.AppealBoardPageModule)\r\n },\r\n {\r\n path: 'premium-merchant',\r\n loadChildren: () => import('./premium-merchant/premium-merchant.module').then(m => m.PremiumMerchantPageModule)\r\n },\r\n {\r\n path: 'display-qr',\r\n loadChildren: () => import('./uicomponents/display-qr/display-qr.module').then(m => m.DisplayQrPageModule)\r\n },\r\n {\r\n path: 'amazing-race',\r\n loadChildren: () => import('./amazing-race/amazing-race.module').then(m => m.AmazingRacePageModule)\r\n },\r\n {\r\n path: 'notification',\r\n loadChildren: () => import('./notification/notification.module').then(m => m.NotificationPageModule)\r\n },\r\n {\r\n path: 'preloved',\r\n loadChildren: () => import('./proppy-preloved/preloved/preloved.module').then(m => m.PrelovedPageModule)\r\n },\r\n {\r\n path: 'queue-management',\r\n loadChildren: () => import('./queue-management/queue-management.module').then(m => m.QueueManagementPageModule)\r\n },\r\n {\r\n path: 'earn',\r\n loadChildren: () => import('./earn/earn.module').then(m => m.EarnPageModule)\r\n },\r\n {\r\n path: 'queue-management',\r\n loadChildren: () => import('./queue-management/queue-management.module').then(m => m.QueueManagementPageModule)\r\n },\r\n {\r\n path: 'proppy-doc',\r\n loadChildren: () => import('./proppy-doc/proppy-doc.module').then(m => m.ProppyDocPageModule)\r\n },\r\n {\r\n path: 'preloved-buybtn',\r\n loadChildren: () => import('./proppy-preloved/preloved-buybtn/preloved-buybtn.module').then(m => m.PrelovedBuybtnPageModule)\r\n },\r\n {\r\n path: 'mortage-agreement',\r\n loadChildren: () => import('./mortage-agreement/mortage-agreement.module').then(m => m.MortageAgreementPageModule)\r\n },\r\n {\r\n path: 'security-verification',\r\n loadChildren: () => import('./security-verification/security-verification.module').then(m => m.SecurityVerificationPageModule)\r\n },\r\n {\r\n path: 'privacy-settings',\r\n loadChildren: () => import('./privacy-settings/privacy-settings.module').then(m => m.PrivacySettingsPageModule)\r\n },\r\n {\r\n path: 'delete-account',\r\n loadChildren: () => import('./delete-account/delete-account.module').then(m => m.DeleteAccountPageModule)\r\n },\r\n {\r\n path: 'delete-account-back-proppy',\r\n loadChildren: () => import('./delete-account-back-proppy/delete-account-back-proppy.module').then(m => m.DeleteAccountBackProppyPageModule)\r\n },\r\n {\r\n path: 'mobile-email-verification',\r\n loadChildren: () => import('./mobile-email-verification/mobile-email-verification.module').then(m => m.MobileEmailVerificationPageModule)\r\n },\r\n // {\r\n // path: 'uicalendar',\r\n // loadChildren: () => import('./uicomponents/uicalendar/uicalendar.module').then( m => m.UicalendarPageModule)\r\n // },\r\n {\r\n path: 'proppy-cares',\r\n loadChildren: () => import('./proppy-cares/proppy-cares.module').then(m => m.ProppyCaresPageModule)\r\n },\r\n {\r\n path: 'filter-modal',\r\n loadChildren: () => import('./uicomponents/filter-modal/filter-modal.module').then(m => m.FilterModalPageModule)\r\n },\r\n {\r\n path: 'proppy-logo',\r\n loadChildren: () => import('./proppy-logo/proppy-logo.module').then(m => m.ProppyLogoPageModule)\r\n },\r\n {\r\n path: 'deposit-screen-modal',\r\n loadChildren: () => import('./deposit-screen-modal/deposit-screen-modal.module').then(m => m.DepositScreenModalPageModule)\r\n },\r\n {\r\n path: 'order-placed-popover',\r\n loadChildren: () => import('./order-placed-popover/order-placed-popover.module').then(m => m.OrderPlacedPopoverPageModule)\r\n },\r\n {\r\n path: 'my-membership',\r\n loadChildren: () => import('./my-membership/my-membership.module').then(m => m.MyMembershipPageModule)\r\n },\r\n {\r\n path: 'my-transtation-history',\r\n loadChildren: () => import('./my-transtation-history/my-transtation-history.module').then(m => m.MyTranstationHistoryPageModule)\r\n },\r\n {\r\n path: 'tab1',\r\n loadChildren: () => import('./tab1/tab1-v1/tab1-v1.module').then(m => m.Tab1V1PageModule)\r\n },\r\n {\r\n path: 'find-agent',\r\n loadChildren: () => import('./find-agent/find-agent.module').then(m => m.FindAgentPageModule)\r\n },\r\n {\r\n path: 'needs-filter-categories',\r\n loadChildren: () => import('./home-page/needs-filter-categories/needs-filter-categories.module').then(m => m.NeedsFilterCategoriesPageModule)\r\n },\r\n {\r\n path: 'property-details-v1',\r\n loadChildren: () => import('./property-details-v1/property-details-v1.module').then(m => m.PropertyDetailsV1PageModule)\r\n },\r\n // {\r\n // path: 'voucher-view-all',\r\n // loadChildren: () => import('./home-page/proppy-gophermap-listv2/voucher-view-all/voucher-view-all.module').then(m => m.VoucherViewAllPageModule)\r\n // },\r\n {\r\n path: 'proppy-academy-v1',\r\n loadChildren: () => import('./proppy-academy-v1/proppy-academy-v1.module').then(m => m.ProppyAcademyV1PageModule)\r\n },\r\n {\r\n path: 'properties-comparison',\r\n loadChildren: () => import('./properties-comparison/properties-comparison.module').then(m => m.PropertiesComparisonPageModule)\r\n },\r\n {\r\n path: 'proppycares-home2',\r\n loadChildren: () => import('./proppycares-home2/proppycares-home2.module').then(m => m.ProppycaresHome2PageModule)\r\n },\r\n {\r\n path: 'business-card',\r\n loadChildren: () => import('./business-card/business-card.module').then(m => m.BusinessCardPageModule)\r\n },\r\n {\r\n path: 'proppy-signature',\r\n loadChildren: () => import('./proppy-signature/proppy-signature.module').then(m => m.ProppySignaturePageModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: 'personal-pcard',\r\n loadChildren: () => import('./personal-pcard/personal-pcard.module').then(m => m.PersonalPcardPageModule)\r\n },\r\n {\r\n path: 'proppy-homes-v2',\r\n loadChildren: () => import('@proppy/proppy-homes-pkg').then(m => m.ProppyHomesV2Module)\r\n },\r\n {\r\n path: 'group-contact-list',\r\n loadChildren: () => import('./group-contact-list/group-contact-list.module').then( m => m.GroupContactListPageModule)\r\n },\r\n {\r\n path: 'contact-list',\r\n loadChildren: () => import('./contact-list/contact-list.module').then( m => m.ContactListPageModule)\r\n },\r\n {\r\n path: 'pcard-contact-book',\r\n loadChildren: () => import('./pcard-contact-book/pcard-contact-book.module').then( m => m.PcardContactBookModule)\r\n },\r\n {\r\n path: 'proppy-wpe',\r\n loadChildren: () => import('./proppy-wpe/proppy-wpe.module').then( m => m.ProppyWpePageModule)\r\n },\r\n // ,\r\n // {\r\n // path: 'language-popover',\r\n // loadChildren: () => import('./language-popover/language-popover.module').then( m => m.LanguagePopoverPageModule)\r\n // }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadModulesService }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { ChangeDetectorRef, Component, ElementRef, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Event, NavigationEnd, NavigationExtras, NavigationStart, Router, RoutesRecognized } from '@angular/router';\r\nimport { AlertController, ModalController, NavController, Platform } from '@ionic/angular';\r\nimport { StatusBar } from '@ionic-native/status-bar/ngx';\r\nimport { Storage } from '@ionic/storage';\r\nimport { UserData } from './providers/user-data';\r\nimport Parse from 'parse'\r\nimport { LanguageService } from './services/language.service';\r\nimport Talk from 'talkjs';\r\nimport { StorageService } from './services/storage.service';\r\nimport { TalkService } from './api/talk.service';\r\nimport { Deeplinks } from '@ionic-native/deeplinks/ngx';\r\nimport { NgZone } from '@angular/core';\r\nimport { PropertyDetailsPageModule } from './property-details/property-details.module';\r\nimport { PropertyDetailsPage } from './property-details/property-details.page';\r\nimport { Tab3Page } from './tab3/tab3.page';\r\nimport { RegistrationPageModule } from './registration/registration.module';\r\nimport { RegistrationPage } from './registration/registration.page';\r\nimport { FcmService } from './services/fcm.service';\r\nimport { RoutesService } from './services/routes.service';\r\nimport { ConnectivityService } from './services/connectivity.service';\r\nimport { PermissionService } from './services/permission.service';\r\nimport { ApiService } from './services/api.service';\r\nimport { Geolocation } from '@ionic-native/geolocation/ngx';\r\nimport { InAppBrowser } from '@ionic-native/in-app-browser/ngx';\r\nimport { faq_portal } from 'src/environments/environment.prod';\r\nimport { filter, pairwise } from 'rxjs/operators';\r\nimport { DataFetcherService } from './services/data-fetcher/data-fetcher.service';\r\nimport { Device } from '@ionic-native/device/ngx';\r\nimport { AlertHandlerService } from './services/alert-handler.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppHelper } from './services/middleware/app-helper';\r\n// import { AdMob } from '@capacitor-community/admob';\r\nimport { DeeplinkHelperService } from './services/middleware/deeplink-helper.service';\r\nimport { App, URLOpenListenerEvent } from '@capacitor/app';\r\nimport { c360_web_url, cdn_portal, deep_link_base_url, deep_link_hostname, environment, new_deep_link_base_url, payment_portal, proffis_deep_link_base_url } from 'src/environments/environment';\r\nimport { SplashScreen } from '@capacitor/splash-screen';\r\nimport { AdmobService } from './services/middleware/admob-service';\r\nimport { PushNotifications } from '@capacitor/push-notifications';\r\nimport hamburger_menu from 'src/assets/lang/hamburger_menu.json';\r\nimport { DBHandlerService } from './services/db-handler.service';\r\nimport { UtilsConfig } from '@proppy/signature-lib';\r\nimport { UtilsConfig as sharedLibUtilConfig } from '@proppy/shared-lib';\r\nimport { Keyboard } from '@capacitor/keyboard';\r\nimport { UtilsConfig as proppyHomesUtils } from '@proppy/proppy-homes-pkg'\r\nimport { BumpPopoverComponent } from './bump-popover/bump-popover.component';\r\nimport { LoginConfig } from '@proppy/proppy-app-login-lib';\r\n\r\n// import { ActionPerformed, PushNotificationSchema, PushNotifications, Token} from '@capacitor/push-notifications';\r\nimport { UtilsConfig as p360Config } from '@proppy/shared-lib'\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n hamburger_menu_json = JSON.parse(JSON.stringify(hamburger_menu))\r\n @ViewChild('mainContainer', { static: true }) mainContainer!: ElementRef;\r\n private popup: Talk.Popup;\r\n loggedIn = false;\r\n myProppyProfilePic = ''\r\n myDisplayName = ''\r\n getEmail = ''\r\n countModerator = 0;\r\n isModerator = false;\r\n isMarketPlaceOpen = false\r\n isDesktop = false;\r\n deepLinkRoutePaths = {\r\n 'splash': 'splash',\r\n 'property-details-by-id': '/property-details/:id',\r\n 'property-agent-by-id': '/property-agent/:id',\r\n 'merchantdetails-by-id': '/merchantdetails/:id',\r\n 'memberprofile-by-id': '/memberprofile/:id',\r\n 'proppy-academy-details-by-id': '/proppy-academy-details/:id',\r\n 'invitation': '/invitation',\r\n 'registration-by-referral': '/registration/:id?selected_country_id=127',\r\n 'endorsement-objecttype-objectid': '/add-endorsement/:id1/:id2',\r\n 'proppycares-claim-merchantid-transferuserid': '/proppycares-claim/:id1/:id2',\r\n 'proppycares-listing-get-merchant': '/proppycares-listing/:id',\r\n 'c360-sosdisplay-objectid': '/c360/c360-sosdisplay/:id',\r\n 'c360-supportdisplay-objectid': '/c360/c360-supportdisplay/:id',\r\n 'c360-suppliesdisplay-objectid': '/c360/c360-suppliesdisplay/:id',\r\n 'c360-vaccinedisplay-objectid': '/c360/c360-vaccinedisplay/:id',\r\n 'proppycare-needs-confirm-order-orderid': '/proppycare-needs-confirm-order/:id'\r\n }\r\n apiService=ApiService\r\n proppyUserId:string = ''\r\n bump:any = {\r\n isBumpPopover: false,\r\n bumpStatus: 0\r\n }\r\n postParams: any = {\r\n latitude: 0,\r\n longitude: 0,\r\n }\r\n area : string = ''\r\n state: string = ''\r\n\r\n private previousScrollTop = 0;\r\n // private scrollEventListeners: Function[] = [];\r\n constructor(\r\n public helper: AppHelper,\r\n private platform: Platform,\r\n private statusBar: StatusBar,\r\n private router: Router,\r\n private storage: Storage,\r\n private userData: UserData,\r\n private languageService: LanguageService,\r\n private storageService: StorageService,\r\n private geolocation: Geolocation,\r\n private talkService: TalkService,\r\n private deeplinks: Deeplinks,\r\n private zone: NgZone,\r\n public alertCtrl: AlertController,\r\n public navController: NavController,\r\n private fcmService: FcmService,\r\n public connectivity: ConnectivityService,\r\n private permissionService: PermissionService,\r\n private iab: InAppBrowser,\r\n private httpService: DataFetcherService,\r\n private device: Device,\r\n private alertHandeler: AlertHandlerService,\r\n private http: HttpClient,\r\n private deeplink_helper: DeeplinkHelperService,\r\n private activatedRoute: ActivatedRoute,\r\n private renderer: Renderer2,\r\n private modal_ctrl: ModalController,\r\n private ref: ChangeDetectorRef\r\n ) {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.hasOwnProperty('AccessID')\r\n && this.helper.isDesktop()\r\n ) {\r\n console.log('deeplink')\r\n this.deeplink_helper.onAccessCapture(params['AccessID'], true)\r\n }\r\n })\r\n ApiService.IS_SLOW_INTERNET = false\r\n this.connectivity.initialize();\r\n this.permissionService.initiate();\r\n this.helper.getCurrentCoordinates()\r\n p360Config.BASE_NODE_API_URL = ApiService.BASE_NODE_URL\r\n p360Config.BASE_P360_NODE_API_URL = ApiService.BASE_P360_NODE_API_URL\r\n p360Config.LS_TOKEN_KEY = ApiService.LBDB_TOKEN_KEY\r\n p360Config.LS_APP_DATA = ApiService.LBDB_KEY\r\n p360Config.LS_LANG_CODE = ApiService.LBDB_LANG_CODE\r\n p360Config.DEFAULT_LANG_CODE = ApiService.DEFAULT_LANG_CODE\r\n p360Config.LS_NOTIFICATION_PARAMS = ApiService.NOTIFICATION_PARAMS\r\n p360Config.LBDB_BEEP_CHAT_NEW = 'newConversation'\r\n p360Config.HOMES_NODE_URL=this.apiService.HOMES_NODE_URL\r\n // this.fcmService.initializeFcm();\r\n UtilsConfig.BASE_NODE_URL = ApiService.BASE_NODE_URL\r\n UtilsConfig.PROPPY_BASE_PATH = ApiService.base_path\r\n UtilsConfig.BASE_API_URL = ApiService.PROFFICE_API_URL\r\n UtilsConfig.ANDROID_GOOGLE_MAP_KEY = ApiService.ANDROID_GOOGLE_MAP_KEY\r\n UtilsConfig.IOS_GOOGLE_MAP_KEY = ApiService.IOS_GOOGLE_MAP_KEY\r\n\r\n proppyHomesUtils.baseNodeApiUrl = ApiService.BASE_NODE_URL\r\n proppyHomesUtils.baseDotNetApiUrl = ApiService.base_path\r\n proppyHomesUtils.baseHomesNodeUrl = ApiService.BASE_HOMES_NODE_URL\r\n proppyHomesUtils.baseCdnPortalUrl = cdn_portal\r\n proppyHomesUtils.baseNodeBillingApiUrl = ApiService.BILLING_BASE_NODE_URL\r\n proppyHomesUtils.baseSharedNodeUrl = ApiService.SHARED_NODE_URL\r\n proppyHomesUtils.talkJsAppId = environment.talkjs.appId\r\n proppyHomesUtils.talkJsBearerApiKey = environment.talk_js_bearer_api_key\r\n proppyHomesUtils.basePythonApiUrl = ApiService.basePythonApiUrl\r\n proppyHomesUtils.fdBaseUrl = ApiService.FD_BASE_URL\r\n proppyHomesUtils.new_deep_link_base_url = new_deep_link_base_url;\r\n proppyHomesUtils.proffis_deep_link_base_url = proffis_deep_link_base_url;\r\n proppyHomesUtils.LBDB_TOKEN_KEY = ApiService.LBDB_TOKEN_KEY\r\n proppyHomesUtils.IS_SKIP_LOGIN = ApiService.IS_SKIP_LOGIN;\r\n \r\n this.setSharedLibConstUrls();\r\n this.fcmService.setUpRemoteNotifications();\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#2f8dcd');\r\n this.platform.backButton.subscribeWithPriority(10, () => {\r\n if (this.router.url.includes('tabs/tab1') || this.router.url.includes('/login')) {\r\n if (ApiService.IS_PAGING_REFRESH) ApiService.IS_PAGING_REFRESH = {};\r\n navigator['app'].exitApp();\r\n } else if (this.router.url.includes(RoutesService.c360NavigatableURL(RoutesService.c360Default)) || this.router.url.includes(RoutesService.c360NavigatableURL(RoutesService.c360Login)) || this.router.url.includes('thankyou-screen')) {\r\n this.router.url.includes('tabs/tab1')\r\n } else if (!this.router.url.includes('map-marker-selection')) {\r\n //AdmobService.hideBanner()\r\n if (this.router.url.includes('merchantdetails') || this.router.url.includes('product-details') || this.router.url.includes('service-details')) {\r\n if (ApiService.IS_PAGING_REFRESH?.['store_front'] == 1)\r\n delete ApiService.IS_PAGING_REFRESH['store_front'];\r\n }\r\n if (this.router.url.includes('/merchants-list')) delete ApiService.IS_PAGING_REFRESH?.['store_front'];\r\n if (this.router.url.includes('/tabs/voucher-view-all')) delete ApiService.IS_PAGING_REFRESH?.['voucher_all']\r\n this.navController.back();\r\n }\r\n\r\n });\r\n this.initializeApp();\r\n this.router.events\r\n .pipe(filter((evt: any) => evt instanceof RoutesRecognized), pairwise())\r\n .subscribe(async (events: RoutesRecognized[]) => {\r\n // this.setScrollListener()\r\n ApiService.deeplinkCallBack = null\r\n ApiService.clearGlobalSearchData = null\r\n if ((events[0].urlAfterRedirects || '').startsWith('/login') || (events[0].urlAfterRedirects || '').startsWith('/registration')) {\r\n this.myProppyProfilePic = await this.storage.get(\"Proppy_Profile_Pic\");\r\n this.myDisplayName = await this.storage.get(\"Proppy_Name\");\r\n this.getEmail = await this.storage.get('Proppy_Email');\r\n if (this.getEmail != undefined && ApiService.ENABLE_FD) {\r\n this.checkFreshDeskContact(this.getEmail, this.myDisplayName)\r\n }\r\n this.getIsProppyModerator()\r\n this.ref.detectChanges()\r\n }\r\n if ((events[1].urlAfterRedirects || '').startsWith('/login') || (events[1].urlAfterRedirects || '').startsWith('/registration')) {\r\n this.myProppyProfilePic = '';\r\n this.myDisplayName = '';\r\n this.getEmail = '';\r\n this.isModerator = false;\r\n }\r\n });\r\n this.storageService.getString(ApiService.DB_LNG_KEY, (lang_code) => {\r\n ApiService.SELECTED_LANGUAGE_CODE = lang_code || ApiService.DEFAULT_LANG_CODE\r\n })\r\n this.initializeAdmob()\r\n this.setCordinatesAndGetData();\r\n // this.setScrollListener()\r\n }\r\n\r\n ionViewDidEnter() {\r\n // setTimeout(() => {\r\n // this.connectivity.initialize();\r\n // this.permissionService.initiate();\r\n // }, 2000);\r\n }\r\n ngOnInit() {\r\n // if ((this.platform.is(\"ios\") || this.platform.is(\"android\")) && !this.platform.is(\"mobileweb\")) {\r\n // alert('Mobile Device Detected');\r\n // this.setUpRemoteNotifications()\r\n // }\r\n }\r\n async initializeApp() {\r\n this.myProppyProfilePic = await this.storage.get(\"Proppy_Profile_Pic\");\r\n this.myDisplayName = await this.storage.get(\"Proppy_Name\");\r\n this.getEmail = await this.storage.get('Proppy_Email');\r\n this.platform.ready().then(() => {\r\n this.statusBar.styleDefault();\r\n // SplashScreen.hide();\r\n this.isDesktop = this.platform.is(\"desktop\")\r\n this.languageService.setInitialAppLanguage();\r\n this.getIsProppyModerator();\r\n //this.router.navigateByUrl('/tabs/tab1');\r\n //Parse auth\r\n //Parse.initialize(\"vlNZNla41Z9PDisD6lkDGPxiYzQQSxngTzNF45E4\", \"MhxlpbMZlyy83RKJt6lfczZFCfsuo6Px8hTl54jk\");\r\n //Parse.initialize(\"YCAM0Iz2pJzDnmeTtTNgHjDjzjNQo8u9CQpBebRF\", \"oqPWAha1NdyH8gR6BbuqGW3j2zcaxtwtnJVjH7or\");\r\n //Parse.serverURL = 'https://parseapi.back4app.com/';\r\n\r\n //let install = new Parse.Installation();\r\n //install.set(\"deviceType\", this.platform.platforms().toString());\r\n\r\n // install.save(null, {\r\n // success: (install) => {\r\n // // Execute any logic that should take place after the object is saved.\r\n // console.log('New object created with objectId: ' + install.id);\r\n // },\r\n // error: (install, error) => {\r\n // // Execute any logic that should take place if the save fails.\r\n // // error is a Parse.Error with an error code and message.\r\n // console.log('Failed to create new object, with error code:' + error.message.toString());\r\n // }\r\n // });\r\n //parse auth\r\n if (!this.helper.isDesktop()) {\r\n // this.setupDeeplinks();\r\n this.initializeCapDeepLink()\r\n }\r\n\r\n });\r\n\r\n\r\n\r\n\r\n\r\n // //binding event for login\r\n // this.storageService.handleMyEvents(async ()=>{\r\n // const user=await this.storage.get(\"user\");\r\n // const helpDesk={\r\n\r\n // // id: applicationUser.Proppy_UserID,\r\n // //name: applicationUser.Proppy_Email,\r\n // Proppy_UserID:\"CC_1\",\r\n // Proppy_FirstName:\"HelpDesk 1\"\r\n\r\n // };\r\n // this.storageService.helpdesk=helpDesk;\r\n // //const session = await this.talkService.createCurrentSession(user);//Auth USer\r\n // //this.popup=await this.talkService.createPopup(session);\r\n // //this.popup.mount(this.mainContainer.nativeElement);\r\n // //this.popup.show();//if u want to disable\r\n // },\"login\");\r\n }\r\n\r\n setupDeeplinks() {\r\n this.deeplinks.route(this.deepLinkRoutePaths).subscribe(match => {\r\n // match.$route - the route we matched, which is the matched entry from the arguments to route()\r\n // match.$args - the args passed in the link\r\n // match.$link - the full link data\r\n\r\n //console.log('Successfully matched route', JSON.stringify(match));\r\n //alert(\"match:\"+JSON.stringify(match));\r\n\r\n // Create our internal Router path by hand\r\n // this.internalPath = `${match.$route}`;\r\n // if (match.$args.id) {\r\n // alert(match.$args.id);\r\n // this.internalPath = this.internalPath + `/${match.$args.id}`;\r\n // } \r\n\r\n //this.navController.navigateRoot(this.internalPath);\r\n // Run the navigation in the Angular zone\r\n this.zone.run(async () => {\r\n // console.log(this.router.url)\r\n // if(this.router.url=='/' || this.router.url.includes('/login')) {\r\n // await this.storageService.setString('route_link',match.$link.path)\r\n // }\r\n var queryString = match.$link['queryString'] || match.$link['path']\r\n if (queryString.includes('AccessID')) {\r\n var AccessID = queryString.split('=')[1] || ''\r\n AccessID = AccessID.split('&')[0]\r\n if (AccessID) {\r\n this.deeplink_helper.onAccessCapture(AccessID)\r\n }\r\n } else {\r\n this.storageService.getString(\"Proppy_UserID\", async (proppyID) => {\r\n if (proppyID == '') {\r\n await this.storageService.setString('route_link', match.$link.path)\r\n this.router.navigate(['./login'])\r\n } else\r\n // if(this.router.url.length>1 && !this.router.url.includes('/login')) \r\n {\r\n this.router.navigateByUrl(match.$link.path);\r\n }\r\n });\r\n }\r\n\r\n });\r\n },\r\n nomatch => {\r\n // nomatch.$link - the full link data \r\n // this.zone.run(async () => {\r\n var queryString = nomatch.$link['queryString'] || nomatch.$link['path']\r\n // console.log(nomatch)\r\n if (queryString.includes('AccessID')) {\r\n var AccessID = queryString.split('=')[1] || ''\r\n AccessID = AccessID.split('&')[0]\r\n if (AccessID) {\r\n this.deeplink_helper.onAccessCapture(AccessID)\r\n }\r\n } else if (nomatch.$link['path']) {\r\n var filterPaths = Object.values(this.deepLinkRoutePaths).filter(f => f.includes(queryString.split(\"/\")[1]))\r\n if (queryString && filterPaths.length > 0) {\r\n this.storageService.getString(\"Proppy_UserID\", async (proppyID) => {\r\n if (proppyID == '') {\r\n await this.storageService.setString('route_link', nomatch.$link.path)\r\n this.router.navigate(['./login'])\r\n } else\r\n // if(this.router.url.length>1 && !this.router.url.includes('/login')) \r\n {\r\n this.router.navigateByUrl(nomatch.$link.path);\r\n }\r\n });\r\n }\r\n }\r\n // })\r\n // if (nomatch == \"cordova_not_available\") { \r\n // console.error(\"Got a deeplink that didn't match:\" + JSON.stringify(nomatch), nomatch);\r\n // return true;\r\n // }\r\n // //alert(\"nomatch:\"+JSON.stringify(nomatch));\r\n // console.error(\"Got a deeplink that didn't match:\" + JSON.stringify(nomatch), nomatch);\r\n this.setupDeeplinks();\r\n // return true; \r\n }\r\n );\r\n }\r\n\r\n initializeCapDeepLink() {\r\n App.addListener('appUrlOpen', (event: URLOpenListenerEvent) => {\r\n this.zone.run(() => {\r\n // Example url: https://beerswift.app/tabs/tab2\r\n // slug = /tabs/tab2\r\n SplashScreen.hide();\r\n var url = event.url + '';\r\n var routePath = ''\r\n if (url.includes(\".my\")) {\r\n routePath = url.split(\".my\")[1];\r\n } else if (url.includes(\".biz\")) {\r\n routePath = url.split(\".biz\")[1];\r\n } else if (url.includes(\".life\")) {\r\n routePath = url.split(\".life\")[1];\r\n } else if (url.includes(\".com\")) {\r\n routePath = url.split(\".com\")[1];\r\n } else if (url.includes(\"proppyapp://\")) {\r\n routePath = url.split(\"proppyapp://?\")[1];\r\n }\r\n if (routePath.includes('AccessID')) {\r\n var AccessID = routePath.split('=')[1] || ''\r\n AccessID = AccessID.split('&')[0]\r\n this.openDeepLink(routePath, AccessID)\r\n } else {\r\n this.openDeepLink(routePath)\r\n }\r\n console.log(event, 'CapDeeplink')\r\n });\r\n });\r\n }\r\n\r\n async openDeepLink(path, AccessID = null) {\r\n console.log(path, AccessID)\r\n if (AccessID) {\r\n this.deeplink_helper.onAccessCapture(AccessID)\r\n } else {\r\n var filterPaths = Object.values(this.deepLinkRoutePaths).filter(f => f.includes(path.split(\"/\")[1]))\r\n if (path && filterPaths.length > 0) {\r\n this.storageService.getString(\"Proppy_UserID\", async (proppyID) => {\r\n if (proppyID == '') {\r\n await this.storageService.setString('route_link', path)\r\n this.router.navigate(['./login'])\r\n } else\r\n // if(this.router.url.length>1 && !this.router.url.includes('/login')) \r\n {\r\n this.router.navigateByUrl(path);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n // ngAfterViewInit(){\r\n // this.deeplinks.route({\r\n // //Todo: Add all the supported links\r\n // '/:id': 'property-details' \r\n // }).subscribe(match => {\r\n // // match.$route - the route we matched, which is the matched entry from the arguments to route()\r\n // // match.$args - the args passed in the link\r\n // // match.$link - the full link data\r\n // console.log('Successfully matched route', match);\r\n // alert('Successfully matched route ' + JSON.stringify(match))\r\n // // Create our internal Router path by hand\r\n // const internalPath = `/${match.$link}/${match.$args['id']}`;\r\n\r\n // // Run the navigation in the Angular zone\r\n // this.zone.run(() => {\r\n // this.router.navigateByUrl(internalPath);\r\n // });\r\n // },\r\n // nomatch => {\r\n // // nomatch.$link - the full link data\r\n // // console.error(\"Got a deeplink that didn't match:\" + nomatch.$link, nomatch);\r\n // alert(\"Got a deeplink that didn't match:\" + JSON.stringify(nomatch))\r\n // }\r\n // );\r\n // }\r\n\r\n // setupDeepLinks2(){\r\n // this.deeplinks.routeWithNavController(this.navController, {\r\n // '/tabs/tab3': Tab3Page,\r\n // '/property-details?ListingID:ListingID': PropertyDetailsPage,\r\n // '/registration': RegistrationPage\r\n // }).subscribe(match => {\r\n // // match.$route - the route we matched, which is the matched entry from the arguments to route()\r\n // // match.$args - the args passed in the link\r\n // // match.$link - the full link data\r\n // console.log('Successfully matched route', match);\r\n // alert(\"Got a deeplink that didn't match:\" + JSON.stringify(match))\r\n // }, nomatch => {\r\n // // nomatch.$link - the full link data\r\n // console.error('Got a deeplink that didn\\'t match', nomatch);\r\n // alert(\"Got a deeplink that didn't match:\" + JSON.stringify(nomatch))\r\n // });\r\n // }\r\n\r\n // setupDeeplinks() {\r\n // this.deeplinks.route({\r\n // //Todo: Add all the supported links\r\n // '/:id': 'property-details' \r\n // }).subscribe(match => {\r\n // // match.$route - the route we matched, which is the matched entry from the arguments to route()\r\n // // match.$args - the args passed in the link\r\n // // match.$link - the full link data\r\n // console.log('Successfully matched route', match);\r\n // alert('Successfully matched route ' + JSON.stringify(match))\r\n // // Create our internal Router path by hand\r\n // const internalPath = `/${match.$link}/${match.$args['id']}`;\r\n\r\n // // Run the navigation in the Angular zone\r\n // this.zone.run(() => {\r\n // this.router.navigateByUrl(internalPath);\r\n // });\r\n // },\r\n // nomatch => {\r\n // // nomatch.$link - the full link data\r\n // // console.error(\"Got a deeplink that didn't match:\" + nomatch.$link, nomatch);\r\n // alert(\"Got a deeplink that didn't match:\" + JSON.stringify(nomatch))\r\n // }\r\n // );\r\n // }\r\n\r\n checkLoginStatus() {\r\n return this.userData.isLoggedIn().then(loggedIn => {\r\n return this.updateLoggedInStatus(loggedIn);\r\n });\r\n }\r\n\r\n updateLoggedInStatus(loggedIn: boolean) {\r\n setTimeout(async () => {\r\n this.loggedIn = loggedIn;\r\n if (loggedIn) {\r\n this.myProppyProfilePic = await this.storage.get(\"Proppy_Profile_Pic\");\r\n this.myDisplayName = await this.storage.get(\"Proppy_Name\");\r\n this.getEmail = await this.storage.get('Proppy_Email');\r\n } else {\r\n this.myProppyProfilePic = '';\r\n this.myDisplayName = '';\r\n this.getEmail = '';\r\n }\r\n }, 300);\r\n }\r\n\r\n\r\n\r\n listenForLoginEvents() {\r\n window.addEventListener('user:login', () => {\r\n this.updateLoggedInStatus(true);\r\n //this.showPopup();\r\n });\r\n\r\n window.addEventListener('user:signup', () => {\r\n this.updateLoggedInStatus(true);\r\n //this.showPopup();\r\n });\r\n\r\n window.addEventListener('user:logout', () => {\r\n this.updateLoggedInStatus(false);\r\n });\r\n }\r\n\r\n async logout() {\r\n this.alertHandeler.presentConfirmationAlert('Are You Sure You Want To Logout?', async () => {\r\n // this.userData.logout().then(() => {\r\n // return this.router.navigateByUrl('/tabs/tab1');\r\n // });\r\n // this.isLoggedIn = false\r\n await this.alertHandeler.presentLoading();\r\n // this.fbAuthService.logout(this.type);\r\n this.removeUserFCM();\r\n await this.storage.remove('username');\r\n await this.storage.remove('email');\r\n await this.storage.set('hasLoggedIn', false);\r\n\r\n this.storage.remove(\"Proppy_Name\");\r\n this.storage.remove(\"Proppy_Extension\");\r\n this.storage.remove(\"Proppy_Email\");\r\n this.storage.remove(\"Proppy_Mobile\");\r\n this.storage.remove(\"Proppy_Mobile\");\r\n this.storage.remove(\"Proppy_UserID\");\r\n this.storage.remove(\"Proppy_Agent_ID\");\r\n this.storage.remove(\"Proppy_DeveloperID\");\r\n this.storage.remove(\"Proppy_Profile_Pic\");\r\n this.storage.remove(\"proppy_authtoken\");\r\n this.storage.remove(\"IdentityType\");\r\n this.storage.remove(\"IdentityHolderCardNo\");\r\n this.storage.remove(\"IdentityHolderName\");\r\n this.storage.remove(\"user\");\r\n this.storage.remove(\"IsMOPFF\");\r\n this.storage.remove(\"IsAmzRaceInv\");\r\n this.storage.remove(ApiService.HOMES_WELCOME_POPUP_GLOBAL);\r\n this.storage.remove(ApiService.RESIDENTS_DATA);\r\n\r\n let isLoggedIn: boolean = await this.storage.get('hasLoggedIn');\r\n console.log(isLoggedIn)\r\n this.myProppyProfilePic = '';\r\n this.myDisplayName = '';\r\n this.getEmail = '';\r\n this.alertHandeler.dismissLoading();\r\n this.helper.UpdateLoginAccesstoken()\r\n //this.hideBanner()\r\n })\r\n }\r\n\r\n removeUserFCM() {\r\n this.storageService.getString(ApiService.FCM_TOKEN_KEY, token => {\r\n if (token.length > 0) {\r\n this.storageService.getString('Proppy_UserID', id => {\r\n this.httpService.doPost(ApiService.REMOVE_USER_FCMTOKEN, { UserID: id, FirebaseToken: token, DeviceUUID: this.device.uuid }).subscribe(res => {\r\n console.log(res.msg);\r\n })\r\n })\r\n }\r\n })\r\n }\r\n\r\n\r\n openTutorial() {\r\n //this.menu.enable(false);\r\n this.storage.set('ion_did_tutorial', false);\r\n //this.router.navigateByUrl('/tutorial');\r\n }\r\n\r\n setCordinatesAndGetData() {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.postParams.latitude = \"\" + resp.coords.latitude;\r\n this.postParams.longitude = \"\" + resp.coords.longitude;\r\n this.getAddress(parseFloat(this.postParams.latitude), parseFloat(this.postParams.longitude));\r\n }).catch((err) => {\r\n if (err['message'] == 'Illegal Access') {\r\n this.permissionService.showGPSModel()\r\n }\r\n });\r\n }\r\n\r\n async getAddress(lat: number, long: number, cb = () => { }) {\r\n let geocoder = await new google.maps.Geocoder();\r\n let latlng = await new google.maps.LatLng(lat, long);\r\n let request: google.maps.GeocoderRequest = { location: latlng };\r\n await geocoder.geocode(request, (results) => {\r\n if (results && results.length > 0) {\r\n let result = results[0];\r\n // this.selectedAddress = result.formatted_address\r\n var administrative_area_level_1 = result['address_components'].filter(f => f.types.includes('administrative_area_level_1'))\r\n var administrative_area_level_2 = result['address_components'].filter(f => f.types.includes('country'))\r\n var sublocality_level_1 = result['address_components'].filter(f => f['types'].includes('sublocality_level_1') ? f['types'].includes('sublocality_level_1') : f['types'].includes('locality'))\r\n this.area = sublocality_level_1[0].long_name\r\n this.state = administrative_area_level_1[0].long_name.includes('Kuala Lumpur') ? 'Kuala Lumpur' : administrative_area_level_1[0].long_name;\r\n cb()\r\n }\r\n });\r\n }\r\n\r\n async onSearchClickMarketPlace(landtype){\r\n var state = await this.storage.get('User_State') || 'Kuala Lumpur'\r\n await this.storageService.setData(ApiService.MARKETPLACE_FILTER_PARAMS, { land_type: landtype, latitude: this.postParams.latitude, longitude: this.postParams.longitude, state: state, property_type: '' })\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n replaceUrl: true,\r\n area: this.area,\r\n state: this.state,\r\n land_type: landtype\r\n }\r\n };\r\n this.navController.navigateForward([(this.helper.isDesktop()?'':'tabs/')+'own-property-list/coupons-property-listing'],navigationExtras);\r\n // let navigationExtras: NavigationExtras = {\r\n // queryParams: { \r\n // land_type: landtype\r\n // },\r\n // };\r\n // this.geolocation.getCurrentPosition().then(async (resp) => {\r\n // var state = await this.storage.get('User_State') || 'Kuala Lumpur'\r\n // await this.storageService.setData(ApiService.MARKETPLACE_FILTER_PARAMS, { land_type: landtype, latitude: resp.coords.latitude, longitude: resp.coords.longitude, state: state, property_type: '' })\r\n // let navigationExtras: NavigationExtras = {\r\n // queryParams: {\r\n // replaceUrl: true,\r\n // area: this.area,\r\n // state: this.state,\r\n // }\r\n // };\r\n // this.navController.navigateForward([(this.helper.isDesktop()?'':'tabs/')+'own-property-list/coupons-property-listing'],navigationExtras);\r\n // }).catch((err) => {\r\n // if (err['message'] == 'Illegal Access') {\r\n // this.permissionService.showGPSModel()\r\n // }\r\n // });\r\n }\r\n\r\n saleToletClick() {\r\n // let navigationExtras: NavigationExtras = {\r\n // queryParams: {\r\n // type: 'Sale'\r\n // }\r\n // };\r\n\r\n // this.router.navigate(['./tabs/marketplacenewlisting'], navigationExtras);\r\n this.router.navigate(['./tabs/add-property-to-market-terms-v2'])\r\n }\r\n\r\n async getIsProppyModerator() {\r\n this.storageService.getString(\"Proppy_UserID\", async (proppyID) => {\r\n if (proppyID != '') {\r\n this.http.post(ApiService.PROPPY_NEWS_GET_MODERATORS_COUNT, { pid: proppyID }).subscribe(res => {\r\n console.log('proppy getProppyNewsCount')\r\n if (res.hasOwnProperty('status') && res['status'] == true) {\r\n this.countModerator = res['proppy_moderators_count'];\r\n if (this.countModerator > 0) {\r\n this.isModerator = true\r\n } else {\r\n this.isModerator = false\r\n }\r\n console.log(this.isModerator)\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n async btnFAQClick() {\r\n const name = await this.storage.get(\"Proppy_Name\");\r\n const email = await this.storage.get('Proppy_Email');\r\n let fd_login_url = environment.fd_login_url\r\n const fd_url = `${fd_login_url}?email=${email}&name=${name}`\r\n this.iab.create(fd_url, '_blank');\r\n }\r\n async initializeAdmob(): Promise {\r\n /* const { status } = await AdMob.trackingAuthorizationStatus();\r\n \r\n if (status === 'notDetermined') {\r\n \r\n }\r\n \r\n AdMob.initialize({\r\n requestTrackingAuthorization: true,\r\n });*/\r\n }\r\n /* setUpRemoteNotifications() {\r\n PushNotifications.requestPermissions().then(result => {\r\n if (result.receive === 'granted') {\r\n // Register with Apple / Google to receive push via APNS/FCM\r\n PushNotifications.register();\r\n } else {\r\n // Show some error\r\n }\r\n });\r\n PushNotifications.addListener('registration', (token: Token) => {\r\n //alert('Push registration success, token: ' + token.value);\r\n console.log('Push registration success, token: ' + token.value);\r\n \r\n });\r\n \r\n PushNotifications.addListener('registrationError', (error: any) => {\r\n //alert('Error on registration: ' + JSON.stringify(error));\r\n console.log('Error on registration: ' + JSON.stringify(error));\r\n });\r\n \r\n PushNotifications.addListener('pushNotificationReceived', (notification: PushNotificationSchema) => {\r\n //alert('Push received: ' + JSON.stringify(notification));\r\n console.log('Push received: ' + JSON.stringify(notification));\r\n });\r\n \r\n PushNotifications.addListener('pushNotificationActionPerformed', (notification: ActionPerformed) => {\r\n //alert('Push action performed: ' + JSON.stringify(notification));\r\n console.log('Push action performed: ' + JSON.stringify(notification));\r\n });\r\n }*/\r\n\r\n navigateToC360Web() {\r\n window.open(c360_web_url)\r\n\r\n }\r\n // hideBanner() {\r\n // AdmobService.hideBanner()\r\n // }\r\n\r\n onMenuOpen() {\r\n AdmobService.hideBanner()\r\n this.checkLoginStatus()\r\n this.storageService.getString('Proppy_UserID', (proppyUserId) => {\r\n this.proppyUserId = proppyUserId;\r\n this.getBumpDetails();\r\n })\r\n }\r\n\r\n onMenuClose() {\r\n this.helper.validateBannerAdsDisplay()\r\n }\r\n checkFreshDeskContact(email, name) {\r\n let url = ApiService.FD_SEARCH_CONTACT_URL\r\n url = url.replace('$$EMAIL$$', email)\r\n this.httpService.doGet(url).subscribe(res => {\r\n const result = res['results'] || []\r\n if (result.length == 0) {\r\n // console.log(email,name)\r\n this.createContact(email, name)\r\n }\r\n })\r\n }\r\n async createContact(email, name) {\r\n let pid = await this.storage.get(\"Proppy_UserID\")\r\n const postParams = { \"name\": name, \"email\": email, \"unique_external_id\": pid }\r\n this.httpService.doPost(ApiService.FD_CREATE_CONTACT_URL, postParams).subscribe(res => {\r\n const fdUserId = res['id'] || 0\r\n if (fdUserId > 0) {\r\n console.log(\"Fresh Desk Account Created:\", fdUserId)\r\n }\r\n })\r\n }\r\n\r\n setSharedLibConstUrls() {\r\n sharedLibUtilConfig.CDN_PORTEL = cdn_portal\r\n sharedLibUtilConfig.DEEP_LINK_BASE_URL = deep_link_base_url\r\n sharedLibUtilConfig.DEEP_LINK_HOSTNAME = deep_link_hostname\r\n sharedLibUtilConfig.PAYMENT_PORTEL = payment_portal\r\n sharedLibUtilConfig.NEW_DEEP_LINK_BASE_URL = new_deep_link_base_url\r\n sharedLibUtilConfig.PROFFIS_DEEP_LINK_BASE_URL = proffis_deep_link_base_url\r\n\r\n // DOT NET URL \r\n sharedLibUtilConfig.PROPPY_BASE_PATH = ApiService.base_path\r\n\r\n // NODE URLS CHANGES \r\n sharedLibUtilConfig.BASE_NODE_API_URL = ApiService.BASE_NODE_URL\r\n sharedLibUtilConfig.MARKET_360_NODE_URL = ApiService.MARKET_360_NODE_URL;\r\n sharedLibUtilConfig.WPE_NODE_URL = ApiService.WPE_NODE_URL;\r\n sharedLibUtilConfig.SHARED_NODE_URL = ApiService.SHARED_NODE_URL\r\n UtilsConfig.SIGNATRUE_API_URL = ApiService.SIGNATRUE_NODE_URL;\r\n UtilsConfig.LS_TOKEN_KEY = ApiService.LBDB_TOKEN_KEY;\r\n\r\n LoginConfig.AUTH_NODE_BASE_URL = ApiService.AUTH_NODE_URL;\r\n LoginConfig.NODE_BASE_URL = ApiService.BASE_NODE_URL;\r\n LoginConfig.LS_TOKEN_KEY = ApiService.LBDB_TOKEN_KEY;\r\n LoginConfig.APP_VERSION_NUM = environment.app_version;\r\n LoginConfig.LBDB_PUSH_KEY = ApiService.LBDB_PUSH_KEY;\r\n LoginConfig.SELECTED_LANGUAGE_CODE=ApiService.SELECTED_LANGUAGE_CODE;\r\n }\r\n setScrollListener() {\r\n setTimeout(() => {\r\n // if (this.scrollEventListeners?.length > 0) {\r\n // this.scrollEventListeners.forEach(listener => listener());\r\n // this.scrollEventListeners = []\r\n // }\r\n const tabs = document.querySelector('ion-tabs');\r\n console.log('scrollEvents Pre initialized', tabs);\r\n const outlet = tabs.querySelector('ion-router-outlet');\r\n console.log('scrollEvents Pre initialized', outlet);\r\n const pages = outlet.querySelectorAll('.ion-page')\r\n const tabBar = document.querySelector('ion-tab-bar');\r\n const iconProppy = document.querySelector('.icon-proppy');\r\n let content = null\r\n pages.forEach((v) => {\r\n if ((v.getAttribute('style') || '').includes('z-index: 101;')) {\r\n console.log(v);\r\n content = v.querySelector('ion-content') || v.querySelector('div');\r\n return;\r\n }\r\n })\r\n if (content) {\r\n this.renderer.setProperty(content, 'scrollEvents', true);\r\n console.log('scrollEvents initialized', content);\r\n\r\n const scrollListener = this.renderer.listen(content, 'ionScroll', (event) => {\r\n console.log('scrollEvents triggered');\r\n const currentScrollTop = event.detail.scrollTop;\r\n\r\n if (currentScrollTop > this.previousScrollTop) {\r\n // Scrolling down\r\n this.renderer.setStyle(tabBar, 'display', 'none');\r\n this.renderer.setStyle(iconProppy, 'display', 'none');\r\n } else {\r\n // Scrolling up\r\n this.renderer.setStyle(tabBar, 'display', 'flex');\r\n this.renderer.setStyle(iconProppy, 'display', 'flex');\r\n }\r\n\r\n this.previousScrollTop = currentScrollTop;\r\n });\r\n\r\n // Store the listener to remove it later\r\n // this.scrollEventListeners.push(scrollListener);\r\n }\r\n }, 1000);\r\n }\r\n\r\n async openBumpPopover(params:any) {\r\n const modal = await this.modal_ctrl.create({\r\n component: BumpPopoverComponent,\r\n cssClass: 'modal-transparency',\r\n componentProps: {},\r\n })\r\n await modal.present();\r\n await modal.onWillDismiss().then((result) => {\r\n let tmpData = result.data || {}\r\n if(tmpData.messageStatus == 0) {\r\n params.show_bump_message = tmpData.messageStatus\r\n this.bump.isBumpPopover = tmpData.messageStatus\r\n }\r\n if(tmpData.status == 2) this.onOrOffBump(params)\r\n }).catch((err) => {\r\n this.alertHandeler.presenToast(err.error || ApiService.ERROR_TOAST_MSG)\r\n });\r\n }\r\n\r\n async onBump() {\r\n if(!this.bump.bumpStatus) {\r\n this.geolocation.getCurrentPosition()\r\n .then((res:any) => {\r\n let data = res.coords\r\n let params = {\r\n pid: this.proppyUserId,\r\n bump_latitude: data.latitude,\r\n bump_longitude: data.longitude,\r\n bump_status: 1\r\n }\r\n if(this.bump.isBumpPopover) {\r\n this.openBumpPopover(params)\r\n }else {\r\n this.onOrOffBump(params)\r\n }\r\n })\r\n }else {\r\n let params = {\r\n pid: this.proppyUserId,\r\n bump_status: 0\r\n }\r\n this.onOrOffBump(params)\r\n }\r\n }\r\n\r\n onOrOffBump(params:any) {\r\n this.httpService.doPost(ApiService.ACTIVATE_BUMP,params).subscribe({\r\n next: (res:any) => {\r\n const status = res.status || false\r\n if(status) {\r\n this.bump.bumpStatus = params.bump_status \r\n }else {\r\n this.alertHandeler.presenToast(res.error || ApiService.ERROR_TOAST_MSG)\r\n }\r\n },\r\n error: (err:any) => {\r\n this.alertHandeler.presenToast(err.error || ApiService.ERROR_TOAST_MSG)\r\n },\r\n complete: () => {}\r\n })\r\n }\r\n\r\n getBumpDetails() {\r\n this.httpService.doPost(ApiService.GET_USER_BUMP_DETAILS, {pid : this.proppyUserId}).subscribe({\r\n next: (res:any) => {\r\n let tmpData = res?.data?.['0'] || {}\r\n this.bump.bumpStatus = tmpData?.bump_status || 0\r\n this.bump.isBumpPopover = tmpData?.show_bump_message\r\n },\r\n error: (err:any) => {\r\n this.alertHandeler.presenToast(err.error || ApiService.ERROR_TOAST_MSG)\r\n },\r\n complete: () => {}\r\n })\r\n }\r\n\r\n}\r\n","import { LanguagePopoverPageModule } from './language-popover/language-popover.module';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouteReuseStrategy } from '@angular/router';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\r\nimport { StatusBar } from '@ionic-native/status-bar/ngx';\r\nimport { IonicStorageModule } from '@ionic/storage';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { HttpClientModule,HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ModalShopCartPageModule } from './modal-shop-cart/modal-shop-cart.module';\r\nimport { ModalMortgageDiagPageModule } from './modal-mortgage-diag/modal-mortgage-diag.module';\r\nimport{ ButlerNotificationPageModule } from './butler-notification/butler-notification.module';\r\nimport { ActionSheetModelPageModule } from './action-sheet-model/action-sheet-model.module';\r\nimport { ProppycaresModalInfoPageModule } from './proppycares-modal-info/proppycares-modal-info.module';\r\nimport { MarketplaceMediaPopupPageModule } from './marketplace-media-popup/marketplace-media-popup.module';\r\n\r\n\r\nimport { Stripe } from '@ionic-native/stripe/ngx';\r\nimport { SocialSharing } from '@ionic-native/social-sharing/ngx';\r\nimport { InAppBrowser } from '@ionic-native/in-app-browser/ngx';\r\nimport { Badge } from '@ionic-native/badge/ngx';\r\n\r\n// geolocation and native-geocoder\r\nimport { Geolocation } from '@ionic-native/geolocation/ngx';\r\nimport { NativeGeocoder } from '@ionic-native/native-geocoder/ngx';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy/ngx';\r\n\r\nimport { Camera } from '@ionic-native/camera/ngx';\r\nimport { File } from '@ionic-native/file/ngx';\r\nimport { WebView } from '@ionic-native/ionic-webview/ngx';\r\nimport { FilePath } from '@ionic-native/file-path/ngx';\r\n\r\nimport { TranslateModule, TranslateLoader} from '@ngx-translate/core';\r\nimport { TranslateHttpLoader} from '@ngx-translate/http-loader';\r\nimport { QRScanner } from '@ionic-native/qr-scanner/ngx';\r\nimport { AppVersion } from '@ionic-native/app-version/ngx';\r\nimport { Deeplinks } from '@ionic-native/deeplinks/ngx';\r\nimport { ImagePicker } from '@ionic-native/image-picker/ngx'; \r\nimport { FileOpener } from '@ionic-native/file-opener/ngx';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions/ngx';\r\nimport { EndorsementListPipe } from './endorsement-list.pipe';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CurrencyMaskConfig, CurrencyMaskModule, CURRENCY_MASK_CONFIG } from \"ng2-currency-mask\";\r\nimport { Device } from '@ionic-native/device/ngx';\r\nimport { JwtInterceptor } from './services/jwt.interceptor';\r\n// import { FirebaseX } from '@ionic-native/firebase-x/ngx';\r\n\r\n//Leaflet Cluster plugin\r\nimport { LeafletModule } from '@asymmetrik/ngx-leaflet';\r\nimport { LeafletMarkerClusterModule } from '@asymmetrik/ngx-leaflet-markercluster';\r\nimport { AgmCoreModule } from '@agm/core';\r\n\r\n//import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';\r\n// import { fas } from '@fortawesome/free-solid-svg-icons'\r\n// import { far } from '@fortawesome/free-regular-svg-icons'\r\n// import { fab } from '@fortawesome/free-brands-svg-icons'\r\n\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { FirebaseAuthService } from './services/firebase-auth-service.service';\r\nimport { GooglePlus } from '@ionic-native/google-plus/ngx';\r\nimport { Facebook } from '@ionic-native/facebook/ngx';\r\nimport { SignInWithApple } from '@ionic-native/sign-in-with-apple/ngx';\r\nimport { LazyLoadImageModule } from 'ng-lazyload-image';\r\nimport { PhotoViewer } from '@ionic-native/photo-viewer/ngx';\r\nimport { FileChooser } from '@ionic-native/file-chooser/ngx';\r\nimport { IOSFilePicker } from '@ionic-native/file-picker/ngx';\r\nimport { PreviewAnyFile } from '@ionic-native/preview-any-file/ngx';\r\nimport { Clipboard } from '@ionic-native/clipboard/ngx';\r\n\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { MediaCapture, MediaFile, CaptureError, CaptureImageOptions } from '@ionic-native/media-capture/ngx';\r\nimport { VideoEditor } from '@ionic-native/video-editor/ngx';\r\nimport { StreamingMedia } from '@ionic-native/streaming-media/ngx';\r\nimport * as Hammer from 'hammerjs';\r\nimport { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';\r\nimport { MarketplacenewlistingModalInfoPageModule } from './marketplacenewlisting-modal-info/marketplacenewlisting-modal-info.module';\r\nimport { InternetConnectionModalPageModule } from './modals/internet-connection-modal/internet-connection-modal.module';\r\nimport { Network } from '@ionic-native/network/ngx';\r\nimport { PhotoViewerPageModule } from './reusables/photo-viewer/photo-viewer.module';\r\nimport { PermissionModalPageModule } from './modals/permission-modal/permission-modal.module';\r\nimport { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx';\r\nimport { MultipleDocumentsPicker } from '@ionic-native/multiple-document-picker/ngx';\r\nimport { MerchantPopoverPageModule } from './merchant-popover/merchant-popover.module';\r\nimport { AuthGuardService } from './services/middleware/auth-guard.service';\r\nimport { AuthService } from './services/middleware/auth.service';\r\nimport { GlobalErrorHandlerService } from './services/middleware/global-error-handler.service';\r\nimport { PDFGenerator } from '@awesome-cordova-plugins/pdf-generator/ngx';\r\nimport { ErrorInterceptor } from './services/error.interceptor';\r\nimport { UiSharedModule } from './ui-shared.module';\r\nimport { CallNumber } from '@awesome-cordova-plugins/call-number/ngx';\r\n\r\nexport class MyHammerConfig extends HammerGestureConfig {\r\n overrides = {\r\n // pan: { direction: Hammer.DIRECTION_ALL },\r\n // swipe: { direction: Hammer.DIRECTION_ALL },\r\n 'pinch': { enable: false },\r\n 'rotate': { enable: false } \r\n };\r\n}\r\n\r\n// For Firebase JS SDK v7.20.0 and later, measurementId is optional\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyDwW67TDu8X8UHkN_nwTgRxq_1vNP1kmB0\",\r\n authDomain: \"proppyapp-82d1b.firebaseapp.com\",\r\n projectId: \"proppyapp-82d1b\",\r\n storageBucket: \"proppyapp-82d1b.appspot.com\",\r\n messagingSenderId: \"357990397459\",\r\n appId: \"1:357990397459:web:80d8d7fe2a14602788b1e6\",\r\n measurementId: \"G-H7TJDC9FBE\"\r\n};\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\r\n //return new TranslateHttpLoader(http, 'https://proppyapp.com/app/translation/', '.json');\r\n \r\n}\r\n\r\nexport const CustomCurrencyMaskConfig: CurrencyMaskConfig = {\r\n align: \"left\",\r\n allowNegative: false,\r\n decimal: \".\",\r\n precision: 2,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \",\"\r\n};\r\n\r\n@NgModule({\r\n declarations: [AppComponent, EndorsementListPipe],\r\n imports: [BrowserModule,\r\n IonicModule.forRoot(),\r\n IonicStorageModule.forRoot({ name: \"proppy_local_db\", driverOrder: ['indexeddb', 'sqlite', 'websql'] }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [HttpClient]\r\n }\r\n }), AgmCoreModule.forRoot({\r\n apiKey: 'AIzaSyAaQJpf2YbAitpQH0FFg-QT6yY9uSa0eHM', libraries: [\"places\"]\r\n }),\r\n AppRoutingModule, HttpClientModule, ModalShopCartPageModule, ModalMortgageDiagPageModule,\r\n FormsModule, ButlerNotificationPageModule, ActionSheetModelPageModule, ProppycaresModalInfoPageModule, MarketplacenewlistingModalInfoPageModule, MarketplaceMediaPopupPageModule, LanguagePopoverPageModule, NgSelectModule, CurrencyMaskModule,\r\n LeafletModule, LeafletMarkerClusterModule, AngularFireModule.initializeApp(firebaseConfig), AngularFireAuthModule,\r\n LazyLoadImageModule, ArchwizardModule, InternetConnectionModalPageModule, PhotoViewerPageModule, PermissionModalPageModule, MerchantPopoverPageModule, UiSharedModule,\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n StatusBar,\r\n Camera,\r\n Stripe,\r\n SocialSharing,\r\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\r\n Geolocation,\r\n NativeGeocoder,\r\n LocationAccuracy,\r\n InAppBrowser,\r\n Badge,\r\n File,\r\n WebView,\r\n FilePath,\r\n AppVersion,\r\n Device,\r\n Deeplinks,\r\n ImagePicker,\r\n FileOpener,\r\n AndroidPermissions,\r\n QRScanner,\r\n PhotoViewer,\r\n FileChooser,\r\n IOSFilePicker,\r\n PreviewAnyFile,\r\n Clipboard,\r\n Network,\r\n OpenNativeSettings,\r\n CallNumber,\r\n MultipleDocumentsPicker,\r\n PDFGenerator,\r\n AuthGuardService, AuthService,\r\n { provide: CURRENCY_MASK_CONFIG, useValue: CustomCurrencyMaskConfig },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n FirebaseAuthService, GooglePlus, Facebook, SignInWithApple, MediaCapture,\r\n StreamingMedia, VideoEditor,\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: MyHammerConfig,\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: GlobalErrorHandlerService,\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n // constructor(library: FaIconLibrary) { \r\n\t// \tlibrary.addIconPacks(fas, fab, far);\r\n\t// }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-bump-popover',\r\n templateUrl: './bump-popover.component.html',\r\n styleUrls: ['./bump-popover.component.scss'],\r\n})\r\nexport class BumpPopoverComponent implements OnInit {\r\n popoverMessageStatus:number = 1\r\n \r\n constructor(\r\n private mdCtrl: ModalController\r\n ) { }\r\n\r\n ngOnInit() {}\r\n\r\n dismiss(type:number=1) {\r\n this.mdCtrl.dismiss({messageStatus:this.popoverMessageStatus,status: type});\r\n }\r\n\r\n bumpPopover() {\r\n if(this.popoverMessageStatus) {\r\n this.popoverMessageStatus = 0\r\n }else {\r\n this.popoverMessageStatus = 1\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ButlerNotificationPage } from './butler-notification.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ButlerNotificationPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ButlerNotificationPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { ButlerNotificationPageRoutingModule } from './butler-notification-routing.module';\r\n\r\nimport { ButlerNotificationPage } from './butler-notification.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n ButlerNotificationPageRoutingModule\r\n ],\r\n declarations: [ButlerNotificationPage]\r\n})\r\nexport class ButlerNotificationPageModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ModalController, NavController, NavParams } from \"@ionic/angular\";\r\nimport { AppHelper } from \"../services/middleware/app-helper\";\r\n\r\n@Component({\r\n selector: \"app-butler-notification\",\r\n templateUrl: \"./butler-notification.page.html\",\r\n styleUrls: [\"./butler-notification.page.scss\"],\r\n})\r\nexport class ButlerNotificationPage implements OnInit {\r\n notificationImage: string;\r\n imagePath: string = \"assets/butlerNotify/\";\r\n constructor(\r\n private router: Router,\r\n private navCtrl: NavController,\r\n public modalCtrl: ModalController,\r\n private navParams: NavParams,\r\n public helper:AppHelper\r\n ) {\r\n const elapsedDays: number = this.navParams.get(\"elapsedDays\");\r\n if (elapsedDays < -2) {\r\n this.notificationImage = \"proppy_notification07.png\";\r\n } else if (elapsedDays == -2) {\r\n this.notificationImage = \"proppy_notification06.png\";\r\n } else if (elapsedDays == -1) {\r\n this.notificationImage = \"proppy_notification05.png\";\r\n } else if (elapsedDays == 0) {\r\n this.notificationImage = \"proppy_notification04.png\";\r\n } else if (elapsedDays == 1) {\r\n this.notificationImage = \"proppy_notification03.png\";\r\n } else if (elapsedDays == 2) {\r\n this.notificationImage = \"proppy_notification02.png\";\r\n } else if (elapsedDays == 30){\r\n this.notificationImage = \"proppy_notification01.png\";\r\n } else {\r\n setTimeout(() => {\r\n this.closeModal()\r\n }, 100);\r\n return\r\n }\r\n this.notificationImage = this.imagePath + this.notificationImage;\r\n console.log(elapsedDays);\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n goMortgageButler() {\r\n this.modalCtrl.dismiss();\r\n this.router.navigate([(this.helper.isDesktop() ? \"\" : \"tabs/\") + \"mortageplan\",\r\n ]);\r\n }\r\n\r\n public closeModal() {\r\n this.modalCtrl.dismiss();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'endorsementList'\r\n})\r\nexport class EndorsementListPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n return null;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LanguagePopoverPage } from './language-popover.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LanguagePopoverPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LanguagePopoverPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LanguagePopoverPageRoutingModule } from './language-popover-routing.module';\r\n\r\nimport { LanguagePopoverPage } from './language-popover.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LanguagePopoverPageRoutingModule\r\n ],\r\n declarations: [LanguagePopoverPage]\r\n})\r\nexport class LanguagePopoverPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PopoverController } from '@ionic/angular';\r\nimport { LanguageService } from './../services/language.service';\r\n\r\n@Component({\r\n selector: 'app-language-popover',\r\n templateUrl: './language-popover.page.html',\r\n styleUrls: ['./language-popover.page.scss'],\r\n})\r\nexport class LanguagePopoverPage implements OnInit {\r\n languages = [];\r\n selected = '';\r\n \r\n constructor(private languageService: LanguageService, private popoverCtrl: PopoverController) { }\r\n\r\n ngOnInit() {\r\n this.languages = this.languageService.getLanguages();\r\n this.selected = this.languageService.selected;\r\n }\r\n \r\n select(lng) {\r\n this.languageService.setLanguage(lng);\r\n this.popoverCtrl.dismiss(lng);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MarketplaceMediaPopupPage } from './marketplace-media-popup.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: MarketplaceMediaPopupPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class MarketplaceMediaPopupPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { MarketplaceMediaPopupPageRoutingModule } from './marketplace-media-popup-routing.module';\r\n\r\nimport { MarketplaceMediaPopupPage } from './marketplace-media-popup.page';\r\nimport { TranslateModule } from '@ngx-translate/core'\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n MarketplaceMediaPopupPageRoutingModule,\r\n TranslateModule\r\n ],\r\n declarations: [MarketplaceMediaPopupPage]\r\n})\r\nexport class MarketplaceMediaPopupPageModule {}\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LoadingController, ModalController, NavParams } from '@ionic/angular';\r\nimport { DataFetcherService } from '../services/data-fetcher/data-fetcher.service';\r\nimport { ApiService } from '../services/api.service';\r\nimport { AlertHandlerService } from '../services/alert-handler.service';\r\nimport 'hammerjs';\r\nimport { StreamingMedia, StreamingVideoOptions } from '@ionic-native/streaming-media/ngx';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { PhotoViewer } from '@ionic-native/photo-viewer/ngx';\r\nimport { environment, cdn_portal } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-marketplace-media-popup',\r\n templateUrl: './marketplace-media-popup.page.html',\r\n styleUrls: ['./marketplace-media-popup.page.scss'],\r\n})\r\nexport class MarketplaceMediaPopupPage implements OnInit {\r\n public appName = \"PropertyMarket\" ;\r\n ListingID=''\r\n ID=0\r\n PropertyID=0\r\n propertyImages=[];\r\n constructor(public activatedRoute: ActivatedRoute\r\n , private navParams:NavParams\r\n ,private constant: DataFetcherService\r\n ,private ref: ChangeDetectorRef\r\n ,private alertHandeler:AlertHandlerService\r\n ,private modalCtrl:ModalController\r\n ,private streamingMedia: StreamingMedia\r\n , private loadingController: LoadingController\r\n , private http: HttpClient\r\n ,private photoViewer:PhotoViewer) { \r\n this.ListingID = this.navParams.get('ListingID');\r\n this.ID = this.navParams.get('ID');\r\n this.PropertyID = this.navParams.get('PropertyID');\r\n this.getPropertyImages()\r\n console.log(this.PropertyID,this.ID)\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n getPropertyImages() {\r\n this.constant.doPost(ApiService.GET_PROPERTY_MARKET_IMAGES_BY_MEDIABYID, {\"ID\": this.ID}).subscribe((res) => {\r\n if (res.hasOwnProperty('status') && res['status'] == true) {\r\n this.propertyImages = res['data'];\r\n console.log(this.propertyImages)\r\n this.ref.detectChanges();\r\n } else {\r\n this.alertHandeler.presentAlert(\"Invalid Data From service.\");\r\n }\r\n });\r\n }\r\n\r\n async deleteMerchantImage(imageID, publicId) {\r\n const loading = await this.loadingController.create({\r\n message: 'Deleting...',\r\n });\r\n await loading.present();\r\n this.constant.doPost(ApiService.DELETE_PROPERTY_MARKET_IMAGES, {\"ID\":imageID,\"PublicID\":publicId,\"PropertyId\":this.PropertyID}).pipe(finalize(() => { loading.dismiss(); })).subscribe((res) => {\r\n if (res.hasOwnProperty('status') && res['status'] == true) {\r\n this.closeBtnClick();\r\n } else {\r\n //this.errorMessage = res['msg'] || res['error'] || \"Invalid data from server\";\r\n }\r\n });\r\n }\r\n\r\n async deleteMedia(mediaId, mediaURL) {\r\n const loading = await this.loadingController.create({\r\n message: 'Deleting...',\r\n });\r\n await loading.present();\r\n let files = new Array();\r\n files.push(mediaURL);\r\n let params = new URLSearchParams();\r\n params.set(\"appName\", this.appName);\r\n params.set(\"mediaID\", mediaId);\r\n params.set(\"file\", mediaURL);\r\n\r\n this.http.post(cdn_portal + \"ifile2/api/File/Delete?\"+params.toString(), null)\r\n .pipe(\r\n finalize(() => {\r\n loading.dismiss();\r\n // this.endTime = Date.now();\r\n // alert(\"Upload completed in: \" + (this.endTime - this.startTime)/1000 + \" seconds\");\r\n })\r\n )\r\n .subscribe(res => {\r\n this.closeBtnClick();\r\n });\r\n }\r\n\r\n closeBtnClick(){\r\n const onClosedData: boolean = true;\r\n this.modalCtrl.dismiss();\r\n }\r\n\r\n showImg(url){\r\n this.photoViewer.show(url)\r\n }\r\n\r\n playPreview(event) {\r\n console.log(event.srcEvent.srcElement);\r\n if (event.srcEvent.srcElement.paused) {\r\n event.srcEvent.srcElement.play();\r\n }\r\n else {\r\n event.srcEvent.srcElement.pause();\r\n }\r\n\r\n }\r\n\r\n playVid(video) {\r\n let options: StreamingVideoOptions = {\r\n successCallback: () => { console.log('Video played') },\r\n errorCallback: (e) => { console.log('Error streaming') },\r\n //orientation: 'landscape',\r\n shouldAutoClose: true,\r\n controls: true\r\n };\r\n\r\n this.streamingMedia.playVideo(video, options); \r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MarketplacenewlistingModalInfoPage } from './marketplacenewlisting-modal-info.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: MarketplacenewlistingModalInfoPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class MarketplacenewlistingModalInfoPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { MarketplacenewlistingModalInfoPageRoutingModule } from './marketplacenewlisting-modal-info-routing.module';\r\n\r\nimport { MarketplacenewlistingModalInfoPage } from './marketplacenewlisting-modal-info.page';\r\nimport { TranslateModule } from '@ngx-translate/core'\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n MarketplacenewlistingModalInfoPageRoutingModule,\r\n TranslateModule\r\n ],\r\n declarations: [MarketplacenewlistingModalInfoPage]\r\n})\r\nexport class MarketplacenewlistingModalInfoPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-marketplacenewlisting-modal-info',\r\n templateUrl: './marketplacenewlisting-modal-info.page.html',\r\n styleUrls: ['./marketplacenewlisting-modal-info.page.scss'],\r\n})\r\nexport class MarketplacenewlistingModalInfoPage implements OnInit {\r\n\r\n InitialClick=true;\r\n NextClick=false;\r\n NextClick2=false;\r\n NextClick3=false;\r\n NextClick4=false;\r\n NextClick5=false;\r\n constructor(private modalCtrl:ModalController) { }\r\n\r\n ngOnInit() {\r\n }\r\n OnNextClick(){\r\n this.InitialClick=false;\r\n this.NextClick=true;\r\n }\r\n OnNextClick2(){\r\n this.InitialClick=false;\r\n this.NextClick=false;\r\n this.NextClick2=true;\r\n }\r\n OnNextClick3(){\r\n this.InitialClick=false;\r\n this.NextClick=false;\r\n this.NextClick2=false;\r\n this.NextClick3=true;\r\n }\r\n OnNextClick4(){\r\n this.modalCtrl.dismiss();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MerchantPopoverPage } from './merchant-popover.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: MerchantPopoverPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class MerchantPopoverPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { MerchantPopoverPageRoutingModule } from './merchant-popover-routing.module';\r\n\r\nimport { MerchantPopoverPage } from './merchant-popover.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n MerchantPopoverPageRoutingModule\r\n ],\r\n declarations: [MerchantPopoverPage]\r\n})\r\nexport class MerchantPopoverPageModule {}\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { NavigationExtras, Router } from '@angular/router';\r\nimport { NavParams, PopoverController } from '@ionic/angular';\r\nimport { Storage } from '@ionic/storage';\r\nimport { AppHelper } from '../services/middleware/app-helper';\r\nimport { StorageService } from '../services/storage.service';\r\n\r\n@Component({\r\n selector: 'app-merchant-popover',\r\n templateUrl: './merchant-popover.page.html',\r\n styleUrls: ['./merchant-popover.page.scss'],\r\n})\r\nexport class MerchantPopoverPage implements OnInit {\r\n merchantData={}\r\n CreatorUserID=''\r\n constructor(\r\n private navParams:NavParams,\r\n private popover:PopoverController,\r\n private router:Router,\r\n public user: StorageService,\r\n private ngZone:NgZone,\r\n public helper:AppHelper,\r\n private storage: Storage,\r\n\r\n ) {\r\n this.merchantData=this.navParams.data\r\n this.user.getString('Proppy_UserID',id=>{\r\n this.CreatorUserID = id\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async onChatClick(data){\r\n this.popover.dismiss();\r\n // this.user.chatWith = {\r\n // Proppy_UserID: this.merchantData['CreatedBy'],\r\n // Proppy_FirstName: this.merchantData['CreatedBy'],\r\n // Proppy_Profile_Pic: this.merchantData['Image_URL']\r\n // };\r\n // // console.log('onChatClic' + data.CreatedBy)\r\n // // console.log('onChatClic' + data.Image_URL)\r\n // // console.log('onChatClic' + JSON.stringify(data))\r\n\r\n // this.user.subjectId = this.merchantData['MerchantID'] + this.CreatorUserID;\r\n // this.user.subject = 'ProppyCares : '+ this.merchantData['Name'];\r\n\r\n // //console.log(this.user.chatWith);\r\n\r\n // this.router.navigate(['/tabs/chat']);\r\n\r\n\r\n const participants = {\"UserID\":this.merchantData['created_by'],\"Name\":this.merchantData['created_by'],\"ProfilePicURL\":this.merchantData['company_logo']}\r\n var conversationData = {\"GroupName\":(\"ProppyCares : \" + this.merchantData['name']),\r\n \"GroupId\":(this.merchantData['merchant_id'] + this.CreatorUserID),\"Participants\":[participants]}\r\n await this.user.setData(\"newConversation\",conversationData);\r\n console.log(conversationData);\r\n this.router.navigate(['group-chat']);\r\n\r\n\r\n}\r\n\r\nonDetailsClick() {\r\n this.popover.dismiss();\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n MerchantID: this.merchantData['merchant_id']\r\n }\r\n };\r\n this.ngZone.run(() => {\r\n this.router.navigate([(this.helper.isDesktop()?'':'tabs/')+'merchantdetails'], navigationExtras);\r\n });\r\n}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ModalMortgageDiagPage } from './modal-mortgage-diag.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ModalMortgageDiagPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ModalMortgageDiagPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { ModalMortgageDiagPageRoutingModule } from './modal-mortgage-diag-routing.module';\r\n\r\nimport { ModalMortgageDiagPage } from './modal-mortgage-diag.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n ModalMortgageDiagPageRoutingModule\r\n ],\r\n declarations: [ModalMortgageDiagPage]\r\n})\r\nexport class ModalMortgageDiagPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { ModalMortgageDiagReportPage } from '../modal-mortgage-diag-report/modal-mortgage-diag-report.page';\r\nimport { ModalController } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-modal-mortgage-diag',\r\n templateUrl: './modal-mortgage-diag.page.html',\r\n styleUrls: ['./modal-mortgage-diag.page.scss'],\r\n})\r\nexport class ModalMortgageDiagPage implements OnInit {\r\n\r\n mortgage: MortgageOptions = { principal: 0, loanTerm: 0, intRate: 0};\r\n\r\n constructor(private router:Router,private modalCtrl: ModalController) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openDiagnoseReport(){\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n principal: this.mortgage.principal,\r\n loanTerm: this.mortgage.loanTerm,\r\n intRate: this.mortgage.intRate\r\n }\r\n };\r\n \r\n this.router.navigate(['/modal-mortgage-diag-report'],navigationExtras)\r\n //this.router.navigateByUrl('/modal-mortgage-diag-report')\r\n this.modalCtrl.dismiss();\r\n }\r\n\r\n}\r\n\r\nexport interface MortgageOptions {\r\n principal: number;\r\n loanTerm: number;\r\n intRate: number;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ModalShopCartPage } from './modal-shop-cart.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ModalShopCartPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ModalShopCartPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { ModalShopCartPageRoutingModule } from './modal-shop-cart-routing.module';\r\n\r\nimport { ModalShopCartPage } from './modal-shop-cart.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n ModalShopCartPageRoutingModule\r\n ],\r\n declarations: [ModalShopCartPage]\r\n})\r\nexport class ModalShopCartPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ModalController, AlertController,ToastController } from '@ionic/angular';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ProppyService } from '../api/proppy.service';\r\nimport { Storage } from '@ionic/storage';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-modal-shop-cart',\r\n templateUrl: './modal-shop-cart.page.html',\r\n styleUrls: ['./modal-shop-cart.page.scss'],\r\n})\r\nexport class ModalShopCartPage implements OnInit {\r\n\r\n ShoppingCartItems: Observable;\r\n totalCart: any = 0;\r\n email: string;\r\n \r\n \r\n constructor(private modalCtrl: ModalController, \r\n private router: Router,\r\n public rest: ProppyService, \r\n private alertCtrl: AlertController,\r\n public toastCtrl: ToastController,\r\n private http: HttpClient,\r\n public storage: Storage) { }\r\n\r\n ngOnInit() {\r\n this.mLoadCart();\r\n }\r\n\r\n mLoadCart(){\r\n this.storage.get('Proppy_Email').then((result) => {\r\n this.email = result;\r\n this.getShoppingCartItems(this.email);\r\n this.getCartSubTotal(this.email);\r\n });\r\n }\r\n\r\n async getCartItemTotal(){\r\n let email: string = await this.storage.get('Proppy_Email');\r\n this.http.get(this.rest.apiProductsAddToCart + '?customerEmail=' + email + '&type=total').pipe(res => res).subscribe(data => {\r\n this.rest.CartItems = data[0]\r\n });\r\n }\r\n\r\n getShoppingCartItems(email){\r\n this.http.get(this.rest.apiProductsAddToCart + '?customerEmail=' + email).subscribe(\r\n data => this.ShoppingCartItems = data,\r\n //error => this.error = error.message\r\n )\r\n }\r\n\r\n getCartSubTotal(email){\r\n this.http.get(this.rest.apiProductsAddToCart + '?customerEmail=' + email + '&type=subtotal').pipe(res => res).subscribe(data => {\r\n this.totalCart = data;\r\n });\r\n }\r\n\r\n close() {\r\n this.modalCtrl.dismiss();\r\n }\r\n\r\n deleteCartItem(itemid: number){\r\n const httpOptions = {\r\n headers: new HttpHeaders({'Content-Type': 'application/json'})\r\n }\r\n\r\n return this.http.delete(this.rest.apiProductsAddToCart + '?id=' + itemid, httpOptions)\r\n .subscribe(data => {\r\n this.mLoadCart();\r\n this.rest.CartItems--;\r\n }, error => {\r\n this.presentToast('Could not remove item!')\r\n });\r\n\r\n }\r\n\r\n async decreaseCartItem(product) {\r\n let email: string = await this.storage.get('Proppy_Email');\r\n let username: string = await this.storage.get('username');\r\n const httpOptions = {\r\n headers: new HttpHeaders({'Content-Type': 'application/json'})\r\n }\r\n\r\n if (product.Qty == 1){\r\n this.deleteCartItem(product.ID);\r\n } else {\r\n let body = {\r\n Datetime: new Date().toISOString(),\r\n ID:product.ID,\r\n CustomerEmail: email,\r\n CustomerName: username,\r\n ProductName: product.ProductName,\r\n ProductDescription: product.ProductDescription,\r\n ProductCode: product.ProductCode,\r\n Qty: product.Qty - 1,\r\n PriceUSD: product.PriceUSD - (product.PriceUSD / product.Qty)\r\n };\r\n \r\n return this.http.put(this.rest.apiProductsAddToCart+ '/' + product.ID, JSON.stringify(body), httpOptions)\r\n .subscribe(data => {\r\n this.mLoadCart();\r\n }, error => {\r\n this.presentToast('Could not add to shopping cart!');\r\n });\r\n }\r\n }\r\n \r\n async increaseCartItem(product) {\r\n let email: string = await this.storage.get('Proppy_Email');\r\n let username: string = await this.storage.get('username');\r\n const httpOptions = {\r\n headers: new HttpHeaders({'Content-Type': 'application/json'})\r\n }\r\n let body = {\r\n Datetime: new Date().toISOString(),\r\n ID:product.ID,\r\n CustomerEmail: email,\r\n CustomerName: username,\r\n ProductName: product.ProductName,\r\n ProductDescription: product.ProductDescription,\r\n ProductCode: product.ProductCode,\r\n Qty: product.Qty + 1,\r\n PriceUSD: product.PriceUSD + (product.PriceUSD / product.Qty)\r\n };\r\n \r\n return this.http.put(this.rest.apiProductsAddToCart+ '/' + product.ID, JSON.stringify(body), httpOptions)\r\n .subscribe(data => {\r\n this.mLoadCart();\r\n }, error => {\r\n this.presentToast('Could not add to shopping cart!');\r\n });\r\n }\r\n\r\n async presentToast(error) {\r\n const toast = await this.toastCtrl.create({\r\n message: error,\r\n duration: 3000\r\n });\r\n toast.present();\r\n }\r\n\r\n \r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { InternetConnectionModalPage } from './internet-connection-modal.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: InternetConnectionModalPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class InternetConnectionModalPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { InternetConnectionModalPageRoutingModule } from './internet-connection-modal-routing.module';\r\n\r\nimport { InternetConnectionModalPage } from './internet-connection-modal.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n InternetConnectionModalPageRoutingModule\r\n ],\r\n declarations: [InternetConnectionModalPage]\r\n})\r\nexport class InternetConnectionModalPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Network } from '@ionic-native/network/ngx';\r\nimport { NavParams } from '@ionic/angular';\r\nimport { ConnectivityService } from 'src/app/services/connectivity.service';\r\n\r\n@Component({\r\n selector: 'app-internet-connection-modal',\r\n templateUrl: './internet-connection-modal.page.html',\r\n styleUrls: ['./internet-connection-modal.page.scss'],\r\n})\r\nexport class InternetConnectionModalPage implements OnInit {\r\n\r\n\r\n constructor(private navParams:NavParams) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onTryAgainClick(){\r\n this.navParams.get('RetryFun')();\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { PermissionModalPage } from './permission-modal.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PermissionModalPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class PermissionModalPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { PermissionModalPageRoutingModule } from './permission-modal-routing.module';\r\n\r\nimport { PermissionModalPage } from './permission-modal.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n PermissionModalPageRoutingModule\r\n ],\r\n declarations: [PermissionModalPage]\r\n})\r\nexport class PermissionModalPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx';\r\nimport { NavParams } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-permission-modal',\r\n templateUrl: './permission-modal.page.html',\r\n styleUrls: ['./permission-modal.page.scss'],\r\n})\r\nexport class PermissionModalPage implements OnInit {\r\n\r\n constructor(private navParams:NavParams,private openNativeSettings:OpenNativeSettings) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onTryAgainClick(){\r\n // this.navParams.get('RetryFun')();\r\n this.openNativeSettings.open('application_details').then((val)=>{\r\n console.log(val)\r\n this.navParams.get('RetryFun')();\r\n },err=>{\r\n console.log(err)\r\n })\r\n }\r\n\r\n public closeModal(){\r\n this.navParams.get('RetryFun')();\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\r\nimport { ModalController } from \"@ionic/angular\";\r\nimport { AlertHandlerService } from \"src/app/services/alert-handler.service\";\r\nimport { DataFetcherService } from \"src/app/services/data-fetcher/data-fetcher.service\";\r\n\r\n@Component({\r\n selector: \"app-pm-popover\",\r\n templateUrl: \"./pm-popover.component.html\",\r\n styleUrls: [\"./pm-popover.component.scss\"],\r\n})\r\nexport class PmPopoverComponent implements OnInit {\r\n display_type: any;\r\n promoter_obj: any = {};\r\n company_name = \"\";\r\n //BELOW DISPLAY TYPE 8 PROPERTIES\r\n btn_1 = \"Cancel\";\r\n btn_2 = \"Confirm\";\r\n is_cross_icon = false;\r\n header_txt = \"\";\r\n description = \"\";\r\n icon = \"\";\r\n icon_class = \"\";\r\n icon_size = \"30px\";\r\n header_class = \"fmeb17\";\r\n desc_class = \"fmn11 color_fn_gray\";\r\n btn_1_txt_class = \"fmb11\";\r\n btn_2_txt_class = \"fmb11\";\r\n btn_1_div_cls = \"cancel_btn_typ_8 papy2 papx6 br20\";\r\n btn_2_div_cls = \"confirm_btn_typ_8 papy2 papx6 br20\";\r\n main_cls = \"delete_promoter_container\";\r\n is_checked:boolean=false;\r\n isHeaderTxt:boolean=false\r\n btn_1_under_txt='';\r\n btn_2_under_txt='';\r\n constructor(\r\n private modal_ctrl: ModalController,\r\n\r\n ) {}\r\n\r\n ngOnInit() {}\r\n\r\n onDismiss(data: any = null) {\r\n this.modal_ctrl.dismiss(data);\r\n }\r\n\r\n checkVal(){\r\n this.is_checked=!this.is_checked\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { IonicModule } from \"@ionic/angular\";\r\nimport { PmPopoverComponent } from \"./pm-popover.component\";\r\n\r\n@NgModule({\r\n declarations: [PmPopoverComponent],\r\n imports: [CommonModule, FormsModule, IonicModule],\r\n exports: [PmPopoverComponent],\r\n})\r\nexport class PmPopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ProppycaresModalInfoPage } from './proppycares-modal-info.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ProppycaresModalInfoPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ProppycaresModalInfoPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { ProppycaresModalInfoPageRoutingModule } from './proppycares-modal-info-routing.module';\r\n\r\nimport { ProppycaresModalInfoPage } from './proppycares-modal-info.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n ProppycaresModalInfoPageRoutingModule\r\n ],\r\n declarations: [ProppycaresModalInfoPage]\r\n})\r\nexport class ProppycaresModalInfoPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-proppycares-modal-info',\r\n templateUrl: './proppycares-modal-info.page.html',\r\n styleUrls: ['./proppycares-modal-info.page.scss'],\r\n})\r\nexport class ProppycaresModalInfoPage implements OnInit {\r\n InitialClick=true;\r\n NextClick=false;\r\n NextClick2=false;\r\n NextClick3=false;\r\n NextClick4=false;\r\n NextClick5=false;\r\n constructor(private modalCtrl:ModalController) { }\r\n\r\n ngOnInit() {\r\n }\r\n OnNextClick(){\r\n this.InitialClick=false;\r\n this.NextClick=true;\r\n }\r\n OnNextClick2(){\r\n this.InitialClick=false;\r\n this.NextClick=false;\r\n this.NextClick2=true;\r\n }\r\n OnNextClick3(){\r\n this.InitialClick=false;\r\n this.NextClick=false;\r\n this.NextClick2=false;\r\n this.NextClick3=true;\r\n }\r\n OnNextClick4(){\r\n this.modalCtrl.dismiss();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserData {\r\n favorites: string[] = [];\r\n HAS_LOGGED_IN = 'hasLoggedIn';\r\n HAS_SEEN_TUTORIAL = 'hasSeenTutorial';\r\n\r\n constructor(\r\n public storage: Storage\r\n ) { }\r\n\r\n hasFavorite(sessionName: string): boolean {\r\n return (this.favorites.indexOf(sessionName) > -1);\r\n }\r\n\r\n addFavorite(sessionName: string): void {\r\n this.favorites.push(sessionName);\r\n }\r\n\r\n removeFavorite(sessionName: string): void {\r\n const index = this.favorites.indexOf(sessionName);\r\n if (index > -1) {\r\n this.favorites.splice(index, 1);\r\n }\r\n }\r\n\r\n login(username: string): Promise {\r\n return this.storage.set(this.HAS_LOGGED_IN, true).then(() => {\r\n this.setUsername(username);\r\n this.setEmail(username)\r\n return window.dispatchEvent(new CustomEvent('user:login'));\r\n });\r\n }\r\n\r\n signup(username: string): Promise {\r\n return this.storage.set(this.HAS_LOGGED_IN, true).then(() => {\r\n this.setUsername(username);\r\n this.setEmail(username);\r\n return window.dispatchEvent(new CustomEvent('user:signup'));\r\n });\r\n }\r\n\r\n logout(): Promise {\r\n return this.storage.remove(this.HAS_LOGGED_IN).then(() => {\r\n return this.storage.remove('username');this.storage.remove('email');\r\n }).then(() => {\r\n window.dispatchEvent(new CustomEvent('user:logout'));\r\n });\r\n }\r\n\r\n setUsername(username: string): Promise {\r\n return this.storage.set('username', username);\r\n }\r\n\r\n getUsername(): Promise {\r\n return this.storage.get('username').then((value) => {\r\n return value;\r\n });\r\n }\r\n\r\n setEmail(email: string): Promise {\r\n return this.storage.set('email', email);\r\n }\r\n\r\n getEmail(): Promise {\r\n return this.storage.get('Proppy_Email').then((value) => {\r\n return value;\r\n });\r\n }\r\n\r\n isLoggedIn(): Promise {\r\n return this.storage.get(this.HAS_LOGGED_IN).then((value) => {\r\n return value === true;\r\n });\r\n }\r\n\r\n checkHasSeenTutorial(): Promise {\r\n return this.storage.get(this.HAS_SEEN_TUTORIAL).then((value) => {\r\n return value;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { ActivatedRoute, NavigationExtras } from '@angular/router';\r\nimport { ModalController, NavController } from '@ionic/angular';\r\nimport { ConstantsService } from 'src/app/services/constants/constants.service';\r\nimport { DataFetcherService } from 'src/app/services/data-fetcher/data-fetcher.service';\r\nimport { StorageService } from 'src/app/services/storage-service.service';\r\nimport { ApiService} from '../../services/api.service'\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\n\r\n@Component({\r\n selector: 'app-display-col-dropdown',\r\n templateUrl: './display-col-dropdown.page.html',\r\n styleUrls: ['./display-col-dropdown.page.scss'],\r\n})\r\nexport class DisplayColDropdownPage implements OnInit {\r\n displayUsables={};\r\n isFromModal = false;\r\n modalTag: string = \"\"\r\n objectConstructor = ({}).constructor;\r\n constructor(public apiService: ApiService,private alertHandeler:AlertHandlerService,private activatedRoute : ActivatedRoute,private location : Location,public navCtrl: NavController,private http:DataFetcherService,private storage:StorageService,private modalCtrl: ModalController) {\r\n if (!this.isFromModal) {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.storage.getData(ApiService.DROP_DOWN_DATA_SEND_KEY, (data) => {\r\n if (Object.keys(data).length > 0) {\r\n this.displayUsables = { ...data, display_arr: JSON.parse(data['display_arr']) }\r\n this.storage.removeItem(ApiService.DROP_DOWN_DATA_SEND_KEY);\r\n if (this.displayUsables.hasOwnProperty('http_url') && this.displayUsables.hasOwnProperty('http_params')) {\r\n this.getItems();\r\n }\r\n }\r\n })\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if(this.isFromModal) {\r\n console.log(this.displayUsables)\r\n if (this.displayUsables.hasOwnProperty('http_url') && this.displayUsables.hasOwnProperty('http_params')) {\r\n this.getItems();\r\n }\r\n }\r\n }\r\n\r\n onBackClick(){\r\n if(this.isFromModal){\r\n this.modalCtrl.dismiss({});\r\n } else {\r\n this.navCtrl.back();\r\n } \r\n }\r\n async valueSelected(selectedValue){\r\n if (this.isFromModal) {\r\n var data = { \"selectedItems\": selectedValue, \"tag\": this.modalTag }\r\n this.modalCtrl.dismiss(data);\r\n } else {\r\n this.displayUsables['selected_value']=selectedValue.constructor===this.objectConstructor?selectedValue[this.displayUsables['value_key']]:selectedValue;\r\n // let navigationExtras: NavigationExtras = {\r\n // queryParams: {\r\n // selected_value:this.displayUsables['selected_value'],\r\n // param_key:this.displayUsables['param_key'],\r\n // selected_obj:JSON.stringify(selectedValue)\r\n // }\r\n // };\r\n await this.storage.setData(ApiService.DROP_DOWN_DATA_RESPONSE_KEY,{\r\n selected_value:this.displayUsables['selected_value'],\r\n param_key:this.displayUsables['param_key'],\r\n param_obj:this.displayUsables['param_obj'] || \"{}\",\r\n selected_obj:JSON.stringify(selectedValue)\r\n });\r\n this.navCtrl.navigateBack([this.displayUsables['router_selector']]);\r\n }\r\n }\r\n\r\n getItems(){\r\n this.http.doPost(this.displayUsables['http_url'],JSON.parse(this.displayUsables['http_params'])).subscribe(res=>{\r\n if(res.hasOwnProperty('status') && res['status']==true){\r\n this.displayUsables['display_arr']=res['data'];\r\n } else{\r\n this.alertHandeler.presentAlert(\"Can't get the data, Please Try again Later.\")\r\n }\r\n });\r\n }\r\n dismiss() { \r\n this.modalCtrl.dismiss({});\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { PhotoViewerPage } from './photo-viewer.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PhotoViewerPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class PhotoViewerPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { PhotoViewerPageRoutingModule } from './photo-viewer-routing.module';\r\n\r\nimport { PhotoViewerPage } from './photo-viewer.page';\r\nimport { UiSharedModule } from 'src/app/ui-shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n PhotoViewerPageRoutingModule,\r\n UiSharedModule\r\n ],\r\n declarations: [PhotoViewerPage]\r\n})\r\nexport class PhotoViewerPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PreviewAnyFile } from '@ionic-native/preview-any-file/ngx';\r\nimport { StreamingMedia, StreamingVideoOptions } from '@ionic-native/streaming-media/ngx';\r\nimport { IonSlides, ModalController, NavParams } from '@ionic/angular';\r\nimport { AppHelper } from 'src/app/services/middleware/app-helper';\r\nimport { ViewVideoPage } from 'src/app/view-video/view-video.page';\r\n\r\n@Component({\r\n selector: 'app-photo-viewer',\r\n templateUrl: './photo-viewer.page.html',\r\n styleUrls: ['./photo-viewer.page.scss'],\r\n})\r\nexport class PhotoViewerPage implements OnInit {\r\n\r\n currentIndex = 0;\r\n slideOpts = {\r\n initialSlide: 0,\r\n slidesPerView: 1,\r\n loop: true,\r\n parallax: true,\r\n zoom: {\r\n minRatio: 1,\r\n maxRatio: 3,\r\n toggle: true,\r\n containerClass: 'swiper-zoom-container',\r\n zoomedSlideClass: 'swiper-slide-zoomed'\r\n }\r\n };\r\n imgs: any = [];\r\n selectedPos = 0;\r\n imgCssClass = ''\r\n nonSupportedFileExtensionsArr = ['pdf', 'doc', 'docx', 'document']\r\n constructor(\r\n public navParams: NavParams,\r\n public modalCtrl: ModalController,\r\n private streamingMedia: StreamingMedia,\r\n private modalController: ModalController,\r\n private helper: AppHelper,\r\n private previewAnyFile: PreviewAnyFile\r\n ) {\r\n console.log(this.selectedPos)\r\n this.slideOpts['initialSlide'] = this.selectedPos\r\n }\r\n ngOnInit() {\r\n console.log(this.selectedPos)\r\n this.slideOpts['initialSlide'] = this.selectedPos\r\n }\r\n slideChanged(slides: IonSlides) {\r\n slides.getActiveIndex().then((index: number) => {\r\n this.currentIndex = index;\r\n });\r\n }\r\n dismiss() {\r\n this.modalCtrl.dismiss();\r\n }\r\n\r\n async showVideo(url) {\r\n if (!this.helper.isDesktop()) {\r\n // alert(this.liveVideopath);\r\n let options: StreamingVideoOptions = {\r\n successCallback: () => { console.log('Video played') },\r\n errorCallback: (e) => { alert('Error streaming' + JSON.stringify(e)) },\r\n //orientation: 'landscape',\r\n shouldAutoClose: true,\r\n controls: false\r\n };\r\n\r\n this.streamingMedia.playVideo(url, options);\r\n } else {\r\n const modal = await this.modalController.create({\r\n component: ViewVideoPage,\r\n componentProps: { url: url },\r\n cssClass: 'viewVideoModal'\r\n })\r\n return modal.present();\r\n }\r\n }\r\n checkIsString(img) {\r\n if (typeof img === 'string')\r\n return true\r\n return false\r\n }\r\n\r\n getDocumentPath(docPath) {\r\n var FileUrl = \"assets/images/default-icons/dummy_document_white.png\";\r\n var ext = docPath.split('.').pop();\r\n if (this.nonSupportedFileExtensionsArr.includes(ext)) {\r\n return FileUrl;\r\n } else if (ext == 'mp4') {\r\n return docPath.replace('.mp4', '-thumb.jpg')\r\n } else {\r\n return docPath;\r\n }\r\n }\r\n\r\n onDocClick(docPath) {\r\n var ext = docPath.split('.').pop();\r\n if (this.nonSupportedFileExtensionsArr.includes(ext) || ext == 'mp4') {\r\n this.previewAnyFile.preview(docPath);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Sanitizer } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { InAppBrowser } from '@ionic-native/in-app-browser/ngx';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { AdmobService } from 'src/app/services/middleware/admob-service';\r\nimport { AppHelper } from 'src/app/services/middleware/app-helper';\r\nimport { faq_portal } from 'src/environments/environment';\r\nimport proppy_marketplace_wizard from 'src/assets/lang/proppy_marketplace_wizard.json'\r\n@Component({\r\n selector: 'app-proppy-wizard',\r\n templateUrl: './proppy-wizard.page.html',\r\n styleUrls: ['./proppy-wizard.page.scss'],\r\n})\r\nexport class ProppyWizardPage implements OnInit {\r\n proppy_marketplace_wizard_json = JSON.parse(JSON.stringify(proppy_marketplace_wizard))\r\n items = []\r\n showBannerAd=false\r\n constructor(\r\n private sanitizer: DomSanitizer,\r\n private modalCtrl: ModalController,\r\n private iab: InAppBrowser,\r\n private helper:AppHelper\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.items.map((item,pos)=>{\r\n if(item.hasOwnProperty('youtube_url')){\r\n this.getMediaContent(item['youtube_url'],pos)\r\n }\r\n })\r\n AdmobService.hideBanner()\r\n if(this.showBannerAd){\r\n AdmobService.showBanner(this.helper.getPlatformInstance())\r\n }\r\n }\r\n\r\n dismiss() {\r\n this.helper.validateBannerAdsDisplay()\r\n this.modalCtrl.dismiss();\r\n }\r\n\r\n btnFAQClick() {\r\n this.iab.create(faq_portal, '_blank');\r\n }\r\n\r\n youtube_parser(url) {\r\n var match = ''\r\n if(url.includes(\"v=\")){\r\n match = url.split(\"v=\")[1]\r\n }else{\r\n match = url.split(\"/\")[3];\r\n } \r\n return match && match.length == 11 ? match : false;\r\n }\r\n\r\n getMediaContent(url,pos) {\r\n var vID = this.youtube_parser(url);\r\n var youtube_url = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n \"https://www.youtube-nocookie.com/embed/\" + vID\r\n );\r\n this.items[pos].youtube_url=youtube_url;\r\n }\r\n openLink(item){\r\n window.open(item)\r\n }\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ModalController, NavController } from '@ionic/angular';\r\nimport { AlertHandlerService } from '../services/alert-handler.service';\r\nimport { ConstantsService } from '../services/constants/constants.service';\r\nimport { DataFetcherService } from '../services/data-fetcher/data-fetcher.service';\r\nimport { StorageService } from '../services/storage-service.service';\r\nimport { ApiService } from '../services/api.service'\r\nimport addProperty from \"src/assets/lang/addmyproperty.json\";\r\n\r\n@Component({\r\n selector: 'app-select-residents-type-drop-down',\r\n templateUrl: './select-residents-type-drop-down.page.html',\r\n styleUrls: ['./select-residents-type-drop-down.page.scss'],\r\n})\r\nexport class SelectResidentsTypeDropDownPage implements OnInit {\r\n add_property_json = JSON.parse(JSON.stringify(addProperty))\r\n allResidents = {};\r\n isFromModal = false;\r\n modalTag: string = \"\"\r\n selected_value = ''\r\n data = { selected_value: '', param_key: '', router_selector: '' }\r\n constructor(public apiService: ApiService, private activatedRoute: ActivatedRoute, private alertHandeler: AlertHandlerService, public navCtrl: NavController, private http: DataFetcherService, private storage: StorageService,private modalCtrl: ModalController) {\r\n if (!this.isFromModal) {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.storage.getData(ApiService.DROP_DOWN_DATA_SEND_KEY, (data) => {\r\n if (data.hasOwnProperty(\"selected_value\")) {\r\n this.data = data;\r\n this.storage.removeItem(ApiService.DROP_DOWN_DATA_SEND_KEY);\r\n }\r\n this.getPropertyType();\r\n })\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if(this.isFromModal) {\r\n // this.data['base_label']=''\r\n console.log(this.data)\r\n }\r\n }\r\n\r\n getPropertyType() {\r\n this.http.doPost(ApiService.GET_PROPERTY_TYPE, {}).subscribe((res) => {\r\n if (res.hasOwnProperty('status') && res['status'] == true) {\r\n if (this.data.hasOwnProperty('CategoryID')) {\r\n this.allResidents = {}\r\n var catogaoryID = this.data['CategoryID'];\r\n this.allResidents[catogaoryID] = res['data'][catogaoryID];\r\n if (this.data.hasOwnProperty('UnwantedSubCategoryID')) {\r\n delete this.allResidents[catogaoryID][this.data['UnwantedSubCategoryID']];\r\n }\r\n } else {\r\n this.allResidents = res['data'];\r\n }\r\n } else {\r\n this.alertHandeler.presentAlert(\"Invalid Data From service.\");\r\n }\r\n });\r\n }\r\n\r\n async onBackClick() {\r\n if(this.isFromModal){\r\n this.selected_value = ''\r\n this.modalCtrl.dismiss({});\r\n } else {\r\n await this.storage.setData(ApiService.DROP_DOWN_DATA_RESPONSE_KEY, {\r\n selected_value: this.data.selected_value,\r\n param_key: this.data.param_key,\r\n selected_obj: JSON.stringify(this.selected_value)\r\n });\r\n this.navCtrl.navigateForward([this.data['router_selector']]);\r\n // this.navCtrl.back();\r\n }\r\n }\r\n\r\n async valueSelected(selectedValue) {\r\n if (this.isFromModal) {\r\n var data = { \"selectedItems\": selectedValue, \"tag\": this.modalTag }\r\n this.modalCtrl.dismiss(data);\r\n } else {\r\n await this.storage.setData(ApiService.DROP_DOWN_DATA_RESPONSE_KEY, {\r\n selected_value: this.data.selected_value,\r\n param_key: this.data.param_key,\r\n selected_obj: JSON.stringify(selectedValue)\r\n });\r\n this.navCtrl.navigateForward([this.data['router_selector']]);\r\n }\r\n }\r\n dismiss() { \r\n this.selected_value = ''\r\n this.modalCtrl.dismiss({});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AlertController, LoadingController, NavController, Platform, ToastController } from '@ionic/angular';\r\nimport { ApiService } from './api.service';\r\n// import { AppHelper } from './middleware/app-helper';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AlertHandlerService {\r\n loading: HTMLIonLoadingElement;\r\n constructor(\r\n private alertController: AlertController,\r\n private loadingController: LoadingController,\r\n private toastController: ToastController,\r\n private router: Router,\r\n // public helper: AppHelper,\r\n private navCtrl: NavController,\r\n private plt : Platform,\r\n ) { }\r\n\r\n async presentAlert(msg, header = \"Info\") {\r\n const alert = await this.alertController.create({\r\n header: header,\r\n message: msg,\r\n buttons: [\"OK\"],\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n async presenToast(msg,pos=0) {\r\n if(msg == 'isTrusted.'){\r\n return\r\n }\r\n var err = true;\r\n let selectedPosition = false\r\n if(pos>0){\r\n selectedPosition = true\r\n }\r\n if(msg && typeof(msg) === 'string'){\r\n err = msg.toLowerCase().includes(\"please\");\r\n } else {\r\n msg=msg['error'] || ApiService.ERROR_TOAST_MSG\r\n }\r\n const toast = await this.toastController.create({\r\n message: msg,\r\n duration: 3000,\r\n position: selectedPosition || err ? \"middle\" : \"bottom\",\r\n color: selectedPosition || err ? \"danger\" : \"light\",\r\n });\r\n toast.present();\r\n }\r\n\r\n async presentConfirmationAlert(msg, cb) {\r\n const alert = await this.alertController.create({\r\n header: \"Confirm!\",\r\n message: msg,\r\n buttons: [{ text: \"Yes\", handler: cb }, \"No\"],\r\n });\r\n\r\n await alert.present();\r\n }\r\n async confirmationAlert(msg, yes_cb,no_cb) {\r\n const alert = await this.alertController.create({\r\n header: \"Confirm!\",\r\n message: msg,\r\n buttons: [{ text: \"Yes\", handler: yes_cb }, {text:\"No\",handler:no_cb}],\r\n });\r\n\r\n await alert.present();\r\n }\r\n async presentConfirmationAlertWithCustomButtons(msg, buttons) {\r\n const alert = await this.alertController.create({\r\n header: \"Confirm!\",\r\n message: msg,\r\n buttons: buttons,\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n async presentLoading(messageDisplay = \"Please Wait...\", type:any = 0) {\r\n const loading = await this.loadingController.create({\r\n message: messageDisplay\r\n });\r\n await loading.present();\r\n if (type == 0) {\r\n let alreadyDismissed = 0\r\n const ref = setTimeout(() => {\r\n alreadyDismissed = 1;\r\n loading.dismiss();\r\n }, 8000)\r\n loading.onDidDismiss().then(() => {\r\n if(alreadyDismissed == 0) {\r\n clearTimeout(ref);\r\n }\r\n })\r\n }\r\n}\r\n\r\n async dismissLoading() {\r\n let topLoader = await this.loadingController.getTop();\r\n if (topLoader) {\r\n await topLoader.dismiss();\r\n }\r\n }\r\n\r\n loginOrRegisterAlert() {\r\n this.alertController\r\n .create({\r\n header: \"Login Required\",\r\n message: \"Some features requires you to be logged in to ProppyApp!\",\r\n buttons: [\r\n {\r\n text: \"Go to Login\",\r\n handler: () => {\r\n console.log(\"Go to Login\");\r\n this.router.navigate([\"/tabs/tab3\"]);\r\n },\r\n },\r\n {\r\n text: \"Go to Registration\",\r\n handler: () => {\r\n console.log(\"Go to Registration\");\r\n this.router.navigate([\"/tabs/registration\"]);\r\n },\r\n },\r\n ],\r\n })\r\n .then((res) => {\r\n res.present();\r\n });\r\n }\r\n\r\n webShowRegisterPopup(SenderPID='PROPPY') {\r\n if (!((this.plt.is(\"ios\") || this.plt.is(\"android\")) && !this.plt.is(\"mobileweb\"))) {\r\n setTimeout(async () => {\r\n const alert = await this.alertController.create({\r\n header: 'Register',\r\n cssClass: \"register\",\r\n message: 'Some features requires you to be registered and logged in to ProppyApp. Please proceed to the registration screen by clicking the Register button below.',\r\n buttons: [\r\n {\r\n text: 'Register',\r\n handler: () => {\r\n this.navCtrl.navigateForward('/registration/'+SenderPID)\r\n }\r\n },\r\n {\r\n text: 'Cancel'\r\n }\r\n ]\r\n });\r\n await alert.present();\r\n }, 3000);\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpClientModule, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiFetcherService {\r\n\r\n constructor(private httpClient:HttpClient) { }\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n doPost(url,params) {\r\n return this.httpClient.post(\r\n url, params,this.httpOptions);\r\n }\r\n\r\n doGet(url) {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n doPut(url,params) {\r\n return this.httpClient.put(url,params,this.httpOptions);\r\n }\r\n\r\n doDelete(url){\r\n return this.httpClient.delete(url,this.httpOptions);\r\n }\r\n\r\n doGetWithOutHttpHeaders(url) {\r\n return this.httpClient.get(url);\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 ApiManagerService {\r\n\r\n constructor() { }\r\n static doPost = async (url,token, post_params) => {\r\n try {\r\n var headers = new Headers();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n headers.append(\"Authorization\", \"Basic UEhBZG1pbjpxbXozMUN5QFZJNHgkJWR1Y0EyVU5OTmtYblFD\");\r\n if(token) {\r\n headers.append(\"x-access-token\", token);\r\n }\r\n var requestOptions = {\r\n method: 'POST',\r\n headers: headers,\r\n body: JSON.stringify(post_params)\r\n };\r\n const result = await (await fetch(url, requestOptions)).json()\r\n return result\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment, base_path, cdn_portal, STATIC_API_TOKEN, PROFFICE_API_URL } from \"../../environments/environment\";\r\nimport { AppHelper } from \"./middleware/app-helper\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ApiService {\r\n static NodeApiUrl = environment.baseApiUrl;\r\n static BASE_NODE_URL = `${ApiService.NodeApiUrl}po-node/`;\r\n static BILLING_BASE_NODE_URL = `${ApiService.NodeApiUrl}billing-node/`;\r\n static EKYC_API_URL = `${ApiService.NodeApiUrl}ekyc-node/`;\r\n static MARKET_360_NODE_URL = `${ApiService.NodeApiUrl}m360-node/`;\r\n static BASE_P360_NODE_API_URL = `${ApiService.NodeApiUrl}p360-node/`;\r\n static basePythonApiUrl = `${ApiService.NodeApiUrl}ae-wl/`;\r\n static AUTH_NODE_URL = `${ApiService.NodeApiUrl}auth-node/`;\r\n static SHARED_NODE_URL = `${ApiService.NodeApiUrl}shared-node/`;\r\n static SIGNATRUE_NODE_URL = `${ApiService.NodeApiUrl}signatrue-node/`;\r\n static WPE_NODE_URL: string = `${ApiService.NodeApiUrl}wpe-node/`;\r\n\r\n static BASE_HOMES_NODE_URL = `${ApiService.NodeApiUrl}homes-node/`;\r\n\r\n static HOMES_NODE_URL = `${ApiService.NodeApiUrl}homes-node/`;\r\n\r\n public static STATIC_API_TOKEN = STATIC_API_TOKEN\r\n public static base_path = base_path;\r\n public static PROFFICE_API_URL = PROFFICE_API_URL\r\n public static AGENT_ROLE_ID = 24\r\n public static REN_APP_ID = 10;\r\n public static headerTitle = \"ProppyApp\"\r\n static VEHICLE_TYPES = [{ \"id\": 0, \"name\": \"Car\" }, { \"id\": 1, \"name\": \"Motorcycle\" }, { \"id\": 2, \"name\": \"Suv\" }, { \"id\": 3, \"name\": \"Van\" }, { \"id\": 4, \"name\": \"Lorry\" }, { \"id\": 5, \"name\": \"Others\" }];\r\n static RESIDENT_STATUS = [{ \"id\": 0, \"name\": \"Owner,Resident\" }, { \"id\": 1, \"name\": \"Owner\" }, { \"id\": 2, \"name\": \"Resident\" }, { \"id\": 3, \"name\": \"Tenanat\" }]\r\n static LOCATION_STATUS = [{ \"id\": 0, \"name\": \"Kuala Lampur\" }, { \"id\": 1, \"name\": \"Jalan\" }]\r\n static CATEGORY_STATUS = [{ \"id\": 0, \"name\": \"washing machine\" }, { \"id\": 1, \"name\": \"TV\" }]\r\n static SORTBY_STATUS = [{ \"id\": 1, \"name\": \"Newest First\" }, { \"id\": 2, \"name\": \"Oldest First\" }]\r\n /************** USER SERVICES START ******************/\r\n public static ADD_USER_ADDRESS = ApiService.BASE_NODE_URL + \"member_address_book\";\r\n public static GET_USER_ADDRESS = ApiService.BASE_NODE_URL + \"member_address_book/details\"\r\n\r\n /************** USER SERVICES END ******************/\r\n\r\n public static path_UserValidation =\r\n ApiService.base_path + \"Proppy/GetJWTToken\";\r\n public static path_GetCountries =\r\n ApiService.base_path + \"Proppy/GetCountries\";\r\n public static GetCountryCodes =\r\n ApiService.BASE_NODE_URL + \"bo_masters/countries/details\"\r\n public static path_Newregistration =\r\n ApiService.base_path + \"Proppy/NewUserRegistration\";\r\n public static path_PasswordReset =\r\n ApiService.base_path + \"Proppy/MemberExistCheck\";\r\n public static path_PasswordUpdaten =\r\n ApiService.base_path + \"Proppy/MemberUpdatePassword\";\r\n public static path_GetSelectedCountryExtenstion =\r\n ApiService.base_path + \"Proppy/GetSelectedCountryCode\";\r\n public static path_GetOTP = ApiService.base_path + \"Proppy/GenerateOTP\";\r\n public static path_VerifyOTP = ApiService.base_path + \"Proppy/VerifyOTP\";\r\n public static path_GetUserInformation =\r\n ApiService.base_path + \"Proppy/GetUserInformation\";\r\n public static GETMEMBERBYPROPPYUSERID =\r\n ApiService.base_path + \"Proppy/GetMemberByProppyUserID\";\r\n public static UPDATE_MEMBER_INFORMATION =\r\n ApiService.base_path + \"Proppy/UpdateMemberInformation\";\r\n public static ADD_MEMBER_ADDRESS =\r\n ApiService.base_path + \"Proppy/AddMemberAddress\";\r\n public static UPDATE_MEMBER_ADDRESS =\r\n ApiService.base_path + \"Proppy/UpdateMemberAddress\";\r\n public static GET_MEMBER_ADDRESS =\r\n ApiService.base_path + \"Proppy/GetMemberAddress\";\r\n public static GET_MEMBER_BADGES =\r\n ApiService.base_path + \"Proppy/GetUserBadges\";\r\n public static GET_MY_REFERRALS =\r\n ApiService.base_path + \"Proppy/GetMyReferrals\";\r\n public static GET_AMZ_RACE_INV =\r\n ApiService.base_path + \"Proppy/GetAmzRaceInv\";\r\n public static GET_AMZ_RACE_DETAILS = ApiService.BASE_NODE_URL + 'amazing_race/amz_race_inv/details'\r\n\r\n public static ADD_ACCOUNT_DELETE = ApiService.BASE_NODE_URL + 'account_delete/member_delete_request'\r\n public static GET_ACCOUNT_DELETE_DETAILS = ApiService.BASE_NODE_URL + 'account_delete/member_delete_request/details'\r\n\r\n // public static LOCATION_IQ_API_ACCESS_TOKEN=\"pk.ef9ccd4cfb54ea6da6e9a52f3152350a\";\r\n // public static LOCATION_IQ_Reverse_API_URL=\"https://us1.locationiq.com/v1/reverse.php?key=\"+ApiService.LOCATION_IQ_API_ACCESS_TOKEN;\r\n // public static LOCATION_IQ_AUTOCOMPLETE_API_URL=\"https://api.locationiq.com/v1/autocomplete.php?key=\"+ApiService.LOCATION_IQ_API_ACCESS_TOKEN+\"&q=\";\r\n // public static LOCATION_IQ_API_RESPONSE_FORMAT=\"&format=json\"\r\n\r\n // public static GET_STATES=ApiService.base_path+'MarketPlace/GetStates'\r\n // public static GET_COUNTRIES=ApiService.base_path+'MarketPlace/GetCountries'\r\n // public static GET_PROPERTY_TYPE=ApiService.base_path+'MarketPlace/GetPropertyType'\r\n // public static GET_PROPERTY_PRICING=ApiService.base_path+'MarketPlace/GetPropertyPricing'\r\n // public static GET_BEDROOM_TYPES=ApiService.base_path+'MarketPlace/GetBedroomTypes'\r\n // public static GET_PROPERTY_SALE_TYPE=ApiService.base_path+'MarketPlace/GetPropertySaleType'\r\n // public static GET_AREAS=ApiService.base_path+'MarketPlace/GetAreas'\r\n // public static GET_PROPERTIES_BY_FILTER=ApiService.base_path+'MarketPlace/GetPropertiesByFilter';\r\n // public static GET_PROPERTY_IMAGES=ApiService.base_path+'MarketPlace/GetPropertyImages';\r\n public static ADD_PRO_APP_USER_ROLES = ApiService.BASE_NODE_URL + \"bo_settings/pro_app_user_roles\";\r\n\r\n public static GET_PROPERTY_AGENT =\r\n ApiService.base_path + \"ProppyAgent/GetPropertyAgentDetails\";\r\n public static GET_PROPERTY_AGENT_MARKETPLACE =\r\n ApiService.base_path + \"ProppyAgent/GetAgentProperties\";\r\n public static GET_PROPERTY_AGENT_MARKETPLACEV2 =\r\n ApiService.base_path + \"ProppyAgent/GetAgentPropertiesV2\";\r\n public static GENERATE_OTP_SERVICE =\r\n ApiService.base_path + \"ProppyAgent/GenerateOTPForAddAgent\";\r\n public static VERIFY_OTP_SERVICE =\r\n ApiService.base_path + \"ProppyAgent/VerifyOTP\";\r\n public static UPDATE_PROPERTY_AGENT_DETAILS =\r\n ApiService.base_path + \"ProppyAgent/UpdatePropertyAgentDetails\";\r\n public static GET_PROPERTIES_COUNT =\r\n ApiService.base_path + \"ProppyAgent/GetAgentPropertiesCount\";\r\n public static GET_PROPERTY_AGENT_PROPERTY_TYPE =\r\n ApiService.base_path + \"ProppyAgent/GetAgentPropertyType\";\r\n public static GET_PROPERTY_AGENT_AREA_EXPERTISE =\r\n ApiService.base_path + \"ProppyAgent/GetAgentAreaExpertise\";\r\n public static GET_PROPERTY_AGENT_FOR_OWNER =\r\n ApiService.base_path + \"ProppyAgent/GetPropertyAgentForOwner\";\r\n public static ADD_PROPERTY_GET_AGENT =\r\n ApiService.base_path + \"ProppyAgent/AddPropertyGetAgent\";\r\n public static GET_ASSIGNED_PROPERTY_AGENT_FOR_OWNER =\r\n ApiService.base_path + \"ProppyAgent/GetAssignedPropertyAgentForOwner\";\r\n public static UPDATE_PROPERTY_GET_AGENT_STATUS =\r\n ApiService.base_path + \"ProppyAgent/UpdatePropertyGetAgentStatus\";\r\n\r\n public static GET_AGENT_BULLETIN_BOARD_BY_AGENTID =\r\n ApiService.base_path + \"ProppyAgent/GetAgentBulletinBoardByAgentID\";\r\n\r\n public static GET_AGENT_BULLETIN_BOARD_DETAILS_BY_ID =\r\n ApiService.base_path + \"ProppyAgent/GetAgentBulletinBoardDetailsByID\";\r\n // Agent api V2\r\n public static GET_AGENT_DETAILS = ApiService.base_path + \"ProppyAgent/GetAgentDetails\"\r\n public static GET_AGENT_PROPERTIES_V2 = ApiService.base_path + \"ProppyAgent/GetAgentPropertiesV3\"\r\n public static GET_AGENT_BY_RENTAG = ApiService.base_path + \"ProppyAgent/GetAgentInfoByRentagNo\"\r\n\r\n public static GET_AGENT_BULLETIN_BOARD_DETAILS_BY_PAGING = ApiService.BASE_NODE_URL + \"bulletin_board/get_an_agent/paging\"\r\n public static GET_AGENT_BULLETIN_BOARD_DETAILS = ApiService.BASE_NODE_URL + \"bulletin_board/get_an_agent/details\"\r\n\r\n // end\r\n\r\n public static PROPPY_CARES_PREFIX = ApiService.base_path + \"ProCares/\";\r\n public static PROPERTY_MARKET_PREFIX =\r\n ApiService.base_path + \"PropertyMarket/\";\r\n\r\n public static GET_MERCHENT_DETAILS_BY_MERCHENTID =\r\n ApiService.PROPPY_CARES_PREFIX + \"GetMerchentDetailsByMerchentID\";\r\n\r\n public static LOCATION_IQ_API_ACCESS_TOKEN =\r\n \"pk.ef9ccd4cfb54ea6da6e9a52f3152350a\";\r\n public static LOCATION_IQ_Reverse_API_URL =\r\n \"https://us1.locationiq.com/v1/reverse.php?key=\" +\r\n ApiService.LOCATION_IQ_API_ACCESS_TOKEN;\r\n public static LOCATION_IQ_SEARCH_API_URL =\r\n \"https://us1.locationiq.com/v1/search.php?key=\" +\r\n ApiService.LOCATION_IQ_API_ACCESS_TOKEN;\r\n public static LOCATION_IQ_AUTOCOMPLETE_API_URL =\r\n \"https://api.locationiq.com/v1/autocomplete.php?key=\" +\r\n ApiService.LOCATION_IQ_API_ACCESS_TOKEN +\r\n \"&q=\";\r\n public static LOCATION_IQ_API_RESPONSE_FORMAT = \"&format=json\";\r\n public static DROP_DOWN_DATA_SEND_KEY = \"drop_down_send_data\";\r\n public static DROP_DOWN_DATA_RESPONSE_KEY = \"drop_down_response_data\";\r\n public static MARKETPLACE_FILTER_PARAMS = \"marketplace_filter_params\";\r\n public static LOCATION_FILTER_HISTORY = \"location_filter_history_arr\";\r\n public static PROPPY_AGENT_ID = \"Proppy_Agent_ID\";\r\n public static FCM_TOKEN_KEY = \"FCM_TOKEN_KEY\";\r\n public static RESIDENTS_DATA = \"residents_data\";\r\n public static REASON_SELECTED_ACCOUNT_DELETE = \"sendParams\"\r\n public static NOTIFICATION_PARAMS = \"NOTIFICATION_PARAMS\"\r\n\r\n public static Default_country_code = \"MY\";\r\n public static Default_country_name = \"Malaysia\";\r\n\r\n // LOCAL DB\r\n public static LBDB_PUBLIC_PRIVATE = \"public_private\";\r\n\r\n //Marketplace\r\n public static GET_STATES = ApiService.base_path + \"PropertyMarket/GetStates\";\r\n public static GET_COUNTRIES =\r\n ApiService.base_path + \"PropertyMarket/GetCountries\";\r\n public static GET_PROPERTY_TYPE =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyType\";\r\n public static GET_PROPERTY_TYPE_BY_NAME =\r\n ApiService.base_path + \"PropertyMarket/GetPropertTypeByName\";\r\n public static GET_PROPERTY_PRICING =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyPricing\";\r\n public static GET_BEDROOM_TYPES =\r\n ApiService.base_path + \"PropertyMarket/GetBedroomTypes\";\r\n public static GET_PROPERTY_SALE_TYPE =\r\n ApiService.base_path + \"PropertyMarket/GetPropertySaleType\";\r\n public static GET_AREAS = ApiService.base_path + \"PropertyMarket/GetAreas\";\r\n public static GET_PROPERTIES_BY_FILTER =\r\n ApiService.base_path + \"PropertyMarket/GetPropertiesByFilter\";\r\n public static GET_PROPERTIES_BY_FILTERV2 =\r\n ApiService.base_path + \"PropertyMarket/GetPropertiesByFilterV2\";\r\n public static GET_PROPERTIES_BY_FILTERMAPV2 =\r\n ApiService.base_path + \"PropertyMarket/GetPropertiesByFilterMapV2\";\r\n public static GET_PROPERTIES_BY_LISTINGID =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyByListingID\";\r\n public static GET_PROPERTIES_BY_LISTINGIDV2 =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyByListingIDV2\";\r\n public static GET_PROPERTY_IMAGES =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyByListingID\";\r\n public static GET_FEATURES =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyFeatures\";\r\n public static GET_FACILITIES =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyFacility\";\r\n public static LIST_PROPERTY_TO_MARKET =\r\n ApiService.base_path + \"PropertyMarket/ListProperty\";\r\n public static LIST_PROPERTY_TO_MARKET_V2 =\r\n ApiService.base_path + \"PropertyMarket/ListPropertyV2\";\r\n public static UPDATE_LIST_PROPERTY_TO_MARKET =\r\n ApiService.base_path + \"PropertyMarket/UpdateProperty\";\r\n public static UPDATE_LIST_PROPERTY_TO_MARKET_V2 =\r\n ApiService.base_path + \"PropertyMarket/UpdatePropertyV2\";\r\n public static PUBLISH_PROPERTY_TO_MARKET =\r\n ApiService.base_path + \"PropertyMarket/PublishProperty\";\r\n public static PUBLISH_PROPERTY_TO_MARKETV2 =\r\n ApiService.base_path + \"PropertyMarket/PublishPropertyV2\";\r\n public static DELIST_PROPERTY_TO_MARKET =\r\n ApiService.base_path + \"PropertyMarket/DelistProperty\";\r\n public static GET_PROPERTY_MARKET_IMAGES =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyImages\";\r\n public static GET_PROPERTY_MARKET_IMAGES_COUNT =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyMediaCount\";\r\n public static GET_PROPERTY_MARKET_IMAGES_BY_MEDIATYPE =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyMediaByType\";\r\n public static GET_PROPERTY_MARKET_IMAGES_BY_MEDIABYID =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyMediaByID\";\r\n\r\n public static ADD_PROPERTYMARKET_USER_FAVOURITE =\r\n ApiService.base_path + \"PropertyMarket/AddPropertyMarketUserFavourite\";\r\n public static UPDATE_PROPERTYMARKET_USER_FAVOURITE =\r\n ApiService.base_path + \"PropertyMarket/UpdatePropertyMarketUserFavourite\";\r\n\r\n public static ADD_FAVOURITE_DETAILS_LIST = ApiService.BASE_NODE_URL + \"favorites/details\";\r\n public static UPDATE_FAVOURITES_LIST = ApiService.BASE_NODE_URL + \"favorites\"\r\n public static GET_PROPERTY_KEYS_SEQUENCE = ApiService.BASE_NODE_URL + \"ph_property_compare/pc_user_columns/details\"\r\n public static ADD_UPDATE_PROPERTY_KEYS_SEQUENCE = ApiService.BASE_NODE_URL + \"ph_property_compare/pc_user_columns\"\r\n public static GET_FAVOURITES_LIST =\r\n ApiService.base_path + \"PropertyMarket/GetPropertyMarketUserFavourite\";\r\n public static GET_USER_FAVOURITE_BY_LISTINGID =\r\n ApiService.base_path + \"PropertyMarket/GetUserFavouriteByListingID\";\r\n\r\n public static UPLOAD_PROPERTY_MARKET_IMAGES =\r\n ApiService.base_path + \"PropertyMarket/AddPropertyMarketImages\";\r\n\r\n public static UPLOAD_PROPERTY_MARKET_IMAGES_FILE =\r\n ApiService.base_path + \"PropertyMarket/AddPropertyMarketImagesFile\";\r\n public static DELETE_PROPERTY_MARKET_IMAGES =\r\n ApiService.base_path + \"PropertyMarket/DeletePropertyMarketImages\";\r\n\r\n public static DHWL_PREFIX = ApiService.base_path + \"DHWL/\";\r\n public static GET_CURRENCIES =\r\n ApiService.DHWL_PREFIX + \"GetCountryCurrencies\";\r\n public static GET_FACING_DIRECTIONS =\r\n ApiService.DHWL_PREFIX + \"GetFacingDirections\";\r\n public static GET_DHWL_BY_PROPPY_ID = ApiService.DHWL_PREFIX + \"GetDHWL\";\r\n public static GET_DHWL_BY_DHWLID = ApiService.DHWL_PREFIX + \"GetDHWLByDHWLID\";\r\n public static ADD_DHWL = ApiService.DHWL_PREFIX + \"AddDHWL\";\r\n public static UPDATE_DHWL = ApiService.DHWL_PREFIX + \"UpdateDHWL\";\r\n public static UPDATE_DHWL_STATUS =\r\n ApiService.DHWL_PREFIX + \"UpdateDHWLStatus\";\r\n\r\n public static MYACCOUNT_PREFIX = ApiService.base_path + \"MyAccount/\";\r\n public static GET_REFERRAL =\r\n ApiService.MYACCOUNT_PREFIX + \"GetReferralByproppyID\";\r\n public static GET_GEMS = ApiService.MYACCOUNT_PREFIX + \"GetGemsByProppyID\";\r\n public static GET_SIGNUPGEMS = ApiService.MYACCOUNT_PREFIX + 'GetCheckUpdateProfileGemsByProppyID';\r\n // public static GET_UPDATE_REFERRAL =\r\n // ApiService.MYACCOUNT_PREFIX + \"UpdateProppyReferralID\";\r\n public static GET_UPDATE_REFERRAL =\r\n ApiService.BASE_NODE_URL + \"my_account/account/\" + \"update_profile\";\r\n public static GET_UPDATE_PROFILE =\r\n ApiService.MYACCOUNT_PREFIX + \"UpdateProfile\";\r\n public static GET_TRX_PROPPYGEM =\r\n ApiService.MYACCOUNT_PREFIX + \"InsertProppyGEMTrx\";\r\n public static GET_MYPROIFLE =\r\n ApiService.MYACCOUNT_PREFIX + \"GetProfileByproppyID\";\r\n public static GLOBALSEARCH_GET =\r\n ApiService.MYACCOUNT_PREFIX + \"/GlobalSearchPrefGet\";\r\n public static GLOBALSEARCH_SET =\r\n ApiService.MYACCOUNT_PREFIX + \"/GlobalSearchPrefSet\";\r\n public static GET_APPVERSION =\r\n ApiService.MYACCOUNT_PREFIX + \"AppVersionCheck\";\r\n\r\n static GET_MY_PROFILE = ApiService.BASE_NODE_URL + \"my_account/account/\" + \"profile_by_propper_id\";\r\n public static UPDATE_MY_PROFILE = ApiService.BASE_NODE_URL + \"my_account/account/\" + \"update_profile\";\r\n public static GET_UPDATE_MEMBER_PROFILE = ApiService.MYACCOUNT_PREFIX + \"UpdateMemberProfile\";\r\n public static GET_AREA_OF_INTERESTS = ApiService.MYACCOUNT_PREFIX + \"GetAreaOfInterest\";\r\n\r\n public static KYC_PREFIX = ApiService.base_path + \"KYC/\";\r\n public static KYC_ADD = ApiService.KYC_PREFIX + \"KYCAdd\";\r\n public static GET_KYC = ApiService.KYC_PREFIX + \"GetKYC\";\r\n public static KYC_VERIFYID = ApiService.base_path + \"Proppy/CheckIdentity\";\r\n\r\n public static CAMPAIGNS_MGM_PATH =\r\n ApiService.MYACCOUNT_PREFIX + \"/CampaignsGetMemberDeepLinks\";\r\n\r\n public static GET_PROPPYCARES_CATEGORIES =\r\n ApiService.base_path +\r\n \"ProppyCaresServices/GetProppyCaresServicesCategories\";\r\n public static GET_PROPPYCARES_ALL_MERCHANTS =\r\n ApiService.base_path + \"GopherMap/GetAllProppyCaresMerchants\";\r\n public static GET_PROPPYCARES_ALL_MERCHANTS_V2 =\r\n ApiService.base_path + \"GopherMap/GetAllProppyCaresMerchants_V2\";\r\n public static DELETE_PROPPYCARES_LISTING =\r\n ApiService.base_path + \"GopherMap/DeleteMerchant\";\r\n public static UPDATE_PROPPYCARES_STATUS =\r\n ApiService.base_path + \"GopherMap/UpdateMerchantStatus\";\r\n public static GET_GOPHERMAP_CATEGORIES =\r\n ApiService.base_path + \"ProGopherMap/Categories\";\r\n public static GET_GOPHERMAP_CATEGORIES_GROUPS =\r\n ApiService.base_path + \"ProGopherMap/CategoryGroups\";\r\n public static UPLOAD_USERPROFILE_IMAGES_FILE =\r\n ApiService.base_path + \"MemberProfile/AddMemberProfilePicture\";\r\n public static GET_GOPHER_PREFERENCES =\r\n ApiService.base_path + \"ProGopherMap/GetPreference\";\r\n public static GET_GOPHER_PREFERENCES_V2 =\r\n ApiService.base_path + \"ProGopherMap/GetPreferenceV2\";\r\n public static ADD_GOPHER_PREFERENCES =\r\n ApiService.base_path + \"ProGopherMap/AddPreference\";\r\n public static ADD_GOPHER_PREFERENCES_V2 =\r\n ApiService.base_path + \"ProGopherMap/AddPreferenceV2\";\r\n public static GET_GOPHERMAP_DATA =\r\n ApiService.base_path + \"ProGopherMap/GetData\";\r\n //Start Review & Rating\r\n public static GET_INDIVIDUAL_RATINGS_COUNT =\r\n ApiService.base_path + \"ReviewAndRating/GetIndividualRatingsCount\";\r\n public static GET_TOTAL_RATINGS_AVERAGE =\r\n ApiService.base_path + \"ReviewAndRating/GetRatingsAverage\";\r\n public static GET_REVIEW_AND_RATING =\r\n ApiService.base_path + \"ReviewAndRating/GetReviewAndRating\";\r\n public static ADD_REVIEW_AND_RATING =\r\n ApiService.base_path + \"ReviewAndRating/AddReviewAndRating\";\r\n public static GET_REVIEW_RATING_TAGS =\r\n ApiService.base_path + \"ReviewAndRating/GetReviewRatingTags\";\r\n public static GET_SELECTED_REVIEW_RATING_TAG_COUNT =\r\n ApiService.base_path + \"ReviewAndRating/GetSelectedReviewRatingTagCount\";\r\n public static GET_REVIEW_RATING_HASHTAGS =\r\n ApiService.BASE_NODE_URL + \"review_rating/review_rating_tags/details\"\r\n public static ADD_REVIEW_RATING =\r\n ApiService.BASE_NODE_URL + \"review_rating/review_and_rating\"\r\n public static GET_REVIEW_RATING_DETAILS =\r\n ApiService.BASE_NODE_URL + \"review_rating/review_and_rating/details\"\r\n public static GET_REVIEW_RATING_COUNT =\r\n ApiService.BASE_NODE_URL + \"review_rating/review_and_rating/getReviewRatingCount\"\r\n public static REVIEW_RATING_IMAGE_UPLOAD = cdn_portal + 'ifile/api/File/UploadReviewRatingImage';\r\n public static REVIEW_RATING_IMAGE_UPLOAD_V2 = cdn_portal + 'ifile/api/File/Market360/UploadReviewRatingImage'\r\n\r\n public static UPDATE_ENDORSE = ApiService.base_path + \"Endorse/UpdateEndorse\";\r\n public static UPDATE_ENDORSEMENT = ApiService.BASE_NODE_URL + \"endorse/endorsement\";\r\n\r\n public static GET_ENDORSE_BY_USER_ID =\r\n ApiService.base_path + \"Endorse/GetEndorseByUserID\";\r\n public static GET_ENDORSEMENT_BY_USER_ID =\r\n ApiService.BASE_NODE_URL + \"endorse/endorsement/get_endorse_by_user_id\";\r\n\r\n public static GET_ENDORSE = ApiService.base_path + \"Endorse/GetEndorse\";\r\n public static GET_ENDORSE_DETAILS = ApiService.BASE_NODE_URL + \"endorse/endorsement/details\";\r\n\r\n public static ADD_ENDORSE = ApiService.base_path + \"Endorse/AddEndorse\";\r\n public static ADD_ENDORSEMENT = ApiService.BASE_NODE_URL + \"endorse/endorsement\";\r\n\r\n public static GET_OBJECT_DETAILS =\r\n ApiService.base_path + \"Endorse/GetObjectDetails\";\r\n public static GET_ENDORSEMENT_OBJECT_DETAILS =\r\n ApiService.BASE_NODE_URL + \"endorse/endorsement/get_object_details\";\r\n\r\n public static GET_ENDORSEMENTS_PAGING =\r\n ApiService.base_path + \"Endorse/GetEndorsementsPaging\";\r\n public static GET_ENDORSEMENT_PAGING =\r\n ApiService.BASE_NODE_URL + \"endorse/endorsement/paging\";\r\n\r\n public static GET_ENDORSE_TAGS =\r\n ApiService.base_path + \"Endorse/GetEndorseTags\";\r\n public static GET_ENDORSE_TAGS_DETAILS =\r\n ApiService.BASE_NODE_URL + \"endorse/endorse_tags/details\";\r\n\r\n public static GET_SELECTED_ENDORSE_TAG_COUNT =\r\n ApiService.base_path + \"Endorse/GetSelectedEndorseTagCount\";\r\n public static GET_SELECTED_ENDORSE_TAGS =\r\n ApiService.BASE_NODE_URL + \"endorse/endorse_tags/selected_endorse_tag_count\";\r\n\r\n public static GET_LIKES_COUNT =\r\n ApiService.base_path + \"ReviewAndRating/GetLikesCount\";\r\n public static ADD_LIKES = ApiService.base_path + \"ReviewAndRating/AddLikes\";\r\n public static UPDATE_LIKES =\r\n ApiService.base_path + \"ReviewAndRating/UpdateLikes\";\r\n public static GET_USER_LIKE =\r\n ApiService.base_path + \"ReviewAndRating/GetUserLike\";\r\n\r\n // Image Upload in Business screen\r\n public static PREMIUM_MERCHANT_IMAGE_UPLOAD = cdn_portal + 'ifile/api/File/UploadMerchantAssets';\r\n public static PREMIUM_MERCHANT_DOCUMENT_UPLOAD = cdn_portal + 'ifile/api/File/KYCUpload';\r\n public static PREMIUM_MERCHANT_ASSETS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_assets\"\r\n public static DELETE_MERHANT_IMAGE = ApiService.BASE_NODE_URL + \"premium_merchant/merchant/delete_merchant_image\"\r\n public static PREMIUM_MERCHANT_ASSETS_DEFAULTIMG = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_assets/updateIsDefault\"\r\n\r\n //ProppyCares\r\n public static GOPHERMAP_PREFIX = ApiService.base_path + \"GopherMap/\";\r\n public static GET_MERCHANT_LISTING =\r\n ApiService.GOPHERMAP_PREFIX + \"GetMerchantByUserID\";\r\n public static GET_MERCHANT_LISTING_BY_LISTINGID =\r\n ApiService.GOPHERMAP_PREFIX + \"GetMerchantByListingID\";\r\n public static GET_MERCHANT_UPDATE =\r\n ApiService.GOPHERMAP_PREFIX + \"UpdateMerchant\";\r\n public static GET_MERCHANT_ADDNEW =\r\n ApiService.GOPHERMAP_PREFIX + \"AddMerchant\";\r\n public static ADD_MERCHANT_TRANSFER =\r\n ApiService.GOPHERMAP_PREFIX + \"AddMerchantTransfer\";\r\n public static UPDATE_MERCHANT_TRANSFER_STATUS =\r\n ApiService.GOPHERMAP_PREFIX + \"UpdateMerchantTransferStatus\";\r\n //v2\r\n public static GET_MERCHANT_LISTING_BY_LISTINGID_V2 =\r\n ApiService.GOPHERMAP_PREFIX + \"GetMerchantByListingID_V2\";\r\n public static GET_MERCHANT_UPDATE_V2 =\r\n ApiService.GOPHERMAP_PREFIX + \"UpdateMerchant_V3\";\r\n public static GET_MERCHANT_ADDNEW_V2 =\r\n ApiService.GOPHERMAP_PREFIX + \"AddMerchant_V3\";\r\n public static GET_ProppyCares_By_Category_V2 =\r\n ApiService.GOPHERMAP_PREFIX + \"getProppyCaresByCategoryV2\";\r\n public static GET_ProppyCares_By_Category_Paging =\r\n ApiService.GOPHERMAP_PREFIX + \"getProppyCaresByCategoryPaging\";\r\n public static GET_MERCHANT_GROUPS =\r\n ApiService.GOPHERMAP_PREFIX + \"GetMerchantGroups\";\r\n public static GET_MERCHANT_PRECHECK =\r\n ApiService.GOPHERMAP_PREFIX + \"GetMerchantPrecheck\";\r\n public static ADD_MERCHANT_IMAGES = cdn_portal + 'ifile/api/File/UploadProppyCareImages';\r\n public static REGISTER_MERCHANT_ACTIVATION_REQUEST =\r\n ApiService.GOPHERMAP_PREFIX + \"RegisterMerchantActivationRequest\";\r\n public static UPDATE_MERCHANT_IMAGE_DESC =\r\n ApiService.GOPHERMAP_PREFIX + \"UpdateMerchantImageDesc\";\r\n public static GET_MERCHANT_IMAGES =\r\n ApiService.GOPHERMAP_PREFIX + \"GetMerchantImages\";\r\n //End\r\n\r\n //ErrorLogging\r\n // public static ADD_ERROR_LOG = ApiService.base_path + \"Logging/AddErrorLog\";\r\n public static ADD_ERROR_LOG = ApiService.BASE_NODE_URL + \"er_logs/error_logs\";\r\n //End\r\n\r\n //Google Api\r\n public static GOOGLE_MAP_API_ACCESS_TOKEN =\r\n \"AIzaSyAaQJpf2YbAitpQH0FFg-QT6yY9uSa0eHM\";\r\n public static GOOGLE_MAP_AUTOCOMPLETE_API_URL =\r\n \"https://maps.googleapis.com/maps/api/place/autocomplete/json?key=\" +\r\n ApiService.GOOGLE_MAP_API_ACCESS_TOKEN +\r\n \"&input=\";\r\n public static GOOGLE_MAP_PLACE_DETAILS_API_URL =\r\n \"https://maps.googleapis.com/maps/api/place/details/json?&key=\" +\r\n ApiService.GOOGLE_MAP_API_ACCESS_TOKEN +\r\n \"&place_id=\";\r\n //End\r\n\r\n //Global search\r\n public static SEARCH_PROPERTY_MARKET_BY_SHORT_DESC_AND_ADDRESS =\r\n ApiService.PROPERTY_MARKET_PREFIX +\r\n \"GetPropertyMarketByAddressAndShortDesc\";\r\n public static SEARCH_MERCHENTS_BY_DESC_AND_ADDRESS =\r\n ApiService.PROPPY_CARES_PREFIX + \"GetProppyCaresByAddressAndDescription\";\r\n //End\r\n\r\n //Notifications\r\n public static SET_USER_FCMTOKEN =\r\n ApiService.base_path + \"Notification/SetUserFCMToken\";\r\n public static REMOVE_USER_FCMTOKEN =\r\n ApiService.base_path + \"Notification/RemoveUserFCMToken\";\r\n public static PUSH_NOTIFICATION =\r\n ApiService.base_path + \"Notification/notify\";\r\n //End\r\n\r\n //SocialAuth\r\n public static SOCIAL_AUTH_USER_VALIDATION_AND_REGISTRATION =\r\n ApiService.base_path + \"SocialAuth/ValidateUserAndRegister\";\r\n public static SOCIAL_AUTH_UPDATE_MEMBER_MOBILE =\r\n ApiService.base_path + \"SocialAuth/UpdateMemberMobile\";\r\n public static SOCIAL_AUTH_UPDATE_MEMBER_STATUS =\r\n ApiService.base_path + \"SocialAuth/UpdateMemberStatus\";\r\n public static SOCIAL_NETWORK_USER_AUTHENTICATION = ApiService.BASE_NODE_URL + 'auth/social_login';\r\n\r\n //END\r\n\r\n //report\r\n public static CREATE_REPORT =\r\n ApiService.base_path + \"Report/CreateReportListing\";\r\n public static CREATE_REPORT_REASON =\r\n ApiService.BASE_NODE_URL + \"report/report_reason\";\r\n\r\n public static GET_REPORT_REASONS =\r\n ApiService.base_path + \"Report/GetReportReasons\";\r\n public static GET_REPORT_REASONS_DETAILS =\r\n ApiService.BASE_NODE_URL + \"report/report_reason/details\";\r\n\r\n public static GET_REPORTED_LISTING_BY_OBJECT_TYPE =\r\n ApiService.base_path + \"Report/GetReportedListingByObjectType\";\r\n public static GET_REPORT_REASON_PAGING =\r\n ApiService.BASE_NODE_URL + \"report/report_reason/paging\";\r\n\r\n public static UPDATE_REPORT_LISTING_STATUS =\r\n ApiService.base_path + \"Report/UpdateReportListingStatus\";\r\n public static UPDATE_REPORT_REASON_LISTING_STATUS =\r\n ApiService.BASE_NODE_URL + \"report/report_reason/update_report_listing_status\";\r\n\r\n //END\r\n\r\n //c360 starts\r\n public static GET_C360_LISTING = ApiService.base_path + \"c360/GetC360Listing\";\r\n public static GET_C360_LISTING_PAGING =\r\n ApiService.base_path + \"c360/GetC360ListingPaging\";\r\n public static GET_ALL_C360_LISTINGS =\r\n ApiService.base_path + \"c360/GetAllC360Listings\";\r\n public static GET_C360_LISTING_BY_LISTINGID =\r\n ApiService.base_path + \"c360/GetC360ListingByListingID\";\r\n public static CREATE_C360_LISTING =\r\n ApiService.base_path + \"c360/CreateC360Listing\";\r\n public static ADD_C360_LISTING_IMAGES =\r\n ApiService.base_path + \"c360/AddC360ListingImageFile\";\r\n public static ADD_C360_NEEDS_DOCUMENTS =\r\n ApiService.base_path + \"c360/AddC360NeedsDocument\";\r\n public static GET_C360_NEEDS_DOCUMENTS =\r\n ApiService.base_path + \"c360/GetC360NeedsDocument\";\r\n public static GET_C360_LISTING_BY_CREATEDBY =\r\n ApiService.base_path + \"c360/GetC360ListingByCreatedBy\";\r\n public static UPDATE_C360_LISTING =\r\n ApiService.base_path + \"c360/UpdateC360Listing\";\r\n public static C360_LISTING_EXTEND =\r\n ApiService.base_path + \"c360/ExtendC360Listing\";\r\n public static UPDATE_C360_LISTING_STATUS =\r\n ApiService.base_path + \"c360/UpdateC360ListingStatus\";\r\n public static C360_ADD_ENDORSE = ApiService.base_path + \"c360/C360AddEndorse\";\r\n public static C360_IS_MODERATOR =\r\n ApiService.base_path + \"c360/C360IsModerator\";\r\n public static C360_IS_ADMIN = ApiService.base_path + \"c360/C360IsAdmin\";\r\n public static ADD_C360_LISTING_IMAGES_FOR_NEEDS =\r\n ApiService.base_path + \"c360/AddC360ListingImageForNeeds\";\r\n public static UPDATE_C360_LISTING_IMAGES_FOR_SUPPLIES =\r\n ApiService.base_path + \"c360/UpdateC360ListingImageSupplies\";\r\n public static DELETE_C360_LISTING_IMAGES =\r\n ApiService.base_path + \"c360/DeleteC360ListingImage\";\r\n public static UPDATE_C360_LISTING_RED_FLAG =\r\n ApiService.base_path + \"c360/UpdateC360ListingRedFlag\";\r\n public static ADD_C360_LISTING_RED_FLAG =\r\n ApiService.base_path + \"c360/AddC360ListingRedFlag\";\r\n public static ADD_C360_LISTING_ADMIN =\r\n ApiService.base_path + \"c360/AddC360ListingAdmins\";\r\n public static DELETE_C360_LISTING_ADMIN =\r\n ApiService.base_path + \"c360/DeleteC360ListingAdmin\";\r\n public static GET_C360_RED_FLAG_LISTINGS =\r\n ApiService.base_path + \"c360/GetC360RedFlagedListing\";\r\n public static DELETE_LISTING_HASH_TAG =\r\n ApiService.base_path + \"c360/DeleteListingHashTag\";\r\n public static CREATE_C360_VACCINE_BOOKING =\r\n ApiService.base_path + \"c360/CreateC360VaccineBooking\";\r\n public static UPDATE_C360_VACCINE_BOOKING =\r\n ApiService.base_path + \"c360/UpdateC360VaccineBooking\";\r\n public static GET_C360_VACCINE_BOOKING_PAGING =\r\n ApiService.base_path + \"c360/GetC360VaccineBookingsPaging\";\r\n public static GET_C360_VACCINE_BOOKING_BY_BOOKINGID =\r\n ApiService.base_path + \"c360/GetC360VaccineBookingByBookingID\";\r\n public static GET_C360_LISTING_ADMINS =\r\n ApiService.base_path + \"c360/GETC360ListingAdmins\";\r\n public static ADD_C360_LISTING_ADMINS =\r\n ApiService.base_path + \"c360/AddC360ListingAdmins\";\r\n public static REMOVE_C360_LISTING_ADMINS =\r\n ApiService.base_path + \"c360/DeleteC360ListingAdmin\";\r\n\r\n public static SEARCH_C360_LISTINGS =\r\n ApiService.base_path + \"c360/SearchC360Listings\";\r\n\r\n public static ADD_C360_PROJECT_SUPPORTORS =\r\n ApiService.base_path + \"c360/AddC360ProjectSupporters\";\r\n public static DELETE_C360_PROJECT_SUPPORTORS =\r\n ApiService.base_path + \"c360/DeleteC360ProjectSupporters\";\r\n public static GET_C360_PROJECT_SUPPORTORS =\r\n ApiService.base_path + \"c360/GetC360ProjectSupporters\";\r\n public static PROPPYDOC_MODULE_ID = 1;\r\n public static PROPPY_AGENT_MODULE_ID = 2;\r\n\r\n public static GET_MODULES = ApiService.BASE_NODE_URL + \"work_flow/pro_modules/details\"\r\n public static GET_MODULE_ROLES = ApiService.BASE_NODE_URL + \"work_flow/pro_module_roles/details\";\r\n public static GET_PRO_MODULE_ACTIONS = ApiService.BASE_NODE_URL + \"work_flow/pro_module_actions/details\"\r\n public static ADD_WORK_FLOW_STEPS = ApiService.BASE_NODE_URL + \"work_flow/work_flow_steps\";\r\n public static GET_WORK_FLOW_STEPS = ApiService.BASE_NODE_URL + \"work_flow/work_flow_steps/details\";\r\n public static DELETE_WORK_FLOW_STEPS = ApiService.BASE_NODE_URL + \"work_flow/work_flow_steps/\";\r\n public static UPDATE_WORK_FLOW_STEPS = ApiService.BASE_NODE_URL + \"work_flow/work_flow_steps\";\r\n public static UPDATE_SIGNING_ORDER = ApiService.BASE_NODE_URL + \"work_flow/work_flow_steps/updateSeq\";\r\n\r\n public static GET_MERCHANT_DELIVERY_PLATFORM_PROVIDERS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_delivery_platform_providers/details\";\r\n public static GET_MERCHANT_PAYMENT_GATEWAY_PROVIDERS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_payment_gateway/details\";\r\n public static GET_MERCHANT_PG_PARAMETERS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_pg_parameters\";\r\n public static GET_DELIVERY_PARTNER = ApiService.BASE_NODE_URL + \"external_call\";\r\n\r\n public static ADD_RESIDENT_REGISTRATION = ApiService.BASE_NODE_URL + \"auth/ph_resident_registration\"\r\n public static GET_PREFERRED_COURIER_SERVICE_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_preferred_courier_service/details\"\r\n\r\n public static C360_RED_FLAG_REASONS = [\r\n \"Spam/ Fake location\",\r\n \"Not available anymore\",\r\n \"Information mismatched\",\r\n \"Impersonating someone else\",\r\n \"Others (Please comment)\",\r\n ];\r\n public static C360_NEED_TYPES = [\r\n {\r\n name: \"Food\",\r\n id: 1,\r\n img: \"https://proppyapp.com/images/c360/need_1.png\",\r\n },\r\n {\r\n name: \"Beverages\",\r\n id: 2,\r\n img: \"https://proppyapp.com/images/c360/need_2.png\",\r\n },\r\n {\r\n name: \"Fruits\",\r\n id: 3,\r\n img: \"https://proppyapp.com/images/c360/need_3.png\",\r\n },\r\n {\r\n name: \"Household Items \",\r\n id: 4,\r\n img: \"https://proppyapp.com/images/c360/need_4.png\",\r\n },\r\n {\r\n name: \"Medicine\",\r\n id: 5,\r\n img: \"https://proppyapp.com/images/c360/need_5.png\",\r\n },\r\n {\r\n name: \"Others\",\r\n id: 0,\r\n img: \"https://proppyapp.com/images/c360/need_0.png\",\r\n },\r\n ];\r\n public static C360_NEED_TYPES_IMAGES = [\r\n \"https://proppyapp.com/images/c360/need_0.png\",\r\n \"https://proppyapp.com/images/c360/need_1.png\",\r\n \"https://proppyapp.com/images/c360/need_2.png\",\r\n \"https://proppyapp.com/images/c360/need_3.png\",\r\n \"https://proppyapp.com/images/c360/need_4.png\",\r\n \"https://proppyapp.com/images/c360/need_5.png\",\r\n ];\r\n public static C360_NEED_TYPES_NAMES = [\r\n \"Others\",\r\n \"Food\",\r\n \"Beverages\",\r\n \"Fruits\",\r\n \"Household Items\",\r\n \"Medicine\",\r\n ];\r\n //ends\r\n\r\n //OwnProperty Start\r\n public static ADD_OWN_PROPERTY =\r\n ApiService.base_path + \"OwnProperty/AddOwnProperty\";\r\n public static ADD_OWN_PROPERTY_IMAGES =\r\n ApiService.base_path + \"OwnProperty/AddOwnPropertyImages\";\r\n public static DELETE_OWN_PROPERTY_IMAGE =\r\n ApiService.base_path + \"OwnProperty/DeleteOwnPropertyImage\";\r\n public static UPDATE_OWN_PROPERTY =\r\n ApiService.base_path + \"OwnProperty/UpdateOwnProperty\";\r\n public static GET_OWN_PROPERTIES =\r\n ApiService.base_path + \"OwnProperty/GetOwnProperties\";\r\n public static GET_OWN_PROPERTY_BY_LISTINGID =\r\n ApiService.base_path + \"OwnProperty/GetOwnPropertyByListingID\";\r\n public static GET_OWN_PROPERTY_IMAGES =\r\n ApiService.base_path + \"OwnProperty/GetOwnPropertyImages\";\r\n public static UPDATE_OWN_PROPERTY_STATUS =\r\n ApiService.base_path + \"OwnProperty/UpdateOwnPropertyStatus\";\r\n public static PUBLISH_PROPERTY_TO_MARKETPLACE =\r\n ApiService.base_path + \"OwnProperty/PublishOwnPropertyToMP\";\r\n //ends\r\n\r\n // Start\r\n public static GET_USER_VOUCHERS =\r\n ApiService.base_path + \"Vouchers/GetUserVouchers\";\r\n public static GET_USER_VOUCHERS_BY_ID =\r\n ApiService.base_path + \"Vouchers/GetUserVouchersByID\";\r\n public static ADD_VOUCHER_TRANSFER =\r\n ApiService.base_path + \"Vouchers/AddVoucherTransfer\";\r\n public static GET_USER_VOUCHERS_TRANSACTIONS =\r\n ApiService.base_path + \"Vouchers/GetVoucherTransactions\";\r\n public static GET_USER_POINTS_DETAILS =\r\n ApiService.BASE_NODE_URL + \"premium_merchant/product/details\";\r\n public static GET_MARCHANT_PRDUCT_DETAILS =\r\n ApiService.BASE_NODE_URL + \"premium_merchant/cust_loyality_mst/details\";\r\n public static GET_MARCHANT_POINTS_DETAILS =\r\n ApiService.BASE_NODE_URL + \"premium_merchant/cust_loyality_trx\";\r\n public static GET_TRANSACTION_DETAILS =\r\n ApiService.BASE_NODE_URL + \"premium_merchant/cust_loyality_trx/details\";\r\n //ends \r\n\r\n\r\n // start\r\n public static GET_PRELOVED_LISTING_DETAILS = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_listing/details\";\r\n public static GET_PRELOVED_LISTING_DELETE = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_listing/\";\r\n public static GET_PRELOVED_LISTING_PAGING = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_listing/paging\";\r\n public static UPDATE_DEFAULT_IMAGE = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_listing/update_image_default\"\r\n public static GET_PRELOVED_DEAL_METHODS = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_del_type/details\";\r\n public static GET_PRELOVED_SEARCH_FILTER_DATA_WRTO_PID = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_categories_favourites/details\";\r\n public static ADD_PRELOVED_SEARCH_FILTER_DATA_WRTO_PID = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_categories_favourites\";\r\n public static DELETE_PRELOVED_SEARCH_FILTER_DATA_WRTO_PID = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_categories_favourites\";\r\n public static PRE_LOVED_DEALS_INBOX = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_inbox/details\";\r\n public static PRE_LOVED_DEALS_INBOX_PAGING = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_inbox/paging\";\r\n public static PRE_LOVED_DEALS_STATUS_UPDATE = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_inbox\";\r\n public static PRE_LOVED_DEALS_TRACKER_DATA = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_deals/details\";\r\n public static PRE_LOVED_DEALS_TRACKER_PAGING = ApiService.BASE_NODE_URL + \"pre_loved/pre_loved_deals/paging\";\r\n // end\r\n\r\n ////MERCHNAT QUEUE\r\n public static ADD_UPDATE_QUEUE = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_queue\"\r\n public static QUEUE_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_queue/details\"\r\n // proppy academy Start\r\n public static GET_ACADEMY_CATEGORIES =\r\n ApiService.base_path + \"ProppyAcademy/GetAcademyCategories\";\r\n public static GET_ACADEMY_CONTENT =\r\n ApiService.base_path + \"ProppyAcademy/GetAcademyContent\";\r\n public static GET_ACADEMY_MEDIA_CONTENT =\r\n ApiService.base_path + \"ProppyAcademy/GetAcademyMedia\";\r\n // ends\r\n\r\n //contact list\r\n public static GET_USER_CONTACT_LIST =\r\n ApiService.base_path + \"ContactList/GetContactsByProppyUserID\";\r\n public static DELETE_USER_CONTACT_LIST =\r\n ApiService.base_path + \"ContactList/DeleteContactList\";\r\n public static ADD_USER_CONTACT_LIST =\r\n ApiService.base_path + \"ContactList/AddContactList\";\r\n //end\r\n\r\n //Business\r\n public static GET_OTHER_BUSINESS =\r\n ApiService.base_path + \"Business/GetOtherBusinesses\";\r\n public static GET_OTHER_BUSINESS_PAGING =\r\n ApiService.base_path + \"Business/GetOtherBusinessesPaging\";\r\n public static GET_OWN_BUSINESS =\r\n ApiService.base_path + \"Business/GetOwnBusinesses\";\r\n\r\n public static GET_MEMBER_PAYMENT_DETAILS =\r\n ApiService.BASE_NODE_URL + \"premium_merchant/member_payments/details\";\r\n //end\r\n\r\n //weather\r\n public static GET_WEATHER_BY_LATLONG_URL =\r\n \"https://api.openweathermap.org/data/2.5/find?\";\r\n public static WEATHER_API_KEY = \"47c4b4d3c749edd6b61569ca096615b6\";\r\n //end\r\n //contact list node services\r\n public static GET_CONTACT_LIST = ApiService.BASE_NODE_URL + \"proppy_contact_list/contact_list/details_v2\";\r\n public static ADD_CONTACT_LIST = ApiService.BASE_NODE_URL + \"proppy_contact_list/contact_list\";\r\n public static UPDATE_CONTACT_LIST = ApiService.BASE_NODE_URL + \"proppy_contact_list/contact_list/update_status\";\r\n // public static EXPORT_CONTACT_LIST = \"http://localhost:3001/export2vcard\";\r\n // public static EXPORT_CONTACT_LIST = \"http://localhost:3001/vcard/vcard/details\";\r\n\r\n public static GET_CONTACT_GROUP_LIST = ApiService.BASE_NODE_URL + \"contacts/contact_book_group/details\";\r\n public static ADD_NEW_CONTACT_GROUP = ApiService.BASE_NODE_URL + \"contacts/contact_book_group\";\r\n public static UPDATE_CONTACT_GROUP = ApiService.BASE_NODE_URL + \"contacts/contact_book_group\";\r\n public static ADD_UPDATE_CONTACT_GROUP_MEMBER = ApiService.BASE_NODE_URL + \"contacts/contact_book_group_member\";\r\n public static UPDATE_REJECTED_CONTACT_STATUS = ApiService.BASE_NODE_URL + 'proppy_contact_list/contact_list/rejection_status_update'\r\n //proppynews\r\n public static PROPPY_NEWS_GET_TAGCATEGORYS = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_tags_category/details\"\r\n public static PROPPY_NEWS_GET_BYSTATUS = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news/details\"\r\n public static PROPPY_NEWS_GET_MODERATORS_COUNT = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_moderator/moderators_count\"\r\n public static PROPPY_NEWS_MODERATOR_ADD_TAGS = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_tags\"\r\n public static PROPPY_NEWS_MODERATOR_DELETE_TAGS = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_tags/\"\r\n public static PROPPY_NEWS_DELETE_USERSUB = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_submission/delete\"\r\n // public static PROPPY_NEWS_GET_TAGCATEGORYS =\r\n // ApiService.base_path + \"ProppyNews/GetAllTagCategory\";\r\n // public static PROPPY_NEWS_GET_BYSTATUS =\r\n // ApiService.base_path + \"ProppyNews/GetAllProppyNewsByStatus\";\r\n // public static PROPPY_NEWS_GET_MODERATORS_COUNT =\r\n // ApiService.base_path + \"ProppyNews/GetAllProppyNewsModeratorsCount\";\r\n // public static PROPPY_NEWS_MODERATOR_ADD_TAGS =\r\n // ApiService.base_path + \"ProppyNews/AddModeratorProppyNewsTags\";\r\n // public static PROPPY_NEWS_MODERATOR_DELETE_TAGS =\r\n // ApiService.base_path + \"ProppyNews/DeleteModeratorProppyNewsTags\";\r\n // public static PROPPY_NEWS_DELETE_USERSUB =\r\n // ApiService.base_path + \"ProppyNews/DeleteProppyNewsSubmission\";\r\n public static PROPPY_NEWS_GET_USERSUB =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsUserSubmission\";\r\n public static PROPPY_NEWS_ADD_USERSUB =\r\n ApiService.base_path + \"ProppyNews/AddProppyNewsUserSubmission\";\r\n public static PROPPY_NEWS_GET_FORDISPLAY =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplay\";\r\n public static PROPPY_NEWS_GET_FORDISPLAY_WITHTAGS =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplayWithTags\";\r\n public static PROPPY_NEWS_GET_FORMODERATOR =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsForModerator\";\r\n public static PROPPY_NEWS_ADD_FORDISPLAY_COUNT =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplayCount\";\r\n public static PROPPY_NEWS_MODERATOR_ADD_USERSUB =\r\n ApiService.base_path + \"ProppyNews/AddModeratorProppyNewsUserSubmission\";\r\n public static PROPPY_NEWS_MODERATOR_UPDATE_USERSUB =\r\n ApiService.base_path + \"ProppyNews/UpdateModeratorProppyNewsUserSubmission\";\r\n public static PROPPY_NEWS_GET_FORDISPLAY_V2 =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplayV2\";\r\n public static PROPPY_NEWS_GET_FORDISPLAY_WITHTAGS_V2 =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplayWithTagsV2\";\r\n public static PROPPY_NEWS_GET_URL_FORSHARE =\r\n ApiService.base_path + \"ProppyNews/GetAllProppyNewsURLForShare\";\r\n\r\n //v2\r\n public static PROPPY_NEWS_USER_SUBMISSION = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_submission\";\r\n public static GET_PROPPY_NEWS_USER_LATEST_SUBMISSION = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_submission/details\"\r\n public static PROPPY_NEWS_GET_FORDISPLAY_AND_WITHTAGS_PAGING = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news/paging\";\r\n public static GET_PROPPY_NEWS_ACTIVE_BATCH_BY_OWNER_PID = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_moderator/details\"\r\n public static GET_PROPPY_NEWS_OPEN_BATCHES = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_moderator/details\";\r\n public static ADD_PROPPY_NEWS_BATCH_OWNER = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_moderator/add_batch_owner\"\r\n public static GET_PROPPY_NEWS_BATCH_DETAILS_BY_BATCHID = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_moderator_batch/details\"\r\n public static TRANSFER_PROPPY_NEWS_BATCH = ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_moderator/transfer_proppy_news_batch\"\r\n public static UPDATE_PROPPY_NEWS_SUBMISSION_STATUS =\r\n ApiService.BASE_NODE_URL + \"proppy_news/proppy_news_submission/update_status\";\r\n // public static PROPPY_NEWS_USER_SUBMISSION =\r\n // ApiService.base_path + \"ProppyNews/ProppyNewsUserSubmission\";\r\n // public static GET_PROPPY_NEWS_USER_LATEST_SUBMISSION =\r\n // ApiService.base_path + \"ProppyNews/GetProppyNewsUserLatestSubmission\";\r\n // public static PROPPY_NEWS_GET_FORDISPLAY_PAGING =\r\n // ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplayPaging\";\r\n // public static PROPPY_NEWS_GET_FORDISPLAY_WITHTAGS_PAGING =\r\n // ApiService.base_path + \"ProppyNews/GetAllProppyNewsForDisplayWithTagsPaging\";\r\n // public static GET_PROPPY_NEWS_ACTIVE_BATCH_BY_OWNER_PID =\r\n // ApiService.base_path + \"ProppyNews/GetProppyNewsActiveBatchByOwnerPID\";\r\n // public static ADD_PROPPY_NEWS_BATCH_OWNER =\r\n // ApiService.base_path + \"ProppyNews/AddProppyNewsBatchOwner\";\r\n // public static GET_PROPPY_NEWS_BATCH_DETAILS_BY_BATCHID =\r\n // ApiService.base_path + \"ProppyNews/GetProppyNewsBatchDetailsByBatchID\";\r\n // public static GET_PROPPY_NEWS_OPEN_BATCHES =\r\n // ApiService.base_path + \"ProppyNews/GetProppyNewsOpenBatches\";\r\n // public static UPDATE_PROPPY_NEWS_SUBMISSION_STATUS =\r\n // ApiService.base_path + \"ProppyNews/UpdateProppyNewsSubmissionStatus\";\r\n // public static TRANSFER_PROPPY_NEWS_BATCH =\r\n // ApiService.base_path + \"ProppyNews/TransferProppyNewsBatch\";\r\n //end\r\n\r\n //needs\r\n public static PROPPYCARE_NEEDS_PREFIX =\r\n ApiService.base_path + \"ProppyCareNeeds/\";\r\n public static SAVE_PROPPYCARE_NEEDS =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"SaveProppyCareNeedsV2\";\r\n public static UPLOAD_NEED_IMAGES =\r\n cdn_portal + \"ifile/api/File/UploadNeedImages\";\r\n public static UploadMemberProfilePic =\r\n cdn_portal + \"ifile/api/File/UploadMemberProfilePic\";\r\n public static GET_PROPPYCARE_NEEDS =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"GetProppyCareNeeds\";\r\n public static GET_PROPPYCARE_NEEDS_PAGING =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"GetProppyCareNeedsPagingV2\";\r\n public static GET_PROPPYCARE_NEEDS_IMAGES =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"GetProppyCareNeedImages\";\r\n public static UPDATE_PROPPYCARE_NEED_STATUS =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"UpdateProppyCareNeedStatus\";\r\n public static GET_PROPPYCARE_NEED_BY_NEEDSID =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"GetProppyCareNeedByNeedsIDV2\";\r\n public static ADD_PROPPYCARE_NEEDS_GRAB =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"RecordProppyCareNeedsGrab\";\r\n public static UPDATE_PROPPYCARE_NEEDS_GRAB =\r\n ApiService.PROPPYCARE_NEEDS_PREFIX + \"UpdateProppyCareNeedGrabStatus\";\r\n public static PROPPYCARE_NEEDS_UPDATE_COCREATORID =\r\n ApiService.base_path + \"ProppyCareNeeds/UpdateCoCreatorID\";\r\n public static PROPPYCARE_NEEDS_UPDATE_EXPIREDATETIME =\r\n ApiService.base_path + \"ProppyCareNeeds/UpdateExpireDateTime\";\r\n // ProppyCareNeeds/UpdateCoCreatorID\r\n //end\r\n\r\n // needs node services\r\n\r\n public static ADD_PROPPY_CARE_NEEDS =\r\n ApiService.BASE_NODE_URL + \"needs/proppy_cares_needs\";\r\n public static GET_PROPPY_CARE_NEEDS =\r\n ApiService.BASE_NODE_URL + \"needs/proppy_cares_needs/details\";\r\n public static GET_PROPPY_CARE_NEEDSPAGING =\r\n ApiService.BASE_NODE_URL + \"needs/proppy_cares_needs/paging\";\r\n public static GET_PROPPY_CARE_MAXBIDCOUNT =\r\n ApiService.BASE_NODE_URL + \"needs/proppy_cares_needs/maxBidCount\";\r\n\r\n\r\n //proppy deal\r\n public static PROPPY_DEALS_PREFIX = ApiService.base_path + \"ProppyDeals/\";\r\n public static GET_PROPPY_DEALS_INBOX =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetInbox\";\r\n public static GET_PROPPY_MY_DEALS =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetMyDeals\";\r\n public static GET_PROPPY_DEALS_INBOX_PAGING =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetInboxPagingV2\";\r\n public static GET_PROPPY_MY_DEALS_PAGING =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetMyDealsPagingV2\";\r\n public static GET_PROPPY_MY_DEALS_BY_ORDERID =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetMyDealsByOrderIDV2\";\r\n public static GENERATE_ORDER_RECEIPT = ApiService.BASE_NODE_URL + \"pdf/mr\"\r\n\r\n public static CREATE_ORDER = ApiService.PROPPY_DEALS_PREFIX + \"CreateOrderV2\";\r\n public static UPDATE_ORDER = ApiService.PROPPY_DEALS_PREFIX + \"UpdateOrderV2\";\r\n public static GET_ORDER_BY_ORDERID =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetOrderByOrderID\";\r\n public static UPDATE_ORDER_STATUS =\r\n ApiService.PROPPY_DEALS_PREFIX + \"UpdateOrderStatusV2\";\r\n public static UPDATE_ORDER_HISTORY_CONFIRMATION =\r\n ApiService.PROPPY_DEALS_PREFIX + \"UpdateOrderHistoryConfirmation\";\r\n public static GET_PROPPY_DEALS_AGENTS_INBOX_PAGING =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetAgentInboxPaging\";\r\n public static GET_PROPPY_DEALS_AGENTS_DEALS_PAGING =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetAgentDealsPaging\";\r\n public static GET_PROPPY_DEALS_MAO_INBOX_PAGING =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetMAOInboxPaging\";\r\n public static GET_PROPPY_DEALS_MAO_DEALS_PAGING =\r\n ApiService.PROPPY_DEALS_PREFIX + \"GetMAODealsPaging\";\r\n\r\n // OTP Services\r\n public static GENERATE_OTP_URL = ApiService.base_path + \"ProLoginController/GenerateOtp\";\r\n public static VERIFY_OTP_URL = ApiService.base_path + \"ProLoginController/VerifyOtp\";\r\n public static ENTER_OR_EXIT_URL = ApiService.base_path + \"TalkJS/EnterOrExitFromGroup\";\r\n public static CHAT_SEND_MSG_URL = ApiService.base_path + \"TalkJS/SendMessage\"\r\n public static VALIDATE_PASSWORD = ApiService.base_path + 'ProLoginController/ValidatePassword'\r\n //end\r\n\r\n //WishList Api's\r\n public static CREATE_WISHLIST = ApiService.base_path + 'proppywishlist/create-wishlist'\r\n public static UPDATE_WISHLIST = ApiService.base_path + 'proppywishlist/update-wishlist'\r\n public static GET_USER_WISHLISTS = ApiService.base_path + 'proppywishlist/get-user-wishlist'\r\n public static GET_WISHLIST_DETALS = ApiService.base_path + 'proppywishlist/get-wishlist-detail'\r\n public static DELETE_WISHLIST = ApiService.base_path + 'proppywishlist/delete-wishlist'\r\n public static GET_WISHLIST_BY_ID = ApiService.base_path + 'proppywishlist/GetWishlistByID'\r\n public static GET_WISHLIST_INBOX = ApiService.base_path + 'proppywishlist/WishlistInbox'\r\n public static GET_WISHLIST_AGENT_SUGGESTIONS = ApiService.base_path + 'proppywishlist/AddWishlistAgentSuggetions'\r\n public static DELETE_WISHLIST_AGENT_SUGGESTIONS = ApiService.base_path + 'proppywishlist/DeleteWishlistAgentSuggetions'\r\n public static GET_AGENT_PROPERTIES_BY_WISHLIST_FILTER = ApiService.base_path + 'proppywishlist/GetAgentPropertiesByWishListFilter'\r\n public static GET_WISHLIST_BY_FILTER = ApiService.base_path + 'proppywishlist/GetWishListByFilter';\r\n //end\r\n\r\n // Wishlist Node Api\r\n public static GET_BB_WISHLIST_DETAILS = ApiService.BASE_NODE_URL + 'bulletin_board/wishlist/details'\r\n\r\n // Wishlist Python Api\r\n public static GET_WISH_LIST_MATCHED_RESULTS = ApiService.basePythonApiUrl + 'API/WishlistPreCheck'\r\n\r\n //end\r\n\r\n // Customer INBOX START\r\n public static GET_CUSTOMER_BUSINESS_INBOX = ApiService.BASE_NODE_URL + 'premium_merchant/user_inbox/paging'\r\n public static GET_CUSTOMER_BUSINESS_INBOX_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/user_inbox/getInboxDetails'\r\n public static GET_CUSTOMER_BUSINESS_INBOX_PAGING = ApiService.BASE_NODE_URL + 'premium_merchant/user_inbox/getInboxPaging'\r\n // Merchant INBOX END\r\n\r\n // Merchant Deals START\r\n public static GET_MERCHANT_DEALS_DATA_PAGING = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr/paging';\r\n public static GET_CUSTOMER_ORDERS_COUNT = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr/listing_counts';\r\n public static GET_MERCHANT_DEALS_DATA = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr/details';\r\n public static ADD_TRACKER_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/pmp_order_history';\r\n public static GET_MERCHANT_ORDER_HISTORY = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr/order_history';\r\n\r\n // Merchant Deals END\r\n\r\n //MOP Api's\r\n public static CALCULATE_MOP = ApiService.base_path + 'ProMOP/CalcMortgage'\r\n public static GET_MOP = ApiService.base_path + \"ProMOP/GetMemberProperties\"\r\n public static UPDATE_PAYMENT_SCH = ApiService.base_path + \"ProMOP/UpdatePaymentSch\"\r\n public static GET_DATA_BY_OBJECT_ID = ApiService.base_path + \"ProMOP/GetDataByObjectID\"\r\n public static ADD_DATA_MEMBER_PROPERTY = ApiService.base_path + 'ProMOP/AddMemberProperty'\r\n public static UPDATE_DATA_MEMBER_PROPERTY = ApiService.base_path + 'ProMOP/UpdateMemberProperty'\r\n public static GET_MOP_SCH_BY_ID = ApiService.base_path + \"ProMOP/GetMemberPropertyPaymentSchByID\"\r\n public static UPDATE_SUBSCRIPTION_STATUS = ApiService.base_path + \"ProMOP/UpdateSubscriptionStatus\"\r\n public static GET_PAYMENT_NOTIFICATIONS = ApiService.base_path + \"ProMOP/GetMemberPropertyPaymentNotifications\"\r\n //end\r\n\r\n // Developers Start\r\n public static GET_DEVELOPERS = ApiService.BASE_NODE_URL + 'property_developer/developer/details'\r\n public static GET_DEVELOPER_PROPERTIES = ApiService.BASE_NODE_URL + 'property_developer/proppy_property_market_filter/details';\r\n public static GET_DEVELOPER_PROPERTIES_BY_PAGING = ApiService.BASE_NODE_URL + \"property_developer/proppy_property_market_filter/paging\"\r\n public static GET_DEVELOPER_PROPERTIES_BY_DETAILS = ApiService.BASE_NODE_URL + \"property_developer/proppy_property_market_filter/details\"\r\n // Developers End\r\n\r\n //ProAgency Api's\r\n public static GET_AGENCY = ApiService.base_path + \"ProAgency/GetAgency\"\r\n public static GET_AGENCY_AGENTS = ApiService.base_path + \"ProAgency/GetAgencyAgents\"\r\n //end\r\n\r\n //Facilities Management\r\n public static GET_PROPERTY_FACILITY_TYPES = ApiService.BASE_NODE_URL + 'ph_facility_management/ph_property_facility_types/details'\r\n public static GET_PROPERTY_FACILITY_TIMINGS = ApiService.BASE_NODE_URL + 'ph_facility_management/ph_property_facility_time_slot/details'\r\n public static GET_SELECTED_FACILITIES = ApiService.BASE_NODE_URL + \"ph_facility_management/ph_property_facility/details\";\r\n public static GET_SELECTED_FACILITIES_DETAILS = ApiService.BASE_NODE_URL + \"ph_facility_management/ph_property_facility_details/details\";\r\n public static GET_FACILITIES_SLOT_TIMINGS = ApiService.BASE_NODE_URL + \"ph_facility_management/ph_property_facility_time_slot/details\";\r\n public static GET_SELECTED_FACILITIES_DATA = ApiService.BASE_NODE_URL + \"ph_facility_management/ph_fd/details\";\r\n public static ADD_FACILITIES_BOOKING_DATA = ApiService.BASE_NODE_URL + \"ph_facility_management/ph_property_facility_booking\";\r\n public static GET_FACILITIES_BOOKING_DATA = ApiService.BASE_NODE_URL + \"ph_facility_management/ph_property_facility_booking/details\";\r\n //End\r\n\r\n //Incidents Report\r\n public static GET_INCIDENT_TYPES = ApiService.BASE_NODE_URL + \"ph_incident_management/ph_incident_types/details\";\r\n public static GET_INCIDENT_REPORT = ApiService.BASE_NODE_URL + \"ph_incident_management/ph_report/details\";\r\n public static GET_ALL_COMPLETED_INCIDENT_REPORTS = ApiService.BASE_NODE_URL + \"ph_incident_management/ph_id/details\";\r\n public static CLEAR_COMPLETED_INCIDENT_REPORTS = ApiService.BASE_NODE_URL + \"ph_incident_management/ph_id/clear\";\r\n public static ADD_INCIDENT_REPORT = ApiService.BASE_NODE_URL + \"ph_incident_management/ph_report\";\r\n public static UPLOAD_INCIDENT_REPORT_IMAGES = cdn_portal + 'ifile/api/File/UploadIncidentReportImage';\r\n public static UPLOAD_PROPPY_ACADEMY_INFOGRAPHIC = cdn_portal + 'ifile/api/File/UploadProppyAcademyImages';\r\n //End \r\n\r\n // Proppy Homes Api's\r\n public static GET_PROPERTY_VISITORY_LOG_DETAILS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log/details\"\r\n public static UPDATE_PROPERTY_VISITOR_LOG = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log/clear\"\r\n public static DELETE_PROPERTY_VISITOR_LOG = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log\"\r\n public static ADD_PROPERTY_VISITOR_FAVORITIES = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_favorities\"\r\n public static UPDATE_PROPERTY_VISITOR_FAVORITIES = ApiService.ADD_PROPERTY_VISITOR_FAVORITIES + \"/multiUpdate\"\r\n public static DELETE_PROPERTY_VISITOR_FAVORITIES = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_favorities\"\r\n public static GET_PROPERTY_VISITOR_FAVORITIES_DETAILS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_favorities/details\"\r\n public static ADD_PROPERTY_VISITOR_REQUEST = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_request\"\r\n public static GET_PROPERTY_EVENTS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_request/details\"\r\n public static GET_PROPERTY_EVENTS_DETAILS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_vd/details\"\r\n public static UPDATE_PROPERTY_EVENTS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_request/clear\"\r\n public static GET_PAST_VISITOR_LOGS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log/details\"\r\n public static GET_PAST_VISITOR_FAVORITES = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_favorities/details\"\r\n public static UPDATE_INDIVIDUAL_PROPERTY_VISITOR = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log\"\r\n public static UPDATE_INDIVIDUAL_PROPERTY_EVENT = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_request\"\r\n public static ADD_VISITOR_PH_VEHICLE = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_vehicle\"\r\n public static GET_VISITOR_PH_VEHICLE = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_vehicle/details\"\r\n public static ADD_PH_PROPERTY_USER = ApiService.BASE_NODE_URL + \"ph_users/ph_property_user/addResidents\"\r\n public static UPDATE_PH_PROPERTY_USER = ApiService.BASE_NODE_URL + \"ph_users/ph_property_user/updateResidentPid\"\r\n public static GET_PH_PROPERTY_USER_DETAILS = ApiService.BASE_HOMES_NODE_URL + \"ph_users/ph_property_user/details\"\r\n public static GET_PH_PROPERTY_USER_TYPES_DETAILS = ApiService.BASE_NODE_URL + \"ph_users/ph_property_user_types/details\"\r\n public static DELETE_PH_PROPERTY_USER = ApiService.BASE_NODE_URL + \"ph_users/ph_property_user\"\r\n public static GET_MEMBER_BY_PID = ApiService.base_path + \"Proppy/GetMemberByProppyUserID\";\r\n public static GET_VISITORS_MY_DETAILS = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_request/myvisitdetails\"\r\n public static UPDATE_VISITOR_REQUEST = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_request\"\r\n public static GENERATE_VISITOR_SHARE_IMG = ApiService.BASE_NODE_URL + \"ph/misc/chb\"\r\n public static ADD_ATTENDANCE = ApiService.BASE_NODE_URL + \"ph_vms/attendance\"\r\n public static Qr_LOGIN_SCAN = ApiService.AUTH_NODE_URL + 'auth/pro_qr_login_scan'\r\n\r\n //Community board\r\n // start\r\n public static ANNOUNCEMENTS_DETAILS_URL = ApiService.BASE_NODE_URL + \"ph_announcement/ph_announcements/paging\";\r\n public static ANNOUNCEMENTS_DETAILS = ApiService.BASE_NODE_URL + \"ph_announcement/ph_announcements/details\"\r\n public static GET_COMMUNITY_BOARD_POSTS = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details/details\"\r\n public static COMMUNITY_BOARD_PAGING = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details/paging\"\r\n public static ADD_POST_TO_COMMUNITY_BOARD = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details\"\r\n public static GET_USER_POSTS_PAGING = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details/paging\"\r\n public static GET_USER_POSTS = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details/details\"\r\n public static DELETE_USER_POST = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details/\"\r\n public static UPDATE_USER_POST = ApiService.BASE_NODE_URL + \"ph_community_board/ph_community_details\"\r\n public static UPLOAD_COMMUNITY_POST_IMAGE = cdn_portal + 'ifile/api/File/UploadCommunityPostImage';\r\n // end\r\n\r\n // My Units Add Vehicles Start\r\n public static GET_VEHICLE_DATA_URL = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_vehicle/details\";\r\n public static ADD_VEHICLES_DATA_URL = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_vehicle\";\r\n public static UPDATE_VEHICLES_DATA_URL = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_vehicle\";\r\n // My Units Add Vehicles End\r\n\r\n // end\r\n // ***************** JMC Services START **************************//\r\n public static GET_JMC_PROFILE_INFORMATION = ApiService.BASE_NODE_URL + \"ph_jmc/ph_profile/details\"\r\n public static GET_COMMITTEE_MEMBER_INFORMATION = ApiService.BASE_NODE_URL + \"ph_jmc/ph_committe_members/details\"\r\n public static GET_MANAGEMENT_OFFICE_INFORMATION = ApiService.BASE_NODE_URL + \"ph_management_office/mo_profile_trx/details\"\r\n // ***************** JMC Services END **************************//\r\n // **************** Earn Services START ******************//\r\n public static RECORD_GEM_REWARD = ApiService.base_path + \"proppygem/RecordGemReward\"\r\n\r\n /******************* PANIC BUTTON SERVICES START ***********************/\r\n public static GET_PANIC_NOTIFICATIONS = ApiService.BASE_NODE_URL + \"ph_panic/ph_panic_emergency/details\"\r\n public static ADD_PANIC_NOTIFICATIONS = ApiService.BASE_NODE_URL + \"ph_panic/ph_panic_emergency\"\r\n /******************* PANIC BUTTON SERVICES END ***********************/\r\n\r\n /******************* BILLING NOTIFICATIONS START *****************************/\r\n public static GET_BILLING_NOTIFICATIONS = ApiService.BASE_NODE_URL + \"billing/homes_hdr_trx/pending_bill_counts\"\r\n /******************* BILLING NOTIFICATIONS END *****************************/\r\n\r\n //GAURD HOUSE\r\n public static VISIT_PURPOSE: any = [\r\n { name: 'visitor', id: 0 },\r\n { name: 'delivery', id: 1 },\r\n { name: 'dropoff', id: 2 },\r\n { name: 'pickup', id: 3 },\r\n { name: 'invitation', id: 4 },\r\n { name: 'overnight', id: 5 },\r\n { name: 'contractor', id: 6 },\r\n { name: 'worker', id: 7 },\r\n ];\r\n public static VEHICLE_TYP = [\r\n { vehicle_name: 'car', id: 0 },\r\n { vehicle_name: 'lorry', id: 1 },\r\n { vehicle_name: 'van', id: 2 },\r\n { vehicle_name: 'suv', id: 3 },\r\n { vehicle_name: 'motor_cycle', id: 4 }\r\n ]\r\n\r\n public static GET_UNITS = ApiService.BASE_NODE_URL + \"ph_property/units/details\";\r\n public static ADD_WALKIN_VISITOR = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log\"\r\n public static ADD_SELF_REGISTRATION = ApiService.BASE_NODE_URL + \"ph_vms/ph_guard_house_qr_logger\"\r\n public static UPDATE_VISITOR_APPROVAL = ApiService.BASE_NODE_URL + \"ph_visitor_management/ph_property_visitor_log\"\r\n public static GET_PROPERTIES = ApiService.BASE_NODE_URL + \"ph_property/profile/details\"\r\n public static PH_VEHICLES_MAKERS = ApiService.BASE_NODE_URL + \"ph_vms/vehicle_masters/vehicle_makers\"\r\n public static PH_VEHICLES_MODELS = ApiService.BASE_NODE_URL + \"ph_vms/vehicle_masters/vehicle_models\"\r\n //GAURD HOUSE END\r\n\r\n // **************** Earn Services END ******************//\r\n public static FURNISHINGS = [\r\n { id: 1, name: \"Unfurnished\", lang_section_id: \"124\", lang_title_key: \"U0GMODXQNU09W60WE15\" },\r\n { id: 2, name: \"Fully Furnished\", lang_section_id: \"124\", lang_title_key: \"YS6JOZUWSQNBBURWEF1\" },\r\n { id: 3, name: \"Partially Furnished\", lang_section_id: \"124\", lang_title_key: \"R5NYEHE9TXRCWRVT32E\" },\r\n ];\r\n public static SORT_TYPES = [\r\n { id: 1, name: \"Recent\" },\r\n { id: 2, name: \"Lowest Price\" },\r\n { id: 3, name: \"Highest Price\" },\r\n { id: 4, name: \"Built-up Size (large to small)\" },\r\n { id: 5, name: \"Built-up Size (small to large)\" },\r\n ];\r\n public static TENURE_TYPES = [\r\n { id: 1, name: \"Freehold\" },\r\n { id: 2, name: \"Leasehold\" },\r\n { id: 3, name: \"Malay Reserve Land\" },\r\n { id: 4, name: \"Private Lease Scheme\" },\r\n ];\r\n public static ADVERTISER_TYPES = [\r\n { name: \"Agent\" },\r\n { name: \"Developer\" },\r\n { name: \"Owner\" },\r\n { name: \"Broker\" },\r\n ];\r\n public static LISTING_TYPES = [{ name: \"Sale\" }, { name: \"Rent\" }];\r\n public static PROPERTY_TYPES = [{ name: \"Condominum\" }, { name: \"Terrace\" }];\r\n public static UNIT_TYPES = [\r\n { name: \"Intermediate\", lang_section_id: \"123\", lang_title_key: \"FFXHOXD55S1CZNS2A4F\" },\r\n { name: \"Corner Lot\", lang_section_id: \"123\", lang_title_key: \"1M5W6TSBQFUU4L9BJEX\" },\r\n { name: \"End Lot\", lang_section_id: \"123\", lang_title_key: \"LXG40Z3UJI99DVPEKDV\" },\r\n { name: \"Duplex\", lang_section_id: \"123\", lang_title_key: \"PWGN1SRTA4LPY0OBL05\" },\r\n { name: \"Triplex\", lang_section_id: \"123\", lang_title_key: \"5XZX2DEEHLYK49DSWXV\" },\r\n { name: \"Penthouse\", lang_section_id: \"123\", lang_title_key: \"4CN68FMFXVN4WRYVK59\" },\r\n { name: \"Studio\", lang_section_id: \"123\", lang_title_key: \"PK0ZLM6EI57SQ3QZ947\" },\r\n { name: \"Soho\", lang_section_id: \"123\", lang_title_key: \"GI48JHNW9J24C70OVET\" },\r\n { name: \"Dual key\", lang_section_id: \"123\", lang_title_key: \"ISLYZPUS4JZ2AFOJMQZ\" },\r\n ];\r\n public static FLOOR_LEVEL = [\r\n { name: \"High Floor\" },\r\n { name: \"Middle Floor\" },\r\n { name: \"Low Floor\" },\r\n ];\r\n public static BUILT_UP_UOM = [\r\n { name: \"Square Feet\", value: \"sq.ft\", lang_section_id: \"2\", lang_title_key: \"identity_22\" },\r\n // {'name':'Sq.Meter','value':'sq.m'},\r\n { name: \"Acres\", value: \"acres\", lang_section_id: \"2\", lang_title_key: \"identity_23\" },\r\n ];\r\n public static LAND_TITLE = [\r\n { name: \"Residential\" },\r\n { name: \"Commercial\" },\r\n { name: \"Agriculture\" },\r\n ];\r\n public static PROPERTY_TITLE_TYPE = [\r\n { name: \"Master\", lang_section_id: \"126\", lang_title_key: \"W5YGLDU8JTU37DKL2ZF\" },\r\n { name: \"Individual\", lang_section_id: \"126\", lang_title_key: \"0IW5S1S85KLC73U8JQK\" },\r\n { name: \"Strata\", lang_section_id: \"126\", lang_title_key: \"ED4ES9TQIZSEFZXD7U9\" },\r\n ];\r\n public static TENURE = [\r\n { name: \"Freehold\" },\r\n { name: \"Leasehold\" },\r\n { name: \"Malay Reserve Land\" },\r\n { name: \"Lease & Scheme\" },\r\n ];\r\n public static FURNISHING = [\r\n { name: \"Partially Furnished\" },\r\n { name: \"Fully Furnished\" },\r\n { name: \"Unfurnished\" },\r\n ];\r\n public static OCUUPANCY = [\r\n { name: \"Tenanted\", lang_section_id: \"125\", lang_title_key: \"OOVOOCJ05Z7L597977R\" },\r\n { name: \"Owner Occupied\", lang_section_id: \"125\", lang_title_key: \"SAS8URCCE2XV2E8G8A5\" },\r\n { name: \"Vacant\", lang_section_id: \"125\", lang_title_key: \"QM7MD8FV8FEDS1GPNZM\" },\r\n ];\r\n public static NUMBERS = [\r\n { Name: 1 },\r\n { Name: 2 },\r\n { Name: 3 },\r\n { Name: 4 },\r\n { Name: 5 },\r\n { Name: 6 },\r\n { Name: 7 },\r\n { Name: 8 },\r\n { Name: 9 },\r\n { Name: 10 }\r\n ];\r\n\r\n public static DISTANCE = [\r\n { \"name\": \"10 Meters\", \"value\": 10 },\r\n { \"name\": \"20 Meters\", \"value\": 20 },\r\n { \"name\": \"30 Meters\", \"value\": 30 },\r\n { \"name\": \"40 Meters\", \"value\": 40 },\r\n { \"name\": \"50 Meters\", \"value\": 50 },\r\n { \"name\": \"100 Meters\", \"value\": 100 },\r\n { \"name\": \"150 Meters\", \"value\": 150 },\r\n { \"name\": \"200 Meters\", \"value\": 200 },\r\n { \"name\": \"250 Meters\", \"value\": 250 },\r\n { \"name\": \"300 Meters\", \"value\": 300 }\r\n ];\r\n\r\n public static AGENTIMAGE =\r\n \"https://res.cloudinary.com/realtysystems/image/upload/v1613532064/agents/\";\r\n public static MERCHANT_GROUP_BTN_URL_PREFIX =\r\n cdn_portal + \"images/AppImages/ProppyCaresMap/Legend/\";\r\n public static MERCHANT_SERVICE_PROVIDER_URL_PREFIX =\r\n cdn_portal + \"images/ui24/ProppyCaresCategory/\";\r\n\r\n // public static GET_PROPERTIES_BY_FILTERV2=ApiService.base_path+'PropertyMarket/GetPropertiesByFilterV2';\r\n // public static GET_PROPERTIES_BY_FILTERMAPV2=ApiService.base_path+'PropertyMarket/GetPropertiesByFilterMapV2';\r\n\r\n public static ERROR_TOAST_MSG = 'Unable to process this request, please try again.'\r\n public static MANDATORY_TOAST_MSG = 'Please Fill All Mandatory Fields To Continue.'\r\n public static DISPLAY_COL_DROPDOWN_ROUTE = 'tabs/display-col-dropdown'\r\n public static DISPLAY_DROPDOWN_ROUTE = \"tabs/display-dropdown\"\r\n public static EMAIL_REGEX = /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,}$/\r\n public static APP_SUPPORTED_LANGUAGES = [{ Name: 'English', Code: 'en' }, { Name: 'Chinese', Code: 'cn' }, { Name: 'Malay', Code: 'ms' }]\r\n public static APP_SUPPORTED_LANGUAGES_BY_CODE = { 'en': 'English', 'cn': 'Chinese', 'ms': 'Malay' }\r\n public static MERCHANT_TRANSFER_NOT_ALLOWED = 'TRANSFER IS NOT ALLOWED';\r\n\r\n /** ENVIRONMENT CONFIGURATION */\r\n public static ADMOB_APP_ID = environment.admob_app_id\r\n public static IOS_ADMOB_APP_ID = environment.ios_admob_app_id\r\n public static ANDROID_GOOGLE_MAP_KEY = environment.android_google_map_key\r\n public static IOS_GOOGLE_MAP_KEY = environment.ios_google_map_key\r\n public static TALK_JS_APP_ID = environment.talkjs.appId\r\n //** END */\r\n\r\n // Deep Link Api\r\n public static EVENT_PREFIX = ApiService.base_path + \"ProEvents/\";\r\n public static CREATE_DEEPLINK_EVENT = ApiService.EVENT_PREFIX + \"AddData\";\r\n public static RECORD_DEEPLINK_EVENT_ACCESS = ApiService.EVENT_PREFIX + \"RecordEventAccess\";\r\n public static GET_DEEPLINK_EVENT_BY_ACCESSID = ApiService.EVENT_PREFIX + \"GetDataByAccessID\";\r\n // End\r\n //MAO\r\n public static GET_QUESTIONS = ApiService.base_path + 'QuestionTemplate/GetData'\r\n public static SAVE_LISTING_SELECTED_QUESTIONS = ApiService.base_path + 'ProppyPropertyMarketMAOQueTemp/AddData'\r\n public static GET_LISTING_SELECTED_QUESTIONS = ApiService.base_path + 'ProppyPropertyMarketMAOQueTemp/GetData'\r\n public static SAVE_LISTING_MAO = ApiService.base_path + 'ProppyPropertyMarketMAO/AddData'\r\n //End\r\n\r\n //AI Service Url's\r\n public static ADD_EMAIL_QUEUE = ApiService.base_path + 'Email/AddEmailQueue'\r\n //End\r\n\r\n //appeal board\r\n public static GET_REPORTED_LISTING_BY_OBJECT_ID = ApiService.base_path + 'Report/GetReportedListingByObjectID';\r\n public static GET_REPORTED_REASON_LISTING_BY_OBJECT_ID = ApiService.BASE_NODE_URL + \"report/report_reason/reported_listing_by_objectId\";\r\n\r\n public static APPEAL_REPORT = ApiService.base_path + 'Report/ApealReport'\r\n public static APPEAL_REPORT_REASON = ApiService.BASE_NODE_URL + \"report/report_reason/apeal_report\";\r\n\r\n //end\r\n\r\n //premium merchant\r\n public static GET_MERCHANT_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/promoter_merchants/details\";\r\n public static GET_MERCHANT_DEATILS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant/details\";\r\n public static ADD_OR_UPDATE_MERCHANT_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/merchant\";\r\n public static GET_MERCHANT_PAGING = ApiService.BASE_NODE_URL + \"premium_merchant/merchant/paging\";\r\n public static GET_PREMIUM_MERCHANT_DETAILS = ApiService.MARKET_360_NODE_URL + 'premium_merchant/pmd/details';\r\n public static GET_PREMIUM_MERCHANT_PAGING = ApiService.BASE_NODE_URL + 'premium_merchant/pmd/paging';\r\n public static GET_PREMIUM_MERCHANT_MAP_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/pmd/map_details';\r\n public static GET_PREMIUM_MERCHANT_PRODUCT_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/product/details'\r\n public static GET_HIGHLY_ENDORSED_MERCHANTS = ApiService.BASE_NODE_URL + 'premium_merchant/most_endorsed_merchants/most_endorsed_merchants'\r\n public static GET_PRODUCTS_SERVICES_PAGING = ApiService.MARKET_360_NODE_URL + 'premium_merchant/pmd/product_services_paging'\r\n public static GET_PREMIUM_MERCHANT_MAP_DETAILS_V2 = ApiService.MARKET_360_NODE_URL + 'premium_merchant/pmd/map_details';\r\n public static GET_MAP_MERCHANT_EVENTS_VOUCHERS = ApiService.MARKET_360_NODE_URL + \"premium_merchant/pmd/merchant_events_vouchers\";\r\n\r\n public static GET_CART_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/cart/details'\r\n public static ADD_CART_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/cart'\r\n public static CLEAR_CART_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/cart/clear'\r\n public static GET_PAYMENT_BANK_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/payment_banks/details';\r\n public static ADD_ORDER_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr'\r\n public static GET_VOUCHER_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/discount_voucher/details'\r\n public static DISCOUNT_VOUCHER_COLLECTED = ApiService.BASE_NODE_URL + 'premium_merchant/discount_voucher_collected'\r\n public static DISCOUNT_VOUCHER_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/discount_voucher_collected/details';\r\n public static DISCOUNT_VOUCHER_PAGING = ApiService.BASE_NODE_URL + 'premium_merchant/discount_voucher/paging';\r\n public static ADD_ORDERS = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr';\r\n public static ADD_ORDERS_WITH_AUTO_APPROVAL = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr/place_auto_approval_order';\r\n public static GET_SYSTEM_PARAMETERS = ApiService.BASE_NODE_URL + 'premium_merchant/merchant_sys_parameter/details';\r\n public static GET_PROMOTION_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/promotion/details';\r\n\r\n public static GET_PROMOTION_HIERARCHY_DETAILS_V2: string = ApiService.BASE_NODE_URL + 'premium_merchant/promotion_v2/details';\r\n\r\n public static ADD_PROMOTION_REFERRAlS = ApiService.BASE_NODE_URL + 'premium_merchant/promotion_referrals';\r\n public static GET_PROMOTION_REFERRALS = ApiService.BASE_NODE_URL + 'premium_merchant/promotion_referrals/details';\r\n public static GENERATE_PM_ORDER_RECEIPT = ApiService.BASE_NODE_URL + \"pdf/pmr\"\r\n public static MERCHANT_BANK_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/payment_method/details\"\r\n public static REDEMPTION_PRODUCT_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/pc_redemption_products/details\";\r\n public static GET_BANKS = ApiService.BASE_NODE_URL + \"premium_merchant/bank_master/details\";\r\n public static GET_PRODUCT_CATEGORY_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/pc_custom_product_categories_hierarchy/details\";\r\n public static UPLOAD_ORDER_PAYMENT_SLIP = cdn_portal + \"ifile/api/File/UploadPMOrderPaymentSlip\"\r\n //end\r\n //*********************Product as a service*************************************\r\n public static GET_SERVICE_PRODUCT_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/pc_service_products/details/\";\r\n\r\n //end\r\n //*********************USER SIGN UP*************************************\r\n //START\r\n public static GET_PROPPY_USER_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/user_info/details';\r\n public static ADD_MERCHANT_USER_SIGNUP = ApiService.BASE_NODE_URL + 'premium_merchant/merchant_user_signup';\r\n public static GET_MERCHANT_REQ_USER_SIGNUP_DETAILS = ApiService.BASE_NODE_URL + 'premium_merchant/merchant_signup_parameter_config/details'\r\n public static DELETE_USER_SIGNUP = ApiService.BASE_NODE_URL + 'premium_merchant/merchant_user_signup/clear';\r\n public static GET_USER_SIGN_YN = ApiService.BASE_NODE_URL + \"premium_merchant/merchant_user_signup/details\"\r\n public static GET_USER_MEMBERSHIP_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/customer/user_membership_details\";\r\n //end\r\n //*********************influence-transaction******************************\r\n public static GET_PROMO_TRANSACTIONS = ApiService.BASE_NODE_URL + 'premium_merchant/order_hdr_trx/details';\r\n public static GET_PROMOTION_HIRARCHY_DETAILS = ApiService.BASE_NODE_URL + \"premium_merchant/order_hdr/phd\";\r\n //end\r\n\r\n // *********** PRELOVED SERVICES START ***************//\r\n // public static GET_PRELOVED_CATEGORIES =ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_category/details';\r\n // public static GET_PRELOVED_SUB_CATEGORIES =ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_sub_category/details';\r\n public static GET_PRELOVED_CATEGORIES = ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_category/details';\r\n // public static GET_PRELOVED_SUB_CATEGORIES =ApiService.BASE_NODE_URL +'pre_loved/pre_loved_sub_category/details';\r\n public static ADD_PRELOVED = ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_listing'\r\n public static PRELOVED_BUY_REQUEST = ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_buy_requests'\r\n public static PRELOVED_MAO_REQUEST = ApiService.BASE_NODE_URL + 'mao/proppy_property_market_mao'\r\n\r\n public static PRELOVED_PM_PROGRESS_TRACKER = ApiService.BASE_NODE_URL + 'pre_loved/pm_progress_tracker'\r\n public static ADD_PRELOVED_DEALS = ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_deals'\r\n\r\n public static UPLOAD_PRELOVED_IMAGES = cdn_portal + 'ifile/api/File/UploadPrelovedImage';\r\n public static PRELOVED_DELETE_IMAGE = ApiService.BASE_NODE_URL + 'pre_loved/pre_loved_listing_img/'\r\n // *********** PRELOVED SERVICES END ***************//\r\n\r\n //*********************influence-transaction******************************\r\n public static PROPPY_NOTIFICATION_DETAILS = ApiService.BASE_NODE_URL + 'proppy_notification/proppy_notifications/details'\r\n public static PROPPY_NOTIFICATION = ApiService.BASE_NODE_URL + 'proppy_notification/proppy_notifications'\r\n public static PROPPY_NOTIFICATION_PAGING = ApiService.BASE_NODE_URL + \"proppy_notification/proppy_notifications/paging\";\r\n //end\r\n\r\n //*********************Access Upload ******************************/\r\n public static ACCESS_IMAGE_UPLOAD = cdn_portal + 'ifile/api/File/UploadAccessImage';\r\n //end\r\n\r\n\r\n\r\n /****************************** BILLING API START ********************************/\r\n public static GET_BILL_GENERATED_INVOICES = ApiService.BASE_NODE_URL + 'billing/homes_hdr_trx/details'\r\n public static GET_ADHOC_INVOICE_BILLS = ApiService.BILLING_BASE_NODE_URL + 'generation/adhoc/details';\r\n public static UPDATE_BILL_PAY_INVOICES = ApiService.BASE_NODE_URL + 'billing/homes_hdr_trx'\r\n public static BILL_PAYMENT_INVOICE_URL = ApiService.BASE_NODE_URL + 'billing/homes_hdr_trx/payments'\r\n public static BILL_ADHOC_PAYMENT_INVOICE_URL = ApiService.BILLING_BASE_NODE_URL + 'payments/adhoc'\r\n public static ADVANCED_DEPOSIT_PAYMENT_INVOICE_URL = ApiService.BILLING_BASE_NODE_URL + 'payment_receipt/adhoc/adv_deposit_payment'\r\n public static UPLOAD_BILLING_RECEIPTS = cdn_portal + 'ifile/api/File/UploadPropertyBillingReceipt';\r\n public static HOMES360_GET_TOTAL_BILLS = ApiService.BILLING_BASE_NODE_URL + 'financial/payment_receipt/get_total_bills';\r\n\r\n public static GENERATE_INVOICE_PDF = ApiService.BASE_NODE_URL + 'billing/homes_hdr_trx/generate_pdf';\r\n public static GENERATE_INVOICE_ADHOC_PDF = ApiService.BILLING_BASE_NODE_URL + \"generation/adhoc/gen_pdf\"\r\n\r\n public static GENERATE_PAYMENT_RECEIPT_PDF = ApiService.BASE_NODE_URL + 'billing/payment_receipt/generate_pdf';\r\n public static GENERATE_PAYMENT_RECEIPT_ADHOC_PDF = ApiService.BILLING_BASE_NODE_URL + \"payment_receipt/adhoc/gen_pdf\"\r\n\r\n public static GET_S3_SIGNED_URL = ApiService.BASE_NODE_URL + \"aws/get_signed_url\"\r\n\r\n public static BULLING_ADVANCE_DEPOSIT_PDF = ApiService.BILLING_BASE_NODE_URL + \"payment_receipt/adhoc/adv_deposit_payment/gen_pdf\"\r\n\r\n /****************************** BILLING API END ********************************/\r\n\r\n\r\n\r\n /*************************** FORMS SERVICES START **********************************/\r\n public static ADD_FORM_APPLICATION_MASTER_DETAILS = ApiService.BASE_NODE_URL + \"ph/forms/fm/\";\r\n public static GET_FORM_APPLICATION_MASTER_DETAILS = ApiService.BASE_NODE_URL + \"ph/forms/fm/details\";\r\n public static GET_FORM_APPLICATION_MASTER_PAGING = ApiService.BASE_NODE_URL + \"ph/forms/fm/paging\";\r\n public static ADD_FROM_APPLICATION_DETAILS = ApiService.BASE_NODE_URL + \"ph/forms/fms/\";\r\n public static GET_FROM_APPLICATION_DETAILS = ApiService.BASE_NODE_URL + \"ph/forms/fms/details\";\r\n public static GET_FORM_APPLICATION_PAGING = ApiService.BASE_NODE_URL + \"ph/forms/fm/paging\";\r\n public static FORMS_MOVING_DATA = [{ 'id': 1, 'name': 'Moving In' }, { 'id': 2, 'name': 'Moving Out' }]\r\n public static FORMS_TYPES_OF_SERVICES = [\r\n { 'id': 1, 'name': 'Air Cond Service' },\r\n { 'id': 2, 'name': 'New Air Cond Installation' },\r\n { 'id': 3, 'name': 'Air Cond Breakdown' },\r\n { 'id': 4, 'name': 'Cleaning' },\r\n { 'id': 5, 'name': 'Repairing' },\r\n { 'id': 6, 'name': 'Installation Wifi' },\r\n { 'id': 7, 'name': 'Moving Out' }\r\n ]\r\n\r\n /*************************** FORMS SERVICES START **********************************/\r\n\r\n /*************************** E-Badges SERVICES START **********************************/\r\n public static GET_MERCHANT_BADGES = ApiService.MARKET_360_NODE_URL + \"e_badge/master_badges/details\"\r\n public static GET_MERCHANT_ASSIGNED_BADGES = ApiService.MARKET_360_NODE_URL + \"e_badge/user_badges/details\"\r\n /*************************** E-Badges SERVICES START **********************************/\r\n\r\n /************************** REGULAR EXPRESSIONS START ***********************************/\r\n public static REGEX_FOR_LETTERS_AND_SPACE = /^[a-zA-Z\\s]*$/;\r\n public static REGEX_FOR_LETTERS_AND_NUMBERS = /^[a-zA-Z0-9_.-]*$/;\r\n public static REGEX_FOR_ONLY_NUMBERS = /^[0-9]*$/;\r\n public static REGEX_FOR_DECIMAL_NUMBERS = /^\\d*\\.?\\d*$/;\r\n public static REGEX_FOR_ONLY_NUMBERS_LETTERS = /^[A-Za-z0-9]*$/;\r\n public static REGEX_FOR_ALPHANUMERIC_AND_SPACE = /^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$/;\r\n public static REGEXP_ALLOW_PLUS_AND_NUMBERS = /^[0-9 +]*$/;\r\n public static REGEXP_ALLOW_ALL = /^[a-zA-Z0-9!/@#\\$%\\^\\&*\\)\\(\\'`'+=,._-\\s]+$/;\r\n public static REGEXP_EMAIL = /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,}$/;\r\n public static REGEXP_VALID_URL = /(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g;\r\n\r\n /************************** REGULAR EXPRESSIONS END ***********************************/\r\n\r\n /****************************** PACKAGE ROOM START ********************************/\r\n public static GET_PACKAGES = ApiService.BASE_NODE_URL + 'ph/pr/details'\r\n public static UPDATE_PACKAGE = ApiService.BASE_NODE_URL + 'ph/pr'\r\n /****************************** PACKAGE ROOM END ********************************/\r\n\r\n\r\n\r\n /**************************** MARKET PLACE SAERVICES START************************************/\r\n public static GET_PROPPY_ACADEMY_CATEGORIES = ApiService.BASE_NODE_URL + \"proppy_academy/academy_categories/details\";\r\n public static GET_PROPPY_ACADEMY_CONTENT = ApiService.BASE_NODE_URL + \"proppy_academy/academy_content/details\";\r\n\r\n /**************************** MARKET PLACE SAERVICES END************************************/\r\n\r\n /**************************** BUMP SERVICES END************************************/\r\n public static ACTIVATE_BUMP = ApiService.MARKET_360_NODE_URL + \"bump/bump_log\";\r\n public static GET_USER_BUMP_DETAILS = ApiService.MARKET_360_NODE_URL + \"bump/bump_log/details\";\r\n /**************************** BUMP SERVICES END************************************/\r\n\r\n static LBDB_LANG_CODE = 'lang_code'\r\n static DEFAULT_LANG_CODE = 'en'\r\n static SELECTED_LANGUAGE_CODE = 'en'\r\n static DB_LNG_KEY = 'PROPPY_SELECTED_LANGUAGE'\r\n public getBalance(payload) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/get-balance\",\r\n payload\r\n );\r\n }\r\n\r\n public sendGems(payload) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/gem-transfer\",\r\n payload\r\n );\r\n }\r\n\r\n public static CHEST_DETAILS = ApiService.BASE_NODE_URL + 'proppy_gems/chest/details'\r\n\r\n public getGemTransferHistory(payload) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/get-transfer-history\",\r\n payload\r\n );\r\n }\r\n\r\n public getGemTransferDetail(payload) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/get-transfer-detail\",\r\n payload\r\n );\r\n }\r\n\r\n public createRedPacket(payload) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/red-packet-create\",\r\n payload\r\n );\r\n }\r\n\r\n public getRedPacket(payload) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/red-packet-detail\",\r\n payload\r\n );\r\n }\r\n\r\n public getRedPacketSent(userID) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/get-red-packet-sent\",\r\n userID\r\n );\r\n }\r\n\r\n public getRedPacketReceived(userID) {\r\n return this.http.post(\r\n ApiService.base_path + \"proppygem/get-red-packet-received\",\r\n userID\r\n );\r\n }\r\n\r\n public claimRedPacket(payload) {\r\n return this.http.post(\r\n ApiService.base_path + 'proppygem/red-packet-claim',\r\n payload\r\n );\r\n }\r\n\r\n public static RED_PACKET_QR_SHARE = ApiService.BASE_NODE_URL + \"proppy_gems/red_packet/redpacketqr\"\r\n\r\n public static getFileReader(): FileReader {\r\n const fileReader = new FileReader();\r\n const zoneOriginalInstance = (fileReader as any)[\r\n \"__zone_symbol__originalInstance\"\r\n ];\r\n return zoneOriginalInstance || fileReader;\r\n }\r\n static BASE_ASSETS_PATH = \"assets/\";\r\n static BASE_JSON_PATH = ApiService.BASE_ASSETS_PATH + \"json/\";\r\n public static BASE_LT_IMAGES_PATH = ApiService.BASE_ASSETS_PATH + \"lt_json_img\"\r\n\r\n public static TALK_JS_BASE_URL = `https://api.talkjs.com/v1/${ApiService.TALK_JS_APP_ID}/`\r\n public static GET_TALK_JS_CONVERSATION_URL = ApiService.TALK_JS_BASE_URL + `conversations/`\r\n public static GET_TALK_JS_CONVERSATION_BY_PID_URL = ApiService.TALK_JS_BASE_URL + 'users/${userId}/conversations '\r\n public static SAVE_TALK_JS_ATTACHMENT_URL = ApiService.TALK_JS_BASE_URL + `files`\r\n public static ESTABLISH_TALK_JS_CONVERSATION_URL = ApiService.TALK_JS_BASE_URL + `conversations/`\r\n\r\n static MONTH_NAMES = [{ \"id\": 1, \"name\": \"January\" }, { \"id\": 2, \"name\": \"February\" }, { \"id\": 3, \"name\": \"March\" }, { \"id\": 4, \"name\": \"April\" }, { \"id\": 5, \"name\": \"May\" }, { \"id\": 6, \"name\": \"June\" },\r\n { \"id\": 7, \"name\": \"July\" }, { \"id\": 8, \"name\": \"August\" }, { \"id\": 9, \"name\": \"September\" }, { \"id\": 10, \"name\": \"October\" }, { \"id\": 11, \"name\": \"November\" }, { \"id\": 12, \"name\": \"December\" }];\r\n static SINGLELETTERWEEKDAYS = [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"];\r\n static THREELETTERWEEKDAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n static THREELETTER_MONTH_NAMES: any[] = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n constructor(private http: HttpClient,\r\n private helper: AppHelper) { }\r\n\r\n public static HOMES_WELCOME_POPUP_GLOBAL = 'HOMES_WELCOME_POPUP_GLOBAL';\r\n public static BEEP_NOTIFICATIONS_COUNT = ApiService.BASE_NODE_URL + 'proppy_notification/notifications_count'\r\n public static CART_COUNT = ApiService.BASE_NODE_URL + 'premium_merchant/cart/cart_count'\r\n public static HOMETAB_COUNT = ApiService.BASE_NODE_URL + 'proppyhomes_tabs/tabs_count'\r\n public static MOP_COUNT = ApiService.BASE_NODE_URL + 'mop/mop_counts'\r\n\r\n static deeplinkCallBack = null;\r\n static clearGlobalSearchData = null;\r\n\r\n public static IS_SLOW_INTERNET = false;\r\n static ENABLE_FD = true\r\n static FD_BASE_URL = environment.fd_api_url + \"api/v2/\"\r\n static FD_SEARCH_CONTACT_URL = `${ApiService.FD_BASE_URL}search/contacts?query=\"email:'$$EMAIL$$'\"`\r\n static FD_CREATE_CONTACT_URL = `${ApiService.FD_BASE_URL}contacts`\r\n // ProppyHomes Feature Codes ------\r\n public static AnnouncementCode = 'MF230331172408170IF'\r\n public static CommunityBoardCode = 'MF230331172408173KU'\r\n public static FacilityManagementCode = 'MF230331172408173FV'\r\n public static VisitorManagementCode = 'MF230331172408173ZU'\r\n public static IncidentManagementCode = 'MF230331172408173QG'\r\n public static FormsCode = 'MF230331172408173MV'\r\n public static PackageRoomCode = 'MF230331172408173OV'\r\n public static BillingCode = 'MF230331172408173PR'\r\n public static PanicEmergencyCode = 'MF230331172408173TV'\r\n\r\n //Premium Merchant Default Share Image\r\n public static DEFAULT_IMAGE_PRODUCT_SERVICE_SHARE = \"https://cdn.proppyapp.net/images/AppImages/PremiumMerchant/default_product_image.png\"\r\n\r\n /*************************************START SQL Error Codes *****************************/\r\n public static SQL_ERROR_CODE_MESSAGES = {\r\n 0: 'Invalid Response From Server Please Try Again Later.',\r\n 2601: 'Record Already Exist.'\r\n }\r\n /*************************************END SQL Error Codes *****************************/\r\n // Beep Notification Count\r\n public static BeepNotificationCount = 0\r\n\r\n public static Product_check_status: number = 1;\r\n static LOGOUT_REDIRCT_LINK = '/login';\r\n static LBDB_KEY = 'pr_app_data';\r\n static LBDB_IS_LOGIN = 'pro_is_login';\r\n static LBDB_TOKEN_KEY = 'ph_token'; //Token\r\n static LBDB_PUSH_KEY = \"LBDB_PUSH_KEY\"\r\n static PUSH_NOTIFICATION_TOKEN = \"\"\r\n static PROPPYAPP_APP_ID = 1\r\n\r\n public static PROPPY_APP_ID = 1;\r\n public static ENCRYPT_KEY = 'mOIWb5YQRoJL7PgZ@$'\r\n\r\n public static INSTANT_TOKEN = ApiService.BASE_NODE_URL + \"auth/instant_token\";\r\n public static LOGIN = ApiService.BASE_NODE_URL + \"auth/login\";\r\n public static LOGIN_AC = ApiService.BASE_NODE_URL + \"auth/login_ac\";\r\n public static UPDATE_LOGIN_ACCESSTOKEN = ApiService.BASE_NODE_URL + 'auth/update_login_access';\r\n\r\n public static GATEWAY_PAYMENT_METHODS = ['RAZER', 'PAYEX']\r\n public static IS_SKIP_LOGIN = 0\r\n public static USER_VOUCHER_COUNT: string = ApiService.SHARED_NODE_URL + `counts/vouchers_count/details`;\r\n public static USER_DEALS_COUNT: string = ApiService.SHARED_NODE_URL + `counts/deals_count/details`;\r\n public static IS_APP_POPUP_SHOW: number = 1;\r\n public static DISMISS_APP_POPUP_CB: any = () => { };\r\n\r\n\r\n public static GET_MEMBERSHIP_TRANSACTION_HISTORY = `${ApiService.MARKET_360_NODE_URL}premium_merchant/membership_transaction_history/details`\r\n\r\n //************* PROMOTION SERVICE URLS START ***************/\r\n\r\n public static ADD_OR_UPDATE_PROMOTER_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promoter`;\r\n public static GET_PROMOTER_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promoter/details`;\r\n\r\n public static GET_PROMOTER_MERCHNATS_LIST: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promoter/merchants_list`;\r\n public static GET_USER_MERCHANT_PROMO_CODE_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promoter/merchant_promocodes`;\r\n\r\n public static GET_PROMO_CODE_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promocode/details`;\r\n public static GET_AVAIL_PROMO_PRODUCTS_AND_SERVICES: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promocode/avail_products_services`;\r\n\r\n public static SAVE_OR_UNSAVE_PROMO_CODE: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promocode_collected`;\r\n public static SAVED_PROMO_CODES_PAGING: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_promocode_collected/paging`;\r\n\r\n\r\n //************* PROMOTION PAYOUT SERVICES***************/\r\n public static GET_PROMOTER_COMM_PAYOUT_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_comm_payout/details`;\r\n public static UPDATE_PROMOTER_COMM_PAYOUT_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}promoter/pc_comm_payout`;\r\n public static GET_PROMO_CODE_HIERARCHY_PROMOTER_PROMOCODES: string = `${ApiService.MARKET_360_NODE_URL}campaign/campaign_promoter`;\r\n\r\n public static CHECKOUT_CALCULATION_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}checkout/cal`\r\n\r\n public static PC_FEATURED_MERCHANTS_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}premium_merchant/featured_merchants/details`;\r\n\r\n\r\n public static GET_COMMISION_TRX__INFO_DETAILS: string = `${ApiService.MARKET_360_NODE_URL}commission_trx/comm_info`;\r\n\r\n\r\n\r\n\r\n public static GET_MERCHANT_MAP_SPECIFIC_DETAILS: any = `${ApiService.MARKET_360_NODE_URL}premium_merchant/pmd/merchant_events_endorsement_rating`\r\n\r\n public static IS_APPLE_SIGNIN_ENABLED = 1 //0 means false , 1 means true;\r\n\r\n // Dynamic Qr\r\n public static GET_QR_LINK_DETAILS: string = ApiService.BASE_P360_NODE_API_URL + 'dynamic_qr/qr_link/details'\r\n\r\n // WPE SERVICE LIST \r\n\r\n public static GET_WALL_POST_PROPPER_DETAILS_PAGING: string = ApiService.WPE_NODE_URL + `wall/propper_wall_post/paging`;\r\n public static GET_WALL_EVENT_PROPPER_NEAR_DETAILS: string = ApiService.WPE_NODE_URL + `wall/propper_wall_event/paging`\r\n public static GET_USERS_CONTACT_LIST = ApiService.BASE_NODE_URL + `proppy_contact_list/contact_list/details`;\r\n public static MERCHANT_QR_PRE_GENERATION: any = `${ApiService.MARKET_360_NODE_URL}premium_merchant/pre_qr_generate`\r\n\r\n static GENDER: any = [\r\n { id: 1, gender: 'Male' },\r\n { id: 2, gender: 'Female' }\r\n ]\r\n static ENDORSE_POP_DISCLAIMER='ENDORSE_POP_DISCLAIMER';\r\n static FAVORITE_POP_DISCLAIMER='Favourite_POP_DISCLAIMER';\r\n /**\r\n * 0 - Allow to Refresh\r\n * 1 - Not Allow to Refresh\r\n * \r\n * store_front\r\n * proppy_cares\r\n * home_essentials\r\n * merchant_list\r\n * voucher_all\r\n * ***/\r\n static IS_PAGING_REFRESH: any = {};\r\n\r\n // M360 URLS \r\n public static GET_MERCHANT_BUSINESS_HOURS: string = `operation_hours/template/slots_by_day`;\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiManagerService } from \"./api-manager.service\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Storage } from '@capacitor/storage';\r\nimport { DBHandlerService } from \"./db-handler.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class RefreshAuthService {\r\n\r\n constructor(\r\n ) {}\r\n\r\n\t\tgenerateInstantToken = async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst params = {\"host\":\"\",\"ip_address\":\"127.0.0.1\"}\r\n\t\t\t\tconst result = await ApiManagerService.doPost(ApiService.INSTANT_TOKEN,\"\",params)\r\n\t\t\t\treturn result['token'] || \"\"\r\n\t\t\t} catch (error) {\r\n\t\t\t\treturn \"\"\r\n\t\t\t}\r\n\t\t}\r\n\tgenerateToken = async () => {\r\n\t\ttry {\r\n\t\t\tconst login_data = await this.getLoginData()\r\n\t\t\tlet token = await this.generateInstantToken()\r\n\t\t\tif (login_data['is_login'] && login_data['is_login'] == \"1\") {\r\n\t\t\t\tconst post_params = { \"access_code\": login_data['access_code'], \"user_id\": login_data['user_id'], \"app_id\": ApiService.PROPPYAPP_APP_ID, \"device_token\": ApiService.PUSH_NOTIFICATION_TOKEN }\r\n\t\t\t\tconst result = await ApiManagerService.doPost(ApiService.LOGIN_AC,token, post_params)\r\n\t\t\t\ttoken = result['token'] || \"\"\r\n\t\t\t}\r\n\t\t\tDBHandlerService.addToLocalDB(ApiService.LBDB_TOKEN_KEY, token, err => {})\r\n\t\t\treturn token\r\n\t\t} catch (error) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\tgetJwtToken = (token) => {\r\n\t\ttry {\r\n\t\t\tvar tokenSplit = token.split('.')\r\n\t\t\tvar modifyToken = this.deleteCharAt(tokenSplit[1],0) + '.' + this.deleteCharAt(tokenSplit[2],1) + '.' + this.deleteCharAt(tokenSplit[0],2)\t\t\t\t\r\n\t\t\treturn modifyToken\r\n\t\t} catch (error) {\r\n\t\t\treturn \"\"\r\n\t\t}\r\n\t}\r\n \tasync getLoginData() {\r\n \tconst logged_in_data = await Storage.get({ key: ApiService.LBDB_IS_LOGIN });\r\n\t\treturn JSON.parse(atob(logged_in_data['value'] || '') || JSON.stringify({'is_login' : 0}))\r\n \t}\r\n\tdeleteCharAt = (str,index) => {\r\n\t\treturn str.substring(0, index) + str.substring(index + 1);\r\n\t}\r\n}","import { Injectable, OnInit } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { Observable, fromEvent, merge, of} from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { InternetConnectionModalPage } from '../modals/internet-connection-modal/internet-connection-modal.page';\r\nimport { AlertHandlerService } from './alert-handler.service';\r\nimport { SplashScreen } from '@capacitor/splash-screen';\r\nimport { Network } from '@capacitor/network';\r\nimport { PluginListenerHandle } from '@capacitor/core';\r\nimport { ApiService } from './api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectivityService implements OnInit{\r\n minSpeedInMb = 0.5\r\n intervalMillis = 60000\r\n public appIsOnline: Observable;\r\n networkListener: PluginListenerHandle\r\n\r\n constructor(private modalController: ModalController,private alertHandeler:AlertHandlerService) {}\r\n ngOnInit(): void {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n public async initialize(){\r\n console.log(\"connectivity check\")\r\n this.initConnectivityMonitoring(); \r\n this.initiateCheck()\r\n }\r\n\r\n initiateCheck(){\r\n setInterval(() => {\r\n this.CheckConnectivitySpeed()\r\n },this.intervalMillis);\r\n }\r\n CheckConnectivitySpeed(){\r\n var imageLink = \"https://cdn.proppyapp.net/images/AppImages/ProppyCaresCategory/SA.png\";\r\n var time_start, end_time;\r\n var downloadSize = 3220;\r\n var downloadImgSrc = new Image();\r\n downloadImgSrc.src=imageLink\r\n var gbl=this\r\n downloadImgSrc.onload = function () {\r\n end_time = new Date().getTime();\r\n var duration = (end_time - time_start) / 1000;\r\n var bitsLoaded = downloadSize * 8;\r\n var speedBps = Number((bitsLoaded / duration).toFixed(2));\r\n var speedKbps = Number((speedBps / 1024).toFixed(2));\r\n var speedMbps = Number((speedKbps / 1024).toFixed(2));\r\n ApiService.IS_SLOW_INTERNET = !speedMbps || speedMbps {\r\n ApiService.IS_SLOW_INTERNET = false\r\n }, 30000);\r\n };\r\n time_start = new Date().getTime();\r\n }\r\n public CheckConnectivity(type=0){\r\n this.appIsOnline.subscribe(async online => {\r\n console.log(type)\r\n console.log(online)\r\n if (online) {\r\n this.modalController.dismiss({\r\n 'dismissed': true\r\n });\r\n console.log(\"App is online\")\r\n } else {\r\n if(type==0){\r\n // SplashScreen.hide()\r\n const modal = await this.modalController.create({\r\n component: InternetConnectionModalPage,\r\n cssClass: 'modalalert',\r\n backdropDismiss: false,\r\n keyboardClose:true,\r\n componentProps: {\r\n \"RetryFun\": ()=>{\r\n // this.CheckConnectivity(1)\r\n },\r\n }\r\n });\r\n await modal.present();\r\n } else {\r\n this.alertHandeler.presenToast('Still No Internet Connection.')\r\n }\r\n console.log(\"App is offline\") \r\n }\r\n })\r\n }\r\n private initConnectivityMonitoring() {\r\n\r\n // if (!window || !navigator || !('onLine' in navigator)) return;\r\n\r\n // this.appIsOnline = merge(\r\n // of(null),\r\n // fromEvent(window, 'online'),\r\n // fromEvent(window, 'offline')\r\n // ).pipe(map(() => navigator.onLine))\r\n\r\n Network.addListener('networkStatusChange',async status => {\r\n console.log('Network status changed', status);\r\n if (status.connected) {\r\n console.log('true')\r\n this.modalController.dismiss({\r\n 'dismissed': true\r\n });\r\n console.log(\"App is online\")\r\n } else {\r\n console.log('false')\r\n const modal = await this.modalController.create({\r\n component: InternetConnectionModalPage,\r\n cssClass: 'modalalert',\r\n backdropDismiss: false,\r\n keyboardClose:true,\r\n componentProps: {\r\n \"RetryFun\": async ()=>{\r\n const status = await Network.getStatus()\r\n if(!status.connected){\r\n this.alertHandeler.presenToast('Still No Internet Connection.')\r\n } else{\r\n modal.dismiss()\r\n }\r\n },\r\n }\r\n }); \r\n await modal.present()\r\n SplashScreen.hide()\r\n }\r\n });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { SingleInstace } from '../single-instance';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConstantsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'responseType':'json',\r\n })\r\n };\r\n\r\n handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(\r\n 'Please try again later.');\r\n };\r\n\r\n \r\n // onPost(url,params): Observable {\r\n // console.log(SingleInstace.getInstance().getTokenStr());\r\n // this.httpOptions['headers']= new HttpHeaders({\r\n // 'Content-Type': 'application/json',\r\n // 'proppy-token':SingleInstace.getInstance().getTokenStr()\r\n // });\r\n // console.log(this.httpOptions);\r\n // return this.http.post(url, JSON.stringify(params), this.httpOptions)\r\n // .pipe(\r\n // retry(2),\r\n // catchError(this.handleError)\r\n // )\r\n // }\r\n\r\n \r\n // onGet(url): Observable {\r\n // this.httpOptions['headers']= new HttpHeaders({\r\n // 'Content-Type': 'application/json',\r\n // 'proppy-token':SingleInstace.getInstance().getTokenStr()\r\n // });\r\n // return this.http\r\n // .get(url, this.httpOptions)\r\n // .pipe(\r\n // retry(2),\r\n // catchError(this.handleError)\r\n // )\r\n // }\r\n\r\n // // Update item by id\r\n // onPut(url,params): Observable {\r\n // this.httpOptions['headers']= new HttpHeaders({\r\n // 'Content-Type': 'application/json',\r\n // 'proppy-token':SingleInstace.getInstance().getTokenStr()\r\n // });\r\n // return this.http\r\n // .put(url, JSON.stringify(params), this.httpOptions)\r\n // .pipe(\r\n // retry(2),\r\n // catchError(this.handleError)\r\n // )\r\n // }\r\n\r\n // // Delete item by id\r\n // onDelete(url) {\r\n // return this.http\r\n // .delete(url)\r\n // .pipe(\r\n // retry(2),\r\n // catchError(this.handleError)\r\n // )\r\n // }\r\n\r\n onPost(url,body) {\r\n // this.setHttpOptions();\r\n return this.http.post(\r\n url, body,this.httpOptions);\r\n }\r\n\r\n onPut(url,body) {\r\n // this.setHttpOptions();\r\n return this.http.put(\r\n url, body,this.httpOptions);\r\n }\r\n\r\n onGet(url) {\r\n // this.setHttpOptions();\r\n return this.http.get(url,this.httpOptions);\r\n }\r\n\r\n onDelete(url) {\r\n // this.setHttpOptions();\r\n return this.http.delete(url,this.httpOptions);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { AppVersion } from '@ionic-native/app-version/ngx';\r\nimport { Device } from '@ionic-native/device/ngx';\r\n// import { Storage } from '@ionic/storage';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ApiService } from '../api.service';\r\nimport { StorageService } from '../storage.service';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DataFetcherService {\r\n constructor(\r\n private http: HttpClient,\r\n private storage: StorageService,\r\n private device: Device,\r\n private appVersion: AppVersion,\r\n ) {}\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n responseType: \"json\",\r\n \"x-access-token\": '',\r\n }),\r\n };\r\n\r\n httpTalkJSOptions = {\r\n headers: new HttpHeaders({\r\n \"Authorization\": 'Bearer '+environment.talk_js_bearer_api_key,\r\n }),\r\n };\r\n\r\n async setHttpOptions() {\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n responseType: \"json\",\r\n \"x-access-token\": await this.storage.getJWTToken(),\r\n }),\r\n };\r\n }\r\n\r\n doPost(url, body) {\r\n // if (url.includes(ApiService.BASE_NODE_URL)) {\r\n // this.setHttpOptions();\r\n // }\r\n return this.http.post(url, body, this.httpOptions);\r\n }\r\n\r\n doPostWithOutHttpHeaders(url, body) {\r\n return this.http.post(url, body);\r\n }\r\n\r\n doPut(url, body) {\r\n // this.setHttpOptions();\r\n return this.http.put(url, body, this.httpOptions);\r\n }\r\n\r\n doGet(url) {\r\n // this.setHttpOptions();\r\n return this.http.get(url, this.httpOptions);\r\n }\r\n\r\n doGetWithOutHttpHeaders(url) {\r\n return this.http.get(url);\r\n }\r\n\r\n doDelete(url) {\r\n // this.setHttpOptions();\r\n return this.http.delete(url, this.httpOptions);\r\n }\r\n doPostDownloadFile(url,post_params) {\r\n return this.http.post(url,post_params, { responseType: \"blob\" });\r\n }\r\n doDownloadFile(url) {\r\n return this.http.get(url, { responseType: \"blob\" });\r\n }\r\n doCdnUploadRequest(api_path, body) {\r\n return this.http.post(api_path, body);\r\n }\r\n addErrorLog(PageRoute, FunctionName,ErrorLog,ServiceUrl='',RequestPayload={}) {\r\n // this.appVersion.getVersionNumber().then(val=>{\r\n this.storage.getString(\"Proppy_UserID\", (id) => {\r\n var params = {\r\n app_version_code: environment.app_version,\r\n device_model: this.device.model || \"Desktop\",\r\n device_uuid: this.device.uuid || \"Desktop\",\r\n device_platform: this.device.platform != null ? this.device.platform == \"Android\" ? 1 : 2 : 3,\r\n platform_version: this.device.version || \"Desktop\",\r\n proppy_user_id: id,\r\n page_route: PageRoute,\r\n function_name: FunctionName || 'Api',\r\n error_log: JSON.stringify(ErrorLog),\r\n service_url:ServiceUrl,\r\n request_payload:JSON.stringify(RequestPayload)\r\n }\r\n this.doPost(ApiService.ADD_ERROR_LOG,params).subscribe((res) => {\r\n console.log(res);\r\n });\r\n });\r\n // })\r\n }\r\n\r\n emailSender(\r\n toRecipient,\r\n subject,\r\n sourceType,\r\n propEmailTemplateCode,\r\n PID,\r\n body = \"\",\r\n cc = \"\",\r\n bcc = \"\"\r\n ) {\r\n var params = {\r\n toRecipient: toRecipient,\r\n subject: subject,\r\n body: body,\r\n cc: cc,\r\n bcc: bcc,\r\n sourceType: sourceType,\r\n propEmailTemplateCode: propEmailTemplateCode,\r\n parameter1: PID,\r\n parameter2: \"\",\r\n parameter3: \"\",\r\n parameter4: \"\",\r\n parameter5: \"\",\r\n };\r\n this.doPost(ApiService.ADD_EMAIL_QUEUE, params).subscribe((res) => {\r\n const status = res[\"Success\"] || false;\r\n if (!status) {\r\n this.addErrorLog(\"DataFetcher Service\", \"emailSender\",res,ApiService.ADD_EMAIL_QUEUE, params);\r\n }\r\n });\r\n }\r\n\r\n doTalkJsApiRequest(url){\r\n return this.http.get(url, this.httpTalkJSOptions);\r\n }\r\n\r\n doTalkJsApiPostRequest(url,body){\r\n return this.http.post(url,body,this.httpTalkJSOptions);\r\n }\r\n\r\n doTalkJsApiPutRequest(url,body){\r\n return this.http.put(url,body,this.httpTalkJSOptions);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiService } from './api.service';\r\nimport { Router } from '@angular/router';\r\nimport { Storage } from '@capacitor/storage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DBHandlerService {\r\n constructor(private router: Router) { } \r\n static addJsonToLocalDB(storage_key, data, cb) {\r\n const json_data = btoa(unescape(encodeURIComponent(JSON.stringify(data))))\r\n Storage.set({ key: storage_key, value: json_data }).then(result => {\r\n cb()\r\n }).catch(e => {\r\n cb(e)\r\n })\r\n }\r\n static addToLocalDB(storage_key, data, cb) {\r\n const enc_data = btoa(data)\r\n Storage.set({ key: storage_key, value: enc_data }).then(result => {\r\n cb()\r\n }).catch(e => {\r\n cb(e)\r\n })\r\n }\r\n static async getSyncDataFromStorage(keyStr){\r\n const value = await Storage.get({key:keyStr})\r\n const val = value['value'] || \"en\"\r\n if (val != null && val.length > 0) {\r\n return atob(val)\r\n }\r\n return val\r\n }\r\n static getDataFromStorage(storage_key, cb) {\r\n Storage.get({ key: storage_key }).then(result => {\r\n const val = result['value'] || \"\"\r\n if (val != null && val.length > 0) {\r\n cb(null,atob(val));\r\n } else {\r\n cb(null,\"\")\r\n }\r\n }).catch(e => {\r\n cb(e,null)\r\n })\r\n }\r\n static getJsonDataFromStorage(storage_key, cb) { \r\n Storage.get({ key: storage_key }).then(result => { \r\n const val = result['value'] || \"\" \r\n if (val != null && val.length > 0) {\r\n cb(JSON.parse(decodeURIComponent(escape(window.atob(val)))));\r\n } else {\r\n cb({})\r\n //cb(Constants.isArrayReturnPages.includes(storage_key) ? [] : {});\r\n }\r\n }).catch(e => {\r\n cb({})\r\n //cb(Constants.isArrayReturnPages.includes(storage_key) ? [] : {});\r\n })\r\n }\r\n static removeDataFromStorage(storage_key, cb) {\r\n Storage.remove({ key: storage_key }).then(() => {\r\n cb()\r\n }).catch(e => {\r\n cb(e)\r\n })\r\n }\r\n static clearAllStroage(cb) {\r\n Storage.clear().then(() => {\r\n cb(null)\r\n }).catch(e => {\r\n cb(e)\r\n })\r\n }\r\n\r\n static doLogout(router,navController) {\r\n DBHandlerService.getDataFromStorage(ApiService.LBDB_PUSH_KEY, (push_err, push_token) => {\r\n this.clearAllStroage((err)=>{\r\n if(!push_err){\r\n DBHandlerService.addToLocalDB(ApiService.LBDB_PUSH_KEY,push_token,()=>{});\r\n }\r\n // window.location.href = Constants.LOGOUT_REDIRCT_LINK\r\n navController.navigateRoot(ApiService.LOGOUT_REDIRCT_LINK)\r\n // router.navigate([Constants.LOGOUT_REDIRCT_LINK],{}); \r\n }) \r\n })\r\n \r\n }\r\n\r\n static checkNotificationParamsOnData(data,cb){\r\n DBHandlerService.getJsonDataFromStorage(ApiService.NOTIFICATION_PARAMS, (notificationParams) => {\r\n var id = data[0].hasOwnProperty('ID') ? 1 : 2 \r\n switch (id) {\r\n case 1: \r\n cb(data.filter(d=> d['ID'] == notificationParams['app_id'])[0] || {})\r\n case 2: \r\n cb(data.filter(d=> d['property_id'] == notificationParams['property_id'])[0] || {})\r\n }\r\n });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ApiService } from './api.service';\r\nimport { DataFetcherService } from '../services/data-fetcher/data-fetcher.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor { \r\n constructor(public router: Router,\r\n private http: DataFetcherService) {}\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n console.log(\"error\",err)\r\n if(!request.url.includes('er_logs/error_logs')){\r\n if(err['error'])\r\n this.http.addErrorLog(this.router.url,'',err['error'],request.url,request.body)\r\n }\r\n if((err['error'] || {})['isTrusted'] != null) {\r\n err['error'] = 'isTrusted.'\r\n } else if(request.url.includes(ApiService.NodeApiUrl)){\r\n if ((err.status === 401 || err.status === 403) && this.router.url != '/login' && this.router.url != '/splash') {\r\n // auto logout if 401 response returned from api\r\n this.router.navigate(['/'])\r\n }\r\n const error = err.error;\r\n if(Array.isArray(error['error'] || '')){\r\n error['error'] = error['error']?.[0]['msg'] || '';\r\n }else{\r\n var sqlErrNum = (error['error'] || {})['number'] || 0\r\n if(sqlErrNum > 0) {\r\n error['error']=ApiService.SQL_ERROR_CODE_MESSAGES[sqlErrNum] || ApiService.SQL_ERROR_CODE_MESSAGES[0] || ApiService.ERROR_TOAST_MSG\r\n }\r\n } \r\n return throwError(error);\r\n }\r\n return throwError(err);\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Device } from \"@ionic-native/device/ngx\";\r\n// import { FirebaseX, IChannelOptions } from \"@ionic-native/firebase-x/ngx\";\r\nimport { LocalNotifications } from '@capacitor/local-notifications'\r\nimport { NavController, Platform } from \"@ionic/angular\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { DataFetcherService } from \"./data-fetcher/data-fetcher.service\";\r\nimport { StorageService } from \"./storage.service\";\r\nimport {\r\n ActionPerformed,\r\n Channel,\r\n PushNotifications,\r\n PushNotificationSchema,\r\n Token,\r\n} from \"@capacitor/push-notifications\";\r\nimport { SplashScreen } from \"@capacitor/splash-screen\";\r\nimport { DBHandlerService } from \"./db-handler.service\";\r\nimport { UtilsConfig, DBManger } from '@proppy/shared-lib';\r\nimport { LoginConfig } from '@proppy/proppy-app-login-lib';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FcmService {\r\n constructor(\r\n private platform: Platform,\r\n private device: Device,\r\n private storage: StorageService,\r\n private http: DataFetcherService,\r\n private navctrl: NavController\r\n ) {\r\n this.platform.ready().then(() => {\r\n if (\r\n (this.platform.is(\"ios\") || this.platform.is(\"android\")) &&\r\n !this.platform.is(\"mobileweb\")\r\n ) {\r\n const defaultchannel: Channel = {\r\n id: \"ProppyChannel\",\r\n name: \"ProppyChannel\",\r\n sound: \"bit_beeps_21.wav\",\r\n importance: 5,\r\n };\r\n PushNotifications.createChannel(defaultchannel).then(() => { });\r\n const inboxchannel: Channel = {\r\n id: \"ProppyInboxChannel\",\r\n name: \"ProppyInboxChannel\",\r\n sound: \"poppi_sound.wav\",\r\n importance: 5,\r\n };\r\n PushNotifications.createChannel(inboxchannel).then(() => { });\r\n const gemchannel: Channel = {\r\n id: \"ProppyGemChannel\",\r\n name: \"ProppyGemChannel\",\r\n sound: \"coin_sound.wav\",\r\n importance: 5,\r\n };\r\n PushNotifications.createChannel(gemchannel).then(() => { });\r\n }\r\n });\r\n }\r\n\r\n initializeFcm() {\r\n console.log(\"test\");\r\n this.platform.ready().then(() => {\r\n this.setFcmToken();\r\n // var channel:IChannelOptions = {\r\n // id: \"proppy_default\",\r\n // name: \"Proppy\",\r\n // description: \"My Default Description\",\r\n // sound: \"bit_beeps_21.wav\",\r\n // vibration: [500, 200, 500],\r\n // light: true,\r\n // lightColor: parseInt(\"FF0000FF\", 16).toString(),\r\n // importance: 4,\r\n // badge: true,\r\n // visibility: -1\r\n // };\r\n\r\n // this.fcm.setDefaultChannel(channel).then(value=>{\r\n // console.log(value)\r\n // },err=>{ console.log(err)});\r\n\r\n /* if (this.platform.is(\"ios\")) {\r\n this.fcm.hasPermission().then((value) => {\r\n if (!value) {\r\n this.localNotifications.requestPermission().then((permitted) => {\r\n console.log(permitted);\r\n });\r\n // this.fcm.grantPermission().then(permited=>{\r\n // console.log(permited)\r\n // })\r\n }\r\n });\r\n }*/\r\n /* this.fcm.onMessageReceived().subscribe((data) => {\r\n console.log(data);\r\n if (data.tap) {\r\n console.log(\"Received in background and clicked\");\r\n if (data.hasOwnProperty(\"route\")) {\r\n this.navctrl.navigateForward(this.getRoutePath(data[\"route\"]));\r\n }\r\n } else {\r\n this.storage.setData(data.sent_time, data);\r\n this.localNotifications.schedule({\r\n title: data.title,\r\n text: data.body,\r\n id: Number(data.sent_time),\r\n foreground: true,\r\n sound: \"bit_beeps_21\",\r\n });\r\n console.log(\r\n \"Received in foreground and local notification initiated\"\r\n );\r\n this.localNotifications.on(\"click\").subscribe((data) => {\r\n console.log(\"local notification clicked\");\r\n console.log(data);\r\n this.storage.getData(\"\" + data.id, (notificationData) => {\r\n this.storage.removeItem(\"\" + data.id);\r\n if (notificationData.hasOwnProperty(\"route\")) {\r\n this.navctrl.navigateForward(\r\n this.getRoutePath(notificationData[\"route\"])\r\n );\r\n }\r\n });\r\n });\r\n }\r\n });*/\r\n\r\n /* this.fcm.onTokenRefresh().subscribe((token) => {\r\n // Register your new token in your back-end if you want\r\n // backend.registerToken(token);\r\n this.storage.setString(ApiService.FCM_TOKEN_KEY, token);\r\n this.recordUserFCM(token);\r\n });*/\r\n });\r\n }\r\n\r\n async getRoutePath(data) {\r\n var route = data[\"route\"] || \"\";\r\n if (route.includes(\"/\")) {\r\n data[\"route_path\"] = route;\r\n }\r\n switch (route) {\r\n case \"chat\": {\r\n return \"tabs/chat\";\r\n }\r\n case \"VaccineBookingList\": {\r\n return (\r\n \"c360/c360-vaccinebookingslist?ListingID=\" +\r\n data[\"ListingID\"] +\r\n \"&Title=\" +\r\n data[\"Title\"]\r\n );\r\n }\r\n case \"MyVaccineBookingList\": {\r\n return \"c360/c360-vaccinebookingslist\";\r\n }\r\n case \"GemHistory\": {\r\n return \"tabs/gem-transfer/history\";\r\n }\r\n case \"ProppyDeal\": {\r\n return \"tabs/proppy-deal\";\r\n }\r\n case \"PMInbox\": {\r\n return `tabs/proppy-deal?subType=pm&order_type=${data[\"order_type\"] || \"P\"\r\n }`;\r\n }\r\n case \"PMTracker\": {\r\n return `tabs/proppy-deal?subType=pm&displayTab=2&order_type=${data[\"order_type\"] || \"P\"\r\n }`;\r\n }\r\n case \"ViewOrder\": {\r\n return `tabs/proppy-deal/view-order?order_id=${data[\"order_hdr_id\"]\r\n }&order_type=${data[\"order_type\"] || \"P\"}`;\r\n }\r\n case \"PMProgressTracker\": {\r\n return `tabs/proppy-deal/pm-progress-tracker?order_hdr_id=${data[\"order_hdr_id\"]}`;\r\n }\r\n case \"PMBookingTracker\": {\r\n return `tabs/premium-merchant/booking-tracker?order_hdr_id=${data[\"order_hdr_id\"]}`;\r\n }\r\n case \"NeedsDetails\": {\r\n return `tabs/bulletin-board-need-details?NeedsID=${data[\"needs_id\"] || data[\"NeedsID\"]\r\n }`;\r\n }\r\n case \"NeedsOrder\": {\r\n return \"tabs/proppycare-needs-confirm-order?OrderID=\" + data[\"OrderID\"];\r\n }\r\n case \"NeedsTracker\": {\r\n return \"tabs/proppy-needs-process-tracker?OrderID=\" + data[\"OrderID\"];\r\n }\r\n case \"PMQueue\": {\r\n return \"tabs/merchantdetails?merchant_id=\" + data[\"merchant_id\"];\r\n }\r\n case \"ProppyHomes\": {\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, data);\r\n return \"proppy-homes-v2\";\r\n }\r\n case \"PrelovedProgressTracker\": {\r\n return (\r\n \"/tabs/proppy-deal/preloved-deals-tracker?listing_id=\" +\r\n data[\"listing_id\"] +\r\n \"&type=\" +\r\n data[\"request_type\"] +\r\n \"&requestor_pid=\" +\r\n data[\"requestor_pid\"] +\r\n \"&id=\" +\r\n data[\"request_id\"]\r\n );\r\n }\r\n case \"PrelovedInbox\": {\r\n return \"/tabs/proppy-deal?subType=preloved&displayTab=1\";\r\n }\r\n case \"MyAccount\": {\r\n return \"tabs/myaccount\";\r\n }\r\n case \"MyGoodies\": {\r\n data['selected_type'] = 3\r\n return \"tabs/my-goodies?selected_type=\" + data[\"selected_type\"];\r\n }\r\n case \"NeedsHistory\": {\r\n return \"&isModal=\" + true;\r\n }\r\n case \"Notifications\": {\r\n return \"/tabs/notification\";\r\n }\r\n case \"MerchantRenewalReminder\": {\r\n let params: any = {\r\n \"merchant_renewal_reminder\": 1,\r\n \"event_type\": data['event_type']\r\n };\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, params);\r\n return `/tabs/business-add?ListingID=${data[\"unit_id\"]}&Business=true&own=true`;\r\n }\r\n case \"Signature\": {\r\n return `/proppy-signature?doc_id=${data['doc_id']}`;\r\n }\r\n case \"BizCard\": {\r\n let temp: any = {\r\n \"assignee_id\": data['assignee_id'],\r\n \"object_id\": data['object_id'],\r\n \"is_in_contact\": (data['is_in_contact'] || 0),\r\n \"pid\": data['pid']\r\n }\r\n await DBManger.addJsonToLocalDB(UtilsConfig.TEMP_NOTIFICATION_ROUTE_DATA, temp, (err: any) => { });\r\n return `/business-card`;\r\n }\r\n case \"VoucherDetails\": {\r\n data['type'] = 'notification'\r\n return `/tabs/voucher-details?voucherID=${data[\"voucher_id\"]}&merchantID=${data[\"merchant_id\"]}&type=${data['type']}`;\r\n }\r\n case \"Promoter\": {\r\n const params: any = { 'promoter_id': data['promoter_id'], 'promoter_request': 1 }\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, params);\r\n return `/tabs/premium-merchant/pm-promoter`;\r\n }\r\n case \"CampaignRoute\": {\r\n const params: any = { 'merchant_id': data['merchant_id'], 'campaign_update': 1 }\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, params);\r\n return `/tabs/premium-merchant/pm-promoter`;\r\n }\r\n case \"RouteToPayout\": {\r\n const params: any = { 'merchant_id': data['merchant_id'], 'payout': 1 }\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, params);\r\n return `/tabs/premium-merchant/pm-promoter`;\r\n }\r\n case \"PcardBizBookAcceptOrReject\": {\r\n if ((data['is_exchanged'] || 0) == 1)\r\n return `/business-card/pcard-biz-book`\r\n else\r\n return `/business-card/bump-card-share?id=${data.id}`\r\n }\r\n case \"MerchantVerification\": {\r\n return `/business-card/business-verification?merchant_id=${data.object_id}&type=${data.type}`\r\n }\r\n case \"OfflineLoyaltyPoints\": {\r\n let route_params: any = {\r\n \"points\": data['points'],\r\n \"order_number\": data['order_number'],\r\n \"notification_status\": data['notification_status'],\r\n \"trx_type\": data['trx_type']\r\n }\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, route_params);\r\n return `/tabs/my-membership/members-transaction-history?merchant_id=${data[\"merchant_id\"]}`;\r\n }\r\n case \"UserTierUpdate\": {\r\n return `/tabs/my-membership/members-transaction-history?merchant_id=${data[\"merchant_id\"]}`;\r\n }\r\n case \"AssetListing\": {\r\n return `/tabs/own-property-list/assets-listing?selected_type=${data[\"selected_type\"]}`;\r\n }\r\n case \"WallEvent\": {\r\n return `/tabs/proppy-wpe/wall-post-event-details?event_id=${data['event_id']}`;\r\n }\r\n case \"eBadge\": {\r\n const params: any = { 'merchant_id': data['merchant_id'], 'id': data['id'], \"bid\": data['bid'] }\r\n await this.storage.setData(ApiService.NOTIFICATION_PARAMS, params);\r\n return `/tabs/merchantdetails?merchant_id=${data['merchant_id']}`;\r\n }\r\n case \"RemoveQualifier\": {\r\n return `/tabs/merchantdetails?merchant_id=${data['merchant_id']}`;\r\n }\r\n default: {\r\n return data[\"route_path\"] || \"tabs/tab1\";\r\n }\r\n }\r\n }\r\n\r\n setFcmToken() {\r\n /* this.fcm.getToken().then((token) => {\r\n // Register your new token in your back-end if you want\r\n // backend.registerToken(token);\r\n this.storage.setString(ApiService.FCM_TOKEN_KEY, token);\r\n this.recordUserFCM(token);\r\n });*/\r\n }\r\n\r\n recordUserFCM(token) {\r\n this.storage.getString(\"Proppy_UserID\", (Proppy_UserID) => {\r\n if (Proppy_UserID.length > 0) {\r\n this.http\r\n .doPost(ApiService.SET_USER_FCMTOKEN, {\r\n UserID: Proppy_UserID,\r\n FirebaseToken: token,\r\n DeviceUUID: this.device.uuid,\r\n })\r\n .subscribe((res) => {\r\n console.log(res.msg);\r\n });\r\n }\r\n });\r\n }\r\n\r\n UpdateNotificationStatus() { }\r\n\r\n setUpRemoteNotifications() {\r\n this.platform.ready().then(() => {\r\n if (\r\n (this.platform.is(\"ios\") || this.platform.is(\"android\")) &&\r\n !this.platform.is(\"mobileweb\")\r\n ) {\r\n console.log(\"Mobile Device Detected\");\r\n PushNotifications.requestPermissions().then((result) => {\r\n if (result.receive === \"granted\") {\r\n // Register with Apple / Google to receive push via APNS/FCM\r\n PushNotifications.register();\r\n } else {\r\n // Show some error\r\n }\r\n });\r\n PushNotifications.addListener(\"registration\", (token: Token) => {\r\n ApiService.PUSH_NOTIFICATION_TOKEN = token['value'] || \"\"\r\n LoginConfig.FB_PUSH_TOKEN = token['value'] || \"\"\r\n this.storage.setString(ApiService.FCM_TOKEN_KEY, token.value);\r\n this.recordUserFCM(token.value);\r\n DBHandlerService.addToLocalDB(\r\n ApiService.LBDB_PUSH_KEY,\r\n token.value,\r\n () => { }\r\n );\r\n // alert('Push registration success, token: ' + token.value);\r\n });\r\n\r\n PushNotifications.addListener(\"registrationError\", (error: any) => {\r\n console.log(\"Error on registration: \" + JSON.stringify(error));\r\n });\r\n\r\n PushNotifications.addListener(\r\n \"pushNotificationReceived\",\r\n (notification: PushNotificationSchema) => {\r\n var data = notification.data;\r\n // if (notification.click_action) {\r\n // console.log(\"Received in background and clicked\");\r\n // if (data.hasOwnProperty(\"route\")) {\r\n // this.navctrl.navigateForward(this.getRoutePath(data[\"route\"]));\r\n // }\r\n // } else {\r\n var id = new Date().getUTCMilliseconds();\r\n console.log(notification);\r\n LocalNotifications.schedule({\r\n notifications: [\r\n {\r\n title: notification.title,\r\n body: notification.body,\r\n id: id,\r\n sound: data['sound'],\r\n channelId: data['android_channel_id'],\r\n extra: data\r\n }\r\n ]\r\n });\r\n console.log(\r\n \"Received in foreground and local notification initiated\"\r\n );\r\n LocalNotifications.addListener(\"localNotificationActionPerformed\", async (notificationAction) => {\r\n SplashScreen.hide();\r\n console.log(\"local notification clicked\");\r\n console.log(notificationAction);\r\n var notificationParams = notificationAction['notification']\r\n var notificationData = notificationParams['extra']\r\n if (notificationData['message_id']) {\r\n this.recordNotificationReadStatus(notificationData['message_id'])\r\n }\r\n if (notificationData.hasOwnProperty(\"route\")) {\r\n var route_path = await this.getRoutePath(notificationData);\r\n route_path =\r\n route_path +\r\n ((route_path || \"\").includes(\"?\")\r\n ? \"&prev_route=notification\"\r\n : \"?prev_route=notification\");\r\n this.navctrl.navigateForward(route_path);\r\n }\r\n });\r\n // }\r\n console.log(\"Push received: \" + JSON.stringify(notification));\r\n }\r\n );\r\n\r\n PushNotifications.addListener(\r\n \"pushNotificationActionPerformed\",\r\n async (notification: ActionPerformed) => {\r\n console.log(\r\n \"Push action performed: \" + JSON.stringify(notification)\r\n );\r\n SplashScreen.hide();\r\n var data = notification.notification.data;\r\n if (data[\"message_id\"]) {\r\n this.recordNotificationReadStatus(data[\"message_id\"]);\r\n }\r\n if (data.hasOwnProperty(\"route\")) {\r\n var route_path = await this.getRoutePath(data);\r\n route_path =\r\n route_path +\r\n ((route_path || \"\").includes(\"?\")\r\n ? \"&prev_route=notification\"\r\n : \"?prev_route=notification\");\r\n this.navctrl.navigateForward(route_path);\r\n }\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n recordNotificationReadStatus(message_id, Status = 2) {\r\n this.storage.getString(\"Proppy_UserID\", (Proppy_UserID) => {\r\n this.http\r\n .doPut(ApiService.PROPPY_NOTIFICATION, {\r\n message_id: message_id,\r\n receiver_proppy_user_id: Proppy_UserID,\r\n status: Status,\r\n })\r\n .subscribe((res) => {\r\n const status = res[\"status\"] || false;\r\n if (status) {\r\n //nothing to do\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AngularFireAuth, AngularFireAuthModule } from \"@angular/fire/auth\";\r\nimport { Observable, Subject, from } from \"rxjs\";\r\nimport { AlertController, Platform } from \"@ionic/angular\";\r\nimport firebase from \"firebase/app\";\r\nimport { filter, map, take } from \"rxjs/operators\";\r\nimport { GooglePlus } from \"@ionic-native/google-plus/ngx\";\r\nimport { Facebook, FacebookLoginResponse } from \"@ionic-native/facebook/ngx\";\r\nimport {\r\n AppleSignInErrorResponse,\r\n AppleSignInResponse,\r\n ASAuthorizationAppleIDRequest,\r\n SignInWithApple,\r\n} from \"@ionic-native/sign-in-with-apple/ngx\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { DataFetcherService } from \"./data-fetcher/data-fetcher.service\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { AppHelper } from \"./middleware/app-helper\";\r\nimport { ConstantsService } from \"./constants.service\";\r\nimport { DBHandlerService } from \"./db-handler.service\";\r\nimport { Geolocation } from \"@ionic-native/geolocation/ngx\";\r\n\r\nclass ProfileModel {\r\n image: string;\r\n name: string;\r\n role: string;\r\n description: string;\r\n email: string;\r\n provider: string;\r\n phoneNumber: string;\r\n}\r\n\r\n@Injectable()\r\nexport class FirebaseAuthService {\r\n user_location = {\r\n longitude: 0.0,\r\n latitude: 0.0,\r\n };\r\n constructor(\r\n public angularFireAuth: AngularFireAuth,\r\n public platform: Platform,\r\n private google: GooglePlus,\r\n private fb: Facebook,\r\n private alertController: AlertController,\r\n private signInWithApple: SignInWithApple,\r\n private http: DataFetcherService,\r\n public constant: ConstantsService,\r\n private app_helper: AppHelper,\r\n private geolocation: Geolocation\r\n ) {}\r\n\r\n googleSignin(cb) {\r\n if (this.app_helper.isDesktop()) {\r\n var provider = new firebase.auth.GoogleAuthProvider();\r\n provider.addScope(\"email\");\r\n provider.addScope(\"profile\");\r\n provider.addScope(\"phone\");\r\n this.desktopSign(provider, cb);\r\n return;\r\n }\r\n this.google\r\n .login({})\r\n .then((response) => {\r\n const { idToken, accessToken } = response;\r\n const credential = idToken\r\n ? firebase.auth.GoogleAuthProvider.credential(idToken, accessToken)\r\n : firebase.auth.GoogleAuthProvider.credential(null, accessToken);\r\n this.onLoginSuccess(credential, cb);\r\n })\r\n .catch((error) => {\r\n cb(false, error);\r\n console.log(error);\r\n // alert('error:' + JSON.stringify(error))\r\n });\r\n }\r\n\r\n fbSignin(cb) {\r\n if (this.app_helper.isDesktop()) {\r\n var provider = new firebase.auth.FacebookAuthProvider();\r\n provider.addScope(\"public_profile\");\r\n provider.addScope(\"email\");\r\n this.desktopSign(provider, cb);\r\n return;\r\n }\r\n this.fb\r\n .login([\"public_profile\", \"email\"])\r\n .then((res: FacebookLoginResponse) => {\r\n const credential = firebase.auth.FacebookAuthProvider.credential(\r\n res.authResponse.accessToken\r\n );\r\n this.onLoginSuccess(credential, cb);\r\n console.log(\"Logged into Facebook!\", res);\r\n })\r\n .catch((e) => {\r\n cb(false, e);\r\n console.log(\"Error logging into Facebook\", e);\r\n });\r\n }\r\n\r\n appleSignin(cb) {\r\n if (this.app_helper.isDesktop()) {\r\n var provider = new firebase.auth.OAuthProvider(\"apple.com\");\r\n provider.addScope(\"email\");\r\n provider.addScope(\"name\");\r\n // provider.addScope('phone')\r\n this.desktopSign(provider, cb);\r\n return;\r\n }\r\n if (this.platform.is(\"ios\")) {\r\n this.signInWithApple\r\n .signin({\r\n requestedScopes: [\r\n ASAuthorizationAppleIDRequest.ASAuthorizationScopeFullName,\r\n ASAuthorizationAppleIDRequest.ASAuthorizationScopeEmail,\r\n ],\r\n })\r\n .then((res: AppleSignInResponse) => {\r\n // https://developer.apple.com/documentation/signinwithapplerestapi/verifying_a_user\r\n const credential = new firebase.auth.OAuthProvider(\r\n \"apple.com\"\r\n ).credential(res.identityToken);\r\n this.onLoginSuccess(credential, cb);\r\n // alert('Send token to apple for verification: ' + res.identityToken);\r\n console.log(res);\r\n })\r\n .catch((error: AppleSignInErrorResponse) => {\r\n // alert(error.code + ' ' + error.localizedDescription);\r\n cb(false, error.localizedDescription);\r\n console.error(error);\r\n });\r\n } else {\r\n cb(false, \"No an IOS Device, Please try with an IOS Device.\");\r\n }\r\n }\r\n\r\n desktopSign(provider, cb) {\r\n this.angularFireAuth\r\n .signInWithPopup(provider)\r\n .then((response) => {\r\n let providerData: any = response.user.providerData[0];\r\n let additionalUserInfo: any = response.additionalUserInfo;\r\n if (additionalUserInfo) {\r\n providerData = { ...providerData, ...additionalUserInfo };\r\n }\r\n this.validateUserAndRegister(\r\n providerData.phoneNumber,\r\n providerData.email,\r\n providerData.displayName,\r\n providerData.profile[\"family_name\"] ||\r\n providerData.profile[\"first_name\"],\r\n providerData.profile[\"given_name\"] ||\r\n providerData.profile[\"last_name\"],\r\n this.getProviderType(response.additionalUserInfo.providerId),\r\n response.user.uid,\r\n providerData.photoURL,\r\n cb\r\n );\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n cb(false, e);\r\n });\r\n }\r\n\r\n onLoginSuccess(credential, cb) {\r\n this.angularFireAuth\r\n .signInWithCredential(credential)\r\n .then((response) => {\r\n let providerData: any = response.user.providerData[0];\r\n let additionalUserInfo: any = response.additionalUserInfo;\r\n if (additionalUserInfo) {\r\n providerData = { ...providerData, ...additionalUserInfo };\r\n }\r\n const displayName = providerData[\"displayName\"] || \"\";\r\n this.validateUserAndRegister(\r\n providerData.phoneNumber,\r\n providerData.email,\r\n displayName,\r\n providerData.profile[\"family_name\"] ||\r\n providerData.profile[\"first_name\"],\r\n providerData.profile[\"given_name\"] ||\r\n providerData.profile[\"last_name\"],\r\n this.getProviderType(response.additionalUserInfo.providerId),\r\n response.user.uid,\r\n providerData.photoURL,\r\n cb\r\n );\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n cb(false, e);\r\n });\r\n }\r\n\r\n getProviderType(providerId) {\r\n switch (providerId) {\r\n case \"google.com\":\r\n return 1;\r\n case \"facebook.com\":\r\n return 2;\r\n case \"apple.com\":\r\n return 3;\r\n }\r\n }\r\n\r\n deleteCurrentUser(cb) {\r\n this.angularFireAuth.currentUser.then((user) => {\r\n user.delete().then(() => {\r\n cb(true);\r\n });\r\n });\r\n }\r\n\r\n logout(type) {\r\n if (type == 1) {\r\n this.google.disconnect();\r\n } else {\r\n this.fb.logout();\r\n }\r\n this.angularFireAuth.signOut().then(() => {});\r\n }\r\n\r\n public getProfileData(res) {\r\n const userModel = new ProfileModel();\r\n let providerData: any = res.user.providerData[0];\r\n let additionalUserInfo: any = res.additionalUserInfo;\r\n\r\n if (additionalUserInfo) {\r\n providerData = { ...providerData, ...additionalUserInfo };\r\n }\r\n\r\n // Default imgs are too small and our app needs a bigger image\r\n switch (providerData.providerId) {\r\n case \"facebook.com\":\r\n userModel.image =\r\n \"https://graph.facebook.com/\" +\r\n providerData.uid +\r\n \"/picture?height=400\";\r\n break;\r\n case \"google.com\":\r\n userModel.image = providerData.photoURL.split(\"=\")[0];\r\n break;\r\n default:\r\n userModel.image = providerData.photoURL;\r\n }\r\n userModel.name =\r\n providerData.name || providerData.displayName || \"What's your name?\";\r\n userModel.role = \"How would you describe yourself?\";\r\n userModel.description =\r\n providerData.description ||\r\n \"Anything else you would like to share with the world?\";\r\n userModel.phoneNumber =\r\n providerData.phoneNumber || \"Is there a number where I can reach you?\";\r\n userModel.email = providerData.email || \"Where can I send you emails?\";\r\n userModel.provider =\r\n providerData.providerId !== \"password\"\r\n ? providerData.providerId\r\n : \"Credentials\";\r\n console.log(res);\r\n // this.getPh(res['credential']['accessToken']);\r\n return userModel;\r\n }\r\n\r\n async presentConfirmationAlert(msg, cb) {\r\n const alert = await this.alertController.create({\r\n header: \"Alert\",\r\n message: msg,\r\n buttons: [{ text: \"Yes\", handler: cb }, \"No\"],\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n async validateUserAndRegister(\r\n Mobile,\r\n Email,\r\n Name,\r\n FirstName,\r\n LastName,\r\n ProviderType,\r\n UID,\r\n ProfilePicURL,\r\n cb\r\n ) {\r\n await this.getUserLoc();\r\n this.generateInstantToken((push_token) => {\r\n var body = {\r\n mobile: \"\",\r\n email: Email,\r\n name: Name || (Email || \"\").split(\"@\")[0],\r\n first_name: FirstName || \"\",\r\n last_name: LastName || \"\",\r\n provider_type: ProviderType,\r\n uid: UID,\r\n profile_pic_url: ProfilePicURL || \"\",\r\n app_name: \"PROPPYAPP\",\r\n device_token: push_token,\r\n referrer: \"PROPPY\",\r\n app_id:ApiService.PROPPYAPP_APP_ID\r\n };\r\n body = { ...body, ...this.user_location };\r\n this.http\r\n .doPost(ApiService.SOCIAL_NETWORK_USER_AUTHENTICATION, body)\r\n .subscribe((res) => {\r\n const status = res[\"status\"];\r\n if (status) {\r\n res[\"Email\"] = Email;\r\n cb(true, res);\r\n } else {\r\n cb(false, res);\r\n }\r\n console.log(res);\r\n });\r\n });\r\n }\r\n\r\n async generateInstantToken(cb) {\r\n var post_params = { ip_address: \"122.175.13.25\" };\r\n this.constant.onPost(ApiService.INSTANT_TOKEN, post_params).subscribe(\r\n (res) => {\r\n const status = res[\"status\"] || false;\r\n if (status) {\r\n DBHandlerService.addToLocalDB(\r\n ApiService.LBDB_TOKEN_KEY,\r\n res[\"token\"],\r\n (err) => {\r\n if (!err) {\r\n DBHandlerService.getDataFromStorage(\r\n ApiService.LBDB_PUSH_KEY,\r\n (push_err, push_token) => {\r\n if (!push_err && push_token.length > 0) {\r\n cb(push_token);\r\n } else if (ApiService.FCM_TOKEN_KEY) {\r\n cb(ApiService.FCM_TOKEN_KEY);\r\n }\r\n }\r\n );\r\n } else {\r\n this.AlertMessage(\"Error Message\");\r\n }\r\n }\r\n );\r\n }\r\n },\r\n (error) => {\r\n console.log(error, \"Error\");\r\n this.AlertMessage(\"Unable to process request\");\r\n }\r\n );\r\n }\r\n AlertMessage(msg) {\r\n this.alertController\r\n .create({ header: \"Error\", message: msg, buttons: [\"OK\"] })\r\n .then((res) => {\r\n res.present();\r\n });\r\n }\r\n async getUserLoc() {\r\n await this.geolocation.getCurrentPosition().then((res) => {\r\n this.user_location.latitude = res[\"coords\"][\"latitude\"];\r\n this.user_location.longitude = res[\"coords\"][\"longitude\"];\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { BehaviorSubject, from, Observable, Subject } from 'rxjs';\r\n// import { StorageService } from './storage.service';\r\n// import { Storage } from '@ionic/storage';\r\nimport { Storage } from '@capacitor/storage';\r\nimport { base_path, cdn_portal } from 'src/environments/environment';\r\nimport { filter, mergeMap, switchMap, take, tap } from 'rxjs/operators';\r\nimport { ApiService } from './api.service';\r\nimport { RefreshAuthService } from './auth.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n private isRefreshing = false;\r\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n constructor(private authService: RefreshAuthService, private router: Router) { }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const promise = Storage.get({ key: ApiService.LBDB_TOKEN_KEY })\r\n return from(promise).pipe(mergeMap(result => {\r\n let val = result['value'] || \"\"\r\n if (request.url.includes(ApiService.FD_BASE_URL)) {\r\n let fd_auth = \"QmtTdlJ3V0VkOGV3VWtZMW1FQ2w6WA==\"\r\n if (request.url.includes(\"proppydev\")) {\r\n fd_auth = \"UnBsYlNtNUpnVzVEWDNNRHRKODpY\"\r\n }\r\n request = request.clone({\r\n setHeaders: {\r\n 'Authorization': `Basic ${fd_auth}`\r\n }\r\n })\r\n } else if (request.url.includes(ApiService.basePythonApiUrl)) {\r\n request = request.clone({\r\n setHeaders: {\r\n 'JWTToken': atob(val),\r\n }\r\n })\r\n } else if (request.url.includes(ApiService.NodeApiUrl)) {\r\n if (val && this.router.url != '/splash' && !request.url.endsWith('/instant_token')) {\r\n const modifyToken = this.authService.getJwtToken(atob(val))\r\n let jwtHelper = new JwtHelperService();\r\n if (jwtHelper.isTokenExpired(modifyToken)) {\r\n return this.handle401Error(request, next)\r\n }\r\n }\r\n request = this.addToken(request, atob(val))\r\n }\r\n return next.handle(request);\r\n }))\r\n }\r\n\r\n private addToken(request: HttpRequest, token: string) {\r\n let headers = { 'Authorization': \"Basic UEhBZG1pbjpxbXozMUN5QFZJNHgkJWR1Y0EyVU5OTmtYblFD\" }\r\n if (ApiService.IS_SKIP_LOGIN == 1) {\r\n headers['static-access-token'] = ApiService.STATIC_API_TOKEN\r\n } else {\r\n headers['x-access-token'] = token\r\n }\r\n return request.clone({\r\n setHeaders: headers,\r\n });\r\n }\r\n private handle401Error(request: HttpRequest, next: HttpHandler) {\r\n if (!this.isRefreshing) {\r\n this.isRefreshing = true;\r\n this.refreshTokenSubject.next(null);\r\n return from(this.authService.generateToken()).pipe(\r\n switchMap((token: any) => {\r\n this.isRefreshing = false;\r\n this.refreshTokenSubject.next(token);\r\n return next.handle(this.addToken(request, (token?.['result']?.accessToken || token || '')));\r\n })\r\n );\r\n } else {\r\n return this.refreshTokenSubject.pipe(\r\n filter((token) => (token != null && token != undefined)),\r\n take(1),\r\n switchMap((jwt) => {\r\n return next.handle(this.addToken(request, jwt));\r\n })\r\n );\r\n }\r\n }\r\n}","import { Platform } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService } from './api.service';\r\nimport { LoginConfig } from '@proppy/proppy-app-login-lib';\r\nimport { UtilsConfig as Homes360UtilsConfig } from '@proppy/proppy-homes-pkg';\r\n \r\nconst LNG_KEY = 'PROPPY_SELECTED_LANGUAGE';\r\n \r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LanguageService {\r\n selected = '';\r\n lanCodes=['en','ms','zh','vi']\r\n \r\n constructor(private translate: TranslateService, private storage: Storage, private plt: Platform,private router:Router) { }\r\n \r\n setInitialAppLanguage() {\r\n let language = this.translate.getBrowserLang();\r\n this.selected = this.lanCodes.includes(language)?language:'en';\r\n this.translate.setDefaultLang(this.selected);\r\n this.storage.get(LNG_KEY).then(val => {\r\n if (val) {\r\n this.setLanguage(val);\r\n this.selected = val;\r\n }\r\n });\r\n }\r\n \r\n // getLanguages() {\r\n // return [\r\n // { text: 'English', value: 'en', img: 'assets/flags/en.png' },\r\n // { text: '中文', value: 'zh', img: 'assets/flags/zh.png' },\r\n // ];\r\n // }\r\n\r\n getLanguages() {\r\n if(this.router.url.includes('c360')){\r\n return [\r\n { text: 'English', value: 'en', img: 'assets/flags/en.png' },\r\n { text: 'Bahasa Melayu', value: 'ms', img: 'assets/flags/myt.png' },\r\n ];\r\n }\r\n return [\r\n { text: 'English', value: 'en', img: 'assets/flags/en.png' },\r\n { text: 'Bahasa Melayu', value: 'ms', img: 'assets/flags/myt.png' },\r\n { text: '中文', value: 'zh', img: 'assets/flags/zh.png' },\r\n // { text: 'Vietnamese', value: 'vi', img: 'assets/flags/vnm.svg' },\r\n ];\r\n }\r\n \r\n setLanguage(lng) {\r\n this.translate.use(lng);\r\n this.selected = lng;\r\n ApiService.SELECTED_LANGUAGE_CODE=lng\r\n LoginConfig.SELECTED_LANGUAGE_CODE=lng\r\n Homes360UtilsConfig.SELECTED_LANGUAGE_CODE = lng;\r\n this.storage.set(LNG_KEY, lng);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\n/*import {\r\n AdMob,\r\n BannerAdOptions,\r\n BannerAdSize,\r\n BannerAdPosition,\r\n BannerAdPluginEvents,\r\n AdMobBannerSize,\r\n RewardAdPluginEvents,\r\n AdLoadInfo,\r\n AdMobRewardItem,\r\n RewardAdOptions,\r\n} from \"@capacitor-community/admob\";*/\r\nimport { AppHelper } from \"./app-helper\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AdmobService {\r\n // static defaultBannerAdId='ca-app-pub-5474366311557908/2810395005'\r\n static adIds={\r\n banner_default:{\r\n android:'ca-app-pub-5474366311557908/2810395005',\r\n ios:'ca-app-pub-5474366311557908/9438698052'\r\n },\r\n rewarded_default:{\r\n android:'ca-app-pub-5474366311557908/3659494433',\r\n ios:'ca-app-pub-5474366311557908/9247126360'\r\n }\r\n }\r\n static advertisementRoutes=[\r\n 'tabs/merchants',\r\n 'tabs/proppy-gophermap-list',\r\n 'tabs/propertylist',\r\n 'tabs/developer-gallery/developer-listing',\r\n ]\r\n constructor() {}\r\n static async showBanner(plt,adName=''){\r\n /*var adId=this.getPltBasedAdID(adName || 'banner_default',plt)\r\n AdMob.addListener(BannerAdPluginEvents.Loaded, () => {\r\n var ad=document.getElementById('google_esf')\r\n document.getElementById('ad-div').appendChild(ad)\r\n console.log('ad-appended')\r\n // Subscribe Banner Event Listener\r\n // });\r\n // AdMob.addListener(\r\n // BannerAdPluginEvents.SizeChanged,\r\n // (size: AdMobBannerSize) => {\r\n // Subscribe Change Banner Size\r\n });\r\n AdMob.addListener(\r\n BannerAdPluginEvents.FailedToLoad,\r\n (info : any)=>{\r\n console.log(info)\r\n }\r\n )\r\n const options: BannerAdOptions = {\r\n adId: adId,\r\n adSize: BannerAdSize.BANNER,\r\n position: BannerAdPosition.BOTTOM_CENTER,\r\n margin: 64,\r\n isTesting: true\r\n // npa: true\r\n };\r\n AdMob.showBanner(options); */ \r\n }\r\n\r\n static async hideBanner() {\r\n // AdMob.removeBanner();\r\n }\r\n\r\n static async rewardVideo(plt,cb,adName=''){\r\n /* var rewarded=0\r\n var adId=this.getPltBasedAdID(adName || 'rewarded_default',plt)\r\n AdMob.addListener(RewardAdPluginEvents.Loaded, (info: AdLoadInfo) => {\r\n // Subscribe prepared rewardVideo\r\n });\r\n \r\n AdMob.addListener(RewardAdPluginEvents.Rewarded, (rewardItem: AdMobRewardItem) => {\r\n // Subscribe user rewarded\r\n console.log(rewardItem);\r\n if(rewardItem['amount']>0 && rewarded==0){\r\n cb()\r\n }\r\n rewarded=1;\r\n });\r\n \r\n const options: RewardAdOptions = {\r\n adId: adId,\r\n isTesting: true\r\n // npa: true\r\n // ssv: {\r\n // userId: \"A user ID to send to your SSV\"\r\n // customData: JSON.stringify({ ...MyCustomData })\r\n //}\r\n };\r\n await AdMob.prepareRewardVideoAd(options);\r\n const rewardItem = await AdMob.showRewardVideoAd();\r\n console.log(rewardItem,);*/\r\n \r\n }\r\n \r\n static getPltBasedAdID(adName,plt){\r\n /* var adObj=this.adIds[adName] || {}\r\n if(plt.is('android')){\r\n return adObj['android'] || ''\r\n } else if (plt.is('ios')){\r\n return adObj['ios'] || ''\r\n }\r\n */\r\n }\r\n \r\n static advertisement(routingPath,plt){\r\n /* routingPath = routingPath.split('?')[0].replace(\"/\", \"\");\r\n AppHelper.log(routingPath+'advertisement-routepath')\r\n var filteredArr = [];\r\n AppHelper.log(AdmobService.advertisementRoutes+'advertisement-advertisementRoutes')\r\n filteredArr = AdmobService.advertisementRoutes.filter(f=> (routingPath.includes(f)))\r\n AppHelper.log(filteredArr+'advertisement-filteredArr')\r\n if (filteredArr.length > 0){\r\n AdmobService.showBanner(plt);\r\n }*/\r\n }\r\n}","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LoadingController, ModalController, NavController, Platform } from '@ionic/angular';\r\nimport { ProppyWizardPage } from 'src/app/reusables/proppy-wizard/proppy-wizard.page';\r\nimport routes_json from '../../../assets/json/routes.json';\r\nimport { ApiService } from '../api.service';\r\nimport { DeeplinkHelperService } from './deeplink-helper.service';\r\nimport { SocialSharing } from '@ionic-native/social-sharing/ngx';\r\nimport * as svg from \"save-svg-as-png\";\r\nimport { cdn_portal, deep_link_base_url, environment, new_deep_link_base_url } from \"../../../environments/environment\";\r\nimport { AdmobService } from './admob-service';\r\nimport { Geolocation } from '@ionic-native/geolocation/ngx';\r\nimport { PermissionService } from '../permission.service';\r\nimport { StorageService } from '../storage-service.service';\r\nimport QRCode from 'easyqrcodejs';\r\nimport { DataFetcherService } from '../data-fetcher/data-fetcher.service';\r\nimport { AlertHandlerService } from '../alert-handler.service';\r\nimport { TalkService } from '../../api/talk.service';\r\nimport { Directory, Filesystem } from '@capacitor/filesystem';\r\nimport { File } from '@ionic-native/file/ngx';\r\nimport { PreviewAnyFile } from '@ionic-native/preview-any-file/ngx';\r\nimport Talk from 'talkjs';\r\nimport html2canvas from 'html2canvas';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { DBHandlerService } from '../db-handler.service';\r\nimport { PushNotifications } from '@capacitor/push-notifications';\r\nimport { BarcodeScanner } from '@capacitor-community/barcode-scanner';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppHelper {\r\n\r\n proppyID = \"\";\r\n slide_out_animation\r\n slide_in_animation\r\n currentUserID: string = \"\"\r\n loading: HTMLIonLoadingElement;\r\n private chatBox: Talk.Chatbox;\r\n constructor(\r\n private platform: Platform,\r\n private modalController: ModalController,\r\n private socialSharing: SocialSharing,\r\n private plt: Platform,\r\n private router: Router,\r\n private geolocation: Geolocation,\r\n private storage: StorageService,\r\n private permissionService: PermissionService,\r\n private __http: DataFetcherService,\r\n private alertHandler: AlertHandlerService,\r\n private talkService: TalkService,\r\n private file: File,\r\n private previewAnyFile: PreviewAnyFile,\r\n private loadingController: LoadingController,\r\n private ngZone:NgZone,\r\n private navCtrl : NavController\r\n // private animationCtrl:AnimationController\r\n ) {\r\n // this.setSlideInAnimation()\r\n // this.setSlideOutAnimation()\r\n // console.log(routes_json)\r\n }\r\n static decodeJwtToken(token) {\r\n const helper = new JwtHelperService(); \r\n if (token != null && token.length > 0) { \r\n const tokenSplit = token.split('.'); \r\n token = this.deleteCharAtString(0, tokenSplit[1]) + '.' \r\n + this.deleteCharAtString(1, tokenSplit[2]) + '.' + this.deleteCharAtString(2, tokenSplit[0]); \r\n return helper.decodeToken(token); \r\n } \r\n return {} \r\n }\r\n static deleteCharAtString = function (index, str) { \r\n return str.substr(0, index) + str.substr(index + 1); \r\n };\r\n // 1:Private,2:Public\r\n static isValidRoute(routingPath) {\r\n console.log('is valid route...')\r\n if (routingPath.includes('c360/')) {\r\n routingPath = routingPath.replace('c360/', '')\r\n }\r\n routingPath = routingPath.split('?')[0].replace(\"/\", \"\");\r\n var filteredArr = []; \r\n // return true;\r\n console.log('helper - '+routingPath)\r\n if (AppHelper.isPublicAcess()) {\r\n const public_routes = routes_json[\"public\"];\r\n filteredArr = public_routes.filter(f => (routingPath.includes(f) && !routingPath.includes('tabs')))\r\n if (filteredArr.length > 0) return true\r\n return false\r\n }\r\n return true\r\n }\r\n static isPublicAcess() {\r\n const access_type = localStorage.getItem(ApiService.LBDB_PUBLIC_PRIVATE);\r\n if (access_type == \"2\") {\r\n return true\r\n }\r\n return false\r\n }\r\n isDesktop() {\r\n // if(ApiService.IS_SKIP_LOGIN == 1) {\r\n // return true;\r\n // }\r\n // return false;\r\n if ((this.platform.is(\"ios\") || this.platform.is(\"android\")) && !this.platform.is(\"mobileweb\")) {\r\n return false\r\n }\r\n return true;\r\n }\r\n\r\n async isUserLoggedIn(route = true,SenderPID='PROPPY', route_to:any = null) {\r\n // if (this.isDesktop() && ApiService.IS_SKIP_LOGIN == 0) {\r\n // return true\r\n // }\r\n var pid = await this.storage.getStorage().get('Proppy_UserID')\r\n var loggedIn = (pid || '').length > 0\r\n if (loggedIn) {\r\n return true\r\n } else {\r\n if (route) {\r\n let url:any = (route_to?route_to:this.router.url)\r\n await this.storage.setString('route_link',url)\r\n if (this.isDesktop()) {\r\n this.router.navigate(['/registration/'+SenderPID])\r\n } else {\r\n setTimeout(() => {\r\n ApiService.DISMISS_APP_POPUP_CB();\r\n ApiService.IS_APP_POPUP_SHOW = 0; \r\n }, 1000);\r\n this.router.navigate(['/login'])\r\n }\r\n }\r\n return false\r\n }\r\n }\r\n static navigateToHome(router: Router) {\r\n router.navigate(['/web-landing']);\r\n }\r\n static doLogout(router: Router) {\r\n router.navigate(['/login']);\r\n }\r\n\r\n static getLangText(langJson, text_key, section_id, selectedCode = ApiService.SELECTED_LANGUAGE_CODE || '') {\r\n var langCode = selectedCode || ApiService.DEFAULT_LANG_CODE\r\n const tmpObj = langJson[section_id] || {}\r\n var langObj = tmpObj[text_key] || {}\r\n return langObj[langCode] || langObj[ApiService.DEFAULT_LANG_CODE] || \"\"\r\n }\r\n\r\n getPlatformInstance() {\r\n return this.platform\r\n }\r\n\r\n getCurrentRoute() {\r\n return this.router.url\r\n }\r\n\r\n async validateBannerAdsDisplay(routepath = this.getCurrentRoute()) {\r\n await AdmobService.hideBanner();\r\n AppHelper.log(routepath + 'validateBannerAdsDisplay')\r\n AdmobService.advertisement(routepath, this.getPlatformInstance())\r\n }\r\n\r\n // setSlideInAnimation(){\r\n // this.slide_in_animation=this.animationCtrl.create()\r\n // .duration(1500)\r\n // .iterations(1)\r\n // .fromTo('transform', 'translateY(0px)', 'translateY(100px)')\r\n // .fromTo('opacity', '1', '0.2');\r\n // }\r\n\r\n // setSlideOutAnimation(){\r\n // this.slide_out_animation=this.animationCtrl.create()\r\n // .duration(1500)\r\n // .iterations(1)\r\n // .fromTo('transform', 'translateX(0px)', 'translateX(100px)')\r\n // .fromTo('opacity', '1', '0.2');\r\n // }\r\n\r\n async openWizard(content) {\r\n const modal = await this.modalController.create({\r\n component: ProppyWizardPage,\r\n cssClass: 'wizard-model',\r\n keyboardClose: true,\r\n swipeToClose: true,\r\n mode: 'ios',\r\n // enterAnimation:this.slide_in_animation,\r\n // leaveAnimation:this.slide_out_animation,\r\n componentProps: {\r\n items: content\r\n }\r\n })\r\n return await modal.present();\r\n }\r\n async socialShare(sMessage, uri = null, type = 1, image_id = null) {\r\n if (this.plt.is(\"android\")) {\r\n this.socialSharing.share(\r\n sMessage,\r\n sMessage,\r\n uri,\r\n null\r\n );\r\n } else if (this.plt.is(\"ios\")) {\r\n if (uri) {\r\n var accessId = image_id || ((sMessage.split('AccessID=')[1] || '').substring(0, 19))\r\n if(uri.startsWith('https://cdn.')){\r\n var imagePath=uri.split('images/')[1]\r\n var encodedImagePath=(imagePath)\r\n var msg = (sMessage.split(new_deep_link_base_url)[0] || '') + (deep_link_base_url + 'preview.aspx?AccessID=' + accessId +'&path='+encodedImagePath)\r\n console.log(msg)\r\n this.socialSharing.share(\r\n msg,\r\n msg,\r\n null,\r\n null\r\n );\r\n return\r\n } else if(uri.startsWith(ApiService.BASE_NODE_URL)){\r\n this.socialSharing.share(\r\n sMessage,\r\n sMessage,\r\n uri,\r\n null\r\n );\r\n return\r\n }\r\n var base64 = await fetch(uri);\r\n var formData = new FormData();\r\n formData.append('file', await base64.blob(), accessId + '.png');\r\n let params = new URLSearchParams();\r\n params.set(\"ObjectID\", accessId);\r\n this.__http.doPostWithOutHttpHeaders(ApiService.ACCESS_IMAGE_UPLOAD + '?' + params.toString(), formData).subscribe(res => {\r\n const status = res['status'] || false\r\n if (status) {\r\n var msg = (sMessage.split(new_deep_link_base_url)[0] || '') + (deep_link_base_url + 'preview.aspx?AccessID=' + accessId)\r\n console.log(msg)\r\n this.socialSharing.share(\r\n msg,\r\n msg,\r\n null,\r\n null\r\n );\r\n } else {\r\n this.alertHandler.presenToast(ApiService.ERROR_TOAST_MSG)\r\n }\r\n })\r\n return\r\n }\r\n this.socialSharing.share(\r\n sMessage,\r\n sMessage,\r\n null,\r\n null\r\n );\r\n }\r\n }\r\n static log(content) {\r\n if (!environment.production) {\r\n console.log(content)\r\n }\r\n }\r\n replaceSingleQuote(str: string): string {\r\n const singleQuoteCount = ((str || '').match(/''/g) || []).length;\r\n if (singleQuoteCount == 0) {\r\n return (str || '').replace(/'/g, \"''\");\r\n }\r\n return (str || '');\r\n }\r\n getCurrentCoordinates() {\r\n console.log('getCurrentCoordinates')\r\n this.geolocation.getCurrentPosition().then(async (resp) => {\r\n let geocoder = await new google.maps.Geocoder();\r\n let latlng = await new google.maps.LatLng(resp.coords.latitude, resp.coords.longitude);\r\n let request: google.maps.GeocoderRequest = { location: latlng };\r\n await geocoder.geocode(request, (results, status) => {\r\n if (results && results.length > 0) {\r\n let result = results[0];\r\n var state = (result['address_components'].filter(f => f.types.includes('administrative_area_level_1')) || [{ long_name: 'Kuala Lumpur' }])[0].long_name\r\n state = state.includes('Kuala Lumpur') ? 'Kuala Lumpur' : state\r\n var area = ((result['address_components'].filter(f => f.types.includes('sublocality_level_1')) || [{ short_name: '' }])[0] || {})['short_name'] || \"\"\r\n this.storage.setString('User_State', state)\r\n this.storage.setData('User_Address_Obj', {\r\n lat: resp.coords.latitude + '',\r\n long: resp.coords.longitude + '',\r\n state: state,\r\n area: area,\r\n formatted_address:result['formatted_address'] || ''\r\n })\r\n DBHandlerService.addToLocalDB('User_State', state,()=> {})\r\n DBHandlerService.addJsonToLocalDB('User_Address_Obj', {\r\n lat: resp.coords.latitude + '',\r\n long: resp.coords.longitude + '',\r\n state: state,\r\n area: area,\r\n formatted_address:result['formatted_address'] || ''\r\n },()=>{})\r\n }\r\n });\r\n }).catch((err) => {\r\n if (err['message'] == 'Illegal Access') {\r\n this.permissionService.showGPSModel()\r\n }\r\n console.log('Error getting location', err);\r\n });\r\n }\r\n\r\n genQr(content,cb,custom_logo='/assets/icon/proppy_logo_forapp_TM.png') {\r\n var div = document.createElement(\"div\");\r\n var options = {\r\n width: 300,\r\n height: 300,\r\n drawer: \"svg\",\r\n binary: false,\r\n correctLevel: QRCode.CorrectLevel.H,\r\n text: content,\r\n colorDark: \"#010600\",\r\n dotScale: \"0.8\",\r\n logo: custom_logo,\r\n PO: \"#0320F7\",\r\n timing_H: \"#6274FB\",\r\n timing_V: \"#6274FB\",\r\n AO: \"#0320F7\",\r\n quietZone: 10,\r\n quietZoneColor: \"#FFFFFF\",\r\n };\r\n new QRCode(div, options);\r\n setTimeout(() => {\r\n svg.svgAsPngUri(\r\n div.getElementsByTagName(\"svg\")[0],\r\n { excludeCss: true },\r\n (uri) => {\r\n cb(uri, div.getElementsByTagName(\"svg\")[0])\r\n }\r\n );\r\n }, 400);\r\n }\r\n\r\n async sendMessageWithBeep(newConversation: any) {\r\n if (Object.keys(newConversation).length > 0) {\r\n this.createNewConversation(newConversation, '')\r\n }\r\n }\r\n async createNewConversation(conversationData, id, cb=null) {\r\n const user = await this.storage.getStorage().get(\"user\");\r\n this.currentUserID = user['Proppy_UserID']\r\n const newConversationData = conversationData;\r\n const groupId = conversationData['GroupId'] || \"\"\r\n const groupName = conversationData['GroupName'] || \"\"\r\n const participants = conversationData['Participants'] || []\r\n if (groupId.length > 0 && participants.length > 0) {\r\n const session = await this.talkService.createCurrentSession(user);//Auth USer \r\n participants.map(participent => {\r\n participent['photoUrl'] = participent['ProfilePicURL']\r\n });\r\n var chatBox = await this.talkService.createConversation(session, user, groupId, groupName, participants);\r\n chatBox.mount(document.getElementById('global-hidden-talkjs-container'));\r\n setTimeout(() => {\r\n if(newConversationData['defaultFileBlob']){\r\n this.sendAttachment( newConversationData['defaultFileBlob'],newConversationData['defaultFileName'],groupId)\r\n }\r\n if(newConversationData['defaultmsg']){\r\n this.sendMessage(groupId, newConversationData['defaultmsg'], id)\r\n }\r\n }, 5000);\r\n setTimeout(() => {\r\n if(cb!=null){\r\n cb(null, true)\r\n }\r\n },6000)\r\n }\r\n }\r\n onGetOrCreateConversation(id1, id2, conversationData, visitid,cb=(err,res)=>{}) {\r\n this.getConversation(id1 + id2, (err, res) => {\r\n if (err) {\r\n this.getConversation(id2 + id1, (err, res) => {\r\n if (err) {\r\n this.createNewConversation(conversationData, visitid, (err, res) => {\r\n cb(err, res)\r\n })\r\n } else {\r\n if(conversationData['defaultFileBlob']){\r\n this.sendAttachment( conversationData['defaultFileBlob'],conversationData['defaultFileName'],res, (err,res) => {\r\n cb(err,res)\r\n })\r\n }\r\n if(conversationData['defaultmsg']){\r\n this.sendMessage(res, conversationData['defaultmsg'], visitid)\r\n }\r\n }\r\n })\r\n } else {\r\n console.log('convFound')\r\n if(conversationData['defaultFileBlob']){\r\n this.sendAttachment(conversationData['defaultFileBlob'],conversationData['defaultFileName'],res, (err,res) => {\r\n cb(err,res)\r\n })\r\n }\r\n if(conversationData['defaultmsg']){\r\n this.sendMessage(res, conversationData['defaultmsg'], visitid)\r\n }\r\n }\r\n })\r\n }\r\n async getConversation(conversationId, cb) {\r\n this.__http.doTalkJsApiRequest(ApiService.GET_TALK_JS_CONVERSATION_URL + conversationId).subscribe(res => {\r\n const status = !res['errorCode'] || false\r\n if (status) {\r\n cb(null, conversationId,res)\r\n } else {\r\n cb(res['errorCode'], null)\r\n }\r\n }, error => {\r\n cb(error, null)\r\n })\r\n }\r\n async getConversationsByPID(pid, cb) {\r\n this.__http.doTalkJsApiRequest(ApiService.GET_TALK_JS_CONVERSATION_BY_PID_URL.replace('${userId}',pid)).subscribe(res => {\r\n const status = !res['errorCode'] || false\r\n if (status) {\r\n cb(null,res)\r\n } else {\r\n cb(res['errorCode'], null)\r\n }\r\n }, error => {\r\n cb(error, null)\r\n })\r\n }\r\n async createStubConversation(conversationData, conversationId, cb) {\r\n var ParticipantsList = []\r\n if (conversationData.Participants.length > 0) {\r\n if (conversationData.Participants.length > 1) {\r\n for (var p = 0; p < conversationData.Participants.length; p++) {\r\n ParticipantsList.push(conversationData.Participants[p].userID)\r\n }\r\n } else {\r\n ParticipantsList = [conversationData.Participants[0].userID, conversationData.Participants[0].userID]\r\n }\r\n }\r\n if (ParticipantsList.length > 0) {\r\n let params = {\r\n \"participants\": ParticipantsList,\r\n \"subject\": \"Welcome Msg\",\r\n \"welcomeMessages\": [conversationData.defaultmsg],\r\n \"custom\": {},\r\n \"photoUrl\": conversationData.Participants[0].ProfilePicURL\r\n }\r\n this.__http.doTalkJsApiPutRequest(ApiService.ESTABLISH_TALK_JS_CONVERSATION_URL + conversationId, params).subscribe(res => {\r\n const status = !res['errorCode'] || false\r\n if (status) {\r\n cb(null, conversationId)\r\n } else {\r\n cb(res['errorCode'], null)\r\n }\r\n }, error => {\r\n cb(error, null)\r\n })\r\n }\r\n }\r\n async sendMessage(convid, msg = \"Welcome!\", visitid, cb=(res)=>{}) {\r\n const user = await this.storage.getStorage().get(\"user\");\r\n this.currentUserID = user['Proppy_UserID']\r\n var postParams = { \"ConversationID\": convid, \"SenderPID\": this.currentUserID, \"Message\": msg }\r\n this.__http.doPost(ApiService.CHAT_SEND_MSG_URL, postParams).subscribe(async res => {\r\n const status = res['status'] || false\r\n if (status) {\r\n if((visitid || '').length>0) {\r\n this.updateNotificationStatus(visitid)\r\n }\r\n this.alertHandler.presenToast('Message Sent Successfully')\r\n cb(status)\r\n } else {\r\n this.alertHandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG)\r\n }\r\n }, error => {\r\n this.alertHandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG)\r\n })\r\n }\r\n\r\n updateConversationAccess(convId,newParticipants,leavedParticipants,cb) {\r\n var postParams = { \"ConversationID\": convId, \"NewParticipants\": newParticipants, \"LeaveParticipants\": leavedParticipants }\r\n this.__http.doPost(ApiService.ENTER_OR_EXIT_URL, postParams).subscribe(res => {\r\n const status = res['status'] || false\r\n if (status) {\r\n cb()\r\n }\r\n })\r\n }\r\n\r\n updateNotificationStatus(visitid) {\r\n this.__http.doPut(ApiService.UPDATE_INDIVIDUAL_PROPERTY_VISITOR, { 'is_invitation_sent': 1, 'visit_id': visitid }).subscribe(res => {\r\n const status = res['status'] || false\r\n if (status) {\r\n } else {\r\n this.alertHandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG)\r\n }\r\n }, error => {\r\n this.alertHandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG)\r\n })\r\n }\r\n\r\n async downloadFile(file, file_name, file_ext,showPreview = true) {\r\n let path = null;\r\n if (this.plt.is('ios')) {\r\n path = this.file.documentsDirectory;\r\n } else {\r\n path = Directory.Documents;\r\n }\r\n file = file.split(\",\")[1] || file\r\n await Filesystem.checkPermissions()\r\n var writeRes = await Filesystem.writeFile({\r\n path: file_name + '_' + (new Date()).getTime() + '.' + file_ext,\r\n data: file,\r\n directory: path\r\n });\r\n if(showPreview) {\r\n this.previewAnyFile.preview(writeRes.uri)\r\n }\r\n }\r\n\r\n async sendAttachment(blob,fileName,convId,cb=(err,res)=>{}) {\r\n console.log('sendAttach')\r\n const user = await this.storage.getStorage().get(\"user\");\r\n this.currentUserID = user['Proppy_UserID']\r\n var formData = new FormData();\r\n formData.append('file', blob, fileName);\r\n formData.append('filename', fileName);\r\n this.__http.doTalkJsApiPostRequest(ApiService.SAVE_TALK_JS_ATTACHMENT_URL, formData).subscribe(res => {\r\n console.log(res)\r\n this.__http.doTalkJsApiPostRequest(ApiService.GET_TALK_JS_CONVERSATION_URL+`${convId}/messages`, [\r\n {\r\n attachmentToken: res['attachmentToken'],\r\n sender: this.currentUserID,\r\n type: 'UserMessage',\r\n },\r\n ]).subscribe(sendRes => {\r\n const status = !sendRes['errorCode'] || false\r\n if (status) {\r\n cb(null, status)\r\n } else {\r\n cb(res['errorCode'], null)\r\n }\r\n }, error => {\r\n cb(error, null)\r\n })\r\n }, error => {\r\n cb(error, null)\r\n })\r\n }\r\n\r\n getFileFromHtml(element,cb,type='image/png'){\r\n this.ngZone.run(async () => {\r\n html2canvas(element).then(async (canvas) => {\r\n canvas.getContext('2d');\r\n var uri = canvas.toDataURL(type,0.5)\r\n var base64 = await fetch(uri);\r\n canvas.toBlob((blob)=>{\r\n console.log({blob:blob,base64:base64,uri:uri})\r\n cb(null,{blob:blob,base64:base64,uri:uri})\r\n },type,1.0)\r\n }).catch(err=>{\r\n cb(err,null)\r\n });\r\n })\r\n }\r\n\r\n fileSocialShare(uri){\r\n console.log(uri,'uri..');\r\n this.socialSharing.share(\r\n '',\r\n '',\r\n uri,\r\n null\r\n );\r\n }\r\n\r\n routeBackHandler(PrevRoute){\r\n switch (PrevRoute) {\r\n case \"notification\": {\r\n this.navCtrl.navigateBack(\"tabs/notification\")\r\n return true;\r\n }\r\n default : {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n async UpdateLoginAccesstoken(isSkipLogin : boolean = false) {\r\n await this.alertHandler.presentLoading()\r\n DBHandlerService.getJsonDataFromStorage(ApiService.LBDB_KEY, (user_info) => {\r\n var AccessCode = user_info['AccessCode'] || '';\r\n if(AccessCode.length == 0) {\r\n this.doLogout(isSkipLogin)\r\n return;\r\n }\r\n this.__http.doPut(ApiService.UPDATE_LOGIN_ACCESSTOKEN, {access_code: AccessCode,login_status: 2,})\r\n .subscribe((res) => {\r\n this.doLogout(isSkipLogin)\r\n }, err=>{\r\n this.doLogout(isSkipLogin)\r\n });\r\n });\r\n }\r\n\r\n async doLogout(isSkipLogin : boolean = false){\r\n await this.storage.removeItem('username');\r\n await this.storage.removeItem('email');\r\n await this.storage.setBoolean('hasLoggedIn',false);\r\n await this.storage.removeItem(\"Proppy_Name\");\r\n await this.storage.removeItem(\"Proppy_Extension\");\r\n await this.storage.removeItem(\"Proppy_Email\");\r\n await this.storage.removeItem(\"Proppy_Mobile\");\r\n await this.storage.removeItem(\"Proppy_Mobile\");\r\n await this.storage.removeItem(\"Proppy_UserID\");\r\n await this.storage.removeItem(\"Proppy_Agent_ID\");\r\n await this.storage.removeItem(\"Proppy_DeveloperID\");\r\n await this.storage.removeItem(\"Proppy_Profile_Pic\");\r\n await this.storage.removeItem(\"proppy_authtoken\");\r\n await this.storage.removeItem(\"IdentityType\");\r\n await this.storage.removeItem(\"IdentityHolderCardNo\");\r\n await this.storage.removeItem(\"IdentityHolderName\");\r\n await this.storage.removeItem(\"user\");\r\n await this.storage.removeItem(\"IsMOPFF\");\r\n await this.storage.removeItem(\"IsAmzRaceInv\");\r\n await this.storage.removeItem(ApiService.HOMES_WELCOME_POPUP_GLOBAL);\r\n await this.storage.removeItem(ApiService.RESIDENTS_DATA);\r\n DBHandlerService.clearAllStroage((e) => {\r\n if(isSkipLogin) {\r\n ApiService.IS_SKIP_LOGIN = 1;\r\n this.router.navigateByUrl('/tabs/tab1');\r\n } else {\r\n this.router.navigateByUrl('/login');\r\n }\r\n this.alertHandler.dismissLoading()\r\n PushNotifications.removeAllDeliveredNotifications()\r\n });\r\n }\r\n\r\n YouTubeUrlGetID(url){\r\n if((new RegExp(ApiService.REGEXP_VALID_URL)).test(url)){\r\n url = url.split(/(vi\\/|v%3D|v=|\\/v\\/|youtu\\.be\\/|\\/embed\\/|\\/shorts\\/)/);\r\n var vID = undefined !== url[2]?url[2].split(/[^0-9a-z_\\-]/i)[0]:url[0]\r\n return (vID && vID.length == 11 ? vID : false)\r\n }else{\r\n return false;\r\n }\r\n }\r\n\r\n onSettingsClick() {\r\n // if (this.platform.is('ios')) {\r\n // AppLauncher.openUrl({ url: 'app-settings:' });\r\n // } else if (this.platform.is('android')) {\r\n // AppLauncher.openUrl({ url: 'package:com.realtysystems.proppy' }); // replace with your app's package name\r\n // }\r\n BarcodeScanner.openAppSettings();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AppHelper } from './app-helper';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardService implements CanActivate {\r\n\r\n constructor(public authService: AuthService, public router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n if (!this.authService.isAuthenticated(state.url)) {\r\n AppHelper.navigateToHome(this.router);\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Platform } from '@ionic/angular';\r\nimport { AdmobService } from './admob-service';\r\nimport { AppHelper } from './app-helper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n constructor(\r\n private platform: Platform,\r\n private helper:AppHelper,\r\n ) { }\r\n public isAuthenticated(route_path): boolean {\r\n if ((this.platform.is(\"ios\") || this.platform.is(\"android\")) && !this.platform.is(\"mobileweb\")) {\r\n this.helper.validateBannerAdsDisplay(route_path)\r\n return true\r\n }\r\n return AppHelper.isValidRoute(route_path);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { InAppBrowser } from '@ionic-native/in-app-browser/ngx';\r\nimport { ModalController, NavController, Platform } from '@ionic/angular';\r\nimport { deep_link_hostname, new_deep_link_base_url, proffis_deep_link_base_url } from 'src/environments/environment';\r\nimport { AlertHandlerService } from '../alert-handler.service';\r\nimport { ApiService } from '../api.service';\r\nimport { DataFetcherService } from '../data-fetcher/data-fetcher.service';\r\nimport { StorageService } from '../storage.service';\r\nimport { AppHelper } from './app-helper';\r\nimport * as CryptoJS from \"crypto-js\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DeeplinkHelperService {\r\n EventSaveParams = {\r\n EventType: \"\",\r\n ObjectType: \"\",\r\n ObjectID: \"\",\r\n Path: \"\",\r\n PathType: \"\",\r\n SenderPID: \"\",\r\n };\r\n EventReceipientSaveParams = {\r\n AccessID: \"\",\r\n ReceipientPID: \"\",\r\n };\r\n deep_link_paths = {\r\n 'MerchantDetails': '/tabs/merchantdetails?MerchantID=',\r\n 'ProppyCaresClaim': '/proppycares-claim/',\r\n 'MemberProfile': '/tabs/memberprofile?MemberID=',\r\n 'AddEndorsement': '/tabs/add-endorsement/',\r\n 'EndorsedList': '/tabs/endorsedlist/',\r\n 'Registration': '/registration/',\r\n \"OwnBusiness\": \"/tabs/businesses-own/\",\r\n \"AgentProperty\": \"/tabs/property-agent?AgentId=\",\r\n \"PropertyDetails\": \"/tabs/property-details?ListingID=\",\r\n \"ProppyAcademyDetails\": \"/tabs/proppy-academy-details?ListingID=\",\r\n \"ProppyCareNeedsConfirmOrder\": \"/tabs/proppycare-needs-confirm-order?OrderID=\",\r\n \"OrderReceipt\": \"/tabs/order-receipt?OrderID=\",\r\n \"GemTransfer\": \"/tabs/gem-transfer?ReceiverProppyID=\",\r\n \"ClaimRedPacket\": \"/tabs/red-packet/claim?SenderProppyID=\",\r\n \"C360registration\": \"/c360/c360-registration/\",\r\n \"SosDisplay\": \"/c360/c360-sosdisplay/\",\r\n \"C360SuppliesDisplay\": \"/c360/c360-suppliesdisplay/\",\r\n \"C360SupportDisplay\": \"/c360/c360-supportdisplay/\",\r\n \"C360VaccineDisplay\": \"/c360/c360-vaccinedisplay/\",\r\n \"AgencyProfile\": \"/agency-profile? AgencyName=\",\r\n \"AddInvite\": \"/myunitprofile\",\r\n \"DeveloperProfile\": \"/tabs/developer-gallery/developer-profile?developer_id=\",\r\n \"DeveloperNewProject\": \"/tabs/developer-gallery/developer-new-project?listing_id=\",\r\n \"ProductDetails\": \"/tabs/premium-merchant/product-details?product_id=\",\r\n \"ServiceDetails\": \"/tabs/premium-merchant/service-details?service_id=\",\r\n \"ServiceOrderTracker\": \"/tabs/premium-merchant/booking-tracker?order_hdr_id=\",\r\n \"ProductOrderTracker\": \"/tabs/proppy-deal/pm-progress-tracker?order_hdr_id=\",\r\n \"PMOrderReceipt\": \"/tabs/premium-merchant/receipt?order_hdr_id=\",\r\n \"Preloved\": \"tabs/preloved/preloveddetails?ListingID=\",\r\n \"Visitor\": \"/proppy-homes-v2/visitor-invitation/checkout-payment?visit_id=\",\r\n // \"Visitor\": \"tabs/myvisit-scanner?visitID=\",\r\n \"VoucherDetails\": \"tabs/premium-merchant/voucher-details?disc_code=\",\r\n \"VisitorSelfRegistration\": \"/tabs/proppy-homes-v2/visitor-self-registration?property_id=\",\r\n \"BasicInfo\": \"/layout/ml-tabs/premium-merchant/basic-info?merchant_id=\",\r\n \"PMActivation\": \"layout/ml-tabs/premium-merchant/premium-merchant-activation\",\r\n \"MerchantShortcut\": \"/tabs/merchantdetails?merchant_id=\",\r\n \"Signature\": \"/proppy-signature?doc_id=\",\r\n \"PCardPersonnel\": \"/tabs/personal-pcard/personnel-card-show?MemberID=\",\r\n \"PCardBusiness\": `/tabs/business-card/pcard-biz-show?template_id=`,\r\n \"OfflineLoyaltyRedemption\": `/tabs/my-membership?merchant_id=`,\r\n \"PromoterDetails\": \"/tabs/premium-merchant/pm-promoter/promo-code-details?promo_code=\",\r\n \"ProppyChest\": \"/tabs/proppy-chest\",\r\n \"MyQRCode\" : \"/tabs/myqrcode?pid=\",\r\n \"WallPost\": `/tabs/proppy-wpe/wall-post-details?post_id=`,\r\n \"WallEvent\": `/tabs/proppy-wpe/wall-post-event-details?event_id=`\r\n }\r\n path_types = {\r\n 'MerchantDetails': 'Public',\r\n 'ProppyCaresClaim': 'Private',\r\n 'MemberProfile': 'Private',\r\n 'AddEndorsement': 'Private',\r\n 'EndorsedList': 'Private',\r\n 'Registration': 'Public',\r\n \"OwnBusiness\": \"Private\",\r\n \"AgentProperty\": \"Private\",\r\n \"PropertyDetails\": \"Public\",\r\n \"ProppyAcademyDetails\": \"Public\",\r\n \"ProppyCareNeedsConfirmOrder\": \"Public\",\r\n \"OrderReceipt\": \"Private\",\r\n \"GemTransfer\": \"Private\",\r\n \"ClaimRedPacket\": \"Private\",\r\n \"C360registration\": \"Public\",\r\n \"SosDisplay\": \"Public\",\r\n \"C360SuppliesDisplay\": \"Public\",\r\n \"C360SupportDisplay\": \"Public\",\r\n \"C360VaccineDisplay\": \"Public\",\r\n \"AgencyProfile\": \"Private\",\r\n \"AddInvite\": \"Public\",\r\n \"DeveloperProfile\": \"Public\",\r\n \"DeveloperNewProject\": \"Public\",\r\n \"ProductDetails\": \"Public\",\r\n \"ServiceDetails\": \"Public\",\r\n \"PMOrderReceipt\": \"Private\",\r\n \"ProductOrderTracker\": \"Private\",\r\n \"ServiceOrderTracker\": \"Private\",\r\n \"Preloved\": \"Private\",\r\n \"Visitor\": \"Private\",\r\n \"VoucherDetails\": \"Public\",\r\n \"VisitorSelfRegistration\": \"Public\",\r\n \"BasicInfo\": \"Protected\",\r\n \"PMActivation\": \"Protected\",\r\n \"MerchantShortcut\": \"Private\",\r\n \"Signature\": \"Private\",\r\n \"PCardPersonnel\": \"Public\",\r\n \"PCardBusiness\": \"Public\",\r\n \"OfflineLoyaltyRedemption\": \"Public\",\r\n \"PromoterDetails\": \"Public\",\r\n \"ProppyChest\": \"Private\",\r\n \"MyQRCod\":\"Public\",\r\n \"WallPost\": \"Public\",\r\n \"WallEvent\": \"Public\"\r\n }\r\n\r\n AppPublicObjectTypes = [\"Registration\"];\r\n constructor(\r\n private dataFetcherService: DataFetcherService,\r\n private alertHandelerService: AlertHandlerService,\r\n private storage: StorageService,\r\n private router: Router,\r\n private alertHandlerService: AlertHandlerService,\r\n private helper: AppHelper,\r\n private navCtrl: NavController,\r\n private plt: Platform,\r\n private iab: InAppBrowser,\r\n private routes: ActivatedRoute\r\n ) {\r\n\r\n }\r\n\r\n async createEvent(eventSaveParams, cb, hasLoading = 1) {\r\n if (hasLoading == 1) {\r\n await this.alertHandelerService.presentLoading()\r\n }\r\n this.dataFetcherService.doPost(ApiService.CREATE_DEEPLINK_EVENT, eventSaveParams).subscribe(res => {\r\n if (hasLoading == 1) {\r\n this.alertHandelerService.dismissLoading()\r\n }\r\n const status = res['status'] || false;\r\n cb(status, res['AccessID'])\r\n }, err => {\r\n if (hasLoading == 1) {\r\n this.alertHandelerService.dismissLoading()\r\n }\r\n this.alertHandelerService.presenToast(ApiService.ERROR_TOAST_MSG)\r\n })\r\n }\r\n\r\n async getEvent(AccessID, cb) {\r\n await this.alertHandelerService.presentLoading();\r\n this.dataFetcherService\r\n .doPost(ApiService.GET_DEEPLINK_EVENT_BY_ACCESSID, { AccessID: AccessID })\r\n .subscribe(\r\n (res) => {\r\n this.alertHandelerService.dismissLoading();\r\n const status = res[\"status\"] || false;\r\n cb(status, res[\"data\"]);\r\n },\r\n (err) => {\r\n this.alertHandelerService.dismissLoading();\r\n this.alertHandelerService.presenToast(ApiService.ERROR_TOAST_MSG);\r\n }\r\n );\r\n }\r\n\r\n async recordEventAccess(eventReceipientSaveParams) {\r\n // await this.alertHandelerService.presentLoading()\r\n this.dataFetcherService.doPost(ApiService.RECORD_DEEPLINK_EVENT_ACCESS, eventReceipientSaveParams).subscribe(res => {\r\n // this.alertHandelerService.dismissLoading()\r\n const status = res['status'] || false;\r\n console.log(status, res)\r\n }, err => {\r\n // this.alertHandelerService.dismissLoading()\r\n this.alertHandelerService.presenToast(ApiService.ERROR_TOAST_MSG)\r\n })\r\n }\r\n\r\n processShareLink(objectType, objectID, cb, path_extension = objectID, EventType = 'Share', hasLoading = 1) {\r\n this.storage.getString('Proppy_UserID', (PID) => {\r\n this.createEvent({\r\n 'EventType': EventType,\r\n 'ObjectType': objectType,\r\n 'ObjectID': objectID,\r\n Path: encodeURI(this.deep_link_paths[objectType] + path_extension),\r\n PathType: this.path_types[objectType],\r\n SenderPID: PID\r\n }, (status, accessID) => {\r\n if (status) {\r\n var url = new_deep_link_base_url\r\n if (this.path_types[objectType] == \"Protected\") {\r\n url = proffis_deep_link_base_url\r\n }\r\n cb(url + accessID)\r\n } else {\r\n this.alertHandelerService.presenToast(ApiService.ERROR_TOAST_MSG)\r\n }\r\n }, hasLoading)\r\n })\r\n }\r\n\r\n onAccessCapture(AccessID, isPublic = false) {\r\n console.log('onAccessCapture...');\r\n this.getEvent(AccessID, (status, data) => {\r\n console.log(status, data);\r\n if (status) {\r\n this.storage.getString(\"Proppy_UserID\", async (PID) => {\r\n if (PID.length > 0 && data[\"ObjectType\"] == \"Registration\") {\r\n var senderPID = data[\"SenderPID\"];\r\n if (senderPID != \"PROPPY\") {\r\n this.navCtrl.navigateForward(\r\n this.deep_link_paths[\"MemberProfile\"] + senderPID\r\n );\r\n this.recordEventAccess({\r\n AccessID: AccessID,\r\n ReceipientPID: PID || \"PROPPY-WEB\",\r\n });\r\n }\r\n return;\r\n }\r\n if (PID.length > 0 && data['ObjectType'] == 'VisitorSelfRegistration') {\r\n var visit_data = { \"property_id\": data[\"ObjectID\"], \"pid\": PID, \"access_id\": AccessID, \"is_public\": isPublic, \"event_data\": data }\r\n this.addSelfRegistration(visit_data)\r\n return;\r\n }\r\n console.log('before');\r\n if (PID.length > 0 && data['ObjectType'] == 'VisitorAttendance') {\r\n console.log('In');\r\n var attendance_data = { \"property_id\": data[\"ObjectID\"], \"pid\": PID, \"access_id\": AccessID, \"is_public\": isPublic, \"event_data\": data }\r\n console.log(attendance_data, 'attendance_data');\r\n this.storage.getData('User_Address_Obj', (userAddress) => {\r\n console.log(userAddress);\r\n if (userAddress) {\r\n attendance_data['lat'] = userAddress['lat'] || ''\r\n attendance_data['long'] = userAddress['long'] || ''\r\n }\r\n this.setAttendance(attendance_data);\r\n });\r\n return;\r\n }\r\n if( data[\"ObjectType\"] == 'DynamicQr') {\r\n this.processDynamicQr(AccessID)\r\n return\r\n }\r\n console.log(\"out\");\r\n setTimeout(() => {\r\n this.deepLinkNavigation(PID, isPublic, data, AccessID);\r\n }, 1000)\r\n })\r\n } else {\r\n this.alertHandlerService.presenToast(ApiService.ERROR_TOAST_MSG);\r\n this.navCtrl.navigateForward([\"/tabs/tab1\"]);\r\n }\r\n });\r\n }\r\n async deepLinkNavigation(PID, isPublic, data, AccessID) {\r\n if (ApiService.IS_SKIP_LOGIN == 1) { // SKIP LOGIN ACCESS REFERRER PID\r\n this.storage.setString('referrer_pid', data['SenderPID']);\r\n }\r\n // 0 indicates don't do anything\r\n let allowAsSkipLogin = 0;\r\n if (ApiService.IS_SKIP_LOGIN == 1 && !isPublic) {\r\n if ((data[\"PathType\"] || \"\").toLowerCase() == \"public\") {\r\n // 1 indicates route to path in if condition\r\n allowAsSkipLogin = 1;\r\n } else {\r\n // 2 indicates route to login in else condition\r\n allowAsSkipLogin = 2;\r\n }\r\n }\r\n if (\r\n PID || allowAsSkipLogin == 1 ||\r\n (isPublic && (data[\"PathType\"] || \"\").toLowerCase() == \"public\") ||\r\n (!isPublic && this.AppPublicObjectTypes.includes(data[\"ObjectType\"]))\r\n ) {\r\n if (data[\"PathType\"] == \"Protected\" && PID != data[\"SenderPID\"]) {\r\n this.alertHandelerService.presenToast(\"Invalid Access. \");\r\n return;\r\n }\r\n if (isPublic && data[\"Path\"].includes(\"tabs\")) {\r\n data[\"Path\"] = data[\"Path\"].replace(\"tabs/\", \"\");\r\n data[\"Path\"] += \"&SenderPID=\" + data[\"SenderPID\"];\r\n }\r\n data[\"Path\"] += (data[\"Path\"]?.includes('?') ? \"&fromDeeplink=1\" : \"?fromDeeplink=1\");\r\n let currentRoutePath = this.router.url.split('?')[0];\r\n let linkRoutePath = data['Path'].split('?')[0];\r\n if (currentRoutePath == linkRoutePath && ApiService.deeplinkCallBack != null) {\r\n ApiService.deeplinkCallBack(data)\r\n } else {\r\n console.log(data[\"Path\"]);\r\n this.navCtrl.navigateForward(data[\"Path\"]);\r\n }\r\n this.recordEventAccess({\r\n AccessID: AccessID,\r\n ReceipientPID: PID || \"PROPPY-WEB\",\r\n });\r\n } else {\r\n await this.storage.setString('AccessID', AccessID)\r\n if (!PID && !this.helper.isDesktop() && data['ObjectType'] == 'MemberProfile') {\r\n this.navCtrl.navigateForward([\"/registration/\" + data['SenderPID']]);\r\n return\r\n }\r\n if (allowAsSkipLogin == 2) {\r\n this.router.navigateByUrl('/login');\r\n return;\r\n }\r\n this.navCtrl.navigateForward([\r\n isPublic && data[\"PathType\"] == \"Private\"\r\n ? \"/registration/\" + data[\"SenderPID\"]\r\n : \"/login\",\r\n ]);\r\n }\r\n }\r\n\r\n onLoginAccessIDCheck(PID) {\r\n this.storage.getString(\"AccessID\", (AccessID) => {\r\n if (AccessID.length > 0) {\r\n this.getEvent(AccessID, (status, data) => {\r\n if (status) {\r\n this.router.navigateByUrl(data[\"Path\"], {\r\n replaceUrl: true,\r\n });\r\n this.storage.removeItem(\"AccessID\");\r\n this.recordEventAccess({\r\n AccessID: AccessID,\r\n ReceipientPID: PID,\r\n });\r\n } else {\r\n this.alertHandlerService.presenToast(ApiService.ERROR_TOAST_MSG);\r\n ApiService.IS_APP_POPUP_SHOW = 1;\r\n this.router.navigate([\"/tabs/tab1\"], {\r\n replaceUrl: true,\r\n });\r\n }\r\n });\r\n } else {\r\n ApiService.IS_APP_POPUP_SHOW = 1;\r\n this.router.navigate([\"/tabs/tab1\"], {\r\n replaceUrl: true,\r\n });\r\n }\r\n });\r\n }\r\n\r\n processQrContent(qrText) {\r\n console.log(\"236\", qrText);\r\n var bytes = CryptoJS.AES.decrypt(qrText, ApiService.ENCRYPT_KEY);\r\n var originalText = bytes.toString(CryptoJS.enc.Utf8);\r\n const decryptedData = JSON.parse(originalText || '{}');\r\n if (\r\n \"qr_token\" in decryptedData &&\r\n \"objectType\" in decryptedData &&\r\n decryptedData?.[\"objectType\"] == \"ProffisQrLogin\"\r\n ) {\r\n this.navCtrl.navigateForward(['/tabs/tab1']);\r\n this.proffisLoginQRCodeScanned(decryptedData);\r\n } else if (this.isValidAppLink(qrText)) {\r\n let applink = new URL(qrText);\r\n if (applink.toString().includes('AccessID')) {\r\n var AccessID = applink.toString().split('=')[1] || ''\r\n AccessID = AccessID.split('&')[0]\r\n this.onAccessCapture(AccessID)\r\n return;\r\n }\r\n let pathname = applink.pathname.replace(/^\\/+/g, \"\");\r\n let approute = pathname.split(\"/\");\r\n // Create our internal Router path by hand\r\n let internalPath = \"\";\r\n if (approute[0]) {\r\n internalPath = \"/\" + approute[0];\r\n }\r\n if (approute[1]) {\r\n internalPath = internalPath + \"/\" + approute[1];\r\n }\r\n\r\n // Run the navigation in the Angular zone\r\n if (internalPath != \"\") {\r\n this.router.navigateByUrl(internalPath);\r\n }\r\n }\r\n //valid link that's not our app\r\n else if (this.isValidLink(qrText)) {\r\n //open the link in inAppBrowser\r\n this.openAppstoreEntry(qrText);\r\n }\r\n //any other type of data that we cannot handle atm\r\n else {\r\n this.alertHandelerService.presenToast(\"Invalid QR Code. Please Try Again.\")\r\n console.log('invalid data: ' + qrText);\r\n }\r\n }\r\n\r\n setAttendance(attendance_data) {\r\n console.log(attendance_data, 'ser in');\r\n var params = {\r\n \"pid\": attendance_data['pid'],\r\n \"property_id\": attendance_data['property_id'],\r\n \"unit_id\": null,\r\n \"latitude\": attendance_data['lat'],\r\n \"longitude\": attendance_data['long']\r\n }\r\n console.log('finally');\r\n this.dataFetcherService.doPost(ApiService.ADD_ATTENDANCE, params).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.alertHandelerService.presenToast('Attendance Status Updated Successfully.');\r\n } else {\r\n this.alertHandelerService.presenToast(res['msg'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }, (error) => {\r\n this.alertHandelerService.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n })\r\n }\r\n\r\n isValidAppLink(string) {\r\n try {\r\n let url = new URL(string);\r\n return (\r\n url.protocol === \"proppyapp:\" ||\r\n (url.protocol === \"https:\" && url.hostname === deep_link_hostname)\r\n );\r\n } catch (error) {\r\n console.log(\"Error\", error);\r\n return false;\r\n }\r\n }\r\n\r\n isValidLink(string) {\r\n try {\r\n let url = new URL(string);\r\n return true;\r\n } catch (error) {\r\n console.log(\"Error\", error);\r\n return false;\r\n }\r\n }\r\n\r\n openAppstoreEntry(url = \"\") {\r\n const isAndroid = this.plt.is(\"android\");\r\n //console.log(\"open:\" + url);\r\n if (isAndroid) {\r\n window.open(url, \"_system\");\r\n } else {\r\n this.iab.create(url, \"_system\");\r\n // this.iab.open('http://whitelisted-url.com', '_system');\r\n // window.open(url, \"_system\");\r\n }\r\n }\r\n\r\n processQrContentAsMemberInfo(qrText, cb) {\r\n let applink = new URL(qrText);\r\n if (this.isValidAppLink(qrText)) {\r\n if (applink.toString().includes(\"AccessID\")) {\r\n var AccessID = applink.toString().split(\"=\")[1] || \"\";\r\n AccessID = AccessID.split(\"&\")[0];\r\n console.log(AccessID);\r\n\r\n this.getEvent(AccessID, (Status, res) => {\r\n console.log(Status);\r\n\r\n if (Status && (res['ObjectType'] == 'MemberProfile' || res['ObjectType'] == 'Registration' || res['ObjectType'] == 'PropertyDetails')) {\r\n console.log('yes');\r\n console.log(res['ObjectID']);\r\n\r\n cb(res['ObjectID'])\r\n } else {\r\n this.alertHandelerService.presenToast(\"Invalid QR Code\")\r\n }\r\n });\r\n return;\r\n }\r\n var link_path = applink.pathname.split(\"/\");\r\n if (link_path[1] == \"memberprofile\") {\r\n if (applink.search) {\r\n var AccessID = applink.search.split(\"=\")[1] || \"\";\r\n AccessID = AccessID.split(\"&\")[0];\r\n cb(AccessID);\r\n } else {\r\n cb(link_path[2]);\r\n }\r\n return;\r\n }\r\n } else if (this.isValidLink(qrText)) {\r\n var link_path = applink.pathname.split(\"/\");\r\n if (link_path[1] == \"memberprofile\") {\r\n if (applink.search) {\r\n var AccessID = applink.search.split(\"=\")[1] || \"\";\r\n AccessID = AccessID.split(\"&\")[0];\r\n cb(AccessID);\r\n } else {\r\n cb(link_path[2]);\r\n }\r\n return;\r\n }\r\n } else if (qrText.startsWith(\"AA\")) {\r\n cb(qrText);\r\n }\r\n this.alertHandelerService.presenToast(\"Invalid QR Code.\")\r\n }\r\n async addSelfRegistration(postParams) {\r\n this.storage.getString(\"user\", (user_data) => {\r\n this.dataFetcherService.doPost(ApiService.GET_PH_PROPERTY_USER_DETAILS, { 'pid': postParams[\"pid\"], \"property_id\": postParams[\"property_id\"] }).subscribe((res) => {\r\n const status = res['status'] || false\r\n if (status) {\r\n const data = res[\"data\"] || []\r\n let data_json = { \"name\": \"\", \"property_id\": postParams[\"property_id\"], \"visitor_name\": user_data[\"Proppy_Name\"] || \"\", \"visitor_pid\": postParams[\"pid\"], \"visitor_mobile_no\": user_data[\"Proppy_Mobile\"] || \"\", \"unit_id\": \"\", \"purpose_of_visit\": \"\", \"visit_type\": 3, \"vehicle_type_reg_no\": \"\", \"vehicle_brand_name\": \"\", \"vehicle_brand_model\": \"\", \"vehicle_type\": 0 }\r\n if (data.length > 0) {\r\n const unitInfo = data[0] || {}\r\n const vehicleInfo = unitInfo[\"vehicle_info\"] || {}\r\n let vehicle_types = [{ \"type\": 1, \"name\": \"Car\", \"img\": \"car\" }, { \"type\": 2, \"name\": \"Motorcycle\", \"img\": \"motor_cycle\" }, { \"type\": 3, \"name\": \"Suv\", \"img\": \"suv\" }, { \"type\": 4, \"name\": \"Van\", \"img\": \"van\" }, { \"type\": 5, \"name\": \"Lorry\", \"img\": \"lorry\" }];\r\n data_json = { \"name\": unitInfo[\"unit_name\"], \"property_id\": unitInfo[\"property_id\"], \"visitor_name\": unitInfo[\"name\"], \"visitor_pid\": postParams[\"pid\"], \"visitor_mobile_no\": unitInfo[\"tele_phone\"], \"unit_id\": unitInfo[\"unit_id\"], \"purpose_of_visit\": unitInfo['type'], \"visit_type\": 1, \"vehicle_type_reg_no\": (vehicleInfo[\"reg_no\"] || \"\"), \"vehicle_brand_name\": (vehicleInfo[\"vehicle_brand\"] || \"\"), \"vehicle_brand_model\": (vehicleInfo[\"vehicle_model\"] || \"\"), \"vehicle_type\": 0 }\r\n if ((vehicleInfo[\"vehicle_type\"] || \"\").length > 0) {\r\n var tmpVhArr = vehicle_types.filter(f => f['name'].toLocaleLowerCase() == vehicleInfo[\"vehicle_type\"].toLocaleLowerCase())\r\n if (tmpVhArr.length > 0) {\r\n data_json[\"vehicle_type\"] = tmpVhArr[0]['type'] || 0\r\n }\r\n }\r\n }\r\n this.dataFetcherService.doPost(ApiService.ADD_SELF_REGISTRATION, { 'property_id': postParams[\"property_id\"], \"data_json\": JSON.stringify(data_json), 'pid': postParams[\"pid\"] }).subscribe((res) => {\r\n const status = res['status'] || false\r\n if (status) {\r\n this.alertHandelerService.presenToast(\"Request Sent To Security Guard\");\r\n } else {\r\n this.alertHandelerService.presenToast(res['msg'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }, (err) => {\r\n this.alertHandelerService.presenToast(err['error'] || ApiService.ERROR_TOAST_MSG)\r\n })\r\n } else {\r\n this.deepLinkNavigation(postParams[\"pid\"], postParams[\"is_public\"], postParams['event_data'], postParams[\"access_id\"])\r\n }\r\n })\r\n })\r\n }\r\n\r\n\r\n proffisLoginQRCodeScanned(data: any) {\r\n let qrTokenTime = new Date(data[\"token_expiry_date\"]).getTime();\r\n let curTime = new Date().getTime();\r\n if (qrTokenTime < curTime) {\r\n this.alertHandelerService.presenToast('Invalid QR Code. Please Try Again.');\r\n } else {\r\n var qr_data = {\r\n objectType: data[\"objectType\"],\r\n app_id: Number(data[\"app_id\"]),\r\n qr_token: data[\"qr_token\"],\r\n login_status: Number(data[\"login_status\"]),\r\n token_expiry_date: data[\"token_expiry_date\"],\r\n };\r\n this.storage.getString(\"Proppy_UserID\", (PID) => {\r\n if (PID) qr_data[\"pid\"] = PID;\r\n this.storage.getData(\"User_Address_Obj\", (userAddress) => {\r\n console.log(userAddress);\r\n if (userAddress) {\r\n qr_data[\"latitude\"] = userAddress[\"lat\"] || \"\";\r\n qr_data[\"longitude\"] = userAddress[\"long\"] || \"\";\r\n }\r\n this.dataFetcherService.doPost(ApiService.Qr_LOGIN_SCAN, qr_data).subscribe({\r\n next: (res: any) => {\r\n console.log(res);\r\n const status = res['status'] || false;\r\n if (status) {\r\n console.log(\"Success!\");\r\n }\r\n },\r\n error: (e: any) => {\r\n this.alertHandelerService.presenToast('Invalid QR Code. Please Try Again.');\r\n },\r\n complete: () => { },\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n processDynamicQr(accessID : any) {\r\n this.dataFetcherService.doPost(ApiService.GET_QR_LINK_DETAILS, {from_pro_event_access_id : accessID}).subscribe({\r\n next: (res: any) => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n const data = res['data'] || []\r\n const qrLink = data[0] || {}\r\n const redirectAccessID = qrLink['redirect_pro_event_access_id'];\r\n this.onAccessCapture(redirectAccessID,this.helper.isDesktop());\r\n } else {\r\n this.alertHandelerService.presenToast('Qr Code No Longer Active.');\r\n }\r\n },\r\n error: (e: any) => {\r\n this.alertHandelerService.presenToast('Invalid QR Code. Please Try Again.');\r\n },\r\n complete: () => { },\r\n });\r\n }\r\n}\r\n","import { ErrorHandler, Injectable, Injector } from '@angular/core';\r\n// import { FirebaseCrashlytics } from '@capacitor-community/firebase-crashlytics';\r\nimport { Platform } from '@ionic/angular';\r\nconst LOGTAG = '[GlobalErrorHandlerService]';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GlobalErrorHandlerService implements ErrorHandler {\r\n constructor(private injector: Injector,private platform:Platform) {}\r\n\r\n public handleError(error: unknown): void {\r\n this.platform.ready().then(() => {\r\n if ((this.platform.is(\"ios\") || this.platform.is(\"android\")) && !this.platform.is(\"mobileweb\")) {\r\n this.handle(error);\r\n }\r\n });\r\n }\r\n\r\n private async handle(error: unknown): Promise {\r\n try {\r\n console.error(error);\r\n const message = this.getMessageFromUnknownError(error);\r\n // await FirebaseCrashlytics.addLogMessage({message:message})\r\n } catch (errorHandlerError) {\r\n // await FirebaseCrashlytics.addLogMessage({message:errorHandlerError})\r\n console.error(`${LOGTAG} Internal exception:`, errorHandlerError);\r\n }\r\n }\r\n\r\n private getMessageFromUnknownError(error: unknown): string {\r\n let message = 'An unknown error has occurred.';\r\n if (error instanceof Object && 'rejection' in error) {\r\n error = (error as any).rejection;\r\n }\r\n if (error instanceof Error && error.message) {\r\n message = error.message;\r\n }\r\n return message;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ApiService } from '../api.service';\r\n@Pipe({\r\n name: 'langPipe',\r\n pure:false\r\n})\r\nexport class LangPipe implements PipeTransform {\r\n\r\n transform(langJson: any, ...args: any[]): unknown {\r\n var selectedCode=ApiService.SELECTED_LANGUAGE_CODE || ''\r\n var langCode= selectedCode || args[2] || ApiService.DEFAULT_LANG_CODE\r\n if(args.length>1){\r\n const tmpObj = langJson[args[0]] || {}\r\n var langObj = tmpObj[args[1]] || {}\r\n return langObj[langCode] || langObj[ApiService.DEFAULT_LANG_CODE] || \"\"\r\n } \r\n return null; \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Camera, CameraResultType, CameraSource } from '@capacitor/camera';\r\nimport { Capacitor } from '@capacitor/core';\r\nimport { WebView } from '@ionic-native/ionic-webview/ngx';\r\nimport { MediaCapture } from '@ionic-native/media-capture/ngx';\r\nimport { Platform } from '@ionic/angular';\r\nimport { AlertHandlerService } from '../alert-handler.service';\r\nimport { AppHelper } from './app-helper';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n constructor(private helper: AppHelper,\r\n private mediaCapture:MediaCapture,\r\n private alertService: AlertHandlerService,\r\n private platform: Platform,\r\n private webview:WebView,\r\n private sanitizer:DomSanitizer,) {\r\n Camera.requestPermissions()\r\n }\r\n async getPicture(src_type = 1,limit=1) {\r\n if (!Capacitor.isPluginAvailable('Camera') || (this.helper.isDesktop())) {\r\n return;\r\n }\r\n if (src_type == 1) {\r\n const image = await Camera.getPhoto({\r\n quality: 100,\r\n allowEditing: false,\r\n resultType: CameraResultType.Uri,\r\n source: ((src_type == 1) ? CameraSource.Camera : CameraSource.Photos)\r\n });\r\n return image;\r\n }else {\r\n const image = await Camera.pickImages({\r\n quality: 100,\r\n limit:limit\r\n });\r\n return image;\r\n }\r\n }\r\n async getVideo(src_type = 1,limit=1,duration=null) {\r\n if (!Capacitor.isPluginAvailable('Camera') || (this.isDesktop())) {\r\n return;\r\n }\r\n if (src_type == 1) {\r\n var options={limit:limit,quality:75}\r\n if(duration){\r\n options['duration']=duration\r\n }\r\n const video=this.mediaCapture.captureVideo(options)\r\n return video\r\n } else {\r\n this.alertService.presenToast('Currently Not Supported');\r\n return null;\r\n }\r\n }\r\n isDesktop() {\r\n if ((this.platform.is(\"ios\") || this.platform.is(\"android\")) && !this.platform.is(\"mobileweb\")) {\r\n return false \r\n }\r\n return true;\r\n }\r\n pathForImage(img) {\r\n if (img === null) {\r\n return '';\r\n } else {\r\n let converted = this.webview.convertFileSrc(img);\r\n const safeImg = this.sanitizer.bypassSecurityTrustUrl(converted);\r\n return safeImg;\r\n // return converted;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Platform } from '@ionic/angular';\r\nimport { FileChooser } from '@ionic-native/file-chooser/ngx';\r\nimport { IOSFilePicker } from '@ionic-native/file-picker/ngx';\r\nimport { File, FileEntry } from '@ionic-native/file/ngx';\r\nimport { Filesystem } from '@capacitor/filesystem';\r\nimport { DataFetcherService } from './data-fetcher/data-fetcher.service';\r\nimport { AlertHandlerService } from './alert-handler.service';\r\nimport { PhotoService } from './middleware/photo.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpenFileUtilService {\r\n constructor(private plt: Platform,\r\n private filePicker: IOSFilePicker,\r\n private fileChooser: FileChooser,\r\n private file: File,\r\n private dataFetcherService: DataFetcherService,\r\n private photoService: PhotoService,\r\n private alertService: AlertHandlerService,\r\n ) { }\r\n async open(cb, file_type = '') {\r\n var obj: any = {}\r\n if (this.plt.is('android')) {\r\n const selectedFile: string = await this.fileChooser.open()\r\n obj['document_path'] = selectedFile\r\n const fileEntry = await this.file.resolveLocalFilesystemUrl(selectedFile) as any;\r\n fileEntry.file((fileInfo) => {\r\n obj['doc_type'] = fileInfo['type'] || ''\r\n if (file_type && !obj['doc_type'].includes(file_type)) {\r\n this.alertService.presenToast('Unsupported File Format, Please Try Again.')\r\n return\r\n }\r\n obj['doc_name'] = fileInfo['name']\r\n if (!obj['doc_name'].includes('.')) {\r\n obj['doc_name'] += ('.' + (obj['doc_type'].split('/')[1] || ''))\r\n }\r\n cb(obj)\r\n })\r\n } else {\r\n const selectedFile: string = await this.filePicker.pickFile();\r\n obj['document_path'] = 'file:///' + encodeURI(selectedFile)\r\n const fileEntry = await this.file.resolveLocalFilesystemUrl('file:///' + encodeURI(selectedFile)) as any;\r\n fileEntry.file((fileInfo) => {\r\n obj['doc_type'] = fileInfo['type']\r\n if (file_type && !obj['doc_type'].includes(file_type)) {\r\n this.alertService.presenToast('Unsupported File Format, Please Try Again.')\r\n return\r\n }\r\n obj['doc_name'] = fileInfo['name']\r\n cb(obj)\r\n })\r\n }\r\n }\r\n async doFilesUpload(params, cb, fileKey = 'formFiles', pos = 0) {\r\n console.log(params, 'params');\r\n console.log(pos, 'pos');\r\n var fileObj = params.filesArr[pos] || {}\r\n var failedItems = []\r\n this.onFileUpload(fileObj, fileObj.postParams || params.postParams || {}, fileObj.url || params.url, (err, res) => {\r\n var status = (res || {})['status'] || false\r\n if (err || !status) {\r\n fileObj['res'] = err || res\r\n failedItems.push(fileObj)\r\n }\r\n if (pos < (params.filesArr.length - 1)) {\r\n this.doFilesUpload(params, cb, fileKey, ++pos)\r\n } else {\r\n cb({ 'msg': 'Failed to Upload ' + failedItems.length + ' out of ' + params.filesArr.length + '.', 'failedItems': failedItems, 'status': failedItems.length == 0 })\r\n }\r\n }, fileKey)\r\n }\r\n\r\n async onFileUpload(fileObj, postParams, url, cb, fileKey = 'formFiles') {\r\n if (fileObj['document_path'] && fileObj['document_path'].length > 0) {\r\n var uri = fileObj['document_path']\r\n const contents = await Filesystem.readFile({ path: uri, });\r\n const rawData = atob(contents.data);\r\n const bytes = new Array(rawData.length);\r\n for (var x = 0; x < rawData.length; x++) {\r\n bytes[x] = rawData.charCodeAt(x);\r\n }\r\n const arr = new Uint8Array(bytes);\r\n const blob = new Blob([arr], {\r\n type: fileObj['doc_type']\r\n });\r\n // var fileSizeInKB = blob.size / 1024;\r\n // var fileSizeInMB = fileSizeInKB / 1024;\r\n // if (fileSizeInMB < 5) {\r\n const formData = new FormData();\r\n formData.append(fileKey, blob, fileObj['doc_name']);\r\n Object.keys(postParams).map(key => {\r\n formData.append(key, postParams[key]);\r\n })\r\n this.uploadServiceCall(formData, url, cb);\r\n // } else {\r\n // cb({ \"error\": \"File Size Can't Be More Than 5MB.\" }, null)\r\n // }\r\n } else {\r\n cb({ \"error\": \"Please Select Document To Upload\" }, null)\r\n }\r\n }\r\n async uploadServiceCall(formData: FormData, url, cb) {\r\n await this.dataFetcherService.doCdnUploadRequest(url, formData)\r\n .subscribe((res) => {\r\n cb(null, res)\r\n }, (error) => {\r\n cb(error, null)\r\n });\r\n }\r\n\r\n openVideo(source_type, cb, duration) {\r\n if (source_type == SourceType.camera) {\r\n var obj = {}\r\n this.photoService.getVideo(1, 1, duration).then(async (videos: any[]) => {\r\n var video = videos[0];\r\n obj['document_path'] = video.fullPath\r\n const fileEntry = await this.file.resolveLocalFilesystemUrl(obj['document_path']) as any;\r\n fileEntry.file((fileInfo) => {\r\n obj['doc_type'] = fileInfo['type'] || ''\r\n obj['doc_name'] = fileInfo['name']\r\n if (!obj['doc_name'].includes('.')) {\r\n obj['doc_name'] += ('.' + (obj['doc_type'].split('/')[1] || ''))\r\n }\r\n obj['doc_web_path'] = video['fullPath']\r\n cb([obj])\r\n })\r\n });\r\n } else {\r\n this.open(cb, MimeTypes.video_type)\r\n }\r\n }\r\n\r\n openImage(source_type, cb, limit) {\r\n if (source_type == SourceType.camera) {\r\n var obj: any = {}\r\n this.photoService.getPicture(1, limit).then(async image => {\r\n obj['document_path'] = image[\"path\"]\r\n const fileEntry = await this.file.resolveLocalFilesystemUrl(obj['document_path']) as any;\r\n fileEntry.file((fileInfo) => {\r\n obj['doc_type'] = fileInfo['type'] || ''\r\n obj['doc_name'] = fileInfo['name']\r\n if (!obj['doc_name'].includes('.')) {\r\n obj['doc_name'] += ('.' + (obj['doc_type'].split('/')[1] || ''))\r\n }\r\n obj['doc_web_path'] = image['webPath']\r\n cb([obj])\r\n })\r\n });\r\n } else {\r\n this.photoService.getPicture(2, limit).then(photos => {\r\n const imgArr = photos[\"photos\"] || photos;\r\n let tmpArr = []\r\n imgArr.map(async (image, indx) => {\r\n var obj: any = {}\r\n obj['document_path'] = image[\"path\"]\r\n const fileEntry = await this.file.resolveLocalFilesystemUrl(obj['document_path']) as any;\r\n fileEntry.file((fileInfo) => {\r\n obj['doc_type'] = fileInfo['type'] || ''\r\n obj['doc_name'] = fileInfo['name']\r\n if (!obj['doc_name'].includes('.')) {\r\n obj['doc_name'] += ('.' + (obj['doc_type'].split('/')[1] || ''))\r\n }\r\n obj['doc_web_path'] = image['webPath']\r\n })\r\n tmpArr.push(obj)\r\n if (tmpArr.length > limit) {\r\n this.alertService.presenToast(\"Only the first \" + limit + \" images selected will be uploaded.\")\r\n }\r\n if (indx == imgArr['length'] - 1) {\r\n cb(tmpArr.slice(0, limit))\r\n }\r\n })\r\n });\r\n }\r\n }\r\n\r\n selectFile(cb, file_type = '', source_type = '', limit = 1, duration = null) {\r\n switch (file_type) {\r\n case MimeTypes.image_type: {\r\n this.openImage(source_type, cb, limit)\r\n break;\r\n }\r\n case MimeTypes.video_type: {\r\n this.openVideo(source_type, cb, duration)\r\n break;\r\n }\r\n case MimeTypes.pdf_type: {\r\n this.open(cb, file_type)\r\n break;\r\n }\r\n case MimeTypes.word_type: {\r\n this.open(cb, file_type)\r\n break;\r\n }\r\n case MimeTypes.excel_type: {\r\n this.open(cb, file_type)\r\n break;\r\n }\r\n default: {\r\n this.open(cb, file_type)\r\n break;\r\n }\r\n }\r\n }\r\n\r\n checkFilesize(filesize: number,comparesize: number){\r\n let status\r\n var fileSizeInKB = filesize / 1024;\r\n var filesizeinMb = fileSizeInKB / 1024;\r\n console.log(filesizeinMb);\r\n if(comparesize >= filesizeinMb){\r\n status = true\r\n }\r\n else {\r\n status = false;\r\n }\r\n console.log(status);\r\n return status;\r\n }\r\n}\r\nexport enum MimeTypes {\r\n image_type = 'image',\r\n video_type = 'video',\r\n pdf_type = 'pdf',\r\n word_type = 'msword',\r\n excel_type = 'vnd.openxmlformats-officedocument.spreadsheetml.sheet/vnd.ms-excel',\r\n}\r\n\r\nexport enum SourceType {\r\n camera = 1,\r\n gallery = 2\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Camera } from '@capacitor/camera';\r\nimport { Filesystem } from '@capacitor/filesystem';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions/ngx';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy/ngx';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { PermissionModalPage } from '../modals/permission-modal/permission-modal.page';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PermissionService {\r\n\r\n constructor(private androidPermissions: AndroidPermissions,\r\n private modalController:ModalController,\r\n private locationAccuracy: LocationAccuracy) { }\r\n\r\n public initiate(){\r\n this.checkGPSPermission();\r\n this.checkPermissions()\r\n }\r\n\r\n //Check if application having GPS access permission \r\n checkGPSPermission() {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => {\r\n if (result.hasPermission) {\r\n this.modalController.dismiss({\r\n 'dismissed': true\r\n });\r\n //If having permission show 'Turn On GPS' dialogue\r\n this.askToTurnOnGPS();\r\n } else {\r\n //If not having permission ask for permission\r\n this.requestGPSPermission();\r\n }\r\n },\r\n err => {\r\n if(err['message']=='Illegal Access'){\r\n this.showGPSModel()\r\n }\r\n }\r\n );\r\n }\r\n\r\n async showGPSModel(){\r\n const modal = await this.modalController.create({\r\n component: PermissionModalPage,\r\n cssClass: 'modalalert',\r\n backdropDismiss: false,\r\n keyboardClose:true,\r\n componentProps: {\r\n \"RetryFun\": ()=>{\r\n // console.log('retry')\r\n // setTimeout(() => {\r\n // this.checkGPSPermission()\r\n // }, 1000);\r\n this.modalController.dismiss({\r\n 'dismissed': true\r\n });\r\n },\r\n }\r\n });\r\n await modal.present();\r\n }\r\n\r\n requestGPSPermission() {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n if (canRequest) {\r\n console.log(\"4\");\r\n } else {\r\n //Show 'GPS Permission Request' dialogue\r\n this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n .then(\r\n () => {\r\n // call method to turn on GPS\r\n this.askToTurnOnGPS();\r\n },\r\n error => {\r\n //Show alert if user click on 'No Thanks'\r\n console.log('requestPermission Error requesting location permissions ' + error)\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n askToTurnOnGPS() {\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n // When GPS Turned ON call method to get Accurate location coordinates\r\n //this.getLocationCoordinates()\r\n },\r\n error => console.log('Error requesting location permissions ' + JSON.stringify(error))\r\n );\r\n }\r\n\r\n checkPermissions(){\r\n Camera.requestPermissions()\r\n Filesystem.requestPermissions()\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { PreloadAllModules, Route } from \"@angular/router\";\r\nimport { Observable, switchMap, timer } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class PreloadModulesService implements PreloadAllModules {\r\n preload(route: Route, fn: () => Observable): Observable {\r\n return timer(10000).pipe(\r\n switchMap(() => fn())\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 RoutesService {\r\n\r\n //Proppy App Routes Start\r\n public static countryCodesDropDown='country-codes-dropdown'\r\n //Proppy App Routes Start\r\n\r\n //Community 360 Routes Start\r\n public static c360base='c360';\r\n public static c360Login='c360-login';\r\n public static c360Home='c360-home';\r\n public static c360Registration='c360-registration';\r\n public static c360OtpValidation='c360-otpvalidation';\r\n public static c360MyAccount= 'c360-myaccount';\r\n public static c360MyQrCode= 'c360-myqrcode';\r\n public static c360SOSCreate= 'c360-soscreate';\r\n public static c360SOSDisplay= 'c360-sosdisplay';\r\n public static c360ShowAllFeed= 'c360-showallfeed';\r\n public static c360About360= 'c360-about360';\r\n public static c360SupportDisplay= 'c360-supportdisplay';\r\n public static c360SupportCreate= 'c360-supportcreate';\r\n public static c360Supportlist= 'c360-supportlist';\r\n public static c360Supplielist= 'c360-supplieslist';\r\n public static c360SupplieCreate= 'c360-suppliescreate';\r\n public static c360SupplieDisplay= 'c360-suppliesdisplay';\r\n public static c360Model='c360-model'\r\n public static c360RedFlagDisplay='c360-redflagdisplay'\r\n public static c360VaccineList='c360-vaccinelist'\r\n public static c360VaccineDisplay='c360-vaccinedisplay'\r\n public static c360VaccineCreate='c360-vaccinecreate'\r\n public static c360VaccineBookingCreate='c360-vaccinebookingcreate'\r\n public static c360VaccineBookingsList='c360-vaccinebookingslist'\r\n public static c360VaccineBookingDetails='c360-vaccinebookingdetails'\r\n\r\n public static c360GlobalSearch='c360-globalsearch'\r\n public static c360HowTo='c360-howto'\r\n public static c360Beep='c360-beep'\r\n public static c360CreateGroups='c360-create-groups'\r\n public static c360GroupChat='c360-group-chat'\r\n public static c360SupportersCreate='c360-supportorscreate'\r\n public static c360ForgetPwd='c360-forget-pwd'\r\n public static c360StoreLink='c360-store-link'\r\n\r\n\r\n public static c360Default=RoutesService.c360Home;\r\n //Community 360 Routes End\r\n\r\n\r\n constructor() { }\r\n\r\n static c360NavigatableURL(route):string{\r\n return RoutesService.c360base+'/'+route\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StorageService {\r\n constructor(private storage: Storage) { }\r\n\r\n async setString(key: string, value: string) {\r\n await this.storage.set(key, value);\r\n }\r\n\r\n async getString(key: string,cb) {\r\n await this.storage.get(key).then(val => {\r\n if (val != null) {\r\n cb(val);\r\n } else {\r\n cb('');\r\n }\r\n });\r\n }\r\n\r\n async setInt(key: string, value: Number) {\r\n await this.storage.set(key, value);\r\n }\r\n\r\n async getInt(key:string,cb) {\r\n await this.storage.get(key).then(val => {\r\n if (val != null) {\r\n cb(val);\r\n } else {\r\n cb('');\r\n }\r\n });\r\n }\r\n\r\n async setBoolean(key: string, value: boolean) {\r\n await this.storage.set(key, value);\r\n }\r\n\r\n async getBoolean(key:string,cb) {\r\n await this.storage.get(key).then(val => {\r\n if (val != null) {\r\n cb(val);\r\n } else {\r\n cb(false);\r\n }\r\n });\r\n }\r\n\r\n async setData(key: string, value: any) {\r\n await this.storage.set(key, JSON.stringify(value));\r\n }\r\n\r\n async addData(key: string, value: {}) {\r\n await this.getData(key,(data)=>{\r\n this.storage.remove(key);\r\n this.storage.set(key, JSON.stringify([...data,value]));\r\n })\r\n }\r\n\r\n async getData(key: string,cb) {\r\n await this.storage.get(key).then(val => {\r\n if (val != null && val.length > 0) {\r\n cb(JSON.parse(val));\r\n } else {\r\n cb(key.includes('arr')?[]:{});\r\n }\r\n });\r\n }\r\n\r\n async removeItem(key: string) {\r\n await this.storage.remove(key);\r\n }\r\n\r\n async clear() {\r\n await this.storage.clear();\r\n }\r\n\r\n setIonicDateTime(value: string): Date {\r\n if (value) {\r\n let date: Date = new Date(value);\r\n let ionicDate = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\r\n return ionicDate;\r\n }\r\n return null;\r\n }\r\n getIonicDateTime(value: Date): string {\r\n if (value) {\r\n let date: Date = new Date(value);\r\n let ionicDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\r\n return ionicDate.toISOString();\r\n }\r\n return null;\r\n }\r\n\r\n getStorage(){\r\n return this.storage\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StorageService {\r\n public user;\r\n public product;\r\n public apiToken;\r\n public chatWith;\r\n public helpdesk;\r\n public subject;\r\n public subjectId;\r\n public myEvents=new BehaviorSubject('Started');\r\n\r\n constructor(private storage: Storage) { }\r\n\r\n public emitMyEvents(eventType:\"login\"|\"logout\"|\"message_sent\"){\r\n this.myEvents.next(eventType);\r\n console.log(eventType + \" event happened\");\r\n }\r\n \r\n public handleMyEvents(callback,eventType:\"login\"|\"logout\"){\r\n this.myEvents.subscribe((evType)=>{\r\n if(evType==eventType){\r\n console.log(eventType + \" event handeled\");\r\n callback();\r\n }\r\n })\r\n }\r\n\r\n async setString(key: string, value: string) {\r\n await this.storage.set(key, value);\r\n }\r\n\r\n async getString(key: string,cb) {\r\n await this.storage.get(key).then(val => {\r\n if (val != null) {\r\n cb(val);\r\n } else {\r\n cb('');\r\n }\r\n });\r\n }\r\n\r\n async getJWTToken(){\r\n var token=\"\";\r\n await this.storage.get('proppy_authtoken').then(val=>{\r\n token=val;\r\n });\r\n return token;\r\n }\r\n\r\n async setInt(key: string, value: Number) {\r\n await this.storage.set(key, value);\r\n }\r\n\r\n async getInt(key:string,cb) {\r\n await this.storage.get(key).then(val => {\r\n if (val != null) {\r\n cb(val);\r\n } else {\r\n cb('');\r\n }\r\n });\r\n }\r\n\r\n async setData(key: string, value: any) {\r\n await this.storage.set(key, JSON.stringify(value));\r\n }\r\n\r\n async getData(key: string,cb) {\r\n return await this.storage.get(key).then(val => {\r\n if (val != null && val.length > 0) {\r\n cb(JSON.parse(val));\r\n } else {\r\n cb(key.includes('arr')?[]:{});\r\n }\r\n });\r\n }\r\n async getAsycData(key: string) {\r\n const val = await this.storage.get(key);\r\n return val || \"\"\r\n }\r\n\r\n async removeItem(key: string) {\r\n await this.storage.remove(key);\r\n }\r\n\r\n async clear() {\r\n await this.storage.clear();\r\n }\r\n\r\n setIonicDateTime(value: string): Date {\r\n if (value) {\r\n let date: Date = new Date(value);\r\n let ionicDate = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\r\n return ionicDate;\r\n }\r\n return null;\r\n }\r\n getIonicDateTime(value: Date): string {\r\n if (value) {\r\n let date: Date = new Date(value);\r\n let ionicDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\r\n return ionicDate.toISOString();\r\n }\r\n return null;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProButtonModule } from './uicomponents/pro-button/pro-button.module';\r\nimport { ProCustomModalModule } from './uicomponents/pro-custom-modal/pro-custom-modal.module';\r\nimport { ProCbDropdownModule } from './uicomponents/pro-cb-dropdown/pro-cb-dropdown.module';\r\nimport { UICheckboxModule } from './uicomponents/uicheckbox/uicheckbox.module';\r\nimport { UITextFieldModule } from './uicomponents/uitext-field/uitext-field.module';\r\nimport { UIRadioButtonModule } from './uicomponents/uiradio-button/uiradio-button.module';\r\nimport { ProSliderModule } from './uicomponents/pro-slider/pro-slider.module';\r\nimport { UIDropdownModule } from './uicomponents/uidropdown/uidropdown.module';\r\n\r\nimport { UILabelModule } from './uicomponents/uilabel/uilabel.module';\r\nimport { UIDatePickerModule } from './uicomponents/uidate-picker/uidate-picker.module';\r\nimport { UIImgModule } from './uicomponents/uiimg/uiimg.module';\r\nimport { DisplayQrPageModule } from './uicomponents/display-qr/display-qr.module';\r\nimport { UIChipModule } from './uicomponents/ui-chip/ui-chip.module';\r\nimport { UIPopoverModule } from './uicomponents/ui-popover/ui-popover.module';\r\nimport { UiadsDisplayModule } from './uicomponents/uiads-display/uiads-display.module';\r\nimport { ProgressTrackerModule } from './uicomponents/progress-tracker/progress-tracker.module';\r\nimport { UiSideFabModule } from './uicomponents/ui-side-fab/ui-side-fab.module';\r\nimport { UiPhPropertyModule } from './uicomponents/ui-ph-property/ui-ph-property.module';\r\nimport { ReviewRatingModule } from './uicomponents/review-rating/review-rating.module';\r\nimport { ReviewRatingDetailsModule } from './uicomponents/review-rating-details/review-rating-details.module';\r\nimport { ProductReviewRatingDetailsModule } from './uicomponents/product-review-rating-details/product-review-rating-details.module';\r\nimport { CustomPipeModule } from './uicomponents/utils/custom-pipe/custom-pipe.module';\r\nimport { ImageSanitizer } from './uicomponents/utils/iamge-sanitizer.pipe';\r\nimport { SeparatorModule } from './uicomponents/separator/separator.module';\r\nimport { AppRefresherModule } from './uicomponents/app-refresher/app-refresher.module';\r\nimport { SkeletonsModule } from './uicomponents/skeletons/skeletons.module';\r\nimport { UifollowModule } from './uicomponents/uifollow/uifollow.module';\r\nimport { UibookmarkModule } from './uicomponents/uibookmark/uibookmark.module';\r\nimport { UiLikesModule } from './uicomponents/ui-likes/ui-likes.module';\r\nimport { UiFavouritesModule } from './uicomponents/ui-favourites/ui-favourites.module';\r\n// import { UicongratulationsPageModule } from './uicomponents/uicongratulations/uicongratulations.module';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ProButtonModule,\r\n ProCbDropdownModule,\r\n UICheckboxModule,\r\n UITextFieldModule,\r\n UIRadioButtonModule,\r\n ProCustomModalModule,\r\n UIDropdownModule,\r\n ProSliderModule,\r\n UILabelModule,\r\n UIDatePickerModule,\r\n UIImgModule,\r\n UIChipModule,\r\n UIPopoverModule,\r\n UiadsDisplayModule,\r\n ProgressTrackerModule,\r\n UiSideFabModule,\r\n UiPhPropertyModule,\r\n ReviewRatingModule,\r\n // UicongratulationsPageModule\r\n // DisplayQrPageModule\r\n ReviewRatingDetailsModule,\r\n ProductReviewRatingDetailsModule,\r\n CustomPipeModule,\r\n SeparatorModule,\r\n AppRefresherModule,\r\n SkeletonsModule,\r\n UifollowModule,\r\n UibookmarkModule,\r\n UiLikesModule,\r\n UiFavouritesModule\r\n ],\r\n exports: [\r\n ProButtonModule,\r\n ProCbDropdownModule,\r\n UICheckboxModule,\r\n UITextFieldModule,\r\n UIRadioButtonModule,\r\n ProCustomModalModule,\r\n ProSliderModule,\r\n UIDropdownModule,\r\n UILabelModule,\r\n UIDatePickerModule,\r\n UIImgModule,\r\n UIChipModule, \r\n UIPopoverModule,\r\n UIChipModule,\r\n UiadsDisplayModule,\r\n ProgressTrackerModule,\r\n UiSideFabModule,\r\n UiPhPropertyModule,\r\n ReviewRatingModule,\r\n // UicongratulationsPageModule\r\n // DisplayQrPageModule\r\n ReviewRatingDetailsModule,\r\n ProductReviewRatingDetailsModule,\r\n CustomPipeModule,\r\n ImageSanitizer,\r\n SeparatorModule,\r\n AppRefresherModule,\r\n SkeletonsModule,\r\n UifollowModule,\r\n UibookmarkModule,\r\n UiLikesModule,\r\n UiFavouritesModule\r\n ]\r\n})\r\nexport class UiSharedModule { }\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ConnectivityService } from 'src/app/services/connectivity.service';\r\n\r\n@Component({\r\n selector: 'app-refresher',\r\n templateUrl: './app-refresher.component.html',\r\n styleUrls: ['./app-refresher.component.scss'],\r\n})\r\nexport class AppRefresher implements OnInit {\r\n @Output() appRefresh = new EventEmitter();\r\n constructor(public connectivity: ConnectivityService) { }\r\n\r\n ngOnInit() { }\r\n\r\n doRefresh(event) {\r\n this.connectivity.CheckConnectivitySpeed();\r\n this.appRefresh.emit(event);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { AppRefresher } from './app-refresher.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule\r\n ],\r\n declarations: [AppRefresher],\r\n exports: [AppRefresher]\r\n})\r\nexport class AppRefresherModule { }\r\n","export enum ProDataTypes {\r\n Textbox = 1,\r\n Textarea = 2,\r\n CheckBox = 3,\r\n RadioButton = 4,\r\n DropDown = 5,\r\n MultiDropDown = 6,\r\n Image = 7,\r\n Button = 8\r\n}\r\nexport enum ProElementStyle {\r\n PrimaryGradiant = \"icon-btn-grad\",\r\n PrimaryGradiantFull = \"icon-btn-grad-notfull\",\r\n Tab = \"icon-btn-tab\",\r\n TabInActive = \"icon-btn-tab-inactive\",\r\n PrimaryGradiants = \"icon-btn-grads\",\r\n PrimaryGradiantOutlinered = \"icon-btn-grad-outlinered\",\r\n PrimaryGradiantOutlineblue = \"icon-btn-grad-outlineblue\",\r\n SmallBtn = \"icon-btn-grad-small\",\r\n MediumBtn = \"icon-btn-grad-medium\",\r\n TabIconBtn = \"icon-pro-tab\",\r\n InactiveTabIconBtn = \"icon-pro-tab-inactive\",\r\n\r\n}\r\nexport enum ProImageIcon {\r\n PeopleOutLine = \"people-outline\",\r\n CloudUpload = \"cloud-upload\",\r\n Share = \"share-social-outline\",\r\n Back = \"arrow-back\",\r\n Home = \"home\",\r\n Checkmark = \"checkmark\",\r\n Close = \"close-circle\",\r\n CloudUploadOutLine = \"cloud-upload-outline\",\r\n plusCircle = \"add-circle-outline\",\r\n Reward = \"gift\",\r\n CheckmarkCircleOutline = \"checkmark-circle-outline\",\r\n PencilOutline = \"pencil-outline\"\r\n}\r\nexport enum ProElementType {\r\n Default = 0,\r\n Small = 1,\r\n Large = 2,\r\n XtraLarge = 3\r\n}\r\nexport enum UIButtonStyle {\r\n Primary = \"app-primary-btn\",\r\n Secondary = \"app-secondary-btn\",\r\n Tertiary = \"app-tertiary-btn\",\r\n Success = \"app-success-btn\",\r\n Danger = \"app-danger-btn\",\r\n}\r\nexport enum UITextFieldStyle {\r\n Rounded = \"rounded\",\r\n Rounded_Normal = \"rounded_normal\"\r\n}\r\nexport enum UIDropDownStyle {\r\n Rounded = \"rounded\",\r\n Rounded_Incident = \"rounded_incident_border\"\r\n}\r\nexport enum UIDatePickerStyle {\r\n Rounded = \"rounded\"\r\n}\r\nexport enum UIProductStepperStyle {\r\n Horizontal = \"horizontal\",\r\n Vertical = 'verticle',\r\n HorizontalWithImg = 'horizontalWithImg'\r\n}\r\nexport enum UIFontSize { }\r\nexport enum UIFontStyle {\r\n Upper = 'ion-text-uppercase',\r\n Lower = 'ion-text-lowercase',\r\n Capitalize = 'ion-text-capitalize'\r\n}\r\nexport enum UIAlignment {\r\n Left = 'ion-float-left',\r\n Right = 'ion-float-right',\r\n FlexJustifyStart = 'ion-justify-content-start',\r\n FlexJustifyEnd = 'ion-justify-content-end',\r\n FlexJustifyCenter = 'ion-justify-content-center',\r\n FlexJustifyAround = 'ion-justify-content-around',\r\n FlexJustifyBetween = 'ion-justify-content-between',\r\n FlexJustifyEvenly = 'ion-justify-content-evenly',\r\n FlexAlignStart = 'ion-align-items-start',\r\n FlexAlignEnd = 'ion-align-items-end',\r\n FlexAlignCenter = 'ion-align-items-center',\r\n FlexAlignBaseLine = 'ion-align-items-baseline',\r\n FlexAlignStretch = 'ion-align-items-stretch',\r\n FlexAlignNoWrap = 'ion-align-items-nowrap',\r\n FlexAlignWrap = 'ion-align-items-wrap',\r\n FlexAlignWrapReverse = 'ion-align-items-wrap-reverse',\r\n Hide = 'ion-hide',\r\n NoBorder = 'ion-no-border'\r\n}\r\nexport enum UITextAlignment {\r\n Left = 'ion-text-left',\r\n Right = 'ion-text-right',\r\n Center = 'ion-text-center',\r\n Justify = 'ion-text-justify',\r\n Wrap = 'ion-text-wrap',\r\n NoWrap = 'ion-text-nowrap'\r\n}\r\nexport enum UITextColor {\r\n Black = \"#000\",\r\n Red = \"danger\"\r\n}\r\nexport enum UIDatatypes {\r\n Label = 1,\r\n TextField = 2,\r\n TextArea = 3,\r\n Button = 4,\r\n RadioButton = 5,\r\n Checkbox = 6,\r\n Grid = 7,\r\n ListView = 8,\r\n SegmentedControl = 9,\r\n Dropdown = 10,\r\n CBDropdown = 11,\r\n MultiOptionCB = 12,\r\n RangeSlider = 13,\r\n NegetiveCBDropdown = 14,\r\n CBTextField = 15,\r\n NegetiveCBTextField = 16,\r\n CBDropdownPopUp = 17,\r\n DropdownPopUp = 18,\r\n RangeSliderNoCB = 19,\r\n AddMemberTF = 20,\r\n AddvehicleTF = 21,\r\n DatePicker = 22,\r\n LabelWithRightImages = 23,\r\n OverlayDropdown = 24,\r\n TextFieldwithUserIcon = 25,\r\n Image = 26,\r\n LabelWithOutBorder = 27,\r\n borderBottomlineTextfield = 28,\r\n SearchWithRighttext = 30,\r\n ProductStepper = 31,\r\n currencyMaskTextField = 32,\r\n ProgressTracker = 33,\r\n FacilitiesTF = 34,\r\n Separator = 40,\r\n ParagraphListView = 41\r\n}\r\nexport enum UIAction {\r\n None = 0,\r\n Add = 1,\r\n Update = 2,\r\n Delete = 3,\r\n View = 4,\r\n Modal = 5,\r\n Clear = 6,\r\n ItemClick = 7,\r\n Scan = 8,\r\n Showhide = 9,\r\n Save = 13,\r\n Previous = 10,\r\n Next = 11,\r\n Dismiss = 12,\r\n}\r\nexport enum UIUnits {\r\n Currency = 1,\r\n Area = 2\r\n}\r\n\r\nexport enum FormStyles {\r\n Horizontal = 'horizontal',\r\n Vertical = 'vertical',\r\n Bullet = 'bullet',\r\n Number = 'number',\r\n None = 'none',\r\n ListBox = 'list-box',\r\n Round = \"round\",\r\n Rounded = \"rounded\",\r\n Left = \"left\",\r\n Right = \"right\"\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProElementType } from '../enums';\r\nimport { UIControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'pro-button',\r\n templateUrl: './pro-button.component.html',\r\n styleUrls: ['./pro-button.component.scss'],\r\n})\r\nexport class ProButtonComponent implements OnInit { \r\n @Input('btn_control')btnControl:UIControl;\r\n @Input('id')id =\"pl_area_save_btn\";\r\n @Input('btn_control_new')btn_control_new:UIControl\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n ProElementType=ProElementType\r\n constructor() { }\r\n ngOnInit() {}\r\n onBtnEvent() {\r\n this.eventHandlerEmitter.emit(this.btnControl)\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProButtonComponent } from './pro-button.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\n@NgModule({\r\n declarations: [ProButtonComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule,\r\n ],\r\n exports:[ProButtonComponent]\r\n})\r\nexport class ProButtonModule { }\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AlertController, ModalController } from '@ionic/angular';\r\nimport { DisplayColDropdownPage } from 'src/app/reusables/display-col-dropdown/display-col-dropdown.page';\r\nimport { SelectResidentsTypeDropDownPage } from 'src/app/select-residents-type-drop-down/select-residents-type-drop-down.page';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ProCustomModalComponent } from '../pro-custom-modal/pro-custom-modal.component';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: \"app-pro-cb-dropdown\",\r\n templateUrl: \"./pro-cb-dropdown.component.html\",\r\n styleUrls: [\"./pro-cb-dropdown.component.scss\"],\r\n})\r\nexport class ProCbDropdownComponent implements OnInit {\r\n @Input(\"cb_model\") cb_model: UINewControl;\r\n @Input(\"cb_value\") cb_value: any;\r\n @Input(\"cb_name\") cb_name: any;\r\n // selected_states = {}\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor(\r\n private cd: ChangeDetectorRef,\r\n private modalController: ModalController,\r\n private alertController:AlertController,\r\n private alertHandeler:AlertHandlerService\r\n ) {}\r\n\r\n ngOnInit() {}\r\n ngOnChanges() {\r\n setTimeout(() => {\r\n this.cd.detectChanges();\r\n }, 1000);\r\n // console.log(this.cb_model)\r\n // const elementPostKey = this.cb_model['elementFormPostKey'] + \"_CBD\";\r\n // this.cb_model['elementCBDVal'] = this.cb_model['postParams'][elementPostKey] || this.cb_model['elementCBDVal'] || 0;\r\n }\r\n\r\n async openPopUp() {\r\n await this.alertHandeler.presentLoading()\r\n this.alertController.dismiss();\r\n let comp: any = SelectResidentsTypeDropDownPage;\r\n var dataParams = {};\r\n if (this.cb_model[\"elementFormPostKey\"].toLocaleLowerCase() == \"state\") {\r\n comp = DisplayColDropdownPage;\r\n dataParams = {\r\n displayUsables: {\r\n display_arr: this.cb_model.elementDataArr,\r\n display_key: \"Name\",\r\n value_key: \"Name\",\r\n base_label:'',\r\n title:'State',\r\n default_label:this.cb_model['elementDataDefault'],\r\n selected_value:this.cb_model.elementSelectedVal\r\n },\r\n modalTag: \"Name\",\r\n selectedItems: [],\r\n isFromModal: true,\r\n };\r\n } else if (this.cb_model[\"elementFormPostKey\"].toLocaleLowerCase().replace('_','') == \"propertytype\") {\r\n comp = SelectResidentsTypeDropDownPage;\r\n dataParams = {\r\n allResidents: this.cb_model.elementDataObj,\r\n modalTag: \"PropertyTypeName\",\r\n selectedItems: [],\r\n data:{selected_value:this.cb_model.elementSelectedVal,base_label:this.cb_model['elementDataDefault'],param_key: '', router_selector: '' },\r\n isFromModal: true,\r\n };\r\n } else {\r\n comp = ProCustomModalComponent;\r\n dataParams = {\r\n items:this.cb_model.elementDataArr,\r\n selectedItems: this.cb_model.elementSelectedValues,\r\n modalTitle: this.cb_model.elementText,\r\n titleKey: this.cb_model.elementDataKey,\r\n modalTag: this.cb_model.elementDataValKey,\r\n filterValKey: this.cb_model.elementDataValKey,\r\n defaultLabel:this.cb_model['elementDataDefault'],\r\n isMutiSelect: false,\r\n searchType:1\r\n };\r\n }\r\n const modal = await this.modalController.create({\r\n component: comp,\r\n componentProps: {\r\n ...dataParams\r\n },\r\n });\r\n await this.alertHandeler.dismissLoading();\r\n modal.onDidDismiss().then((data) => {\r\n var selectedData = data[\"data\"] || {};\r\n if (selectedData[\"tag\"]) {\r\n if(this.cb_model[\"elementFormPostKey\"].toLocaleLowerCase() == \"state\" || this.cb_model[\"elementFormPostKey\"].toLocaleLowerCase().replace('_','') == \"propertytype\"){\r\n this.cb_model[\"elementSelectedVal\"] =selectedData[\"selectedItems\"][selectedData[\"tag\"]] || '';\r\n this.cb_model[\"elementSelectedValues\"]=Object.keys(selectedData[\"selectedItems\"] || {})?[selectedData[\"selectedItems\"]]:[]\r\n } else {\r\n this.cb_model[\"elementSelectedVal\"] =(selectedData['selectedItems'][0] || {})[selectedData[\"tag\"]] || '';\r\n this.cb_model[\"elementSelectedValues\"]=selectedData['selectedItems']\r\n }\r\n this.eventHandlerEmitter.emit(this.cb_model);\r\n // this.cb_model[selectedData['tag']] = selectedData['selectedItems'];\r\n }\r\n });\r\n return await modal.present();\r\n }\r\n\r\n\r\n onChangeEvent(itemVal = -1) {\r\n if (this.cb_model[\"elementDataType\"] == 7) {\r\n var val = itemVal;\r\n if (this.cb_model.elementCBDVal == 0) {\r\n this.cb_model.elementCBDVal = {};\r\n }\r\n var cbVal =\r\n this.cb_model.elementCBDVal[itemVal] > 0\r\n ? this.cb_model.elementCBDVal[itemVal] == 1\r\n ? 2\r\n : 0\r\n : 1;\r\n var postParams = this.cb_model[\"postParams\"];\r\n var elementFormPostKey = this.cb_model[\"elementFormPostKey\"] || \"\";\r\n var selectedValues = this.cb_model[\"elementSelectedValues\"] || [];\r\n if (postParams.hasOwnProperty(elementFormPostKey)) {\r\n selectedValues = postParams[elementFormPostKey] || [];\r\n }\r\n var isChecked =\r\n selectedValues.filter((f) => f == val).length > 0 ? false : true;\r\n if (isChecked) {\r\n selectedValues.push(val);\r\n selectedValues = Array.from(new Set(selectedValues));\r\n } else {\r\n selectedValues = selectedValues.filter((f) => f != val);\r\n }\r\n this.cb_model.elementCBDVal[itemVal] = cbVal;\r\n this.cb_model.elementSelectedValues = selectedValues;\r\n this.eventHandlerEmitter.emit(this.cb_model);\r\n } else {\r\n var val =\r\n this.cb_model[\"elementCBDVal\"] > 0\r\n ? this.cb_model[\"elementCBDVal\"] == 1\r\n ? 2\r\n : 0\r\n : 1;\r\n this.cb_model.elementCBDVal = val;\r\n this.eventHandlerEmitter.emit(this.cb_model);\r\n }\r\n this.cd.detectChanges();\r\n }\r\n onSelectChange(e) {\r\n var val = e.target.value;\r\n this.cb_model[\"elementSelectedVal\"] = val\r\n this.eventHandlerEmitter.emit(this.cb_model);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProCbDropdownComponent } from './pro-cb-dropdown.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ProCbDropdownComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule,\r\n ],\r\n exports:[ProCbDropdownComponent]\r\n})\r\nexport class ProCbDropdownModule { }\r\n","import { Component, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { Ng2SearchPipe } from 'ng2-search-filter';\r\nimport { AgentProfilev2Page } from 'src/app/agent-profilev2/agent-profilev2.page';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataFetcherService } from 'src/app/services/data-fetcher/data-fetcher.service';\r\nimport { AdmobService } from 'src/app/services/middleware/admob-service';\r\nimport { AppHelper } from 'src/app/services/middleware/app-helper';\r\nimport { ProDataTypes, ProElementStyle, UIAction } from '../enums';\r\nimport { UIControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-pro-custom-modal',\r\n templateUrl: './pro-custom-modal.component.html',\r\n styleUrls: ['./pro-custom-modal.component.scss'],\r\n})\r\nexport class ProCustomModalComponent implements OnInit {\r\n typeOfSelect: string = \"\"\r\n assetUrl:string=\"\"\r\n serviceImg:boolean=true\r\n items: any = []\r\n selectedItems = []\r\n modalTitle: string = \"\"\r\n modalTag: string = \"\"\r\n imageIconKey: string = \"\"\r\n titleKey: string = \"\"\r\n subTitleKey: string = \"\"\r\n filterValKey: string = \"\"\r\n customFilterValKey: string = \"\"\r\n maxLimit: number = 0\r\n isMutiSelect: boolean = false;\r\n confirmationMsg: string = \"\"\r\n action: number = UIAction.Add\r\n saveBtnModel: UIControl = new UIControl(ProDataTypes.Button, 1, \"Save\")\r\n postUrl: String = ''\r\n postParams = {}\r\n hasPagination: boolean = false\r\n filterTerm: string = ''\r\n postParamFilterKey: string = \"\"\r\n searchType: number = 0\r\n hasCustomSelection: boolean = false\r\n defaultImgURL = 'assets/avatar.png'\r\n customItem: string = ''\r\n isCustomItemSelected: boolean = false\r\n viewIcon = ''\r\n viewModel = ''\r\n showBannerAd=false\r\n tempItems = []\r\n defaultLabel = ''\r\n constructor(\r\n private modalCtrl: ModalController,\r\n private alertHandler: AlertHandlerService,\r\n private __http: DataFetcherService,\r\n private modalController: ModalController,\r\n private helper:AppHelper,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.tempItems = this.items\r\n if (this.typeOfSelect != \"\") {\r\n this.saveBtnModel =new UIControl(ProDataTypes.Button, 1, this.typeOfSelect)\r\n }\r\n\r\n if (this.postUrl.length > 0) {\r\n this.getItems()\r\n } else {\r\n this.setSelectedItems()\r\n }\r\n this.saveBtnModel.elementStyle = ProElementStyle.PrimaryGradiant;\r\n AdmobService.hideBanner()\r\n if(this.showBannerAd){\r\n AdmobService.showBanner(this.helper.getPlatformInstance())\r\n }\r\n\r\n }\r\n\r\n onFilterTermChange() {\r\n if (this.searchType == 1) {\r\n if (this.hasCustomSelection) {\r\n const filterPipe = new Ng2SearchPipe();\r\n const filteredArr = filterPipe.transform(this.items, this.filterTerm);\r\n if (filteredArr.length == 0) {\r\n this.customItem = this.filterTerm;\r\n } else {\r\n this.isCustomItemSelected = false\r\n this.customItem = ''\r\n }\r\n }\r\n } else if (this.searchType == 2) {\r\n this.postParams[this.postParamFilterKey] = this.filterTerm\r\n this.getItems()\r\n } else if(this.searchType==3){\r\n this.items = this.tempItems\r\n this.items = this.items.filter(i=>(i[this.titleKey].toLowerCase()).startsWith((this.filterTerm).toLowerCase()))\r\n }\r\n }\r\n\r\n async getItems(event = null) {\r\n if (event == null) {\r\n if (this.filterTerm.length == 0) {\r\n await this.alertHandler.presentLoading();\r\n }\r\n if (this.hasPagination) {\r\n this.postParams['PageNumber'] = 1\r\n }\r\n } else {\r\n this.postParams['PageNumber']++\r\n }\r\n this.__http.doPost(this.postUrl, this.postParams).subscribe(res => {\r\n const status = res['status'] || false\r\n if (status) {\r\n if (event == null) {\r\n if (this.filterTerm.length == 0) {\r\n console.log('hii')\r\n this.alertHandler.dismissLoading()\r\n }\r\n this.items = res['data']\r\n } else {\r\n this.items = [...this.items, ...res['data']]\r\n event.target.complete()\r\n }\r\n this.setSelectedItems()\r\n } else {\r\n this.alertHandler.presenToast(ApiService.ERROR_TOAST_MSG)\r\n if (event == null) {\r\n if (this.filterTerm.length == 0) {\r\n this.alertHandler.dismissLoading()\r\n }\r\n if (this.hasPagination) {\r\n this.postParams['PageNumber']--\r\n }\r\n } else {\r\n this.postParams['PageNumber']--\r\n event.target.complete()\r\n }\r\n }\r\n }, err => {\r\n this.alertHandler.presenToast(ApiService.ERROR_TOAST_MSG)\r\n if (event == null) {\r\n if (this.filterTerm.length == 0) {\r\n this.alertHandler.dismissLoading()\r\n }\r\n if (this.hasPagination) {\r\n this.postParams['PageNumber']--\r\n }\r\n } else {\r\n this.postParams['PageNumber']--\r\n event.target.complete()\r\n }\r\n })\r\n }\r\n\r\n setSelectedItems() {\r\n this.items.map(m => {\r\n var val = m[this.filterValKey] || m[this.customFilterValKey]\r\n var filterItems = this.selectedItems.filter(f => f[this.filterValKey] == val);\r\n m['isChecked'] = false\r\n if (filterItems.length > 0) {\r\n m['isChecked'] = true\r\n }\r\n })\r\n }\r\n onElementEventChange(event) {\r\n const tag = event['elementTag'] || 0\r\n if (tag == 1) {\r\n this.selectedItems = this.items.filter(f => f['isChecked']);\r\n if (this.defaultLabel.length==0 && this.selectedItems.length == 0 && (!this.hasCustomSelection || !this.isCustomItemSelected || this.customItem.length == 0)) {\r\n this.alertHandler.presentAlert(\"Please select At Least one record\")\r\n return\r\n }\r\n var data = { \"selectedItems\": this.selectedItems, \"tag\": this.modalTag }\r\n if (this.hasCustomSelection && this.isCustomItemSelected && this.customItem.length > 0) {\r\n data[\"customSelection\"] = this.customItem\r\n }\r\n this.helper.validateBannerAdsDisplay()\r\n this.modalCtrl.dismiss(data);\r\n }\r\n }\r\n onItemClick(item) {\r\n if((item || '').length==0){\r\n this.items.map((m) => {\r\n m['isChecked'] = false\r\n })\r\n return\r\n }\r\n if (item['isChecked']) {\r\n item['isChecked'] = false\r\n } else {\r\n item['isChecked'] = true\r\n }\r\n if (!this.isMutiSelect) {\r\n this.items.map((m) => {\r\n if (item[this.filterValKey] != m[this.filterValKey])\r\n m['isChecked'] = false\r\n })\r\n } else if (this.isMutiSelect && this.maxLimit > 0) {\r\n var selectedItems = this.items.filter(f => f['isChecked']);\r\n if (selectedItems.length > this.maxLimit) {\r\n if (item['isChecked']) item['isChecked'] = false\r\n this.alertHandler.presentAlert(\"You can't select more than \" + this.maxLimit + \" records\");\r\n return\r\n }\r\n }\r\n if (this.action == UIAction.ItemClick && item['isChecked']) {\r\n this.alertHandler.confirmationAlert(this.confirmationMsg, () => {\r\n }, () => {\r\n item['isChecked'] = false\r\n });\r\n }\r\n }\r\n\r\n onCustomItemClick() {\r\n this.isCustomItemSelected = !this.isCustomItemSelected\r\n }\r\n\r\n dismiss() {\r\n this.selectedItems = [];\r\n this.helper.validateBannerAdsDisplay()\r\n this.modalCtrl.dismiss({});\r\n }\r\n\r\n onViewIconClick(obj) {\r\n if (this.viewModel == 'Agent') {\r\n this.presentModal(AgentProfilev2Page, {\r\n details_params: { AgentID: obj['AgentID'], PID: \"\" },\r\n isModel: true\r\n })\r\n }\r\n }\r\n\r\n async presentModal(Model, componentProps) {\r\n const modal = await this.modalController.create({\r\n component: Model,\r\n componentProps: componentProps\r\n });\r\n return await modal.present();\r\n }\r\n\r\n isItemsSelected(){\r\n return this.items.filter(f=>f['isChecked']).length>0\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProCustomModalComponent } from './pro-custom-modal.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { ProButtonModule } from '../pro-button/pro-button.module';\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ProCustomModalComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule,\r\n ProButtonModule,\r\n Ng2SearchPipeModule\r\n ],\r\n exports:[ProCustomModalComponent]\r\n})\r\nexport class ProCustomModalModule { }\r\n","import { Component, OnInit, Output,Input,EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { ProElementType, UIUnits } from '../enums';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-pro-slider',\r\n templateUrl: './pro-slider.component.html',\r\n styleUrls: ['./pro-slider.component.scss'],\r\n})\r\nexport class ProSliderComponent implements OnInit {\r\n @Input('slider_control') SliderControl:UINewControl;\r\n stepVal = 10\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n ProElementType=ProElementType\r\n\r\n constructor(private cd: ChangeDetectorRef) { }\r\n\r\n ngOnInit() {}\r\n onSliderValChange(event) {\r\n var val=event['detail']['value']\r\n if(val['lower']>10 && val['lower']<=100){\r\n this.stepVal = 10\r\n } \r\n if(val['lower']>100 && val['lower']<=1000){\r\n if(val['lower']>100 && val['lower'] < 200){\r\n val['lower'] = 200\r\n }\r\n this.stepVal = 100\r\n } \r\n if(val['lower']>1000 && val['lower']<=10000){\r\n if(val['lower']>1000 && val['lower'] < 2000){\r\n val['lower'] = 2000\r\n }\r\n this.stepVal = 1000\r\n }\r\n if(val['lower']>10000){\r\n this.stepVal = 10000\r\n }\r\n // this.SliderControl.selectedMin=val['lower'] + 100\r\n\r\n this.SliderControl.selectedMin=val['lower']\r\n this.SliderControl.selectedMax=val['upper']\r\n this.cd.detectChanges()\r\n this.eventHandlerEmitter.emit(this.SliderControl)\r\n }\r\n\r\n onChangeEvent(){\r\n var val = this.SliderControl['elementCBDVal'] > 0 ? (this.SliderControl['elementCBDVal'] == 1 ? 2 : 0) : 1\r\n this.SliderControl.elementCBDVal = val\r\n this.eventHandlerEmitter.emit(this.SliderControl);\r\n this.cd.detectChanges()\r\n }\r\n\r\n getRangeSelected(){\r\n if(this.SliderControl.UOM==UIUnits.Currency){\r\n return ((this.SliderControl['selectedMin']==this.SliderControl['defaultMin']?'Min':(this.SliderControl['selectedMin']>=1000000?(this.SliderControl['selectedMin']/1000000)+'M':(this.SliderControl['selectedMin']>=1000?(this.SliderControl['selectedMin']/1000)+'K':this.SliderControl['selectedMin']))) +' - '+ (this.SliderControl['selectedMax']==this.SliderControl['defaultMax']?'Max':this.SliderControl['selectedMax']>=1000000?(this.SliderControl['selectedMax']/1000000)+'M':(this.SliderControl['selectedMax']>=1000?(this.SliderControl['selectedMax']/1000)+'K':this.SliderControl['selectedMax'])))\r\n } else if(this.SliderControl.UOM==UIUnits.Area){\r\n return ((this.SliderControl['selectedMin']==this.SliderControl['defaultMin']?'Min':(this.SliderControl['selectedMin']>43560?(this.SliderControl['selectedMin']/43560)+' Acres':this.SliderControl['selectedMin']+' sq. ft.'))) +' - '+ (this.SliderControl['selectedMax']==this.SliderControl['defaultMax']?'Max':this.SliderControl['selectedMax']>43560?(this.SliderControl['selectedMax']/43560)+' Acres':this.SliderControl['selectedMax']+' sq. ft.')\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ProSliderComponent } from './pro-slider.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ProSliderComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports: [ProSliderComponent]\r\n})\r\nexport class ProSliderModule { }\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PreviewAnyFile } from '@ionic-native/preview-any-file/ngx';\r\nimport { ActionSheetController, LoadingController, ModalController, NavController } from '@ionic/angular';\r\nimport { PmPopoverComponent } from 'src/app/premium-merchant/pm-promoter/pm-popover/pm-popover.component';\r\nimport { PhotoViewerPage } from 'src/app/reusables/photo-viewer/photo-viewer.page';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiFetcherService } from 'src/app/services/api-fetcher.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { LanguageService } from 'src/app/services/language.service';\r\nimport { OpenFileUtilService } from 'src/app/services/open-file-util.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\n\r\n@Component({\r\n selector: 'app-product-review-rating-details',\r\n templateUrl: './product-review-rating-details.component.html',\r\n styleUrls: ['./product-review-rating-details.component.scss'],\r\n})\r\nexport class ProductReviewRatingDetailsComponent implements OnInit {\r\n\r\n @Input() ObjectType: string = '';\r\n @Input() ObjectID: string = '';\r\n @Input() ImageUrl: string = '';\r\n @Input() ProductName: string = '';\r\n @Input() product_review_rating_data: any = {}\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @Input() UnitPrice: number = 0;\r\n @Input() ParentObjectID: string = '';\r\n @Input() product_ratings_details = {};\r\n @Input() is_popup=0\r\n docs = { document_path: '', submitted: false, Type: 'img' }\r\n Language = 'en'\r\n remarkTagIds = []\r\n user_ratings_details = []\r\n array = [1, 2, 3, 4, 5];\r\n tagReasons = []\r\n params = {\r\n // 'creator_user_id': '',\r\n 'rating': 5, 'comments': '', 'object_type': '', 'object_id': '', 'like_status': 's', 'user_id': 0, 'review_rating_tag_ids': [], 'parent_object_id': ''\r\n }\r\n reviewAndRating: any = {\r\n 'Images': []\r\n }\r\n // imageType:number= 1\r\n countMaxAllowed: number = 1;\r\n imagesCount;\r\n maxNoofImagesAllowed;\r\n isVisible: boolean = false\r\n skeleton_load: boolean = true;\r\n is_expand_rnr: boolean = false;\r\n constructor(\r\n private apiFetcher: ApiFetcherService,\r\n private storage: StorageService,\r\n private languageService: LanguageService,\r\n private alerthandler: AlertHandlerService,\r\n public apiService: ApiService,\r\n public navCtrl: NavController,\r\n private openFileService: OpenFileUtilService,\r\n private ref: ChangeDetectorRef,\r\n private loadingController: LoadingController,\r\n private actionSheet: ActionSheetController,\r\n private openImage: PreviewAnyFile,\r\n private modalController: ModalController\r\n ) {\r\n this.Language = this.languageService.selected || 'en';\r\n }\r\n\r\n ngOnInit() {\r\n this.getReviewRatingTagsCount()\r\n this.viewProductReviewsAndRatings()\r\n var gbl = this;\r\n setTimeout(() => {\r\n console.log(this.product_ratings_details)\r\n }, 2000);\r\n }\r\n\r\n ratingClick(val: number, index) {\r\n if (this.params['rating'] == val) {\r\n this.params['rating'] = 0;\r\n } else {\r\n this.params['rating'] = val;\r\n }\r\n }\r\n\r\n onTagSelected(item) {\r\n if (this.remarkTagIds.includes(item['id'])) {\r\n this.remarkTagIds = this.remarkTagIds.filter(f => f != item['id']);\r\n } else {\r\n this.remarkTagIds.push(item['id'])\r\n }\r\n }\r\n\r\n getReviewRatingTagsCount() {\r\n var params_tags_count = {\r\n 'language': this.Language,\r\n 'review_rating_type': this.ObjectType,\r\n }\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_HASHTAGS, params_tags_count).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.tagReasons = res['data']\r\n } else {\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }), (error) => {\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n\r\n async onSaveProductReviewRatingClick(obj) {\r\n this.params['object_id'] = this.ObjectID;\r\n this.params['object_type'] = this.ObjectType;\r\n this.params['parent_object_id'] = this.ParentObjectID\r\n this.storage.getString('Proppy_UserID', async (id) => {\r\n this.params['creator_user_id'] = id;\r\n this.params['review_rating_tag_ids'] = this.remarkTagIds\r\n\r\n await this.alerthandler.presentLoading('Adding Review..')\r\n this.apiFetcher.doPost(ApiService.ADD_REVIEW_RATING, this.params).subscribe(async (res) => {\r\n this.alerthandler.dismissLoading()\r\n const status = res['status'] || false\r\n if (status) {\r\n // if (obj['document_path'] && !obj['submitted']) {\r\n // this.doFileUpload(obj)\r\n // }\r\n this.alerthandler.presenToast('Review Rating Submitted Successfully.');\r\n if (this.reviewAndRating['Images'].length > 0) {\r\n this.reviewAndRating['Images'].map((a, i) => {\r\n a['postParams'] = ''\r\n let params = new URLSearchParams();\r\n // params.set('ObjectType', this.ObjectType)\r\n // params.set('ObjectID', this.ObjectID)\r\n // params.set('ParentObjectID', this.ParentObjectID)\r\n // params.set(\"VisitID\",'VI221128211658410OF');\r\n // params.set(\"num\",this.reviewAndRating['imageType'][i].toString());\r\n // if (a['MediaText']) {\r\n // params.set(\"mediaText\", JSON.stringify(a['MediaText']));\r\n // }\r\n params.set('ReviewRatingID', res['id'])\r\n params.set('ObjectID', this.ObjectID)\r\n params.set('CreatedBy', id)\r\n a['url'] = ApiService.REVIEW_RATING_IMAGE_UPLOAD_V2 + \"?\" + params.toString();\r\n })\r\n let params = {\r\n filesArr: this.reviewAndRating['Images']\r\n }\r\n await this.alerthandler.presentLoading('Uploading image...');\r\n this.openFileService.doFilesUpload(params, (result) => {\r\n if (result['status']) {\r\n this.viewProductReviewsAndRatings()\r\n this.alerthandler.presenToast('Uploaded Images Successfully.')\r\n this.alerthandler.dismissLoading();\r\n this.ref.detectChanges();\r\n } else {\r\n this.viewProductReviewsAndRatings()\r\n this.alerthandler.presenToast(result['msg'] || 'Uploaded Images Failed.')\r\n this.alerthandler.dismissLoading();\r\n this.ref.detectChanges();\r\n }\r\n }, 'file', 0)\r\n } else {\r\n this.viewProductReviewsAndRatings()\r\n }\r\n this.ref.detectChanges()\r\n } else {\r\n this.alerthandler.dismissLoading()\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }, err => {\r\n this.alerthandler.dismissLoading()\r\n this.alerthandler.presenToast(err['error'] || ApiService.ERROR_TOAST_MSG);\r\n });\r\n })\r\n }\r\n\r\n viewProductReviewsAndRatings() {\r\n this.skeleton_load = true;\r\n this.params['object_id'] = this.ObjectID;\r\n this.params['object_type'] = this.ObjectType;\r\n this.params['parent_object_id'] = this.ParentObjectID\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_DETAILS, this.params).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n // if ((res['data'] || []).length > 0) {\r\n this.product_ratings_details = res['data'][0] || {};\r\n this.eventHandlerEmitter.emit('success')\r\n this.ref.detectChanges()\r\n console.log(this.product_ratings_details, \"???\");\r\n // }\r\n this.skeleton_load = false\r\n } else {\r\n this.skeleton_load = false\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n this.isVisible = true\r\n }), (error) => {\r\n this.isVisible = true\r\n this.skeleton_load = false\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n\r\n openFile(obj) {\r\n console.log(obj, 'open');\r\n var curObj = this\r\n this.openFileService.open(data => {\r\n obj['Type'] = data['doc_type'] || ''\r\n obj['doc_name'] = data['doc_name']\r\n obj['document_path'] = data['document_path']\r\n curObj.ref.detectChanges()\r\n })\r\n obj['submitted'] = false\r\n }\r\n\r\n async pickImage() {\r\n const actionSheet = await this.actionSheet.create({\r\n header: 'Select Image Source',\r\n buttons: [\r\n {\r\n text: 'Camera',\r\n handler: () => {\r\n this.openFileService.openImage(1, (result) => {\r\n if (result) {\r\n const tmpArr = [...this.reviewAndRating['Images'], ...result]\r\n if (tmpArr.length > 5) {\r\n this.alerthandler.presenToast(\"Can't upload more than 5 images.\")\r\n } else {\r\n this.reviewAndRating['Images'] = [...this.reviewAndRating['Images'], ...result]\r\n }\r\n this.ref.detectChanges();\r\n }\r\n }, 1);\r\n }\r\n },\r\n {\r\n text: 'Gallery',\r\n handler: () => {\r\n this.openFileService.openImage(2, (result) => {\r\n if (result) {\r\n const tmpArr = [...this.reviewAndRating['Images'], ...result]\r\n if (tmpArr.length > 5) {\r\n this.alerthandler.presenToast(\"Can't upload more than 5 images.\")\r\n } else {\r\n this.reviewAndRating['Images'] = [...this.reviewAndRating['Images'], ...result]\r\n }\r\n this.ref.detectChanges();\r\n }\r\n }, 5);\r\n }\r\n },\r\n {\r\n text: 'Cancel',\r\n role: 'cancel'\r\n }]\r\n })\r\n await actionSheet.present();\r\n }\r\n // preViewImage(images, index, type) {\r\n // if (type == 'local') {\r\n // this.alerthandler.presentConfirmationAlertWithCustomButtons('Confirm!', 'Please Select an Action Below.', ['Delete', 'Show'], (alert, type) => {\r\n\r\n // )} else if (type == 'service') {\r\n // this.openImage.preview(images)\r\n // }\r\n // }\r\n // if (type == 'local') {\r\n // AlertService.presentAlertConfirm('Confirm!', 'Please Select an Action Below.', ['Delete', 'Show'], (alert, type) => {\r\n // if (type == 1) {\r\n // this.checkIn_Out['Images'].splice(index, 1)\r\n // } else if (type == 2) {\r\n // this.openImage.preview(images['document_path'])\r\n // }\r\n // alert.dismiss()\r\n // })\r\n // } else if (type == 'service') {\r\n // this.openImage.preview(images)\r\n // }\r\n\r\n\r\n preViewImage(images, index, type) {\r\n if (type == 'local') {\r\n // this.alerthandler.presentConfirmationAlertWithCustomButtons('Please Select an Action Below.', [{\r\n // text: 'Delete', handler: () => {\r\n // this.reviewAndRating['Images'].splice(index, 1)\r\n // }\r\n // }, {\r\n // text: 'Show', handler: () => {\r\n // this.openImage.preview(images['document_path'])\r\n // }\r\n // }\r\n // ])\r\n // this.alerthandler.dismissLoading();\r\n this.showImgs(index, 1)\r\n } else if (type == 'service') {\r\n this.openImage.preview(images)\r\n }\r\n }\r\n\r\n async showImgs(index, type) {\r\n let imgs = [];\r\n if (type == 1) {\r\n this.reviewAndRating['Images'].map(img => { imgs.push(img['doc_web_path']) });\r\n } else if (type == 2) {\r\n this.product_ratings_details['image_info'].map(img => { imgs.push(img['image_url']) });\r\n }\r\n const modal = await this.modalController.create({\r\n component: PhotoViewerPage,\r\n componentProps: {\r\n imgs: imgs,\r\n selectedPos: index,\r\n },\r\n presentingElement: await this.modalController.getTop(),\r\n });\r\n await modal.present();\r\n await modal\r\n .onWillDismiss()\r\n .then((result) => { })\r\n .catch((err) => { });\r\n }\r\n async doFileUpload(obj) {\r\n console.log(obj, \"dofile\");\r\n var params = new URLSearchParams()\r\n params.set('ObjectType', this.ObjectType)\r\n params.set('ObjectID', this.ObjectID)\r\n params.set('ParentObjectID', this.ParentObjectID)\r\n const loading = await this.loadingController.create({\r\n message: 'Uploading In Progress...',\r\n });\r\n await loading.present();\r\n this.openFileService.onFileUpload(obj, {}, ApiService.REVIEW_RATING_IMAGE_UPLOAD + '?' + params.toString(), (err, result) => {\r\n if (err) {\r\n loading.dismiss(this.alerthandler.presenToast(err['error'] || ApiService.ERROR_TOAST_MSG));\r\n } else {\r\n obj['submitted'] = true\r\n this.ref.detectChanges()\r\n loading.dismiss(this.alerthandler.presenToast(\"File Uploaded Successfully.\"));\r\n this.viewProductReviewsAndRatings()\r\n }\r\n })\r\n }\r\n removeDoc(doc) {\r\n console.log(doc);\r\n this.alerthandler.confirmationAlert('Confirm To Delete?', () => {\r\n doc['document_path'] = ''\r\n this.alerthandler.presenToast('Deleted Sucessfully')\r\n }, () => { });\r\n }\r\n onExpandClick(action: string) {\r\n this.is_expand_rnr = !this.is_expand_rnr\r\n // this.product_review_rating_data['actionEvent'] = action;\r\n // this.eventHandlerEmitter.emit(this.product_review_rating_data);\r\n }\r\n restrictCharacters() {\r\n if (this.params['comments'].length >= 1500) {\r\n setTimeout(() => {\r\n this.params['comments'] = this.params['comments'].trim().substring(0, 1500);\r\n }, 100)\r\n this.alerthandler.presenToast(\"Comment Maximum Limit Reached\")\r\n }\r\n this.ref.detectChanges();\r\n }\r\n\r\n async onPopover(docs:any) {\r\n if (!this.params['rating'] && this.params['rating'] == 0) {\r\n this.alerthandler.presenToast('Please Rate The Product.');\r\n return false\r\n }\r\n if (!this.params['review_rating_tag_ids'] && this.params['review_rating_tag_ids'].length == 0) {\r\n this.alerthandler.presenToast('Please select Rating Tags.');\r\n return false\r\n }\r\n\r\n if(this.params['comments'].length>0 || this.is_popup==0){\r\n this.onSaveProductReviewRatingClick(docs);\r\n return\r\n }\r\n const modal = await this.modalController.create({\r\n component: PmPopoverComponent,\r\n cssClass: 'req_accept_popover',\r\n componentProps: {\r\n \"display_type\": 8,\r\n 'is_cross_icon':true,\r\n 'header_txt':'Review & Rating',\r\n 'description':`Are you sure you want to give a rating with no review? It would help the merchant if you left a review`,\r\n 'icon':'assets/uiV3/icon/premiummerchant/start_icon.png'\r\n }\r\n });\r\n await modal.present();\r\n await modal\r\n .onWillDismiss()\r\n .then((result) => {\r\n let val=result['data'] || 0; \r\n console.log(val,'val');\r\n if(val==2){\r\n this.onSaveProductReviewRatingClick(docs);\r\n }\r\n })\r\n .catch((err) => { });\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { UIImgModule } from '../uiimg/uiimg.module';\r\nimport { UILabelModule } from '../uilabel/uilabel.module';\r\nimport { ProductReviewRatingDetailsComponent } from './product-review-rating-details.component';\r\nimport { ReviewRatingModule } from '../review-rating/review-rating.module';\r\nimport { CustomPipeModule } from '../utils/custom-pipe/custom-pipe.module';\r\nimport { SkeletonsModule } from '../skeletons/skeletons.module';\r\nimport { PmPopoverModule } from 'src/app/premium-merchant/pm-promoter/pm-popover/pm-popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ProductReviewRatingDetailsComponent,],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n UIImgModule,\r\n UILabelModule,\r\n ReviewRatingModule,\r\n CustomPipeModule,\r\n SkeletonsModule,\r\n PmPopoverModule\r\n ],\r\n exports: [\r\n ProductReviewRatingDetailsComponent\r\n ]\r\n})\r\nexport class ProductReviewRatingDetailsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ModalController, NavController } from '@ionic/angular';\r\nimport { UIAction } from '../enums';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-progress-tracker',\r\n templateUrl: './progress-tracker.component.html',\r\n styleUrls: ['./progress-tracker.component.scss'],\r\n})\r\nexport class ProgressTrackerComponent implements OnInit {\r\n\r\n uiactions = UIAction\r\n @Input('tracker_model') tracker_model: UINewControl;\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n \r\n constructor(\r\n private navCtrl: NavController,\r\n private modalController:ModalController) { }\r\n\r\n ngOnInit() {}\r\n onClick(){\r\n let actionEvent = this.tracker_model['actionEvent'];\r\n if(actionEvent == UIAction.Previous && this.tracker_model['routePath']){\r\n this.navCtrl.navigateBack(this.tracker_model['routePath']); // Previous URL\r\n }else if(actionEvent == UIAction.Previous){\r\n this.navCtrl.back() // Previous URL\r\n }else if(actionEvent == UIAction.Next && this.tracker_model['routePath']){\r\n this.navCtrl.navigateForward(this.tracker_model['routePath']); // next URL\r\n }else if(actionEvent == UIAction.Dismiss){\r\n this.modalController.dismiss\r\n } else { // this is for Api Service call for Save \r\n this.eventHandlerEmitter.emit(this.tracker_model);\r\n }\r\n }\r\n itemClick(action){\r\n this.eventHandlerEmitter.emit({ ...this.tracker_model, actionEvent: action })\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { ProgressTrackerComponent } from './progress-tracker.component';\r\n@NgModule({\r\n declarations: [ProgressTrackerComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n ],\r\n exports:[ProgressTrackerComponent]\r\n})\r\nexport class ProgressTrackerModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output,ChangeDetectorRef } from '@angular/core';\r\nimport { ModalController, NavController } from '@ionic/angular';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiFetcherService } from 'src/app/services/api-fetcher.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { LanguageService } from 'src/app/services/language.service';\r\nimport { StorageService } from 'src/app/services/storage-service.service';\r\nimport { ProDataTypes, ProElementStyle, ProImageIcon } from '../enums';\r\nimport { UIControl } from '../uicontrol';\r\nimport { PhotoViewerPage } from 'src/app/reusables/photo-viewer/photo-viewer.page';\r\nimport { PreviewAnyFile } from '@ionic-native/preview-any-file/ngx';\r\n\r\n@Component({\r\n selector: 'app-review-rating-details',\r\n templateUrl: './review-rating-details.component.html',\r\n styleUrls: ['./review-rating-details.component.scss'],\r\n})\r\nexport class ReviewRatingDetailsComponent implements OnInit {\r\n @Input() ObjectType : string = '';\r\n @Input() ObjectID :string = '';\r\n @Input() hasAddProvision : boolean=true\r\n @Input() hasDisplayProvision : boolean=true\r\n ObjectName = ''\r\n ObjectImageUrl = ''\r\n Language = 'en'\r\n remarkTagIds = []\r\n ratings_count = []\r\n ratings_details = []\r\n merchant_data = []\r\n user_ratings_details=[]\r\n params = { 'creator_user_id': '', 'rating': 0, 'comments': '', 'object_type': '', 'object_id': '', 'like_status': 's', 'user_id': 0, 'review_rating_tag_ids': [] }\r\n array = [1, 2, 3, 4, 5];\r\n TagReasons = []\r\n hashTagReasonsCount = []\r\n slideOpts = {\r\n slidesPerView: 3,\r\n spaceBetween: 5,\r\n speed: 400,\r\n loop: false,\r\n centeredSlides: false,\r\n }\r\n submit_btn: UIControl\r\n displayParams = {\r\n 'object_id': '',\r\n 'object_type': '',\r\n 'is_with_comment': 0,\r\n 'rr_tag_id': 0\r\n }\r\n isModal=false\r\n skeleton_load : any ={\r\n rate_review : false,\r\n review_rating_details: true\r\n }\r\n constructor(\r\n private apiFetcher: ApiFetcherService,\r\n private languageService: LanguageService,\r\n private storage: StorageService,\r\n private alerthandler: AlertHandlerService,\r\n public apiService: ApiService,\r\n public navCtrl : NavController,\r\n private modalCtrl:ModalController,\r\n private previewAnyFile: PreviewAnyFile,\r\n private ref: ChangeDetectorRef\r\n ) {\r\n this.Language = this.languageService.selected || 'en';\r\n }\r\n\r\n ngOnInit() {\r\n if(this.hasAddProvision){\r\n // this.getMerchantDetails()\r\n this.getReviewRatingTags();\r\n this.setUpView();\r\n }\r\n if(this.hasDisplayProvision){\r\n this.getReviewRatingTagsCount();\r\n this.getReviewRateCount();\r\n this.viewReviewsAndRatings()\r\n }\r\n this.storage.getString('Proppy_UserID',pid=>{\r\n this.params['creator_user_id']=pid || ''\r\n this.getUserReviewsAndRatings()\r\n })\r\n }\r\n setUpView() {\r\n this.submit_btn = new UIControl(ProDataTypes.Button, 2, \"Submit Review & Rating\");\r\n this.submit_btn.elementSize = 6;\r\n this.submit_btn.elementStyle = ProImageIcon.PencilOutline\r\n this.submit_btn.elementStyle = ProElementStyle.PrimaryGradiant\r\n }\r\n ratingClick(val, index) {\r\n if (this.params['rating'] == val) {\r\n this.params['rating'] = 0\r\n }\r\n else {\r\n this.params['rating'] = val;\r\n }\r\n }\r\n onTagSelected(item) {\r\n if (this.remarkTagIds.includes(item['id'])) {\r\n this.remarkTagIds = this.remarkTagIds.filter(f => f != item['id']);\r\n } else {\r\n this.remarkTagIds.push(item['id'])\r\n }\r\n console.log(this.remarkTagIds);\r\n }\r\n async onSaveReviewRatingClick() {\r\n await this.alerthandler.presentLoading('Adding Review..')\r\n this.params['object_id'] = this.ObjectID;\r\n this.params['object_type'] = this.ObjectType;\r\n this.storage.getString('Proppy_UserID', (id) => {\r\n this.params['creator_user_id'] = id;\r\n this.params['review_rating_tag_ids'] = this.remarkTagIds;\r\n if((this.params['comments'].trim() || '').length==0){\r\n delete this.params['comments'];\r\n }\r\n this.apiFetcher.doPost(ApiService.ADD_REVIEW_RATING, this.params).subscribe((res) => {\r\n this.alerthandler.dismissLoading()\r\n const status=res['status'] || false\r\n if (status) {\r\n this.alerthandler.dismissLoading()\r\n this.user_ratings_details=[this.params]\r\n this.alerthandler.presenToast('Review Rating Submitted Successfully.');\r\n this.viewReviewsAndRatings()\r\n } else {\r\n this.alerthandler.dismissLoading()\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n },err=>{\r\n this.alerthandler.dismissLoading()\r\n this.alerthandler.presenToast(err['error'] || ApiService.ERROR_TOAST_MSG);\r\n });\r\n })\r\n }\r\n async showImgModel(selectedPos) {\r\n if(this.ratings_details[selectedPos]['image_url']==''){\r\n return\r\n }\r\n let imgs = []\r\n this.ratings_details[selectedPos]['image_url'] \r\n imgs.push(this.ratings_details[selectedPos]['image_url'])\r\n const modal = await this.modalCtrl.create({\r\n component: PhotoViewerPage,\r\n componentProps: {\r\n imgs: imgs,\r\n selectedPos: selectedPos,\r\n },\r\n presentingElement: await this.modalCtrl.getTop()\r\n })\r\n await modal.present();\r\n await modal.onWillDismiss().then((result) => {\r\n }).catch((err) => {\r\n });\r\n }\r\n getReviewRatingTags() {\r\n var params_count = {\r\n 'language': this.Language,\r\n 'review_rating_type': this.ObjectType\r\n }\r\n this.skeleton_load['rate_review'] = true\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_HASHTAGS, params_count).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.TagReasons = res['data']\r\n this.skeleton_load['rate_review'] = false;\r\n } else {\r\n this.skeleton_load['rate_review'] = false;\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); }\r\n }),\r\n (error) => {\r\n this.skeleton_load['rate_review'] = false;\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n getReviewRatingTagsCount() {\r\n var params_tags_count = {\r\n 'language': this.Language,\r\n 'review_rating_type': this.ObjectType,\r\n 'object_type': this.ObjectType,\r\n 'object_id': this.ObjectID\r\n }\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_HASHTAGS, params_tags_count).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.hashTagReasonsCount = res['data']\r\n } else {\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); }\r\n }),(error) => {\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n saveReviewandRating() {\r\n this.apiFetcher.doPost(ApiService.ADD_REVIEW_RATING, this.params).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.alerthandler.dismissLoading()\r\n console.log(res['data']);\r\n } else {\r\n this.alerthandler.dismissLoading()\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); }\r\n }),(error) => {\r\n this.alerthandler.dismissLoading()\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n getReviewRateCount() {\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_COUNT, { 'object_id': this.ObjectID, 'object_type': this.ObjectType }).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.ratings_count = res['data']\r\n } else {\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); }\r\n }),(error) => {\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n viewReviewsAndRatings(hashtag_id=0) {\r\n this.skeleton_load['review_rating_details'] = true;\r\n this.displayParams['object_id'] = this.ObjectID;\r\n this.displayParams['object_type'] = this.ObjectType;\r\n this.displayParams['rr_tag_id']=hashtag_id\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_DETAILS, this.displayParams).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.ratings_details = res['data']\r\n this.skeleton_load['review_rating_details'] = false;\r\n }else {\r\n this.skeleton_load['review_rating_details'] = false;\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); \r\n }\r\n this.skeleton_load = false;\r\n this.ref.detectChanges();\r\n }), (error) => {\r\n this.skeleton_load['review_rating_details'] = false;\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n getUserReviewsAndRatings() {\r\n var params={...this.displayParams}\r\n params['is_with_comment']=0\r\n params['rr_tag_id']=0\r\n params['creator_user_id']=this.params['creator_user_id']\r\n this.apiFetcher.doPost(ApiService.GET_REVIEW_RATING_DETAILS, params).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.user_ratings_details = res['data']\r\n }else {\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); }\r\n }), (error) => {\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n getMerchantDetails() {\r\n this.skeleton_load['rate_review'] = true\r\n this.apiFetcher.doPost(ApiService.GET_PREMIUM_MERCHANT_DETAILS, { merchant_id: this.ObjectID }).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.merchant_data = res['data'][0]\r\n console.log(this.merchant_data);\r\n this.skeleton_load['rate_review'] = false;\r\n } else {\r\n this.skeleton_load['rate_review'] = false;\r\n this.alerthandler.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG); }\r\n }), (error) => {\r\n this.skeleton_load['rate_review'] = false;\r\n this.alerthandler.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }\r\n\r\n onBackClick(){\r\n if(this.isModal){\r\n this.modalCtrl.dismiss()\r\n } else {\r\n this.navCtrl.back()\r\n }\r\n }\r\n doRefresh(event) {\r\n this.getUserReviewsAndRatings()\r\n setTimeout(() => {\r\n event.target.complete();\r\n }, 2000);\r\n }\r\n\r\n preview(path){\r\n this.previewAnyFile.preview(path)\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReviewRatingDetailsComponent } from './review-rating-details.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { UIImgModule } from '../uiimg/uiimg.module';\r\nimport { UILabelModule } from '../uilabel/uilabel.module';\r\nimport { ProButtonModule } from '../pro-button/pro-button.module';\r\nimport { ReviewRatingModule } from '../review-rating/review-rating.module';\r\nimport { SkeletonsModule } from '../skeletons/skeletons.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ReviewRatingDetailsComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n UIImgModule,\r\n UILabelModule,\r\n ProButtonModule,\r\n ReviewRatingModule,\r\n SkeletonsModule\r\n ],\r\n exports:[\r\n ReviewRatingDetailsComponent\r\n ]\r\n})\r\nexport class ReviewRatingDetailsModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-review-rating',\r\n templateUrl: './review-rating.component.html',\r\n styleUrls: ['./review-rating.component.scss'],\r\n})\r\nexport class ReviewRatingComponent implements OnInit {\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = {\"class\":\"med_chip\",\"rating_avg\":0.0}\r\n /*****\r\n * small\r\n * medium\r\n * large\r\n *****/\r\n constructor() { }\r\n\r\n ngOnInit() {}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ReviewRatingComponent } from './review-rating.component';\r\n@NgModule({\r\n declarations: [ReviewRatingComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[ReviewRatingComponent]\r\n})\r\nexport class ReviewRatingModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormStyles, UIDatatypes } from '../enums';\r\nimport { UIControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-separator',\r\n templateUrl: './separator.component.html',\r\n styleUrls: ['./separator.component.scss'],\r\n})\r\nexport class SeparatorComponent implements OnInit {\r\n @Input(\"separator\") separator: UIControl\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = { 'class': '', 'style': 'horizontal' }\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n ui_datatype: any = UIDatatypes;\r\n form_styles: any = FormStyles;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SeparatorComponent } from './separator.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [SeparatorComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports: [SeparatorComponent]\r\n})\r\nexport class SeparatorModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: \"app-skeletons\",\r\n templateUrl: \"./skeletons.component.html\",\r\n styleUrls: [\"./skeletons.component.scss\"],\r\n})\r\nexport class SkeletonsComponent implements OnInit {\r\n @Input() display_type?: number = 1;\r\n @Input() display_count?: number = 1;\r\n @Input() type?: number = 0;\r\n @Input() sub_type?: number = 0;\r\n /**** DISPLAY TYPES\r\n * 1 - image With Bottom Text\r\n * 2 - Single Image Along Horizontal\r\n * 3 - Image With Right Text\r\n * 4 - IMAGE WITH HEADER TEXT\r\n * 5 - List Of item Vertically\r\n * 10 - Package Room, Merchant Details Photos Tab && Proppy Cares\r\n * 52 - Homes360 Property\r\n * 53 - Merchant details About Tab\r\n * 55 - Deals Preloved Inbox\r\n * 56 - Deals Preloved Tracker\r\n * 57 - Needs-Process-Tracker\r\n * 58 - Gems Transaction Details\r\n * 59 - Developer Profile\r\n * 60 - Developer Details\r\n * 61 - Needs History\r\n * 62 - Property Details\r\n * 67 - Voucher UI\r\n */\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SkeletonsComponent } from './skeletons.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [SkeletonsComponent],\r\n imports: [CommonModule, IonicModule, FormsModule],\r\n exports: [SkeletonsComponent]\r\n})\r\nexport class SkeletonsModule { }\r\n","import { Component, OnInit, EventEmitter, Input, Output, } from '@angular/core';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-ui-chip',\r\n templateUrl: './ui-chip.component.html',\r\n styleUrls: ['./ui-chip.component.scss'],\r\n})\r\nexport class UiChipComponent implements OnInit {\r\n\r\n @Input('chip_model')\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = { \"chip_class\": \"\", \"text\": \"\", \"text_class\": '', 'color': '', 'ui_chip_img': '', 'ui_chip_icon': '','background-color' :''}\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n setMyStyles() {\r\n let styles = {\r\n 'background-color': this.customInputData['background-color'] ? this.customInputData['background-color'] : 'transparent',\r\n 'color': this.customInputData['color'] ? this.customInputData['color'] : '#000',\r\n };\r\n return styles;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UiChipComponent } from './ui-chip.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n@NgModule({\r\n declarations: [UiChipComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[UiChipComponent]\r\n})\r\nexport class UIChipModule { }\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Type,\r\n} from \"@angular/core\";\r\nimport { ModalController } from \"@ionic/angular\";\r\nimport { PmPopoverComponent } from \"src/app/premium-merchant/pm-promoter/pm-popover/pm-popover.component\";\r\nimport { AlertHandlerService } from \"src/app/services/alert-handler.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { DataFetcherService } from \"src/app/services/data-fetcher/data-fetcher.service\";\r\nimport { DBHandlerService } from \"src/app/services/db-handler.service\";\r\n\r\n@Component({\r\n selector: \"app-ui-favourites\",\r\n templateUrl: \"./ui-favourites.component.html\",\r\n styleUrls: [\"./ui-favourites.component.scss\"],\r\n})\r\nexport class UiFavouritesComponent implements OnInit {\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @Input() ReadOnly: boolean = false;\r\n @Input() favCount: boolean = false;\r\n @Input() customInputData: any = {\r\n class: \"\",\r\n fav_id: 0,\r\n object_id: \"\",\r\n object_type: \"\",\r\n user_id: \"\",\r\n fav_status: 0,\r\n fav_count: 0,\r\n s_img: \"\",\r\n us_img: \"\",\r\n width: 0,\r\n height: 0,\r\n created_by: \"\",\r\n color: \"#000\",\r\n };\r\n fav_load: boolean = false;\r\n @Input()isMerchant:boolean=false;\r\n constructor(\r\n private dataFetcher: DataFetcherService,\r\n private alert: AlertHandlerService,\r\n private ref: ChangeDetectorRef,\r\n private modalController: ModalController\r\n ) {}\r\n\r\n ngOnInit() {}\r\n\r\n setMyStyles() {\r\n let styles = {\r\n color: this.customInputData[\"color\"]\r\n ? this.customInputData[\"color\"] == \"NONE\"\r\n ? \"\"\r\n : this.customInputData[\"color\"]\r\n : \"#000\",\r\n };\r\n if (this.customInputData[\"width\"])\r\n styles[\"width\"] = this.customInputData[\"width\"] + \"px\";\r\n if (this.customInputData[\"height\"])\r\n styles[\"height\"] = this.customInputData[\"height\"] + \"px\";\r\n return styles;\r\n }\r\n\r\n onFavoriteClick() {\r\n this.fav_load = true;\r\n // if(this.customInputData['user_id'] == this.customInputData['created_by']){\r\n // return this.fav_load = false;\r\n // }\r\n // else\r\n if (\r\n this.customInputData.hasOwnProperty(\"fav_id\") &&\r\n parseInt(this.customInputData[\"fav_id\"]) > 0\r\n ) {\r\n let fav = (this.customInputData[\"fav_status\"] || 0) == 1 ? 0 : 1;\r\n DBHandlerService.getDataFromStorage(ApiService.FAVORITE_POP_DISCLAIMER,(err:any,val:any)=>{\r\n if(val!=1 && this.isMerchant && fav==1)\r\n this.favPopover();\r\n })\r\n let params = {\r\n ID: this.customInputData[\"fav_id\"],\r\n Favourite: fav,\r\n };\r\n this.addAndUpdateFav(2, params);\r\n\r\n } else {\r\n let params = {\r\n Favourite: 1,\r\n Type: this.customInputData[\"object_type\"],\r\n ListingID: this.customInputData[\"object_id\"],\r\n ProppyUserID: this.customInputData[\"user_id\"],\r\n };\r\n this.addAndUpdateFav(1, params);\r\n }\r\n }\r\n\r\n addAndUpdateFav(type: number, params: any) {\r\n /******\r\n * 1 - ADD\r\n * 2 - Update\r\n ******/\r\n let url =\r\n type == 1\r\n ? ApiService.ADD_PROPERTYMARKET_USER_FAVOURITE\r\n : ApiService.UPDATE_PROPERTYMARKET_USER_FAVOURITE;\r\n if ((url || \"\").length == 0) return (this.fav_load = false);\r\n this.dataFetcher.doPost(url, params).subscribe(\r\n (res) => {\r\n const status = res[\"status\"] || false;\r\n this.customInputData[\"status\"] = status;\r\n if (status) {\r\n if (params.hasOwnProperty(\"ID\") && parseInt(params[\"ID\"]) > 0) {\r\n this.customInputData[\"fav_status\"] = params[\"Favourite\"];\r\n if (this.customInputData.hasOwnProperty(\"fav_count\"))\r\n this.customInputData[\"fav_count\"] +=\r\n Number(params[\"Favourite\"]) == 1 ? +1 : -1;\r\n } else {\r\n this.customInputData[\"fav_id\"] = res[\"insertedRow\"][\"ID\"];\r\n this.customInputData[\"fav_status\"] = 1;\r\n if (this.customInputData.hasOwnProperty(\"fav_count\"))\r\n this.customInputData[\"fav_count\"] += 1;\r\n }\r\n this.customInputData[\"updated_Fav_status\"] = 1;\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.fav_load = false;\r\n this.ref.detectChanges();\r\n } else {\r\n this.customInputData[\"updated_Fav_status\"] = 1;\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.fav_load = false;\r\n this.alert.presenToast(\r\n res[\"msg\"] || res[\"error\"] || ApiService.ERROR_TOAST_MSG\r\n );\r\n }\r\n },\r\n (error) => {\r\n this.fav_load = false;\r\n this.customInputData[\"updated_Fav_status\"] = 1;\r\n this.customInputData[\"status\"] = false;\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(error[\"error\"] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n );\r\n }\r\n\r\n async favPopover() {\r\n const modal: any = await this.modalController.create({\r\n component: PmPopoverComponent,\r\n cssClass: \"promo_apply\",\r\n componentProps: {\r\n display_type: 9,\r\n description:'You will be able to access your favourite from Account > Favourites',\r\n icon:'/assets/acc_fav.png',\r\n icon_size:'150px'\r\n },\r\n });\r\n await modal.present();\r\n await modal.onDidDismiss().then((data: any) => {\r\n if(data['data']==1) DBHandlerService.addToLocalDB(ApiService.FAVORITE_POP_DISCLAIMER,1,(val:any)=>{})\r\n else DBHandlerService.addToLocalDB(ApiService.FAVORITE_POP_DISCLAIMER,0,(val:any)=>{})\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { UiFavouritesComponent } from './ui-favourites.component';\r\nimport { PmPopoverModule } from 'src/app/premium-merchant/pm-promoter/pm-popover/pm-popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UiFavouritesComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n PmPopoverModule\r\n ],\r\n exports:[UiFavouritesComponent]\r\n})\r\nexport class UiFavouritesModule { }\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataFetcherService } from 'src/app/services/data-fetcher/data-fetcher.service';\r\n\r\n@Component({\r\n selector: 'app-ui-likes',\r\n templateUrl: './ui-likes.component.html',\r\n styleUrls: ['./ui-likes.component.scss'],\r\n})\r\nexport class UiLikesComponent implements OnInit {\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @Input() ReadOnly: boolean = false\r\n @Input() likeCount: boolean = false\r\n @Input() customInputData: any = {\r\n 'class': '',\r\n 'created_by': '',\r\n 'like_id': 0,\r\n 'object_id': '',\r\n 'object_type': '',\r\n 'user_id': '',\r\n 'like_status': 0,\r\n 'likes_count': 0,\r\n 's_img': '',\r\n 'us_img': '',\r\n 'width': 0,\r\n 'height': 0,\r\n 'color': '#000'\r\n }\r\n like_load: boolean = false;\r\n\r\n constructor(\r\n private dataFetcher: DataFetcherService,\r\n private alert: AlertHandlerService,\r\n private ref: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n setMyStyles() {\r\n let styles = {\r\n 'color': this.customInputData['color'] ? (this.customInputData['color'] == 'NONE' ? '' : this.customInputData['color']) : '#000'\r\n }\r\n if (this.customInputData['width']) styles['width'] = this.customInputData['width'] + \"px\"\r\n if (this.customInputData['height']) styles['height'] = this.customInputData['height'] + \"px\"\r\n return styles;\r\n }\r\n\r\n onLikeClick() {\r\n this.like_load = true;\r\n // if (this.customInputData['user_id'] == this.customInputData['created_by']) {\r\n // this.like_load = false;\r\n // return\r\n // }\r\n // else \r\n if (this.customInputData.hasOwnProperty('like_id') && parseInt(this.customInputData['like_id']) > 0) {\r\n let like = ((this.customInputData['like_status'] || 0) == 1 ? 0 : 1);\r\n let params = {\r\n 'ID': this.customInputData['like_id'],\r\n 'LikeStatus': like\r\n };\r\n this.addAndUpdateLike(2, params);\r\n } else {\r\n let params = {\r\n \"LikeStatus\": 1,\r\n \"ObjectID\": this.customInputData['object_id'],\r\n \"ObjectType\": this.customInputData['object_type'],\r\n \"CreatorUserID \": this.customInputData['user_id']\r\n }\r\n this.addAndUpdateLike(1, params);\r\n }\r\n }\r\n\r\n addAndUpdateLike(type: number, params: any) {\r\n\r\n /******\r\n * 1 - ADD \r\n * 2 - Update\r\n ******/\r\n let url = (type == 1 ? ApiService.ADD_LIKES : ApiService.UPDATE_LIKES);\r\n if ((url || '').length == 0) {\r\n return this.like_load = false;\r\n };\r\n this.dataFetcher[type == 1 ? 'doPost' : 'doPut'](url, params).subscribe(res => {\r\n const status = res['status'] || false;\r\n this.customInputData['status'] = status;\r\n if (status) {\r\n if (params.hasOwnProperty('ID') && parseInt(params['ID']) > 0) {\r\n this.customInputData['like_status'] = params['LikeStatus'];\r\n if (this.customInputData.hasOwnProperty('likes_count'))\r\n this.customInputData['likes_count'] += (Number(params['LikeStatus']) == 1 ? +1 : -1)\r\n } else {\r\n this.customInputData['like_id'] = res['inserted_record']['ID']\r\n this.customInputData['like_status'] = 1;\r\n if (this.customInputData.hasOwnProperty('likes_count'))\r\n this.customInputData['likes_count'] += 1;\r\n }\r\n this.customInputData['updated_Like_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n } else {\r\n this.customInputData['updated_Like_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n this.like_load = false;\r\n this.ref.detectChanges()\r\n }, (error) => {\r\n this.customInputData['status'] = false;\r\n this.like_load = false\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { UiLikesComponent } from './ui-likes.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UiLikesComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule \r\n ],\r\n exports:[UiLikesComponent]\r\n})\r\nexport class UiLikesModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataFetcherService } from 'src/app/services/data-fetcher/data-fetcher.service';\r\nimport { AppHelper } from 'src/app/services/middleware/app-helper';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\n\r\n@Component({\r\n selector: 'app-ui-ph-property',\r\n templateUrl: './ui-ph-property.component.html',\r\n styleUrls: ['./ui-ph-property.component.scss'],\r\n})\r\nexport class UiPhPropertyComponent implements OnInit {\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = { \"class\": \"\", \"text\": \"\", \"subText\": \"\", 'color': '#000' }\r\n @Input() isVMS: boolean = false\r\n @Input() vmsInputData: any = { \"class\": \"\", \"propertyName\": \"\", \"unitno\": \"\", \"unit_id\": \"\", 'is_avilable': 0 }\r\n headerbg: boolean = false;\r\n user_id = ''\r\n resident_data:any;\r\n constructor(\r\n private _http: DataFetcherService,\r\n private alert: AlertHandlerService,\r\n private storage: StorageService,\r\n public helper : AppHelper\r\n ) { }\r\n ngOnInit() {\r\n this.storage.getString(\"Proppy_UserID\", (proppyUserID) => {\r\n this.user_id = proppyUserID || \"\";\r\n })\r\n }\r\n myStatus() {\r\n this.vmsInputData['is_avilable'] = this.vmsInputData['is_avilable']==1 ? 0 : 1;\r\n this.onStatusUpdate();\r\n }\r\n\r\n onStatusUpdate() {\r\n var params = {\r\n unit_id: this.vmsInputData['unit_id'],\r\n pid: this.user_id,\r\n is_available: this.vmsInputData['is_avilable']\r\n }\r\n this._http.doPut(ApiService.DELETE_PH_PROPERTY_USER, params).subscribe(res => {\r\n const status = res['status'] || false;\r\n if (status) {\r\n this.setConversation(this.user_id,this.vmsInputData['is_avilable']);\r\n this.alert.presenToast(res['msg'] || \"Updated Successfully. \")\r\n this.storage.getData(ApiService.RESIDENTS_DATA, (data) => {\r\n this.resident_data = data || {}\r\n this.resident_data['is_available'] = params['is_available'] \r\n this.storage.setData(ApiService.RESIDENTS_DATA, this.resident_data); \r\n });\r\n } else {\r\n this.alert.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG)\r\n }\r\n }, (error) => {\r\n this.alert.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG)\r\n })\r\n }\r\n\r\n setConversation(pid,type){\r\n let removeUser = []\r\n let addUser = []\r\n if(type==0) removeUser.push(pid)\r\n if(type==1) addUser.push(pid)\r\n this.helper.getConversationsByPID(pid,(err,res)=>{\r\n if(res){\r\n var conversationData = (res['data'] || []).filter(f => (f['id'] || '').endsWith(this.vmsInputData['unit_id']))\r\n conversationData.map(conv => {\r\n this.helper.updateConversationAccess(conv['id'],addUser,removeUser,()=>{})\r\n })\r\n } \r\n })\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiPhPropertyComponent } from './ui-ph-property.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UiPhPropertyComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[UiPhPropertyComponent]\r\n})\r\nexport class UiPhPropertyModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NavParams, PopoverController } from '@ionic/angular';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-ui-popover',\r\n templateUrl: './ui-popover.component.html',\r\n styleUrls: ['./ui-popover.component.scss'],\r\n})\r\nexport class UiPopoverComponent implements OnInit {\r\n \r\n \r\n filterTerm: any;\r\n popData: any = []\r\n item : any \r\n popover_type : any\r\n\r\n constructor( private navParams: NavParams,\r\n private popCtrl: PopoverController) {}\r\n\r\n ngOnInit() {\r\n console.log(this.popData)\r\n }\r\n OnChange(item){\r\n console.log(item , \"////////\")\r\n this.popCtrl.dismiss(item);\r\n }\r\n\r\n onChangeEvent(e) {\r\n // this.popover_model.elementSelectedVal = e.target.value\r\n // this.eventHandlerEmitter.emit(this.popover_model);\r\n\r\n this.popCtrl.dismiss();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { UiPopoverComponent } from './ui-popover.component';\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\n@NgModule({\r\n declarations: [UiPopoverComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n Ng2SearchPipeModule\r\n ],\r\n exports:[UiPopoverComponent]\r\n})\r\nexport class UIPopoverModule { }","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NavController } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-ui-side-fab',\r\n templateUrl: './ui-side-fab.component.html',\r\n styleUrls: ['./ui-side-fab.component.scss'],\r\n})\r\nexport class UiSideFabComponent implements OnInit {\r\n @Input('side_fab_data') side_fab_data=[]\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor(\r\n private navCtrl:NavController\r\n ) { }\r\n\r\n ngOnInit() {}\r\n \r\n onItemClick(item){\r\n this.eventHandlerEmitter.emit(item)\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSideFabComponent } from './ui-side-fab.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UiSideFabComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[UiSideFabComponent]\r\n})\r\nexport class UiSideFabModule { }\r\n","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\nimport { Banner } from './banner';\r\n\r\n@Component({\r\n selector: 'app-uiads-display',\r\n templateUrl: './uiads-display.component.html',\r\n styleUrls: ['./uiads-display.component.scss'],\r\n})\r\nexport class UiadsDisplayComponent implements AfterViewInit {\r\n\r\n @Input() banner: Banner;\r\n showAd = true;\r\n constructor() { }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n try {\r\n (window['adsbygoogle'] = window['adsbygoogle'] || []).push({\r\n overlays: {bottom: true}\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, 0);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UiadsDisplayComponent } from './uiads-display.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UiadsDisplayComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[\r\n UiadsDisplayComponent\r\n ]\r\n})\r\nexport class UiadsDisplayModule { }\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataFetcherService } from 'src/app/services/data-fetcher/data-fetcher.service';\r\n@Component({\r\n selector: 'app-uibookmark',\r\n templateUrl: './uibookmark.component.html',\r\n styleUrls: ['./uibookmark.component.scss'],\r\n})\r\nexport class UibookmarkComponent implements OnInit {\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @Input() ReadOnly: boolean = false\r\n @Input() bookMarkCount: boolean = false\r\n @Input() customInputData: any = {\r\n 'class': '', \r\n 'fav_id': 0, \r\n 'object_id': '', \r\n 'object_type': '',\r\n 'user_id': '',\r\n 'fav_status': 0,\r\n 'fav_count': 0, \r\n 's_img': '', \r\n 'us_img': '', \r\n 'width': 0, \r\n 'height': 0,\r\n 'created_by':''\r\n }\r\n book_load: boolean = false;\r\n\r\n constructor(\r\n private dataFetcher: DataFetcherService,\r\n private alert: AlertHandlerService,\r\n private ref: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngOnInit() { \r\n }\r\n\r\n setMyStyles() {\r\n let styles = {};\r\n if (this.customInputData['width']) styles['width'] = this.customInputData['width'] + \"px\"\r\n if (this.customInputData['height']) styles['height'] = this.customInputData['height'] + \"px\"\r\n return styles;\r\n }\r\n\r\n onBookMark() {\r\n this.book_load = true;\r\n // if(this.customInputData['user_id'] == this.customInputData['created_by']){\r\n // this.book_load = false;\r\n // return \r\n // }\r\n // else \r\n if (this.customInputData.hasOwnProperty('fav_id') && parseInt(this.customInputData['fav_id']) > 0) {\r\n let fav = (this.customInputData['fav_status'] == 1 ? 0 : 1);\r\n let params = { 'ID': this.customInputData['fav_id'], 'Favourite': fav };\r\n this.addAndUpdateBookMark(2, params);\r\n } else {\r\n let params = {\r\n 'ListingID': this.customInputData['object_id'],\r\n 'Type': this.customInputData['object_type'], // Book Mark Type\r\n 'Favourite': 1,\r\n 'ProppyUserID': this.customInputData['user_id']\r\n }\r\n this.addAndUpdateBookMark(1, params);\r\n }\r\n }\r\n\r\n addAndUpdateBookMark(type: number, params: any) {\r\n /******\r\n * 1 - ADD \r\n * 2 - Update\r\n ******/\r\n let url = (type == 1 ? ApiService.ADD_PROPERTYMARKET_USER_FAVOURITE : ApiService.UPDATE_PROPERTYMARKET_USER_FAVOURITE);\r\n if ((url || '').length == 0) return this.book_load = false;\r\n this.dataFetcher.doPost(url, params).subscribe(res => {\r\n const status = res['status'] || false;\r\n this.customInputData['status'] = status;\r\n if (status) {\r\n if (params.hasOwnProperty('ID') && parseInt(params['ID']) > 0) {\r\n this.customInputData['fav_status'] = params['Favourite'];\r\n if (this.customInputData.hasOwnProperty('fav_count'))\r\n this.customInputData['fav_count'] += ((Number(params['Favourite'])) == 1 ? +1 : -1);\r\n } else {\r\n this.customInputData['fav_id'] = res['insertedRow']['ID'];\r\n this.customInputData['fav_status'] = 1;\r\n if (this.customInputData.hasOwnProperty('fav_count'))\r\n this.customInputData['fav_count'] += 1;\r\n }\r\n this.book_load = false;\r\n this.customInputData['updated_Bookmark_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.ref.detectChanges();\r\n } else {\r\n this.book_load = false;\r\n this.customInputData['updated_Bookmark_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }, (error) => {\r\n this.book_load = false;\r\n this.customInputData['status'] = false;\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UibookmarkComponent } from './uibookmark.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UibookmarkComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[UibookmarkComponent]\r\n})\r\nexport class UibookmarkModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class UicalendarPageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { UicalendarPageRoutingModule } from './uicalendar-routing.module';\r\n\r\nimport { UicalendarPage } from './uicalendar.page';\r\nimport {CustomPipeModule} from '../utils/custom-pipe/custom-pipe.module'\r\nimport { UILabelModule } from '../uilabel/uilabel.module';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n UicalendarPageRoutingModule,\r\n CustomPipeModule,\r\n UILabelModule\r\n ],\r\n declarations: [UicalendarPage],\r\n exports:[UicalendarPage]\r\n})\r\nexport class UicalendarPageModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { DateHelper } from '../utils/date-helper.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n@Component({\r\n selector: 'app-uicalendar',\r\n templateUrl: './uicalendar.page.html',\r\n styleUrls: ['./uicalendar.page.scss'],\r\n providers:[DatePipe]\r\n})\r\nexport class UicalendarPage implements OnInit {\r\n week_days = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"]\r\n time_hh = [\"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\"]\r\n time_mm = [\"00\", \"05\", \"10\", \"15\", \"20\", \"25\", \"30\", \"35\", \"40\", \"45\", \"50\", \"55\", \"59\"]\r\n calendar_dates = []\r\n selected_date = \"\"\r\n selectedMonth = DateHelper.getMonth()\r\n view_type = 0\r\n date_opts = { 'min_dt': \"\", 'max_dt': \"\" }\r\n sel_time: any = { \"hh\": \"\", \"mm\": \"\", \"time\": \"\" }\r\n month_toggle_tag = false; year_toggle_tag = false;\r\n cal_months = JSON.parse(JSON.stringify(ApiService.MONTH_NAMES))\r\n cal_years = [];\r\n constructor(private modelCtrl: ModalController) { }\r\n\r\n ngOnInit() {\r\n if (this.sel_time['time'] && this.sel_time['time'].length > 0 && this.sel_time['time'].includes(\":\")) {\r\n var time_split = this.sel_time['time'].split(\":\")\r\n this.sel_time['hh'] = time_split[0]\r\n this.sel_time['mm'] = time_split[1]\r\n } else if (this.selected_date && this.selected_date.length > 0) {\r\n var date_split = this.selected_date.split(\"-\")\r\n this.selectedMonth['year'] = parseInt(date_split[0])\r\n var prevDate = DateHelper.getDate(1, (parseInt(date_split[1]) - 1), this.selectedMonth['year']);\r\n this.selectedMonth = DateHelper.getMonth(prevDate)\r\n }\r\n this.getCalendarYears()\r\n this.changeCalendarDates()\r\n }\r\n navigateToPreviousMonth() {\r\n var monthNum = this.selectedMonth['id']\r\n if (monthNum == 1) {\r\n monthNum = 12\r\n this.selectedMonth['year'] -= 1\r\n } else {\r\n monthNum -= 1\r\n }\r\n var prevDate = DateHelper.getDate(1, (monthNum - 1), this.selectedMonth['year']);\r\n this.selectedMonth = DateHelper.getMonth(prevDate)\r\n this.changeCalendarDates()\r\n }\r\n navigatToNextMonth() {\r\n var monthNum = this.selectedMonth['id']\r\n if (monthNum == 12) {\r\n monthNum = 1\r\n this.selectedMonth['year'] += 1\r\n } else {\r\n monthNum += 1\r\n }\r\n var nextDate = DateHelper.getDate(1, (monthNum - 1), this.selectedMonth['year']);\r\n this.selectedMonth = DateHelper.getMonth(nextDate)\r\n this.changeCalendarDates()\r\n }\r\n navigateToPreviousYear() {\r\n var monthNum = this.selectedMonth['id']\r\n var year = this.selectedMonth['year']\r\n year -= 1\r\n this.selectedMonth['year'] = year\r\n var prevDate = DateHelper.getDate(1, (monthNum - 1), this.selectedMonth['year']);\r\n this.selectedMonth = DateHelper.getMonth(prevDate)\r\n this.changeCalendarDates()\r\n }\r\n navigatToNextYear() {\r\n var monthNum = this.selectedMonth['id']\r\n var year = this.selectedMonth['year']\r\n year += 1\r\n this.selectedMonth['year'] = year\r\n var prevDate = DateHelper.getDate(1, (monthNum - 1), this.selectedMonth['year']);\r\n this.selectedMonth = DateHelper.getMonth(prevDate)\r\n this.changeCalendarDates()\r\n }\r\n changeCalendarDates() {\r\n // console.log(this.selectedMonth)\r\n var date_split = this.selected_date.split(\"-\")\r\n this.selected_date = DateHelper.getYMD(new Date(this.selectedMonth['year'],parseInt(this.selectedMonth['id'] || '1')-1,parseInt(date_split[2] || '1')))\r\n this.selectedMonth['curr_date'] = this.selected_date\r\n this.calendar_dates = DateHelper.getWeekDates(this.selectedMonth['id'], this.selectedMonth['year'])\r\n }\r\n onClickDate(e, cdt: any) {\r\n e.stopPropagation()\r\n if (!this.checkDateOpts(cdt)) return\r\n this.modelCtrl.dismiss(cdt)\r\n }\r\n checkDateOpts(cdt) {\r\n if (cdt['month'] != this.selectedMonth['id']) return false\r\n var min_dt = this.date_opts['min_dt'] || \"\"\r\n var max_dt = this.date_opts['max_dt'] || \"\"\r\n var dt2 = new Date(cdt['unix_date_format'])\r\n if (min_dt.length > 0 && max_dt.length > 0) {\r\n if (new Date(min_dt) > dt2 && dt2 < new Date(max_dt)) {\r\n return false\r\n } else if (dt2 > new Date(max_dt)) {\r\n return false\r\n }\r\n } else if (min_dt.length > 0 && dt2 < new Date(min_dt)) {\r\n return false\r\n } else if (max_dt.length > 0 && dt2 > new Date(max_dt)) {\r\n return false\r\n }\r\n return true\r\n }\r\n hoursChange() {\r\n this.checkAndDismissTimePicker()\r\n }\r\n minsChange() {\r\n this.checkAndDismissTimePicker()\r\n }\r\n checkAndDismissTimePicker() {\r\n if (this.sel_time['hh'].length > 0 && this.sel_time['mm'].length > 0) {\r\n this.sel_time['mins'] = ((parseInt(this.sel_time['hh']) * 60) + parseInt(this.sel_time['mm']))\r\n this.sel_time['time'] = `${this.sel_time['hh']}:${this.sel_time['mm']}`\r\n this.modelCtrl.dismiss(this.sel_time)\r\n }\r\n }\r\n dismissModal() {\r\n this.modelCtrl.dismiss({})\r\n }\r\n gridClickEvent(event) {\r\n event.stopPropagation()\r\n }\r\n\r\n onSelectMonth(e, item) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n this.selectedMonth['id'] = item['id']\r\n this.selectedMonth['name'] = item['name']\r\n this.changeCalendarDates()\r\n this.month_toggle_tag = !this.month_toggle_tag\r\n }\r\n showMonths() {\r\n this.month_toggle_tag = !this.month_toggle_tag\r\n setTimeout(() => {\r\n document.getElementById(\"mnth_\" + this.selectedMonth['id'] + \"_div\").scrollIntoView();\r\n }, 100);\r\n }\r\n showYears() {\r\n this.year_toggle_tag = !this.year_toggle_tag\r\n setTimeout(() => {\r\n document.getElementById(this.selectedMonth['year'] + \"_div\").scrollIntoView();\r\n }, 100);\r\n }\r\n onSelectYear(e, item) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n this.selectedMonth['year'] = item\r\n this.changeCalendarDates()\r\n this.year_toggle_tag = !this.year_toggle_tag\r\n }\r\n getCalendarYears() {\r\n var cur_date = new Date();\r\n var curr_year = cur_date.getFullYear()\r\n var min_year = (curr_year - 100);\r\n var max_year = (curr_year + 50)\r\n this.cal_years = []\r\n for (var index = min_year; index <= (max_year + 1); index++) {\r\n this.cal_years.push(index)\r\n }\r\n }\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-uicheckbox',\r\n templateUrl: './uicheckbox.component.html',\r\n styleUrls: ['./uicheckbox.component.scss'],\r\n})\r\nexport class UICheckboxComponent implements OnInit {\r\n @Input('cb_model') cb_model: UINewControl\r\n @Input('cb_value') cb_value: any\r\n @Input('cb_name') cb_name: any\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n ngOnChanges() {\r\n if (this.cb_model != null && this.cb_model.elementGridDataType == 0) {\r\n this.cb_value = this.cb_model[\"elementDataValKey\"] || \"\";\r\n this.cb_name = this.cb_model[\"elementDataKey\"] || \"\";\r\n }\r\n }\r\n isChecked(val) {\r\n var postParams = this.cb_model['postParams']\r\n var elementFormPostKey = this.cb_model['elementFormPostKey'] || \"\";\r\n var selectedValues = this.cb_model['elementSelectedValues'] || [];\r\n if (postParams.hasOwnProperty(elementFormPostKey)) {\r\n selectedValues = postParams[elementFormPostKey] || [];\r\n }\r\n return selectedValues.indexOf(val) >= 0 ? true : false\r\n }\r\n onChangeEvent(item:any={}) { \r\n var val = this.cb_model['elementGridDataType']>0?this.cb_value:item[this.cb_value] \r\n var postParams = this.cb_model['postParams']\r\n var elementFormPostKey = this.cb_model['elementFormPostKey'] || \"\";\r\n var selectedValues = this.cb_model['elementSelectedValues'] || [];\r\n if (postParams.hasOwnProperty(elementFormPostKey)) {\r\n selectedValues = postParams[elementFormPostKey] || [];\r\n }\r\n var isChecked = selectedValues.filter(f => f == val).length>0?false:true;\r\n if (isChecked) {\r\n selectedValues.push(val)\r\n selectedValues = Array.from(new Set(selectedValues));\r\n } else {\r\n selectedValues = selectedValues.filter(f => f != val);\r\n }\r\n this.cb_model.elementSelectedValues = selectedValues\r\n this.eventHandlerEmitter.emit(this.cb_model);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UICheckboxComponent } from './uicheckbox.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UICheckboxComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[UICheckboxComponent]\r\n})\r\nexport class UICheckboxModule { }\r\n","import { FormStyles, ProElementStyle, ProElementType, UIUnits } from \"./enums\";\r\nimport { UIAction, UIAlignment, UITextAlignment, UITextColor } from \"./enums\";\r\n\r\nexport class UIControl {\r\n public elementDataType: number = 1;\r\n public elementText: string;\r\n public elementTag: number = 0;\r\n public elementDataKey?: string = \"\";\r\n public elementDataValKey?: string = \"\";\r\n public elementFormPostKey?: string = \"\";\r\n public elementPlaceHolder?: string = \"\";\r\n public defaultStyle=0; \r\n public elementVisitorCalStyle = 0 \r\n public elementIcon:string = \"\"\r\n public elementDataArr: any[] = [];\r\n public defaultMin: any = 0;\r\n public defaultMax: any = 10;\r\n public elementSelectedVal:any=\"\"\r\n public elementSelectedValues: any[] = [];\r\n public isMandatory: boolean = false;\r\n public isSelected: boolean = false;\r\n public isEnabled: boolean = true;\r\n public isTextBold: boolean = false;\r\n public imageIcon:string = \"\"\r\n public elementSize:number = -1\r\n public elementStyle:string = ProElementStyle.PrimaryGradiant\r\n public elementType:number = ProElementType.Default\r\n public pickerPresentation:String='date'\r\n constructor(elementDataType, elementTag, elementText) {\r\n this.elementDataType = elementDataType;\r\n this.elementTag = elementTag;\r\n this.elementText = elementText;\r\n }\r\n}\r\nexport class UINewControl {\r\n public elementDataType: number = 1;\r\n public elementText: string;\r\n public elementSubtext: string;\r\n public elementTag: number = 0;\r\n public elementDataKey?: string = \"\";\r\n public elementDataValKey?: string = \"\";\r\n public elementDataDefault?: string = \"\";\r\n public elementFormPostKey?: string = \"\";\r\n public elementPointerEvents?: number = 1;\r\n public elementPlaceHolder?: string = \"\";\r\n public maxSize?:number=0;\r\n public allowOnlyNumerics:number;\r\n public elementDataObj = {};\r\n public elementDataArr: any[] = [];\r\n public elementSelectedVal:any=\"\"\r\n public elementSelectedValues: any[] = [];\r\n public isMandatory: boolean = false;\r\n public isSelected: boolean = false;\r\n public isEnabled: boolean = true;\r\n public elementStyle:string = \"\";\r\n public defaultStyle:number = 1;\r\n public elementRowClass:string=\"\"\r\n public elementErrorClass:string=\"\"\r\n public elementContentClass:string=\"\"\r\n public elementIcon:string = \"\"\r\n public elementID:string =\"\"\r\n public elementStatusIcon:string = \"\"\r\n public elementDateType1: any = \"\"\r\n public elementDateType2: any = \"\"\r\n public elementGridColSize:number = 0\r\n public elementGridDataType:number = 0\r\n public elementCBDVal:any = 0\r\n public elementTextColor: string = UITextColor.Black\r\n public textAlignment: string = UITextAlignment.Left\r\n public elementIconAlignMent:string = '';\r\n public actionEvent: any = UIAction.None;\r\n public defaultMin: any = 0;\r\n public defaultMax: any = 100;\r\n public selectedMin: any = 0;\r\n public selectedMax: any = 100;\r\n public postParams:any = {};\r\n public pickerPresentation:any='date'\r\n public UOM:any=UIUnits.Currency\r\n public popover_type : any \r\n public elementDescription: string = \"\";\r\n public elementInputType:String = 'text';\r\n public elementMaxLength: any;\r\n public elementMinLength: any;\r\n public unSatisfactoryElementPostKeys:any = []\r\n public elementPattern:string = \"\"\r\n public elementErrMsgs:any[] = []\r\n constructor(elementDataType, elementTag, elementText) {\r\n this.elementDataType = elementDataType;\r\n this.elementTag = elementTag;\r\n this.elementText = elementText;\r\n }\r\n}\r\nexport class UIGridView {\r\n public headerTitle = \"\"\r\n public elementModels = {};\r\n public alignment: string = UIAlignment.Left\r\n public gridCBDVal:any=0\r\n constructor(title) {\r\n this.headerTitle = title;\r\n }\r\n}\r\nexport class UIGridViewElementModel {\r\n public elementModel:UINewControl\r\n public childElements:any = []\r\n public elementSize: number = 0\r\n public elementAlignment: string = UIAlignment.Left\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { IonDatetime, ModalController } from '@ionic/angular';\r\nimport { DateHelper } from '../utils/date-helper.service';\r\nimport { UINewControl } from '../uicontrol';\r\n// import { IAngularMyDpOptions } from 'angular-mydatepicker';\r\nimport { UicalendarPage } from '../uicalendar/uicalendar.page';\r\nimport { FormStyles } from '../enums';\r\n@Component({\r\n selector: 'app-uidate-picker',\r\n templateUrl: './uidate-picker.component.html',\r\n styleUrls: ['./uidate-picker.component.scss'],\r\n})\r\nexport class UidatePickerComponent implements OnInit {\r\n // myDpOptions: IAngularMyDpOptions = {\r\n // dateFormat: 'dd/mm/yyyy',\r\n // appendSelectorToBody: true,\r\n // showFooterToday: true,\r\n // todayTxt: 'Today',\r\n // }\r\n @Input('date_picker_model') date_picker_model: UINewControl;\r\n @Input('time_picker_model') time_picker_model : UINewControl;\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @ViewChild(IonDatetime, { static: false }) popoverDatetime: IonDatetime;\r\n openPopOver=false\r\n selectedDate : any= null\r\n selDateNgModel : any=null\r\n minDate=DateHelper.getYMD()\r\n maxDate=new Date().getFullYear()+10;\r\n currentYear = 0;\r\n form_styles = FormStyles\r\n constructor(private modalController:ModalController) {\r\n this.popoverDatetime\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes['date_picker_model']){\r\n setTimeout(() => {\r\n var date = this.date_picker_model['postParams'][this.date_picker_model['elementFormPostKey']] || this.date_picker_model['elementSelectedVal'] || ''\r\n if(date.length>0){\r\n if(this.date_picker_model['pickerPresentation']=='time'){\r\n this.selectedDate=date\r\n this.selDateNgModel = this.selectedDate\r\n }else{\r\n this.selectedDate=DateHelper.convertDMYToYMD(date)\r\n this.selDateNgModel = this.selectedDate\r\n }\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n const date = new Date().getFullYear();\r\n this.currentYear = date;\r\n if(this.date_picker_model['pickerPresentation']=='time'){\r\n const currTime = new Date().toLocaleTimeString().split(\":\")\r\n this.selDateNgModel= `${('0' + currTime[0]).slice(-2)}:${('0' +currTime[1]).slice(-2)}`\r\n } else {\r\n var tmpDt = this.date_picker_model['postParams']?(this.date_picker_model['postParams'][this.date_picker_model['elementFormPostKey']] || this.date_picker_model['elementSelectedVal'] || ''):(this.date_picker_model['elementSelectedVal'] || '')\r\n this.selDateNgModel=(tmpDt.length>0)?(DateHelper.convertDMYToYMD(tmpDt)):(DateHelper.getYMD())\r\n }\r\n }\r\n\r\n onChangeEvent(val: any) { \r\n this.selectedDate=val\r\n if(this.date_picker_model['pickerPresentation']=='date'){\r\n this.date_picker_model.elementSelectedVal=DateHelper.convertYMDToDMY(val)\r\n } else if(this.date_picker_model['pickerPresentation']=='month-year'){\r\n this.date_picker_model.elementSelectedVal=DateHelper.convertYMDToMY(val)\r\n } else if(this.date_picker_model['pickerPresentation']=='time'){\r\n this.date_picker_model.elementSelectedVal= this.selectedDate//DateHelper.convertYMDToTime(val)\r\n }\r\n this.eventHandlerEmitter.emit(this.date_picker_model);\r\n }\r\n\r\n\r\n async openCalendar() {\r\n if(!this.date_picker_model['isEnabled']){\r\n return\r\n }\r\n var tmpObj = {\"view_type\":1}\r\n if(this.date_picker_model['pickerPresentation']=='time'){\r\n const tm = this.date_picker_model['elementSelectedVal'] || \"\"\r\n tmpObj[\"view_type\"] = 2\r\n tmpObj[\"sel_time\"] = {\"hh\":\"\",\"mm\":\"\",\"time\":tm}\r\n }else{\r\n this.selDateNgModel = DateHelper.convertDMYToYMD(this.date_picker_model.elementSelectedVal)\r\n tmpObj['date_opts']={'min_dt':this.date_picker_model['defaultMin'] || '','max_dt':(typeof this.date_picker_model['defaultMax'] === 'string'?(this.date_picker_model['defaultMax'] || ''):'')}\r\n tmpObj[\"selected_date\"] = this.selDateNgModel\r\n }\r\n const modal = await this.modalController.create({\r\n component: UicalendarPage,\r\n cssClass: 'modal-transparency',\r\n componentProps: tmpObj\r\n });\r\n modal.onDidDismiss().then((data) => {\r\n const tmpData = data['data'] || {}\r\n if(this.date_picker_model['pickerPresentation']=='time'){\r\n if(tmpData['time']){\r\n this.selDateNgModel = tmpData['time']\r\n this.onChangeEvent(this.selDateNgModel)\r\n }\r\n } else {\r\n if(tmpData['unix_date_format']){\r\n this.selDateNgModel = tmpData['unix_date_format']\r\n this.onChangeEvent(this.selDateNgModel)\r\n }\r\n }\r\n })\r\n return await modal.present();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UidatePickerComponent } from './uidate-picker.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { UicalendarPageModule } from '../uicalendar/uicalendar.module';\r\n@NgModule({\r\n declarations: [UidatePickerComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n UicalendarPageModule\r\n ],\r\n exports:[UidatePickerComponent]\r\n})\r\nexport class UIDatePickerModule { }\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { UIControl, UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-uidropdown',\r\n templateUrl: './uidropdown.component.html',\r\n styleUrls: ['./uidropdown.component.scss'],\r\n})\r\nexport class UIDropdownComponent implements OnInit,OnChanges{\r\n @Input('dd_model') dd_model: UINewControl;\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n lang_code = \"\"\r\n toggle_tag = false;\r\n filter_data_arr = [];\r\n filterTerm: any;\r\n dataArrKey = 'elementDataArr'\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n console.log(this.dd_model)\r\n }\r\n ngOnChanges(){\r\n // console.log(this.dd_model,\"00000000000\")\r\n }\r\n\r\n onSelect(item) {\r\n this.toggle_tag = !this.toggle_tag\r\n this.dd_model.elementSelectedValues = [item]\r\n console.log(this.dd_model)\r\n this.eventHandlerEmitter.emit(this.dd_model);\r\n }\r\n\r\n hideDropDown() {\r\n this.filterTerm = \"\";\r\n this.toggle_tag = false\r\n }\r\n\r\n toggleDropDown() {\r\n if (this.dd_model.isEnabled)\r\n this.toggle_tag = !this.toggle_tag\r\n }\r\n\r\n getImageIcon() {\r\n if (this.dd_model.elementSelectedValues.length > 0) {\r\n const tmpObj = this.dd_model.elementSelectedValues[0]\r\n return tmpObj[this.dd_model.elementIcon] || \"\"\r\n }\r\n return \"\"\r\n }\r\n\r\n displayLangText() {\r\n const txt = this.dd_model.elementPlaceHolder;\r\n if (this.dd_model.elementSelectedValues.length > 0) {\r\n const tmpObj = this.dd_model.elementSelectedValues[0]\r\n return tmpObj[this.dd_model.elementDataKey]\r\n }\r\n return txt // language[txt][this.lang_code]\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UIDropdownComponent } from './uidropdown.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { IonicModule } from '@ionic/angular';\r\n// import { Ng2SearchPipeModule } from 'ng2-search-filter';\r\n\r\n\r\n@NgModule({\r\n declarations: [UIDropdownComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n Ng2SearchPipeModule\r\n ],\r\n exports:[UIDropdownComponent]\r\n})\r\nexport class UIDropdownModule { }\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataFetcherService } from 'src/app/services/data-fetcher/data-fetcher.service';\r\n@Component({\r\n selector: 'app-uifollow',\r\n templateUrl: './uifollow.component.html',\r\n styleUrls: ['./uifollow.component.scss'],\r\n})\r\nexport class UifollowComponent implements OnInit {\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @Input() ReadOnly: boolean = false\r\n @Input() followCount: boolean = false\r\n @Input() customInputData: any = {\r\n 'class': '',\r\n 'fav_id': 0,\r\n 'object_id': '',\r\n 'object_type': '',\r\n 'user_id': '',\r\n 'fav_status': 0,\r\n 'fav_count': 0,\r\n 's_img': '',\r\n 'us_img': '',\r\n 'width': 0,\r\n 'height': 0,\r\n 'created_by': '',\r\n 'color': '#000'\r\n }\r\n follow_load: boolean = false;\r\n\r\n constructor(\r\n private _http: DataFetcherService,\r\n private alert: AlertHandlerService,\r\n private ref: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n setMyStyles() {\r\n let styles: any = {};\r\n if (this.customInputData['width']) styles['width'] = this.customInputData['width'] + \"px\"\r\n if (this.customInputData['height']) styles['height'] = this.customInputData['height'] + \"px\"\r\n return styles;\r\n }\r\n\r\n onFollowClick() {\r\n this.follow_load = true;\r\n if (this.customInputData.hasOwnProperty('fav_id') && parseInt(this.customInputData['fav_id']) > 0) {\r\n let fav = (this.customInputData['fav_status'] == 1 ? 0 : 1)\r\n let params = { \"ID\": this.customInputData['fav_id'], \"Favourite\": fav }\r\n this.updateFav(2, params);\r\n } else {\r\n var favParams = {\r\n 'ListingID': this.customInputData['object_id'],\r\n 'Type': this.customInputData['object_type'],\r\n 'Favourite': 1,\r\n 'ProppyUserID': this.customInputData['user_id']\r\n }\r\n this.updateFav(1, favParams);\r\n }\r\n }\r\n\r\n updateFav(type: number, params: any) {\r\n /******\r\n * 1 - ADD \r\n * 2 - Update\r\n ******/\r\n let url = (type == 1 ? ApiService.ADD_PROPERTYMARKET_USER_FAVOURITE : ApiService.UPDATE_PROPERTYMARKET_USER_FAVOURITE);\r\n if ((url || '').length == 0) return this.follow_load = false;\r\n this._http.doPost(url, params).subscribe(res => {\r\n const status = res['status'] || false;\r\n this.customInputData['status'] = status;\r\n if (status) {\r\n if (params.hasOwnProperty('ID') && parseInt(params['ID']) > 0) {\r\n this.customInputData['fav_status'] = params['Favourite']\r\n if (this.customInputData.hasOwnProperty('fav_count'))\r\n this.customInputData['fav_count'] += (Number(params['Favourite']) == 1 ? +1 : -1)\r\n } else {\r\n this.customInputData['fav_id'] = res['insertedRow']['ID']\r\n this.customInputData['fav_status'] = 1;\r\n if (this.customInputData.hasOwnProperty('fav_count'))\r\n this.customInputData['fav_count'] += 1;\r\n }\r\n this.follow_load = false;\r\n this.customInputData['updated_Follow_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.ref.detectChanges();\r\n } else {\r\n this.follow_load = false;\r\n this.customInputData['updated_Follow_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(res['msg'] || res['error'] || ApiService.ERROR_TOAST_MSG);\r\n }\r\n }, (error) => {\r\n this.follow_load = false;\r\n this.customInputData['status'] = false;\r\n this.customInputData['updated_Follow_status'] = 1\r\n this.eventHandlerEmitter.emit(this.customInputData);\r\n this.alert.presenToast(error['error'] || ApiService.ERROR_TOAST_MSG);\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UifollowComponent } from './uifollow.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\n@NgModule({\r\n declarations: [UifollowComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule\r\n ],\r\n exports: [UifollowComponent]\r\n})\r\nexport class UifollowModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ModalController, NavController } from '@ionic/angular';\r\nimport { UIAction } from '../enums';\r\nimport { UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-uiimg',\r\n templateUrl: './uiimg.component.html',\r\n styleUrls: ['./uiimg.component.scss'],\r\n})\r\nexport class UiimgComponent implements OnInit {\r\n \r\n @Input('img_model') img_model: UINewControl;\r\n lang_code = \"\";\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = {\"class\":\"\",\"src\":\"\",'width':25,'height':25}\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor(private router: Router,private navCtrl: NavController,private modalController:ModalController) {\r\n\r\n }\r\n ngOnInit() {}\r\n onClick(){\r\n let actionEvent = this.img_model['actionEvent'] || 0;\r\n let routePath=this.img_model['routePath'] || ''\r\n if(actionEvent == UIAction.Previous && routePath){\r\n this.navCtrl.navigateBack(routePath); // Previous URL\r\n }else if(actionEvent == UIAction.Previous){\r\n this.navCtrl.back() // Previous URL\r\n }else if(actionEvent == UIAction.Next && routePath){\r\n this.navCtrl.navigateForward(routePath); // next URL\r\n }else if(actionEvent == UIAction.Dismiss){\r\n this.modalController.dismiss()\r\n } else { // this is for Api Service call for Save \r\n this.eventHandlerEmitter.emit(this.img_model);\r\n }\r\n }\r\n\r\n setMyStyles() {\r\n let styles = {\r\n 'background-color': this.customInputData['background-color'] ? this.customInputData['background-color'] : 'transparent',\r\n 'color': this.customInputData['color'] ? this.customInputData['color'] : '#000',\r\n 'border-radius': this.customInputData['border-radius'] ? this.customInputData['border-radius'] : '',\r\n 'margin-top': this.customInputData['margin-top'] ? this.customInputData['margin-top'] : ''\r\n };\r\n if(this.customInputData['width']){\r\n styles['width'] = this.customInputData['width']+\"px\"\r\n }\r\n if(this.customInputData['height']){\r\n styles['height'] = this.customInputData['height']+\"px\"\r\n }\r\n return styles;\r\n}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UiimgComponent } from './uiimg.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\n@NgModule({\r\n declarations: [UiimgComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule \r\n ],\r\n exports:[UiimgComponent]\r\n})\r\nexport class UIImgModule { }","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ModalController, NavController } from '@ionic/angular';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { UIAction } from '../enums';\r\nimport { UIControl } from '../uicontrol';\r\n@Component({\r\n selector: 'app-uilabel',\r\n templateUrl: './uilabel.component.html',\r\n styleUrls: ['./uilabel.component.scss'],\r\n})\r\nexport class UilabelComponent implements OnInit {\r\n\r\n @Input('label_model') label_model: UIControl;\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = {\"class\":\"\",\"text\":\"\",'color':'#000'}\r\n lang_code = \"\"\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor(private router: Router,private navCtrl: NavController,private modalController:ModalController) {\r\n // DBHandlerService.getDataFromStorage(ApiService.LBDB_LANG_CODE,(val => {\r\n // this.lang_code = (val != null?val:ApiService.DEFAULT_LANG_CODE);\r\n // }))\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n onClick(){\r\n let actionEvent = this.label_model['actionEvent'];\r\n if(actionEvent == UIAction.Previous && this.label_model['routePath']){\r\n this.navCtrl.navigateBack(this.label_model['routePath']); // Previous URL\r\n }else if(actionEvent == UIAction.Previous){\r\n this.navCtrl.back() // Previous URL\r\n }else if(actionEvent == UIAction.Next && this.label_model['routePath']){\r\n this.navCtrl.navigateForward(this.label_model['routePath']); // next URL\r\n }else if(actionEvent == UIAction.Dismiss){\r\n this.modalController.dismiss\r\n } else { // this is for Api Service call for Save \r\n this.eventHandlerEmitter.emit(this.label_model);\r\n }\r\n }\r\n setMyStyles() {\r\n let styles = {\r\n 'background-color': this.customInputData['background-color'] ? this.customInputData['background-color'] : 'transparent',\r\n 'color': this.customInputData['color'] ? (this.customInputData['color']=='NONE'?'':this.customInputData['color']) : '#000',\r\n 'margin-left': this.customInputData['margin-left'] ? this.customInputData['margin-left'] : '',\r\n 'margin-top': this.customInputData['margin-top'] ? this.customInputData['margin-top'] : '',\r\n 'margin-bottom': this.customInputData['margin-bottom'] ? this.customInputData['margin-bottom'] : ''\r\n };\r\n return styles;\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UilabelComponent } from './uilabel.component';\r\nimport { IonicModule } from '@ionic/angular';\r\n@NgModule({\r\n declarations: [UilabelComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n ],\r\n exports:[UilabelComponent]\r\n})\r\nexport class UILabelModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UIControl, UINewControl } from '../uicontrol';\r\n\r\n@Component({\r\n selector: 'app-uiradio-button',\r\n templateUrl: './uiradio-button.component.html',\r\n styleUrls: ['./uiradio-button.component.scss'],\r\n})\r\nexport class UIRadioButtonComponent implements OnInit {\r\n @Input('rb_model') rb_model: UINewControl;\r\n @Input('rb_value') rb_value: any\r\n @Input('rb_name') rb_name: any\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n ngOnChanges() {\r\n if (this.rb_model != null && this.rb_model.elementGridDataType == 0) {\r\n this.rb_value = this.rb_model[\"elementDataValKey\"] || \"\";\r\n this.rb_name = this.rb_model[\"elementDataKey\"] || \"\";\r\n }\r\n }\r\nisChecked(val) {\r\n var postParams = this.rb_model['postParams']\r\n var elementFormPostKey = this.rb_model['elementFormPostKey'] || \"\";\r\n var selectedValues = this.rb_model['elementSelectedValues'] || [];\r\n if (postParams.hasOwnProperty(elementFormPostKey)) {\r\n selectedValues = postParams[elementFormPostKey] || [];\r\n }\r\n return selectedValues.indexOf(val) >= 0 ? true : false\r\n }\r\n onChangeEvent(item:any={}) {\r\n var val = this.rb_model['elementGridDataType']>0?this.rb_value:item[this.rb_value]\r\n this.rb_model.elementSelectedValues = [val]\r\n this.eventHandlerEmitter.emit(this.rb_model);\r\n } \r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UIRadioButtonComponent } from './uiradio-button.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UIRadioButtonComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n FormsModule\r\n ],\r\n exports:[UIRadioButtonComponent]\r\n})\r\nexport class UIRadioButtonModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AlertHandlerService } from 'src/app/services/alert-handler.service';\r\nimport { FormStyles, UIAction, UIDatatypes } from '../enums';\r\nimport { UINewControl } from '../uicontrol';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n@Component({\r\n selector: 'app-uitext-field',\r\n templateUrl: './uitext-field.component.html',\r\n styleUrls: ['./uitext-field.component.scss'],\r\n})\r\nexport class UITextFieldComponent implements OnInit {\r\n @Input('text_field_model') text_field_model: UINewControl;\r\n @Output() eventHandlerEmitter = new EventEmitter();\r\n @Input() isCustom: boolean = false\r\n @Input() customInputData: any = {\"class\":\"\",\"text\":\"\",'color':'#000'}\r\n ui_data_styles = FormStyles;\r\n ui_actions=UIAction;\r\n secure_text=true;\r\n show=true;\r\n constructor(private alertHandler: AlertHandlerService) { }\r\n\r\n ngOnInit() { }\r\n\r\n onChangeEvent(e) {\r\n if(this.text_field_model.elementDataType!=UIDatatypes.currencyMaskTextField){\r\n this.text_field_model.elementSelectedVal = e.target.value\r\n }\r\n this.eventHandlerEmitter.emit(this.text_field_model); \r\n if (this.text_field_model['elementInputType'] == 'number' || this.text_field_model['elementInputType'] == 'numeric') {\r\n var valid = this.numberOnlyValidation(e)\r\n if (!valid) {\r\n e.target.value = e.target.value.slice(0, -1)\r\n this.text_field_model.elementSelectedVal = e.target.value\r\n this.alertHandler.presenToast(\"Please Enter Numbers Only\");\r\n return;\r\n }\r\n }\r\n if(this.text_field_model['elementPattern'] && this.text_field_model['elementPattern'].length>0){\r\n if (!ApiService[this.text_field_model['elementPattern']].test(e.target.value)) {\r\n e.preventDefault();\r\n this.text_field_model.elementSelectedVal = e.target.value.slice(0, -1)\r\n return this.alertHandler.presenToast(`${this.text_field_model['elementErrMsgs']['pattern_validation_msg']}`);\r\n }\r\n return true\r\n }\r\n }\r\n\r\n onIconClick(action){\r\n this.eventHandlerEmitter.emit({...this.text_field_model,actionEvent:action})\r\n }\r\n setMyStyles() {\r\n let styles = {\r\n 'background-color': this.customInputData['background-color'] ? this.customInputData['background-color'] : 'transparent',\r\n 'color': this.customInputData['color'] ? this.customInputData['color'] : '#000',\r\n };\r\n return styles;\r\n }\r\n\r\n numberOnlyValidation(event: any) {\r\n return !isNaN(event.target.value)\r\n var pattern;\r\n if (this.text_field_model['elementInputType'] == 'number') {\r\n pattern = /[0-9]/\r\n } else if (this.text_field_model['elementInputType'] == 'numeric') {\r\n pattern = /[0-9.]/\r\n }\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n return false\r\n }\r\n return true\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UITextFieldComponent } from './uitext-field.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\n@NgModule({\r\n declarations: [UITextFieldComponent],\r\n imports: [\r\n FormsModule,\r\n CommonModule,\r\n IonicModule,\r\n CurrencyMaskModule\r\n ],\r\n exports:[UITextFieldComponent]\r\n})\r\nexport class UITextFieldModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DatePipe } from '../date.pipe';\r\nimport { ImageSanitizer } from '../iamge-sanitizer.pipe';\r\nimport { LangPipe } from 'src/app/services/middleware/lang.pipe';\r\n\r\n@NgModule({\r\n declarations: [DatePipe,ImageSanitizer,LangPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports:[\r\n DatePipe,\r\n LangPipe,\r\n ImageSanitizer\r\n ]\r\n})\r\nexport class CustomPipeModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { DataFetcherService } from \"src/app/services/data-fetcher/data-fetcher.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DateHelper {\r\n constructor() {\r\n }\r\n static getDate(day, month, year) {\r\n return new Date(year, month, 1);\r\n }\r\n static getYMD(dt = new Date()) {\r\n var mnth = (\"0\" + (dt.getMonth() + 1)).slice(-2)\r\n var day = (\"0\" + dt.getDate()).slice(-2)\r\n return dt.getFullYear() + \"-\" + mnth + \"-\" + day;\r\n }\r\n static getDMY(dt = new Date()) {\r\n var mnth = (\"0\" + (dt.getMonth() + 1)).slice(-2)\r\n const day = (\"0\" + dt.getDate()).slice(-2)\r\n return day + \"/\" + mnth + \"/\" + dt.getFullYear();\r\n }\r\n\r\n static getYMDT(dtndTime = new Date()) {\r\n var mnth = (\"0\" + (dtndTime.getMonth() + 1)).slice(-2)\r\n var day = (\"0\" + dtndTime.getDate()).slice(-2)\r\n var hours = (\"0\" + dtndTime.getHours()).slice(-2)\r\n var min = (\"0\" + dtndTime.getMinutes()).slice(-2)\r\n var strTime = hours + ':' + min\r\n return dtndTime.getFullYear() + \"/\" + mnth + \"/\" + day + \" \" + strTime\r\n }\r\n\r\n static getYMDH(dtndTime = new Date()) {\r\n var mnth = (\"0\" + (dtndTime.getMonth() + 1)).slice(-2)\r\n var day = (\"0\" + dtndTime.getDate()).slice(-2)\r\n var hours = (\"0\" + dtndTime.getHours()).slice(-2)\r\n return dtndTime.getFullYear() + \"-\" + mnth + \"-\" + day+ \"_\" + hours\r\n }\r\n\r\n static getMyTime(tim = new Date()) {\r\n var hrs = tim.getHours()\r\n var mini = tim.getMinutes()\r\n var ampm = hrs >= 12 ? 'PM' : 'AM';\r\n var hours = (\"0\" + tim.getHours()).slice(-2)\r\n var min = (\"0\" + tim.getMinutes()).slice(-2)\r\n var strTime = hours + ':' + min + ' ' + ampm;\r\n return strTime;\r\n }\r\n\r\n static convertDMYToYMD(dt) {\r\n var dateSplit = dt.split(\"/\");\r\n if (dateSplit.length > 2) {\r\n var day = dateSplit[0];\r\n var mnth = dateSplit[1];\r\n var year = dateSplit[2];\r\n return year + \"-\" + mnth + \"-\" + day;\r\n }\r\n return \"\";\r\n }\r\n static convertYMDToDMY(dt) {\r\n if (dt.includes('T')) {\r\n dt = dt.split('T')[0]\r\n }\r\n var dateSplit = dt.split(\"-\");\r\n if (dateSplit.length > 2) {\r\n var day = dateSplit[2];\r\n var mnth = dateSplit[1];\r\n var year = dateSplit[0];\r\n return day + \"/\" + mnth + \"/\" + year;\r\n }\r\n return \"\";\r\n }\r\n\r\n static convertYMDToMY(dt) {\r\n if (dt.includes('T')) {\r\n dt = dt.split('T')[0]\r\n }\r\n var dateSplit = dt.split(\"-\");\r\n if (dateSplit.length > 2) {\r\n var mnth = dateSplit[1];\r\n var year = dateSplit[0];\r\n return mnth + \"/\" + year;\r\n }\r\n return \"\";\r\n }\r\n\r\n static convertYMDToTime(dt) {\r\n if (dt.includes('T')) {\r\n dt = dt.split('T')[1]\r\n }\r\n var timeObject = dt.split(\"+\")[0];\r\n var timeSplit = timeObject.split(\":\")\r\n if (timeSplit.length > 2) {\r\n var hr = timeSplit[0];\r\n var min = timeSplit[1];\r\n var sec = timeSplit[2];\r\n return hr + \":\" + min;\r\n }\r\n return \"\";\r\n }\r\n\r\n static convertDatePickerDate(dataObj) {\r\n if (dataObj.hasOwnProperty(\"day\")) {\r\n var day = (\"0\" + (dataObj[\"day\"])).slice(-2);\r\n var mnth = (\"0\" + (dataObj[\"month\"])).slice(-2);\r\n var year = (dataObj[\"year\"]);\r\n return day + \"/\" + mnth + \"/\" + year;\r\n }\r\n return \"\";\r\n }\r\n static convertDatePickerDateToUnixFormat(dataObj) {\r\n if (dataObj.hasOwnProperty(\"singleDate\")) {\r\n var dateObj = dataObj['singleDate']['date']\r\n var day = (\"0\" + (dateObj[\"day\"])).slice(-2);\r\n var mnth = (\"0\" + (dateObj[\"month\"])).slice(-2);\r\n var year = (dateObj[\"year\"]);\r\n return year + \"-\" + mnth + \"-\" + day;\r\n }\r\n return \"\";\r\n }\r\n static getDatePickerDateFormat(dateStr = \"\") {\r\n if (dateStr.length == 0) {\r\n dateStr = DateHelper.getDMY();\r\n }\r\n var dateSplit = dateStr.split(\"/\");\r\n return { \"day\": parseInt(dateSplit[0]), \"month\": parseInt(dateSplit[1]), \"year\": parseInt(dateSplit[2]) }\r\n }\r\n static getDatePickerMYFormat(dateStr = \"\") {\r\n if (dateStr.length == 0) {\r\n dateStr = DateHelper.getDMY();\r\n }\r\n var dateSplit = dateStr.split(\"/\");\r\n return { \"month\": parseInt(dateSplit[0]), \"year\": parseInt(dateSplit[1]) }\r\n }\r\n static previousDate(dt=1) {\r\n let prev_date = new Date();\r\n prev_date.setDate(prev_date.getDate() - dt);\r\n let date = new Date(prev_date)\r\n let month = (\"0\" + (date.getMonth() + 1)).slice(-2)\r\n let day = (\"0\" + date.getDate()).slice(-2);\r\n return { year: date.getFullYear(), month: parseInt(month), day: parseInt(day) }\r\n }\r\n static futureDate() {\r\n let future_date = new Date();\r\n future_date.setDate(future_date.getDate() + 1);\r\n let date = new Date(future_date)\r\n let month = (\"0\" + (date.getMonth() + 1));\r\n let day = (\"0\" + date.getDate());\r\n return { year: date.getFullYear(), month: parseInt(month), day: parseInt(day) }\r\n }\r\n static getYears() {\r\n var start_year = 2022;\r\n var cur_date = new Date();\r\n var curr_year = cur_date.getFullYear()\r\n var years: any = []\r\n for (var index = start_year; index <= (curr_year + 1); index++) {\r\n years.push(index)\r\n }\r\n return years\r\n }\r\n static getDateDiff(start_date, end_date, format = 'dd/MM/yyyy') {\r\n var dt1 = DateHelper.getStringToDate(start_date, format);\r\n var dt2 = DateHelper.getStringToDate(end_date, format);\r\n return Math.floor((Date.UTC(dt2.getFullYear(), dt2.getMonth(), dt2.getDate()) - Date.UTC(dt1.getFullYear(), dt1.getMonth(), dt1.getDate())) / (1000 * 60 * 60 * 24))\r\n }\r\n static getStringToDate(_date, _format = 'dd/MM/yyyy') {\r\n var _delimiter = _format.includes('/') ? '/' : '-'\r\n var formatLowerCase = _format.toLowerCase();\r\n var formatItems = formatLowerCase.split(_delimiter);\r\n var dateItems = _date.split(_delimiter);\r\n var monthIndex = formatItems.indexOf(\"mm\");\r\n var dayIndex = formatItems.indexOf(\"dd\");\r\n var yearIndex = formatItems.indexOf(\"yyyy\");\r\n var year = parseInt(dateItems[yearIndex]);\r\n // adjust for 2 digit year\r\n if (year < 100) { year += 2000; }\r\n var month = parseInt(dateItems[monthIndex]);\r\n month -= 1;\r\n var formatedDate = new Date(year, month, dateItems[dayIndex]);\r\n return formatedDate;\r\n }\r\n static getMonth(tdate = new Date()) {\r\n let month = tdate.getMonth() + 1;\r\n var filter_data = JSON.parse(JSON.stringify(ApiService.MONTH_NAMES)).filter((m) => m[\"id\"] == month);\r\n if (filter_data.length > 0) {\r\n var tmpObj = filter_data[0];\r\n tmpObj[\"year\"] = tdate.getFullYear();\r\n return filter_data[0];\r\n }\r\n return {};\r\n }\r\n static getWeekDates(month, year) {\r\n month = (\"0\" + month).slice(-2)\r\n var firstDate = new Date(`${year + '-' + month + '-01'}T00:00:00Z`)\r\n var lastDate = new Date(year, month, 0);\r\n return this.getDatesBetweenDates(\r\n this.startOfWeek(firstDate),\r\n this.startOfWeek(lastDate, false)\r\n );\r\n }\r\n static startOfWeek(date, isStart = true) {\r\n var diff = date.getDate() - date.getDay() + (date.getDay() === 0 ? -6 : 1);\r\n if (!isStart) {\r\n diff = date.getDate() + (7 - (date.getDay() - 1));\r\n if (date.getDay() == 0) {\r\n diff = date.getDate() + 1;\r\n }\r\n }\r\n return new Date(date.setDate(diff));\r\n }\r\n static getDatesBetweenDates = (startDate, endDate, day_nums: any = []) => {\r\n let dates: any = [];\r\n //to avoid modifying the original date\r\n const theDate = new Date(startDate);\r\n while (theDate <= endDate) {\r\n var month = theDate.getMonth() + 1;\r\n let format_month = (\"0\" + month).slice(-2);\r\n let formatted_day = (\"0\" + theDate.getDate()).slice(-2);\r\n let unix_date =\r\n theDate.getFullYear() + \"-\" + format_month + \"-\" + formatted_day;\r\n const formatted_date_info = {\r\n day: theDate.getDay(),\r\n dayName: ApiService.SINGLELETTERWEEKDAYS[theDate.getDay()],\r\n fullDayName: ApiService.THREELETTERWEEKDAYS[theDate.getDay()],\r\n unix_date_format: unix_date,\r\n display_date_format: DateHelper.convertYMDToDMY(unix_date),\r\n format_day: formatted_day,\r\n month: month,\r\n format_month: format_month,\r\n year: theDate.getFullYear(),\r\n };\r\n if (day_nums.length > 0) {\r\n if (day_nums.includes(theDate.getDay())) {\r\n dates = [...dates, formatted_date_info];\r\n }\r\n } else {\r\n dates = [...dates, formatted_date_info];\r\n }\r\n theDate.setDate(theDate.getDate() + 1);\r\n }\r\n return dates;\r\n };\r\n\r\n static covertLongToShortDate(longDate, type) {\r\n const convertDate = new Date(longDate);\r\n const date = convertDate.getDate()\r\n const month = convertDate.getMonth() + 1\r\n const year = convertDate.getFullYear()\r\n if (type == 1) {\r\n var updatedDate = date + '/' + month + '/' + year\r\n } else {\r\n var updatedDate = year + '-' + month + '-' + date\r\n }\r\n return updatedDate;\r\n }\r\n\r\n static covertTimeToMinutes(fulltime, type) {\r\n if (type == 1) {\r\n const convertTime = timeStr => {\r\n const [time, modifier] = timeStr.split(' ');\r\n let [hours, minutes] = time.split(':');\r\n if (hours === '12') {\r\n hours = '00';\r\n }\r\n if (modifier === 'PM') {\r\n hours = parseInt(hours, 10) + 12;\r\n }\r\n return `${hours}:${minutes}`;\r\n };\r\n const tempTime = convertTime(fulltime).split(':')\r\n const hr = Number(tempTime[0])\r\n const min = Number(tempTime[1])\r\n const totalMinutes = (hr * 60) + min;\r\n return totalMinutes;\r\n } else if (type == 2) {\r\n const today = new Date();\r\n const totalMinutes = (today.getHours() * 60) + today.getMinutes();\r\n return totalMinutes;\r\n }\r\n }\r\n\r\n static convertDMYToDM(date) {\r\n const splitDate = date.split('/');\r\n const tempDate = splitDate[0];\r\n const tempMnth = splitDate[1];\r\n const requiredFormat = tempDate + '/' + tempMnth;\r\n return requiredFormat;\r\n }\r\n\r\n static toHoursAndMinutes(totalMinutes) {\r\n const hours = Math.floor(totalMinutes / 60);\r\n const minutes = totalMinutes % 60;\r\n return `${hours>0?hours+(hours==1?' Hour':' Hours'):''} ${minutes>0?minutes + ' Minutes':''}`;\r\n }\r\n\r\n static getDMMMY(dt = new Date()) {\r\n const mnth = ApiService.THREELETTER_MONTH_NAMES[dt.getMonth()]\r\n const day = (\"0\" + dt.getDate()).slice(-2)\r\n return day + \" \" + mnth + \" \" + dt.getFullYear();\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'datePipe'\r\n})\r\nexport class DatePipe implements PipeTransform {\r\n\r\n transform(dt: any, ...args: any[]): unknown {\r\n if (args.length > 1) {\r\n const dt2 = new Date(dt)\r\n if (args[0].length>0 && args[1].length>0){ //disable future dates\r\n // console.log(dt2,new Date(args[0]),new Date(args[1]),((dt2 > new Date(args[0]) && dt2 < new Date(args[1]))))\r\n if((dt2 > new Date(args[0]) && dt2 < new Date(args[1]))) return false\r\n return true\r\n }else if (args[0].length>0 && dt2 < new Date(args[0])) //disable future dates\r\n return true\r\n else if (args[1].length>0 && dt2 > new Date(args[1]) ) //disable past dates\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { WebView } from '@ionic-native/ionic-webview/ngx';\r\nimport { Platform } from '@ionic/angular';\r\n@Pipe({\r\n name: 'imgSanitizerPipe',\r\n pure: false,\r\n})\r\nexport class ImageSanitizer implements PipeTransform {\r\n constructor(private plt: Platform, private sanitizer: DomSanitizer,private webview:WebView) {}\r\n transform(img_url: any): unknown {\r\n if ((img_url || '').startsWith('http')) {\r\n return img_url;\r\n }\r\n if (this.plt.is('ios')) {\r\n let converted = this.webview.convertFileSrc(img_url);\r\n const safeImg = this.sanitizer.bypassSecurityTrustUrl(converted);\r\n return safeImg;\r\n }\r\n return img_url;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ModalController, NavParams } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-view-video',\r\n templateUrl: './view-video.page.html',\r\n styleUrls: ['./view-video.page.scss'],\r\n})\r\nexport class ViewVideoPage implements OnInit {\r\n public videourl;\r\n constructor(\r\n private activeRoute:ActivatedRoute,\r\n public modalCtrl:ModalController,\r\n public navParms:NavParams,\r\n public sanitizer:DomSanitizer\r\n ) { \r\n //console.log(' this.navParms', this.navParms.data.url)\r\n this.videourl = this.navParms.data.url\r\n // console.log(this.videourl)\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dismiss(){\r\n this.modalCtrl.dismiss();\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n baseApiUrl : `https://proffice.proppyapp.biz/`,\r\n production: true,\r\n talkjs:{\r\n appId: \"B5CQLXHh\",\r\n },\r\n initial_route:\"login\",\r\n app_version:\"05.02.86\",\r\n admob_app_id:\"ca-app-pub-5474366311557908~1880456713\",\r\n ios_admob_app_id:'ca-app-pub-5474366311557908~9518972267',\r\n android_google_map_key:\"AIzaSyDjOYLgD-5aHhASmWFiuLxauX5P6jgEBis\",\r\n ios_google_map_key:\"AIzaSyAXaIHt5tndDurqfi09abnBR5IZOTDOtSY\",\r\n talk_js_bearer_api_key:\"sk_live_3YpaZS6jIwQuxaZyimb156SX2mxq6rEA\",\r\n fd_login_url : `https://www.proppyapp.my/sso/`,\r\n fd_api_url : `https://proppy.freshdesk.com/`\r\n};\r\n\r\n\r\nexport const url = 'https://api.proppyapp.biz/api';\r\nexport const base_path = 'https://api.proppyapp.biz/api/'\r\nexport const payment_portal = \"https://advertiser.proppyapp.biz/\"\r\nexport const cdn_portal = \"https://cdn.proppyapp.biz/\"\r\nexport const faq_portal = \"https://support.proppyapp.com/\"\r\nexport const deep_link_base_url = \"https://proppyapp.my/\"\r\nexport const deep_link_hostname = \"proppyapp.my\"\r\nexport const new_deep_link_base_url = \"https://proppyapp.my/?AccessID=\"\r\nexport const proppy_web_url =\"https://proppyapp.my/\"\r\nexport const c360_web_url =\"https://web.c360.life/\"\r\nexport const zoloz_api_url = \"https://ekyc.proppyapp.net/\"\r\nexport const zoloz_h5_url = \"https://www.proppyapp.biz/ZoloZ/ekyc.html\"\r\nexport const proffis_deep_link_base_url = \"https://proffis.biz/?AccessID=\"\r\nexport const PROFFICE_API_URL = 'https://profficenet.proppyapp.biz/api/'\r\nexport const STATIC_API_TOKEN = \"cNePnlMRjx63daDd0bU0X33F94cCdvj3zgVEP41y9EeEAzpJh5OgWtJ8r18MZPYAzx\"\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n// if(window){\r\n// window.console.log = window.console.warn = window.console.info = function(){\r\n// // Don't log anything.\r\n// };\r\n// }\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t70079,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t25593,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t13225,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t4812,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t86655,\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t44856,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t13059,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t58648,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t98308,\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t44690,\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t64090,\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t36214,\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t69447,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime-button.entry.js\": [\n\t\t17950,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-caf38df0_js-node_modules_ionic_core_dist_esm_th-d3ab8e\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime-button_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t79689,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-caf38df0_js-node_modules_ionic_core_dist_esm_th-d3ab8e\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t18840,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t40749,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t69667,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t83288,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t35473,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t53634,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t22855,\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t495,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t58737,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t99632,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t54446,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t32275,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t4047,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t18994,\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t23592,\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t35454,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t290,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t92666,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t64816,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t45534,\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t94902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t91938,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t78179,\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t90668,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t61624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t19989,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t28902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t70199,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t48395,\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t96357,\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t38268,\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t15269,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t32875,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 50863;\nmodule.exports = webpackAsyncContext;","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":[],"sourceRoot":"webpack:///"}