{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/_helpers/auth.guard.ts","webpack:///src/app/_helpers/error.interceptor.ts","webpack:///src/app/_helpers/index.ts","webpack:///src/app/_helpers/jwt.interceptor.ts","webpack:///src/app/_models/index.ts","webpack:///src/app/_models/pets.ts","webpack:///src/app/_models/socialusers.ts","webpack:///src/app/_models/user.ts","webpack:///src/app/_services/alert.service.ts","webpack:///src/app/_services/authentication.service.ts","webpack:///src/app/_services/index.ts","webpack:///src/app/_services/login.service.ts","webpack:///src/app/_services/owner.service.ts","webpack:///src/app/_services/pets.service.ts","webpack:///src/app/_services/staticpages.service.ts","webpack:///src/app/_services/user.service.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/common/common.component.ts","webpack:///src/app/common/common.component.html","webpack:///src/app/common/header/header.component.ts","webpack:///src/app/common/header/header.component.html","webpack:///src/app/company-user-login/company-user-login.component.ts","webpack:///src/app/company-user-login/company-user-login.component.html","webpack:///src/app/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashboard.component.html","webpack:///src/app/home/home.component.ts","webpack:///src/app/home/home.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/minside-auth-callback/minside-auth-callback.component.ts","webpack:///src/app/minside-auth-callback/minside-auth-callback.component.html","webpack:///src/app/pets/detail/detail.component.ts","webpack:///src/app/pets/detail/detail.component.html","webpack:///src/app/pets/dialog/dialog.component.ts","webpack:///src/app/pets/dialog/dialog.component.html","webpack:///src/app/pets/list/list.component.ts","webpack:///src/app/pets/list/list.component.html","webpack:///src/app/pets/pets.component.ts","webpack:///src/app/pets/report/found/found.component.ts","webpack:///src/app/pets/report/found/found.component.html","webpack:///src/app/pets/report/found/personalinfo/personalinfo.component.ts","webpack:///src/app/pets/report/found/personalinfo/personalinfo.component.html","webpack:///src/app/pets/report/found/petinfo/petinfo.component.ts","webpack:///src/app/pets/report/found/petinfo/petinfo.component.html","webpack:///src/app/pets/report/lost/lost.component.ts","webpack:///src/app/pets/report/lost/lost.component.html","webpack:///src/app/pets/report/lost/personalinfo/personalinfo.component.ts","webpack:///src/app/pets/report/lost/personalinfo/personalinfo.component.html","webpack:///src/app/pets/report/lost/petinfo/petinfo.component.ts","webpack:///src/app/pets/report/lost/petinfo/petinfo.component.html","webpack:///src/app/pets/report/lost/petlist/petlist.component.ts","webpack:///src/app/pets/report/lost/petlist/petlist.component.html","webpack:///src/app/pets/report/report.component.ts","webpack:///src/app/pets/report/report.component.html","webpack:///src/app/pets/thanks/thanks.component.ts","webpack:///src/app/pets/thanks/thanks.component.html","webpack:///src/app/pets/updatepetinfo/updatepetinfo.component.ts","webpack:///src/app/pets/updatepetinfo/updatepetinfo.component.html","webpack:///src/app/staticpages/staticpages.component.ts","webpack:///src/app/staticpages/staticpages.component.html","webpack:///src/app/user-profile/user-profile.component.ts","webpack:///src/app/user-profile/user-profile.component.html","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","AuthGuard","router","authenticationService","route","state","currentUser","currentUserValue","navigate","queryParams","returnUrl","url","providedIn","ErrorInterceptor","request","next","handle","pipe","err","status","logout","location","reload","error","message","statusText","JwtInterceptor","token","clone","setHeaders","Authorization","Pets","Socialusers","User","AlertService","subject","keepAfterRouteChange","events","subscribe","event","clear","asObservable","type","text","AuthenticationService","http","currentUserSubject","JSON","parse","localStorage","getItem","value","socialuser","post","apiUrl","AddUpdateLogInUser","user","setItem","stringify","data","removeItem","get","apiUrlM","HttpUploadOptions","headers","DailyRegisterPetsCount","CompanyUserLogIn","undefined","alert","LoginService","OwnerService","UserToken","UserTokenRequest","apiUrlMinside","GetOwnerAuthToken","AuthToken","GetOwnerPetList","phone","postData","GetOwnerDetailEasyConnectAPI","PetsService","translate","petListany","getCountryDropdown","browserLang","getBrowserLang","LanguageCode","match","getSpeciesDropDown","species","breedURL","getBreedsDropDown","chipId","chipInfo","GetChipInfo","OperationTypeID","IsChipID","IsChipIDExists","filter","URL","GetLostFoundPetsListPartialFields","params","GetLostFoundPetsList","GetPetsForLandingPage","GetLandingPageLostPets","GetLandingPageFoundPets","GetLostPetsForLandingPage","GetFoundPetsForLandingPage","GetAllPetsForLandingPage","petdata","AddUpdateLostFoundPetDetails","GetLostFoundPetsFilterList","GetLostFoundPetsListForHomePage","parameters","GetLostFoundPetDetailsByID","GetLostFoundPetsListByUser","GetLostFoundPetsListCountByUser","MarkPetasReunited","GetPetSuggestionbyLostFoundId","RemoveReportedPet","petInfo","UpdatePetInfo","petList","StaticPagesService","DisplayPageName","GetPageStaticData","UserService","emailId","provider","getUserByEmailIDUrl","GetUserByEmailID","userInfo","UpdateUserInfo","routes","path","component","canActivate","breadcrumb","label","children","AppRoutingModule","forRoot","AppComponent","authService","titleService","metaService","dateAdapter","title","report","list","currentPath","_opened","_closeOnClickOutside","x","addLangs","use","setLocale","val","setTitle","production","protocol","window","href","replace","preventDefault","console","info","firstElementWithError","document","querySelector","scrollTo","el","scrollIntoView","block","_onBackdropClicked","_toggleOpened","ReportAddRemove","ListAddRemove","StaticAddRemove","onActivate","selector","templateUrl","styleUrls","MyHammerConfig","overrides","swipe","direction","config","PROVIDER_ID","provideConfig","AppModule","provide","useFactory","useClass","apiKey","libraries","loader","httpTranslateLoader","deps","declarations","imports","providers","bootstrap","CommonComponent","HeaderComponent","app","_toggleSidebar","CompanyUserLoginComponent","formBuilder","alertService","loading","submitted","socialusers","loginForm","group","username","required","pattern","noWhitespaceValidator","password","company","snapshot","res","controls","log","invalid","EmailID","f","Password","Company","Savesresponse","control","isWhitespace","trim","length","isValid","onSubmit","DashboardComponent","petService","petImagePath","apiBaseUrl","detailMessageString","lostFoundBaseUrl","detailMessageStringEMail","petLostIdToReunite","petFoundIdToReunite","page","pageSize","HideSugg","scrollTop","element","behavior","goToPetDetails","petDetail","petName","Color","MasterBreed","MasterSpecies","City","urlString","toLowerCase","split","join","removeChar","normalize","encodedString","encodeURI","atobStr","btoa","LostFoundID","opType","ChangePetList","opTypeID","OperationTypeHeading","showReunitePetButton","showReuniteDate","getPaginationGrid","lostFoundId","subtext","flag","confirm","MarkPetAsReunite","GetPetSuggestion","response","petSuggestionList","RecordsFiltered","showReportedPetSuggestion","ID","assocoatedLostFoundId","PetLostID","PetFoundId","markPetAsReunited","startIndex","endIndex","filters","DastotalLost","TotalLost","DastotalFound","TotalFound","DastotalReUnite","TotalReUnite","petDetailsList","totalCount","RecordsTotal","eve","getElementById","currentTarget","parentElement","nextElementSibling","style","display","shareUrl","newwindow","open","focus","HomeComponent","pets","formbuilder","mapsAPILoader","ngZone","countvalue","zoom","minClusterSize","options","floor","ceil","currentActiveTabFilter","sum","array","throttle","scrollDistance","scrollUpDistance","handleScroll","distance","offset","top","navbar","classList","add","remove","BreedsName","SpeciesName","param","searchForm","SpeciesID","BreedID","Area","lat","lng","radiousDistance","load","geoCoder","google","maps","Geocoder","autocomplete","places","Autocomplete","searchElementRef","nativeElement","types","addListener","run","place","getPlace","geometry","setCurrentLocation","GetDailyReportedPets","Status","avgRegesteredPetsPerDay","Data","PetRegisteredPerDay","Number","PetCount","toLocaleString","avgTimeToChangeTotalCount","source","updateTotalCount","GetListCount","TotalPets","totalDogs","TotalDogs","totalCats","TotalCats","MtotalCount","transform","MtotalDogs","MtotalCats","addEventListener","number","args","isNaN","abs","Math","rounder","pow","isNegative","key","powers","i","reduced","round","navigator","geolocation","getCurrentPosition","position","coords","latitude","longitude","getLostPets","geocode","results","patchValue","formatted_address","isPagination","nullFilter","GetLandingPageLostPets_","Response","alldatalist","totalPetCount_Lost","LostpetDetailsList","totalPetCount","valt","parseInt","numvalue","str","GetLandingPagePets","FilterData","LandingPagefilters","area","ListPageNo","removeEventListener","$event","template","LoginComponent","referUrl","referPage","LoginWithMinside","userProvider","Provider","email","ContactNumber","socialProvider","socialPlatformProvider","signIn","SocialID","FirstName","firstName","LastName","lastName","authToken","login","minsideUrl","urlMinsideLogin","popup","socialSignIn","MinsideAuthCallbackComponent","activatedRoute","ownerService","userToken","GetAuthTokenByUserToken","uToken","getOwnerAuthToken","Id","Email","Address","Zipcode","ZipCode","District","State","StateName","Country","CountryName","opener","close","DetailComponent","meta","routeObj","share","fb","petType","isPreviousDisabled","isNextDisabled","qrCodeString","calledFrom","operationTypeID","searchFilters","getPetDetails","userId","LostFoundPetID","fetchListData","ChipId","getChipInfo","titleContent","pet","PetColor","Breed","Species","HairType","Gender","PetSex","BirthDate","BirthMonth","BirthYear","color","PetOriginalPhoto","img","Image","src","onerror","PetPhoto","city","ShareMessage","ShowChipNoToOthers","ChipID","previousItem","nextItem","onSwipe","errorHandler","target","placeholderImg","atob","paramMap","queryParamMap","showhomePageBrowseListing","showhideBackButton","currenturl","indexOf","toLocaleLowerCase","generatePDF","allowTaint","useCORS","canvas","imgWidth","imgHeight","height","width","contentDataURL","toDataURL","pdf","addImage","save","PetName","setTimeout","currentUrl","imgUrl","ThumbnailImagePath","ImagePath","desc","AdditionalInfo","addTags","name","content","initParams","appId","xfbml","version","init","success","method","ui","DialogComponent","dialogReportLost","dialogReportFound","CloseDialogPopup","ListComponent","MapView","GridView","hideLostFoundDetail","petDetailPath","tabActive","scrollPosition","infoWindowOpened","previous_info_window","markers","draggable","petNameWithoutChar","ready","click","slideToggle","hide","show","ListView","callingFrom","SearchFilters","getSpecies","Text","Value","speciesId","getBreeds","getAddress","radiousMils","self","permissions","query","result","index","infoWindow","LN2","getFilterPetsGrid","getFilterPetsMap","test","userAgent","showMapView","showGridView","breeds","MasterBreeds","GetLostFoundPetsListfromMincide","ThumbImagePath","assignListData","toString","totalLost","totalFound","totalReUnite","forEach","SpeciesId","petIcon","localArea","locObject","reset","SearchPetID","els","querySelectorAll","srcElement","resetSearchFilters","SearchPetByType","PetsComponent","ReportFoundComponent","petsService","dialog","SpinnerService","showFoundSuggestion","showPersonalInfo","petDetails","encodeURIComponent","petsSuggestion","IsChipped","petsinfo","personalsinfo","croppedFileData","MasterSpeciesID","MasterBreedID","DateOfBirth","UserLoginID","LoginUserID","GDPRUserStatus","IsTermsAccepted","petImgUrl","formData","FormData","append","addUpdateLostFoundPetDetails","parentNode","dialogRef","animal","onPosted","onHide","FoundPersonalinfoComponent","componentForm","street_number","locality","administrative_area_level_1","country","postal_code","administrative_area_level_2","PersonalForm","validateIfChecked","getUserByEmailID","PersonalInfo","address_components","addressType","emit","scrollToError","address","getUserDetailByPhone","resp","IsSuccess","fullstreet","zip","district","showPetInfo","getDetailByPhone","FoundPetinfoComponent","modalService","chipFound","fileData","previewUrl","fileUploadProgress","uploadedFilePath","imageError","closeResult","sublocality_level_1","sublocality_level_2","postal_town","imageChangedEvent","croppedImage","maxDate","Date","base64","ariaLabelledBy","reason","getDismissReason","registerForm","ESC","BACKDROP_CLICK","LostFoundDate","Commune","getCountry","fillAddress","getSuggestion","IsChipExist","genderValue","hairtypeValue","IsAlive","chipID","ele","mapresult","comma","substring","fileInput","files","max_size","allowed_types","max_height","max_width","size","includes","Content","mimeType","reader","FileReader","readAsDataURL","onload","_event","clearValidators","setValidators","updateValueAndValidity","fileProgress","markerDragEnd","ReportLostComponent","showMinsidePetList","minsidePetInfo","minsideOwnerInfo","ownerDetail","scroll","IsChipIDinDetail","LostPersonalinfoComponent","LostPetinfoComponent","datePipe","isChipIdToShowInDetail","isMinsideUser","dateChangedvalue","lostMaxDate","backdrop","setDate","getDate","obj","dob","disable","BreedId","find","ob","BreedName","data1","getRawValue","onIsChippedChange","UpdateDobMaxDate","LostPetListComponent","onMarkLost","getOwnerPetList","lostAndFoundPetDetails","petCount","minsideOwnerDetail","Phone","markPetAsLost","petData","ReportComponent","ThanksComponent","UpdatepetinfoComponent","petUpdateForm","ReqParams","PetID","IsLost","hairDisplayValue","PageContent","Title","TermAndCondition","StaticpagesComponent","common","pageName","routeConfig","aboutus","services","termsandconditions","privacypolicy","pagedata","UserProfileComponent","UserProfile","environment","GetLostFoundPetsListPartial","bootstrapModule"],"mappings":"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AAC,sBAAD;AAHF,S;AAKc,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEfzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAA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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthenticationService } from '../_services';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // logged in so return true\r\n return true;\r\n }\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\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\n\r\nimport { AuthenticationService } from '../_services';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload(true);\r\n }\r\n\r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n}","export * from './auth.guard';\r\nexport * from './error.interceptor';\r\nexport * from './jwt.interceptor';","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../_services';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n let currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}","export * from './user';\r\nexport * from './socialusers';\r\nexport * from './pets';","export class Pets { \r\n petDetails: {\r\n UserLoginID: number,\r\n IsChipped: 1,\r\n ChipID: string,\r\n OperationTypeID: 1,\r\n PetName: string,\r\n MasterSpeciesID: 1,\r\n MasterSpecies: string,\r\n MasterBreedID: 12,\r\n MasterBreed: string,\r\n Gender: string,\r\n DateOfBirth: string,\r\n LostFoundDate: string,\r\n Area: string,\r\n Commune: string,\r\n State: string,\r\n StateID: 0,\r\n Country: string,\r\n CountryID: 1,\r\n AdditionalInfo: string,\r\n ImageID: 0,\r\n ImagePath: string,\r\n Color: string,\r\n CoatLength: string,\r\n Description: string,\r\n lat: string,\r\n lng: string,\r\n IsReunite: 1, \r\n Status: 1,\r\n petImgUrl:string\r\n };\r\n userInfo: {\r\n LoginUserID: 0,\r\n FirstName: string,\r\n LastName: string,\r\n DateOfBirth: string,\r\n GenderID: 0,\r\n Gender: string,\r\n Age: string,\r\n RelationshipID: 0,\r\n Relationship: string,\r\n EmailID: string,\r\n ContactNumber: string,\r\n Address: string,\r\n LandID: 0,\r\n Land: string,\r\n ZipCode: string,\r\n City: string,\r\n CountryID: 1,\r\n Country: string,\r\n Municipal: string,\r\n IsTermsAccepted: 0,\r\n GDPRUserStatus: 0,\r\n Latitude: string,\r\n Longitude: string,\r\n Status: 1,\r\n State: string\r\n }\r\n}","export class Socialusers {\n SocialID: string;\n FirstName: string;\n LastName: string;\n EmailID: string;\n Address: string;\n City: string;\n District: string;\n State: string;\n Zipcode: string;\n AuthToken: string;\n Provider: string;\n ContactNumber: string;\n Password : string;\n Country: string;\n Company : string;\n }\n ","export class User {\n provider: string; \n id: number;\n name: string;\n email: string;\n image: string; \n token?: string; \n idToken?: string; \n FirstName?: string;\n LastName?: string;\n Company?:string;\n Password?:string;\n}","import { Injectable } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class AlertService {\n private subject = new Subject();\n private keepAfterRouteChange = false;\n\n constructor(private router: Router) {\n // clear alert messages on route change unless 'keepAfterRouteChange' flag is true\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterRouteChange) {\n // only keep for a single route change\n this.keepAfterRouteChange = false;\n } else {\n // clear alert message\n this.clear();\n }\n }\n });\n }\n\n getAlert(): Observable {\n return this.subject.asObservable();\n }\n\n success(message: string, keepAfterRouteChange = false) {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject.next({ type: 'success', text: message });\n }\n\n error(message: string, keepAfterRouteChange = false) {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject.next({ type: 'error', text: message });\n }\n\n clear() {\n // clear by calling subject.next() without parameters\n this.subject.next();\n }\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\nimport { environment } from '../../environments/environment';\r\nimport { User } from '../_models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n constructor(private http: HttpClient) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n // console.log(localStorage.getItem('currentUser'))\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login(socialuser) {\r\n return this.http.post(`${environment.apiUrl + environment.AddUpdateLogInUser}`, socialuser)\r\n .pipe(map(user => {\r\n // console.log(user);\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user.data));\r\n this.currentUserSubject.next(user.data);\r\n return user;\r\n })); \r\n }\r\n \r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('socialUser');\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('socialusers');\r\n this.currentUserSubject.next(null);\r\n }\r\n GetListCount() {\r\n return this.http.get(`${environment.apiUrlM}`)\r\n }\r\n\r\n GetDailyReportedPets() {\r\n const HttpUploadOptions = {\r\n headers: new HttpHeaders({ \"Content-Type\": \"application/json\", \r\n \"APIKey\":\"32FF43A4-5CB9-424D-89BC-59242E4D4DF1\"}) \r\n }\r\n return this.http.get(`${environment.DailyRegisterPetsCount}`, HttpUploadOptions)\r\n }\r\n CompanyUserLogIn(socialuser) {\r\n debugger;\r\n return this.http.post(`${environment.apiUrl + environment.CompanyUserLogIn}`, socialuser)\r\n .pipe(map(user => {\r\n // console.log(user);\r\n if(user.data != null || user.data != undefined)\r\n {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user.data));\r\n this.currentUserSubject.next(user.data);\r\n return user;\r\n }\r\n else{\r\n alert(\"invalid login details\");\r\n }\r\n })); \r\n }\r\n}\r\n\r\n","export * from './alert.service';\nexport * from './authentication.service';\nexport * from './user.service';\nexport * from './pets.service';\nexport * from './login.service';\nexport * from './owner.service';\nexport * from './staticpages.service';","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginService {\n\n constructor(private http: HttpClient) { }\n\n\n login(socialuser )\n {\n return this.http.post(`${environment.apiUrl + environment.AddUpdateLogInUser}`,socialuser);\n \n }\n}","import { Injectable } from '@angular/core';\nimport { environment } from '../../environments/environment';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OwnerService {\n\n constructor(private http: HttpClient) { }\n\n getOwnerAuthToken(UserToken: string) {\n const HttpUploadOptions = {\n headers: new HttpHeaders({ \"Content-Type\": \"application/json\", \n \"APIKEY\":\"yUkZFfIo0Ujw48uQ7oeMQJ6XlWu7aCbU\"}) \n }\n const UserTokenRequest = {\n \"UserToken\" : UserToken\n }\n \n return this.http.post(`${environment.apiUrlMinside + environment.GetOwnerAuthToken}`, UserTokenRequest,HttpUploadOptions);\n }\n\n getOwnerPetList(AuthToken: string) {\n const HttpUploadOptions = {\n headers: new HttpHeaders({ \"Content-Type\": \"application/json\", \n \"APIKEY\":\"yUkZFfIo0Ujw48uQ7oeMQJ6XlWu7aCbU\",\n \"AUTHTOKEN\":AuthToken}) \n }\n return this.http.post(`${environment.apiUrlMinside + environment.GetOwnerPetList}`, null,HttpUploadOptions);\n }\n getUserDetailByPhone(phone: string) {\n const postData = {\"Phone\": phone};\n const HttpUploadOptions = {\n headers: new HttpHeaders({ \"Content-Type\": \"application/json\", \n \"APIKEY\":\"yUkZFfIo0Ujw48uQ7oeMQJ6XlWu7aCbU\"}) \n }\n return this.http.post(`${environment.GetOwnerDetailEasyConnectAPI}`,postData,HttpUploadOptions);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class PetsService {\r\n public petListany: any = [];\r\n constructor(\r\n private http: HttpClient,\r\n public translate: TranslateService\r\n ) {\r\n }\r\n \r\n getCountry() {\r\n return this.http.get(`${environment.apiUrl + environment.getCountryDropdown}`);\r\n }\r\n\r\n getSpecies() {\r\n let browserLang = this.translate.getBrowserLang();\r\n let LanguageCode = browserLang.match(/en|no/) ? browserLang : 'no';\r\n return this.http.get(`${environment.apiUrl + environment.getSpeciesDropDown}?LanguageCode=${LanguageCode}`);\r\n }\r\n\r\n getBreeds(species: string) {\r\n let browserLang = this.translate.getBrowserLang();\r\n let LanguageCode = browserLang.match(/en|no/) ? browserLang : 'no';\r\n let breedURL = `${environment.apiUrl + environment.getBreedsDropDown}?SpeciesID=${species}&GetActive=true&LanguageCode=${LanguageCode}`;\r\n return this.http.get(breedURL);\r\n }\r\n\r\n getChipInfo(chipId: string) {\r\n let chipInfo = `${environment.GetChipInfo}?chipId=${chipId}`;\r\n return this.http.get(chipInfo);\r\n }\r\n\r\n IsChipIDExists(chipId: string, OperationTypeID: any) {\r\n let IsChipID = `${environment.apiUrl + environment.IsChipIDExists}?chipId=${chipId}&OperationTypeID=${OperationTypeID}`;\r\n return this.http.get(IsChipID);\r\n }\r\n\r\n GetLostFoundPetsListPartialFields(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLostFoundPetsListPartialFields}`;\r\n return this.http.get(URL, { params: filter });\r\n // return this.http.get(URL,{params: filter});\r\n }\r\n GetLostFoundPetsListfromMincide(filter: any) {\r\n let URL = `${environment.apiUrlMinside + environment.GetLostFoundPetsList}`;\r\n return this.http.get(URL, { params: filter });\r\n // return this.http.get(URL,{params: filter});\r\n }\r\n\r\n GetPetsForLandingPage(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetPetsForLandingPage}`;\r\n return this.http.get(URL, { params: filter });\r\n\r\n }\r\n GetPetsForLandingPage1() {\r\n let URL = `${environment.apiUrl + environment.GetPetsForLandingPage}`;\r\n return this.http.get(URL);\r\n }\r\n GetLandingPageLostPets(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLandingPageLostPets}`;\r\n return this.http.get(URL, { params: filter });\r\n }\r\n\r\n GetLandingPageFoundPets(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLandingPageFoundPets}`;\r\n return this.http.get(URL, { params: filter });\r\n }\r\n\r\n GetLandingPageLostPets_(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLandingPageLostPets}`;\r\n return this.http.get(URL, { params: filter });\r\n }\r\n\r\n GetLostPetsForLandingPage() {\r\n let URL = `${environment.apiUrl + environment.GetLostPetsForLandingPage}`;\r\n return this.http.get(URL);\r\n\r\n }\r\n\r\n GetFoundPetsForLandingPage() {\r\n let URL = `${environment.apiUrl + environment.GetFoundPetsForLandingPage}`;\r\n return this.http.get(URL);\r\n\r\n }\r\n GetAllPetsForLandingPage() {\r\n let URL = `${environment.apiUrl + environment.GetAllPetsForLandingPage}`;\r\n return this.http.get(URL);\r\n\r\n }\r\n\r\n\r\n addUpdateLostFoundPetDetails(petdata) {\r\n const HttpUploadOptions = {\r\n headers: new HttpHeaders(\r\n {\r\n //\"Content-Type\": \"application/x-www-form-urlencoded\",\r\n \"APIKEY\": \"560C51EE-D641-487E-AD6F-1C2A525C2727\"\r\n })\r\n }\r\n return this.http.post(`${environment.apiUrl + environment.AddUpdateLostFoundPetDetails}`, petdata, HttpUploadOptions);\r\n }\r\n\r\n GetLostFoundPetsList(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLostFoundPetsFilterList}`;\r\n return this.http.get(URL, { params: filter });\r\n }\r\n\r\n GetLostFoundPetsListForHomePage(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLostFoundPetsListForHomePage}`;\r\n return this.http.get(URL, { params: filter });\r\n }\r\n\r\n // GetReportedPetsCount(filter: any)\r\n // {\r\n // let URL = `${environment.apiUrl + environment.GetReportedPetsCount }`;\r\n // return this.http.get(URL,{params: filter});\r\n // }\r\n\r\n // GetReportedPetsCountMap(filter: any)\r\n // {\r\n // let URL = `${environment.apiUrl + environment.GetReportedPetsCountMap }`;\r\n // return this.http.get(URL,{params: filter});\r\n // }\r\n\r\n GetLostFoundPetDetailsByID(parameters) {\r\n if (parameters != null && parameters != undefined) {\r\n return this.http.get(`${environment.apiUrl + environment.GetLostFoundPetDetailsByID}`, { params: parameters });\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n GetLostFoundPetsListByUser(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLostFoundPetsListByUser}`;\r\n return this.http.post(URL, filter);\r\n }\r\n GetLostFoundPetsListCountByUser(filter: any) {\r\n let URL = `${environment.apiUrl + environment.GetLostFoundPetsListCountByUser}`;\r\n return this.http.post(URL, filter);\r\n }\r\n\r\n markPetAsReunited(postData: any) {\r\n let URL = `${environment.apiUrl + environment.MarkPetasReunited}`;\r\n return this.http.post(URL, postData);\r\n }\r\n GetPetSuggestion(postData: any) {\r\n let URL = `${environment.apiUrl + environment.GetPetSuggestionbyLostFoundId}`;\r\n return this.http.post(URL, postData);\r\n }\r\n RemoveReportedPet(postData: { LostFoundId: any; UpdatedBy: any; }) {\r\n let URL = `${environment.apiUrl + environment.RemoveReportedPet}`;\r\n return this.http.post(URL, postData);\r\n }\r\n\r\n UpdatePetInfo(petInfo) {\r\n return this.http.post(`${environment.apiUrl + environment.UpdatePetInfo}`, petInfo);\r\n }\r\n\r\n assignListData(petList: any): void {\r\n this.petListany = [...petList];\r\n }\r\n\r\n fetchListData(): any {\r\n return this.petListany ;\r\n }\r\n\r\n}","// import { Injectable } from '@angular/core';\r\n// import { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// import { environment } from '../../environments/environment';\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { User } from '../_models';\r\nimport { config } from 'process';\r\nimport { environment } from '../../environments/environment';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StaticPagesService {\r\n\r\n constructor(private http: HttpClient) { }\r\n \r\n GetPageStaticData(DisplayPageName: string)\r\n {\r\n let data = `${environment.apiUrl + environment.GetPageStaticData }?DisplayPageName=${DisplayPageName}`;\r\n return this.http.get(data);\r\n }\r\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { User } from '../_models';\nimport { config } from 'process';\nimport { environment } from '../../environments/environment';\n\n@Injectable({ providedIn: 'root' })\n\nexport class UserService {\n\n constructor(private http: HttpClient) { }\n\n getUserByEmailID(emailId: string,provider: string) {\n let getUserByEmailIDUrl= `${environment.apiUrl + environment.GetUserByEmailID}?emailID=${emailId}&provider=${provider}`;\n return this.http.get(getUserByEmailIDUrl);\n }\n\n UpdateUserInfo(userInfo){\n \n return this.http.post(`${environment.apiUrl + environment.UpdateUserInfo}`, userInfo);\n }\n \n\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { CompanyUserLoginComponent } from '../app/company-user-login/company-user-login.component'\r\nimport { HomeComponent } from './home/home.component';\r\nimport { ReportFoundComponent } from './pets/report/found/found.component';\r\nimport { ReportLostComponent } from './pets/report/lost/lost.component';\r\nimport { ListComponent } from './pets/list/list.component';\r\n\r\nimport { ThanksComponent } from './pets/thanks/thanks.component';\r\nimport { AuthGuard } from './_helpers';\r\nimport { MinsideAuthCallbackComponent } from './minside-auth-callback/minside-auth-callback.component';\r\nimport { LostPetListComponent } from './pets/report/lost/petlist/petlist.component';\r\nimport { StaticpagesComponent } from '../app/staticpages/staticpages.component';\r\nimport { DetailComponent } from './pets/detail/detail.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { UserProfileComponent } from '../app/user-profile/user-profile.component';\r\nimport { UpdatepetinfoComponent } from '../app/pets/updatepetinfo/updatepetinfo.component';\r\n\r\nconst routes: Routes = [\r\n // { path: 'login', component: LoginComponent,\r\n // data: {breadcrumb: { label: 'login'} }\r\n // },\r\n\r\n {\r\n path: 'login', component: LoginComponent\r\n\r\n },\r\n {\r\n path: 'Companylogin', component: CompanyUserLoginComponent\r\n\r\n },\r\n {\r\n path: 'report-found', component: ReportFoundComponent, canActivate: [AuthGuard],\r\n data: { breadcrumb: { label: 'Report Found Pet' } }\r\n },\r\n {\r\n path: 'report-found', data: { breadcrumb: { label: 'Report Found' } },\r\n children: [\r\n {\r\n path: 'pet-detail',\r\n component: DetailComponent,\r\n data: { breadcrumb: { label: 'Details' } }\r\n }\r\n ]\r\n },\r\n {\r\n path: 'report-lost', component: ReportLostComponent, canActivate: [AuthGuard],\r\n data: { breadcrumb: { label: 'Report Lost Pet' } }\r\n },\r\n {\r\n path: 'report-lost', data: { breadcrumb: { label: 'Report Lost' } },\r\n children: [\r\n {\r\n path: 'pet-detail',\r\n component: DetailComponent,\r\n data: { breadcrumb: { label: 'Details' } }\r\n }\r\n ]\r\n },\r\n {\r\n path: 'list-pets', component: ListComponent,\r\n data: { breadcrumb: { label: 'Browse List' } }\r\n },\r\n {\r\n path: 'list-pets', data: { breadcrumb: { label: 'Browse List' } },\r\n children: [\r\n {\r\n path: 'pet-detail/:petId/:petName',\r\n component: DetailComponent,\r\n data: { breadcrumb: { label: 'Details' } }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'aboutus', component: StaticpagesComponent,\r\n data: { breadcrumb: { label: 'About Us' } }\r\n },\r\n {\r\n path: 'services', component: StaticpagesComponent,\r\n data: { breadcrumb: { label: 'Services' } }\r\n },\r\n {\r\n path: 'termsandconditions', component: StaticpagesComponent,\r\n data: { breadcrumb: { label: 'Services' } }\r\n },\r\n {\r\n path: 'privacypolicy', component: StaticpagesComponent,\r\n data: { breadcrumb: { label: 'Privacy Policy' } }\r\n },\r\n {\r\n path: 'userprofile', component: UserProfileComponent,\r\n data: { breadcrumb: { label: 'User Profile' } }\r\n },\r\n { path: 'minside-auth-callback/:id/:referPage', component: MinsideAuthCallbackComponent },\r\n { path: 'minside-auth-callback/:id', component: MinsideAuthCallbackComponent },\r\n\r\n {\r\n path: 'dashboard', component: DashboardComponent, canActivate: [AuthGuard],\r\n data: { breadcrumb: { label: 'Dashboard' } }\r\n },\r\n {\r\n path: 'dashboard', data: { breadcrumb: { label: 'Dashboard' } },\r\n children: [\r\n {\r\n path: 'pet-detail',\r\n component: DetailComponent,\r\n data: { breadcrumb: { label: 'Pet Details' } }\r\n },\r\n {\r\n path: 'pet-detailupdate',\r\n component: UpdatepetinfoComponent,\r\n data: { breadcrumb: { label: 'Update Pet Details ' } }\r\n },\r\n\r\n ]\r\n },\r\n // { path: '', component: HomeComponent, data: {\r\n // breadcrumb: {\r\n // label: 'Home',\r\n // info: { icon: 'home', iconType: 'material' }\r\n // }\r\n // } },\r\n // ------------------------------\r\n {\r\n path: '', component: HomeComponent,\r\n data: { breadcrumb: { label: 'Home' } }\r\n },\r\n {\r\n path: '', data: { breadcrumb: { label: 'Home' } },\r\n children: [\r\n {\r\n path: 'pet-detail',\r\n component: DetailComponent,\r\n data: { breadcrumb: { label: 'Pet Details' } }\r\n }\r\n ]\r\n },\r\n // -----------------------------\r\n];\r\nexport const AppRoutingModule = RouterModule.forRoot(routes);","import { Component } from '@angular/core';\r\nimport { AuthenticationService } from './_services';\r\nimport { User } from './_models';\r\nimport { AuthService } from 'angularx-social-login';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Title, Meta } from '@angular/platform-browser';\r\nimport { DateAdapter } from '@angular/material';\r\nimport { environment } from '../environments/environment';\r\n\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 {\r\n\r\n currentUser: User;\r\n title = 'Lost and Found | DyreIDLostAndFound';\r\n report: boolean = false;\r\n list: boolean = false;\r\n static: boolean = false;\r\n currentPath:string = '';\r\n\r\n constructor(\r\n private authService: AuthService,\r\n public router: Router,\r\n private authenticationService: AuthenticationService,\r\n public translate: TranslateService,\r\n private titleService: Title, private metaService: Meta,\r\n private dateAdapter: DateAdapter\r\n ) {\r\n this.authenticationService.currentUser.subscribe(x => this.currentUser = x);\r\n translate.addLangs(['en', 'no']);\r\n const browserLang = translate.getBrowserLang();\r\n translate.use(browserLang.match(/en|no/) ? browserLang : 'no');\r\n this.dateAdapter.setLocale('no');\r\n }\r\n ngOnInit() {\r\n this.router.events.subscribe((val: any) => {\r\n if (val && val.url) this.currentPath = val.url;\r\n });\r\n this.titleService.setTitle(this.title);\r\n\r\n if (environment.production == true) {\r\n if (location.protocol === 'http:') {\r\n window.location.href = location.href.replace('http', 'https');\r\n }\r\n }\r\n }\r\n\r\n ReportAddRemove() {\r\n this.report = !this.report;\r\n this.static = false;\r\n this.list = false;\r\n event.preventDefault();\r\n }\r\n ListAddRemove() {\r\n this.list = !this.list;\r\n this.report = false;\r\n this.static = false;\r\n event.preventDefault();\r\n }\r\n StaticAddRemove() {\r\n this.static = !this.static;\r\n this.report = false;\r\n this.list = false;\r\n event.preventDefault();\r\n }\r\n\r\n\r\n public _opened: boolean = false;\r\n public _closeOnClickOutside = true;\r\n\r\n public _toggleOpened(): void {\r\n this._opened = !this._opened;\r\n }\r\n\r\n public _onBackdropClicked(): void {\r\n console.info('Backdrop clicked');\r\n }\r\n Cancel() {\r\n this.router.navigate(['/']);\r\n }\r\n signOut(): void {\r\n this.authenticationService.logout();\r\n // this.router.navigate(['/login']);\r\n this.router.navigate(['']);\r\n }\r\n onActivate(event) {\r\n // console.log(\"Route activate\")\r\n const firstElementWithError = document.querySelector('.xng-breadcrumb-root');\r\n this.scrollTo(firstElementWithError);\r\n //or document.body.scrollTop = 0;\r\n //or document.querySelector('body').scrollTo(0,0)\r\n\r\n }\r\n scrollTo(el: Element): void {\r\n if (el) {\r\n el.scrollIntoView({ block: 'center' });\r\n }\r\n }\r\n}\r\n\r\n\r\n","\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{ info.icon }}\r\n \r\n {{ breadcrumb |translate}}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n arrow_right\r\n","import { BrowserModule, HammerGestureConfig, HAMMER_GESTURE_CONFIG, HammerModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { HeaderComponent } from './common/header/header.component';\nimport { LoginComponent } from './login/login.component';\nimport { HomeComponent } from './home/home.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { SocialLoginModule } from 'angularx-social-login';\nimport { AuthServiceConfig, GoogleLoginProvider, FacebookLoginProvider } from 'angularx-social-login';\nimport { PetsComponent } from './pets/pets.component';\nimport { SidebarModule } from 'ng-sidebar';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { AgmCoreModule } from '@agm/core';\nimport { AgmJsMarkerClustererModule } from '@agm/js-marker-clusterer';\n\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport {MatDatepickerModule, MatInputModule,MatNativeDateModule,MatIconModule} from '@angular/material';\nimport { ThanksComponent } from './pets/thanks/thanks.component';\nimport { CommonComponent } from './common/common.component';\nimport { ReportComponent } from './pets/report/report.component';\nimport { ReportLostComponent } from './pets/report/lost/lost.component';\nimport { ReportFoundComponent } from './pets/report/found/found.component';\n\nimport { FoundPersonalinfoComponent } from './pets/report/found/personalinfo/personalinfo.component';\nimport { FoundPetinfoComponent } from './pets/report/found/petinfo/petinfo.component';\nimport { LostPetinfoComponent } from './pets/report/lost/petinfo/petinfo.component';\nimport { LostPersonalinfoComponent } from './pets/report/lost/personalinfo/personalinfo.component';\n\nimport { ListComponent } from './pets/list/list.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\n\nimport { DatePipe } from '@angular/common';\nimport { LostPetListComponent } from './pets/report/lost/petlist/petlist.component';\nimport { DialogComponent } from './pets/dialog/dialog.component';\nimport { StaticpagesComponent } from './staticpages/staticpages.component';\nimport { DetailComponent } from './pets/detail/detail.component';\n\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport {NgxPaginationModule} from 'ngx-pagination'; // <-- import the module\nimport { Ng5SliderModule } from 'ng5-slider';\nimport { UserProfileComponent } from './user-profile/user-profile.component';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport {BreadcrumbModule} from 'xng-breadcrumb';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport { ShareModule } from '@ngx-share/core';\nimport { UpdatepetinfoComponent } from './pets/updatepetinfo/updatepetinfo.component';\nimport { CompanyUserLoginComponent } from './company-user-login/company-user-login.component';\n//import { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport * as Hammer from 'hammerjs';\nimport { FacebookModule } from 'ngx-facebook';\n\nimport { QRCodeModule } from 'angularx-qrcode';\n\nexport class MyHammerConfig extends HammerGestureConfig {\n overrides = {\n swipe: { direction: Hammer.DIRECTION_ALL },\n };\n}\n\nconst config = new AuthServiceConfig([\n {\n id: GoogleLoginProvider.PROVIDER_ID,\n provider: new GoogleLoginProvider('58407131780-ddtlfh64tcp0pfnmrlch9kkbel4qioko.apps.googleusercontent.com')\n },\n {\n id: FacebookLoginProvider.PROVIDER_ID,\n provider: new FacebookLoginProvider('2770853809663369')\n },\n]);\n\nexport function provideConfig() {\n return config;\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n LoginComponent,\n HomeComponent,\n PetsComponent,\n ThanksComponent,\n FoundPersonalinfoComponent,\n FoundPetinfoComponent,\n CommonComponent,\n ReportComponent,\n ReportLostComponent,\n ReportFoundComponent,\n LostPetinfoComponent,\n LostPersonalinfoComponent,\n ListComponent,\n DashboardComponent,\n LostPetListComponent,\n DialogComponent,\n StaticpagesComponent,\n DetailComponent,\n UserProfileComponent,\n UpdatepetinfoComponent,\n CompanyUserLoginComponent\n ],\n imports: [\n BrowserModule,\n HammerModule,\n AppRoutingModule,\n NgbModule,\n SocialLoginModule,\n FormsModule,\n ReactiveFormsModule,\n SidebarModule.forRoot(),\n FacebookModule.forRoot(),\n HttpClientModule,\n NgSelectModule,\n NgxSpinnerModule,\n QRCodeModule,\n AgmCoreModule.forRoot({\n apiKey: 'AIzaSyDGrBJEQfuafRoEsikREQGC-_b7-FrBzmY',\n libraries: ['places']\n }),\n AgmJsMarkerClustererModule,\n BrowserAnimationsModule,\n MatDatepickerModule, MatInputModule,MatNativeDateModule,MatIconModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: httpTranslateLoader,\n deps: [HttpClient]\n }\n }),\n NgxPaginationModule,\n Ng5SliderModule,\n ImageCropperModule,\n BreadcrumbModule,\n ShareModule//,\n //InfiniteScrollModule\n ],\n providers: [\n {\n provide: AuthServiceConfig,\n useFactory: provideConfig,\n }, {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: MyHammerConfig,\n },\n [DatePipe]\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\nexport function httpTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-common',\n templateUrl: './common.component.html'\n})\nexport class CommonComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

common works!

\n","import { Component, OnInit } from '@angular/core';\nimport { AppComponent } from '../../app.component';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n constructor(public app: AppComponent) {\n\n }\n ngOnInit() {\n }\n public _toggleSidebar() {\n this.app._opened = !this.app._opened;\n }\n\n}\n","\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { AuthenticationService, AlertService } from '../_services';\nimport { AuthService } from 'angularx-social-login';\nimport { Socialusers } from '../_models';\nimport { first } from 'rxjs/operators';\n\n@Component({\n selector: 'app-company-user-login',\n templateUrl: './company-user-login.component.html',\n styleUrls: ['./company-user-login.component.scss']\n})\n \nexport class CompanyUserLoginComponent implements OnInit {\n loginForm: FormGroup;\n loading = false;\n submitted = false;\n returnUrl: string; \n socialusers = new Socialusers();\n\n constructor(\n private authService: AuthService,\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService,\n private alertService: AlertService\n ) {\n // redirect to home if already logged in\n if (this.authenticationService.currentUserValue) {\n this.router.navigate(['/']);\n }\n }\n\n ngOnInit() {\n this.loginForm = this.formBuilder.group({\n username: ['', [Validators.required,Validators.pattern(\"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$\"),this.noWhitespaceValidator]],\n password: ['', Validators.required],\n company:['ViKing']\n });\n\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n }\n\n // convenience getter for easy access to form fields\n //get socialusers() { return this.loginForm.controls; }\n\n \n Savesresponse(socialusers: Socialusers) { \n this.authenticationService.CompanyUserLogIn(socialusers).subscribe((res: any) => { \n \n debugger;\n if(res != null || res != undefined)\n {\n this.socialusers = res.data;\n localStorage.setItem('socialusers', JSON.stringify( this.socialusers)); \n this.router.navigate([this.returnUrl]); \n }\n }) \n this.loading = false; \n } \n get f() { return this.loginForm.controls; }\n onSubmit() {\n debugger;\n console.log(JSON.stringify(this.loginForm.value));\n this.submitted = true;\n \n // reset alerts on submit\n this.alertService.clear();\n \n // stop here if form is invalid\n if (this.loginForm.invalid) {\n return;\n }\n debugger;\n this.socialusers.EmailID = this.f.username.value;\n this.socialusers.Password = this.f.password.value;\n this.socialusers.Company = this.f.company.value;\n\n this.loading = true;\n this.Savesresponse(this.socialusers);\n }\n public noWhitespaceValidator(control: FormControl) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : { 'whitespace': true };\n }\n }","
\n
\n
\n

{{'Company User Login' | translate }}

\n
\n
\n
\n
\n
\n \n
\n \n
\n
{{'Username is required' | translate}}
\n
{{'Please Enter a valid Email-ID' | translate}}
\n
{{'Space is not allowed'| translate}}
\n
\n
\n
\n\n \n
\n \n
\n \n
\n
\n
{{'Password is required' | translate}}
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { PetsService, AuthenticationService } from '../_services';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n\n petImagePath = environment.apiBaseUrl + \"/Static/Images/\";\n detailMessageString = environment.lostFoundBaseUrl + \"dashboard/pet-detail?PetID=\";\n detailMessageStringEMail = \"Les mer : \" + environment.lostFoundBaseUrl + \"dashboard/pet-detail?PetID=\";\n petDetailsList: any;\n currentUser: any;\n totalCount: any;\n DastotalLost: any;\n DastotalFound: any;\n DastotalReUnite: any;\n OperationTypeID: any;\n OperationTypeHeading: string;\n petLostIdToReunite: any = 0;\n petFoundIdToReunite: any = 0;\n petSuggestionList: any;\n showReportedPetSuggestion: boolean;\n showReunitePetButton: boolean;\n showReuniteDate: boolean;\n page = 1;\n pageSize = 10;\n HideSugg: boolean = false;\n\n\n constructor(private petService: PetsService, private authenticationService: AuthenticationService,\n private router: ActivatedRoute, private route: Router,) { }\n\n ngOnInit() {\n this.currentUser = this.authenticationService.currentUserValue;\n\n this.ChangePetList(1); /// by default show Lost Pet\n\n\n }\n\n ChangePetList(opTypeID: any) {\n this.page = 1;\n this.OperationTypeID = opTypeID\n\n if (this.OperationTypeID == 1) {\n this.OperationTypeHeading = \"Lost\";\n this.showReunitePetButton = true;\n this.showReuniteDate = false;\n } else if (this.OperationTypeID == 2) {\n this.OperationTypeHeading = \"Found\";\n this.showReunitePetButton = true;\n this.showReuniteDate = false;\n } else if (this.OperationTypeID == 3) {\n this.OperationTypeHeading = \"Reunited\";\n this.showReunitePetButton = false;\n this.showReuniteDate = true;\n } else {\n this.OperationTypeHeading = \"Lost\";\n this.showReunitePetButton = true;\n this.showReuniteDate = true;\n }\n this.getPaginationGrid(this.page);\n }\n\n ReunitePet(lostFoundId: any) {\n // debugger;\n if (this.OperationTypeID > 2) {\n return false;\n }\n let subtext = this.OperationTypeID == 1 ? \"Found\" : \"Lost\";\n if (this.OperationTypeID == 1) {\n this.petLostIdToReunite = lostFoundId;\n this.petFoundIdToReunite = 0;\n subtext = \"found\";\n } else {\n this.petLostIdToReunite = 0;\n this.petFoundIdToReunite = lostFoundId;\n subtext = \"lost\";\n }\n let message = \"Are you sure wants to Re-Unite this pet\";\n let flag = confirm(message);\n\n if (flag) {\n this.MarkPetAsReunite(this.petLostIdToReunite, this.petFoundIdToReunite);\n }\n }\n\n ReunitePetSuggestion(lostFoundId: any) {\n // debugger;\n if (this.OperationTypeID > 2) {\n return false;\n }\n let subtext = this.OperationTypeID == 1 ? \"Found\" : \"Lost\";\n if (this.OperationTypeID == 1) {\n this.petLostIdToReunite = lostFoundId;\n this.petFoundIdToReunite = 0;\n subtext = \"found\";\n } else {\n this.petLostIdToReunite = 0;\n this.petFoundIdToReunite = lostFoundId;\n subtext = \"lost\";\n }\n let message = \"Do you want to check for any previously \" + subtext + \" reported pets\";\n let flag = confirm(message);\n\n if (flag) {\n this.HideSugg = false;\n let postData = {\n \"lostFoundId\": lostFoundId\n }\n this.petService.GetPetSuggestion(postData).subscribe(response => {\n this.petSuggestionList = response;\n if (this.petSuggestionList.RecordsFiltered == 0) {\n this.petSuggestionList = \"\"\n alert(\"No previously reported Pet Found\");\n } else {\n this.showReportedPetSuggestion = true;\n }\n });\n }\n }\n\n\n\n\n RemoveReportedPet(lostFoundId: any) {\n if (this.OperationTypeID > 2) {\n return false;\n }\n let flag = confirm(\"Are you sure you want to remove the reported pet ?\");\n if (flag) {\n let postData = { \"LostFoundId\": lostFoundId, \"UpdatedBy\": this.currentUser.ID }\n this.petService.RemoveReportedPet(postData).subscribe(response => {\n if (response.data > 0) {\n alert(\"Reported Pet is removed Successfully !!!!\");\n this.ChangePetList(this.OperationTypeID);\n } else {\n alert(\"error :\" + response.error);\n }\n });\n }\n }\n toggleReportedPetSuggestion() {\n this.showReportedPetSuggestion = !this.showReportedPetSuggestion;\n }\n\n associatePetandReunite(assocoatedLostFoundId: any) {\n if (assocoatedLostFoundId > 0) {\n if (this.OperationTypeID == 1) {\n //this.petLostIdToReunite = lostFoundId;\n this.petFoundIdToReunite = assocoatedLostFoundId;\n } else {\n this.petLostIdToReunite = assocoatedLostFoundId;\n //this.petFoundIdToReunite = lostFoundId;\n }\n this.MarkPetAsReunite(this.petLostIdToReunite, this.petFoundIdToReunite);\n this.petSuggestionList = \"\";\n }\n }\n\n MarkPetAsReunite(PetLostID: any, PetFoundId: any) {\n let postData = { \"PetLostId\": PetLostID, \"PetFoundId\": PetFoundId, \"UpdatedBy\": this.currentUser.ID }\n this.petService.markPetAsReunited(postData).subscribe(response => {\n if (response.data > 0) {\n alert(\"Pet is Marked Re-United Sucessfully !!!\");\n this.ChangePetList(this.OperationTypeID);\n } else {\n alert(response.error);\n }\n });\n }\n\n getPaginationGrid(page: number) {\n // debugger;\n this.page = page;\n let startIndex = (this.page == 1) ? 0 : (page - 1) * 10;\n let endIndex = startIndex + 10;\n\n\n let filters = {\n \"StartIndex\": startIndex,\n \"EndIndex\": endIndex,\n \"UserId\": this.currentUser.ID,\n \"ListType\": this.OperationTypeID,\n \"Company\": this.currentUser.Company\n }\n\n this.petService.GetLostFoundPetsListCountByUser(filters).subscribe(data => {\n this.DastotalLost = data.TotalLost;\n this.DastotalFound = data.TotalFound;\n this.DastotalReUnite = data.TotalReUnite;\n });\n\n this.petService.GetLostFoundPetsListByUser(filters).subscribe(response => {\n console.log(response);\n this.petDetailsList = response.data;\n this.totalCount = response.RecordsTotal;\n });\n\n\n }\n\n scrollTop = () => {\n\t\tconst element = document.querySelector('#scrollId');\n\t\telement.scrollIntoView({ behavior: 'smooth' });\n\t}\n \n CloseSuggestion(eve: any) {\n this.HideSugg = true;\n //eve.target.parentNode.parentNode.setAttribute('class','bottom-search-msg-box hide-sugg');\n // eve.target.parentNode.parentNode.remove();\n }\n\n\n openModal(event) {\n document.getElementById(event.currentTarget.parentElement.nextElementSibling.id).style.display = \"block\";\n }\n closeModal(event) {\n document.getElementById(event.currentTarget.parentElement.id).style.display = \"none\";\n }\n\n shareWithFacebook(id): void {\n let shareUrl = this.detailMessageString + id;\n //shareUrl = 'https://lostfound.staging.dyreid.no/pet-detail?PetID=1099';\n let url = 'http://www.facebook.com/sharer.php?u=' + shareUrl;\n let newwindow = window.open(url, 'name', 'height=500,width=520,top=200,left=300,resizable');\n if (window.focus) {\n newwindow.focus()\n }\n }\n\n //go to pet details page\n goToPetDetails = (petDetail: any) => {\n const petName = `${petDetail.Color ? petDetail.Color : ''} ${petDetail.MasterBreed ? petDetail.MasterBreed : ''} ${petDetail.MasterSpecies ? petDetail.MasterSpecies : ''} ${(this.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${petDetail.City ? petDetail.City : ''}`\n const urlString = petName.trim().toLowerCase().split(' ').join('-');\n const removeChar = urlString.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n const encodedString = encodeURI(removeChar);\n const atobStr = btoa(petDetail.LostFoundID);\n localStorage.setItem('_page', 'dashboard');\n this.route.navigate([`list-pets/pet-detail/${atobStr}/${encodedString}`], {queryParams:{opType:this.OperationTypeID}});\n\n }\n}\n","
\n
\n
\n
 
\n
\n
\n
\n
{{\n (totalCount > 0 && OperationTypeID == 1)? DastotalLost : DastotalLost }} {{'Lost'| translate\n }}
\n
{{\n (totalCount > 0 && OperationTypeID == 2)? DastotalFound :DastotalFound }} {{'Found' |\n translate}}
\n
{{\n (totalCount >= 0 && OperationTypeID == 3)? DastotalReUnite :DastotalReUnite }} {{'Re-Unite' |\n translate}}
\n
\n\n \n \n
\n
\n
 
\n
\n

{{ OperationTypeHeading | translate}} {{'Pets' | translate}}

\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n ×\n
\n \n
\n
\n
\n \n
\n
\n \n
{{petDetail.Color +\" \"}}{{\n petDetail.MasterBreed +\" \"+\n petDetail.MasterSpecies}} {{ ((OperationTypeID == \"1\") ? 'Lost' : 'Found') | translate}} i {{petDetail.City}}
\n
\n \n
{{petDetail.Color +\" \"}}{{\n petDetail.MasterBreed }}\n ({{petDetail.MasterSpecies}}) {{ ((OperationTypeID == \"1\") ? 'Lost' : 'Found') | translate}} i {{petDetail.City}}
\n
\n \n\n \n\n \n

{{ (petDetail.Area == null) ? \"\" : petDetail.Area }} {{ ((petDetail.ZipCode == null) ? \"\" :\n petDetail.ZipCode) +\" \"+((petDetail.City == null) ? \"\" : petDetail.City)}}

\n

{{ ((OperationTypeID == \"1\") ? 'Lost' : 'Found') | translate}} {{\n 'Date' | translate\n }}: {{ petDetail.DisplayLostFoundDate}}

\n \n
\n
\n \n \n \n \n \n\n \n \n \n \n
\n
\n \n \n \n\n \n
\n
\n
\n
\n
\n\n
0\">\n\n \n
\n
\n\n\n
\n
\n \n
\n
\n
\n \"\"\n
\n
\n
\n \n

{{ pets.PetName }}

\n

{{'Species' | translate}}: {{ pets.SpeciesName }}

\n

{{'Breed' | translate}}: {{ pets.BreedsName }}

\n
\n \n
\n
\n
\n
\n
\n
\n
","import { Component, ViewChild, OnInit, NgZone, ElementRef } from '@angular/core';\nimport { AlertService, AuthenticationService } from '../_services';\nimport { PetsService } from '../_services';\nimport { environment } from '../../environments/environment';\nimport { interval, Subscription } from 'rxjs';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MapsAPILoader } from '@agm/core';\nimport { Options } from 'ng5-slider';\nimport { Router } from '@angular/router';\nimport * as $ from 'jquery'\n\n@Component({\n selector: 'app-home',\n //directives: [InfiniteScrollModule],\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n // styles: [\n // `.search-results {\n // height: 20rem;\n // overflow: scroll;\n // }`\n // ],\n template: `\n \n `,\n\n})\nexport class HomeComponent implements OnInit {\n totalPetCount: any;\n totalPetCount_Lost: any;\n totalPetCount_Found: any;\n totalCount: any;\n totalDogs: any;\n totalCats: any;\n MtotalCount: any;\n MtotalDogs: any;\n MtotalCats: any;\n LostpetDetailsList: any;\n FoundpetDetailsList: any;\n LostFoundpetDetailsList: any;\n alldatalist: any;\n OperationTypeID: any = 3;\n OperationTypeHeading: string;\n petImagePath = environment.apiBaseUrl + \"/Static/Images/\";\n avgRegesteredPetsPerDay: number;\n public valt: number;\n public finalt: number;\n public countvalue: boolean = false;\n submitted = false;\n page = 1;\n pageSize = 12;\n zoom: any = 13;\n searchForm: FormGroup;\n lat: any;//= 59.9138688;\n lng: any;//= 7.809007;\n radiousMils: any;\n minClusterSize = 50;\n options: Options = {\n floor: 0,\n ceil: 100\n };\n currentActiveTabFilter = null;\n sum = 6;\n array = [];\n direction = \"\";\n throttle = 1;\n scrollDistance = 1;\n private geoCoder;\n @ViewChild('search')\n private searchElementRef: ElementRef;\n\n scrollUpDistance = 2;\n\n subscription: Subscription;\n statusText: string;\n\n\n constructor(\n private pets: PetsService,\n private authenticationService: AuthenticationService,\n private alertService: AlertService,\n private formbuilder: FormBuilder,\n private mapsAPILoader: MapsAPILoader,\n private ngZone: NgZone,\n private router: Router,\n ) { }\n\n ngOnInit() {\n this.searchForm = this.formbuilder.group({\n SpeciesID: [],\n BreedID: [],\n Area: [''],\n lat: ['59.9138688'],\n lng: ['10.7522'],\n // lat: ['30.73333'],\n // lng: ['76.7794'],\n radiousDistance: ['10'],\n OperationTypeID: ['1']\n });\n\n\n // this.totalCount = \"600 000\";\n // this.totalCats = \"200 000\";\n // this.totalDogs = \"400 000\";\n // this.MtotalCount = \"600 000\";\n // this.MtotalCats = \"200 000\";\n // this.MtotalDogs = \"400 000\";\n\n\n\n //this.getFoundPets();\n\n this.mapsAPILoader.load().then(() => {\n this.geoCoder = new google.maps.Geocoder;\n\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\n types: []\n });\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n //verify result\n // debugger;\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n // this.searchForm.controls['Area'].patchValue(place.formatted_address)\n // this.searchForm.controls['lat'].patchValue(place.geometry.location.lat());\n // this.searchForm.controls['lng'].patchValue(place.geometry.location.lng());\n // debugger;\n //set latitude, longitude and zoom\n this.lat = place.geometry.location.lat();\n this.lng = place.geometry.location.lng();\n //this.zoom = 13;\n //localStorage.setItem('_searchFilters', JSON.stringify({ lat: this.lat, lng: this.lng, area: place.formatted_address, radiousDistance: this.searchForm.value.radiousDistance, OperationTypeID: this.OperationTypeID }))\n this.onSubmit();\n\n });\n });\n });\n\n\n\n this.mapsAPILoader.load().then(() => {\n // debugger;\n // this.lat = 59.9138688;\n // this.lng = 10.7522;\n this.setCurrentLocation();\n });\n \n this.authenticationService.GetDailyReportedPets().subscribe((res: any) => {\n if (res.Status == 1) {\n this.avgRegesteredPetsPerDay = res.Data.PetRegisteredPerDay;\n this.totalCount = new Number(res.Data.PetCount).toLocaleString(\"fi-FI\");\n\n var avgTimeToChangeTotalCount = (8 * 60 * 60) / (this.avgRegesteredPetsPerDay);\n\n const source = interval(avgTimeToChangeTotalCount * 1000);\n source.subscribe(val => this.updateTotalCount());\n }\n });\n\n this.authenticationService.GetListCount().pipe().subscribe(response => {\n\n this.totalCount = new Number(response.Data.TotalPets).toLocaleString(\"fi-FI\");\n this.totalDogs = new Number(response.Data.TotalDogs).toLocaleString(\"fi-FI\");\n this.totalCats = new Number(response.Data.TotalCats).toLocaleString(\"fi-FI\");\n this.MtotalCount = this.transform(response.Data.TotalPets,);\n this.MtotalDogs = this.transform(response.Data.TotalDogs,);\n this.MtotalCats = this.transform(response.Data.TotalCats,);\n });\n\n localStorage.removeItem('ListPageNo');\n localStorage.removeItem('ListView');\n localStorage.removeItem('SearchFilters');\n localStorage.removeItem('_calledFrom');\n\n window.addEventListener('scroll', this.handleScroll, true);\n\n }\n\n transform(number: number, args?: any): any {\n if (isNaN(number)) return null; // will only work value is a number\n if (number === null) return null;\n if (number === 0) return null;\n let abs = Math.abs(number);\n const rounder = Math.pow(10, 1);\n const isNegative = number < 0; // will also work for Negetive numbers\n let key = '';\n\n const powers = [\n { key: 'Q', value: Math.pow(10, 15) },\n { key: 'T', value: Math.pow(10, 12) },\n { key: 'B', value: Math.pow(10, 9) },\n { key: 'M', value: Math.pow(10, 6) },\n { key: 'K', value: 1000 }\n ];\n\n for (let i = 0; i < powers.length; i++) {\n let reduced = abs / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n abs = reduced;\n key = powers[i].key;\n break;\n }\n }\n //return (isNegative ? '-' : '') + abs + key;\n return ((isNegative ? '-' : '') + abs + key).replace(\".\", \",\");\n }\n\n handleScroll = (event) => {\n var distance = $('#main-div').offset().top;\n const navbar = document.getElementById(\"menu-div\");\n if (!navbar) return;\n if (distance < 0) {\n navbar.classList.add(\"sticky\")\n } else {\n navbar.classList.remove(\"sticky\");\n }\n }\n\n private setCurrentLocation() {\n this.mapsAPILoader.load().then(() => {\n if (\"geolocation\" in navigator) {\n //debugger;\n navigator.geolocation.getCurrentPosition((position) => {\n this.lat = position.coords.latitude;\n this.lng = position.coords.longitude;\n this.getLostPets(1, false);\n //this.getAddress(this.lat, this.lng);\n },\n () => {\n if (this.lat == 0 || this.lat == undefined || this.lat == null) {\n //debugger;\n this.lat = 59.9138688;\n this.lng = 10.7522;\n this.getLostPets(1, false);\n }\n // debugger;\n // this.lat = 0;\n // this.getAddress(0, 0);\n });\n }\n\n });\n\n this.getLostPets(1, false);\n // const searchFilter = JSON.parse(localStorage.getItem('_searchFilters'));\n // if (searchFilter) {\n // this.lat = searchFilter.lat;\n // this.lng = searchFilter.lng;\n // if (searchFilter.radiousDistance) this.searchForm.controls['radiousDistance'].patchValue(searchFilter.radiousDistance);\n // if (searchFilter.OperationTypeID) {\n // this.OperationTypeID = searchFilter.OperationTypeID;\n // this.searchForm.controls['OperationTypeID'].patchValue(searchFilter.OperationTypeID);\n // }\n\n //this.getAddress(this.lat, this.lng);\n\n // } else {\n // if (\"geolocation\" in navigator) {\n // navigator.geolocation.getCurrentPosition((position) => {\n // this.lat = position.coords.latitude;\n // this.lng = position.coords.longitude;\n // this.getAddress(this.lat, this.lng);\n // },\n // () => {\n // // debugger;\n // this.lat = 0;\n // this.getAddress(0, 0);\n // });\n // }\n // }\n\n }\n\n getAddress(latitude, longitude) {\n // debugger;\n if (latitude == 0) {\n this.getLostPets(this.page);\n }\n else {\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\n // console.log(results);\n // console.log(\"status ??\");\n if (status === 'OK') {\n if (results[0]) {\n this.zoom = 13;\n // console.log(results[0].formatted_address);\n this.searchForm.controls['Area'].patchValue(results[0].formatted_address);\n\n this.getLostPets(this.page);\n } else {\n window.alert('No results found');\n }\n } else {\n window.alert('Geocoder failed due to: ' + status);\n }\n\n\n });\n }\n }\n\n\n getLostPets(page: number, isPagination?: boolean) {\n this.page = page;\n let startIndex = (this.page == 1) ? 0 : (page - 1) * 50;\n let endIndex = startIndex + 50;\n\n let filters = {\n \"startIndex\": startIndex,\n \"endIndex\": endIndex,\n \"lat\": this.lat,\n \"lng\": this.lng,\n \"radiousDistance\": this.searchForm.value.radiousDistance,\n \"operationTypeFliter\": 0,//this.currentActiveTabFilter == null ? 3 : this.currentActiveTabFilter,\n \"days\": 15\n }\n if (this.lat == 0) {\n\n let startIndex = (this.page == 1) ? 0 : (page - 1) * 25;\n let endIndex = startIndex + 25;\n\n let nullFilter = {\n \"startIndex\": startIndex,\n \"endIndex\": endIndex\n }\n\n this.pets.GetLandingPageLostPets_(nullFilter).subscribe(Response => {\n this.alldatalist = Response;\n this.totalPetCount_Lost = this.alldatalist.RecordsTotal;\n this.LostpetDetailsList = this.alldatalist.data;//.slice(0,Math.ceil(this.alldatalist.RecordsFiltered/2));//.slice(0,3);\n // this.FoundpetDetailsList = this.alldatalist.data.slice(3,6);\n });\n\n // this.pets.GetLandingPageFoundPets(nullFilter).subscribe(Response => {\n // this.alldatalist = Response;\n // this.totalPetCount_Found = this.alldatalist.RecordsTotal; \n // this.FoundpetDetailsList = this.alldatalist.data.slice(0,Math.ceil(this.alldatalist.RecordsFiltered/2));//.slice(3,6);\n // this.totalPetCount = this.totalPetCount_Lost + this.totalPetCount_Found;\n // });\n }\n else {\n\n //this.pets.GetLandingPageLostPets(filters).subscribe(Response => {\n if(!this.lat) return;\n this.pets.GetPetsForLandingPage(filters).subscribe(Response => {\n this.alldatalist = Response;\n // this.OperationTypeID = 3;\n this.totalPetCount = this.alldatalist.RecordsTotal;\n this.LostpetDetailsList = this.alldatalist.data;//.slice(0,Math.ceil(this.alldatalist.RecordsFiltered/2));\n //this.FoundpetDetailsList = this.alldatalist.data.slice(Math.ceil(this.alldatalist.RecordsFiltered/2),Math.ceil(this.alldatalist.RecordsFiltered));\n });\n }\n if (isPagination) this.scrollTop();\n }\n\n scrollTop = () => {\n const element = document.querySelector('#main-div');\n element.scrollIntoView({ behavior: 'smooth' });\n }\n\n public updateTotalCount() {\n this.valt = parseInt(this.totalCount.replace(/\\s/g, ''));\n\n var numvalue = (this.valt) + 1;\n var str = new Number(numvalue).toLocaleString(\"fi-FI\");\n this.totalCount = str;\n }\n public ChangeFilterData(event: any) {\n this.lat = event.coords.lat;\n this.lng = event.coords.lng;\n this.GetLandingPagePets(0, 1);\n }\n public GetLandingPagePets(FilterData: any, page: number) {\n // debugger;\n this.page = page;\n let startIndex = (this.page == 1) ? 0 : (page - 1) * 50;\n let endIndex = startIndex + 50;\n\n if (FilterData)\n this.OperationTypeID = FilterData;\n //localStorage.setItem('_searchFilters', JSON.stringify({ lat: this.lat, lng: this.lng, area: this.searchForm.value.Area, radiousDistance: this.searchForm.value.radiousDistance, OperationTypeID: this.OperationTypeID }))\n let LandingPagefilters = {\n \"startIndex\": startIndex,\n \"endIndex\": endIndex,\n \"lat\": this.lat,\n \"lng\": this.lng,\n \"radiousDistance\": this.searchForm.value.radiousDistance,\n \"operationTypeFliter\": 0,//FilterData == null ? 3 : FilterData,\n \"days\": 15\n }\n\n\n // if (FilterData == 1) {\n this.currentActiveTabFilter = 1;\n this.pets.GetPetsForLandingPage(LandingPagefilters).subscribe(Response => {\n\n this.alldatalist = Response;\n\n this.totalPetCount = this.alldatalist.RecordsTotal;\n //this.LostpetDetailsList= this.alldatalist.data;\n this.LostpetDetailsList = this.alldatalist.data;//.slice(0,Math.ceil(this.alldatalist.RecordsFiltered/2)); \n //this.FoundpetDetailsList = this.alldatalist.data.slice(Math.ceil(this.alldatalist.RecordsFiltered/2),this.alldatalist.RecordsFiltered);\n\n });\n\n }\n\n onSubmit() {\n localStorage.setItem('_searchFilters', JSON.stringify({ lat: this.lat, lng: this.lng, area: this.searchForm.value.Area, radiousDistance: this.searchForm.value.radiousDistance, OperationTypeID: this.OperationTypeID }))\n this.submitted = true;\n this.page = 1;\n let ListPageNo = localStorage.getItem('ListPageNo');\n if (ListPageNo) {\n this.page = Number(ListPageNo);\n }\n if (this.currentActiveTabFilter == null) {\n this.currentActiveTabFilter = 3;\n }\n if (this.lat != 0 && this.lat != null && this.lat != undefined)\n this.GetLandingPagePets(this.currentActiveTabFilter, this.page);\n\n }\n\n //go to pet details page\n goToPetDetails = (petDetail: any) => {\n const petName = `${petDetail.Color ? petDetail.Color : ''} ${petDetail.BreedsName ? petDetail.BreedsName : ''} ${petDetail.SpeciesName ? petDetail.SpeciesName : ''} ${(petDetail.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${petDetail.City ? petDetail.City : ''}`\n const urlString = petName.trim().toLowerCase().split(' ').join('-');\n const removeChar = urlString.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n const encodedString = encodeURI(removeChar);\n const atobStr = btoa(petDetail.LostFoundID);\n localStorage.setItem('_page', 'home_page');\n const param = this.OperationTypeID == '3' ? { opType: '' } : { opType: this.OperationTypeID };\n this.router.navigate([`list-pets/pet-detail/${atobStr}/${encodedString}`], { queryParams: param });\n\n }\n\n ngOnDestroy() {\n window.removeEventListener('scroll', this.handleScroll, true);\n }\n\n}","
\r\n
\r\n
{{ 'Report Pets' | translate }}
\r\n

{{ 'Lost & Found' | translate }}

\r\n

{{ 'Cotainer string' | translate }}

\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n {{ totalCount }}\r\n {{ MtotalCount }}\r\n {{'ID-Marked Pets' | translate }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n {{ totalDogs }}\r\n {{ MtotalDogs }}\r\n {{'ID-Marked Dogs' | translate }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n {{ totalCats }}\r\n {{ MtotalCats }}\r\n {{'ID-Marked Cats' | translate }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Har du funnet et savnet dyr?

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Har du funnet et savnet dyr?

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n

{{'Latest Lost & Found in Norway' | translate}}

\r\n

{{'Latest Lost & Found in Norway string' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

{{'Latest Lost & Found in Norway' | translate}}

\r\n

{{'Latest Lost & Found in Norway string' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{'Latest Lost & Found in Norway' | translate}}

\r\n

{{'Latest Lost & Found in Norway string' | translate}}

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Siste savnet og funnet i Norge

\r\n

Mitt Spor Lorem ipsum dolor sit amet, consectetur adipis cing elit. Sed et interdum ex. Mauris estue amei\r\n enim, convallis

\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n \"\"\r\n
\r\n \r\n
\r\n
\r\n
{{ ((petDetail.OperationTypeID == \"1\") ? 'Lost' : 'Found') |\r\n translate}} {{petDetail.Color +\" \"}}{{ petDetail.BreedsName +\" \"+\r\n petDetail.SpeciesName}} i {{petDetail.City}}\r\n
\r\n
{{ ((petDetail.OperationTypeID == \"1\") ? 'Lost' : 'Found') |\r\n translate}} {{petDetail.Color\r\n +\" \"}}{{ petDetail.BreedsName }} ({{petDetail.SpeciesName}}) i {{petDetail.City}}
\r\n \r\n

\"\"{{\r\n ((petDetail.Area == null) ? \"\" : petDetail.Area) +\" \"+ ((petDetail.ZipCode == null) ? \"\" :\r\n petDetail.ZipCode) +\" \"+((petDetail.City == null) ? \"\" : petDetail.City)}}

\r\n

\"\"\r\n{{((petDetail.City == null) ? \"\" : petDetail.City)}}

\r\n

\"\" {{ petDetail.DisplayLostFoundDate}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'angularx-social-login';\r\nimport { SocialUser } from 'angularx-social-login';\r\nimport { GoogleLoginProvider, FacebookLoginProvider } from 'angularx-social-login';\r\nimport { Router,ActivatedRoute } from '@angular/router';\r\nimport { Socialusers } from '../_models';\r\nimport { AuthenticationService } from '../_services';\r\nimport { environment } from '../../environments/environment';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n response; \r\n socialusers = new Socialusers(); \r\n returnUrl: string;\r\n referUrl: string;\r\n referPage: string;\r\n currentUser: any;\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router,\r\n private authenticationService:AuthenticationService,\r\n private route: ActivatedRoute,\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.referUrl = this.route.snapshot.queryParams['refer'];\r\n this.referPage = this.route.snapshot.queryParams['referPage'];\r\n if (this.referUrl == \"minside\"){\r\n if(localStorage[\"socialusers\"] == undefined || localStorage[\"socialusers\"] == null)\r\n {\r\n this.LoginWithMinside();\r\n }else{\r\n \r\n // User Logged IN \r\n this.currentUser = this.authenticationService.currentUserValue;\r\n \r\n var userProvider = this.currentUser.Provider.toLowerCase();\r\n var username = \"\";\r\n var email = this.currentUser.EmailID;\r\n if(email == null){\r\n username = this.currentUser.ContactNumber;\r\n }else{\r\n username = email.toLowerCase();\r\n }\r\n \r\n var flag = confirm(\"User (\"+ username+\") already logged in from (\"+userProvider+\"). Do you wanted to end Current Session ?\");\r\n if (flag){\r\n this.authenticationService.logout();\r\n this.router.navigate(['/login']);\r\n this.LoginWithMinside();\r\n }else {\r\n if((userProvider == 'facebook') || (userProvider == 'google')){\r\n this.router.navigate(['/']);\r\n }\r\n else{\r\n if(this.referPage == \"found\"){\r\n window.location.href = `${environment.lostFoundBaseUrl}/report-found`;\r\n }else{\r\n window.location.href = `${environment.lostFoundBaseUrl}/report-lost`;\r\n }\r\n }\r\n }\r\n \r\n \r\n \r\n }\r\n }\r\n \r\n\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n if(localStorage[\"socialusers\"] != undefined || localStorage[\"socialusers\"] != null)\r\n {\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n }\r\n\r\n public socialSignIn(socialProvider: string) { \r\n let socialPlatformProvider; \r\n if (socialProvider === 'facebook') { \r\n socialPlatformProvider = FacebookLoginProvider.PROVIDER_ID; \r\n } else if (socialProvider === 'google') { \r\n socialPlatformProvider = GoogleLoginProvider.PROVIDER_ID; \r\n } \r\n \r\n this.authService.signIn(socialPlatformProvider).then(user => { \r\n //console.log(socialProvider, user); \r\n //console.log(user); \r\n\r\n this.socialusers.SocialID = user.id;\r\n this.socialusers.FirstName = user.firstName;\r\n this.socialusers.LastName = user.lastName;\r\n this.socialusers.EmailID = user.email;\r\n this.socialusers.AuthToken = user.authToken;\r\n this.socialusers.Provider = user.provider;\r\n\r\n this.Savesresponse(this.socialusers); \r\n }); \r\n } \r\n Savesresponse(socialusers: Socialusers) { \r\n this.authenticationService.login(socialusers).subscribe((res: any) => { \r\n this.socialusers = res.data; \r\n localStorage.setItem('socialusers', JSON.stringify( this.socialusers)); \r\n this.router.navigate([this.returnUrl]); \r\n }) \r\n } \r\n\r\n LoginWithMinside(){\r\n \r\n if(this.referPage != null){\r\n var minsideUrl = environment.urlMinsideLogin + '&referPage='+this.referPage;\r\n }else{\r\n var minsideUrl = environment.urlMinsideLogin ;\r\n }\r\n var popup = window.open(`${minsideUrl}`, \"Popup\", \"width=400,height=400\");\r\n popup.open();\r\n }\r\n signOut(): void {\r\n this.authenticationService.logout();\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
{{ 'Sign-In' | translate }}
\r\n

{{ 'Lost & Found' | translate }}

\r\n

{{ 'Cotainer string' | translate }}

\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { OwnerService } from '../_services/owner.service';\nimport { AuthenticationService } from '../_services';\nimport { Socialusers } from '../_models';\nimport { environment } from '../../environments/environment';\n\n@Component({\n selector: 'app-minside-auth-callback',\n templateUrl: './minside-auth-callback.component.html',\n styleUrls: ['./minside-auth-callback.component.scss']\n})\nexport class MinsideAuthCallbackComponent implements OnInit {\n\n constructor(private activatedRoute: ActivatedRoute, \n private ownerService : OwnerService, \n private authenticationService:AuthenticationService,\n private router: Router,\n private route: ActivatedRoute,) { }\n\n userToken : string;\n socialusers = new Socialusers(); \n referPage : string;\n ngOnInit(): void {\n \n this.referPage = this.activatedRoute.snapshot.params['referPage'];\n this.userToken = this.activatedRoute.snapshot.params['id'];\n \n this.GetAuthTokenByUserToken(this.userToken);\n }\n\n GetAuthTokenByUserToken(uToken : string){\n this.ownerService.getOwnerAuthToken(uToken).subscribe((res: any) => { \n \n if (res.Status == 1){\n this.socialusers.SocialID = res.Data.Id;\n this.socialusers.FirstName = res.Data.FirstName;\n this.socialusers.LastName = res.Data.LastName;\n this.socialusers.EmailID = res.Data.Email;\n this.socialusers.Address = res.Data.Address;\n this.socialusers.Zipcode = res.Data.ZipCode;\n this.socialusers.City = res.Data.City;\n this.socialusers.AuthToken = res.Data.AuthToken;\n this.socialusers.Provider = res.Data.Provider;\n this.socialusers.ContactNumber = res.Data.ContactNumber;\n this.socialusers.District = res.Data.District;\n this.socialusers.State = res.Data.StateName;\n this.socialusers.Country= res.Data.CountryName\n this.Savesresponse(this.socialusers);\n }\n else{\n alert(\"User Token is expired. Please login with Minside again\");\n this.router.navigate(['/login']);\n }\n }) \n }\n Savesresponse(socialusers: Socialusers) { \n this.authenticationService.login(socialusers).subscribe((res: any) => { \n this.socialusers = res.data; \n localStorage.setItem('socialusers', JSON.stringify( this.socialusers)); \n if(this.referPage == \"found\"){\n window.opener.location.href = `${environment.lostFoundBaseUrl}/report-found`;\n window.close();\n } else{\n window.opener.location.href = `${environment.lostFoundBaseUrl}/report-lost`;\n window.close();\n }\n \n \n }); \n } \n}\n","

\n Please wait currently signin the user........\n

\n","import { Component, OnInit } from '@angular/core';\nimport { PetsService } from '../../_services';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { ShareService } from '@ngx-share/core';\nimport { FacebookService, UIParams, UIResponse, InitParams } from 'ngx-facebook';\nimport { jsPDF } from \"jspdf\";\nimport html2canvas from 'html2canvas';\n\n@Component({\n selector: 'app-detail',\n templateUrl: './detail.component.html',\n styleUrls: ['./detail.component.scss']\n})\n\nexport class DetailComponent implements OnInit {\n\n public lat: number;\n public lng: number;\n public zoom: number;\n public showhideBackButton: boolean;\n public showhomePageBrowseListing: boolean;\n public petType: string = 'current';\n public isPreviousDisabled: boolean = false;\n public isNextDisabled: boolean = false;\n public qrCodeString: string = '';\n public currentUser: any = null;\n public petName = '';\n public calledFrom = '';\n public operationTypeID: string = '';\n public searchFilters: any = null;\n\n\n constructor(\n private Pets: PetsService,\n private router: ActivatedRoute,\n private meta: Meta,\n private title: Title,\n private routeObj: Router,\n public share: ShareService,\n private fb: FacebookService\n ) {\n this.qrCodeString = window.location.href;\n }\n\n\n petImagePath = environment.apiBaseUrl + \"/Static/Images/\";\n LostFoundPetID;\n pet;\n detailMessageString = environment.lostFoundBaseUrl + \"dashboard/pet-detail?PetID=\";\n detailMessageStringEMail = \"Les mer : \" + environment.lostFoundBaseUrl + \"dashboard/pet-detail?PetID=\";\n ShareMessage: string;\n public petListany: any = [];\n\n ngOnInit(): void {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.calledFrom = localStorage.getItem('_calledFrom');\n this.searchFilters = JSON.parse(localStorage.getItem('SearchFilters'));\n //console.log(this.currentUser)\n this.LostFoundPetID = atob(this.router.snapshot.paramMap.get('petId'));\n this.operationTypeID = this.router.snapshot.queryParamMap.get('opType');\n if (this.calledFrom == 'home') {\n this.showhomePageBrowseListing = true;\n }\n else {\n this.showhomePageBrowseListing = false;\n }\n //console.log(this.operationTypeID)\n this.getPetDetails();\n this.showhideBackButton = true;\n var currenturl = window.location.href;\n // if(currenturl.toLowerCase().indexOf('report-lost') > 0 || currenturl.toLocaleLowerCase().indexOf('report-found') > 0 || currenturl.toLocaleLowerCase().indexOf('dashboard') > 0 ){\n if (currenturl.toLowerCase().indexOf('report-lost') > 0 || currenturl.toLocaleLowerCase().indexOf('report-found') > 0) {\n this.showhideBackButton = false;\n }\n this.ShareMessage = '';\n }\n\n getPetDetails = () => {\n this.isPreviousDisabled = false;\n this.isNextDisabled = false;\n const page = localStorage.getItem('_page');\n const userId = (page && page === 'dashboard') ? this.currentUser.ID : '';\n let parameters: any = {\n userId: userId,\n LostFoundPetID: this.LostFoundPetID,\n type: this.petType,\n OperationTypeID: this.operationTypeID\n }\n\n if (page && page === 'list_page') {\n parameters.lat = this.searchFilters.lat;\n parameters.lng = this.searchFilters.lng;\n parameters.radiousDistance = this.searchFilters.radiousDistance;\n parameters.BreedID = this.searchFilters.BreedID;\n parameters.SpeciesID = this.searchFilters.SpeciesID;\n parameters.page = page;\n } else {\n parameters.lat = '';\n parameters.lng = '';\n parameters.radiousDistance = '';\n parameters.BreedID = '';\n parameters.SpeciesID = '';\n parameters.page = '';\n }\n\n if (this.calledFrom == 'home') {\n if (this.petType == 'next') {\n this.petListany = this.Pets.fetchListData();\n for (let i = 0; i < this.petListany.length; i++) {\n if (this.LostFoundPetID == this.petListany[i].ChipId) {\n if (i == this.petListany.length - 1)\n this.isNextDisabled = true;\n else\n this.LostFoundPetID = this.petListany[i + 1].ChipId;\n break;\n }\n }\n }\n else if (this.petType == 'previous') {\n this.petListany = this.Pets.fetchListData();\n for (let i = 0; i < this.petListany.length; i++) {\n if (this.LostFoundPetID == this.petListany[i].ChipId) {\n if (i == 0)\n this.isPreviousDisabled = true;\n else\n this.LostFoundPetID = this.petListany[i - 1].ChipId;\n break;\n }\n }\n }\n this.Pets.getChipInfo(this.LostFoundPetID).subscribe(response => {\n\n let titleContent = '';\n if (response) {\n this.pet = response;\n this.qrCodeString = window.location.href;\n const petName = `${this.pet.PetColor ? this.pet.PetColor : ''} ${this.pet.Breed ? this.pet.Breed : ''} ${this.pet.Species ? this.pet.Species : ''} ${(this.pet.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${this.pet.City ? this.pet.City : ''}`\n this.petName = petName;\n\n this.lat = Number(parameters.lat);\n this.lng = Number(parameters.lng);\n this.zoom = 15;\n let subtext = '';\n if (response.OperationTypeID == 1) {\n subtext = 'Tapt';\n } else if (response.OperationTypeID == 2) {\n subtext = \"Funnet\";\n }\n\n // let HairType ='';\n if (response.HairType == 1) {\n this.pet.HairType = 'Langhåret';\n } else if (response.HairType == 2) {\n this.pet.HairType = \"Korthåret\";\n }\n this.pet.Gender = response.PetSex;\n if (this.pet.BirthDate && this.pet.BirthMonth && this.pet.BirthYear)\n this.pet.BirthDate = this.pet.BirthDate + '.' + this.pet.BirthMonth + '.' + this.pet.BirthYear;\n let color = '';\n if (response.PetColor) {\n color = response.PetColor + \" \";\n }\n if (!this.pet.PetOriginalPhoto) {\n if (parameters.SpeciesID == 1)\n this.pet.PetOriginalPhoto = \"assets/img/home/lost-animl-bg.png\";\n else\n this.pet.PetOriginalPhoto = \"assets/img/home/homepet_cat.png\";\n }\n if (this.pet.PetOriginalPhoto) {\n const img = new Image();\n img.src = this.pet.PetOriginalPhoto;\n img.onerror = () => {\n if (parameters.SpeciesID == 1)\n this.pet.PetOriginalPhoto = \"assets/img/home/lost-animl-bg.png\";\n else\n this.pet.PetOriginalPhoto = \"assets/img/home/homepet_cat.png\";\n };\n }\n if (!this.pet.PetPhoto) {\n if (parameters.SpeciesID == 1)\n this.pet.PetPhoto = \"assets/img/home/lost-animl-bg.png\";\n else\n this.pet.PetPhoto = \"assets/img/home/homepet_cat.png\";\n }\n if (this.pet.PetPhoto) {\n const img = new Image();\n img.src = this.pet.PetPhoto;\n img.onerror = () => {\n if (parameters.SpeciesID == 1)\n this.pet.PetPhoto = \"assets/img/home/lost-animl-bg.png\";\n else\n this.pet.PetPhoto = \"assets/img/home/homepet_cat.png\";\n };\n }\n let city = '';\n if (response.City) {\n city = response.City;\n }\n if (response.Breed) {\n this.ShareMessage = this.ShareMessage + color + response.Breed + \" (\" + response.Species + \") \" + subtext + \" | \" + city;\n } else {\n this.ShareMessage = this.ShareMessage + color + response.Species + \" \" + subtext + \" | \" + city\n }\n this.ShareMessage = this.ShareMessage ? this.ShareMessage.replace(/^\\s+|\\s+$/gm, '') : '';\n // this.meta.addTags([\n // { name: 'og:title', content: this.ShareMessage },\n // { name: 'og:description', content: response.AdditionalInfo },\n // { name: 'og:image', content: this.petImagePath + response.ImagePath },\n // ]);\n\n } else {\n if (this.petType === 'previous') {\n this.isPreviousDisabled = true;\n } else if (this.petType === 'next') {\n this.isNextDisabled = true;\n }\n }\n this.title.setTitle(this.ShareMessage);\n\n })\n }\n else {\n this.Pets.GetLostFoundPetDetailsByID(parameters).subscribe(response => {\n let titleContent = '';\n if (response) {\n this.pet = response;\n this.qrCodeString = window.location.href;\n const petName = `${this.pet.Color ? this.pet.Color : ''} ${this.pet.MasterBreed ? this.pet.MasterBreed : ''} ${this.pet.MasterSpecies ? this.pet.MasterSpecies : ''} ${(this.pet.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${this.pet.City ? this.pet.City : ''}`\n this.petName = petName;\n if (this.petType !== 'current') {\n const urlString = petName.trim().toLowerCase().split(' ').join('-');\n const encodedString = encodeURI(urlString);\n const atobStr = btoa(this.pet.LostFoundID)\n this.routeObj.navigate([`list-pets/pet-detail/${atobStr}/${encodedString}`]);\n this.LostFoundPetID = response.LostFoundID;\n }\n\n this.lat = Number(response.lat);\n this.lng = Number(response.lng);\n this.zoom = 15;\n\n\n let subtext = '';\n if (response.OperationTypeID == 1) {\n subtext = 'Tapt';\n } else if (response.OperationTypeID == 2) {\n subtext = \"Funnet\";\n }\n\n // let HairType ='';\n if (response.HairType == 1) {\n this.pet.HairType = 'Langhåret';\n } else if (response.HairType == 2) {\n this.pet.HairType = \"Korthåret\";\n }\n if (!this.pet.ShowChipNoToOthers)\n this.pet.ChipID = \"\";\n if (response.Gender == 1) {\n this.pet.Gender = 'Hunndyr';\n } else if (response.Gender == 2) {\n this.pet.Gender = 'Hunn';\n }\n\n let color = '';\n if (response.Color) {\n color = response.Color + \" \";\n }\n let city = '';\n if (response.City) {\n city = response.City;\n }\n if (response.MasterBreed) {\n this.ShareMessage = this.ShareMessage + color + response.MasterBreed + \" (\" + response.MasterSpecies + \") \" + subtext + \" | \" + city;\n } else {\n this.ShareMessage = this.ShareMessage + color + response.MasterSpecies + \" \" + subtext + \" | \" + city\n }\n this.ShareMessage = this.ShareMessage ? this.ShareMessage.replace(/^\\s+|\\s+$/gm, '') : '';\n // this.meta.addTags([\n // { name: 'og:title', content: this.ShareMessage },\n // { name: 'og:description', content: response.AdditionalInfo },\n // { name: 'og:image', content: this.petImagePath + response.ImagePath },\n // ]);\n\n } else {\n if (this.petType === 'previous') {\n this.isPreviousDisabled = true\n } else if (this.petType === 'next') {\n this.isNextDisabled = true\n }\n }\n this.title.setTitle(this.ShareMessage);\n\n })\n }\n }\n\n openModal(event) {\n document.getElementById(event.currentTarget.parentElement.nextElementSibling.id).style.display = \"flex\";\n }\n\n closeModal(event) {\n document.getElementById(event.currentTarget.parentElement.id).style.display = \"none\";\n }\n\n shareWithFacebook(id): void {\n let shareUrl = this.detailMessageString + id;\n //shareUrl = 'https://lostfound.staging.dyreid.no/pet-detail?PetID=1099';\n let url = 'http://www.facebook.com/sharer.php?u=' + shareUrl;\n let newwindow = window.open(url, 'name', 'height=500,width=520,top=200,left=300,resizable');\n if (window.focus) {\n newwindow.focus()\n }\n }\n\n goBack() {\n const page = localStorage.getItem('_page');\n if (page && page === 'list_page') {\n this.routeObj.navigate(['/list-pets'], { queryParams: { OperationTypeID: 1, radiousDistance: 10 } });\n } else if (page && page === 'dashboard') {\n this.routeObj.navigate(['/dashboard']);\n } else if (page && page === 'report-found') {\n this.routeObj.navigate(['/report-found']);\n } else if (page && page === 'report-lost') {\n this.routeObj.navigate(['/report-lost']);\n } else {\n this.routeObj.navigate(['/']);\n }\n\n }\n\n printPDF() {\n // const printContent = document.getElementById(\"containerID\");\n // document.getElementById(\"qr-code\").style.display = 'block';\n // const printRemoveContent = document.getElementById(\"ThumbnailImageBlockID\");\n // const WindowPrt = window.open('', '', 'left=0,top=0,width=900,height=900,toolbar=0,scrollbars=0,status=0');\n // var html = printContent.innerHTML.replace(printRemoveContent.innerHTML, \"\");\n // // WindowPrt.document.write(printContent.innerHTML);\n // WindowPrt.document.write(html);\n // WindowPrt.document.close();\n // WindowPrt.focus();\n // WindowPrt.print();\n // WindowPrt.close();\n // document.getElementById(\"qr-code\").style.display = 'none';\n this.generatePDF();\n \n }\n\n generatePDF() {\n var data = document.getElementById('print-me');\n data.style.display = 'block';\n html2canvas(data, {allowTaint: true, useCORS: true}).then(canvas => {\n var imgWidth = 208;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jsPDF('p', 'mm', 'a4');\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save(this.pet.PetName);\n setTimeout(() => {\n data.style.display = 'none'\n // window.close();\n }, 500)\n\n });\n }\n\n previousItem = () => {\n this.petType = 'previous';\n this.getPetDetails();\n }\n\n nextItem = () => {\n this.petType = 'next';\n this.getPetDetails();\n }\n\n onSwipe = (e) => {\n if (e.type === \"swiperight\") {\n this.previousItem();\n } else {\n this.nextItem();\n }\n }\n\n shareOnFacebook() {\n\n const currentUrl = window.location.href;\n const imgUrl = this.pet.ThumbnailImagePath ? this.petImagePath + this.pet.ThumbnailImagePath : this.petImagePath + this.pet.ImagePath;\n const desc = this.pet.AdditionalInfo ? this.pet.AdditionalInfo : this.petName;\n console.log('currentUrl: ', currentUrl);\n console.log('imgUrl: ', imgUrl);\n console.log('desc: ', desc);\n this.meta.addTags([\n { name: 'og:url', content: currentUrl },\n { name: 'og:title', content: 'THIS IS NEW TITLE!!' },\n { name: 'og:description', content: desc },\n { name: 'og:image', content: imgUrl },\n ]);\n // this.meta.updateTag({ name: 'title', content: 'THIS IS NEW TITLE!!' })\n const initParams: InitParams = {\n appId: '2770853809663369',\n xfbml: true,\n version: 'v2.8'\n };\n this.fb.init(initParams).then(success => {\n console.log('START: ', success);\n const params: UIParams = {\n href: 'https://lostfound.staging.dyreid.no/list-pets/pet-detail/NTU3Nw%3D%3D/amerikansk-cocker-spaniel-hund-tapt-i-chandigarh',\n method: 'share'\n };\n\n this.fb.ui(params)\n .then((res: UIResponse) => console.log('RES : ', res))\n .catch((e: any) => console.log('ERROR : ', e));\n }).catch(err => {\n console.log('ERROR: ', err);\n });\n\n }\n\n errorHandler = (e) => {\n\t\te.target.src = environment.placeholderImg;\n\t}\n\n\n}\n\ninterface Ipetdetalils {\n LostFoundID: number;\n UserLoginID: number;\n IsChipped: string;\n ChipID: string;\n OperationTypeID: number;\n PetName: string;\n PetType: string;\n SpeciesID?: number;\n MasterSpecies: string;\n BreedID?: number;\n MasterBreed: string;\n Gender: string;\n Casted: string;\n DateOfBirth?: string;\n DisplayDateOfBirth: string;\n LostFoundDate?: string;\n DisplayLostFoundDate: string;\n DisplayUpdatedDate: string;\n Area: string;\n Commune: string;\n City: string;\n State: string;\n StateID?: number;\n Country: string;\n Company: String;\n CountryID?: number;\n AdditionalInfo: string;\n ImageID?: number;\n ImagePath: string;\n ThumbImagePath: string;\n Color: string;\n CoatLength: string;\n Description: string;\n lat: string;\n lng: string;\n DistancePoint: string;\n OwnerContactEmail: string;\n IsReunite: boolean;\n CreatedDate: string;\n CreatedBy: string;\n UpdatedDate: string;\n UpdatedBy: string;\n Status: boolean;\n}","
\n
\n
\n
\n
\n
\n \n

\n {{pet.Color +\" \"}}{{ pet.MasterSpecies}} {{ ((pet.OperationTypeID == \"1\") ?\n 'Lost' : 'Found')| translate }} i {{pet.City}}\n \n\n \n

\n
\n
\n \n

\n {{pet.Color +\" \"}}{{pet.MasterBreed }} ({{pet.MasterSpecies}}) {{\n ((pet.OperationTypeID == \"1\") ? 'Lost' : 'Found') | translate}} i\n {{pet.City}}\n \n \n

\n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n ×\n
\n \n
\n
\n
\n\n\n
\n\n
\n
\n
\n \n \n \n\n
\n \n {{\"Name\" | translate }}: {{pet.PetName}}\n
\n\n
\n \n {{\"Chip ID\" | translate }}: {{pet.ChipID}}\n
\n\n
\n \n \n {{\"Area\"| translate }}: \n \n {{pet.Area}}\n \n {{' '+pet.ZipCode +' '+ pet.City}} \n \n \n
\n\n
\n \n \n {{\"Lost/Found\"| translate }}:\n {{pet.DisplayLostFoundDate}} \n \n \n \n \n {{\"Last Updated\"| translate }}:\n {{pet.DisplayUpdatedDate}}\n \n
\n\n\n\n
\n \n \n {{ pet.userEmailID}} \n \n \n {{ pet.userContactNumber}} \n \n
\n\n
\n \n \n \n \n \n \n
\n\n\n
\n
\n\n
\n
\n \n
\n
\n
\n

{{\"Additional Info\" | translate}}

\n
\n
\n
\n

{{pet.AdditionalInfo}}

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

{{\"Specifications\" | translate }}

\n
\n
\n
\n {{\"Species\" | translate }} {{pet.MasterSpecies}}\n
\n
\n {{\"Breed\" | translate }} {{pet.MasterBreed}}\n
\n
\n {{ 'Gender' | translate }} {{ pet.Gender}}\n
\n
\n {{ 'HairType' | translate }} {{ pet.HairType}}\n
\n
\n\n
\n
\n {{\"Color\" | translate }} {{pet.Color}}\n
\n
\n {{\"Birth Date\" | translate }} {{pet.DisplayDateOfBirth}}\n
\n
\n {{\"Identification\" | translate }} {{pet.PetName}}\n
\n
\n {{\"Company\" | translate }} {{pet.Company}}\n
\n
\n
\n
\n
\n
\n
\n

{{'Location on map' | translate}}

\n
\n
\n \n \n \n
\n
\n
\n\n \n
\n
\n
\n
\n \n {{ pet.userEmailID}}\n \n \n {{ pet.userContactNumber}}\n \n
\n\n
\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n

\n {{pet.PetColor +\" \"}}{{ pet.Breed}} {{ 'in your neighbourhood | translate' }}\n \n\n \n

\n
\n
\n \n

\n {{pet.PetColor +\" \"}}{{pet.Breed }} ({{pet.Species }}) {{\n 'in your neighbourhood' | translate}} \n \n \n

\n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n ×\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n \n \n \n\n
\n \n {{\"Name\" | translate }}: {{pet.PetName}}\n
\n\n
\n \n \n {{\"Area\"| translate }}: \n \n {{pet.AddressLine1}}\n \n {{' '+pet.ZipCode +' '+ pet.City}} \n \n \n
\n
\n \n {{ pet.OwnerFullName}}\n \n \n {{ pet.PrimaryTelephoneNo}}\n \n
\n\n
\n \n \n \n \n \n
\n\n\n
\n
\n\n
\n
\n
\n
\n
\n

{{\"Additional Info\" | translate}}

\n
\n
\n
\n

{{pet.AdditionalInfo}}

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

{{\"Specifications\" | translate }}

\n
\n
\n
\n {{\"Species\" | translate }} {{pet.Species}}\n
\n
\n {{\"Breed\" | translate }} {{pet.Breed}}\n
\n
\n {{ 'Gender' | translate }} {{ pet.PetSex}}\n
\n
\n\n
\n
\n {{\"Color\" | translate }} {{pet.PetColor}}\n
\n
\n {{\"Birth Date\"| translate }} {{pet.BirthDate}}\n
\n
\n {{\"Identification\" | translate }} {{pet.PetName}}\n
\n
\n {{\"Company\" | translate }} {{pet.ClinicName}}\n
\n
\n
\n
\n
\n
\n
\n

{{'Location on map' | translate}}

\n
\n
\n \n \n \n
\n
\n
\n\n \n
\n
\n
\n
\n \n {{ pet.PrimaryEmail}}\n \n \n {{ pet.PrimaryTelephoneNo}}\n \n
\n\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\"\"
\n
Katt funnet
\n
\n \n
\n \n \n \n \n \n
{{\"Name\" | translate }}{{pet?.PetName}}\n
\n
\n \n \n \n \n \n
{{\"Breed\" | translate }}\n {{pet?.MasterBreed}}
\n
\n \n \n \n\n \n \n
{{ ((pet?.OperationTypeID == \"1\") ?\n 'Lost' : 'Found')| translate }}\n {{pet?.DisplayLostFoundDate}}
\n
\n \n \n \n \n \n
{{\"Gender\" | translate}}{{pet?.Gender}}\n
\n
\n \n \n \n \n \n
{{\"Area\" | translate}}{{pet?.Area}}\n
\n
\n \n \n \n \n \n
{{\"HairType\" | translate}}{{\n pet?.HairType}}
\n
\n \n \n \n \n \n
{{\"Address\" | translate}}\n {{pet?.AddressLine1}} {{' '+pet?.ZipCode +' '+ pet?.City}}
\n
\n \n \n \n \n \n
{{\"Color\" | translate}} {{pet?.Color}}\n
\n
\n {{\"Additional Info\" | translate}}
{{pet?.AdditionalInfo}}
{{\"History\" | translate}}
\n
\n
\n
{{\"Contact\" | translate}}:
\n
{{pet?.userContactNumber}}
\n
\n
\n \"\" {{pet?.userContactNumber}}
\n
\n
\n
\n \n \n
\n
\n Scan QR-koden for å gå
\n til annonsen på
\n dyrebar.no.\n
\n
\n \n Dyrebar.no/{{pet?.LostFoundID}}\n
\n
\n \n
Følg dyreid.no
\n \"\" \n \"\" \n \"\" \n
\n
","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ReportLostComponent } from '../report/lost/lost.component';\nimport { ReportFoundComponent } from '../report/found/found.component';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss']\n})\nexport class DialogComponent{\n\n constructor(\n public dialogReportLost: MatDialogRef,\n public dialogReportFound: MatDialogRef,\n ) {}\n\n ngOnInit(): void {\n }\n\n CloseDialogPopup(): void {\n this.dialogReportLost.close();\n this.dialogReportFound.close();\n }\n}\n","

{{'Contact Reporter'| translate }}

\n
\n \n

Needs String :Your Contact detail will be sent to the selected person's email. He will contact you by the details given by you.

\n \n \n \n \n
\n
\n \n
","import { Component, OnInit, ViewChild, ElementRef, NgZone, Inject } from '@angular/core';\r\nimport { PetsService } from '../../_services';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { environment } from '../../../environments/environment';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\nimport { Options } from 'ng5-slider';\r\nimport * as $ from 'jquery'\r\n\r\n@Component({\r\n\tselector: 'app-list',\r\n\ttemplateUrl: './list.component.html',\r\n\tstyleUrls: ['./list.component.scss']\r\n})\r\n\r\nexport class ListComponent implements OnInit {\r\n\r\n\tconstructor(\r\n\t\tprivate pets: PetsService,\r\n\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\tprivate router: Router,\r\n\t\tprivate formbuilder: FormBuilder,\r\n\t\tprivate mapsAPILoader: MapsAPILoader,\r\n\t\tprivate ngZone: NgZone,\r\n\t\tprivate location: Location,\r\n\t) { }\r\n\r\n\tsearchForm: FormGroup;\r\n\tMapView = true;\r\n\tGridView = false;\r\n\thideLostFoundDetail = false;\r\n\tOperationTypeID: any = \"1\";\r\n\tMasterSpecies: any;\r\n\tMasterBreeds: any;\r\n\tpetImagePath = environment.apiBaseUrl + \"/Static/Images/\";\r\n\tpetDetailPath = environment.apiBaseUrl + \"/pet-detail?PetID=\";\r\n\tpetList: any;\r\n\tsubmitted = false;\r\n\tpage = 1;\r\n\tpageSize = 12;\r\n\tprivate geoCoder;\r\n\t@ViewChild('search')\r\n\tprivate searchElementRef: ElementRef;\r\n\ttotalCount: any;\r\n\ttotalLost: any;\r\n\ttotalFound: any;\r\n\ttotalReUnite: any;\r\n\tcalledFrom: string = \"\";\r\n\tqueryParams: any;\r\n\toptions: Options = {\r\n\t\tfloor: 0,\r\n\t\tceil: 100\r\n\t};\r\n\tpetDetailsList: any[];\r\n\r\n\t// google maps zoom level\r\n\tzoom: any = 13;\r\n\r\n\t// initial center position for the map\r\n\tlat: any;\r\n\tlng: any;\r\n\tradiousMils: any;\r\n\tminClusterSize = 50;\r\n\ttabActive: number = 1;\r\n\tPets: any = {};\r\n\r\n\tngOnInit() {\r\n\t\t// window.addEventListener('scroll', this.handleScroll, true);\r\n\t\tthis.searchForm = this.formbuilder.group({\r\n\t\t\tSpeciesID: [''],\r\n\t\t\tBreedID: [''],\r\n\t\t\tArea: [''],\r\n\t\t\tlat: [''],\r\n\t\t\tlng: [''],\r\n\t\t\tradiousDistance: ['10'],\r\n\t\t\tOperationTypeID: ['1']\r\n\t\t});\r\n\r\n\t\t$(document).ready(function () {\r\n\t\t\t$('#showmenu').click(function () {\r\n\t\t\t\t$('.mbl-fliterdropw').slideToggle(\"fast\");\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t$(document).ready(function () {\r\n\t\t\t$('#gobtnclk').click(function () {\r\n\t\t\t\t$('.mbl-fliterdropw').hide();\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t$(document).ready(function () {\r\n\t\t\t$('.mbllist-map-filter .icon-view.map-icn').click(function () {\r\n\t\t\t\t$('.mbllist-map-filter .icon-view.list-icn').show();\r\n\t\t\t\t$('.mbllist-map-filter .icon-view.map-icn').hide();\r\n\t\t\t});\r\n\t\t\t$('.mbllist-map-filter .icon-view.list-icn').click(function () {\r\n\t\t\t\t$('.mbllist-map-filter .icon-view.map-icn').show();\r\n\t\t\t\t$('.mbllist-map-filter .icon-view.list-icn').hide();\r\n\t\t\t});\r\n\t\t});\r\n\r\n\r\n\t\tconst firstElementWithError = document.querySelector('.xng-breadcrumb-root');\r\n\t\tthis.scrollTo(firstElementWithError);\r\n\t\t//load Places Autocomplete\r\n\t\tthis.mapsAPILoader.load().then(() => {\r\n\r\n\t\t\tthis.geoCoder = new google.maps.Geocoder;\r\n\r\n\t\t\tlet autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n\t\t\t\ttypes: []\r\n\t\t\t});\r\n\t\t\tautocomplete.addListener(\"place_changed\", () => {\r\n\t\t\t\tthis.ngZone.run(() => {\r\n\t\t\t\t\t//get the place result\r\n\t\t\t\t\tlet place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n\t\t\t\t\t//verify result\r\n\t\t\t\t\tif (place.geometry === undefined || place.geometry === null) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.searchForm.controls['Area'].patchValue(place.formatted_address)\r\n\t\t\t\t\tthis.searchForm.controls['lat'].patchValue(place.geometry.location.lat());\r\n\t\t\t\t\tthis.searchForm.controls['lng'].patchValue(place.geometry.location.lng());\r\n\r\n\t\t\t\t\t//set latitude, longitude and zoom\r\n\t\t\t\t\tthis.lat = place.geometry.location.lat();\r\n\t\t\t\t\tthis.lng = place.geometry.location.lng();\r\n\t\t\t\t\tthis.zoom = 13;\r\n\t\t\t\t\tlocalStorage.setItem('ListPageNo', \"\");\r\n\t\t\t\t\tthis.onSubmit();\r\n\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t\tlet ListView = 'Map';\r\n\t\tListView = localStorage.getItem('ListView');\r\n\t\tif (ListView) {\r\n\t\t\tthis.GridView = (ListView == 'List') ? true : false;\r\n\t\t\tthis.MapView = (ListView == 'Map') ? true : false;\r\n\t\t}\r\n\r\n\t\tthis.queryParams = this.activatedRoute.snapshot.queryParams;\r\n\t\tif ((this.queryParams.callingFrom == \"home\" || localStorage.getItem('_calledFrom') == \"home\") && this.queryParams.callingFrom !== \"menu\") {\r\n\t\t\tthis.hideLostFoundDetail = true;\r\n\t\t}\r\n\t\tthis.calledFrom = this.queryParams.callingFrom;\r\n\t\tlet SearchFilters = localStorage.getItem('SearchFilters');\r\n\t\tif (SearchFilters) {\r\n\t\t\tthis.queryParams = JSON.parse(SearchFilters);\r\n\t\t}\r\n\r\n\t\tthis.pets.getSpecies().subscribe(species => {\r\n\t\t\t//if calling from home show dog and cat only in thr species dropdown\r\n\t\t\tthis.MasterSpecies = this.queryParams.callingFrom == \"home\" ? [{ Text: \"Dog\", Value: 1 }, { Text: \"Cat\", Value: 2 }] : species;\r\n\t\t\tif (this.queryParams.speciesId) {\r\n\t\t\t\tthis.searchForm.controls['SpeciesID'].patchValue(Number(this.queryParams.speciesId))\r\n\t\t\t\tthis.tabActive = this.queryParams.speciesId;\r\n\t\t\t\tthis.getBreeds();\r\n\t\t\t\tthis.Pets = {\r\n\t\t\t\t\tpetName: this.queryParams.speciesId == 1 ? \"Dogs\" : \"Cats\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.queryParams.SpeciesID) {\r\n\t\t\t\tthis.searchForm.controls['SpeciesID'].patchValue(Number(this.queryParams.SpeciesID))\r\n\t\t\t\tthis.tabActive = this.queryParams.SpeciesID;\r\n\t\t\t\tthis.getBreeds();\r\n\t\t\t\tthis.Pets = {\r\n\t\t\t\t\tpetName: this.queryParams.SpeciesID == 1 ? \"Dogs\" : \"Cats\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (this.queryParams.lat) {\r\n\t\t\tthis.searchForm.controls['lat'].patchValue(this.queryParams.lat)\r\n\t\t\tthis.searchForm.controls['lng'].patchValue(this.queryParams.lng)\r\n\t\t\tthis.lat = Number(this.queryParams.lat);\r\n\t\t\tthis.lng = Number(this.queryParams.lng);\r\n\t\t\tthis.mapsAPILoader.load().then(() => {\r\n\t\t\t\tthis.zoom = 13;\r\n\t\t\t\tthis.getAddress(Number(this.queryParams.lat), Number(this.queryParams.lng));\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.searchForm.controls['radiousDistance'].patchValue(10);\r\n\t\tif (this.queryParams.radiousDistance) {\r\n\t\t\tthis.searchForm.controls['radiousDistance'].patchValue(this.queryParams.radiousDistance)\r\n\t\t}\r\n\t\tthis.searchForm.controls['OperationTypeID'].patchValue(\"1\")\r\n\t\tif (this.queryParams.OperationTypeID) {\r\n\t\t\tthis.searchForm.controls['OperationTypeID'].patchValue(this.queryParams.OperationTypeID)\r\n\t\t\tthis.OperationTypeID = this.queryParams.OperationTypeID;\r\n\t\t}\r\n\t\tthis.searchForm.controls['Area'].patchValue(\"\")\r\n\t\tif (this.queryParams.Area) {\r\n\t\t\tthis.searchForm.controls['Area'].patchValue(this.queryParams.Area)\r\n\t\t}\r\n\r\n\t\tif (this.queryParams.radiousDistance) {\r\n\t\t\tthis.radiousMils = this.queryParams.radiousDistance;\r\n\t\t}\r\n\t\tif (!this.queryParams.lat || this.queryParams.lat == '') {\r\n\t\t\tlet self = this;\r\n\t\t\tnavigator.permissions.query({ name: 'geolocation' }).then(function (result) {\r\n\t\t\t\tif (result.state === 'granted') {\r\n\t\t\t\t\tself.mapsAPILoader.load().then(() => {\r\n\t\t\t\t\t\tself.setCurrentLocation();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (result.state === 'prompt' || result.state === 'denied') {\r\n\t\t\t\t\twindow.alert(\"GPS Is turned off or Location access permission denied\");\r\n\t\t\t\t}\r\n\t\t\t\t// Don't do anything if the permission was denied.\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t}\r\n\r\n\t// handleScroll = (event) => {\r\n\t// \tconsole.log(event.srcElement.scrollTop)\r\n\t// }\r\n\r\n\tscrollPosition = (e: HTMLElement) => {\r\n\t\t// console.log('HERE')\r\n\t\t// this.pageScrollService.scroll({\r\n\t\t// \tdocument: this.documentD,\r\n\t\t// \tscrollTarget: '.theEnd',\r\n\t\t// \t// scrollOffset:100\r\n\t\t// });\r\n\t}\r\n\r\n\tformatLabel(value: number) {\r\n\t\tthis.radiousMils = value;\r\n\t\treturn value;\r\n\t}\r\n\r\n\tinfoWindowOpened = null\r\n\tprevious_info_window = null\r\n\r\n\tmarkers: marker[] = [\r\n\t\t{\r\n\t\t\tlat: 51.673858,\r\n\t\t\tlng: 7.815982,\r\n\t\t\tdraggable: true\r\n\t\t}\r\n\t]\r\n\r\n\tclose_window() {\r\n\t\tif (this.previous_info_window != null) {\r\n\t\t\tif(this.previous_info_window)this.previous_info_window.close()\r\n\t\t}\r\n\t}\r\n\r\n\tclickedMarker(label: string, index: number, infoWindow) {\r\n\t\t// console.log(this)\r\n\r\n\t\tif (this.previous_info_window == null)\r\n\t\t\tthis.previous_info_window = infoWindow;\r\n\t\telse {\r\n\t\t\tthis.infoWindowOpened = infoWindow\r\n\t\t\tif(this.previous_info_window)this.previous_info_window.close()\r\n\t\t}\r\n\t\tthis.previous_info_window = infoWindow\r\n\r\n\t\t// console.log(`clicked the marker: ${label || index}`)\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tthis.submitted = true;\r\n\t\tthis.page = 1;\r\n\t\tthis.zoom = (Math.round(14 - Math.log(this.searchForm.value.radiousDistance) / Math.LN2)) + 1;\r\n\t\tthis.OperationTypeID = this.searchForm.value.OperationTypeID;\r\n\t\tif (this.searchForm.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet ListPageNo = localStorage.getItem('ListPageNo');\r\n\t\tif (ListPageNo) {\r\n\t\t\tthis.page = Number(ListPageNo);\r\n\t\t}\r\n\t\tif (this.GridView) {\r\n\t\t\tthis.getFilterPetsGrid(this.page);\r\n\t\t}\r\n\t\tif (this.MapView) {\r\n\t\t\tthis.getFilterPetsMap();\r\n\t\t}\r\n\r\n\t\t//\tthis.location.replaceState('/asd');\r\n\r\n\t}\r\n\r\n\ttoggleCluster() {\r\n\t\tthis.minClusterSize = (this.minClusterSize < 5) ? 50 : 2;\r\n\t\t// console.log('toggleCluster minClusterSize = ' + this.minClusterSize);\r\n\t}\r\n\r\n\tprivate setCurrentLocation() {\r\n\t\tif (\"geolocation\" in navigator) {\r\n\t\t\tnavigator.geolocation.getCurrentPosition((position) => {\r\n\t\t\t\tthis.lat = position.coords.latitude;\r\n\t\t\t\tthis.lng = position.coords.longitude;\r\n\t\t\t\t// this.zoom = 13;\r\n\t\t\t\tthis.zoom = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) ? 11 : 13;\r\n\r\n\t\t\t\t(this.MapView) ? this.showMapView() : this.showGridView();\r\n\t\t\t\tthis.getAddress(this.lat, this.lng);\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tpublic showGridView() {\r\n\t\tthis.GridView = true;\r\n\t\tthis.MapView = false;\r\n\t\tlocalStorage.setItem('ListView', (this.MapView) ? 'Map' : 'List');\r\n\t\tlet ListPageNo = localStorage.getItem('ListPageNo');\r\n\t\tif (ListPageNo) {\r\n\t\t\tthis.page = Number(ListPageNo);\r\n\t\t}\r\n\t\tthis.getFilterPetsGrid(this.page);\r\n\t}\r\n\r\n\tpublic showMapView() {\r\n\t\tthis.MapView = true;\r\n\t\tthis.GridView = false;\r\n\t\tlocalStorage.setItem('ListView', (this.MapView) ? 'Map' : 'List');\r\n\t\tthis.getFilterPetsMap();\r\n\t}\r\n\r\n\tgetBreeds() {\r\n\t\tthis.tabActive = (this.searchForm.value.SpeciesID == 1 || this.searchForm.value.SpeciesID == 2) ? this.searchForm.value.SpeciesID : 3\r\n\r\n\t\tthis.searchForm.controls['BreedID'].patchValue(\"\");\r\n\t\tlocalStorage.setItem('ListPageNo', \"\");\r\n\t\tthis.Pets = {\r\n\t\t\tpetName: this.queryParams.SpeciesID == 1 || this.searchForm.value.SpeciesID == 1 ? \"Dogs\" : \"Cats\"\r\n\t\t}\r\n\t\tthis.pets.getBreeds(this.searchForm.value.SpeciesID).subscribe(breeds => {\r\n\t\t\tthis.MasterBreeds = breeds;\r\n\t\t\tif (this.queryParams.BreedID && this.searchForm.value.SpeciesID == this.queryParams.SpeciesID) {\r\n\t\t\t\tthis.searchForm.controls['BreedID'].patchValue(Number(this.queryParams.BreedID))\r\n\t\t\t\tthis.onSubmit();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.onSubmit();\r\n\t\t\t}\r\n\r\n\t\t});\r\n\r\n\t\t//this.getFilterPetsGrid();\r\n\t}\r\n\r\n\tgetFilterPetsGrid(page: number, isPagination?: boolean) {\r\n\t\tthis.page = page;\r\n\t\tlet filters = {};\r\n\t\tlet startIndex = (this.page == 1) ? 0 : (page - 1) * 10;\r\n\t\tlet endIndex = startIndex + 10;\r\n\t\tif ((this.calledFrom == \"home\" || localStorage.getItem('_calledFrom') == \"home\") && this.calledFrom !== \"menu\") {\r\n\t\t\tfilters = {\r\n\t\t\t\t\"Radius\": this.searchForm.value.radiousDistance,\r\n\t\t\t\t\"latitude\": this.lat,\r\n\t\t\t\t\"longitude\": this.lng,\r\n\t\t\t\t\"petName\": \"\",\r\n\t\t\t\t\"SpeciesID\": this.searchForm.value.SpeciesID == undefined || this.searchForm.value.SpeciesID == \"\" ? this.queryParams.speciesId : this.searchForm.value.SpeciesID,\r\n\t\t\t\t\"BreedID\": this.searchForm.value.BreedID == \"\" ? null : this.searchForm.value.BreedID,\r\n\t\t\t\t\"LanguageId\": 2,\r\n\t\t\t\t\"PageSize\": 10,\r\n\t\t\t\t\"PageNumber\": this.page\r\n\t\t\t}\r\n\t\t\tthis.pets.GetLostFoundPetsListfromMincide(filters).subscribe(response => {\r\n\t\t\t\tthis.petList = response;\r\n\t\t\t\tthis.totalCount = this.petList.Data.RecordsTotal;\r\n\t\t\t\tthis.petDetailsList = this.petList.Data.data;\r\n\t\t\t\tif (this.petDetailsList.length > 0) {\r\n\t\t\t\t\tfor (let i = 0; i <= this.petDetailsList.length - 1; i++) {\r\n\t\t\t\t\t\tif (!this.petDetailsList[i].ThumbImagePath)\r\n\t\t\t\t\t\t\tthis.petDetailsList[i].ThumbImagePath = \"assets/img/home/lost-animl-bg.png\";\r\n\t\t\t\t\t\tif (!this.petDetailsList[i].ImagePath)\r\n\t\t\t\t\t\t\tthis.petDetailsList[i].ImagePath = \"assets/img/home/lost-animl-bg.png\";\r\n\t\t\t\t\t\tif (this.petDetailsList[i].ThumbImagePath) {\r\n\t\t\t\t\t\t\tconst img = new Image();\r\n\t\t\t\t\t\t\timg.src = this.petDetailsList[i].ThumbImagePath;\r\n\t\t\t\t\t\t\timg.onerror = () => {\r\n\t\t\t\t\t\t\t\tthis.petDetailsList[i].ThumbImagePath = \"assets/img/home/lost-animl-bg.png\";\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.petDetailsList[i].ImagePath) {\r\n\t\t\t\t\t\t\tconst img = new Image();\r\n\t\t\t\t\t\t\timg.src = this.petDetailsList[i].ImagePath;\r\n\t\t\t\t\t\t\timg.onerror = () => {\r\n\t\t\t\t\t\t\t\tthis.petDetailsList[i].ImagePath = \"assets/img/home/lost-animl-bg.png\";\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.pets.assignListData(this.petDetailsList);\r\n\t\t\t\tif (isPagination) this.scrollTop();\r\n\t\t\t});\r\n\t\t\tlocalStorage.setItem('ListPageNo', this.page.toString());\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfilters = {\r\n\t\t\t\t\"startIndex\": startIndex,\r\n\t\t\t\t\"endIndex\": endIndex,\r\n\t\t\t\t\"latitude\": this.lat,\r\n\t\t\t\t\"longitude\": this.lng,\r\n\t\t\t\t\"radiousMils\": this.searchForm.value.radiousDistance,\r\n\t\t\t\t\"OperationTypeID\": this.searchForm.value.OperationTypeID,\r\n\t\t\t\t\"SpeciesID\": this.searchForm.value.SpeciesID,\r\n\t\t\t\t\"BreedID\": this.searchForm.value.BreedID\r\n\t\t\t}\r\n\t\t\tthis.pets.GetLostFoundPetsList(filters).subscribe(response => {\r\n\t\t\t\t// console.log(response)\r\n\t\t\t\t// console.log(response.totalCount)\r\n\t\t\t\tthis.totalLost = response.TotalLost;\r\n\t\t\t\tthis.totalFound = response.TotalFound;\r\n\t\t\t\tthis.totalReUnite = response.TotalReUnite;\r\n\t\t\t\tthis.totalCount = response.RecordsTotal;\r\n\t\t\t\tthis.petDetailsList = response.data;\r\n\t\t\t\tthis.pets.assignListData([]);\r\n\t\t\t\tif (isPagination) this.scrollTop();\r\n\t\t\t});\r\n\t\t\tlocalStorage.setItem('ListPageNo', this.page.toString());\r\n\t\t}\r\n\t}\r\n\r\n\tscrollTop = () => {\r\n\t\tconst element = document.querySelector('#scrollId');\r\n\t\telement.scrollIntoView({ behavior: 'smooth' });\r\n\t}\r\n\r\n\tgetFilterPetsMap() {\r\n\t\t// console.log(this.radiousMils);\r\n\t\tlet filters = {};\r\n\t\tif ((this.calledFrom == \"home\" || localStorage.getItem('_calledFrom') == \"home\") && this.calledFrom !== \"menu\") {\r\n\t\t\tfilters = {\r\n\t\t\t\t\"Radius\": this.searchForm.value.radiousDistance,\r\n\t\t\t\t\"latitude\": this.lat,\r\n\t\t\t\t\"longitude\": this.lng,\r\n\t\t\t\t\"petName\": \"\",\r\n\t\t\t\t\"SpeciesID\": this.searchForm.value.SpeciesID == undefined || this.searchForm.value.SpeciesID == \"\" ? this.queryParams.speciesId : this.searchForm.value.SpeciesID,\r\n\t\t\t\t\"BreedID\": this.searchForm.value.BreedID == \"\" ? null : this.searchForm.value.BreedID,\r\n\t\t\t\t\"LanguageId\": 2,\r\n\t\t\t\t\"PageSize\": 10000000,\r\n\t\t\t\t\"PageNumber\": this.page\r\n\t\t\t}\r\n\t\t\tthis.pets.GetLostFoundPetsListfromMincide(filters).subscribe(res => {\r\n\t\t\t\tthis.petList = res;\r\n\t\t\t\tthis.petList.Data.data.forEach(function (element) {\r\n\t\t\t\t\tif (element.SpeciesId == 2)\r\n\t\t\t\t\t\telement.petIcon = \"assets/img/location-caticon.png\";\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\telement.petIcon = \"assets/img/location-dogicon.png\";\r\n\t\t\t\t});\r\n\t\t\t\t//this.petList.Data.data.petIcon=\"assets/img/home/home_pet1.png\";\r\n\t\t\t\t// if (this.petList.RecordsFiltered > 0) {\r\n\t\t\t\t//this.totalLost = this.petList.TotalLost;\r\n\t\t\t\t//this.totalFound = this.petList.TotalFound;\r\n\t\t\t\t//this.totalReUnite = this.petList.TotalReUnite;\r\n\t\t\t\tthis.markers = this.petList.Data.data;\r\n\t\t\t\tthis.totalCount = this.petList.Data.RecordsTotal;\r\n\t\t\t\t// console.log(this.markers);\r\n\t\t\t\t// }\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfilters = {\r\n\t\t\t\t\"lat\": this.lat,\r\n\t\t\t\t\"lng\": this.lng,\r\n\t\t\t\t\"radiousDistance\": this.searchForm.value.radiousDistance,\r\n\t\t\t\t\"OperationTypeID\": this.searchForm.value.OperationTypeID,\r\n\t\t\t\t\"SpeciesID\": this.searchForm.value.SpeciesID,\r\n\t\t\t\t\"BreedID\": this.searchForm.value.BreedID\r\n\t\t\t}\r\n\t\t\tthis.pets.GetLostFoundPetsListPartialFields(filters).subscribe(res => {\r\n\t\t\t\tthis.petList = res;\r\n\t\t\t\tthis.petList.data.forEach(function (element) {\r\n\t\t\t\t\tif (element.SpeciesName == \"Hund\")\r\n\t\t\t\t\t\telement.petIcon = \"assets/img/location-dogicon.png\";\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\telement.petIcon = \"assets/img/location-caticon.png\";\r\n\t\t\t\t});\r\n\t\t\t\t// if (this.petList.RecordsFiltered > 0) {\r\n\t\t\t\tthis.totalLost = this.petList.TotalLost;\r\n\t\t\t\tthis.totalFound = this.petList.TotalFound;\r\n\t\t\t\tthis.totalReUnite = this.petList.TotalReUnite;\r\n\t\t\t\tthis.markers = this.petList.data,\r\n\t\t\t\t\tthis.totalCount = this.petList.RecordsFiltered;\r\n\t\t\t\t// console.log(this.markers);\r\n\t\t\t\t// }\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetAddress(latitude, longitude) {\r\n\t\tconst localArea = JSON.parse(localStorage.getItem('_locArea'));\r\n\t\t//if same lat lng dont need to call geocoder api again\r\n\t\tif(localArea && localArea.lat == latitude && localArea.lng == longitude) {\r\n\t\t\tthis.searchForm.controls['Area'].patchValue(localArea.area);\r\n\t\t\tthis.searchForm.controls['lat'].patchValue(latitude);\r\n\t\t\tthis.searchForm.controls['lng'].patchValue(longitude);\r\n\t\t\t(this.MapView) ? this.showMapView() : this.showGridView();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\r\n\t\t\tif (status === 'OK') {\r\n\t\t\t\tif (results[0]) {\r\n\t\t\t\t\tthis.zoom = 11;\r\n\t\t\t\t\t// console.log(results[0].formatted_address);\r\n\t\t\t\t\tthis.searchForm.controls['Area'].patchValue(results[0].formatted_address);\r\n\t\t\t\t\tthis.searchForm.controls['lat'].patchValue(latitude);\r\n\t\t\t\t\tthis.searchForm.controls['lng'].patchValue(longitude);\r\n\t\t\t\t\tconst locObject = {lat:latitude, lng:longitude, area:results[0].formatted_address};\r\n\t\t\t\t\tlocalStorage.setItem('_locArea', JSON.stringify(locObject));\r\n\r\n\t\t\t\t\t(this.MapView) ? this.showMapView() : this.showGridView();\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.alert('No results found');\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\twindow.alert('Geocoder failed due to: ' + status);\r\n\t\t\t}\r\n\r\n\t\t});\r\n\t}\r\n\r\n\topenModal(event) {\r\n\t\tdocument.getElementById(event.currentTarget.parentElement.nextElementSibling.id).style.display = \"block\";\r\n\t}\r\n\r\n\tcloseModal(event) {\r\n\t\tdocument.getElementById(event.currentTarget.parentElement.id).style.display = \"none\";\r\n\t}\r\n\r\n\tresetSearchFilters() {\r\n\t\tthis.OperationTypeID = \"1\";\r\n\t\tthis.searchForm.controls.Area.reset();\r\n\t\tthis.searchForm.controls['OperationTypeID'].patchValue(\"1\")\r\n\t\tif(this.queryParams.callingFrom == \"home\"){\r\n\t\t\tthis.searchForm.controls.SpeciesID.patchValue(this.queryParams.speciesId);\r\n\t\t}else{\r\n\t\t\tthis.searchForm.controls.SpeciesID.patchValue('');\r\n\t\t}\r\n\t\tthis.searchForm.controls.BreedID.patchValue('');\r\n\t\t// this.searchForm.controls.lat = this.lat;\r\n\t\t// this.searchForm.controls.lng = this.lng;\r\n\t\tlocalStorage.setItem(\"SearchFilters\", \"\");\r\n\t\tthis.setCurrentLocation();\r\n\t\tif(this.queryParams.value)this.queryParams.value = \"\";\r\n\t\tthis.onSubmit();\r\n\t\tthis.router.navigate(['/list-pets'], { queryParams: { OperationTypeID: this.OperationTypeID, radiousDistance: 10 } });\r\n\t\t//this.router.navigate([this.router.url]);\r\n\r\n\t}\r\n\r\n\tSearchPetByType(SearchPetID: any) {\r\n\t\tif (SearchPetID == 1) {\r\n\t\t\tthis.tabActive = 1;\r\n\t\t\tthis.searchForm.controls['SpeciesID'].patchValue(1);\r\n\t\t\tthis.getBreeds();\r\n\t\t} else if (SearchPetID == 2) {\r\n\t\t\tthis.tabActive = 2;\r\n\t\t\tthis.searchForm.controls['SpeciesID'].patchValue(2);\r\n\t\t\tthis.getBreeds();\r\n\r\n\t\t} else if (SearchPetID == 3) {\r\n\t\t\tthis.tabActive = 3;\r\n\t\t\tthis.searchForm.controls['SpeciesID'].patchValue('');\r\n\t\t\tthis.searchForm.controls['BreedID'].patchValue('');\r\n\t\t}\r\n\t\tthis.onSubmit()\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\t//Called once, before the instance is destroyed.\r\n\t\t//Add 'implements OnDestroy' to the class.\r\n\t\tlocalStorage.setItem('SearchFilters', JSON.stringify(this.searchForm.value));\r\n\t}\r\n\r\n\tchangeOperationType(id, event: any) {\r\n\t\tlocalStorage.setItem('ListPageNo', \"\");\r\n\t\tthis.totalCount = '';\r\n\t\tthis.searchForm.controls['OperationTypeID'].patchValue(id)\r\n\t\tvar els = document.querySelectorAll('.active-stat');\r\n\t\tfor (var i = 0; i < els.length; i++) {\r\n\t\t\tels[i].classList.remove('active-stat')\r\n\t\t}\r\n\t\tevent.srcElement.classList.add(\"active-stat\");\r\n\t\tthis.onSubmit();\r\n\t}\r\n\r\n\tscrollTo(el: Element): void {\r\n\t\tif (el) {\r\n\t\t\tel.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n\t\t}\r\n\t}\r\n\r\n\t//go to pet details page\r\n\tgoToPetDetails = (petDetail: any) => {\r\n\t\tlet atobStr: string = \"\";\r\n\t\tconst petName = this.calledFrom == \"home\" || localStorage.getItem('_calledFrom') == 'home' ? `${petDetail.Color ? petDetail.Color : ''} ${petDetail.BreedsName ? petDetail.BreedsName : ''} ${petDetail.SpeciesName ? petDetail.SpeciesName : ''} ${'i ditt nærområde'}` : `${petDetail.Color ? petDetail.Color : ''} ${petDetail.MasterBreed ? petDetail.MasterBreed : ''} ${petDetail.MasterSpecies ? petDetail.MasterSpecies : ''} ${(this.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${petDetail.City ? petDetail.City : ''}`;\r\n\t\tconst petNameWithoutChar = petName.replace(/[^a-zA-Z ]/g, \"\");\r\n\t\tconst urlString = petNameWithoutChar.trim().toLowerCase().split(' ').join('-');\r\n\t\tconst removeChar = urlString.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n\t\tconst encodedString = encodeURI(removeChar);\r\n\t\tif ((this.calledFrom == \"home\" || localStorage.getItem('_calledFrom') == 'home') && this.calledFrom !== \"menu\") {\r\n\t\t\tatobStr = btoa(petDetail.ChipId);\r\n\t\t\tlocalStorage.setItem('_calledFrom', 'home');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tatobStr = btoa(petDetail.LostFoundID);\r\n\t\t\tlocalStorage.setItem('_calledFrom', '');\r\n\t\t}\r\n\t\tlocalStorage.setItem('_page', 'list_page');\r\n\t\tthis.router.navigate([`list-pets/pet-detail/${atobStr}/${encodedString}`], { queryParams: { opType: this.OperationTypeID } });\r\n\r\n\t}\r\n\r\n\terrorHandler = (e) => {\r\n\t\te.target.src = environment.placeholderImg;\r\n\t}\r\n\r\n}\r\n\r\n\r\n// just an interface for type safety.\r\ninterface marker {\r\n\tlat: number;\r\n\tlng: number;\r\n\tlabel?: string;\r\n\tdraggable?: boolean;\r\n\tLostFoundID?: number;\r\n\tUserLoginID?: number;\r\n\tOperationTypeID?: number;\r\n\tPetName?: string;\r\n\tDateOfBirth?: string;\r\n\tImagePath?: string;\r\n\tCity?: string;\r\n\tMasterSpecies?: string;\r\n\tMasterBreed?: string;\r\n\tColor?: string;\r\n}\r\n\r\n\r\ninterface Ipetdetalils {\r\n\tLostFoundID: number;\r\n\tUserLoginID: number;\r\n\tIsChipped: string;\r\n\tChipID: string;\r\n\tOperationTypeID: number;\r\n\tPetName: string;\r\n\tPetType: string;\r\n\tSpeciesID?: number;\r\n\tMasterSpecies: string;\r\n\tBreedID?: number;\r\n\tMasterBreed: string;\r\n\tGender: string;\r\n\tCasted: string;\r\n\tDateOfBirth?: string;\r\n\tDisplayDateOfBirth: string;\r\n\tLostFoundDate?: string;\r\n\tDisplayLostFoundDate: string;\r\n\tArea: string;\r\n\tCommune: string;\r\n\tCity: string;\r\n\tState: string;\r\n\tStateID?: number;\r\n\tCountry: string;\r\n\tCountryID?: number;\r\n\tAdditionalInfo: string;\r\n\tImageID?: number;\r\n\tImagePath: string;\r\n\tThumbnailImagePath: string;\r\n\tColor: string;\r\n\tCoatLength: string;\r\n\tDescription: string;\r\n\tlat: string;\r\n\tlng: string;\r\n\tDistancePoint: string;\r\n\tOwnerContactEmail: string;\r\n\tIsReunite: boolean;\r\n\tCreatedDate: string;\r\n\tCreatedBy: string;\r\n\tUpdatedDate: string;\r\n\tUpdatedBy: string;\r\n\tStatus: boolean;\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
\"search-icon\"
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ 'Lost' | translate }} {{ 'Pets' | translate }}

\r\n

{{ 'Found' | translate }} {{ 'Pets' | translate }}

\r\n

{{ 'Re-Unite' | translate }} {{ 'Pets' | translate }}

\r\n\r\n
\r\n
\r\n

{{'No Pets Found' | translate }}

\r\n

0\">{{'Total ' | translate}} {{totalCount}} {{'Pets' | translate }}

\r\n \r\n\r\n

{{'' | translate}}\r\n {{ 'Lost' | translate }} \r\n {{ 'Found' | translate }} \r\n {{ 'Re-Unite' | translate }} \r\n {{'pets within' | translate}} {{ searchForm.value.radiousDistance }} km\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{Pets.petName | translate}} {{'in your area' | translate}}\r\n \r\n\r\n

\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
{{ totalLost }} {{'Lost' | translate}}
\r\n
{{ totalFound }} {{'Found' | translate}}
\r\n
{{ totalReUnite }} {{'Re-Unite'| translate}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{'No matching records found' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ×\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n {{petDetail.Color +\"\r\n \"}}{{ petDetail.MasterBreed +\" \"+ petDetail.MasterSpecies}} {{ ((OperationTypeID ==\r\n \"1\") ? 'Lost' : 'Found')| translate}} i\r\n {{petDetail.City}}\r\n {{petDetail.Color +\"\r\n \"}}{{ petDetail.MasterBreed }} ({{petDetail.MasterSpecies}}) {{ ((OperationTypeID\r\n == \"1\") ? 'Lost' : 'Found') | translate}} i\r\n {{petDetail.City}}\r\n
\r\n \r\n

{{ (petDetail.Area == null) ? \"\" : petDetail.Area }} {{ ((petDetail.ZipCode == null) ? \"\" : petDetail.ZipCode) +\" \"+((petDetail.City == null) ? \"\" : petDetail.City)}}

\r\n

{{ ((OperationTypeID == \"1\") ? 'Lost' : 'Found') | translate}} {{ 'Date' | translate\r\n }}: {{ petDetail.DisplayLostFoundDate}}

\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'No matching records found' | translate}}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \"Image\"\r\n
\r\n \"Image\"\r\n
\r\n\r\n\r\n \r\n {{m.Color +\" \" }}{{ m.BreedsName +\" \"+ m.SpeciesName}} {{\r\n ((OperationTypeID == \"1\") ? 'Lost' : 'Found')| translate}} i\r\n {{m.City}}\r\n \r\n {{m.Color +\" \"}}{{ m.BreedsName }} ({{m.SpeciesName}}) {{\r\n ((OperationTypeID == \"1\") ? 'Lost' : 'Found') | translate }} i\r\n {{m.City}}\r\n\r\n
\r\n
{{ ((OperationTypeID == \"1\") ? 'Missing' : 'Found')| translate}}:\r\n
\r\n
{{ m.DisplayLostFoundDate }}
\r\n
\r\n
\r\n
{{ 'Last Updated' | translate }}:
\r\n
{{ m.DisplayUpdatedDate }}
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{'No matching records found' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ×\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n {{petDetail.Color +\"\r\n \"}}{{ petDetail.BreedsName +\" \"+ petDetail.SpeciesName}} i\r\n {{petDetail.City}}\r\n {{petDetail.Color +\"\r\n \"}}{{ petDetail.BreedsName }} ({{petDetail.SpeciesName}}) i\r\n {{petDetail.City}}\r\n
\r\n \r\n\r\n

{{ (petDetail.Country == null) ? \"\" : petDetail.Country }} 

\r\n

{{ ((petDetail.ZipCode == null) ? \"\" : petDetail.ZipCode) +\" \"+((petDetail.City == null) ? \"\" :\r\n petDetail.City)}}

\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'No matching records found' | translate}}

\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \"Image\"
\r\n \"Image\"
\r\n\r\n\r\n \r\n {{m.Color +\" \" }}{{ m.BreedsName +\" \"+ m.SpeciesName}}\r\n i{{m.City}}\r\n \r\n {{m.Color +\" \"}}{{ m.BreedsName }} ({{m.SpeciesName}})\r\n i{{m.City}}\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-pets',\n templateUrl: './pets.component.html',\n styleUrls: ['./pets.component.scss']\n})\nexport class PetsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Pets } from '../../../_models';\r\nimport { Router } from '@angular/router';\r\nimport { PetsService } from '../../../_services';\r\nimport { AuthenticationService } from '../../../_services';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { DialogComponent } from '../../dialog/dialog.component';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-found',\r\n templateUrl: './found.component.html',\r\n styleUrls: ['./found.component.scss']\r\n})\r\nexport class ReportFoundComponent implements OnInit {\r\n\r\n showFoundSuggestion: boolean = false;\r\n public showPersonalInfo: boolean = false;\r\n public petsinfo: any;\r\n public personalsinfo: any;\r\n private petDetails = { petDetails: {}, Image: {} };\r\n pets = new Pets();\r\n petsSuggestion: any;\r\n currentUser: any;\r\n petImagePath = environment.apiBaseUrl + \"/Static/Images/\";\r\n petDetailPath = environment.apiBaseUrl + \"/pet-detail?PetID=\";\r\n\r\n constructor(\r\n private router: Router,\r\n private petsService: PetsService,\r\n private authenticationService: AuthenticationService,\r\n public dialog: MatDialog,\r\n public SpinnerService: NgxSpinnerService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n localStorage.removeItem('ListPageNo');\r\n localStorage.removeItem('ListView');\r\n localStorage.removeItem('SearchFilters');\r\n }\r\n\r\n onPosted(data) {\r\n if (data) {\r\n if (data.SearchFilters) {\r\n // console.log(data.SearchFilters);\r\n this.petsService.GetLostFoundPetsListPartialFields(data.SearchFilters).subscribe(res => {\r\n this.petsSuggestion = res;\r\n if (this.petsSuggestion.RecordsFiltered == 0) {\r\n this.petsSuggestion = \"\"\r\n }\r\n });\r\n }\r\n\r\n if (data.IsChipped) {\r\n this.petsinfo = data;\r\n this.showPersonalInfo = true\r\n }\r\n if (data.FirstName) {\r\n this.personalsinfo = data;\r\n let Image = this.petsinfo.ImagePath;\r\n let croppedFileData = this.petsinfo.croppedFileData;\r\n this.petsinfo.MasterSpeciesID = parseInt(this.petsinfo.MasterSpeciesID)\r\n this.petsinfo.MasterBreedID = parseInt(this.petsinfo.MasterBreedID)\r\n this.petsinfo.ImagePath = \"\";\r\n this.petsinfo.croppedFileData = \"\";\r\n this.petsinfo.DateOfBirth = \"\";\r\n this.petsinfo.IsChipped = (this.petsinfo.IsChipped == \"1\") ? 1 : 0;\r\n this.petsinfo.OperationTypeID = 2;\r\n this.petsinfo.UserLoginID = this.currentUser.ID;\r\n this.personalsinfo.LoginUserID = this.currentUser.ID;\r\n this.personalsinfo.GDPRUserStatus = (this.personalsinfo.GDPRUserStatus) ? 1 : 0;\r\n this.personalsinfo.IsTermsAccepted = (this.personalsinfo.IsTermsAccepted) ? 1 : 0;\r\n this.pets.petDetails = this.petsinfo;\r\n this.pets.userInfo = this.personalsinfo;\r\n if(typeof Image == 'string'){\r\n this.pets.petDetails.petImgUrl = Image;\r\n }\r\n let petDetail = JSON.stringify(this.pets);\r\n const formData = new FormData();\r\n formData.append('petDetails', petDetail);\r\n if(typeof Image != 'string'){\r\n formData.append('Image', Image);\r\n }\r\n formData.append('croppedFileData', croppedFileData);\r\n this.Savesresponse(formData);\r\n }\r\n }\r\n }\r\n onHide(data) {\r\n this.showPersonalInfo = false\r\n }\r\n\r\n Savesresponse(petDetails) {\r\n\r\n this.SpinnerService.show();\r\n this.petsService.addUpdateLostFoundPetDetails(petDetails).subscribe((res: any) => {\r\n this.SpinnerService.hide();\r\n if (res.error == \"\") {\r\n alert(\"Innlegget ditt er sendt. Klikk OK for å se kjæledyr som går tapt i området der du fant kjæledyret.\");\r\n //alert(\"Your post has been successfully submitted. Click OK to see pets that are lost in the area where you found the pet.\");\r\n //this.router.navigate(['/list-pets'], { queryParams: { OperationTypeID: 1,radiousDistance:5,lat: this.petsinfo.lat,lng:this.petsinfo.lng } });\r\n this.router.navigate(['/list-pets'], {\r\n queryParams: {\r\n OperationTypeID: 1,\r\n radiousDistance: 10,\r\n lat: this.petsinfo.lat,\r\n lng: this.petsinfo.lng,\r\n SpeciesID: this.petsinfo.MasterSpeciesID,\r\n BreedID: this.petsinfo.MasterBreedID\r\n }\r\n });\r\n }\r\n else {\r\n alert(res.error);\r\n }\r\n })\r\n }\r\n\r\n toggleFoundSuggestion() {\r\n this.showFoundSuggestion = !this.showFoundSuggestion;\r\n }\r\n CloseSuggestion(eve: any) {\r\n eve.target.parentNode.parentNode.remove();\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogComponent, {\r\n width: '250px',\r\n data: { name: \"string name\", animal: \"this.animal\" }\r\n });\r\n }\r\n\r\n //go to pet details page\r\n goToPetDetails = (petDetail: any) => {\r\n\r\n const petName = `${petDetail.Color ? petDetail.Color : ''} ${petDetail.MasterBreed ? petDetail.MasterBreed : ''} ${petDetail.MasterSpecies ? petDetail.MasterSpecies : ''} ${(petDetail.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${petDetail.City ? petDetail.City : ''}`\r\n const urlString = petName.trim().toLowerCase().split(' ').join('-');\r\n const removeChar = urlString.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n const encodedString = encodeURI(removeChar);\r\n const atobStr = btoa(petDetail.LostFoundID);\r\n localStorage.setItem('_page', 'report-found');\r\n window.open(`/list-pets/pet-detail/${encodeURIComponent(atobStr)}/${encodedString}?opType=2`, '_blank');\r\n\r\n }\r\n}","
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n

{{ pets.PetName }}

\r\n

{{ 'Species' | translate }}: {{ pets.SpeciesName }}

\r\n

{{ 'Breed' | translate }}: {{ pets.BreedsName }}

\r\n\r\n
\r\n
\r\n \r\n {{ 'See Details' | translate }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{'Please Wait.'| translate}}

\r\n
","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { AuthService } from \"angularx-social-login\";\r\nimport { SocialUser } from \"angularx-social-login\";\r\nimport { Socialusers } from '../../../../_models';\r\nimport { AuthenticationService, OwnerService } from '../../../../_services';\r\nimport { UserService } from '../../../../_services';\r\nimport { AppComponent } from '../../../../app.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-foundpersonalinfo',\r\n templateUrl: './personalinfo.component.html'\r\n})\r\nexport class FoundPersonalinfoComponent implements OnInit {\r\n\r\n\r\n PersonalForm: FormGroup;\r\n @Input() showPersonalInfo: boolean = false;\r\n constructor( \r\n public app: AppComponent,\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone,\r\n private authService: AuthService,\r\n private authenticationService: AuthenticationService,\r\n private UserService: UserService,\r\n private ownerService : OwnerService,\r\n private SpinnerService: NgxSpinnerService,\r\n ) {\r\n }\r\n submitted = false;\r\n showFoundSuggestion: boolean = true;\r\n public lat: number;\r\n public lng: number;\r\n public zoom: number;\r\n private geoCoder;\r\n private user: SocialUser;\r\n private loggedIn: boolean;\r\n private PersonalInfo: any;\r\n\r\n socialusers = new Socialusers();\r\n currentUser;\r\n componentForm = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n locality: 'long_name',\r\n administrative_area_level_1: 'short_name',\r\n country: 'long_name',\r\n postal_code: 'short_name',\r\n District: 'sort_name',\r\n State:'sort_name',\r\n administrative_area_level_2: 'long_name'\r\n };\r\n\r\n\r\n @ViewChild('searchp')\r\n private searchElementRef: ElementRef;\r\n\r\n ngOnInit() {\r\n //this.mapsAPILoader.load().then(() => {\r\n // this.setCurrentLocation();\r\n //});\r\n this.PersonalForm = this.formbuilder.group({\r\n FirstName: ['', [Validators.required, this.noWhitespaceValidator]],\r\n LastName: [''],\r\n EmailID: ['', [Validators.required, this.noWhitespaceValidator]],\r\n Address: [''],\r\n ZipCode: [''],\r\n City: [''],\r\n District:[''],\r\n State:[''],\r\n Country:[''],\r\n ContactNumber: ['', [Validators.required, this.noWhitespaceValidator]],\r\n GDPRUserStatus: [''],\r\n IsTermsAccepted: ['',[Validators.required,this.validateIfChecked]]\r\n });\r\n this.currentUser = this.authenticationService.currentUserValue; \r\n\r\n if (this.currentUser) {\r\n this.UserService.getUserByEmailID(this.currentUser.EmailID, this.currentUser.Provider).subscribe(res => {\r\n this.PersonalInfo = res.data;\r\n this.PersonalForm.controls['FirstName'].patchValue(this.PersonalInfo.FirstName)\r\n this.PersonalForm.controls['LastName'].patchValue(this.PersonalInfo.LastName)\r\n this.PersonalForm.controls['EmailID'].patchValue(this.PersonalInfo.EmailID)\r\n this.PersonalForm.controls['ContactNumber'].patchValue(this.PersonalInfo.ContactNumber)\r\n if (this.PersonalInfo.Address) {\r\n this.PersonalForm.controls['Address'].patchValue(this.PersonalInfo.Address)\r\n this.PersonalForm.controls['ZipCode'].patchValue(this.PersonalInfo.Zipcode)\r\n this.PersonalForm.controls['City'].patchValue(this.PersonalInfo.City)\r\n this.PersonalForm.controls['District'].patchValue(this.PersonalInfo.District)\r\n this.PersonalForm.controls['State'].patchValue(this.PersonalInfo.State)\r\n this.PersonalForm.controls['Country'].patchValue(this.PersonalInfo.Country)\r\n }\r\n /* else if (this.PersonalInfo.ContactNumber){\r\n this.ownerService.getUserDetailByPhone(this.PersonalInfo.ContactNumber).subscribe(resp => {\r\n if(resp.Data.IsSuccess){\r\n this.PersonalForm.controls['Address'].patchValue(resp.Data.fullstreet)\r\n this.PersonalForm.controls['ZipCode'].patchValue(resp.Data.zip)\r\n this.PersonalForm.controls['City'].patchValue(resp.Data.city)\r\n this.PersonalForm.controls['District'].patchValue(resp.Data.district)\r\n this.PersonalForm.controls['State'].patchValue(resp.Data.state)\r\n this.PersonalForm.controls['Country'].patchValue(resp.Data.country)\r\n }else{\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n });\r\n }\r\n \r\n });\r\n }*/\r\n else{\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n });\r\n }\r\n\r\n });\r\n }else{\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n });\r\n }\r\n //load Places Autocomplete\r\n this.mapsAPILoader.load().then(() => {\r\n this.geoCoder = new google.maps.Geocoder;\r\n\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.ngZone.run(() => {\r\n //get the place result\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n // Get each component of the address from the place details,\r\n // and then fill-in the corresponding field on the form.\r\n this.PersonalForm.controls['Address'].patchValue(place.formatted_address);\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n if (this.componentForm[addressType]) {\r\n var val = place.address_components[i][this.componentForm[addressType]];\r\n if (addressType == \"administrative_area_level_1\") {\r\n // this.state = val;\r\n }\r\n if (addressType == \"locality\") {\r\n this.PersonalForm.controls['City'].patchValue(val)\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.PersonalForm.controls['ZipCode'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_1\") {\r\n this.PersonalForm.controls['State'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_2\") {\r\n this.PersonalForm.controls['District'].patchValue(val)\r\n }\r\n if (addressType == \"country\") {\r\n this.PersonalForm.controls['Country'].patchValue(val)\r\n }\r\n\r\n }\r\n }\r\n\r\n //set latitude, longitude and zoom\r\n this.lat = place.geometry.location.lat();\r\n this.lng = place.geometry.location.lng();\r\n this.zoom = 12;\r\n });\r\n });\r\n });\r\n\r\n\r\n }\r\n @Output() onPosted = new EventEmitter();\r\n @Output() onHide = new EventEmitter();\r\n get e() {\r\n return this.PersonalForm.controls;\r\n }\r\n showPetInfo() {\r\n this.onHide.emit(\"show\")\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n // console.log(this.PersonalForm.value);\r\n if (this.PersonalForm.invalid) {\r\n this.scrollToError();\r\n return;\r\n }\r\n this.onPosted.emit(this.PersonalForm.value)\r\n\r\n }\r\n toggleFoundSuggestion() {\r\n this.showFoundSuggestion = !this.showFoundSuggestion;\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n if (control.value && control.value.length > 0) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n }\r\n public validateIfChecked(control: FormControl) {\r\n if(control.value){\r\n return null\r\n }\r\n else{\r\n return { 'checked': true };\r\n }\r\n \r\n }\r\n \r\n private setCurrentLocation() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.lat = position.coords.latitude;\r\n this.lng = position.coords.longitude;\r\n this.zoom = 12;\r\n this.getAddress(this.lat, this.lng);\r\n });\r\n }\r\n }\r\n\r\n getAddress(latitude, longitude) {\r\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\r\n // console.log(results);\r\n // console.log(status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n this.zoom = 12;\r\n // console.log(results[0].formatted_address);\r\n this.PersonalForm.controls['Address'].patchValue(results[0].formatted_address)\r\n let place = results[0];\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n if (this.componentForm[addressType]) {\r\n var val = place.address_components[i][this.componentForm[addressType]];\r\n // console.log(addressType);\r\n if (addressType == \"administrative_area_level_1\") {\r\n // this.PersonalForm.controls['State'].patchValue(val)\r\n // this.state = val;\r\n }\r\n if (addressType == \"locality\") {\r\n this.PersonalForm.controls['City'].patchValue(val)\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.PersonalForm.controls['ZipCode'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_1\") {\r\n this.PersonalForm.controls['State'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_2\") {\r\n this.PersonalForm.controls['District'].patchValue(val)\r\n }\r\n if (addressType == \"country\") {\r\n this.PersonalForm.controls['Country'].patchValue(val)\r\n }\r\n // console.log(val)\r\n\r\n }\r\n }\r\n\r\n } else {\r\n window.alert('No results found');\r\n }\r\n } else {\r\n window.alert('Geocoder failed due to: ' + status);\r\n }\r\n\r\n });\r\n }\r\n getDetailByPhone(){\r\n let phone = this.PersonalForm.controls['ContactNumber'].value;\r\n let address = this.PersonalForm.controls['Address'].value;\r\n \r\n if(phone != '' && address == ''){\r\n this.SpinnerService.show();\r\n \r\n this.ownerService.getUserDetailByPhone(phone).subscribe(resp => {\r\n if(resp.Data.IsSuccess){\r\n this.PersonalForm.controls['Address'].patchValue(resp.Data.fullstreet)\r\n this.PersonalForm.controls['ZipCode'].patchValue(resp.Data.zip)\r\n this.PersonalForm.controls['City'].patchValue(resp.Data.city)\r\n this.PersonalForm.controls['District'].patchValue(resp.Data.district)\r\n this.PersonalForm.controls['State'].patchValue(resp.Data.state)\r\n this.PersonalForm.controls['Country'].patchValue(resp.Data.country)\r\n }\r\n \r\n });\r\n this.SpinnerService.hide();\r\n \r\n }\r\n \r\n }\r\n scrollTo(el: Element): void {\r\n if (el) {\r\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n\r\n scrollToError(): void {\r\n const firstElementWithError = document.querySelector('.ng-invalid[formControlName]');\r\n this.scrollTo(firstElementWithError);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n

\r\n 1\r\n {{ 'Contact information' | translate }}\r\n 2\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Name is required' | translate}}
\r\n
{{'Name is of more then 3 char'| translate}}
\r\n
{{'Name is not more then 25 char'| translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Email is required'| translate}}
\r\n
{{'Please Enter a valid Email-ID'| translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Phone Number is required' | translate}}
\r\n
{{'Phone Number is of more then 5 char'| translate}}\r\n
\r\n
{{'Phone Number is not more then 10 char'| translate}}\r\n
\r\n
{{'Space is not\r\n allowed'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n {{ 'Accept terms and\r\n conditions' | translate }}\r\n
\r\n
{{'Please accept terms and conditions'| translate}}
\r\n
{{'Please accept\r\n terms and conditions'| translate}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n

Please Wait.

\r\n
","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { PetsService } from '../../../../_services';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppComponent } from '../../../../app.component';\r\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\r\nimport { NgbModal, ModalDismissReasons} from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthenticationService, OwnerService } from '../../../../_services';\r\nimport { DateAdapter } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-foundpetinfo',\r\n templateUrl: './petinfo.component.html',\r\n styleUrls: ['./petinfo.component.scss']\r\n})\r\n\r\nexport class FoundPetinfoComponent implements OnInit {\r\n\r\n registerForm: FormGroup;\r\n showFoundSuggestion: boolean = true;\r\n @Input() showPersonalInfo;\r\n public lat: number;\r\n public lng: number;\r\n public zoom: number;\r\n private geoCoder;\r\n private loggedIn: boolean;\r\n minDate: Date;\r\n maxDate: Date;\r\n chipFound: string = \"\";\r\n petImgUrl:string = null\r\n\r\n @ViewChild('search')\r\n\r\n private searchElementRef: ElementRef;\r\n\r\n constructor(\r\n private dateAdapter: DateAdapter,\r\n public app: AppComponent,\r\n private pets: PetsService,\r\n private formbuilder: FormBuilder,\r\n private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone,\r\n private router: Router,\r\n private modalService: NgbModal, \r\n private authenticationService: AuthenticationService,\r\n ) {\r\n this.dateAdapter.setLocale('en-GB'); //dd/MM/yyyy\r\n this.maxDate = new Date();\r\n }\r\n\r\n\r\n country: any;\r\n MasterSpecies: any;\r\n MasterBreeds: any;\r\n submitted = false;\r\n IsChipped = false;\r\n currentUser:any;\r\n fileData: File = null;\r\n croppedFileData: any = null;\r\n previewUrl: any = \"assets/img/user_add.png\";\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n imageError = \"\";\r\n closeResult = \"\";\r\n\r\n\r\n componentForm = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n locality: 'long_name',\r\n sublocality_level_1: 'long_name',\r\n sublocality_level_2: 'long_name',\r\n administrative_area_level_1: 'long_name',\r\n administrative_area_level_2: 'long_name',\r\n country: 'long_name',\r\n postal_code: 'short_name',\r\n postal_town: 'long_name'\r\n };\r\n\r\n imageChangedEvent: any = '';\r\n croppedImage: any = '';\r\n \r\n fileChangeEvent(event: any): void {\r\n \r\n }\r\n imageCropped(event: ImageCroppedEvent) {\r\n this.croppedImage = event.base64;\r\n }\r\n imageLoaded() {\r\n // show cropper\r\n }\r\n cropperReady() {\r\n // cropper ready\r\n }\r\n loadImageFailed() {\r\n // show message\r\n }\r\n open(content) {\r\n this.previewUrl = \"assets/img/user_add.png\";\r\n this.croppedFileData = \"\";\r\n this.modalService.open(content, {ariaLabelledBy: 'modal-basic-title'}).result.then((result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n this.previewUrl = this.croppedImage;\r\n this.croppedFileData = this.croppedImage;\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n this.registerForm.controls['Image'].patchValue(\"\");\r\n });\r\n return false;\r\n }\r\n private getDismissReason(reason: any): string {\r\n this.registerForm.controls['Image'].patchValue(\"\");\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.registerForm = this.formbuilder.group({\r\n IsChipped: ['0'],\r\n ChipID: [''],\r\n PetName: ['', [this.noWhitespaceValidator]],\r\n MasterSpeciesID: ['', Validators.required],\r\n MasterBreedID: [''],\r\n LostFoundDate: [new Date(), Validators.required],\r\n //LostFoundDate: ['', Validators.required],\r\n Color: [''],\r\n Gender: [1],\r\n HairType:['1'],\r\n Area: ['', Validators.required],\r\n State: ['', [Validators.required, this.noWhitespaceValidator]],\r\n City: ['',[Validators.required, this.noWhitespaceValidator]],\r\n Commune: ['',[this.noWhitespaceValidator]],\r\n District: ['',[this.noWhitespaceValidator]],\r\n Country: ['Norway', Validators.required],\r\n ZipCode:['', Validators.required],\r\n AdditionalInfo: [''],\r\n ImagePath: [''],Company:[''],\r\n Image: [''],\r\n croppedFileData: [''],\r\n lat: [''],\r\n lng: [''],\r\n OperationTypeID: ['']\r\n });\r\n\r\n this.showPersonalInfo = false;\r\n this.registerForm.value.IsChipped = 0;\r\n\r\n this.pets.getCountry().subscribe(res => {\r\n this.country = res;\r\n });\r\n this.pets.getSpecies().subscribe(species => {\r\n this.MasterSpecies = species;\r\n });\r\n\r\n this.currentUser = this.authenticationService.currentUserValue; \r\n\r\n //load Places Autocomplete\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n this.geoCoder = new google.maps.Geocoder;\r\n\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.ngZone.run(() => {\r\n //get the place result\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.fillAddress(place);\r\n\r\n //set latitude, longitude and zoom\r\n this.lat = place.geometry.location.lat();\r\n this.lng = place.geometry.location.lng();\r\n this.zoom = 15;\r\n this.getSuggestion();\r\n });\r\n });\r\n });\r\n//end load Places Autocomplete\r\n }\r\n\r\n get petf() {\r\n return this.registerForm.controls;\r\n }\r\n getSuggestion() {\r\n this.chipFound = \"\";\r\n let filters = {\r\n \"SearchFilters\": {\r\n \"SpeciesID\": this.registerForm.value.MasterSpeciesID,\r\n \"BreedID\": this.registerForm.value.MasterBreedID,\r\n \"lat\": this.lat,\r\n \"lng\": this.lng,\r\n \"radiousDistance\": 20,\r\n \"OperationTypeID\": 1\r\n }\r\n }\r\n this.onPosted.emit(filters)\r\n }\r\n\r\n getChipInfo() {\r\n\r\n this.registerForm.controls['PetName'].patchValue(\"\");\r\n this.registerForm.controls['MasterSpeciesID'].patchValue(\"\");\r\n this.registerForm.controls['Color'].patchValue(\"\");\r\n this.registerForm.controls['MasterBreedID'].patchValue(\"\");\r\n\r\n // this.pets.IsChipIDExists(this.registerForm.value.ChipID, this.registerForm.value.OperationTypeID).subscribe(IsChipExist =>{\r\n this.pets.IsChipIDExists(this.registerForm.value.ChipID, 2).subscribe(IsChipExist =>{\r\n if(IsChipExist == true && this.registerForm.value.ChipID.trim() != \"\")\r\n {\r\n this.chipFound = \"Pet with ChipID \"+this.registerForm.value.ChipID+\" Already exists\";\r\n this.registerForm.controls['ChipID'].patchValue(\"\");\r\n }\r\n else\r\n {\r\n this.pets.getChipInfo(this.registerForm.value.ChipID).subscribe(chipInfo => {\r\n var genderValue: any;\r\n var hairtypeValue : any;\r\n if(!chipInfo.IsAlive)// data from api came true as false and false as true.\r\n {\r\n if (chipInfo.ChipId) {\r\n if(chipInfo.PetPhoto !== ''){\r\n this.previewUrl = chipInfo.PetPhoto;\r\n }\r\n this.petImgUrl = chipInfo.PetOriginalPhoto;\r\n this.registerForm.controls['PetName'].patchValue(chipInfo.PetName);\r\n this.registerForm.controls['MasterSpeciesID'].patchValue(chipInfo.SpeciesID);\r\n this.registerForm.controls['Color'].patchValue(chipInfo.PetColor);\r\n this.registerForm.controls['LostFoundDate'].patchValue(new Date());\r\n \r\n if (chipInfo.PetSex) {\r\n if (chipInfo.PetSex.toLowerCase() == \"male\" || chipInfo.PetSex.toLowerCase() == \"hanndyr\") {\r\n genderValue = 1;\r\n } else if (chipInfo.PetSex.toLowerCase() == \"female\" || chipInfo.PetSex.toLowerCase() == \"hunndyr\") {\r\n genderValue = 2;\r\n }\r\n }\r\n this.registerForm.controls['Gender'].patchValue(genderValue);\r\n if (chipInfo.HairType) {\r\n if (chipInfo.HairType.toLowerCase() == 'longhair') {\r\n hairtypeValue = 1;\r\n }\r\n else if (chipInfo.HairType.toLowerCase() == 'sorthair') {\r\n hairtypeValue = 2;\r\n }\r\n }\r\n this.registerForm.controls['HairType'].patchValue(hairtypeValue);\r\n this.pets.getBreeds(chipInfo.SpeciesID).subscribe(breeds => {\r\n this.MasterBreeds = breeds;\r\n this.registerForm.controls['MasterBreedID'].patchValue(chipInfo.BreedID);\r\n this.getSuggestion();\r\n });\r\n }\r\n else {\r\n this.chipFound = \"No data found for this chipId. Please fill details below.\"\r\n }\r\n }\r\n else{\r\n var chipID = this.registerForm.value.ChipID;\r\n this.registerForm.controls['ChipID'].patchValue(\"\");\r\n this.chipFound = \"Kjæledyr med ChipId :\"+ chipID+\" er død, og du kan ikke rapportere dette kjæledyret\";\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\n getBreeds() {\r\n this.registerForm.controls['MasterBreedID'].patchValue(\"\");\r\n this.pets.getBreeds(this.registerForm.value.MasterSpeciesID).subscribe(breeds => {\r\n this.MasterBreeds = breeds;\r\n this.getSuggestion();\r\n });\r\n }\r\n @Output() onPosted = new EventEmitter();\r\n\r\n onSubmit() {\r\n // debugger;\r\n this.submitted = true;\r\n if(this.imageError)\r\n {\r\n this.scrollToError();\r\n return;\r\n }\r\n if(this.registerForm.value.Image == '' && this.registerForm.value.IsChipped == '0'){\r\n this.imageError = 'Pet Image is required';\r\n const ele = document.getElementById('error-msg');\r\n this.scrollTo(ele);\r\n this.scrollToError();\r\n return;\r\n }\r\n if(this.registerForm.value.Image == '' && this.registerForm.value.IsChipped == '1' && this.previewUrl == 'assets/img/user_add.png'){\r\n this.imageError = 'Pet Image is required';\r\n const ele = document.getElementById('error-msg');\r\n this.scrollTo(ele);\r\n return;\r\n }\r\n if (this.registerForm.invalid) {\r\n this.scrollToError();\r\n return;\r\n }\r\n\r\n if(this.petImgUrl && !this.fileData){\r\n this.registerForm.controls['ImagePath'].patchValue(this.petImgUrl);\r\n }else{\r\n this.registerForm.controls['ImagePath'].patchValue(this.fileData);\r\n }\r\n\r\n this.registerForm.controls['Company'].patchValue(this.currentUser.Company);\r\n this.registerForm.controls['croppedFileData'].patchValue(this.croppedFileData);\r\n this.registerForm.controls['lat'].patchValue(this.lat);\r\n this.registerForm.controls['lng'].patchValue(this.lng);\r\n this.onPosted.emit(this.registerForm.value)\r\n const firstElementWithError = document.querySelector('.xng-breadcrumb-root');\r\n this.scrollTo(firstElementWithError);\r\n\r\n }\r\n\r\n private setCurrentLocation() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.lat = position.coords.latitude;\r\n this.lng = position.coords.longitude;\r\n this.zoom = 15;\r\n this.getAddress(this.lat, this.lng);\r\n });\r\n }\r\n }\r\n\r\n toggleFoundSuggestion() {\r\n this.showFoundSuggestion = !this.showFoundSuggestion;\r\n }\r\n\r\n markerDragEnd($event: any) {\r\n // console.log($event);\r\n this.lat = $event.coords.lat;\r\n this.lng = $event.coords.lng;\r\n this.getAddress(this.lat, this.lng);\r\n }\r\n\r\n getAddress(latitude, longitude) {\r\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\r\n // console.log(results);\r\n // console.log(status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n this.fillAddress(results[0])\r\n } else {\r\n window.alert('No results found');\r\n }\r\n } else {\r\n window.alert('Geocoder failed due to: ' + status);\r\n }\r\n\r\n });\r\n }\r\n\r\n fillAddress(mapresult) {\r\n this.zoom = 15;\r\n let area = mapresult.formatted_address;\r\n //this.registerForm.controls['Area'].patchValue(results[0].formatted_address)\r\n let place = mapresult;\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n if (this.componentForm[addressType]) {\r\n var val = place.address_components[i][this.componentForm[addressType]];\r\n \r\n if (addressType == \"administrative_area_level_1\") {\r\n this.registerForm.controls['State'].patchValue(val)\r\n area = area.replace(val,\"\")\r\n \r\n }\r\n if (addressType == \"administrative_area_level_2\") {\r\n this.registerForm.controls['District'].patchValue(val)\r\n area = area.replace(val,\"\")\r\n }\r\n if (addressType == \"country\") {\r\n //this.registerForm.controls['Country'].patchValue(val)\r\n area = area.replace(val,\"\")\r\n // this.state = val;\r\n }\r\n if (addressType == \"locality\") {\r\n this.registerForm.controls['City'].patchValue(val)\r\n area = area.replace(val+\", \",\"\")\r\n // this.state = val;\r\n }\r\n if(addressType == \"postal_town\"){\r\n this.registerForm.controls['City'].patchValue(val)\r\n area = area.replace(val+\", \",\"\")\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.registerForm.controls['ZipCode'].patchValue(val)\r\n area = area.replace(val+\", \",\"\")\r\n // this.state = val;\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.registerForm.controls['ZipCode'].patchValue(val)\r\n area = area.replace(val,\"\")\r\n // this.state = val;\r\n }\r\n \r\n \r\n }\r\n }\r\n area = area.trim();\r\n let comma = area.substring(area.length, area.length - 1)\r\n if(comma == \",\"){\r\n area = area.substring(0, area.length - 1)\r\n }\r\n area = area.trim();\r\n this.registerForm.controls['Area'].patchValue(area)\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.imageError = null;\r\n if (fileInput.target.files && fileInput.target.files[0]) {\r\n // Size Filter Bytes\r\n const max_size = 15000000;\r\n const allowed_types = ['image/png', 'image/jpeg'];\r\n const max_height = 15200;\r\n const max_width = 25600;\r\n\r\n if (fileInput.target.files[0].size > max_size) {\r\n this.imageError =\r\n 'Maximum size allowed is ' + max_size / 1000 + 'kb';\r\n\r\n return false;\r\n }\r\n if (!allowed_types.includes(fileInput.target.files[0].type)) {\r\n this.imageError = 'Only Images are allowed ( JPG | PNG )';\r\n return false;\r\n }\r\n\r\n let Content: HTMLElement = document.getElementById(\"contentNew\") as HTMLElement\r\n Content.click();\r\n this.imageChangedEvent = event;\r\n this.fileData = fileInput.target.files[0];\r\n // this.preview();\r\n }\r\n }\r\n\r\n preview() {\r\n // Show preview \r\n var mimeType = this.fileData.type;\r\n if (mimeType.match(/image\\/*/) == null) {\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n }\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n if(control.value && control.value.length > 0){\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n } \r\n }\r\n public onIsChippedChange() {\r\n this.registerForm.controls[\"ChipID\"].clearValidators();\r\n if (this.registerForm.controls.IsChipped.value == 1) {\r\n this.registerForm.controls[\"ChipID\"].setValidators([Validators.required,this.noWhitespaceValidator]);\r\n }\r\n this.registerForm.controls[\"ChipID\"].updateValueAndValidity()\r\n }\r\n public onClickFillDate()\r\n {\r\n this.registerForm.controls['LostFoundDate'].patchValue(new Date())\r\n }\r\n // public onClickFillAddress()\r\n // {\r\n // this.mapsAPILoader.load().then(() => {\r\n // this.setCurrentLocation();\r\n // this.geoCoder = new google.maps.Geocoder;\r\n\r\n // let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n // types: []\r\n // });\r\n // autocomplete.addListener(\"place_changed\", () => {\r\n // this.ngZone.run(() => {\r\n // //get the place result\r\n // let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n // //verify result\r\n // if (place.geometry === undefined || place.geometry === null) {\r\n // return;\r\n // }\r\n // this.fillAddress(place);\r\n\r\n // //set latitude, longitude and zoom\r\n // this.lat = place.geometry.location.lat();\r\n // this.lng = place.geometry.location.lng();\r\n // this.zoom = 15;\r\n // this.getSuggestion();\r\n // });\r\n // });\r\n // });\r\n // }\r\n\r\n\r\n scrollTo(el: Element): void {\r\n if (el) {\r\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n\r\n scrollToError(): void {\r\n const firstElementWithError = document.querySelector('.ng-invalid[formControlName]');\r\n this.scrollTo(firstElementWithError);\r\n }\r\n\r\n}","
\r\n
\r\n

\r\n 1\r\n {{ 'Found Pet Info' | translate }}\r\n 2\r\n

\r\n
\r\n
\r\n
\r\n \"\"\r\n \r\n
\r\n
{{ imageError }}
\r\n
\r\n
{{'Pet Image is required' | translate}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{'Species is required' | translate }}
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Pet name is of more then 3 char' | translate }}
\r\n
{{'Pet name is not more then 60 char' | translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}.
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n {{ 'Choose a date' | translate }}\r\n \r\n \r\n \r\n \r\n
\r\n
{{'Date Of found is required' | translate}}
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {{ 'MapInfo' | translate }}\r\n
\r\n
{{'Area is required' | translate}}
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'Zipcode is required' | translate}}
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'City is required' | translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'State is required' | translate }}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{'Country is required'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

{{'Crop Image' | translate}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{'Preview'|translate}}
\r\n \r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Pets } from '../../../_models';\r\nimport { Router } from '@angular/router';\r\nimport { PetsService } from '../../../_services';\r\nimport { AuthenticationService } from '../../../_services';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { DialogComponent } from '../../dialog/dialog.component';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-lost',\r\n templateUrl: './lost.component.html',\r\n styleUrls: ['./lost.component.scss']\r\n})\r\nexport class ReportLostComponent implements OnInit {\r\n\r\n showFoundSuggestion: boolean = false;\r\n public showPersonalInfo: boolean = false;\r\n public petsinfo: any;\r\n public personalsinfo: any;\r\n public minsidePetInfo: any;\r\n public minsideOwnerInfo: any;\r\n private petDetails = { petDetails: {}, Image: {} };\r\n pets = new Pets();\r\n petsSuggestion: any;\r\n showMinsidePetList: boolean = false;\r\n currentUser: any;\r\n petImagePath = environment.apiBaseUrl + \"/Static/Images/\";\r\n petDetailPath = environment.apiBaseUrl + \"/pet-detail?PetID=\";\r\n\r\n constructor(\r\n private router: Router,\r\n private petsService: PetsService,\r\n private authenticationService: AuthenticationService,\r\n public dialog: MatDialog,\r\n private SpinnerService: NgxSpinnerService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n\r\n if (this.currentUser.Provider == 'MINSIDE') {\r\n this.showMinsidePetList = true;\r\n this.showPersonalInfo = false;\r\n }\r\n localStorage.removeItem('ListPageNo');\r\n localStorage.removeItem('ListView');\r\n localStorage.removeItem('SearchFilters');\r\n }\r\n onMarkLost(data) {\r\n if (data.source == \"MINSIDE\") {\r\n this.showMinsidePetList = false;\r\n this.showPersonalInfo = false;\r\n this.minsidePetInfo = data.petDetail;\r\n this.minsideOwnerInfo = data.ownerDetail;\r\n }\r\n\r\n }\r\n onPosted(data) {\r\n if (data) {\r\n\r\n if (data.SearchFilters) {\r\n // console.log(data.SearchFilters);\r\n this.petsService.GetLostFoundPetsListPartialFields(data.SearchFilters).subscribe(res => {\r\n this.petsSuggestion = res;\r\n if (this.petsSuggestion.RecordsFiltered == 0) {\r\n this.petsSuggestion = \"\"\r\n }\r\n });\r\n }\r\n if (data.IsChipped) {\r\n this.petsinfo = data;\r\n this.showPersonalInfo = true;\r\n window.scroll(0, 0);\r\n }\r\n if (data.FirstName) {\r\n this.personalsinfo = data;\r\n // console.log(this.petsinfo);\r\n this.petsinfo.MasterSpeciesID = parseInt(this.petsinfo.MasterSpeciesID);\r\n this.petsinfo.MasterBreedID = parseInt(this.petsinfo.MasterBreedID);\r\n let Image = this.petsinfo.ImagePath;\r\n console.log('IMAGE : ', Image)\r\n let croppedFileData = this.petsinfo.croppedFileData;\r\n this.petsinfo.ImagePath = \"\";\r\n this.petsinfo.croppedFileData = \"\";\r\n this.petsinfo.Image = \"\";\r\n // this.petsinfo.DateOfBirth = \"\";\r\n // this.petsinfo.DateOfLost = \"\";\r\n this.petsinfo.IsChipped = (this.petsinfo.IsChipped == \"1\") ? 1 : 0;\r\n this.petsinfo.ShowChipNoToOthers=(this.petsinfo.IsChipIDinDetail) ? 1 : 0;\r\n this.petsinfo.OperationTypeID = 1;\r\n this.petsinfo.UserLoginID = this.currentUser.ID;\r\n this.personalsinfo.LoginUserID = this.currentUser.ID;\r\n this.personalsinfo.GDPRUserStatus = (this.personalsinfo.GDPRUserStatus) ? 1 : 0;\r\n this.personalsinfo.IsTermsAccepted = (this.personalsinfo.IsTermsAccepted) ? 1 : 0;\r\n delete this.petsinfo['IsChipIDinDetail'];\r\n this.pets.petDetails = this.petsinfo;\r\n this.pets.userInfo = this.personalsinfo;\r\n console.log(typeof Image);\r\n if(typeof Image == 'string'){\r\n this.pets.petDetails.petImgUrl = Image;\r\n }\r\n let petDetail = JSON.stringify(this.pets);\r\n const formData = new FormData();\r\n formData.append('petDetails', petDetail);\r\n if(typeof Image != 'string'){\r\n formData.append('Image', Image);\r\n }\r\n formData.append('croppedFileData', croppedFileData);\r\n this.Savesresponse(formData);\r\n }\r\n }\r\n }\r\n\r\n onHide(data) {\r\n this.showPersonalInfo = false\r\n }\r\n\r\n Savesresponse(petDetails) {\r\n this.SpinnerService.show();\r\n this.petsService.addUpdateLostFoundPetDetails(petDetails).subscribe((res: any) => {\r\n this.SpinnerService.hide();\r\n if (res.error == \"\") {\r\n alert(\"Innlegget ditt er sendt. Klikk OK for å se kjæledyr som finnes i området der du mistet kjæledyret.\");\r\n // alert(\"Your post has been successfully submitted. Click OK to see pets that are found in the area where you lost the pet.\");\r\n this.router.navigate(['/list-pets'], {\r\n queryParams: {\r\n OperationTypeID: 2,\r\n radiousDistance: 10,\r\n lat: this.petsinfo.lat,\r\n lng: this.petsinfo.lng,\r\n SpeciesID: this.petsinfo.MasterSpeciesID,\r\n BreedID: this.petsinfo.MasterBreedID\r\n }\r\n });\r\n }\r\n else {\r\n alert(res.error);\r\n }\r\n })\r\n }\r\n\r\n toggleFoundSuggestion() {\r\n this.showFoundSuggestion = !this.showFoundSuggestion;\r\n }\r\n CloseSuggestion(eve: any) {\r\n eve.target.parentNode.parentNode.remove();\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogComponent, {\r\n width: '250px',\r\n data: { name: \"string name\", animal: \"this.animal\" }\r\n });\r\n }\r\n\r\n newLostPet(): void {\r\n this.showMinsidePetList = false;\r\n }\r\n\r\n //go to pet details page\r\n\tgoToPetDetails = (petDetail:any) => {\r\n\t\tconst petName = `${petDetail.Color ? petDetail.Color: '' } ${petDetail.MasterBreed ? petDetail.MasterBreed : ''} ${petDetail.MasterSpecies ? petDetail.MasterSpecies : ''} ${(petDetail.OperationTypeID == \"1\") ? 'Tapt' : 'Funnet'} I ${petDetail.City ? petDetail.City : ''}`\r\n\t\tconst urlString = petName.trim().toLowerCase().split(' ').join('-');\r\n\t\tconst removeChar = urlString.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n const encodedString = encodeURI(removeChar);\r\n\t\tconst atobStr = btoa(petDetail.LostFoundID);\r\n\t\tlocalStorage.setItem('_page','report-lost');\r\n window.open(`/list-pets/pet-detail/${encodeURIComponent(atobStr)}/${encodedString}?opType=1`, '_blank');\r\n\r\n\t}\r\n}","\n
\n
\n
\n \n
\n \n \n
\n \n \n
\n \n \n \n \n
\n \n
\n
\n
\n \"\"\n
\n
\n \"\"\n
\n
\n
\n \n

{{ pets.PetName }}

\n

{{ 'Species'| translate }}: {{ pets.SpeciesName }}

\n

{{ 'Breed' | translate}}: {{ pets.BreedsName }}

\n
\n
\n \n {{ 'See Details' | translate}}\n
\n
\n
\n
\n
\n
\n
\n
\n \n

{{'Please Wait.'| translate}}

\n
\n","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { AuthService } from \"angularx-social-login\";\r\nimport { SocialUser } from \"angularx-social-login\";\r\nimport { Socialusers } from '../../../../_models';\r\nimport { AuthenticationService, OwnerService } from '../../../../_services';\r\nimport { UserService } from '../../../../_services';\r\nimport { AppComponent } from '../../../../app.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-lostpersonalinfo',\r\n templateUrl: './personalinfo.component.html'\r\n})\r\nexport class LostPersonalinfoComponent implements OnInit {\r\n\r\n\r\n PersonalForm: FormGroup;\r\n @Input() showPersonalInfo: boolean = false;\r\n @Input() minsideOwnerInfo;\r\n constructor(\r\n public app: AppComponent,\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone,\r\n private authService: AuthService,\r\n private authenticationService: AuthenticationService,\r\n private UserService: UserService,\r\n private ownerService: OwnerService,\r\n private SpinnerService: NgxSpinnerService,\r\n ) {\r\n }\r\n submitted = false;\r\n showFoundSuggestion: boolean = true;\r\n public lat: number;\r\n public lng: number;\r\n public zoom: number;\r\n private geoCoder;\r\n private user: SocialUser;\r\n private loggedIn: boolean;\r\n currentUser: any;\r\n socialusers = new Socialusers();\r\n PersonalInfo: any;\r\n componentForm = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n locality: 'long_name',\r\n administrative_area_level_1: 'short_name',\r\n administrative_area_level_2: 'short_name',\r\n country: 'long_name',\r\n postal_code: 'short_name'\r\n };\r\n\r\n\r\n @ViewChild('searchp')\r\n private searchElementRef: ElementRef;\r\n\r\n ngOnInit() {\r\n //this.mapsAPILoader.load().then(() => {\r\n // this.setCurrentLocation();\r\n //});\r\n this.PersonalForm = this.formbuilder.group({\r\n FirstName: ['', [Validators.required, this.noWhitespaceValidator]],\r\n LastName: [''],\r\n EmailID: ['', [Validators.required, this.noWhitespaceValidator]],\r\n Address: [''],\r\n ZipCode: [''],\r\n City: [''],\r\n District: [''],\r\n State: [''],\r\n Country: [''],\r\n ContactNumber: ['', [Validators.required, this.noWhitespaceValidator]],\r\n GDPRUserStatus: [''],\r\n IsTermsAccepted: ['', [Validators.required, this.validateIfChecked]]\r\n });\r\n // console.log(this.minsideOwnerInfo);\r\n // if(this.minsideOwnerInfo){\r\n // var obj = this.minsideOwnerInfo;\r\n // this.PersonalForm.controls['FirstName'].patchValue(obj.FirstName);\r\n // this.PersonalForm.controls['LastName'].patchValue(obj.LastName);\r\n // this.PersonalForm.controls['EmailID'].patchValue(obj.Email);\r\n // this.PersonalForm.controls['Address'].patchValue(obj.Address);\r\n // this.PersonalForm.controls['ZipCode'].patchValue(obj.ZipCode);\r\n // this.PersonalForm.controls['City'].patchValue(obj.City);\r\n // this.PersonalForm.controls['ContactNumber'].patchValue(obj.Phone);\r\n // this.PersonalForm.controls['District'].patchValue(obj.District);\r\n // this.PersonalForm.controls['State'].patchValue(obj.State);\r\n // this.PersonalForm.controls['Country'].patchValue(obj.Country);\r\n\r\n // }\r\n // else{\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n if (this.currentUser) {\r\n this.UserService.getUserByEmailID(this.currentUser.EmailID, this.currentUser.Provider).subscribe(res => {\r\n this.PersonalInfo = res.data;\r\n this.PersonalForm.controls['FirstName'].patchValue(this.PersonalInfo.FirstName)\r\n this.PersonalForm.controls['LastName'].patchValue(this.PersonalInfo.LastName)\r\n this.PersonalForm.controls['EmailID'].patchValue(this.PersonalInfo.EmailID)\r\n this.PersonalForm.controls['ContactNumber'].patchValue(this.PersonalInfo.ContactNumber)\r\n if (this.PersonalInfo.Address) {\r\n this.PersonalForm.controls['Address'].patchValue(this.PersonalInfo.Address)\r\n this.PersonalForm.controls['ZipCode'].patchValue(this.PersonalInfo.Zipcode)\r\n this.PersonalForm.controls['City'].patchValue(this.PersonalInfo.City)\r\n this.PersonalForm.controls['District'].patchValue(this.PersonalInfo.District)\r\n this.PersonalForm.controls['State'].patchValue(this.PersonalInfo.State)\r\n this.PersonalForm.controls['Country'].patchValue(this.PersonalInfo.Country)\r\n }\r\n else if (this.PersonalInfo.ContactNumber) {\r\n this.ownerService.getUserDetailByPhone(this.PersonalInfo.ContactNumber).subscribe(resp => {\r\n if (resp.Data.IsSuccess) {\r\n this.PersonalForm.controls['Address'].patchValue(resp.Data.fullstreet)\r\n this.PersonalForm.controls['ZipCode'].patchValue(resp.Data.zip)\r\n this.PersonalForm.controls['City'].patchValue(resp.Data.city)\r\n this.PersonalForm.controls['District'].patchValue(resp.Data.district)\r\n this.PersonalForm.controls['State'].patchValue(resp.Data.state)\r\n this.PersonalForm.controls['Country'].patchValue(resp.Data.country)\r\n } else {\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n });\r\n }\r\n\r\n });\r\n } else {\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n });\r\n }\r\n\r\n });\r\n\r\n } else {\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n });\r\n }\r\n //} \r\n //load Places Autocomplete\r\n\r\n this.mapsAPILoader.load().then(() => {\r\n this.geoCoder = new google.maps.Geocoder;\r\n\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.ngZone.run(() => {\r\n //get the place result\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n // Get each component of the address from the place details,\r\n // and then fill-in the corresponding field on the form.\r\n this.PersonalForm.controls['Address'].patchValue(place.formatted_address);\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n if (this.componentForm[addressType]) {\r\n var val = place.address_components[i][this.componentForm[addressType]];\r\n if (addressType == \"administrative_area_level_1\") {\r\n // this.state = val;\r\n }\r\n if (addressType == \"locality\") {\r\n this.PersonalForm.controls['City'].patchValue(val)\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.PersonalForm.controls['ZipCode'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_1\") {\r\n this.PersonalForm.controls['State'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_2\") {\r\n this.PersonalForm.controls['District'].patchValue(val)\r\n }\r\n if (addressType == \"country\") {\r\n this.PersonalForm.controls['Country'].patchValue(val)\r\n }\r\n }\r\n }\r\n\r\n //set latitude, longitude and zoom\r\n this.lat = place.geometry.location.lat();\r\n this.lng = place.geometry.location.lng();\r\n this.zoom = 12;\r\n });\r\n });\r\n });\r\n\r\n\r\n }\r\n @Output() onPosted = new EventEmitter();\r\n @Output() onHide = new EventEmitter();\r\n get e() {\r\n return this.PersonalForm.controls;\r\n }\r\n showPetInfo() {\r\n this.onHide.emit(\"show\")\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n // console.log(this.PersonalForm.value);\r\n if (this.PersonalForm.invalid) {\r\n this.scrollToError();\r\n return;\r\n }\r\n this.onPosted.emit(this.PersonalForm.value)\r\n\r\n }\r\n toggleFoundSuggestion() {\r\n this.showFoundSuggestion = !this.showFoundSuggestion;\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n if (control.value && control.value.length > 0) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n }\r\n public validateIfChecked(control: FormControl) {\r\n if (control.value) {\r\n return null\r\n }\r\n else {\r\n return { 'checked': true };\r\n }\r\n\r\n }\r\n private setCurrentLocation() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.lat = position.coords.latitude;\r\n this.lng = position.coords.longitude;\r\n this.zoom = 12;\r\n this.getAddress(this.lat, this.lng);\r\n });\r\n }\r\n }\r\n\r\n getAddress(latitude, longitude) {\r\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\r\n // console.log(results);\r\n // console.log(status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n this.zoom = 12;\r\n // console.log(results[0].formatted_address);\r\n this.PersonalForm.controls['Address'].patchValue(results[0].formatted_address)\r\n let place = results[0];\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n if (this.componentForm[addressType]) {\r\n var val = place.address_components[i][this.componentForm[addressType]];\r\n // console.log(addressType);\r\n if (addressType == \"administrative_area_level_1\") {\r\n // this.PersonalForm.controls['State'].patchValue(val)\r\n // this.state = val;\r\n }\r\n if (addressType == \"locality\") {\r\n this.PersonalForm.controls['City'].patchValue(val)\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.PersonalForm.controls['ZipCode'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_1\") {\r\n this.PersonalForm.controls['State'].patchValue(val)\r\n }\r\n if (addressType == \"administrative_area_level_2\") {\r\n this.PersonalForm.controls['District'].patchValue(val)\r\n }\r\n if (addressType == \"country\") {\r\n this.PersonalForm.controls['Country'].patchValue(val)\r\n }\r\n // console.log(val)\r\n\r\n }\r\n }\r\n\r\n } else {\r\n window.alert('No results found');\r\n }\r\n } else {\r\n window.alert('Geocoder failed due to: ' + status);\r\n }\r\n\r\n });\r\n }\r\n getDetailByPhone() {\r\n let phone = this.PersonalForm.controls['ContactNumber'].value;\r\n let address = this.PersonalForm.controls['Address'].value;\r\n\r\n if (phone != '' && address == '') {\r\n this.SpinnerService.show();\r\n\r\n this.ownerService.getUserDetailByPhone(phone).subscribe(resp => {\r\n if (resp.Data.IsSuccess) {\r\n this.PersonalForm.controls['Address'].patchValue(resp.Data.fullstreet)\r\n this.PersonalForm.controls['ZipCode'].patchValue(resp.Data.zip)\r\n this.PersonalForm.controls['City'].patchValue(resp.Data.city)\r\n this.PersonalForm.controls['District'].patchValue(resp.Data.district)\r\n this.PersonalForm.controls['State'].patchValue(resp.Data.state)\r\n this.PersonalForm.controls['Country'].patchValue(resp.Data.country)\r\n }\r\n\r\n });\r\n this.SpinnerService.hide();\r\n\r\n }\r\n\r\n }\r\n\r\n scrollTo(el: Element): void {\r\n if (el) {\r\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n\r\n scrollToError(): void {\r\n const firstElementWithError = document.querySelector('.ng-invalid[formControlName]');\r\n this.scrollTo(firstElementWithError);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

\r\n 1\r\n {{ 'Contact information' | translate }}\r\n 2\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Name is required' |translate}}
\r\n
{{'Name is of more then 3 char'|translate}}
\r\n
{{'Name is not more then 60 char'|translate}}
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Email is required'| translate}}
\r\n
{{'Please Enter a valid Email-ID'| translate}}
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Phone Number is required' | translate}}
\r\n
{{'Phone Number is of more then 5 char'| translate}}
\r\n
{{'Phone Number is not more then 10 char'| translate}}
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {{ 'Accept terms and conditions' | translate }}\r\n
\r\n
{{'Please accept terms and conditions'| translate}}
\r\n
{{'Please accept terms and conditions'| translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

{{''| translate}}

\r\n
","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { PetsService } from '../../../../_services';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthenticationService, OwnerService } from '../../../../_services';\r\nimport { AuthService } from \"angularx-social-login\";\r\nimport { SocialUser } from \"angularx-social-login\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppComponent } from '../../../../app.component';\r\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\r\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateAdapter } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-lostpetinfo',\r\n templateUrl: './petinfo.component.html',\r\n styleUrls: ['./petinfo.component.scss']\r\n})\r\n\r\nexport class LostPetinfoComponent implements OnInit {\r\n\r\n registerForm: FormGroup;\r\n showFoundSuggestion: boolean = true;\r\n isChipIdToShowInDetail:boolean=false;\r\n @Input() showPersonalInfo;\r\n @Input() minsidePetInfo: any;\r\n public lat: number;\r\n public lng: number;\r\n public zoom: number;\r\n private geoCoder;\r\n public Area: any;\r\n private user: SocialUser;\r\n private loggedIn: boolean;\r\n minDate: Date;\r\n maxDate: Date;\r\n lostMaxDate: Date;\r\n chipFound: string = \"\";\r\n petImgUrl:string = null\r\n\r\n @ViewChild('search')\r\n\r\n private searchElementRef: ElementRef;\r\n\r\n constructor(\r\n private dateAdapter: DateAdapter,\r\n public app: AppComponent,\r\n private pets: PetsService,\r\n private formbuilder: FormBuilder,\r\n private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone,\r\n private router: Router,\r\n private authService: AuthService,\r\n private datePipe: DatePipe,\r\n private modalService: NgbModal,\r\n private authenticationService: AuthenticationService,\r\n ) {\r\n this.dateAdapter.setLocale('en-GB'); //dd/MM/yyyy\r\n // const currentYear = new Date().getFullYear();\r\n // const currentDate = new Date().getDate();\r\n\r\n // this.minDate = new Date(currentYear - 20, 0, 1);\r\n var dateChangedvalue = new Date();\r\n this.maxDate = dateChangedvalue;\r\n this.lostMaxDate = dateChangedvalue;\r\n }\r\n\r\n country: any;\r\n MasterSpecies: any;\r\n MasterBreeds: any;\r\n submitted = false;\r\n IsChipped = false;\r\n currentUser: any;\r\n fileData: File = null;\r\n croppedFileData: any = null;\r\n previewUrl: any = \"assets/img/user_add.png\";\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n imageError = \"\";\r\n closeResult = \"\";\r\n isMinsideUser: boolean = false;\r\n\r\n componentForm = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n locality: 'long_name',\r\n sublocality_level_1: 'long_name',\r\n sublocality_level_2: 'long_name',\r\n administrative_area_level_1: 'long_name',\r\n administrative_area_level_2: 'long_name',\r\n country: 'long_name',\r\n postal_code: 'short_name',\r\n postal_town: 'long_name'\r\n\r\n };\r\n\r\n imageChangedEvent: any = '';\r\n croppedImage: any = '';\r\n\r\n fileChangeEvent(event: any): void {\r\n\r\n }\r\n imageCropped(event: ImageCroppedEvent) {\r\n this.croppedImage = event.base64;\r\n }\r\n imageLoaded() {\r\n // show cropper\r\n }\r\n cropperReady() {\r\n // cropper ready\r\n }\r\n loadImageFailed() {\r\n // show message\r\n }\r\n\r\n open(content) {\r\n this.previewUrl = \"assets/img/user_add.png\";\r\n this.croppedFileData = \"\";\r\n this.modalService.open(content, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n this.previewUrl = this.croppedImage;\r\n this.croppedFileData = this.croppedImage;\r\n //return false;\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n this.registerForm.controls['Image'].patchValue(\"\");\r\n //return false;\r\n });\r\n return false;\r\n }\r\n private getDismissReason(reason: any): string {\r\n this.registerForm.controls['Image'].patchValue(\"\");\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n UpdateDobMaxDate() {\r\n var dateChangedvalue = this.registerForm.controls[\"LostFoundDate\"].value;\r\n dateChangedvalue.setDate(dateChangedvalue.getDate() - 1);\r\n this.lostMaxDate = dateChangedvalue;\r\n }\r\n ngOnInit() {\r\n\r\n this.registerForm = this.formbuilder.group({\r\n IsChipped: ['0'],\r\n ChipID: [''],\r\n PetName: ['', [Validators.required, this.noWhitespaceValidator]],\r\n MasterSpeciesID: ['', Validators.required],\r\n MasterBreedID: ['', Validators.required],\r\n LostFoundDate: [new Date(), Validators.required],\r\n DateOfBirth: [''],\r\n Color: [''],\r\n Gender: [1],\r\n HairType: ['1'],\r\n Area: ['', Validators.required],\r\n State: ['', [Validators.required, this.noWhitespaceValidator]],\r\n Commune: ['', [this.noWhitespaceValidator]],\r\n District: ['', [this.noWhitespaceValidator]],\r\n City: ['', [Validators.required, this.noWhitespaceValidator]],\r\n Country: ['Norway', Validators.required],\r\n ZipCode: ['', Validators.required],\r\n AdditionalInfo: [''],\r\n ImagePath: [''],\r\n Company: [''],\r\n Image: [''],\r\n croppedFileData: [''],\r\n lat: [''],\r\n lng: [''],\r\n OperationTypeID: [''],\r\n IsChipIDinDetail:['0']\r\n });\r\n\r\n this.showPersonalInfo = false;\r\n this.registerForm.value.IsChipped = 0;\r\n\r\n this.pets.getCountry().subscribe(res => {\r\n this.country = res;\r\n });\r\n this.pets.getSpecies().subscribe(species => {\r\n this.MasterSpecies = species;\r\n\r\n });\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n if (this.currentUser.Provider == 'MINSIDE') {\r\n this.isMinsideUser = true;\r\n this.registerForm.controls['LostFoundDate'].patchValue('');\r\n }\r\n else {\r\n //load Places Autocomplete\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n this.geoCoder = new google.maps.Geocoder;\r\n\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.ngZone.run(() => {\r\n //get the place result\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.fillAddress(place)\r\n //set latitude, longitude and zoom\r\n this.lat = place.geometry.location.lat();\r\n this.lng = place.geometry.location.lng();\r\n this.zoom = 15;\r\n this.getSuggestion();\r\n });\r\n });\r\n });\r\n }\r\n\r\n\r\n if (this.minsidePetInfo) {\r\n var genderValue = 0;\r\n var hairtypeValue = 0;\r\n var obj = this.minsidePetInfo;\r\n var dob = null;\r\n if (obj.BirthYear && obj.BirthMonth && obj.BirthDate) {\r\n dob = new Date(obj.BirthYear, obj.BirthMonth, obj.BirthDate);\r\n }\r\n this.registerForm.controls['IsChipped'].patchValue('1');\r\n this.registerForm.controls['ChipID'].patchValue(obj.ChipId);\r\n\r\n if (obj.ChipId) {\r\n this.registerForm.controls['IsChipped'].patchValue('1');\r\n this.registerForm.controls['IsChipped'].disable();\r\n this.registerForm.controls['ChipID'].patchValue(obj.ChipId);\r\n this.registerForm.controls['ChipID'].disable();\r\n }\r\n this.registerForm.controls['PetName'].patchValue(obj.PetName);\r\n // debugger;\r\n this.registerForm.controls['Company'].patchValue(this.currentUser.Company)\r\n if (obj.PetName) {\r\n this.registerForm.controls['PetName'].disable();\r\n }\r\n this.registerForm.controls['MasterSpeciesID'].patchValue(obj.SpeciesId);\r\n if (obj.SpeciesId) {\r\n this.registerForm.controls['MasterSpeciesID'].patchValue(obj.SpeciesId);\r\n this.registerForm.controls['MasterSpeciesID'].disable();\r\n }\r\n\r\n this.registerForm.controls['DateOfBirth'].patchValue(dob);\r\n if (dob) {\r\n this.registerForm.controls['DateOfBirth'].disable();\r\n }\r\n this.registerForm.controls['Color'].patchValue(obj.Color);\r\n if (obj.Color) {\r\n this.registerForm.controls['Color'].disable();\r\n }\r\n\r\n if (obj.Gender) {\r\n if (obj.Gender.toLowerCase() == \"male\") {\r\n genderValue = 1;\r\n } else if (obj.Gender.toLowerCase() == \"female\") {\r\n genderValue = 2;\r\n }\r\n }\r\n\r\n this.registerForm.controls['Gender'].patchValue(genderValue);\r\n if (obj.HairType) {\r\n if (obj.HairType.toLowerCase() == 'longhair') {\r\n hairtypeValue = 1;\r\n }\r\n else if (obj.HairType.toLowerCase() == 'sorthair') {\r\n hairtypeValue = 2;\r\n }\r\n }\r\n this.registerForm.controls['HairType'].patchValue(hairtypeValue);\r\n\r\n\r\n this.pets.getBreeds(obj.SpeciesId).subscribe(breeds => {\r\n this.MasterBreeds = breeds;\r\n this.registerForm.controls['MasterBreedID'].patchValue(obj.BreedId);\r\n let data = this.MasterBreeds.find(ob => ob.Value === obj.BreedId);\r\n\r\n\r\n if (data) {\r\n this.registerForm.controls['MasterBreedID'].disable();\r\n } else {\r\n if (obj.BreedName) {\r\n let data1 = this.MasterBreeds.find(ob => ob.Text.toLowerCase() === obj.BreedName.toLowerCase());\r\n if (data1) {\r\n obj.BreedId = data1.Value; // in case id does not match patch with Name\r\n this.registerForm.controls['MasterBreedID'].disable();\r\n }\r\n }\r\n }\r\n this.registerForm.controls['MasterBreedID'].patchValue(obj.BreedId);\r\n this.getSuggestion();\r\n });\r\n }\r\n }\r\n\r\n get petf() {\r\n return this.registerForm.controls;\r\n }\r\n\r\n getSuggestion() {\r\n this.chipFound = \"\";\r\n\r\n if (this.minsidePetInfo) { // In case you Minside Pet\r\n let filters = {\r\n \"SearchFilters\": {\r\n \"SpeciesID\": this.registerForm.getRawValue().MasterSpeciesID,\r\n \"BreedID\": this.registerForm.getRawValue().MasterBreedID,\r\n \"lat\": this.lat,\r\n \"lng\": this.lng,\r\n \"radiousDistance\": 20,\r\n \"OperationTypeID\": 2\r\n }\r\n }\r\n this.onPosted.emit(filters)\r\n } else {\r\n let filters = {\r\n \"SearchFilters\": {\r\n \"SpeciesID\": this.registerForm.value.MasterSpeciesID,\r\n \"BreedID\": this.registerForm.value.MasterBreedID,\r\n \"lat\": this.lat,\r\n \"lng\": this.lng,\r\n \"radiousDistance\": 10,\r\n \"OperationTypeID\": 2\r\n }\r\n }\r\n this.onPosted.emit(filters)\r\n }\r\n\r\n\r\n }\r\n\r\n getChipInfo() {\r\n this.registerForm.controls['PetName'].patchValue(\"\");\r\n this.registerForm.controls['MasterSpeciesID'].patchValue(\"\");\r\n this.registerForm.controls['Color'].patchValue(\"\");\r\n this.registerForm.controls['MasterBreedID'].patchValue(\"\");\r\n\r\n // this.pets.IsChipIDExists(this.registerForm.value.ChipID, this.registerForm.value.OperationTypeID).subscribe(IsChipExist =>{\r\n this.pets.IsChipIDExists(this.registerForm.value.ChipID, 1).subscribe(IsChipExist => {\r\n if (IsChipExist == true && this.registerForm.value.ChipID.trim() != \"\") {\r\n // this.chipFound = \"Pet with ChipID \" + this.registerForm.value.ChipID + \" Already exists\";\r\n this.chipFound = \"Kjæledyr med ChipID \" + this.registerForm.value.ChipID + \" Eksisterer allerede\";\r\n this.registerForm.controls['ChipID'].patchValue(\"\");\r\n }\r\n else {\r\n this.pets.getChipInfo(this.registerForm.value.ChipID).subscribe(chipInfo => {\r\n var genderValue: any;\r\n var hairtypeValue: any;\r\n if (!chipInfo.IsAlive)// data from api came true as false and false as true.\r\n {\r\n if (chipInfo.ChipId) {\r\n var dob = null;\r\n if (chipInfo.BirthYear && chipInfo.BirthMonth && chipInfo.BirthDate) {\r\n dob = new Date(chipInfo.BirthYear, chipInfo.BirthMonth, chipInfo.BirthDate);\r\n }\r\n //PetOriginalPhoto\r\n if(chipInfo.PetPhoto !== ''){\r\n this.previewUrl = chipInfo.PetPhoto;\r\n }\r\n this.petImgUrl = chipInfo.PetOriginalPhoto;\r\n this.registerForm.controls['PetName'].patchValue(chipInfo.PetName);\r\n this.registerForm.controls['MasterSpeciesID'].patchValue(chipInfo.SpeciesID);\r\n this.registerForm.controls['Color'].patchValue(chipInfo.PetColor);\r\n this.registerForm.controls['DateOfBirth'].patchValue(dob);\r\n // this.registerForm.controls['Gender'].patchValue(genderValue);\r\n this.registerForm.controls['LostFoundDate'].patchValue(new Date());\r\n if (chipInfo.PetSex) {\r\n if (chipInfo.PetSex.toLowerCase() == \"male\" || chipInfo.PetSex.toLowerCase() == \"hanndyr\") {\r\n genderValue = 1;\r\n } else if (chipInfo.PetSex.toLowerCase() == \"female\" || chipInfo.PetSex.toLowerCase() == \"hunndyr\") {\r\n genderValue = 2;\r\n }\r\n }\r\n this.registerForm.controls['Gender'].patchValue(genderValue);\r\n if (chipInfo.HairType) {\r\n if (chipInfo.HairType.toLowerCase() == 'longhair') {\r\n hairtypeValue = 1;\r\n }\r\n else if (chipInfo.HairType.toLowerCase() == 'sorthair') {\r\n hairtypeValue = 2;\r\n }\r\n }\r\n this.registerForm.controls['HairType'].patchValue(hairtypeValue);\r\n this.pets.getBreeds(chipInfo.SpeciesID).subscribe(breeds => {\r\n this.MasterBreeds = breeds;\r\n this.registerForm.controls['MasterBreedID'].patchValue(chipInfo.BreedID);\r\n this.getSuggestion();\r\n });\r\n }\r\n else {\r\n // this.chipFound = \"No data found for this chipId. Please fill details below.\"\r\n this.chipFound = \"Ingen data funnet for denne brikken. Vennligst fyll detaljene nedenfor\";\r\n }\r\n }\r\n else {\r\n var chipID = this.registerForm.value.ChipID;\r\n this.registerForm.controls['ChipID'].patchValue(\"\");\r\n this.chipFound = \"Kjæledyr med ChipId :\" + chipID + \" er død, og du kan ikke rapportere dette kjæledyret\";\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n getBreeds() {\r\n this.registerForm.controls['MasterBreedID'].patchValue(\"\");\r\n this.pets.getBreeds(this.registerForm.value.MasterSpeciesID).subscribe(breeds => {\r\n this.MasterBreeds = breeds;\r\n this.getSuggestion();\r\n });\r\n }\r\n @Output() onPosted = new EventEmitter();\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n if (this.imageError) {\r\n this.scrollToError();\r\n return;\r\n }\r\n\r\n if(this.registerForm.value.Image == '' && this.registerForm.value.IsChipped == '0'){\r\n this.imageError = 'Pet Image is required';\r\n const ele = document.getElementById('error-msg');\r\n this.scrollTo(ele);\r\n return;\r\n }\r\n if(this.registerForm.value.Image == '' && this.registerForm.value.IsChipped == '1' && this.previewUrl == 'assets/img/user_add.png'){\r\n this.imageError = 'Pet Image is required';\r\n const ele = document.getElementById('error-msg');\r\n this.scrollTo(ele);\r\n return;\r\n }\r\n \r\n if (this.registerForm.invalid) {\r\n this.scrollToError();\r\n return;\r\n }\r\n // debugger;\r\n if(this.petImgUrl && !this.fileData){\r\n this.registerForm.controls['ImagePath'].patchValue(this.petImgUrl);\r\n }else{\r\n this.registerForm.controls['ImagePath'].patchValue(this.fileData);\r\n }\r\n this.registerForm.controls['Company'].patchValue(this.currentUser.Company);\r\n this.registerForm.controls['croppedFileData'].patchValue(this.croppedFileData);\r\n this.registerForm.controls['lat'].patchValue(this.lat);\r\n this.registerForm.controls['lng'].patchValue(this.lng);\r\n if (this.minsidePetInfo) {\r\n this.onPosted.emit(this.registerForm.getRawValue())\r\n } else {\r\n this.onPosted.emit(this.registerForm.value)\r\n }\r\n const firstElementWithError = document.querySelector('.xng-breadcrumb-root');\r\n this.scrollTo(firstElementWithError);\r\n //this.router.navigate(['/personal']);\r\n\r\n }\r\n\r\n private setCurrentLocation() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.lat = position.coords.latitude;\r\n this.lng = position.coords.longitude;\r\n this.zoom = 15;\r\n this.getAddress(this.lat, this.lng);\r\n });\r\n }\r\n }\r\n\r\n toggleFoundSuggestion() {\r\n this.showFoundSuggestion = !this.showFoundSuggestion;\r\n }\r\n\r\n markerDragEnd($event: any) {\r\n this.lat = $event.coords.lat;\r\n this.lng = $event.coords.lng;\r\n this.getAddress(this.lat, this.lng);\r\n }\r\n\r\n getAddress(latitude, longitude) {\r\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n this.fillAddress(results[0])\r\n } else {\r\n window.alert('No results found');\r\n }\r\n } else {\r\n window.alert('Geocoder failed due to: ' + status);\r\n }\r\n\r\n });\r\n }\r\n\r\n fillAddress(mapresult) {\r\n this.zoom = 15;\r\n let area = mapresult.formatted_address;\r\n //this.registerForm.controls['Area'].patchValue(results[0].formatted_address)\r\n let place = mapresult;\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n if (this.componentForm[addressType]) {\r\n var val = place.address_components[i][this.componentForm[addressType]];\r\n\r\n if (addressType == \"administrative_area_level_1\") {\r\n this.registerForm.controls['State'].patchValue(val)\r\n area = area.replace(val, \"\")\r\n\r\n // this.state = val;\r\n }\r\n if (addressType == \"administrative_area_level_2\") {\r\n this.registerForm.controls['District'].patchValue(val)\r\n area = area.replace(val, \"\")\r\n\r\n // this.state = val;\r\n }\r\n if (addressType == \"country\") {\r\n //this.registerForm.controls['Country'].patchValue(val)\r\n area = area.replace(val, \"\")\r\n // this.state = val;\r\n }\r\n if (addressType == \"locality\") {\r\n this.registerForm.controls['City'].patchValue(val)\r\n area = area.replace(val + \", \", \"\")\r\n // this.state = val;\r\n }\r\n if (addressType == \"postal_town\") {\r\n this.registerForm.controls['City'].patchValue(val)\r\n area = area.replace(val + \", \", \"\")\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.registerForm.controls['ZipCode'].patchValue(val)\r\n // area = area.replace(val + \", \", \"\")\r\n area = area.replace(val+\", \" , \"\")\r\n // this.state = val;\r\n }\r\n if (addressType == \"postal_code\") {\r\n this.registerForm.controls['ZipCode'].patchValue(val)\r\n // area = area.replace(val + \", \", \"\")\r\n area = area.replace(val , \"\")\r\n // this.state = val;\r\n }\r\n\r\n\r\n }\r\n }\r\n area = area.trim();\r\n let comma = area.substring(area.length, area.length - 1)\r\n if (comma == \",\") {\r\n area = area.substring(0, area.length - 1)\r\n }\r\n area = area.trim();\r\n this.registerForm.controls['Area'].patchValue(area)\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.imageError = null;\r\n if (fileInput.target.files && fileInput.target.files[0]) {\r\n // Size Filter Bytes\r\n const max_size = 15000000;\r\n const allowed_types = ['image/png', 'image/jpeg'];\r\n const max_height = 15200;\r\n const max_width = 25600;\r\n\r\n if (fileInput.target.files[0].size > max_size) {\r\n this.imageError =\r\n 'Maximum size allowed is ' + max_size / 1000 + 'kb';\r\n\r\n return false;\r\n }\r\n if (!allowed_types.includes(fileInput.target.files[0].type)) {\r\n this.imageError = 'Only Images are allowed ( JPG | PNG )';\r\n return false;\r\n }\r\n\r\n let Content: HTMLElement = document.getElementById(\"contentNew\") as HTMLElement\r\n Content.click();\r\n this.imageChangedEvent = event;\r\n this.fileData = fileInput.target.files[0];\r\n // this.preview();\r\n }\r\n }\r\n\r\n preview() {\r\n // Show preview \r\n var mimeType = this.fileData.type;\r\n if (mimeType.match(/image\\/*/) == null) {\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n }\r\n }\r\n public noWhitespaceValidator(control: FormControl) {\r\n if (control.value && control.value.length > 0) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n }\r\n\r\n public onIsChippedChange() {\r\n this.registerForm.controls[\"ChipID\"].clearValidators();\r\n if (this.registerForm.controls.IsChipped.value == 1) {\r\n this.registerForm.controls[\"ChipID\"].setValidators([Validators.required, this.noWhitespaceValidator]);\r\n this.registerForm.controls[\"IsChipIDinDetail\"].patchValue(0);\r\n }\r\n this.registerForm.controls[\"ChipID\"].updateValueAndValidity()\r\n }\r\n\r\n public onClickFillDate() {\r\n this.registerForm.controls['LostFoundDate'].patchValue(new Date())\r\n }\r\n public onClickFillAddress() {\r\n //load Places Autocomplete\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n this.geoCoder = new google.maps.Geocoder;\r\n\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.ngZone.run(() => {\r\n //get the place result\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.fillAddress(place)\r\n //set latitude, longitude and zoom\r\n this.lat = place.geometry.location.lat();\r\n this.lng = place.geometry.location.lng();\r\n this.zoom = 15;\r\n this.getSuggestion();\r\n });\r\n });\r\n });\r\n }\r\n\r\n scrollTo(el: Element): void {\r\n if (el) {\r\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n\r\n scrollToError(): void {\r\n const firstElementWithError = document.querySelector('.ng-invalid[formControlName]');\r\n this.scrollTo(firstElementWithError);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","
\r\n
\r\n

\r\n 1\r\n {{ 'Lost Pet Info' | translate }}\r\n 2\r\n

\r\n
\r\n
\r\n
\r\n \"\"\r\n \r\n
\r\n
{{ imageError }}
\r\n
\r\n
{{'Pet Image is required' | translate}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{'Chip Id is required' | translate}}
\r\n
{{'Chip Id is of more then 4 char'| translate}}
\r\n
{{'Chip Id is not more then 20 char' | translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n {{ chipFound }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Pet name is required'| translate}}
\r\n
{{'Pet name is of more then 3 char'| translate}}
\r\n
{{'Pet name is not more then 60 char' | translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{'Species is required' | translate}}
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
{{'Breed is required'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {{ 'Choose a date' | translate }}\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n {{ 'Choose a date' | translate }}\r\n \r\n \r\n \r\n \r\n
\r\n
{{'Date Of found is required'| translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {{ 'MapInfo' | translate }}\r\n
\r\n
{{'Area is required'| translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{'Zipcode is required'| translate}}
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'City is required'| translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'Space is not allowed'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
{{'State is required'| translate}}
\r\n
{{'Space is not allowed'|\r\n translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{'Country is required'| translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

{{'Crop Image'| translate}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{'Preview'|translate}}
\r\n \r\n
\r\n
\r\n\r\n
","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { OwnerService, AuthenticationService } from '../../../../_services';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-lost-petlist',\r\n templateUrl: './petlist.component.html'\r\n})\r\n \r\nexport class LostPetListComponent implements OnInit {\r\n\r\n petList : any;\r\n petCount : any;\r\n minsideOwnerDetail : any;\r\n currentUser:any;\r\n @Output() onMarkLost = new EventEmitter();\r\n constructor(private ownerService: OwnerService, private authenticationService : AuthenticationService,\r\n private router: Router,private SpinnerService: NgxSpinnerService) {\r\n //constructor() {}\r\n }\r\n ngOnInit(){\r\n this.currentUser = this.authenticationService.currentUserValue; \r\n if (this.currentUser.AuthToken != ''){\r\n var authToken = this.currentUser.AuthToken;\r\n this.SpinnerService.show();\r\n this.ownerService.getOwnerPetList(authToken).subscribe((res: any) => { \r\n this.SpinnerService.hide(); \r\n if (res.Status ==2){\r\n // alert(\"Authentication Token is expired. Please login again\");\r\n alert(\"Autentiseringstoken er utløpt. Vennligst logg inn igjen\");\r\n //Remove Local Storage\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('socialusers');\r\n this.router.navigate([\"/login\"]);\r\n }\r\n if (res.Data.lostAndFoundPetDetails == null ){\r\n this.petList = null;\r\n this.petCount = 0;\r\n }else{\r\n this.minsideOwnerDetail ={\r\n \"FirstName\" : res.Data.FirstName,\r\n \"LastName\" : res.Data.LastName,\r\n \"Email\" : res.Data.Email,\r\n \"Address\" : res.Data.Address,\r\n \"ZipCode\" : res.Data.ZipCode,\r\n \"City\" : res.Data.City,\r\n \"Phone\" : res.Data.Phone,\r\n };\r\n this.petList = res.Data.lostAndFoundPetDetails;\r\n this.petCount = res.Data.lostAndFoundPetDetails.length;\r\n if (this.petCount == 1){\r\n this.markPetAsLost(this.petList[0]);\r\n }\r\n }\r\n }) \r\n }else{\r\n // Need to remove local storage ???\r\n this.router.navigate(['/login']);\r\n }\r\n \r\n }\r\n markPetAsLost(pet: any): void {\r\n if(confirm(\"Are you sure you want to mark \"+ pet.PetName + \" as Lost ?\")) {\r\n let petData = {\r\n \"petDetail\": pet,\r\n \"ownerDetail\" : this.minsideOwnerDetail,\r\n \"source\":\"MINSIDE\"\r\n }\r\n this.onMarkLost.emit(petData);\r\n }\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n

{{'Minside Pet List' | translate}}

\r\n
\r\n
0\">\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n

{{item.PetName}}

\r\n

{{item.SpeciesName}}, {{item.BreedName}}

\r\n

{{item.ChipId}}

\r\n
\r\n
\r\n
\r\n Mark Lost\r\n
\r\n
\r\n
\r\n

{{'No Record Found'|translate}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{'Please Wait.'| translate}}

\r\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-report',\n templateUrl: './report.component.html',\n styleUrls: ['./report.component.scss']\n})\nexport class ReportComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

report works!

\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-thanks',\n templateUrl: './thanks.component.html',\n styleUrls: ['./thanks.component.scss']\n})\nexport class ThanksComponent implements OnInit {\n\n \n PersonalForm: FormGroup;\n\n constructor() { }\n \n ngOnInit() {\n\n }\n \n}\n","
\n
\n \n
\n {{'Report has been submitted' | translate}}\n
\n \n
\n
\n ","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\nimport { PetsService } from '../../_services';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { MapsAPILoader } from '@agm/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { AuthService } from \"angularx-social-login\";\nimport { SocialUser } from \"angularx-social-login\";\nimport { DatePipe } from '@angular/common';\nimport { AppComponent } from '../../app.component';\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\nimport { environment } from '../../../environments/environment';\nimport { DateAdapter } from '@angular/material';\n\n@Component({\n selector: 'app-updatepetinfo',\n templateUrl: './updatepetinfo.component.html',\n styleUrls: ['./updatepetinfo.component.scss']\n})\n\nexport class UpdatepetinfoComponent implements OnInit {\n\n petUpdateForm: FormGroup;\n showFoundSuggestion: boolean = true;\n @Input() showPersonalInfo;\n @Input() minsidePetInfo: any;\n public lat: number;\n public lng: number;\n public zoom: number;\n private geoCoder;\n public Area: any;\n private user: SocialUser;\n private loggedIn: boolean;\n minDate: Date;\n maxDate: Date;\n chipFound: string = \"\";\n IsLost: boolean;\n IsChipID: Boolean;\n\n\n @ViewChild('search')\n\n private searchElementRef: ElementRef;\n\n constructor(\n private dateAdapter: DateAdapter,\n public app: AppComponent,\n private pets: PetsService,\n private formbuilder: FormBuilder,\n private mapsAPILoader: MapsAPILoader,\n private ngZone: NgZone,\n private router: ActivatedRoute,\n // private router: Router,\n private routeObj: Router,\n private authService: AuthService,\n private datePipe: DatePipe,\n private modalService: NgbModal\n ) {\n this.dateAdapter.setLocale('en-GB'); //dd/MM/yyyy\n // const currentYear = new Date().getFullYear();\n // const currentDate = new Date().getDate();\n\n // this.minDate = new Date(currentYear - 20, 0, 1);\n this.maxDate = new Date();\n\n }\n\n LostFoundPetID;\n pet;\n country: any;\n MasterSpecies: any;\n MasterBreeds: any;\n submitted = false;\n IsChipped = false;\n petImagePath = environment.apiBaseUrl + \"/Static/Images/\";\n fileData: File = null;\n croppedFileData: any = null;\n previewUrl: any = \"assets/img/user_add.png\";\n fileUploadProgress: string = null;\n uploadedFilePath: string = null;\n imageError = \"\";\n closeResult = \"\";\n\n componentForm = {\n street_number: 'short_name',\n route: 'long_name',\n locality: 'long_name',\n sublocality_level_1: 'long_name',\n sublocality_level_2: 'long_name',\n administrative_area_level_1: 'long_name',\n administrative_area_level_2: 'long_name',\n country: 'long_name',\n postal_code: 'short_name',\n postal_town: 'long_name'\n\n };\n\n imageChangedEvent: any = '';\n croppedImage: any = '';\n\n fileChangeEvent(event: any): void {\n\n }\n imageCropped(event: ImageCroppedEvent) {\n this.croppedImage = event.base64;\n }\n imageLoaded() {\n // show cropper\n }\n cropperReady() {\n // cropper ready\n }\n loadImageFailed() {\n // show message\n }\n open(content) {\n this.previewUrl = \"assets/img/user_add.png\";\n this.croppedFileData = \"\";\n this.modalService.open(content, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\n this.closeResult = `Closed with: ${result}`;\n this.previewUrl = this.croppedImage;\n this.croppedFileData = this.croppedImage;\n //return false;\n }, (reason) => {\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\n this.petUpdateForm.controls['Image'].patchValue(\"\");\n //return false;\n });\n return false;\n }\n private getDismissReason(reason: any): string {\n this.petUpdateForm.controls['Image'].patchValue(\"\");\n if (reason === ModalDismissReasons.ESC) {\n return 'by pressing ESC';\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\n return 'by clicking on a backdrop';\n } else {\n return `with: ${reason}`;\n }\n }\n\n ngOnInit() {\n this.router.queryParams.subscribe(ReqParams => {\n this.LostFoundPetID = ReqParams.PetID;\n });\n this.petUpdateForm = this.formbuilder.group({\n IsChipped: ['0'],\n ChipID: [''],\n PetName: [''],\n MasterSpeciesID: ['', Validators.required],\n MasterBreedID: ['', Validators.required],\n LostFoundDate: [new Date(), Validators.required],\n DateOfBirth: [''],\n Color: [''],\n Gender: ['1'],\n HairType: ['1'],\n Area: ['', Validators.required],\n State: ['', [Validators.required, this.noWhitespaceValidator]],\n Commune: ['', [this.noWhitespaceValidator]],\n District: ['', [this.noWhitespaceValidator]],\n City: ['', [Validators.required, this.noWhitespaceValidator]],\n Country: ['', Validators.required],\n ZipCode: ['', Validators.required],\n AdditionalInfo: [''],\n LostFoundID: [''],\n ImagePath: [''],\n Image: [''],\n croppedFileData: [''],\n lat: [''],\n lng: [''],\n OperationTypeID: ['']\n });\n\n this.showPersonalInfo = false;\n this.petUpdateForm.value.IsChipped = 0;\n\n this.pets.getCountry().subscribe(res => {\n this.country = res;\n });\n this.pets.getSpecies().subscribe(species => {\n this.MasterSpecies = species;\n\n });\n\n\n //load Places Autocomplete\n this.mapsAPILoader.load().then(() => {\n // this.setCurrentLocation();\n // this.getAddress(this.lat, this.lng);\n this.geoCoder = new google.maps.Geocoder;\n\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\n types: []\n });\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n this.fillAddress(place)\n //set latitude, longitude and zoom\n this.lat = place.geometry.location.lat();\n this.lng = place.geometry.location.lng();\n this.zoom = 15;\n });\n });\n });\n // get pet details to update\n let parameters: any = {\n userId: '',\n LostFoundPetID: this.LostFoundPetID,\n type: 'current',\n OperationTypeID: '',\n lat:'',\n lng:'',\n radiousDistance:'',\n BreedID:'',\n SpeciesID:'',\n page:''\n }\n\n this.pets.GetLostFoundPetDetailsByID(parameters).subscribe(response => {\n\n this.pet = response;\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.pets.getSpecies().subscribe(species => {\n // \t\tthis.MasterSpecies = species;\n // \t\tif (this.pet.MasterSpeciesID) {\n // \t\t\tthis.petUpdateForm.controls['MasterSpeciesID'].patchValue(Number(this.pet.MasterSpeciesID))\n // \t\t\tthis.getBreeds()\n // \t\t}\n // });\n\n\n\n\n // this.petUpdateForm.controls[\"MasterSpeciesID\"].patchValue(this.pet.SpeciesID);\n // this.petUpdateForm.controls[\"MasterBreedID\"].patchValue(this.pet.BreedID);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n // this.petUpdateForm.controls[\"PetName\"].patchValue(this.pet.PetName);\n\n // let titleContent = '';\n // if(response){\n // this.lat=Number(response.lat);\n // this.lng = Number(response.lng);\n // this.zoom = 15;\n\n\n // let subtext = '';\n // if(response.OperationTypeID == 1){\n // subtext = 'Lost';\n // }else if (response.OperationTypeID == 2){\n // subtext = \"Found\";\n // }\n\n // // let HairType ='';\n // if(response.HairType == 1){\n // this.pet.HairType = 'Long Hair';\n // }else if (response.HairType == 2){\n // this.pet.HairType = \"Short Hair\";\n // }\n\n // if(response.Gender == 1){\n // this.pet.Gender = 'Male';\n // }else if (response.Gender == 2){\n // this.pet.Gender = \"Female\";\n // }\n // let color = '';\n // if(response.Color){\n // color = response.Color + \" \"; \n // }\n // let city = '';\n // if(response.City){\n // city = response.City ;\n // }\n // if(response.MasterBreed){\n // this.ShareMessage = this.ShareMessage + color + response.MasterBreed + \" (\" + response.MasterSpecies + \") \" + subtext + \" | \" + city;\n // }else{\n // this.ShareMessage = this.ShareMessage + color+ response.MasterSpecies + \" \" + subtext + \" | \" + city\n // }\n // this.ShareMessage = this.ShareMessage ? this.ShareMessage.replace(/^\\s+|\\s+$/gm, '') : '';\n // this.meta.addTags([\n // {name: 'og:title', content: this.ShareMessage},\n // {name: 'og:description', content: response.AdditionalInfo},\n // {name: 'og:image', content: this.petImagePath + response.ImagePath},\n // ]);\n\n // }else{\n // this.routeObj.navigate(['']); //in case id doesnot exist\n // }\n // this.title.setTitle(this.ShareMessage);\n\n // })\n\n // end get pet details to update\n this.minsidePetInfo = response;\n this.IsLost = (response.OperationTypeID == 1 ? true : false);\n this.IsChipID = (response.ChipID ? true : false);\n\n if (this.minsidePetInfo) {\n var genderValue = 0;\n var hairDisplayValue = 0;\n var obj = this.minsidePetInfo;\n var dob = null;\n if (obj.BirthYear && obj.BirthMonth && obj.BirthDate) {\n dob = new Date(obj.BirthYear, obj.BirthMonth, obj.BirthDate);\n }\n // this.petUpdateForm.controls['IsChipped'].patchValue('1');\n this.petUpdateForm.controls['ChipID'].patchValue(obj.ChipID);\n // Chip id bind\n if (obj.ChipID) {\n this.petUpdateForm.controls['ChipID'].disable();\n }\n // pet name bind\n this.petUpdateForm.controls['PetName'].patchValue(obj.PetName);\n if (obj.PetName && obj.OperationTypeID == 1) {\n this.petUpdateForm.controls['PetName'].disable();\n }\n // species id bind\n this.pets.getSpecies().subscribe(species => {\n this.MasterSpecies = species;\n if (this.pet.MasterSpeciesID) {\n this.petUpdateForm.controls['MasterSpeciesID'].patchValue(Number(this.pet.MasterSpeciesID))\n this.getBreeds()\n }\n });\n //this.petUpdateForm.controls['MasterSpeciesID'].patchValue(obj.MasterSpeciesID);\n if (obj.MasterSpeciesID) {\n this.petUpdateForm.controls['MasterSpeciesID'].patchValue(obj.MasterSpeciesID);\n //this.petUpdateForm.controls['MasterSpeciesID'].disable();\n\n }\n\n\n //Additional info bind\n this.petUpdateForm.controls[\"AdditionalInfo\"].patchValue(obj.AdditionalInfo);\n this.petUpdateForm.controls[\"LostFoundID\"].patchValue(this.LostFoundPetID);\n\n this.petUpdateForm.controls['DateOfBirth'].patchValue(obj.DateOfBirth);\n this.petUpdateForm.controls['LostFoundDate'].patchValue(obj.LostFoundDate);\n if (obj.LostFoundDate) {\n this.petUpdateForm.controls['LostFoundDate'].disable();\n }\n this.petUpdateForm.controls['Color'].patchValue(obj.Color);\n // if (obj.Color) {\n // this.petUpdateForm.controls['Color'].disable();\n // }\n if (obj.Area) {\n this.petUpdateForm.controls[\"Area\"].patchValue(obj.Area);\n this.petUpdateForm.controls[\"ZipCode\"].patchValue(obj.ZipCode);\n this.petUpdateForm.controls[\"City\"].patchValue(obj.City);\n this.petUpdateForm.controls[\"District\"].patchValue(obj.District);\n this.petUpdateForm.controls[\"State\"].patchValue(obj.State);\n this.petUpdateForm.controls[\"Country\"].patchValue(obj.Country);\n\n this.petUpdateForm.controls[\"Area\"].disable();\n this.petUpdateForm.controls[\"ZipCode\"].disable();\n this.petUpdateForm.controls[\"City\"].disable();\n this.petUpdateForm.controls[\"State\"].disable();\n this.petUpdateForm.controls[\"Country\"].disable();\n }\n\n if (obj.Gender) {\n genderValue = obj.Gender;\n }\n\n this.petUpdateForm.controls['Gender'].patchValue(genderValue);\n\n if (obj.HairType) {\n hairDisplayValue = obj.HairType.toString();\n }\n this.petUpdateForm.controls['HairType'].patchValue(hairDisplayValue);\n\n\n // this.pets.getBreeds(obj.MasterSpeciesID).subscribe(breeds => {\n // debugger;\n // this.MasterBreeds = breeds;\n // this.petUpdateForm.controls['MasterBreedID'].patchValue(obj.MasterBreedID);\n // let data = this.MasterBreeds.find(ob => ob.Value === obj.MasterBreedID);\n\n\n // if (data) {\n // this.petUpdateForm.controls['MasterBreedID'].disable();\n // } else {\n // if (obj.BreedName) {\n // let data1 = this.MasterBreeds.find(ob => ob.Text.toLowerCase() === obj.BreedName.toLowerCase());\n // if (data1) {\n // obj.BreedId = data1.Value; // in case id does not match patch with Name\n // this.petUpdateForm.controls['MasterBreedID'].disable();\n // }\n // }\n // }\n // this.petUpdateForm.controls['MasterBreedID'].patchValue(obj.BreedId);\n // });\n }\n })\n }\n\n get petf() {\n return this.petUpdateForm.controls;\n }\n // getChipInfo() {\n // this.petUpdateForm.controls['PetName'].patchValue(\"\");\n // this.petUpdateForm.controls['MasterSpeciesID'].patchValue(\"\");\n // this.petUpdateForm.controls['Color'].patchValue(\"\");\n // this.petUpdateForm.controls['MasterBreedID'].patchValue(\"\");\n\n // // this.pets.IsChipIDExists(this.petUpdateForm.value.ChipID, this.petUpdateForm.value.OperationTypeID).subscribe(IsChipExist =>{\n // this.pets.IsChipIDExists(this.petUpdateForm.value.ChipID, 1).subscribe(IsChipExist => {\n // if (IsChipExist == true && this.petUpdateForm.value.ChipID.trim() != \"\") {\n // this.chipFound = \"Pet with ChipID \" + this.petUpdateForm.value.ChipID + \" Already exists\";\n // this.petUpdateForm.controls['ChipID'].patchValue(\"\");\n // }\n // else {\n // this.pets.getChipInfo(this.petUpdateForm.value.ChipID).subscribe(chipInfo => {\n // if (chipInfo.ChipId) {\n // this.petUpdateForm.controls['PetName'].patchValue(chipInfo.PetName);\n // this.petUpdateForm.controls['MasterSpeciesID'].patchValue(chipInfo.SpeciesID);\n // this.petUpdateForm.controls['Color'].patchValue(chipInfo.PetColor);\n // this.pets.getBreeds(chipInfo.SpeciesID).subscribe(breeds => {\n // this.MasterBreeds = breeds;\n // this.petUpdateForm.controls['MasterBreedID'].patchValue(chipInfo.BreedID);\n // });\n // }\n // else {\n // this.chipFound = \"No data found for this chipId. Please fill details below.\"\n // }\n // });\n // }\n // });\n // }\n\n // getChipInfo() {\n\n // this.petUpdateForm.controls['PetName'].patchValue(\"\");\n // this.petUpdateForm.controls['MasterSpeciesID'].patchValue(\"\");\n // this.petUpdateForm.controls['Color'].patchValue(\"\");\n // this.petUpdateForm.controls['MasterBreedID'].patchValue(\"\");\n // this.pets.getChipInfo(this.petUpdateForm.value.ChipID).subscribe(chipInfo => {\n // if (chipInfo.ChipId) {\n // this.petUpdateForm.controls['PetName'].patchValue(chipInfo.PetName);\n // this.petUpdateForm.controls['MasterSpeciesID'].patchValue(chipInfo.SpeciesID);\n // this.petUpdateForm.controls['Color'].patchValue(chipInfo.PetColor);\n // this.pets.getBreeds(chipInfo.SpeciesID).subscribe(breeds => {\n // this.MasterBreeds = breeds;\n // this.petUpdateForm.controls['MasterBreedID'].patchValue(chipInfo.BreedID);\n // });\n // }\n // else {\n // this.chipFound = \"No data found for this chipId. Please fill details below.\"\n // }\n // });\n // }\n\n getBreeds() {\n //debugger;\n this.petUpdateForm.controls['MasterBreedID'].patchValue(\"\");\n this.pets.getBreeds(this.petUpdateForm.value.MasterSpeciesID).subscribe(breeds => {\n this.MasterBreeds = breeds;\n if (this.pet.MasterBreedID) {\n this.petUpdateForm.controls['MasterBreedID'].patchValue(Number(this.pet.MasterBreedID))\n this.petUpdateForm.controls['MasterSpeciesID'].disable();\n if (this.pet.OperationTypeID == 1) {\n this.petUpdateForm.controls['MasterBreedID'].disable();\n }\n }\n });\n }\n @Output() onPosted = new EventEmitter();\n\n onSubmit() {\n\n\n debugger;\n this.submitted = true;\n // console.log(this.petUpdateForm.value);\n if (this.petUpdateForm.invalid) {\n return;\n }\n this.pets.UpdatePetInfo(this.petUpdateForm.value).subscribe(Response => {\n alert(\"Info oppdatert suksessivt !!!\");\n });\n\n // debugger;\n // this.submitted = true;\n // if (this.imageError) {\n // this.scrollToError();\n // return;\n // }\n // if (this.petUpdateForm.invalid) {\n // this.scrollToError();\n // return;\n // }\n // this.petUpdateForm.controls['ImagePath'].patchValue(this.fileData);\n // this.petUpdateForm.controls['croppedFileData'].patchValue(this.croppedFileData);\n // this.petUpdateForm.controls['lat'].patchValue(this.lat);\n // this.petUpdateForm.controls['lng'].patchValue(this.lng);\n // // if (this.minsidePetInfo) {\n // // this.onPosted.emit(this.petUpdateForm.getRawValue())\n // // } else { \n // this.onPosted.emit(this.petUpdateForm.value)\n // // }\n // const firstElementWithError = document.querySelector('.xng-breadcrumb-root');\n // this.scrollTo(firstElementWithError);\n\n\n }\n\n private setCurrentLocation() {\n if (\"geolocation\" in navigator) {\n navigator.geolocation.getCurrentPosition((position) => {\n this.lat = position.coords.latitude;\n this.lng = position.coords.longitude;\n this.zoom = 15;\n this.getAddress(this.lat, this.lng);\n });\n }\n }\n\n // toggleFoundSuggestion() {\n // this.showFoundSuggestion = !this.showFoundSuggestion;\n // }\n\n markerDragEnd($event: any) {\n this.lat = $event.coords.lat;\n this.lng = $event.coords.lng;\n this.getAddress(this.lat, this.lng);\n }\n\n getAddress(latitude, longitude) {\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\n if (status === 'OK') {\n if (results[0]) {\n this.fillAddress(results[0])\n } else {\n window.alert('No results found');\n }\n } else {\n window.alert('Geocoder failed due to: ' + status);\n }\n\n });\n }\n\n fillAddress(mapresult) {\n this.zoom = 15;\n let area = mapresult.formatted_address;\n //this.petUpdateForm.controls['Area'].patchValue(results[0].formatted_address)\n let place = mapresult;\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n if (this.componentForm[addressType]) {\n var val = place.address_components[i][this.componentForm[addressType]];\n\n if (addressType == \"administrative_area_level_1\") {\n this.petUpdateForm.controls['State'].patchValue(val)\n area = area.replace(val, \"\")\n\n // this.state = val;\n }\n if (addressType == \"administrative_area_level_2\") {\n this.petUpdateForm.controls['District'].patchValue(val)\n area = area.replace(val, \"\")\n\n // this.state = val;\n }\n if (addressType == \"country\") {\n this.petUpdateForm.controls['Country'].patchValue(val)\n area = area.replace(val, \"\")\n // this.state = val;\n }\n if (addressType == \"locality\") {\n this.petUpdateForm.controls['City'].patchValue(val)\n area = area.replace(val + \", \", \"\")\n // this.state = val;\n }\n if (addressType == \"postal_town\") {\n this.petUpdateForm.controls['City'].patchValue(val)\n area = area.replace(val + \", \", \"\")\n }\n if (addressType == \"postal_code\") {\n this.petUpdateForm.controls['ZipCode'].patchValue(val)\n area = area.replace(val + \", \", \"\")\n // this.state = val;\n }\n\n\n }\n }\n area = area.trim();\n let comma = area.substring(area.length, area.length - 1)\n if (comma == \",\") {\n area = area.substring(0, area.length - 1)\n }\n area = area.trim();\n this.petUpdateForm.controls['Area'].patchValue(area)\n }\n\n fileProgress(fileInput: any) {\n this.imageError = null;\n if (fileInput.target.files && fileInput.target.files[0]) {\n // Size Filter Bytes\n const max_size = 15000000;\n const allowed_types = ['image/png', 'image/jpeg'];\n const max_height = 15200;\n const max_width = 25600;\n\n if (fileInput.target.files[0].size > max_size) {\n this.imageError =\n 'Maximum size allowed is ' + max_size / 1000 + 'kb';\n\n return false;\n }\n if (!allowed_types.includes(fileInput.target.files[0].type)) {\n this.imageError = 'Only Images are allowed ( JPG | PNG )';\n return false;\n }\n\n let Content: HTMLElement = document.getElementById(\"contentNew\") as HTMLElement\n Content.click();\n this.imageChangedEvent = event;\n this.fileData = fileInput.target.files[0];\n // this.preview();\n }\n }\n\n preview() {\n // Show preview \n var mimeType = this.fileData.type;\n if (mimeType.match(/image\\/*/) == null) {\n return;\n }\n\n var reader = new FileReader();\n reader.readAsDataURL(this.fileData);\n reader.onload = (_event) => {\n this.previewUrl = reader.result;\n }\n }\n public noWhitespaceValidator(control: FormControl) {\n if (control.value && control.value.length > 0) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : { 'whitespace': true };\n }\n }\n\n // public onIsChippedChange() {\n // this.petUpdateForm.controls[\"ChipID\"].clearValidators();\n // if (this.petUpdateForm.controls.IsChipped.value == 1) {\n // this.petUpdateForm.controls[\"ChipID\"].setValidators([Validators.required, this.noWhitespaceValidator]);\n // }\n // this.petUpdateForm.controls[\"ChipID\"].updateValueAndValidity()\n // }\n scrollTo(el: Element): void {\n if (el) {\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n }\n\n scrollToError(): void {\n const firstElementWithError = document.querySelector('.ng-invalid[formControlName]');\n this.scrollTo(firstElementWithError);\n }\n\n openModal(event) {\n document.getElementById(event.currentTarget.parentElement.nextElementSibling.id).style.display = \"block\";\n }\n closeModal(event) {\n document.getElementById(event.currentTarget.parentElement.id).style.display = \"none\";\n }\n\n}\n\n","
\n
\n
\n
\n

\n {{ 'Update pet Info' | translate }}\n

\n
\n
\n
\n \n \n \n
\n \n
\n \n
\n
\n
\n
{{ imageError }}
\n
\n
{{'Pet Image is required'| translate}}
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
{{'Pet name is required' | translate}}
\n
{{'Pet name is of more then 3 char'| translate}}
\n
{{'Pet name is not more then 60 char' | translate}}
\n
{{'Space is not allowed'|\n translate}}
\n
\n
\n
\n\n
\n \n
\n \n \n
\n
{{'Species is required'| translate}}
\n
\n\n
\n
\n\n
\n \n
\n\n \n \n
\n
{{'Breed is required' | translate}}
\n
\n
\n
\n\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n\n
\n
\n\n
\n \n
\n \n Choose a date\n \n \n \n \n
\n
\n\n
\n \n \n
\n\n \n {{ 'Choose a date' | translate }}\n \n \n \n \n
\n
{{'Date Of found is required'| translate}}
\n
\n\n
\n
\n\n\n\n\n
\n \n
\n \n \n
\n
{{'Area is required'| translate}}
\n
\n
\n
\n\n\n
\n \n
\n\n \n\n
\n
{{'Space is not allowed'| translate}}
\n
\n
\n
\n\n
\n \n
\n\n \n\n
\n
{{'City is required'| translate}}
\n
{{'Space is not allowed'|\n translate}}
\n
\n
\n
\n\n
\n \n
\n\n \n\n
\n
{{'Space is not allowed'| translate}}
\n
\n
\n
\n\n
\n \n
\n\n \n\n
\n
{{'State is required'| translate}}
\n
{{'Space is not allowed'|\n translate}}
\n
\n
\n
\n
\n \n
\n \n \n
\n
{{'Country is required'| translate}}
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n
\n \n \n {{ 'Cancel' | translate }}\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n\n
\n

{{'Crop Image'| translate}}

\n \n
\n
\n
\n \n
\n
\n
{{'Preview'|translate}}
\n \n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { StaticPagesService} from '../_services';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-staticpages',\n templateUrl: './staticpages.component.html',\n styleUrls: ['./staticpages.component.scss']\n})\nexport class StaticpagesComponent implements OnInit {\n\n constructor(\n private common: StaticPagesService,\n private router:ActivatedRoute\n ) { }\n\n pageName;\n pagedata;\n aboutus;\n services;\n termsandconditions;\n privacypolicy;\n ngOnInit(): void {\n this.pageName = this.router.snapshot.routeConfig.path; \n if(this.pageName.toLocaleLowerCase().trim() == \"aboutus\") \n {\n this.aboutus=true;\n this.services=false;\n this.termsandconditions=false;\n this.privacypolicy=false;\n }\n else if(this.pageName.toLocaleLowerCase().trim()== \"services\") \n {\n this.aboutus=false;\n this.services=true;\n this.termsandconditions=false;\n this.privacypolicy=false;\n } else\n if(this.pageName.toLocaleLowerCase().trim()== \"termsandconditions\") \n {\n this.aboutus=false;\n this.services=false;\n this.termsandconditions=true;\n this.privacypolicy=false;\n } else\n if(this.pageName.toLocaleLowerCase().trim()== \"privacypolicy\") \n {\n this.aboutus=false;\n this.services=false;\n this.termsandconditions=false;\n this.privacypolicy=true;\n }\n this.GetPageStaticData(this.pageName);\n }\n\n GetPageStaticData(pageName) {\n //let DisplayName='aboutus';\n\t\t let filters = {\n \"DisplayName\":'aboutus'\n\t\t }\n\n // var data = this.common.GetPageStaticData(pageName);\n this.common.GetPageStaticData(pageName).subscribe(res =>\n {\n this.pagedata = res.data;\n });\n\t}\n\n}\n","
\n
\n\t\t
\n
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t PageContent: {{ m.PageContent }}\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t Title: {{ m.Title }}\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t TermAndCondition: {{ m.TermAndCondition }}\n\t\t\t\t\t
\n\t\t\t\t\t\t Status: {{ m.Status }}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

{{ m.Title }}

\n\t\t\t\t\t\t

{{ m.Description }}

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
","import { Component, OnInit, ViewChild, ElementRef, NgZone, EventEmitter, Input, OnChanges, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { MapsAPILoader } from '@agm/core';\nimport { AuthService } from \"angularx-social-login\";\nimport { SocialUser } from \"angularx-social-login\";\nimport { Socialusers } from '../_models';\nimport { UserService,AuthenticationService, OwnerService } from '../_services';\nimport { AppComponent } from '../app.component';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n\n@Component({\n selector: 'app-user-profile',\n templateUrl: './user-profile.component.html',\n})\n\nexport class UserProfileComponent implements OnInit {\n\n UserProfile: FormGroup;\n @Input() showPersonalInfo: boolean = false;\n constructor(\n public app: AppComponent,\n private formbuilder: FormBuilder,\n private router: Router,\n private mapsAPILoader: MapsAPILoader,\n private ngZone: NgZone,\n private authService: AuthService,\n private authenticationService: AuthenticationService,\n private UserService: UserService,\n private ownerService: OwnerService,\n private SpinnerService: NgxSpinnerService,\n ) { \n }\n submitted = false;\n showFoundSuggestion: boolean = true;\n public latitude: number;\n public longitude: number;\n public zoom: number;\n private geoCoder;\n private user: SocialUser;\n private loggedIn: boolean;\n private PersonalInfo:any;\n \n socialusers = new Socialusers(); \n currentUser;\n componentForm = {\n street_number: 'short_name',\n route: 'long_name',\n locality: 'long_name',\n administrative_area_level_1: 'short_name',\n country: 'long_name',\n postal_code: 'short_name',\n postal_town: 'long_name',\n District: 'long_name',\n State:'long_name',\n administrative_area_level_2: 'long_name'\n };\n\n\n @ViewChild('searchp')\n private searchElementRef: ElementRef;\n\n ngOnInit() {\n this.UserProfile = this.formbuilder.group({\n FirstName: ['',[Validators.required,this.noWhitespaceValidator]],\n LastName: [''],\n EmailID: ['', [Validators.required,this.noWhitespaceValidator]],\n Address: [''],\n ZipCode: [''],\n City: [''],\n District: [''],\n State: [''],\n Country:[''],\n ContactNumber: ['', [Validators.required,this.noWhitespaceValidator]],\n GDPRUserStatus: [],\n Provider:[],\n });\n this.currentUser = this.authenticationService.currentUserValue; \n \n if(this.currentUser){\n \n this.UserService.getUserByEmailID(this.currentUser.EmailID,this.currentUser.Provider).subscribe(res => {\n this.PersonalInfo = res.data;\n\n this.UserProfile.controls['FirstName'].patchValue(this.PersonalInfo.FirstName)\n this.UserProfile.controls['LastName'].patchValue(this.PersonalInfo.LastName)\n this.UserProfile.controls['EmailID'].patchValue(this.PersonalInfo.EmailID)\n this.UserProfile.controls['ContactNumber'].patchValue(this.PersonalInfo.ContactNumber)\n if(this.PersonalInfo.Address){\n this.UserProfile.controls['Address'].patchValue(this.PersonalInfo.Address)\n this.UserProfile.controls['ZipCode'].patchValue(this.PersonalInfo.Zipcode)\n this.UserProfile.controls['City'].patchValue(this.PersonalInfo.City)\n this.UserProfile.controls['District'].patchValue(this.PersonalInfo.District)\n this.UserProfile.controls['State'].patchValue(this.PersonalInfo.State)\n this.UserProfile.controls['Country'].patchValue(this.PersonalInfo.Country)\n }\n /*\n else{\n //Easy Connect\n this.SpinnerService.show();\n if(this.PersonalInfo.ContactNumber){\n this.ownerService.getUserDetailByPhone(this.PersonalInfo.ContactNumber).subscribe(resp => {\n \n\t\tif(resp.Data.IsSuccess){\n this.UserProfile.controls['Address'].patchValue(resp.Data.fullstreet)\n this.UserProfile.controls['ZipCode'].patchValue(resp.Data.zip)\n this.UserProfile.controls['City'].patchValue(resp.Data.city)\n this.UserProfile.controls['District'].patchValue(resp.Data.district)\n this.UserProfile.controls['State'].patchValue(resp.Data.state)\n this.UserProfile.controls['Country'].patchValue(resp.Data.country)\n }\n \n });\n }\n this.SpinnerService.hide();\n }\n */\n });\n }\n //load Places Autocomplete\n this.mapsAPILoader.load().then(() => {\n this.geoCoder = new google.maps.Geocoder;\n\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\n types: []\n });\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n // Get each component of the address from the place details,\n // and then fill-in the corresponding field on the form.\n this.UserProfile.controls['Address'].patchValue(place.formatted_address);\n\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n if (this.componentForm[addressType]) {\n var val = place.address_components[i][this.componentForm[addressType]];\n \n if (addressType == \"locality\") { \n this.UserProfile.controls['City'].patchValue(val)\n }\n if(addressType == \"postal_town\"){\n this.UserProfile.controls['City'].patchValue(val)\n }\n if (addressType == \"postal_code\") { \n this.UserProfile.controls['ZipCode'].patchValue(val)\n }\n if (addressType == \"administrative_area_level_1\") {\n this.UserProfile.controls['State'].patchValue(val)\n }\n if (addressType == \"administrative_area_level_2\") {\n this.UserProfile.controls['District'].patchValue(val)\n }\n if (addressType == \"country\") {\n this.UserProfile.controls['Country'].patchValue(val)\n }\n }\n }\n\n //set latitude, longitude and zoom\n this.latitude = place.geometry.location.lat();\n this.longitude = place.geometry.location.lng();\n this.zoom = 12;\n });\n });\n });\n\n\n }\n @Output() onPosted = new EventEmitter();\n @Output() onHide = new EventEmitter();\n get e() {\n return this.UserProfile.controls;\n }\n \n onSubmit() {\n debugger;\n this.submitted = true; \n // console.log(this.UserProfile.value);\n if (this.UserProfile.invalid) {\n this.scrollToError();\n return;\n } \n this.UserProfile.value.Provider = this.PersonalInfo.Provider;\n // this.onPosted.emit(this.UserProfile.value) \n this.UserService.UpdateUserInfo(this.UserProfile.value).subscribe(Response =>{\n alert(\"User Info Updated Sucessfully !!!\");\n });\n }\n getDetailByPhone(){\n let phone = this.UserProfile.controls['ContactNumber'].value;\n let address = this.UserProfile.controls['Address'].value;\n \n if(phone != '' && address == ''){\n this.SpinnerService.show();\n \n this.ownerService.getUserDetailByPhone(phone).subscribe(resp => {\n if(resp.Data.IsSuccess){\n this.UserProfile.controls['Address'].patchValue(resp.Data.fullstreet)\n this.UserProfile.controls['ZipCode'].patchValue(resp.Data.zip)\n this.UserProfile.controls['City'].patchValue(resp.Data.city)\n this.UserProfile.controls['District'].patchValue(resp.Data.district)\n this.UserProfile.controls['State'].patchValue(resp.Data.state)\n this.UserProfile.controls['Country'].patchValue(resp.Data.country)\n }\n \n });\n this.SpinnerService.hide();\n \n }\n \n }\n public noWhitespaceValidator(control: FormControl) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : { 'whitespace': true };\n}\n\nscrollTo(el: Element): void {\n if (el) {\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n}\n\nscrollToError(): void {\n const firstElementWithError = document.querySelector('.ng-invalid[formControlName]');\n this.scrollTo(firstElementWithError);\n}\n\n}\n","
\n
\n
\n

{{'User Profile'|translate}}

\n
\n
 
\n
\n
\n
\n \n
\n \n
\n \n
\n \n
\n
{{'Name is required'|translate}}
\n
{{'Name is of more then 3 char'|translate}}
\n
{{'Name is not more then 60 char'|translate}}
\n
{{'Space is not allowed'|translate}}
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
{{'Email is required'|translate}}
\n
{{'Please Enter a valid Email-ID'|translate}}
\n
{{'Space is not allowed'|translate}}
\n
\n
\n
\n \n
\n \n
\n \n
\n
{{'Phone Number is required'|translate}}
\n
{{'Phone Number is of more then 5 char'|translate}}
\n
{{'Phone Number is not more then 10 char' |translate}}
\n
{{'Space is not allowed'|translate}}
\n
\n
\n
\n\n
\n \n
\n\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n

{{'Please Wait.'|translate}}

\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 production: false,\r\n //apiUrl : \"http://localhost:51679/api\",\r\n apiUrl : \"https://apilostfound.staging.dyreid.no/api\",\r\n apiUrlM : \"https://api.dyreid.no/api/Owner/GetListCount\",\r\n DailyRegisterPetsCount :\"https://api.dyreid.no/api/Pet/GetAllPetsCount?OnlyActivePet=true\",\r\n //apiUrlM : \"https://idygoapi.dyreidentitet.no/api/Owner/GetListCount\", \r\n apiBaseUrl : \"https://apilostfound.staging.dyreid.no\",\r\n // apiBaseUrl : \"http://localhost:4200\",\r\n getCountryDropdown : \"/Common/GetCountryList\",\r\n getSpeciesDropDown : \"/Common/GetSpeciesDropDown\",\r\n getBreedsDropDown : \"/Common/GetBindSpeciesBreed\",\r\n GetPageStaticData : \"/Common/GetPageStaticData\",\r\n IsChipIDExists : \"/Common/IsChipIDExists\",\r\n //GetChipInfo : \"http://localhost:52470/api/Owner/GetChipInformation\",\r\n GetChipInfo : \"https://api.staging.dyreid.no/api/Owner/GetChipInformation\",\r\n AddUpdateLogInUser: \"/LoginAccount/AddUpdateLogInUser\",\r\n CompanyUserLogIn:\"/LoginAccount/CompanyUserLogIn\",// for company users login.\r\n GetLostFoundPetsListPartial: \"/LostFoundPetDetails/GetLostFoundPetsListPartial\",\r\n AddUpdateLostFoundPetDetails: \"/LostFoundPetDetails/AddUpdateLostFoundPetDetails\",\r\n GetLostFoundPetsListPartialFields: \"/LostFoundPetDetails/GetLostFoundPetsListPartialFields\", // this api with filters\r\n GetLostFoundPetsList: \"/Pet/GetLostFoundPetsImagesUpladedByOwners\",\r\n GetLostFoundPetsFilterList: \"/LostFoundPetDetails/GetLostFoundPetsFilterList\",\r\n GetLostFoundPetsListForHomePage: \"/LostFoundPetDetails/GetLostFoundPetsListForHomePage\",\r\n GetLostFoundPetDetailsByID: \"/LostFoundPetDetails/GetLostFoundPetDetailsByID\",\r\n UpdateUserInfo:\"/UserDetails/UpdateUserInfo\",\r\n UpdatePetInfo:\"/LostFoundPetDetails/UpdatePetInfo\",\r\n GetUserByEmailID : \"/LoginAccount/GetUserByEmailID\",\r\n GetOwnerAuthToken: \"/Owner/GetAuthToken\",\r\n GetOwnerPetList: \"/Owner/GetOwnerPetList\",\r\n //urlMinsideLogin : \"http://localhost:59605/Security/Login?ReturnUrl=%2f&lostfound=1\",\r\n urlMinsideLogin : \"https://minside.staging.dyreidentitet.no/Security/Login?ReturnUrl=%2f&lostfound=1\",\r\n //lostFoundBaseUrl : \"http://localhost:4200/\",\r\n lostFoundBaseUrl : \"https://lostfound.staging.dyreid.no/\",\r\n //apiUrlMinside : \"http://localhost:52470/api\",\r\n apiUrlMinside : \"https://api.staging.dyreid.no/api\",\r\n GetLostFoundPetsListByUser : \"/LostFoundPetDetails/GetLostFoundPetsListByUser\",\r\n MarkPetasReunited : \"/LostFoundPetDetails/MarkPetasReunited\",\r\n GetPetSuggestionbyLostFoundId : \"/LostFoundPetDetails/GetReportedPetSuggestion\",\r\n RemoveReportedPet : \"/LostFoundPetDetails/RemoveReportedPet\",\r\n GetOwnerDetailEasyConnectAPI: 'https://api.dyreid.no/api/Owner/GetDetailByPhoneNumber',\r\n // GetReportedPetsCount :'/LostFoundPetDetails/GetReportedPetsCount',\r\n // GetReportedPetsCountMap :'/LostFoundPetDetails/GetReportedPetsCountMap',\r\n //GetProxyApi:'https://cors-anywhere.herokuapp.com/',\r\n GetLostFoundPetsListCountByUser :'/LostFoundPetDetails/GetLostFoundPetsListCountByUser',\r\n GetPetsForLandingPage:'/LostFoundPetDetails/GetPetsForLandingPage',\r\n GetLandingPageLostPets : '/LostFoundPetDetails/GetLandingPageLostPets',\r\n GetLandingPageFoundPets : '/LostFoundPetDetails/GetLandingPageFoundPets',\r\n GetLostPetsForLandingPage:'/LostFoundPetDetails/GetLostFoundPetsForLandingPage?OperationTypeID=1',\r\n GetFoundPetsForLandingPage:'/LostFoundPetDetails/GetLostFoundPetsForLandingPage?OperationTypeID=2',\r\n GetAllPetsForLandingPage:'/LostFoundPetDetails/GetLostFoundPetsForLandingPage?OperationTypeID=3',\r\n placeholderImg : 'https://socialistmodernism.com/wp-content/uploads/2017/07/placeholder-image.png'\r\n};\r\n\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 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"]}