{"version":3,"mappings":"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KAAKF,GAAGqD,YAAY9B,EAAI+B,SACxBpD,KAAKmyB,UAAUrS,QAEf9f,KAAKF,GAAGwD,UAAUjC,EAAI+B,4DAxarB6uB,GAA0BvyB,0TAA1BuyB,EAA0B5vB,6kFDhBvC3C,sCACEA,sCACEA,sCACEA,sCACEA,sCACEA,wCACAA,wCACFA,2BACFA,2BACFA,2BACAA,yCACEA,sCACEA,uCACEA,wCACEA,0CACEA,0DACFA,2BACAA,wCACEA,0CAA0CA,8EAA1CA,2BACFA,2BACAA,yCAGFA,2BACFA,2BACAA,uCACEA,wCACEA,wCACEA,uCAAOA,0DAA0BA,2BACjCA,2CAAkCA,kFAChCA,2CAAkBA,6BAAGA,2BACrBA,2CAAkBA,8BAAIA,2BACtBA,2CAAkBA,iCAAOA,2BAC3BA,2BACFA,2BACFA,2BACFA,2BACFA,2BACAA,uCACEA,wCACEA,wCACEA,0CACEA,0DACFA,2BACAA,wCACEA,6CAAwCA,sFAAwEA,2BAClHA,2BACAA,yCAGFA,2BACFA,2BACFA,2BACAA,uCACEA,wCACEA,wCACEA,wCACEA,0CACEA,0DACAA,oEACFA,2BACAA,wCACEA,0CAA6EA,+EAA7EA,2BACFA,2BACFA,2BACFA,2BACFA,2BACFA,2BACAA,uCACEA,wCACEA,wCACEA,wCACEA,0CACEA,0DACFA,2BACAA,wDACAA,mDAAU6D,sBAAV7D,CAAkC,qCAAlCA,CAAkC,8CAAlCA,CAAkC,6BAItB,IACZA,2BACFA,2BACFA,2BACAA,2CAcAA,mCAUFA,2BACFA,2BACAA,uCACEA,uCACEA,wCACEA,wCACEA,uCAAOA,0DAA0BA,2BACjCA,wDACAA,6DAAiB,yCAAjBA,CAAiB,6BAGL,IACZA,2BACFA,2BACFA,2BACFA,2BACAA,uCACEA,wCACEA,wCACEA,0CACEA,0DACAA,oEACFA,2BACAA,wCACIA,0CAAwCA,0DAAiB6D,oBAAzD7D,2BACJA,2BACFA,2BACFA,2BACFA,2BACFA,2BACAA,uCACEA,uCACEA,wCACEA,6CAAmBA,mDAAU6D,uBAA7B7D,2BACAA,uCACEA,0DACAA,oEACAA,yCAAoCA,iDA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","names":["M","ie","Ce","i0","EventListingComponent","constructor","activeRoute","cS","hS","this","environment","params","subscribe","data","groupId","slug","currentPage","userDetail","getUserDetails","userId","id","ngOnInit","checkRouterUrlForCallingAPI","getEventList","site_id","page","limit","perPageList","postJson","getEventsList","res","status","eventsList","totalEventsCount","total","countCollectionSize","collectionSize","Math","ceil","first","last","length","noData","undefined","scrollTop","getNextPageBusinessList","selectors","CommentModalComponent","activeModal","httpS","commentModel","post_id","newsId","comment","public_post_comment_id","replyCommentId","type","onSubmit","isSubmit","post","showSuccess","message","dismiss","showError","ctx","NewsDetailsComponent","modalService","deviceService","homeService","datePipe","BehaviorSubject","userVisitCount","asObservable","navigator","window","currentFullUrl","location","href","title","ge","newsDetailsModel","name","seoURL","seoPageUrl","share","url","text","console","log","err","isMobile","newsSlug","getNewsDetailsBySlug","returnRedirectUrl","openShareOptions","content","open","windowClass","result","then","reason","shareOnFacebook","shareOnTwitter","shareOnLinkedIn","checkScroll","isShow","pageYOffset","document","documentElement","body","topPosToStartShowing","gotoTop","scroll","top","left","behavior","ImageModal","getComments","getNewsCommentsListByNewsId","news_id","newsDetails","relatedNewsList","relatedNews","commentList","comments","checkUserDetails","created_at","newCreatedDate","Date","toLocaleDateString","transform","checkAuth","loadCommentComponent","modalReference","componentInstance","onReturnRedirect","remove_sessionStorage","STORAGE_USER_KEY","visitCount","sessionStorageData","get_sessionStorage_json","session_data","sessionData","set_sessionStorage","next","key","check_sessionStorage_Exists","sessionStorage","JSON","parse","getItem","value","set_sessionStorage_json","setItem","stringify","removeItem","onWhatsAppBtn","AddBusinessComponent","fb","router","mS","agentStatus","RegBusinessForm","group","Validators","mobile","email_id","CustomValidators","address","description","userDetails","successFul_registration","agentSub","getAgentStatus","isAgent","isAgentVal","getData","patchValue","country_code","phone","isBusinessRegister","ngOnDestroy","unsubscribe","registerBusiness","skipBusinessReg","submitDetails","valid","apiUrl","splitVal","split","paramConfig","latitude","lateLongobj","longitude","businessModel","is_Register","business_approved","business_id","business_name","business_slug","business_slag","setBusinessRegiFlag","setRegisterbusiness","setBusinessDetailUpdate","markAsTouched","skipped","navigate","placeChanged","place","geometry","lat","lng","formatted_address","AgentBusinessListComponent","routerLink","sort_slug","navigateByUrl","getBusinessListForAgent","agent_id","BusinessList","totalBuinessCount","businessesTotalCount","viewBusiness","m","c","PostComponent","postType","FormData","localStorage","loop","dots","nav","items","margin","startPosition","headers","HttpHeaders","postForm","category","externallink","user_id","fun","owlElement","clickout","event","cityIsShow","srcElement","getAllPost","getCategoryDetail","get","categories","keywords","getAddressDetail","getAddressMaster","cities","cityLocations","scrollHandler","winScroll","scrollY","innerHeight","scrolled","scrollHeight","lastPage","totalPostCount","pageSize","currentPosition","isPostLoading","isScroll","selectedType","near_by","postDetailId","posts","isPostNotExist","editPostByPostId","images","deleteImageIds","filePostImages","postFormData","postId","categoryName","messageValue","externalLink","external_link","postImages","deleteImages","size","deletePostByPostId","Swal","confirmButtonText","cancelButtonText","showCancelButton","showCloseButton","reverseButtons","loadReportPostComponent","ReportBusinessModalComponent","handleLikePost","target","classList","contains","remove","add","navigateTo","handleSharePost","setTimeout","getElementById","click","openSm","reset","cityName","selectedCity","city_search_location","closeResult","close","submitpost","editPost","append","x","Object","keys","controls","postUpload","onSelectFile","srcEle","filesAmount","files","i","checkValidImage","readURL","input","self","reader","FileReader","onload","push","readAsDataURL","deletePostImages","index","splice","sharingUrl","repoUrl","sharingTitle","encodeURIComponent","centered","openVerticallyCentered","postImage","slideIndex","find","customOptions","cityShowLocationDropDown","citySelectLocation","cityLocation","city_search_text","cityFilterLocation","filter","item","toLowerCase","indexOf","TrimstrPipe","args","parseInt","substring","pure","BusinessDetailComponent","meta","urlLang","lang","getLang","Ge","DOMParser","parseFromString","businessDescription","textContent","imageUrl","businessImageUrl","blob","fetch","file","File","businessDetail","selectedIndex","selectedServiceIndex","selectedImageItemIndex","isRajput","isUserRajput","isUserHasBusiness","getBusinessDetailBySlug","showAgent","businessClaimForm","set","categoryId","updateTag","descriptions","owners","image_url","businessImages","business_images","assetTypeId","asset_type_id","businessUserId","totalRatingCount","rating","isPageLoaded","image_name","parent_categories","category_id","schema_json","generateEntitySchema","getSubAssetTypeFields","getAddedOnlineStores","start_5","round","start_5_rating","start_4","start_4_rating","start_3","start_3_rating","start_2","start_2_rating","start_1","start_1_rating","getNextPageRatingList","resSchemaJson","schemaJson","openImageViwer","activeId","assetTypeFieldsModel","openProductDetail","product_id","getProductDetailByProductId","productDetail","openServiceDetail","service_id","getServiceDetailByServiceId","serviceDetail","addReviewAndRating","review","submitRatingDetail","trim","reviewValid","currentRate","error","loadReportBusinessComponent","entityId","addEnquiryForBusiness","enquiryForm","submitEnquiryDetail","getBusinessRating","allRatings","reviews","openBusinessDescription","openAllCategories","changeEvent","changeTitleEvent","validDescription","validForm","onBusinessClaim","onFileChange","attachedFileName","checkValidDocSize","isBusinessClaimValid","onBusinessClaimsubmit","isBusinessAlreadyClaim","viewOwnerData","ownerId","owner_id","btoa","queryParams","queryParamsHandling","getBusinessOnlineStores","businessStoresList","onStoreClick","onTabClick","tabName","tab","textLabel","isPostView","BusinessListComponent","activeUrlArray","snapshot","user_lat","user_long","activeUrl","path","businessMarkers","center_lat","getNetworkLatLong","sortBy","radius","center_long","getPromotedBusinessListing","getRecentlyAddedBusinessListing","getPopularBusinessList","getInvestmentOpportunityList","getPremiumBusinessListing","getBusinessListByCategory","category_slug","businesses","showBusinessOnMap","hasOwnProperty","clicked","marker","pos","business_title","business_address","markerEvent","nguiMapComponent","openInfoWindow","filtername","BusinessOwnerDetailComponent","atob","getOwnerInformation","ownerInfo","gender","date","dob","year","month","day","cancelEditOwner","back","online_stores","Array","BusinessProfileComponent","httpService","eRef","OnlineStoresModel","isRequired","business_working_hours","options","isOpen","startTime","startMeridies","endTime","endMeridies","FormControl","addBusinessForm","parent_category","establishment_year","website_url","facebook_url","twitter_url","linkedin_url","instagram_url","timezone","tag","street_address","locality","country","state","city","taluka","district","pincode","location_id","timezoneSearch","metatags","business_activities","array","working_hours","addProductForm","cost","addServiceForm","showExtraFields","businessData","getBusinessDetail","Ke","resetForm","patch","getTimezone","nativeElement","className","n","isTimeZoneShow","valueChanged","newVal","metaTags","selectedTags","setValue","changeStartMeridies","meridies","isStartOrEnd","fields","business_address_auto","addressChanged","checkboxChange","control","forEach","patchValues","addActivity","activityEditFlag","businessActivityArray","activity_title","operation","editActivity","deleteActivity","deletedBusinessActivity","getOnlineStoresLists","countries","states","isFirstLoad","business_category","hoursOperation","open_close","SD","start_time","ED","end_time","toUpperCase","businessCategory","category_hierarchy","getAllCategory","getSelectedChildCategory","parent_category_id","email","full_address","locationSearch","year_of_establishment","website","social_profiles","business_logo","timezoneArr","search","setBusinessName","triggerUpload","base64BusinessImages","userProfileRef","e","uploadProfilePic","businessImagesFormData","uploadImage","deleteBusinessImage","changeCategory","flag","selectedName","getSubCategoryLists","saveBusinessCategory","sub_category_ids","finalSelectedCategoryIds","toString","tempSelectedCategoryIds","selectedBusinessCategoryLists","onCategoryCancel","element","sub_category","element1","getCategoryMetatags","parentCategoryId","getSubCategoryListByParentCategoryId","grandChilds","subCategoryLists","onChange","checked","removeCategory","chooseCategory","subCat","str","subCategory","substr","getSubcategory","obj","paramObj","editBusinesscategory","addExitOwnerData","deleteOwnerData","addNewProduct","addProductFlag","base64ProductImages","productImagesArr","hideProductSection","saveProduct","productImagesFormData","products","product_images","image_thumbnail","triggerProductImage","productImageRef","uploadProductPic","readProductURL","addNewService","addServiceFlag","base64ServiceLogo","hideServiceSection","saveService","serviceImagesFormData","services","thumb_logo","serviceIndex","triggerServiceImage","serviceImageRef","uploadServicePic","readServiceURL","removeService","removeProduct","editProduct","editService","getMenuCategoryListing","mainCategory","getCategoryIds","categoryIds","onSubmitEditBusiness","removeControl","hoursUpdated","filedObj","hours","mon_open_close","mon_start_time","mon_start_time_am_pm","mon_end_time","mon_end_time_am_pm","tue_open_close","tue_start_time","tue_start_time_am_pm","tue_end_time","tue_end_time_am_pm","wed_open_close","wed_start_time","wed_start_time_am_pm","wed_end_time","wed_end_time_am_pm","thu_open_close","thu_start_time","thu_start_time_am_pm","thu_end_time","thu_end_time_am_pm","fri_open_close","fri_start_time","fri_start_time_am_pm","fri_end_time","fri_end_time_am_pm","sat_open_close","sat_start_time","sat_start_time_am_pm","sat_end_time","sat_end_time_am_pm","sun_open_close","sun_start_time","sun_start_time_am_pm","sun_end_time","sun_end_time_am_pm","businessProfilePic","cancelEditBusiness","allTimezoneArr","changeTimeZone","removeMetaTags","openHelpPopup","removeImage","image_id","product_image_id","removeProductImage","showTimeZoneDropDown","filterTimeZone","selectTimeZone","triggerLogoUpload","businessLogoRef","readLogoURL","uploadBusinessLogo","imageChangedEvent","imageCropped","image","croppedImage","imageLoaded","loadImageFailed","sendCropImage","block","base64","contentType","realData","b64toBlob","numberOnly","charCode","which","keyCode","addNewStore","isAddNewStore","onlineStoreModel","addStoresRow","getOnlineStore","onlineStoresList","storeChange","deleteStoreRow","tempData","onCancelStoreForm","saveStores","f1","editStore","map","isSelected","getLocationByPinCode","locationsList","isLocationNotFound","BusinessSearchComponent","_message","sort","q","search_text","search_city","setBusinessSearchText","getSearchBusinessList","openFilter","$","addClass","css","closeFilter","removeClass","searchText","take","getSearchBusinesses","convertToLowerCase","entity_type","CreateInvestmentOpportunityComponent","CreateMarketplaceComponent","formBuilder","_location","ads_type","price","video_link","displayKey","myform","FormGroup","Name","AdsType","Description","Price","Category","City","Location","VideoUrlArr","updateOn","editData","isEdit","formData","advertisement_images","uploaedImages","categoryArr","y","categoryIdArr","selectedCategoryArr","parent_name","advertisement_videos","allCategoryArr","allCities","arr","changeSelection","onChangeCheckbox","findIndex","onRemoveSelection","isSelectedChange","fileAdsImages","adsImagesFormData","image_ids","deletedImagesArr","advertisement_id","base64AdsImages","adsImagesRef","uploadAdsimages","deleteAdsImage","addNewVideoURL","onRemoveVideoUrl","removeAt","onCancelClick","onCreateNewAds","submitted","invalid","isBlank","parentCategoryIdArr","onCloseAd","HomePostComponent","autoplay","responsive","gethighlights","handleChangeTab","appName","confirmButtonColor","highlightservice","highlights","viewAllPost","loadGroupPostLikedSharedTaggedUsersListModalComponentForLiked","GroupPostLikedSharedTaggedUsersListModalComponent","loadType","loadGroupPostLikedSharedTaggedUsersListModalComponentForShared","generateImage","getBase64ImageFromURL","base64data","base64Image","link","createElement","appendChild","setAttribute","Observable","observer","img","Image","crossOrigin","src","complete","getBase64Image","onerror","canvas","width","height","getContext","drawImage","dataURL","toDataURL","replace","modal_r177","HomeDashboardComponent","activateRouter","auth","phoneno","EventEmitter","small","medium","big","owner_name","bussiness_name","isSuccessfullyRegister","events","val","isPostDetailPage","homeSearchText","home_search_location","homeIsShow","lastVisit","today","toISOString","slice","screenWidth","innerWidth","getnewsLists","getBrandingData","isRegister","isSkipped","isBusinessRegisterSkipped","currentMessage","getHomeAddressDetail","getTrendingServiceListing","getTrendingCategorieListing","showHomeSlider","hideSearchAndLocationFilters","isDesktopDevice","isDesktop","deviceInfo","getDeviceInfo","generateMobileAppSchema","matchMedia","matches","initialHomeSlider","destroyHomeSlider","owlCarousel","navText","trigger","onResize","homeLocations","homeAllLocations","homeShowLocationDropDown","validBusinessTitle","businessForm","validName","validPhoneNo","validCity","addContentForBusiness","businessType","submitBusinessDetail","mobile_number","homeFilterLocation","getChildLocationSearchValue","homeSelectLocation","homeLocation","home_search_text","homeSearchBusinessByCategory","home_auto_select_value_name","homeSearchBusiness","isLangaugeShow","ngAfterViewInit","homeSearh","getCategoriesLists","getBusinessAndTopPlacesLists","fromEvent","homeSearchInput","pipe","debounceTime","distinctUntilChanged","getSearchAutocomplete","getDevicePlatform","appDownloadUrl","operatingSystem","device","applicationCategory","contentRating","author","offers","priceCurrency","availability","aggregateRating","ratingValue","ratingCount","menuCategories","categoriesArr","trendingServicesList","trendServiceArr","trendingCategoryList","trendCategorieArr","trendingCategoriesLists","newslist","entity_types","updateBusinessUrls","updateTopPlacesUrls","updateTopPlaceDescription","updateSponserBusinessDescription","businessAndTopPlacesLists","responseData","business","recentlyAddedBusinessArr","recentlyAddedBusinessList","promotedBusinessList","promotedBusinessArr","investmentOpportunityList","investmentOpportunityArr","ariaLabelledBy","getDismissReason","ModalDismissReasons","popularBusinessList","popularBusinessArr","getNearByBusinessesList","saveParentCategory","category_name","parentCategoryList","setParentCategory","saveParentCategories","brandingimage","redirecthistorys","showInfo","redirectjob","redirectbusiness","redirectshiksha","showCategory","isBusiness","premiumBusinessList","premiumBusinessArr","getLifeTimeMemberList","memebersList","HomeComponent","InvestmentOpportunityDetailComponent","hmS","idea_id","getInvestmentDetailBySlug","idea_slug","investmentDetail","interestForm","isInterest","interest_flag","openVideoViwer","videoActiveId","openShowInterest","submitInterestDetail","r","InvestmentOpportunityComponent","min_price","minPrice","max_price","maxPrice","myInvestment","getInvestmentOpportunity","getProfile","isVendor","userProfile","InvestmentList","totalInvestmentCount","investment_count","getNextPageInvestmentOpportunity","contentShow","getMyInvestmentInterestList","getInvestmentFilters","investmentFilter","min_amount","from","max_amount","to","isFilter","myOnChange","applyFilter","interestsOpportunity","myOppoShow","investmentOpportunity","myOpportunity","MarketPlaceDetailComponent","userData","adsID","getMarketPlaceDetailData","contentInterest","msgText","marketPlaceDetailData","getMarketPlaceDetail","_adID","myArr","z","subCategoryArr","interest","allIntrestData","getNextPageIntrestList","dateDiff","timestamp","d","abs","getTime","s","week","hour","minute","second","floor","diffStr","totalIntrestCount","totalCount","deleteResponses","responceID","interest_id","editads","gotomessageDetail","thread_id","MarketPlaceComponent","filterData","adsType","market","contentcreatemarket","adType","getMarketPlaceList","MarketPlaceList","ads","getNextPageMarketPlaceList","gotoMarketDetail","adId","checkSpecificTab","MembershipPlanComponent","aS","langRef","isLoggedIn","getCurrentMembershipPlan","isPlanActive","getMembershipPlans","isCurrentPlan","currentMembershipPlan","membershipPlansList","isApply","isPendingRequest","showPlans","showPlan","selectMembershipPlan","plan","selectedPlanDetail","submitSubscribePlan","closeSuccesssPopup","MyBusinessDetailComponent","Z","ze","updateMetaTag","seo_meta_tags","seo_meta_description","MyCartComponent","doPayment","plan_id","paymentuplink","payment_status_up_link","MyInvestmentOpportunityDetailComponent","allInterest","interests","totalInerestCount","MyvillageComponent","PaymentSuccessfulComponent","activatedRoute","productid","doPaymentOrderDone","payment_order_id","RaktaveerComponent","SurveyComponent","routes","component","children","YuvamitraComponent","EntityListingComponent","canActivate","AuthGuard","canLoad","canActivateChild","HomeRoutingModule","RouterModule","HomeModule","ImageCropperModule","OwlModule","SharedModule","PerfectScrollbarModule","CommonModule","CarouselModule","NgbModule","NgxJsonLdModule","GroupJobsListingComponent","getJobsList","searchBusiness","searchBusinessByCategory","jobsList","totalJobsCount","jobCreatedById","getJobsAutoCompleteList","onJobDelete","swal","delteJob","tempModel","job_vacancy_id","pe","entityType","checkSorting","onSorting","sortType","navigateToPage","AddOwnerComponent","route","configDP","childrenArray","social_activities","socialActivityArray","delete_children","deletedChildrenArray","delete_activities","deleteSocialActivityArray","addOwnerForm","full_name","designation","father_name","native_village","maternal_home","kul_gotra","minDate","maxDate","getFullYear","getMonth","getDate","showDropDown","label","public_access","getCountryCode","countryCodes","country_img","country_flag","userProfilePic","photo_original","addChild","childEditFlag","children_name","addSocialActivity","socialEditFlag","editSocialActivity","editChildActivity","deleteSocialActivity","deletedOwnerInfo","deleteChild","onSubmitAddOwner","social_links","ownerFormData","selectCountry","countryObj","selectCountryCode","isPhotoSelect","_r7","oldPwd","NotSameAsOld","oldPassword","newPassword","validators","ChangePasswordComponent","fB","cgPasswordForm","confirmPassword","statusAlert","field","onlySelf","UserProfileComponent","profileForm","personal","personalDetailForm","notification","submitDetail","personalVal","setProfile","setUserDetails","setProfileData","profile_pic_thumbnail","setProfilePic","getdobModelVal","splitString","stringToSplit","Seperator","userProfileImageRef","cancelUserProfile","_r4","UserComponent","redirectTo","pathMatch","UserRoutingModule","UserModule","provide","PERFECT_SCROLLBAR_CONFIG","useValue","imports","FormsModule","GroupJoinVerificationModalComponent","verificationModel","security_code","dynamic_field_value","ctx_r18","getLikedUsersList","userListModel","usersList","getPostLikedUsersList","totalsUserCount","getReportReasonLists","reportReasonModel","reason_id","getReasonsByEntityTypeByAssetsId","reasonsList","selected","submitReason","apiPath","entity_id","authService","returnUrl","childRoute","factory","visibility","logo","is_enable_request","is_security_code","is_post_moderate","is_agree","dynamic_field_label","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","wheelPropagation","TranslateModule","ReactiveFormsModule","ApiResolver","resolve","parentCategory","paramMap","AuthService","redirectUrl","getToken","authToken","setToken","token","setLoggedIn","logout","clearStorage","redirectToLogin","checkTypeAuth","CommonService","toastr","messageSource","updateLatLong","long","business_flag","setLang","redirectLink","match","success","info","setData","triggerValidation","Fg","b64Data","sliceSize","byteCharacters","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","HomeService","hC","loadMore","getBaseUrl","protocol","hostname","port","getPrivacyPolicyRYC","getPrivacyPolicyMRC","HttpHeaderOptions","getGroupsList","getNewsList","getNewsDetails","getSubCategory","getApplicantUsersListByJobVacancyId","getMyGroupsList","getEventAttendeesListByEventId","generateQrCodeByBusinessId","getEntityKnowMore","getEntityInOtherLang","getEntityCustomDetails","getFilterEntitiesForNearBy","getEntityNearBy","getVideoLists","getVideoById","getGroupDetailsById","getTemplateDetailsById","getJobDetailsById","getEventDetailsById","getGroupMemberById","getGroupMemberICardById","getGroupJoinRequestMembersListById","getPublicBusinessDetailBySlug","getPublicTemplateDetailBySlug","getPublicProductDetailByProductId","getPublicServiceDetailByServiceId","getPublicBusinessRating","getPublicWebsiteReviews","getGroupsAutoCompleteList","jobApplicantsAutoSuggestion","getGroupMemberAutocomplete","getGroupMemberRoleLists","getGroupPrivacysList","getGroupDesignationsListByGroupId","getCityLists","getSearchLocationList","getGroupTemplatesList","getGroupTemplateDetailsByTemplateId","getSubAssetByAsset","latlog","loc","getBusinessApproved","getNotificationList","getEventCategoryList","HttpService","httpClient","catchError","handleError","httpOptions","mimeType","Authorization","ErrorEvent","Promise","reject","MessageService","Subject","loginSubject","getLoggedIn","registerBusinessSub","getRegisterbusiness","getBusinessDetailUpdate","businessres","setSpinner","spinnerSub","getSpinner","userProfileSub","setAgentStatus","isAgentSub","getParentCategory","businessResponse","getBusinessName","getBusinessSearchText","setMessageCount","messageCount","getMessageCount","setIsLandingPage","isLanding","getIsLandingPage","production","RYEC_API_URL","RYEC_SHARE_URL","NDA","GOOGLE_MAP_API","BUSINESS_LIST_LIMIT","USERS_LIST_LIMIT","LOCATION_RADIUS","DESCRIPTIO_TRIM_LENGTH","API_SECURITY_KEY","RESEND_OTP_TIME","APPLICATION_ID","APP_NAME","TITLE","gTagManagerId","MessagesComponent","ref","loggedUserId","onScroll","$event","Error","ngAfterViewChecked","scrollToBottom","chatDrawer","isConversionOpened","scrollToTop","getThreadListForChat","interval","clearInterval","messageArr","tempMsg","threadList","unread_count","isMoreThread","getThreadMessages","setInterval","loadPrevious","loadPreviousMessage","messagePageNumber","loadPreviousData","threadId","isMoreMessage","conversionList","ind","messages","myFormattedDate","DatePipe","unshift","detectChanges","R","D","myScrollContainer","_a","directiveRef","_b","oe","K","_c","_d","openChatWindow","sendMessage","message_text","posted_by","now","gotoAdsOrBusiness","customer_business_id","customer_business_slug","NewslistComponent","sortingType","newsList","breakingNewsList","featuredNewsList","forYou","myGroupsList","totalGroupsCount","onSortTypeChange","isAtoZShow","isZtoAShow","onJoinGroup","loadGroupVerificationModalComponent","joinLeaveGroup","onCancel","reqType","groupName","dynamicExtraFieldLabel","NotFoundPageComponent","NotificationsListComponent","isApproved","memberShipPlan","membership_type","notifications","NotificationList","totalNotificationCount","notificationsCount","getNextPageNotificatioList","openDetailPage","o","json_data","PlasmaDonorComponent","plasmaDonorForm","blood_group","covid_start_date","order","getPlasmaDonorList","colName","donorSearch","donorData","onplasmaDonorFormSubmit","allValue","onEvent","selectGroup","bg","selectBloodGroup","TemplateDetailComponent","templateId","template_id","templateModel","event_category","event_nature","event_type","event_price","event_location","show_map","event_repeat","repeat_date","event_organizers","start_date","end_date","event_end_date","timezone_id","cover_image","logo_image","organizer","EventCreateComponent","EventModel","getEventTypeList","getEventNaturesList","getScheduleList","setDefultTimeAndDate","eventCategoriesList","scheduleList","eventNaturesList","selectlocation","countryName","eventForm","toLocaleTimeString","hour12","onChangeMap","isShowMap","addNewRow","selectedOrganizer","loadOrganizerModal","onAddSOrganizerSubmit","isOrganizerExisit","deleteRow","onLogoImageChange","readLogoImageURL","imageShow","imagePost","onCoverImageChange","converImageShow","readCoverImageURL","postConverImage","setSubmitModelValue","eventModelData","disableDate","decls","EventAttendieUsersComponent","eventId","getEventAttendeesList","event_id","EventDetailsComponent","sanitizer","eventDetailsModel","eventCreatedUserId","user","groupCreatorId","site","created_by","convertStartTime","convertEndTime","mapUrl","mapURL","loadMap","param1","param2","bypassSecurityTrustResourceUrl","timeString","H","ampm","onEdit","onAttendEvent","joinEvent","notes","ip_address","payment_transaction_id","amount","payment_status","loadEventAttendieUsersListModalComponent","eventName","OpenCoverImageModal","OpenImageModal","EventEditComponent","toggleAccordian","panelId","setLogoImage","logo_image_url","setCoverImage","cover_image_url","setLocationValue","groupMemberId","groupDesignationId","groupMemberRoleId","groupDesignationName","GroupMemberDesignationRolesModalComponent","GroupManagementModel","getGroupRoleList","parentModel","managementModel","groupDesignationList","groupRolesList","onChangeDesignation","isCustomDesignation","searchMember","suggestMembersList","selectMemeber","role_id","group_designation_id","custom_designation_name","GroupMemberRemoveConfirmationModalComponent","removeuserModel","removeUserId","removeUser","GroupEditComponent","GroupModel","reg","facebook","twitter","linkedin","instagram","contactPersonName","contactNumber","locationId","contactAddress","contactPinCode","getCategoryLists","assetName","categoryList","isCoverImageDelete","removeCoverImage","removeLogoImage","logoImagePost","logImageShow","onPrivacyChange","showJoinSection","joinRequest","isJointRequest","setFormData","setLogoImg","setCoverImg","setSocialLinkData","socials","setPrivacyData","setJoinRequestData","setContactData","contact","setSecurityCodeData","setPostModerateData","setExtraFieldData","isPrivate","isSecurityCodeEnable","joinSecurityCode","isPostModerateEnable","onGroupPostModerate","mobile_no","groupModelData","isPostModerate","social","groupDetailsModel","groupCreatedByUserId","getGroupMemberDetailsById","countryList","stateList","cityList","siteId","with_member","managementsLists","allGroupMembers","onEditMemberRole","loadGroupMemberDesignationAndRolesModalComponent","isJoinSecurityCodeRequest","isShowExtraField","loadGroupMemberRemoveConfirmationModalComponent","removeUserName","isPostModerateRequest","JobApplyModalComponent","jobApplyModel","mobileNo","jobId","postModel","experience","documentFile","attachedFile","GroupJobDetailsComponent","jobsDetailsModel","desc","image_fullurl","jobCreatedByUserId","convertQualificationToArray","qualification","loadJobApplyModalComponent","jobName","onWithdrawJobApply","delteAndCancelJob","onCloseJob","loadApplicantComponent","application_id","company_name","workplace_type","employment_type","skills","GroupJobEditComponent","GroupJobModel","ENTER","COMMA","getWorkPlaceTypesList","getEmploymentTypesList","getQualificationsList","getSkillsList","jobForm","jobskill","setSkillValue","setImageValue","selectedSkill","selectedSkillsList","skill_name","onAddSkillSubmit","defaultSelectedVal","onEducationChange","workplaceTypesList","employmentTypesList","skillsList","qualificationsList","newNode","loadSkillModal","jobModelData","GroupJobsCreateComponent","openAccordionPanelAll","activeIds","panels","p","JobApplicantsStatusModalComponent","model","applicantUserId","statusType","JobApplicantUsersListingComponent","getApplicantUsersList","searchUserId","applicant_users","totalUsersCount","loadJobApplicantUserStatusModalComponent","applicant_id","applicantUserName","applicant_name","PlaceDetailsComponent","el","tS","V","F","placeDetailsModel","short_description","lazyLoadAPIContent","setDefaultImage","knowMoreSectionDetailsModel","know_more","isKnowMoreLoading","getKnowMoreSectionData","contentLang","topVideosSectionDetailsModel","video","isVideoLoading","getTopVideosSectionData","nearBySectionDetailsModel","isNearByLoading","getEntityNearBySectionData","ratingReviewsModel","isRatingReviewsLoading","customDetailsModel","custom_component","isCustomDetailsLoading","getCustomDetailsSectionData","addUpdateMetaTags","generateQrCode","convertMetaTagToArray","setDefaultLangDropdown","checkUrlLang","getLocalLang","defaultDesc","changeDescriptionLang","businessId","QRCode","suggestContent","submitDescriptionSuggest","submitSuggest","entity_know_more_id","submitKnowMoreSuggest","language","getEntityOtherSectionData","entities","convertMetaTagToArrayEntity","converEntityDescToString","onLangChange","setLocalLang","setDefaultLang","use","currentLang","imgTags","langParam","countryCode","newWhatsAppNumber","findAndAddAttr","ltest","$widget","loadChildren","LoginModule","SignupModule","C","CoomingsoonModule","LandingModule","SuccessModule","AboutModule","FaqsModule","TermConditionsModule","RefundPolicyModule","GroupModule","HowItWorkModule","MembershipPlanModule","ContactModule","PrivacyPolicyModule","PaymentModule","AZcategoriesModule","TrendingCategoriesModule","GroupJobsListingModule","EventListingModule","CategorieModule","PublicBusinessDetailModule","GroupCreateModule","GroupDetailsModule","NewsreportModule","AppRoutingModule","initialNavigation","BecomeAgentComponent","successFul_submission","becomeAgentForm","sendDetails","validateAllFields","password","certainPassword","RegisterMemberComponent","signUpForm","username","mobnumber","passwordConfirm","otp","u","VerifyMemberComponent","otpForm","modalOption","backdrop","keyboard","otpCheck","modalRef","resendOTP","AddMemberAgentComponent","addMemberForm","sendOTP","openOTPModal","memberdata","CityAutoCompleteSearchComponent","citySearch","locationSearchInput","closest","locationLists","checkVal","storeToParent","emit","selectLocation","search_location","HeaderComponent","profileDropDown","showMenuList","userSubscription","userLoggedIn","profileSubscription","membership_type_image","membership_type_icon","temp","userName","join","profile_pic_thumb","businessDetailsSub","dataRes","updateUserBusinessData","messageRes","total_unmessage","isVendorSubscription","isSearchPage","getLanguage","businessRes","pathname","languageProvider","getUserUnreadThreadCount","redirectToAppDownload","showAppDownloadModal","redirectapp","icon","menuHide","cancelButtonColor","redirectnearby","redirectgroups","redirectmarketplace","redirectraktaveer","redirectyuva","redirectmyvillage","redirectsurvey","langSelection","toggleMenu","toggleProfile","ckeckBusinessApproved","becomeAgent","registerMember","getThreadMessage","locations","allLocations","checkEnableDisableView","showLocationDropDown","filterLocation","showLanguageDropDown","selectLanguage","HeaderSimpleComponent","SpinnerComponent","FooterComponent","AppComponent","translate","titleService","upperCase","vRef","doc","toggleSpinner","NavigationEnd","ga","urlAfterRedirects","firstChild","outlet","mergeMap","isHomePage","isPrivacyPolicyPage","setTitle","geolocation","getCurrentPosition","geolocationSuccess","bind","geolocationError","isMobileAppUrl","setFavicon","setGTagManager","innerHTML","head","getElementsByTagName","addGoogleAnalyticsObject","linkEle","rel","switchLanguage","position","coords","DOCUMENT","RyecHttpInterceptor","timer","intercept","req","applicationId","securityKey","authReq","clone","setHeaders","Platform","handle","do","HttpErrorResponse","finally","http","TranslateHttpLoader","AppModule","bootstrap","UpperCasePipe","NgbActiveModal","HTTP_INTERCEPTORS","useClass","multi","BrowserAnimationsModule","ToastrModule","BrowserModule","appId","HttpClientModule","loader","TranslateLoader","useFactory","HttpLoaderFactory","deps","HttpClient","__NgCli_bootstrap_1","bootstrapModule","catch","enableProdMode","readyState","addEventListener"],"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/features/event-listing/event-listing.component.html","./src/app/features/event-listing/event-listing.component.ts","./src/app/shared/component/comment-modal/comment-modal.component.html","./src/app/shared/component/comment-modal/comment-modal.component.ts","./src/app/features/auth/news-details/news-details.component.html","./src/app/features/auth/news-details/news-details.component.ts","./src/app/features/home/add-business/add-business.component.html","./src/app/features/home/add-business/add-business.component.ts","./src/app/features/home/agent-business-list/agent-business-list.component.html","./src/app/features/home/agent-business-list/agent-business-list.component.ts","./src/app/features/home/post/post.component.html","./src/app/features/home/post/post.component.ts","./src/app/pipes/trimstr/trimstr.pipe.ts","./src/app/features/home/business-detail/business-detail.component.html","./src/app/features/home/business-detail/business-detail.component.ts","./src/app/features/home/business-list/business-list.component.html","./src/app/features/home/business-list/business-list.component.ts","./src/app/features/home/business-owner-detail/business-owner-detail.component.html","./src/app/features/home/business-owner-detail/business-owner-detail.component.ts","./src/app/shared/model/online-stores.model.ts","./src/app/features/home/business-profile/business-profile.component.html","./src/app/features/home/business-profile/business-profile.component.ts","./src/app/features/home/business-search/business-search.component.html","./src/app/features/home/business-search/business-search.component.ts","./src/app/features/home/create-investment-opportunity/create-investment-opportunity.component.ts","./src/app/features/home/create-investment-opportunity/create-investment-opportunity.component.html","./src/app/features/home/create-marketplace/create-marketplace.component.html","./src/app/features/home/create-marketplace/create-marketplace.component.ts","./src/app/features/home/home-post/home-post.component.html","./src/app/features/home/home-post/home-post.component.ts","./src/app/features/home/home-dashboard/home-dashboard.component.html","./src/app/features/home/home-dashboard/home-dashboard.component.ts","./src/app/features/home/home.component.ts","./src/app/features/home/home.component.html","./src/app/features/home/investment-opportunity-detail/investment-opportunity-detail.component.html","./src/app/features/home/investment-opportunity-detail/investment-opportunity-detail.component.ts","./src/app/features/home/investment-opportunity/investment-opportunity.component.ts","./src/app/features/home/investment-opportunity/investment-opportunity.component.html","./src/app/features/home/market-place-detail/market-place-detail.component.html","./src/app/features/home/market-place-detail/market-place-detail.component.ts","./src/app/features/home/market-place/market-place.component.html","./src/app/features/home/market-place/market-place.component.ts","./src/app/features/home/membership-plan/membership-plan.component.html","./src/app/features/home/membership-plan/membership-plan.component.ts","./src/app/features/home/my-business-detail/my-business-detail.component.html","./src/app/features/home/my-business-detail/my-business-detail.component.ts","./src/app/features/home/my-cart/my-cart.component.ts","./src/app/features/home/my-cart/my-cart.component.html","./src/app/features/home/my-investment-opportunity-detail/my-investment-opportunity-detail.component.html","./src/app/features/home/my-investment-opportunity-detail/my-investment-opportunity-detail.component.ts","./src/app/features/home/myvillage/myvillage.component.html","./src/app/features/home/myvillage/myvillage.component.ts","./src/app/features/home/payment-successful/payment-successful.component.html","./src/app/features/home/payment-successful/payment-successful.component.ts","./src/app/features/home/raktaveer/raktaveer.component.html","./src/app/features/home/raktaveer/raktaveer.component.ts","./src/app/features/home/survey/survey.component.html","./src/app/features/home/survey/survey.component.ts","./src/app/features/home/yuvamitra/yuvamitra.component.html","./src/app/features/home/home-routing.module.ts","./src/app/features/home/yuvamitra/yuvamitra.component.ts","./src/app/features/home/home.module.ts","./src/app/features/job/group-jobs-listing/group-jobs-listing.component.html","./src/app/features/job/group-jobs-listing/group-jobs-listing.component.ts","./src/app/features/person/entity-listing.component.html","./src/app/features/person/entity-listing.component.ts","./src/app/features/user/add-owner/add-owner.component.html","./src/app/features/user/add-owner/add-owner.component.ts","./src/app/features/user/change-password/change-password.component.html","./src/app/features/user/change-password/change-password.component.ts","./src/app/features/user/user-profile/user-profile.component.html","./src/app/features/user/user-profile/user-profile.component.ts","./src/app/features/user/user-routing.module.ts","./src/app/features/user/user.component.ts","./src/app/features/user/user.component.html","./src/app/features/user/user.module.ts","./src/app/shared/component/group-join-verification-modal/group-join-verification-modal.component.html","./src/app/shared/component/group-join-verification-modal/group-join-verification-modal.component.ts","./src/app/shared/component/group-post-liked-shared-tagged-users-list-modal/group-post-liked-shared-tagged-users-list-modal.component.html","./src/app/shared/component/group-post-liked-shared-tagged-users-list-modal/group-post-liked-shared-tagged-users-list-modal.component.ts","./src/app/shared/component/report-business-modal/report-business-modal.component.html","./src/app/shared/component/report-business-modal/report-business-modal.component.ts","./src/app/shared/guard/auth.guard.ts","./src/app/shared/model/group.model.ts","./src/app/shared/module/shared/shared.module.ts","./src/app/shared/resolver/api-resolver.resolver.ts","./src/app/shared/services/auth.service.ts","./src/app/shared/services/common.service.ts","./src/app/shared/services/home.service.ts","./src/app/shared/services/http.service.ts","./src/app/shared/services/message.service.ts","./src/environments/environment.ts","./src/app/features/auth/messages/messages.component.html","./src/app/features/auth/messages/messages.component.ts","./src/app/features/auth/newslist/newslist.component.html","./src/app/features/auth/newslist/newslist.component.ts","./src/app/features/auth/not-found-page/not-found-page.component.ts","./src/app/features/auth/not-found-page/not-found-page.component.html","./src/app/features/auth/notifications-list/notifications-list.component.html","./src/app/features/auth/notifications-list/notifications-list.component.ts","./src/app/features/auth/plasma-donor/plasma-donor.component.html","./src/app/features/auth/plasma-donor/plasma-donor.component.ts","./src/app/features/auth/template-detail/template-detail.component.ts","./src/app/features/auth/template-detail/template-detail.component.html","./src/app/shared/model/event.model.ts","./src/app/features/event-listing/event-create/event-create.component.html","./src/app/features/event-listing/event-create/event-create.component.ts","./src/app/shared/component/event-attendie-users/event-attendie-users.component.html","./src/app/shared/component/event-attendie-users/event-attendie-users.component.ts","./src/app/features/event-listing/event-details/event-details.component.html","./src/app/features/event-listing/event-details/event-details.component.ts","./src/app/features/event-listing/event-edit/event-edit.component.html","./src/app/features/event-listing/event-edit/event-edit.component.ts","./src/app/shared/model/group-management.model.ts","./src/app/shared/component/group-member-designation-roles-modal/group-member-designation-roles-modal.component.html","./src/app/shared/component/group-member-designation-roles-modal/group-member-designation-roles-modal.component.ts","./src/app/shared/component/group-member-remove-confirmation-modal/group-member-remove-confirmation-modal.component.html","./src/app/shared/component/group-member-remove-confirmation-modal/group-member-remove-confirmation-modal.component.ts","./src/app/features/group-edit/group-edit.component.html","./src/app/features/group-edit/group-edit.component.ts","./src/app/features/job/group-jobs-listing/job-apply-modal/job-apply-modal.component.html","./src/app/features/job/group-jobs-listing/job-apply-modal/job-apply-modal.component.ts","./src/app/features/job/group-jobs-listing/group-job-details/group-job-details.component.html","./src/app/features/job/group-jobs-listing/group-job-details/group-job-details.component.ts","./src/app/shared/model/group-job.model.ts","./src/app/features/job/group-jobs-listing/group-job-edit/group-job-edit.component.html","./src/app/features/job/group-jobs-listing/group-job-edit/group-job-edit.component.ts","./src/app/features/job/group-jobs-listing/group-jobs-create/group-jobs-create.component.html","./src/app/features/job/group-jobs-listing/group-jobs-create/group-jobs-create.component.ts","./src/app/shared/component/job-applicants-status-modal/job-applicants-status-modal.component.html","./src/app/shared/component/job-applicants-status-modal/job-applicants-status-modal.component.ts","./src/app/features/job/group-jobs-listing/job-applicant-users-listing/job-applicant-users-listing.component.html","./src/app/features/job/group-jobs-listing/job-applicant-users-listing/job-applicant-users-listing.component.ts","./src/app/features/place-details/place-details.component.html","./src/app/features/place-details/place-details.component.ts","./src/app/app-routing.module.ts","./src/app/features/auth/header/modal/become-agent/become-agent.component.html","./src/app/features/auth/header/modal/become-agent/become-agent.component.ts","./src/app/features/auth/header/modal/register-member/register-member.component.html","./src/app/features/auth/header/modal/register-member/register-member.component.ts","./src/app/features/auth/header/modal/verify-member/verify-member.component.html","./src/app/features/auth/header/modal/verify-member/verify-member.component.ts","./src/app/features/auth/header/modal/add-member-agent/add-member-agent.component.html","./src/app/features/auth/header/modal/add-member-agent/add-member-agent.component.ts","./src/app/shared/component/city-auto-complete-search/city-auto-complete-search.component.html","./src/app/shared/component/city-auto-complete-search/city-auto-complete-search.component.ts","./src/app/features/auth/header/header.component.html","./src/app/features/auth/header/header.component.ts","./src/app/features/auth/header-simple/header-simple.component.html","./src/app/features/auth/header-simple/header-simple.component.ts","./src/app/features/auth/spinner/spinner.component.ts","./src/app/features/auth/spinner/spinner.component.html","./src/app/features/auth/footer/footer.component.html","./src/app/features/auth/footer/footer.component.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/shared/class/ryec-http-interceptor.ts","./src/app/app.module.ts","./src/main.ts"],"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(() => {\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 = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","
\r\n
\r\n
\r\n

Events

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ({{'ang_showing' | translate}} {{first}}-{{last}} {{'ang_of' | translate}} {{ totalEventsCount }} {{'ang_events' | 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
0\">\r\n
\r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n
\r\n

\r\n {{ item.title }}\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ item.event_category }}\r\n
  • \r\n
  • \r\n {{ item.event_nature }}\r\n
  • \r\n
  • \r\n {{ item.event_type }}\r\n
  • \r\n
  • \r\n \r\n {{ item.start_date | date: \"medium\"}}\r\n
  • \r\n
\r\n
\r\n \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 \r\n

{{'ang_nomatches' | translate}}

\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n \r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'ryec-event-listing',\r\n templateUrl: './event-listing.component.html',\r\n styleUrls: ['./event-listing.component.css']\r\n})\r\nexport class EventListingComponent implements OnInit {\r\n groupId: number = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n endPage: number = environment.BUSINESS_LIST_LIMIT;\r\n eventsList: any[] = [];\r\n items: any[] = [];\r\n totalEventsCount: number = 0;\r\n collectionSize: number = 0;\r\n first: number = 1;\r\n last: number = 0;\r\n maxSize: number = 5;\r\n noData: boolean = false;\r\n userId: number = 0;\r\n currentPage: number = 0;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private cS: CommonService,\r\n private hS: HomeService,\r\n ) {\r\n this.activeRoute.params.subscribe(data => {\r\n this.groupId = data.slug;\r\n // if (this.groupId) { //if id is available call api\r\n // // this.getGroupJobsListingById(this.groupId);\r\n // }\r\n });\r\n this.currentPage = 1;\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.userId = userDetail.id;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n checkRouterUrlForCallingAPI() {\r\n const postJson: PostJsonBusinessList = {\r\n site_id: this.groupId,\r\n page: this.currentPage,\r\n limit: this.perPageList\r\n };\r\n this.getEventList(postJson);\r\n }\r\n\r\n getEventList(postJson: any) {\r\n this.hS.getEventsList(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n // this.convertToLowerCase(res.data);\r\n this.eventsList = res.data;\r\n this.totalEventsCount = res.total;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.eventsList = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalEventsCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalEventsCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.eventsList.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.eventsList.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalEventsCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalEventsCount == 0 || this.totalEventsCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n // this.showBusinessOnMap();\r\n }\r\n\r\n getNextPageBusinessList(): void {\r\n // console.log(event);\r\n // this.businessMarkers = [];\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n}\r\n","
\r\n \r\n

Comment

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Comment is required
\r\n
\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, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HttpService } from '../../services/http.service';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-comment-modal',\r\n templateUrl: './comment-modal.component.html',\r\n styleUrls: ['./comment-modal.component.css']\r\n})\r\nexport class CommentModalComponent implements OnInit {\r\n\r\n @Input() newsId: number = 0;\r\n @Input() replyCommentId: number = 0;\r\n commentModel: any = {};\r\n isSubmit: boolean = false;\r\n appName = environment.APP_NAME;\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n // this.commentModel.news_id = this.newsId;\r\n this.commentModel.post_id = this.newsId;\r\n this.commentModel.comment = \"\";\r\n this.commentModel.public_post_comment_id = this.replyCommentId;\r\n this.commentModel.type = \"news\";\r\n }\r\n\r\n onSubmit() {\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'commentPost';\r\n this.httpS.post(apiUrl, this.commentModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.activeModal.dismiss('postDone');\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ newsDetailsModel?.name }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n News / {{ newsDetailsModel.categories }}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

\r\n

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

अस्वीकरण (Disclaimer): इस आर्टिकल/लेख/ में लिखे गए विचार, खबर से जुड़े तथ्य तथा समीक्षा लेखक के निजी विचार हैं. Rajputs Club MyRajasthan Club ऐप इसके लिए किसी भी तरह से जिम्मेदार नहीं है। किसी भी प्रकार की असुविधा, असहमति, पुष्टीकरण दर्ज करवाने के लिए आप हमारी हेल्प लाइन या कॉन्टैक्ट पेज द्वारा संपर्क कर सकते हैं।

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

\r\n Related News\r\n

\r\n
    \r\n
  • \r\n
    \r\n \"{{\r\n
    \r\n \r\n
    \r\n
    \r\n {{ item.name }}\r\n
    \r\n
    \r\n \r\n
    \r\n {{ item.created_at_diff }}\r\n {{ item.visits }} Seen\r\n
    \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Comments

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

\r\n No Comment found..\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user_profile\"\r\n
\r\n
\r\n
\r\n
\r\n
{{ item.user.name }}
\r\n \r\n
\r\n
\r\n

\r\n {{ item.comment }}\r\n

\r\n

\r\n \r\n {{ item.created_at_diff }}\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
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
{{ \"ang_share\" | 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 ","import { DatePipe } from '@angular/common';\r\nimport { Component, HostListener, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n \r\nimport { BehaviorSubject } from 'rxjs';\r\n \r\nimport { environment } from 'src/environments/environment';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { CommentModalComponent } from 'src/app/shared/component/comment-modal/comment-modal.component';\r\n\r\n@Component({\r\n selector: 'ryec-news-details',\r\n templateUrl: './news-details.component.html',\r\n styleUrls: ['./news-details.component.css']\r\n})\r\nexport class NewsDetailsComponent implements OnInit {\r\n appName = environment.APP_NAME;\r\n newsDetailsModel: any;\r\n isShow: boolean = false;\r\n topPosToStartShowing: number = 100;\r\n businessImageUrl: string = \"\";\r\n isMobile: boolean = false;\r\n isPageLoaded: boolean = false;\r\n newsId: number = 0;\r\n seoPageUrl: string = environment.RYEC_SHARE_URL;\r\n readonly STORAGE_USER_KEY: string = \"UN_AUTH_NEWS_READER_USER\";\r\n returnRedirectUrl: string = \"\";\r\n userVisitCount = new BehaviorSubject(0);\r\n userVisitCount$ = this.userVisitCount.asObservable();\r\n relatedNewsList: any[] = [];\r\n commentList: any[] = [];\r\n collectionSize = 0;\r\n currentPage: number = 0;\r\n // perPageList = environment.BUSINESS_LIST_LIMIT;\r\n perPageList = 5;\r\n totalEventsCount: number = 0;\r\n first: number = 1;\r\n last: number = 0;\r\n noData: boolean = false;\r\n modalReference: any;\r\n newsSlug: string = \"\";\r\n\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private deviceService: DeviceDetectorService,\r\n private activeRoute: ActivatedRoute,\r\n private homeService: HomeService,\r\n private datePipe: DatePipe,\r\n public cS: CommonService,\r\n public hS: HomeService,\r\n ) {\r\n this.currentPage = 1;\r\n }\r\n\r\n ngOnInit() {\r\n /**\r\n * get url slug\r\n */\r\n this.isMobile = this.deviceService.isMobile();\r\n this.activeRoute.params.subscribe(data => {\r\n this.newsSlug = data.slug;\r\n if (this.newsSlug) { //if id is available call api\r\n this.getNewsDetailsBySlug(this.newsSlug);\r\n this.returnRedirectUrl = \"news/\" + this.newsSlug;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *open share popup\r\n */\r\n openShareOptions(content: any) {\r\n this.modalService.open(content, { windowClass: 'share_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n\r\n shareNow = async () => {\r\n const navigator = window.navigator as any;\r\n if ('canShare' in navigator) {\r\n let currentFullUrl = window.location.href;\r\n let title = this.newsDetailsModel.name;\r\n let seoURL = this.seoPageUrl + '?reopenUrl=' + currentFullUrl + '&businessName=' + this.newsId;\r\n const share = async function () {\r\n try {\r\n await navigator.share({\r\n url: seoURL,\r\n // title: title,\r\n text: title,\r\n // files: [file],\r\n });\r\n console.log(\"shared successfully....\");\r\n } catch (err:any) {\r\n console.log(err.name, err.message);\r\n }\r\n };\r\n share();\r\n }\r\n };\r\n\r\n shareOnFacebook() {\r\n let currentFullUrl = window.location.href;\r\n // let seoURL = this.seoPageUrl + '?reopenUrl=' + currentFullUrl + '&businessName=' + this.newsSlug;\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n let currentFullUrl = window.location.href;\r\n // let seoURL = this.seoPageUrl + '?reopenUrl=' + currentFullUrl + '&businessName=' + this.newsSlug;\r\n window.open(`https://twitter.com/intent/tweet?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n let currentFullUrl = window.location.href;\r\n // let seoURL = this.seoPageUrl + '?reopenUrl=' + currentFullUrl + '&businessName=' + this.newsSlug;\r\n window.open(`https://www.linkedin.com/shareArticle?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n\r\n // Back to top\r\n @HostListener('window:scroll')\r\n checkScroll() {\r\n\r\n // window의 scroll top\r\n // Both window.pageYOffset and document.documentElement.scrollTop returns the same result in all the cases. window.pageYOffset is not supported below IE 9.\r\n\r\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\r\n // console.log('[scroll]', scrollPosition);\r\n\r\n if (scrollPosition >= this.topPosToStartShowing) {\r\n this.isShow = true;\r\n } else {\r\n this.isShow = false;\r\n }\r\n }\r\n gotoTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n ImageModal() {\r\n\r\n }\r\n\r\n getComments() {\r\n const postJson: any = {\r\n news_id: this.newsId,\r\n page: this.currentPage,\r\n limit: this.perPageList\r\n };\r\n this.getNewsCommentsListByNewsId(postJson);\r\n }\r\n\r\n getNewsDetailsBySlug(newsSlug: string) {\r\n const postJson = { slug: newsSlug, };\r\n this.homeService.getNewsDetailsBySlug(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.newsDetailsModel = res.data.newsDetails;\r\n this.newsId = this.newsDetailsModel.id;\r\n this.relatedNewsList = res.data.relatedNews;\r\n this.commentList = res.data.comments;\r\n this.checkUserDetails();\r\n if (this.newsDetailsModel.created_at) {\r\n let newCreatedDate = new Date(this.newsDetailsModel.created_at).toLocaleDateString(\"en-us\");\r\n this.newsDetailsModel.created_at = this.datePipe.transform(newCreatedDate, 'EEEE, MMMM d, y');\r\n }\r\n this.getComments();\r\n }\r\n });\r\n }\r\n\r\n getNewsCommentsListByNewsId(postJson: any) {\r\n this.hS.getNewsCommentsListByNewsId(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n // this.convertToLowerCase(res.data);\r\n this.commentList = res.data;\r\n this.totalEventsCount = res.total;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.commentList = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalEventsCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalEventsCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.commentList.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.commentList.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalEventsCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalEventsCount == 0 || this.totalEventsCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n // this.showBusinessOnMap();\r\n }\r\n\r\n getNextPageBusinessList(): void {\r\n this.getComments();\r\n }\r\n\r\n checkAuth() {\r\n if (this.cS.getUserDetails()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n loadCommentComponent(newsId: number, replyCommentId: number) {\r\n if (this.checkAuth()) {\r\n const modalReference = this.modalService.open(CommentModalComponent, { windowClass: 'mobile_popup' }); //here\r\n modalReference.componentInstance.newsId = newsId; //news id\r\n modalReference.componentInstance.replyCommentId = replyCommentId; //reply comment id\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason == 'postDone') {\r\n this.getComments();\r\n }\r\n });\r\n }\r\n else{\r\n this.cS.onReturnRedirect(this.returnRedirectUrl);\r\n }\r\n }\r\n\r\n\r\n checkUserDetails() { //check user loged in or not\r\n if (!this.checkAuth()) { //if not loged in then set as fake user\r\n let visitCount: number = 0; //init value will be 0\r\n let sessionStorageData = this.get_sessionStorage_json(this.STORAGE_USER_KEY); //get data from session\r\n if (sessionStorageData) {\r\n visitCount = sessionStorageData.visitCount; //get value from data\r\n if (visitCount <= 9) { //check if 10 time visit or not if not continue count ++\r\n let session_data = this.sessionData(visitCount + 1);\r\n this.set_sessionStorage(this.STORAGE_USER_KEY, session_data);\r\n this.userVisitCount.next(visitCount + 1);\r\n }\r\n else if (visitCount >= 9) { //if visited more then conditional time then redirect to login\r\n // this.cS.navigateTo('/login');\r\n this.cS.onReturnRedirect(this.returnRedirectUrl);\r\n }\r\n }\r\n else { //if not found in session then set init value\r\n let session_data = this.sessionData(visitCount + 1);\r\n this.set_sessionStorage(this.STORAGE_USER_KEY, session_data);\r\n }\r\n }\r\n else { // if user loged in then remove session storage\r\n this.remove_sessionStorage(this.STORAGE_USER_KEY);\r\n }\r\n }\r\n\r\n // get json\r\n get_sessionStorage_json(key: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n if (window.sessionStorage.length > 0) {\r\n return JSON.parse(window.sessionStorage.getItem(key) || '{}');\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // set\r\n set_sessionStorage(key: any, value: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n if (value.constructor.name == \"Array\" || value.constructor.name == \"Object\") {\r\n this.set_sessionStorage_json(key, value);\r\n } else {\r\n window.sessionStorage.setItem(key, value);\r\n }\r\n }\r\n }\r\n\r\n // set json\r\n set_sessionStorage_json(key: any, value: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n window.sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n\r\n // check\r\n check_sessionStorage_Exists() {\r\n if (window.sessionStorage) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private sessionData(visitCount: any) {\r\n let session_data :any;\r\n session_data['visitCount'] = visitCount;\r\n return session_data;\r\n }\r\n\r\n // remove item\r\n remove_sessionStorage(key: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n if (window.sessionStorage.length > 0) {\r\n window.sessionStorage.removeItem(key);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n onWhatsAppBtn() {\r\n // let shareLink = this.\r\n let currentFullUrl = window.location.href;\r\n let seoURL = this.seoPageUrl + '?reopenUrl=' + currentFullUrl + '&businessName=' + this.newsId;\r\n if (this.isMobile) {\r\n window.open(`whatsapp://send?text=${seoURL}`);\r\n }\r\n else {\r\n window.open(`https://api.whatsapp.com/send?text=${seoURL}`, '_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 {{'ang_registeryoursocialbusinessprofession' | translate}}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{'ang_businessprofessionnamevalidation'| 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 {{'ang_businessprofessionemailvalidation' | 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 {{'ang_businessprofessionaddressvalidation' | translate}}\r\n

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

\r\n {{'ang_descriptionisrequired' | 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 \"thank_you\"\r\n
\r\n

{{'ang_youareset' | translate}}

\r\n \r\n

{{'ang_thankyoureg' | translate}}.

\r\n

{{'ang_contactsoon' | translate}} cmyrajasthan@gmail.com.\r\n

\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { RegBusinessConfig, SignUpLoginSubRes } from 'src/app/shared/class/data.model';\r\n \r\nimport { environment } from './../../../../environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\n@Component({\r\n\tselector: 'ryec-add-business',\r\n\ttemplateUrl: './add-business.component.html',\r\n\tstyleUrls: ['./add-business.component.css']\r\n})\r\nexport class AddBusinessComponent implements OnInit {\r\n\r\n\tRegBusinessForm: FormGroup;\r\n\tuserDetails: SignUpLoginSubRes | null;\r\n\tsuccessFul_registration: boolean;\r\n\tlateLongobj :any=[];\r\n\tagentStatus: boolean;\r\n\tagentSub: Subscription;\r\n\tregisterBusiness = false;\r\n\tconstructor(private fb: FormBuilder,\r\n\t\tprivate hS: HttpService,\r\n\t\tprivate router: Router,\r\n\t\tprivate mS: MessageService,\r\n\t\tprivate cS: CommonService) {\r\n\t\tthis.agentStatus = true;\r\n\t\tthis.RegBusinessForm = this.fb.group({\r\n\t\t\tname: [null, Validators.required],\r\n\t\t\tmobile: [null],\r\n\t\t\temail_id: [null, CustomValidators.email],\r\n\t\t\taddress: [null, Validators.compose([Validators.required])],\r\n\t\t\tdescription: [null]\r\n\r\n\t\t});\r\n\t\tthis.userDetails = null;\r\n\t\tthis.successFul_registration = false;\r\n\t\t// agent Status Subscription\r\n\t\tthis.agentSub = this.mS.getAgentStatus().subscribe(res => {\r\n\t\t\tif (res.isAgent === 'P') {\r\n\t\t\t\tthis.agentStatus = true;\r\n\t\t\t} else if (res.isAgent === 'A') {\r\n\t\t\t\tthis.agentStatus = false;\r\n\t\t\t} else {\r\n\t\t\t\tthis.agentStatus = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.cS.scrollTop();\r\n\t\tconst isAgentVal = this.cS.getData('isAgent');\r\n\t\tif (isAgentVal && isAgentVal === 'A') {\r\n\t\t\tthis.agentStatus = false;\r\n\t\t} else if (isAgentVal && isAgentVal === 'P') {\r\n\t\t\tthis.agentStatus = true;\r\n\t\t} else {\r\n\t\t\tthis.agentStatus = true;\r\n\t\t}\r\n\t\tthis.userDetails = this.cS.getUserDetails();\r\n\r\n\t\tif (this.userDetails) {\r\n\t\t\tthis.RegBusinessForm.patchValue({\r\n\t\t\t\tmobile: this.userDetails.country_code + \"-\" + this.userDetails.phone\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.successFul_registration = this.cS.isBusinessRegister();\r\n\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.agentSub.unsubscribe();\r\n\t\tif (!this.registerBusiness && !this.successFul_registration) {\r\n\t\t\tthis.skipBusinessReg();\r\n\t\t}\r\n\t}\r\n\r\n\t// register businessDetails\r\n\tsubmitDetails() {\r\n\t \r\n\t\tif (this.RegBusinessForm.valid) {\r\n\t\t\t\r\n\t\t\tthis.registerBusiness = true;\r\n\t\t\tconst apiUrl = environment.RYEC_API_URL + 'addBusiness';\r\n\r\n\t\t\tconst splitVal = this.RegBusinessForm.value.mobile.split('-');\r\n\t\t\tthis.RegBusinessForm.value.mobile = splitVal[1];\r\n\t\t\tthis.RegBusinessForm.value.country_code = splitVal[0];\r\n\r\n\t\t\tconst paramConfig: any = this.RegBusinessForm.value;\r\n\r\n\t\t\tparamConfig['latitude'] = this.lateLongobj['latitude'];\r\n\t\t\tparamConfig['longitude'] = this.lateLongobj['longitude'];\r\n\t\t\tthis.hS.post(apiUrl, paramConfig).subscribe((res:any) => {\r\n\t\t\t\tconsole.log(res);\r\n\t\t\t\tif (res.status === 1) {\r\n\t\t\t\t\tthis.successFul_registration = true;\r\n\r\n\t\t\t\t\tthis.cS.businessModel.is_Register = true;\r\n\t\t\t\t\tthis.cS.businessModel.business_approved = 0;\r\n\t\t\t\t\tthis.cS.businessModel.business_id = res.data.business_id;\r\n\t\t\t\t\tthis.cS.businessModel.business_name = res.data.business_name;\r\n\t\t\t\t\tthis.cS.businessModel.business_slug = res.data.business_slag;\r\n\t\t\t\t\tthis.cS.setBusinessRegiFlag();\r\n\t\t\t\t\tthis.mS.setRegisterbusiness(true);\r\n\t\t\t\t\tthis.mS.setBusinessDetailUpdate(this.cS.businessModel);\r\n\t\t\t\t} else {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.RegBusinessForm.markAsTouched();\r\n\t\t}\r\n\t}\r\n\r\n\tskipBusinessReg() {\r\n\t\tthis.cS.businessModel.skipped = true;\r\n\t\tthis.cS.setBusinessRegiFlag();\r\n\t\tthis.mS.setRegisterbusiness(false);\r\n\t\t// navigate to user profile\r\n\t\tthis.router.navigate(['home']);\r\n\t}\r\n\r\n\tplaceChanged(place: any) {\r\n\t\tconsole.log(place);\r\n\t\tthis.lateLongobj = {\r\n\t\t\t'latitude': place.geometry.location.lat(),\r\n\t\t\t'longitude': place.geometry.location.lng()\r\n\t\t};\r\n\r\n\t\tthis.RegBusinessForm.value['address'] = place['formatted_address'];\r\n\t}\r\n}","
0\">\r\n \"eddar-real\"\r\n
\r\n\r\n
0\">\r\n {{'ang_sortby' | translate}}\r\n \r\n
\r\n\r\n
\r\n
0\">\r\n \r\n \r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{item.name}}\r\n

\r\n
    \r\n
  • \r\n {{item.owners}}
  • \r\n
  • \r\n {{item.mobile}}
  • \r\n \r\n
  • \r\n \r\n {{item.city}}, {{item.state}}, {{item.country}}\r\n
  • \r\n \r\n
  • \r\n {{item.parent_category_name}}
  • \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n

{{'ang_nomatches' | translate}}

\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n \r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'ryec-agent-business-list',\r\n templateUrl: './agent-business-list.component.html',\r\n styleUrls: ['./agent-business-list.component.css']\r\n})\r\nexport class AgentBusinessListComponent implements OnInit {\r\n\r\n routerLink = '';\r\n activeUrl = '';\r\n BusinessList :any;\r\n currentPage: number;\r\n sort_slug = '';\r\n totalBuinessCount = 0;\r\n noData = false;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private hS: HomeService,\r\n private activeRoute: ActivatedRoute,\r\n private router: Router,\r\n private cS: CommonService) {\r\n this.currentPage = 1;\r\n\r\n /*\r\n *get url slug\r\n */\r\n this.activeRoute.params.subscribe(data => {\r\n this.routerLink = data.slug;\r\n /*\r\n *Check which type of sorting happend\r\n */\r\n if (this.routerLink === 'relevance') {\r\n this.sort_slug = '';\r\n } else if (this.routerLink === 'recently-added') {\r\n this.sort_slug = '';\r\n } else if (this.routerLink === 'subscription-plan') {\r\n this.sort_slug = '';\r\n } else if (this.routerLink === 'renewal-date') {\r\n this.sort_slug = '';\r\n } else {\r\n this.router.navigateByUrl('/home')\r\n }\r\n this.getBusinessListForAgent();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getBusinessListForAgent() {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n const postJson = {\r\n agent_id: userDetail.id\r\n };\r\n this.hS.getBusinessListForAgent(postJson).subscribe((res: any) => {\r\n this.BusinessList = res.data;\r\n this.totalBuinessCount = res.businessesTotalCount;\r\n if (this.totalBuinessCount == 0 || this.totalBuinessCount == undefined) {\r\n this.noData = true;\r\n }\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n\r\n viewBusiness() {\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"ang_photo\" | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
0\" class=\"col-md-12\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ post.user.name }}\r\n \r\n   |  \r\n \r\n {{ post.business_name }}\r\n \r\n \r\n {{ post.user.name }}\r\n \r\n

\r\n

\r\n {{ post.category }} |\r\n {{\r\n post.created_at_diff\r\n }}\r\n

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

\r\n \r\n {{(readMore && readMorePost == post.id) ? post.content : (post.content | slice: 0:130)}}\r\n \r\n 130\">...\r\n 130\" (click)=\"readMore = true;readMorePost = post.id\">\r\n See More\r\n \r\n 130\" (click)=\"readMore = false;readMorePost = 0\">\r\n See less\r\n \r\n

\r\n
\r\n \r\n
0\" class=\"share_image add_padding\">\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \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
\r\n \r\n
\r\n

0; else viewCount\">\r\n \r\n {{ post.likes_count }}\r\n \r\n \r\n {{ post.share_count }}\r\n {{ post.share_count == 1 ? (\"ang_share\" | translate) : (\"ang_shares\" | translate) }}\r\n \r\n \r\n {{ post.views_count }}\r\n {{ post.views_count == 1 ? (\"ang_view\" | translate) : (\"ang_views\" | translate) }}\r\n \r\n

\r\n \r\n

\r\n \r\n \r\n {{ post.views_count }}\r\n {{ post.views_count == 1 ? (\"ang_view\" | translate) : (\"ang_views\" | translate) }}\r\n \r\n \r\n {{ post.share_count }}\r\n {{ post.share_count == 1 ? (\"ang_share\" | translate) : (\"ang_shares\" | 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

{{ 'ang_no_post' | translate }}

\r\n Share your first post\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ 'ang_no_post_available' | 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
{{ \"ang_share\" | 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 {{ postId > 0 ? (\"ang_edit_post\" | translate) : (\"ang_new_post\" | 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 {{ \"ang_category_error\" | translate }}\r\n

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

\r\n {{ \"ang_message_error\" | 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
{{ \"ang_add_images\" | translate }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {{ \"ang_external_pattern_error\" | translate }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n ","import { HttpHeaders } from '@angular/common/http';\r\nimport { Component, HostListener, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OwlCarousel } from 'ngx-owl-carousel';\r\nimport { ReportBusinessModalComponent } from 'src/app/shared/component/report-business-modal/report-business-modal.component';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport Swal from 'sweetalert2';\r\nimport swal from 'sweetalert2';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n \r\n\r\n@Component({\r\n selector: 'ryec-post',\r\n templateUrl: './post.component.html',\r\n styleUrls: ['./post.component.css', \"../home-post/home-post.component.css\"]\r\n})\r\nexport class PostComponent implements OnInit {\r\n @ViewChild('owlElement')\r\n owlElement!: OwlCarousel;\r\n fun() {\r\n this.owlElement.next([200]);\r\n }\r\n closeResult = false;\r\n postForm: FormGroup;\r\n toggled: boolean = false;\r\n message: string = \"\";\r\n postType: Array = [\"Community Posts\", \"MyRajasthan Club Posts\"];\r\n selectedType = this.postType[0];\r\n modalReference: any;\r\n user_id = 0;\r\n url: any;\r\n images: any[] = [];\r\n postFormData: FormData = new FormData();\r\n filePostImages: any = [];\r\n categories = [];\r\n cities = [];\r\n keywords = [];\r\n posts: Array = [];\r\n collectionSize = 0;\r\n totalPostCount = 0;\r\n currentPage: number;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n readMore: boolean = false;\r\n readMorePost = 0;\r\n repoUrl = window.location.href;\r\n sharingUrl: string = \"\";\r\n sharingTitle: string = \"\";\r\n categoryName: string = \"\";\r\n cityName: string = \"\";\r\n externalLink: string = \"\";\r\n messageValue: string = \"\";\r\n currentPosition: number = 0;\r\n isPostLoading: boolean = false;\r\n deleteImages: boolean = false;\r\n deleteImageIds: Array = [];\r\n postId = 0;\r\n city_search_location = 'Select City';\r\n cityLocations :any;\r\n selectedCity = '';\r\n cityIsShow = false;\r\n citySearchText = '';\r\n city_search_text = false;\r\n pageSize = 20;\r\n postImages :any;\r\n postUserId: number = 0;\r\n isPostNotExist: boolean = false;\r\n appName = environment.APP_NAME;\r\n\r\n lat = localStorage.getItem(\"latitude\");\r\n lng = localStorage.getItem(\"longitude\");\r\n\r\n @Input('isPostDetailPage') postDetailId = 0;\r\n @Input() userId: number = 0;\r\n @Input() isSelfBusiness: boolean = false;\r\n\r\n customOptions = {\r\n loop: true,\r\n dots: false,\r\n nav: true,\r\n items: 1,\r\n margin: 0,\r\n startPosition: 0\r\n }\r\n\r\n HttpHeaderOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n }),\r\n };\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n public router: Router,\r\n private hS: HomeService,\r\n public cS: CommonService,\r\n private httpS: HttpService,\r\n private modalService: NgbModal\r\n ) {\r\n this.url = \"\";\r\n this.currentPage = 1;\r\n const reg = '((http|https)://)(www.)?[a-zA-Z0-9@:%._\\\\+~#?&//=]{2,256}\\\\.[a-z]{2,6}\\\\b([-a-zA-Z0-9@:%._\\\\+~#?&//=]*)';\r\n this.postForm = this.fb.group({\r\n category: [\"\", Validators.required],\r\n // city: [\"\"],\r\n message: [\"\", Validators.required],\r\n externallink: [\"\", Validators.pattern(reg)],\r\n title: [\"\"]\r\n });\r\n\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.user_id = userDetail.id;\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (event.srcElement.name != \"cityLocationDropdown\" && event.srcElement.name != \"cityLocation\") {\r\n this.cityIsShow = false;\r\n } else {\r\n this.cityIsShow = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.getAllPost();\r\n this.getCategoryDetail();\r\n // this.getAddressDetail();\r\n // this.cS.scrollTop();\r\n }\r\n\r\n checkAuth() {\r\n if (this.cS.getUserDetails()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getCategoryDetail() {\r\n const apiUrl = environment.RYEC_API_URL + \"getCategoryAndModKeywords\";\r\n this.httpS.get(apiUrl).subscribe(\r\n (res: any) => {\r\n this.categories = res.data.categories;\r\n this.keywords = res.data.keywords;\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get city Detail from entered details\r\n *@returns void\r\n */\r\n getAddressDetail() {\r\n this.hS.getAddressMaster().subscribe(\r\n (res: any) => {\r\n this.cities = res.data.cities;\r\n this.cityLocations = res.data.cities;\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n @HostListener('window:scroll', [])\r\n scrollHandler() {\r\n // for get height and postion of div scrolling\r\n // var winScroll = event.currentTarget.scrollTop;\r\n // var height = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\r\n\r\n // for get height and postion of window scrolling\r\n var winScroll = window.scrollY + window.innerHeight;\r\n var height = document.body.scrollHeight;\r\n var scrolled = (winScroll / height) * 100;\r\n\r\n var lastPage = Math.ceil(this.totalPostCount / this.pageSize);\r\n // console.log('height:- '+height);\r\n // console.log('last page:- '+lastPage);\r\n if (winScroll > this.currentPosition && scrolled > 80 && lastPage > this.currentPage && !this.isPostLoading) {\r\n console.log('scrolled')\r\n this.isPostLoading = true;\r\n this.currentPage++;\r\n this.getAllPost(true);\r\n }\r\n // console.log(\"Scroll %\", scrolled);\r\n // console.log(\"current:- \", this.currentPosition);\r\n // console.log('page: ' + this.currentPage);\r\n this.currentPosition = winScroll;\r\n }\r\n\r\n getAllPost(isScroll: boolean = false): void {\r\n const apiUrl = environment.RYEC_API_URL + \"getAllPosts\";\r\n const paramConfig = {\r\n user_id: this.userId,\r\n type: this.selectedType === this.postType[0] ? \"business_user\" : \"admin\",\r\n page: (isScroll) ? this.currentPage : 1,\r\n latitude: this.lat,\r\n longitude: this.lng,\r\n near_by: (this.lat && this.lng && false) ? 'true' : 'false',\r\n limit: this.pageSize,\r\n post_id: (this.postDetailId > 0) ? this.postDetailId : ''\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n if (isScroll) {\r\n this.posts = [...this.posts, ...res.data];\r\n\r\n } else {\r\n this.posts = res.data;\r\n this.currentPage = 1;\r\n }\r\n this.totalPostCount = res.total;\r\n this.countCollectionSize();\r\n this.isPostLoading = false;\r\n\r\n if (!this.posts.length) {\r\n this.isPostNotExist = true;\r\n }\r\n else {\r\n this.isPostNotExist = false;\r\n }\r\n }\r\n else {\r\n this.isPostNotExist = true;\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n editPostByPostId(content: any, id: number): void {\r\n this.images = [];\r\n this.deleteImageIds = [];\r\n this.filePostImages = [];\r\n this.postFormData = new FormData();\r\n const apiUrl = environment.RYEC_API_URL + \"getPostDetail\";\r\n const paramConfig = {\r\n post_id: id,\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.postId = res.data.id;\r\n // this.postUserId = res.data.user_id;\r\n this.categoryName = res.data.category;\r\n // this.selectedCity = res.data.city;\r\n // this.city_search_location = (res.data.city != '') ? res.data.city : 'Select City';\r\n this.messageValue = res.data.content;\r\n this.externalLink = res.data.external_link;\r\n this.postImages = res.data.images;\r\n this.cityIsShow = false;\r\n this.deleteImages = false;\r\n //for open modal box\r\n this.modalReference = this.modalService.open(content, { size: \"lg\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n deletePostByPostId(id: number): void { \r\n Swal.fire({\r\n title: 'Do you really want to delete this post?',\r\n \r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n const apiUrl = environment.RYEC_API_URL + \"deletePost\";\r\n const paramConfig = {\r\n post_id: id,\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getAllPost();\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n }\r\n )}\r\n\r\n /**\r\n * report post of other user and load common component for report\r\n * @Yuvraj 23/12/2021\r\n */\r\n loadReportPostComponent(id: number) {\r\n const modalReference = this.modalService.open(ReportBusinessModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.type = 'Post';\r\n modalReference.componentInstance.postId = id;\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n handleLikePost(id: number, event: any): void {\r\n if (this.checkAuth()) {\r\n const hasClass = event.target.classList.contains('liked');\r\n if (hasClass) {\r\n event.target.classList.remove(\"liked\");\r\n } else {\r\n event.target.classList.add(\"liked\");\r\n }\r\n\r\n const apiUrl = environment.RYEC_API_URL + \"likePost\";\r\n const paramConfig = {\r\n post_id: id,\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.getAllPost();\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n } else {\r\n this.cS.navigateTo('/login');\r\n }\r\n }\r\n\r\n handleSharePost(): void {\r\n const apiUrl = environment.RYEC_API_URL + \"likePost\";\r\n const paramConfig = {\r\n post_id: this.postId,\r\n share: true\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getAllPost();\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementById('closeBtn') as HTMLElement;\r\n element.click();\r\n }, 200);\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n countCollectionSize() {\r\n if (this.totalPostCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalPostCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * this.pageSize;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n openSm(content: any) {\r\n if (this.checkAuth()) {\r\n this.modalReference = this.modalService.open(content, { windowClass: \"modal-md\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n this.postId = 0;\r\n this.postForm.reset();\r\n this.filePostImages = [];\r\n this.postImages = [];\r\n this.images = [];\r\n this.deleteImageIds = [];\r\n this.categoryName = \"\";\r\n this.cityName = \"\";\r\n this.selectedCity = \"\";\r\n this.city_search_location = 'Select City';\r\n this.messageValue = \"\";\r\n this.externalLink = \"\";\r\n this.postFormData = new FormData();\r\n this.cityIsShow = false;\r\n this.closeResult = true;\r\n this.deleteImages = false;\r\n } else {\r\n this.cS.navigateTo('/login');\r\n }\r\n\r\n\r\n }\r\n\r\n close() {\r\n this.closeResult = false;\r\n }\r\n\r\n submitpost(editPost: any) {\r\n if (this.postForm.valid) {\r\n if (editPost > 0) {\r\n let deleteImages = (this.deleteImages) ? 'true' : 'false'\r\n this.postFormData.append(\"post_id\", editPost);\r\n this.postFormData.append(\"delete_images\", deleteImages);\r\n this.postFormData.append(\"delete_image_ids\", JSON.stringify(this.deleteImageIds));\r\n var apiUrl = environment.RYEC_API_URL + \"updatePost\";\r\n } else {\r\n var apiUrl = environment.RYEC_API_URL + \"storePost\";\r\n }\r\n for (const x in Object.keys(this.filePostImages)) {\r\n this.postFormData.append(\"images[\" + x + \"]\", this.filePostImages[x]);\r\n }\r\n this.postFormData.append(\r\n \"category\",\r\n this.postForm.controls.category.value\r\n );\r\n // this.postFormData.append(\"city\", this.selectedCity);\r\n this.postFormData.append(\"title\", this.postForm.controls.title.value);\r\n this.postFormData.append(\"content\", this.postForm.controls.message.value);\r\n this.postFormData.append(\r\n \"external_link\",\r\n this.postForm.controls.externallink.value\r\n );\r\n this.postFormData.append(\"source\", \"myself\");\r\n this.postFormData.append(\"status\", \"active\");\r\n\r\n this.httpS.postUpload(apiUrl, this.postFormData).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getAllPost();\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n });\r\n }\r\n }\r\n\r\n onSelectFile(event: any) {\r\n const srcEle = event.target;\r\n var filesAmount = event.target.files.length;\r\n if ((this.images.length + this.postImages.length + filesAmount) <= 4) {\r\n // this.images = [];\r\n // this.filePostImages = [];\r\n for (let i = 0; i < filesAmount; i++) {\r\n if (srcEle.files && srcEle.files[i]) {\r\n if (this.cS.checkValidImage(srcEle.files[i])) {\r\n this.readURL(srcEle.files[i]);\r\n } else {\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n } else {\r\n this.cS.showError(\"You can only upload 4 images.\");\r\n }\r\n }\r\n\r\n readURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.images.push(reader.result);\r\n self.filePostImages.push(input);\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n deletePostImages(index: number, id?: number): void {\r\n if (id !== undefined) {\r\n this.postImages.splice(index, 1);\r\n this.deleteImageIds.push(id);\r\n } else {\r\n this.images.splice(index, 1);\r\n this.filePostImages.splice(index, 1);\r\n }\r\n // this.deleteImages = true;\r\n // this.images = [];\r\n }\r\n\r\n openShareOptions(content: any, slug: number, title: any) {\r\n if (this.checkAuth()) {\r\n this.postId = slug;\r\n this.sharingUrl = this.repoUrl + \"?post_id=\" + slug;\r\n this.sharingTitle = encodeURIComponent(title);\r\n\r\n this.modalService.open(content, { centered: true, windowClass: \"share_popup\" }).result.then(\r\n (result) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason) => {\r\n console.log(reason);\r\n }\r\n );\r\n } else {\r\n this.cS.navigateTo('/login');\r\n }\r\n }\r\n\r\n shareOnFacebook() {\r\n this.handleSharePost();\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${this.sharingUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n this.handleSharePost();\r\n window.open(`https://twitter.com/intent/tweet?url=${this.sharingUrl}&text=${this.sharingTitle}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n this.handleSharePost();\r\n window.open(`https://www.linkedin.com/shareArticle?url=${this.sharingUrl}&title=${this.sharingTitle}`, 'sharer');\r\n }\r\n openVerticallyCentered(postImage: any, postId: number, slideIndex: number) {\r\n var post = this.posts.find(function (post) {\r\n return post.id == postId;\r\n });\r\n this.postImages = post.images;\r\n this.customOptions.startPosition = slideIndex;\r\n this.modalService.open(postImage, { windowClass: 'post-img-carousel', centered: true });\r\n }\r\n\r\n cityShowLocationDropDown() {\r\n // e.preventDefault();\r\n if (this.cityIsShow) {\r\n this.cityIsShow = false;\r\n } else {\r\n this.cityIsShow = true;\r\n }\r\n }\r\n citySelectLocation(cityLocation: any) {\r\n this.city_search_text = true;\r\n this.city_search_location = this.selectedCity = cityLocation;\r\n this.cityIsShow = false;\r\n }\r\n\r\n cityFilterLocation() {\r\n this.cityLocations = [];\r\n if (this.cityName != '') {\r\n this.cities.filter((item:any)=> {\r\n if (item['name'].toLowerCase().indexOf(this.cityName.toLowerCase()) > -1) {\r\n this.cityLocations.push(item);\r\n }\r\n })\r\n } else {\r\n this.cityLocations = this.cities;\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'trimstr'\r\n})\r\nexport class TrimstrPipe implements PipeTransform {\r\n\r\n transform(value: any, args: any) : any \r\n \t{\r\n \tlet limit = args ? parseInt(args, 10) : 10;\r\n \tlet trail = '...';\r\n \treturn value.length > limit ? value.substring(0, limit) + trail : value;\r\n \t}\r\n\r\n}\r\n","
\r\n \"eddar-real\"\r\n \"eddar-real\"\r\n 0\" (activeId)=\"activeId\">\r\n \r\n
\r\n
\r\n
\r\n \"Random\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {{ businessDetail?.data?.name }}\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n \r\n
\r\n About \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
    \r\n
  • \r\n \"fs\"\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{ \"ang_contactinformation\" | 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
{{ businessDetail?.data?.address }}
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
{{ businessDetail?.data?.country }}
\r\n
-
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
-
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
-
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_businesscategories\" | translate }}\r\n

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

\r\n \r\n {{ category.name }}\r\n 0\">\r\n

\r\n {{ sub_cate.name }}\r\n

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

\r\n
\r\n 2\">{{ \"ang_more\" | translate }}\r\n

\r\n {{ \"ang_nocategoryfound\" | translate }}\r\n

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

\r\n {{ \"ang_businessactivities\" | translate }}\r\n

\r\n

\r\n {{ activity.activity_title }}\r\n

\r\n

\r\n {{ \"ang_noactivityfound\" | translate }}\r\n

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

\r\n {{ \"ang_ratingsandreview\" | translate }}\r\n

\r\n
0\">\r\n
\r\n \r\n \r\n ★\r\n \r\n \r\n ★\r\n \r\n \r\n\r\n {{\r\n businessDetail?.data?.rating?.avg_rating\r\n }}\r\n \r\n \r\n
\r\n {{ businessDetail?.data?.rating?.total }}\r\n {{ \"ang_review\" | translate }}\r\n
\r\n
0\">\r\n {{ \"ang_5star\" | translate }}\r\n

\r\n \r\n

\r\n\r\n {{ \"ang_4star\" | translate }}\r\n

\r\n \r\n

\r\n\r\n {{ \"ang_3star\" | translate }}\r\n

\r\n \r\n

\r\n\r\n {{ \"ang_2star\" | translate }}\r\n

\r\n \r\n

\r\n\r\n {{ \"ang_1star\" | translate }}\r\n

\r\n \r\n

\r\n
\r\n

\r\n {{ \"ang_noratingsandreviewfound\" | translate }}\r\n

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

\r\n {{ \"ang_hoursofoperation\" | translate }}\r\n \r\n

\r\n

\r\n \r\n {{ businessDetail?.data?.current_open_status\r\n }}\r\n : {{ businessDetail?.data?.timings }}\r\n \r\n

\r\n
\r\n {{ time.name }}\r\n {{ time.start_time }} - {{ time.end_time\r\n }}\r\n {{\r\n time.open_close\r\n }}\r\n
\r\n
\r\n {{ \"ang_nohoursofoprationfound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{ \"ang_yearestablished\" | translate }}\r\n

\r\n

\r\n {{ businessDetail?.data?.year_of_establishment }}\r\n

\r\n

\r\n {{ \"ang_noyearfound\" | translate }}\r\n

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

\r\n {{ \"ang_socialprofile\" | translate }}\r\n

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

\r\n {{ businessDetail?.data?.name }}\r\n \r\n {{ businessDetail?.data?.rating?.user_rating }}\r\n \r\n \r\n

\r\n \r\n

trimLength ? (businessDetail?.data?.descriptions | trimstr: trimLength) + '..' : businessDetail?.data?.descriptions\"\r\n >

\r\n
trimLength\r\n \">\r\n {{ \"ang_readmore\" |\r\n translate }}\r\n
\r\n

\r\n {{ \"ang_nodescriprionfound\" | translate }}\r\n

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

{{ \"ang_ownerinformation\" | 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

{{ owner.name }}

\r\n

{{ owner.email }}

\r\n

\r\n {{ owner.country_code\r\n }}-{{ owner.phone }}\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{ \"ang_noownerfound\" | translate }}\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_ourproducts\" | 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
{{ item?.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_noproductfound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_onlineStores\" | 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
{{ item.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_nostoresfound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_ourservices\" | 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
{{ item?.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_noservicefound\" | 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

{{ \"ang_allratings\" | translate }}

\r\n
\r\n
\r\n {{ review.name }} -\r\n {{ review.timestamp | date: \"hh:mm dd.MM.yyyy\" }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \"user_profile\"\r\n
\r\n \r\n
\r\n

{{ review.review }}

\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n 0\" (activeId)=\"activeId\">\r\n \r\n \"Random\r\n \r\n \r\n
\r\n
\r\n\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 \"Random\r\n
\r\n
\r\n
\r\n
\r\n

{{ productDetail.name }}

\r\n\r\n {{\r\n productDetail?.cost }}\r\n\r\n
\r\n

{{ productDetail.descriptions }}

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

{{ serviceDetail?.name }}

\r\n\r\n {{\r\n serviceDetail?.cost }}\r\n\r\n
\r\n

{{ serviceDetail.descriptions }}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n {{ \"ang_ratingsandreview\" | translate | uppercase }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ \"ang_giverating\" | translate }}\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n

\r\n {{ \"ang_reviewisrequired\" | 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 {{ \"ang_writeyourenquiry\" | 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 {{ \"ang_descriptionisrequired\" | 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
{{ businessDetail?.data?.name }}
\r\n \r\n
\r\n
\r\n \r\n

\r\n {{ businessDetail?.data?.descriptions }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n {{ \"ang_businesscategories\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n {{ category.name }}\r\n
      0\">\r\n
    • \r\n - {{ sub_cate.name }} \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n

\r\n {{ \"ang_businessClaimTitle\" | 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 {{ attachedFileName }}\r\n
\r\n
\r\n

\r\n {{ \"ang_businessClaimDescription\" | 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 0\" (activeId)=\"activeId\">\r\n \r\n \"Random\r\n \r\n \r\n
\r\n
\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 \"Random\r\n
\r\n
\r\n
\r\n
\r\n

{{ productDetail.name }}

\r\n {{\r\n productDetail?.cost }}\r\n
\r\n

{{ productDetail.descriptions }}

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

{{ serviceDetail?.name }}

\r\n {{\r\n serviceDetail?.cost }}\r\n
\r\n

{{ serviceDetail.descriptions }}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
{{ businessDetail?.data?.name }}
\r\n \r\n
\r\n
\r\n \r\n

\r\n {{ businessDetail?.data?.descriptions }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n {{ \"ang_businesscategories\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n {{ category }}\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
{{ \"ang_share\" | 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 Post \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Marketplace Ads\r\n \"Marketplace\"\r\n \r\n
\r\n
\r\n
\r\n

{{ \"ang_marketplace_available_on_android_ios\" | 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","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport {\r\n BusinessListDetailsRes\r\n} from 'src/app/shared/class/data.model';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Meta } from '@angular/platform-browser';\r\n \r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { ReportBusinessModalComponent } from 'src/app/shared/component/report-business-modal/report-business-modal.component';\r\n//import { AnyARecord } from 'dns';\r\n\r\n@Component({\r\n selector: 'ryec-business-detail',\r\n templateUrl: './business-detail.component.html',\r\n styleUrls: ['./business-detail.component.css', \"../market-place/market-place.component.css\"]\r\n})\r\nexport class BusinessDetailComponent implements OnInit {\r\n\r\n currentPage: number;\r\n selectedItem: any;\r\n selectedIndex: number;\r\n selectedServiceItem: any;\r\n selectedServiceIndex: number;\r\n selectedImageItem: any;\r\n selectedImageItemIndex: number;\r\n business_slug = '';\r\n business_name = '';\r\n currentRate = 0;\r\n businessDetail: any;\r\n productDetail : any;\r\n serviceDetail :any;\r\n collectionSize = 0;\r\n business_id: any;\r\n assetTypeId: number = 0;\r\n modalReference: any;\r\n activeId = 0;\r\n totalRatingCount = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n allRatings :any;\r\n business_category:any;\r\n start_5 = 0;\r\n start_4 = 0;\r\n start_3 = 0;\r\n start_2 = 0;\r\n start_1 = 0;\r\n trimLength = environment.DESCRIPTIO_TRIM_LENGTH;\r\n review = '';\r\n reviewValid = false;\r\n enquiryForm = {\r\n title: '',\r\n description: ''\r\n }\r\n validTitle = false;\r\n validDescription = false;\r\n validForm = false;\r\n repoUrl = window.location.href;\r\n user_id = 0;\r\n businessUserId: any;\r\n isAgent: any;\r\n showAgent = false;\r\n rating = 4.14;\r\n // businessClaimForm = {\r\n // entity_id: 0,\r\n // document: ''\r\n // }\r\n businessClaimForm: FormData = new FormData();\r\n isBusinessClaimValid: boolean = false;\r\n isFileValid: boolean = false;\r\n isBusinessAlreadyClaim = false;\r\n attachedFileName: string = \"\";\r\n userId: number = 0;\r\n isPostView: boolean = false;\r\n isMobile: boolean = false;\r\n isPageLoaded: boolean = false;\r\n isUserHasBusiness: boolean = false;\r\n businessDescription: string = \"\";\r\n\r\n businessStoresList: any;\r\n businessImages: any[] = [];\r\n schemaJson: any[] = [];\r\n businessImageUrl: string = \"\";\r\n assetTypeFieldsModel: any = {};\r\n appName = environment.APP_NAME;\r\n isUserRajput: boolean = false;\r\n\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n private hS: HomeService,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n // private deviceService: Ng2DeviceService,\r\n private router: Router,\r\n private meta: Meta) {\r\n this.businessDetail = {\r\n status: 0,\r\n message: ''\r\n };\r\n this.selectedIndex = 1;\r\n this.selectedServiceIndex = 1;\r\n this.currentPage = 1;\r\n this.selectedImageItemIndex = 1;\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n if (userDetail.isRajput) {\r\n this.isUserRajput = true;\r\n }\r\n this.user_id = userDetail.id;\r\n if (userDetail.business_id) {\r\n this.isUserHasBusiness = true;\r\n }\r\n }\r\n /*\r\n *get url slug\r\n */\r\n this.activeRoute.params.subscribe(data => {\r\n this.business_slug = data.slug;\r\n this.getBusinessDetailBySlug();\r\n });\r\n this.isAgent = localStorage.getItem('isAgent');\r\n if (this.isAgent === 'A') {\r\n this.showAgent = true;\r\n }\r\n\r\n localStorage.removeItem('business_name');\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n\r\n this.businessClaimForm.set('entity_id', 0);\r\n this.businessClaimForm.set('document', '');\r\n // this.isMobile = this.deviceService.isMobile();\r\n }\r\n\r\n\r\n /**\r\n * Get Business Detail by business slug\r\n *@returns void\r\n */\r\n getBusinessDetailBySlug(): void {\r\n const postJson = { business_slug: this.business_slug };\r\n let categoryId: number = 0;\r\n\r\n this.hS.getBusinessDetailBySlug(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.meta.updateTag({ name: 'twitter:site', content: this.repoUrl });\r\n this.meta.updateTag({ name: 'twitter:title', content: res['data']['name'] });\r\n this.meta.updateTag({ name: 'twitter:description', content: res['data']['descriptions'] });\r\n\r\n this.meta.updateTag({ name: 'og:url', content: this.repoUrl });\r\n this.meta.updateTag({ name: 'og:type', content: \"Business details\" });\r\n this.meta.updateTag({ name: 'og:title', content: res['data']['name'] });\r\n this.meta.updateTag({ name: 'og:description', content: res['data']['descriptions'] });\r\n\r\n if (res.data.owners.length > 0) {\r\n this.meta.updateTag({ name: 'twitter:image', content: res['data']['owners']['0']['image_url'] });\r\n this.meta.updateTag({ name: 'twitter:card', content: res['data']['owners']['0']['image_url'] });\r\n this.meta.updateTag({ name: 'og:image', content: res['data']['owners']['0']['image_url'] });\r\n }\r\n\r\n this.businessDetail = res;\r\n this.business_id = res.data.id;\r\n this.businessDescription = res.data.descriptions;\r\n this.businessImages = res.data.business_images;\r\n this.assetTypeId = res.data.asset_type_id;\r\n this.business_name = res.data.name;\r\n this.businessUserId = res.data.user_id;\r\n this.totalRatingCount = res.data.rating.total;\r\n this.isPageLoaded = true;\r\n if (this.businessImages.length > 0) {\r\n this.businessImageUrl = this.businessImages[0].image_name;\r\n }\r\n if (res.data.parent_categories.length > 0) {\r\n categoryId = res.data.parent_categories[0].category_id;\r\n }\r\n /**\r\n * if schema is not empty then call generate fun and pass values\r\n * @Yuvraj 20/01/2022 \r\n */\r\n if (res.data.schema_json.length > 0) {\r\n this.generateEntitySchema(res.data.schema_json);\r\n }\r\n\r\n this.getSubAssetTypeFields(categoryId, res.data.asset_type_id);\r\n this.getAddedOnlineStores();\r\n this.start_5 = Math.round((res.data.rating['start_5_rating'] * 100) / this.totalRatingCount);\r\n this.start_4 = Math.round((res.data.rating['start_4_rating'] * 100) / this.totalRatingCount);\r\n this.start_3 = Math.round((res.data.rating['start_3_rating'] * 100) / this.totalRatingCount);\r\n this.start_2 = Math.round((res.data.rating['start_2_rating'] * 100) / this.totalRatingCount);\r\n this.start_1 = Math.round((res.data.rating['start_1_rating'] * 100) / this.totalRatingCount);\r\n this.getNextPageRatingList();\r\n }\r\n }, (err:any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n * get schema json from the api and assign to schemaJson.\r\n * this will generate shema json script code in html file \r\n * @Yuvraj 20/01/2022 06:00PM\r\n */\r\n generateEntitySchema(resSchemaJson: any) {\r\n this.schemaJson = resSchemaJson;\r\n }\r\n\r\n /**\r\n *open Image in modal view\r\n */\r\n openImageViwer(index: any, content: any) {\r\n this.activeId = index;\r\n this.modalService.open(content, { windowClass: 'image_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n getSubAssetTypeFields(categoryId: number, assetTypeId: number) {\r\n const postJson = {\r\n category_id: categoryId,\r\n asset_type_id: assetTypeId\r\n };\r\n\r\n this.hS.getSubAssetTypeFields(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.assetTypeFieldsModel = res.data;\r\n }\r\n }, (err:any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n *open Product detail in modal view\r\n */\r\n openProductDetail(product_id: any, content: any) {\r\n const postJson = { product_id: product_id };\r\n this.hS.getProductDetailByProductId(postJson).subscribe((res: any) => {\r\n this.productDetail = res.data;\r\n this.modalService.open(content, { windowClass: 'product_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }, (err:any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n *open Service detail in modal view\r\n */\r\n openServiceDetail(service_id: any, content: any) {\r\n const postJson = { service_id: service_id };\r\n this.hS.getServiceDetailByServiceId(postJson).subscribe((res: any) => {\r\n this.serviceDetail = res.data;\r\n this.modalService.open(content, { windowClass: 'service_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }, (err:any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n *open business list add review and rating modal\r\n */\r\n addReviewAndRating(content: any) {\r\n this.review = '';\r\n this.modalReference = this.modalService.open(content, { windowClass: 'rating_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n this.getBusinessDetailBySlug();\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n *add reviews and rating for business list\r\n */\r\n submitRatingDetail() {\r\n if (this.review == '' && this.review.trim() == '') {\r\n this.reviewValid = true;\r\n } else {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n const postJson = {\r\n user_id: userDetail.id,\r\n business_id: this.business_id,\r\n rating: this.currentRate,\r\n comment: this.review\r\n }\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'addBusinessRating';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n },( err:any) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n checkAuth() {\r\n if (this.cS.getUserDetails()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n loadReportBusinessComponent() {\r\n const modalReference = this.modalService.open(ReportBusinessModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.assetTypeId = this.assetTypeId;\r\n modalReference.componentInstance.entityId = this.business_id;\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n *open business list add enquiry modal\r\n */\r\n addEnquiryForBusiness(content: any) {\r\n this.enquiryForm.title = '';\r\n this.enquiryForm.description = ''\r\n this.modalReference = this.modalService.open(content, { windowClass: 'enquiry_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason)\r\n });\r\n }\r\n\r\n /**\r\n *add reviews and rating for business list\r\n */\r\n submitEnquiryDetail() {\r\n const postJson = {\r\n business_id: this.business_id,\r\n // title: this.enquiryForm.title,\r\n message: this.enquiryForm.description\r\n };\r\n\r\n console.log(postJson)\r\n const apiUrl = environment.RYEC_API_URL + 'sendEnquiry';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n console.log(res);\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n }, (err:any) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n\r\n countCollectionSize() {\r\n if (this.totalRatingCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalRatingCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n /**\r\n *get business rating list\r\n */\r\n getNextPageRatingList(event?: number): void {\r\n //console.log(event);\r\n const postJson = { business_id: this.business_id, page: this.currentPage };\r\n\r\n this.hS.getBusinessRating(postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.allRatings = res.data.reviews;\r\n this.countCollectionSize();\r\n }\r\n }, (err:any)=> {\r\n console.log(event);\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n *open business list detail view\r\n */\r\n openBusinessDescription(content: any) {\r\n this.modalService.open(content, { windowClass: 'desc_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n *open business list categories list\r\n */\r\n openAllCategories(content: any) {\r\n this.modalService.open(content, { windowClass: 'allcategory_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n *open share popup\r\n */\r\n openShareOptions(content: any) {\r\n this.modalService.open(content, { windowClass: 'share_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n shareOnFacebook() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://twitter.com/intent/tweet?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.linkedin.com/shareArticle?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareNow = async () => {\r\n const navigator = window.navigator as any;\r\n let urlLang: string = \"\";\r\n let lang = this.cS.getLang();\r\n if (lang) {\r\n if (lang == 'en') {\r\n urlLang = \"en\";\r\n }\r\n if (lang == 'hi') {\r\n urlLang = \"hi\";\r\n }\r\n }\r\n else {\r\n urlLang = \"en\";\r\n }\r\n\r\n if ('canShare' in navigator) {\r\n let currentFullUrl = window.location.href + '?lang=' + urlLang;\r\n let title = this.business_name;\r\n let text = new DOMParser().parseFromString(this.businessDescription, \"text/html\").documentElement.textContent;\r\n let imageUrl = this.businessImageUrl;\r\n const share = async function () {\r\n try {\r\n // const response = await fetch(imageUrl, {mode: 'no-cors'});\r\n const response = await fetch(imageUrl);\r\n const blob = await response.blob();\r\n const file = new File([blob], 'image.jpg', { type: blob.type });\r\n await navigator.share({\r\n url: currentFullUrl,\r\n title: title,\r\n text: text,\r\n files: [file],\r\n });\r\n console.log(\"shared successfully....\");\r\n } catch (err:any) {\r\n console.log(err.name, err.message);\r\n }\r\n };\r\n share();\r\n }\r\n };\r\n\r\n changeEvent(event?: any) {\r\n console.log(event);\r\n if (this.review === '' && this.review.trim() === '') {\r\n this.reviewValid = true;\r\n }\r\n else {\r\n this.reviewValid = false;\r\n }\r\n }\r\n\r\n changeTitleEvent(event?: any) {\r\n console.log(event);\r\n // if (this.enquiryForm.title === '' && this.enquiryForm.title.trim() === '') {\r\n // this.validTitle = true;\r\n // } else {\r\n // this.validTitle = false;\r\n // }\r\n\r\n if (this.enquiryForm.description === '' && this.enquiryForm.description.trim() === '') {\r\n this.validDescription = true;\r\n } else {\r\n this.validDescription = false;\r\n }\r\n\r\n // if (this.enquiryForm.title === '' || this.enquiryForm.title.trim() === '' || this.enquiryForm.description === '' || this.enquiryForm.description.trim() === '') {\r\n if (this.enquiryForm.description === '' || this.enquiryForm.description.trim() === '') {\r\n this.validForm = false;\r\n } else {\r\n this.validForm = true;\r\n }\r\n }\r\n\r\n onBusinessClaim(content: any) {\r\n this.businessClaimForm.set('entity_id', 0);\r\n this.businessClaimForm.set('document', '');\r\n console.log('businessClaimForm', this.businessClaimForm);\r\n this.modalReference = this.modalService.open(content, { windowClass: 'enquiry_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason)\r\n });\r\n }\r\n\r\n onFileChange(event: any) {\r\n const srcEle = event.srcElement;\r\n // console.log('srcEle', event)\r\n this.attachedFileName = srcEle.files[0].name;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidDocSize(srcEle.files[0])) {\r\n this.businessClaimForm.append('entity_id', this.business_id);\r\n this.businessClaimForm.append('document', srcEle.files[0]);\r\n this.isBusinessClaimValid = true;\r\n // this.readURL(srcEle.files[0]);\r\n } else {\r\n this.businessClaimForm.set('entity_id', 0);\r\n this.businessClaimForm.set('document', '');\r\n this.cS.showError(\"Please select file less than 2MB.\");\r\n this.isBusinessClaimValid = false;\r\n }\r\n }\r\n }\r\n\r\n\r\n onBusinessClaimsubmit() {\r\n if (this.isBusinessClaimValid) {\r\n const apiUrl = environment.RYEC_API_URL + 'claimEntity';\r\n this.httpS.postUpload(apiUrl, this.businessClaimForm).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isBusinessAlreadyClaim = true;\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isBusinessAlreadyClaim = false;\r\n }\r\n this.modalReference.close();\r\n this.isBusinessClaimValid = false;\r\n }, (err:any) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n else {\r\n this.cS.showError(\"Please select document file\");\r\n }\r\n }\r\n\r\n /**\r\n * add or update owner data\r\n * @param ownerId\r\n */\r\n viewOwnerData(ownerId?: number) {\r\n localStorage.setItem('business_name', this.business_name);\r\n const owner_id = btoa(ownerId);\r\n this.router.navigate(['/home/business-owner'], { queryParams: { owner_id: owner_id }, queryParamsHandling: 'merge' });\r\n }\r\n\r\n /**\r\n * get online added stores\r\n * @Yuvraj 30/11/2021\r\n */\r\n getAddedOnlineStores() {\r\n const postJson = { business_id: this.business_id };\r\n this.hS.getBusinessOnlineStores(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.businessStoresList = res.data;\r\n }\r\n else {\r\n this.businessStoresList = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * on click store redirect to store url\r\n * @Yuvraj 01/12/2021\r\n */\r\n onStoreClick(url: string) {\r\n window.open(url, '_blank');\r\n }\r\n\r\n onTabClick(event: any) {\r\n let tabName: string = \"\";\r\n tabName = event.tab.textLabel;\r\n if (tabName == 'Post') {\r\n this.userId = this.businessUserId;\r\n this.isPostView = true;\r\n }\r\n else {\r\n this.isPostView = false;\r\n }\r\n }\r\n}\r\n","
0\">\r\n\t\r\n\t\r\n
\r\n\r\n
0\">\r\n\t{{'ang_sortby' | translate}}\r\n \t\r\n
\r\n\r\n
\r\n
0\">\r\n
\r\n ({{'ang_showing' | translate}} {{first}}-{{last}} {{'ang_of' | translate}} {{totalBuinessCount}} {{'ang_businesses' | translate}})\r\n
\r\n \r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{item.name}}\r\n

\r\n
    \r\n
  • \r\n {{item.owners}}
  • \r\n \r\n
  • \r\n \r\n {{item.city}}, {{item.state}}, {{item.country}}\r\n
  • \r\n\r\n
  • \r\n \r\n {{item.categories_name_list}}\r\n
  • \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\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 \r\n

{{'ang_nomatches' | translate}}

\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\nimport {\r\n\tmarker\r\n} from 'src/app/shared/class/data.model';\r\n@Component({\r\n\tselector: 'ryec-business-list',\r\n\ttemplateUrl: './business-list.component.html',\r\n\tstyleUrls: ['./business-list.component.css']\r\n})\r\nexport class BusinessListComponent implements OnInit {\r\n\r\n\tcurrentPage: number;\r\n\trouterLink = '';\r\n\tactiveUrl = '';\r\n\tBusinessList :any;\r\n\tsort_slug = '';\r\n\tmaxSize = 5;\r\n\ttotalBuinessCount = 0;\r\n\tcollectionSize = 0;\r\n\tfirst = 1;\r\n\tlast = 0;\r\n\tperPageList = environment.BUSINESS_LIST_LIMIT;\r\n\tendPage: number = environment.BUSINESS_LIST_LIMIT;\r\n\tcenter_lat = localStorage.getItem('latitude');\r\n\tcenter_long = localStorage.getItem('longitude');\r\n\tbusinessMarkers: marker[] = [];\r\n\tbusiness_title = '';\r\n\tbusiness_address = '';\r\n\tbusiness_slug = '';\r\n\tnoData = false;\r\n\tuser_lat: any;\r\n\tuser_long: any;\r\n\tisShow = true;\r\n\tappName = environment.APP_NAME;\r\n\r\n\tconstructor(\r\n\t\tprivate activeRoute: ActivatedRoute,\r\n\t\tprivate hS: HomeService,\r\n\t\tprivate cS: CommonService,\r\n\t\tprivate router: Router) {\r\n\t\tthis.currentPage = 1;\r\n\t\tconst activeUrlArray = this.activeRoute.snapshot.url;\r\n\t\tthis.user_lat = localStorage.getItem('latitude');\r\n\t\tthis.user_long = localStorage.getItem('longitude');\r\n\r\n\t\t/*\r\n\t\t*get url slug\r\n\t\t*/\r\n\t\tthis.activeRoute.params.subscribe(data => {\r\n\t\t\tthis.routerLink = data.slug;\r\n\t\t\tif (activeUrlArray.length > 3) {\r\n this.activeUrl = activeUrlArray[2].path;\r\n\t\t\t}\r\n\t\t\tthis.currentPage = 1;\r\n\r\n\t\t\t/*\r\n\t\t\t*Check which type of sorting happend\r\n\t\t\t*/\r\n\t\t\tif (this.routerLink === 'relevance') {\r\n\t\t\t\tthis.sort_slug = 'relevance';\r\n\t\t\t}\r\n\t\t\telse if (this.routerLink === 'popularity') {\r\n\t\t\t\tthis.sort_slug = 'popular';\r\n\t\t\t}\r\n\t\t\telse if (this.routerLink === 'ratings') {\r\n\t\t\t\tthis.sort_slug = 'ratings';\r\n\t\t\t}\r\n\t\t\telse if (this.routerLink === 'near-by') {\r\n\t\t\t\tthis.sort_slug = 'nearMe';\r\n\t\t\t}\r\n\t\t\telse if (this.routerLink === 'atoz') {\r\n\t\t\t\tthis.sort_slug = 'AtoZ';\r\n\t\t\t}\r\n\t\t\telse if (this.routerLink === 'ztoa') {\r\n\t\t\t\tthis.sort_slug = 'ZtoA';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.router.navigateByUrl('/home');\r\n\t\t\t}\r\n\t\t\tthis.businessMarkers = [];\r\n\t\t\tthis.checkRouterUrlForCallingAPI();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (this.center_lat === '' || this.center_lat === null) {\r\n\t\t\tthis.hS.getNetworkLatLong();\r\n\t\t}\r\n\t\tthis.cS.scrollTop();\r\n\t}\r\n\r\n\tcheckRouterUrlForCallingAPI() {\r\n\t\tconst postJson: PostJsonBusinessList = {\r\n\t\t\tsortBy: this.sort_slug,\r\n\t\t\tpage: this.currentPage,\r\n\t\t\tlimit: this.perPageList\r\n\t\t};\r\n\r\n\t\tif (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\r\n\t\t\tpostJson.radius = environment.LOCATION_RADIUS;\r\n\t\t\tpostJson.latitude = this.center_lat;\r\n\t\t\tpostJson.longitude = this.center_long;\r\n\t\t}\r\n\r\n\t\tif (this.sort_slug === 'relevance') {\r\n\t\t\tpostJson.latitude = this.center_lat;\r\n\t\t\tpostJson.longitude = this.center_long;\r\n\t\t}\r\n\t\tswitch (this.activeUrl) {\r\n\t\t\tcase 'promoted-business':\r\n\t\t\t\t/*\r\n\t\t\t\t*Get all Promoted Business list from server\r\n\t\t\t\t*/\r\n\t\t\t\tthis.hS.getPromotedBusinessListing(postJson).subscribe((res: any) => {\r\n\t\t\t\t\tconsole.log(res.data);\r\n\t\t\t\t\tthis.BusinessList = res.data;\r\n\t\t\t\t\tthis.totalBuinessCount = res.businessesTotalCount;\r\n\t\t\t\t\tthis.countCollectionSize();\r\n\t\t\t\t}, err => {\r\n\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'recently-added-business':\r\n\t\t\t\t/*\r\n\t\t\t\t*Get all Recently added Business list from server\r\n\t\t\t\t*/\r\n\t\t\t\tthis.hS.getRecentlyAddedBusinessListing(postJson).subscribe((res: any) => {\r\n\t\t\t\t\tthis.BusinessList = res.data;\r\n\t\t\t\t\tthis.totalBuinessCount = res.businessesTotalCount;\r\n\t\t\t\t\tthis.countCollectionSize();\r\n\t\t\t\t}, err => {\r\n\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'most-populuar-business':\r\n\t\t\t\t/*\r\n\t\t\t\t*Get all Popular added Business list from server\r\n\t\t\t\t*/\r\n\t\t\t\tthis.hS.getPopularBusinessList(postJson).subscribe((res: any) => {\r\n\t\t\t\t\tthis.BusinessList = res.data;\r\n\t\t\t\t\tthis.totalBuinessCount = res.businessesTotalCount;\r\n\t\t\t\t\tthis.countCollectionSize();\r\n\t\t\t\t}, err => {\r\n\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'investment-opportunities':\r\n\t\t\t\t/*\r\n\t\t\t\t*Get all Investment Opportunity listing from server\r\n\t\t\t\t*/\r\n\t\t\t\tthis.hS.getInvestmentOpportunityList(postJson).subscribe((res: any) => {\r\n\t\t\t\t\tthis.BusinessList = res.data;\r\n\t\t\t\t\tthis.totalBuinessCount = res.businessesTotalCount;\r\n\t\t\t\t\tthis.countCollectionSize();\r\n\t\t\t\t}, err => {\r\n\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'premium-business':\r\n\t\t\t\t/*\r\n\t\t\t\t*Get all Premium Business list from server\r\n\t\t\t\t*/\r\n\t\t\t\tthis.hS.getPremiumBusinessListing(postJson).subscribe((res: any) => {\r\n\t\t\t\t\tconsole.log(res.data);\r\n\t\t\t\t\tthis.BusinessList = res.data;\r\n\t\t\t\t\tthis.totalBuinessCount = res.businessesTotalCount;\r\n\t\t\t\t\tthis.countCollectionSize();\r\n\t\t\t\t}, err => {\r\n\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\t/*\r\n\t\t\t\t*Get all Business list from server for category\r\n\t\t\t\t*/\r\n\t\t\t\tthis.getBusinessListByCategory();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t* Get Category wise Business listing\r\n\t* @returns void\r\n\t*/\r\n\tgetBusinessListByCategory(): void {\r\n\t\tconst postJson: PostJsonBusinessList = {\r\n\t\t\tcategory_slug: this.activeUrl,\r\n\t\t\tpage: this.currentPage,\r\n\t\t\tsortBy: this.sort_slug\r\n\t\t};\r\n\r\n\t\tthis.hS.getBusinessListByCategory(postJson).subscribe((res: any) => {\r\n\t\t\tif (res.data.businesses) {\r\n\t\t\t\tthis.BusinessList = res.data.businesses;\r\n\t\t\t\tthis.totalBuinessCount = res.businessesTotalCount;\r\n\t\t\t}\r\n\t\t\tthis.countCollectionSize();\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\tgetNextPageBusinessList(event: number): void {\r\n\t\tconsole.log(event);\r\n\t\tthis.businessMarkers = [];\r\n\t\tthis.checkRouterUrlForCallingAPI();\r\n\t}\r\n\r\n\t/**\r\n\t*Calculate pagination display on screen and count of total businesses\r\n\t*/\r\n\tcountCollectionSize() {\r\n\t\tif (this.totalBuinessCount > this.perPageList) {\r\n\t\t\tthis.collectionSize = Math.ceil(this.totalBuinessCount / this.perPageList);\r\n\t\t\tthis.collectionSize = this.collectionSize * 10;\r\n\t\t\tif (this.currentPage === 1) {\r\n\t\t\t\tthis.first = 1;\r\n\t\t\t\tthis.last = this.perPageList;\r\n\t\t\t} else {\r\n\t\t\t\tthis.first = (this.currentPage - 1) * this.perPageList + 1;\r\n\t\t\t\tif (this.BusinessList.length < this.perPageList) {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.BusinessList.length;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.last = this.totalBuinessCount;\r\n\t\t\tthis.collectionSize = this.perPageList;\r\n\t\t}\r\n\r\n\t\tif (this.totalBuinessCount == 0 || this.totalBuinessCount == undefined) {\r\n\t\t\tthis.noData = true;\r\n\t\t} else {\r\n\t\t\tthis.noData = false;\r\n\t\t}\r\n\t\tthis.cS.scrollTop();\r\n\t\tthis.showBusinessOnMap();\r\n\t}\r\n\r\n\t/**\r\n\t*Load businesses on map\r\n\t*/\r\n\tshowBusinessOnMap() {\r\n\t\tfor (const x in this.BusinessList) {\r\n\t\t\tif (this.BusinessList.hasOwnProperty(x)) {\r\n\t\t\t\tthis.businessMarkers.push({\r\n\t\t\t\t\tlatitude: this.BusinessList[x]['latitude'],\r\n\t\t\t\t\tlongitude: this.BusinessList[x]['longitude'],\r\n\t\t\t\t\ttitle: this.BusinessList[x]['name'],\r\n\t\t\t\t\taddress: this.BusinessList[x]['address'],\r\n\t\t\t\t\tbusiness_slug: this.BusinessList[x]['business_slug']\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t* open map click\r\n\t*/\r\n\tclicked(marker: any, pos: any) {\r\n\t\tthis.business_title = pos.title;\r\n\t\tthis.business_address = pos.address;\r\n\t\tthis.business_slug = pos.business_slug;\r\n\t\tlet markerEvent = marker.target;\r\n\t\tmarkerEvent.nguiMapComponent.openInfoWindow('business_name', markerEvent);\r\n\t}\r\n\r\n\t/**\r\n\t* filter by name\r\n\t*/\r\n\tfilter(filtername: any) {\r\n\t\tif (filtername == 'asc') {\r\n\t\t\tthis.isShow = false;\r\n\t\t} else {\r\n\t\t\tthis.isShow = true;\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t{{business_name}} > {{'ang_ownerprofile' | translate}}

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\"user_profile\"\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{{'ang_personalprofile' | translate}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{{'ang_otherinformation' | translate}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t{{child.children_name}}
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • {{activity.activity_title}}
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{'ang_socialprofile' | translate}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from './../../../../environments/environment';\r\n \r\nimport { Location } from '@angular/common';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\n@Component({\r\n selector: 'ryec-business-owner-detail',\r\n templateUrl: './business-owner-detail.component.html',\r\n styleUrls: ['./business-owner-detail.component.css']\r\n})\r\nexport class BusinessOwnerDetailComponent implements OnInit {\r\n\r\n userId: number = 0;\r\n ownerInfo :any;\r\n gender = '';\r\n dob: any;\r\n business_name: any;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private hS: HttpService,\r\n private cS: CommonService,\r\n private router: Router,\r\n private location: Location) \r\n {\r\n this.activeRoute.queryParams\r\n .subscribe(params => {\r\n this.userId = atob(params.owner_id);\r\n if (this.userId > 0) {\r\n this.getOwnerInformation();\r\n }\r\n else {\r\n this.router.navigateByUrl('/home');\r\n }\r\n });\r\n this.business_name = localStorage.getItem('business_name');\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n }\r\n\r\n /*\r\n *Get owner detail by owner id\r\n */\r\n getOwnerInformation() {\r\n const uri = environment.RYEC_API_URL + 'getOwnerInfo';\r\n const postJson = { owner_id: this.userId }\r\n this.hS.post(uri, postJson).subscribe((res: any) => {\r\n console.log(res.data);\r\n if (res.data.mobile != '') {\r\n res.data.mobile = res.data.country_code + '-' + res.data.mobile;\r\n }\r\n this.ownerInfo = res.data;\r\n if (this.ownerInfo['gender'] == 1) {\r\n this.gender = 'Male'\r\n }\r\n else if (this.ownerInfo['gender'] == 2) {\r\n this.gender = 'Female'\r\n }\r\n else if (this.ownerInfo['gender'] == 3) {\r\n this.gender = 'Other'\r\n }\r\n const date = res.data.dob.split('-');\r\n if (date.length > 2) {\r\n const dob = {\r\n year: parseInt(date[0]),\r\n month: parseInt(date[1]),\r\n day: parseInt(date[2])\r\n }\r\n this.dob = dob;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n cancelEditOwner() {\r\n localStorage.removeItem('business_name');\r\n this.location.back();\r\n }\r\n}\r\n","import { OnlineStoresList } from \"./online-stores-list.model\";\r\n\r\nexport class OnlineStoresModel {\r\n business_id: number;\r\n online_stores: any = [];\r\n\r\n constructor() {\r\n this.business_id = 0;\r\n this.online_stores = new Array();\r\n // this.online_stores.push({\r\n // \"id\": 0,\r\n // \"url\": \"\"\r\n // });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

{{ \"ang_businessdetail\" | 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 {{ \"ang_businessnamevalidation\" | 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 {{ \"ang_mobilerequired\" | translate }}\r\n

\r\n

\r\n {{ \"ang_mobilevalidation\" | translate }}\r\n

\r\n

\r\n {{ \"ang_numbervalidation\" | 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 {{ \"ang_numbervalidation\" | 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 {{ \"ang_businessemailvalidation\" | 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 {{ \"ang_business_description_help\" | 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
0\">\r\n

\r\n {{ \"ang_businesscategories\" | translate }}\r\n \r\n {{ \"ang_edit\" | translate }}\r\n \r\n

\r\n
\r\n
\r\n
{{ item.name }}
\r\n
    \r\n
  • \r\n {{ childCategory.name }}\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ \"ang_businessactivities\" | translate }}\r\n \r\n

\r\n {{ \"ang_businessactivity\" | translate }}\" \r\n
\r\n
\r\n
    \r\n
  • \r\n

    {{ activity.activity_title }}

    \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \"ang_map_address_help\" | translate }} \r\n
\r\n \r\n
\r\n

\r\n {{ \"ang_businessaddressvalidation\" | 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 {{ \"ang_invalidPincodeValidation\" | 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 {{ \"ang_cityValidation\" | 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 {{ \"ang_hoursofoperation\" | 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 {{ time.value }} - {{ time.name }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{\r\n fields.business_working_hours.options[i][\"day\"] }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{\r\n fields.business_working_hours.options[i][\"day\"] }}\r\n \r\n {{\r\n \"ang_close\" | 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 {{ \"ang_socialprofile\" | translate\r\n }}\r\n

\r\n {{ \"ang_socialprofilehelp\" | 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

{{ \"ang_addsearchwords\" | translate }}

\r\n {{ \"ang_addsearchwords_help\" | 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 {{ \"ang_ownerinformation\" | translate }}\r\n \r\n

\r\n {{\r\n \"ang_addnew\" | 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

{{ owner.name }}

\r\n

{{ owner.email }}

\r\n

{{ owner.phone }}

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

\r\n {{ \"ang_products\" | translate\r\n }}\r\n

\r\n {{\r\n \"ang_addnew\" | 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 {{ \"ang_prodcutnamevalidation\" | 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 {{ \"ang_descriptionisrequired\" | 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 \"fs\"\r\n

    {{ product.name }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ \"ang_services\" | translate\r\n }}\r\n

\r\n \r\n {{ \"ang_addnew\" | translate }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n {{ \"ang_servicenamevalidation\" | 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 {{ \"ang_descriptionisrequired\" | 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 \"fs\"\r\n

    {{ service.name }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\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 \r\n
\r\n \r\n
\r\n
\r\n Please enter 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 Store Url is required\r\n
\r\n
\r\n {{ \"ang_external_pattern_error\" | 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

    {{ item.name }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
{{ \"ang_businesscategory\" | translate }}
\r\n \r\n
\r\n
\r\n
\r\n
{{ \"ang_selectmaincategory\" | translate }}
\r\n
\r\n \r\n
\r\n

\r\n {{ \"ang_youcanchooseonemaincategory\" | 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 {{ \"ang_nocategoryfound\" | translate }}\r\n
  • \r\n \r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
RYEC Help
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{ \"ang_uploadbusinesslogo\" | translate }}
\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, ElementRef, ViewChild, HostListener } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport {\r\n BusinessListDetailsRes\r\n} from 'src/app/shared/class/data.model';\r\nimport { FormBuilder, FormControl, FormGroup, FormArray, Validators } from '@angular/forms';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport swal from 'sweetalert2';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OnlineStoresModel } from '../../../shared/model/online-stores.model';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport Swal from 'sweetalert2';\r\nimport { base64ToFile } from 'ngx-image-cropper';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-business-profile',\r\n templateUrl: './business-profile.component.html',\r\n styleUrls: ['./business-profile.component.css']\r\n})\r\nexport class BusinessProfileComponent implements OnInit {\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (this.eRef.nativeElement.contains(event.target)) {\r\n console.log(event.srcElement.className);\r\n\r\n if (event.srcElement.className === \"fa fa-list-ul side_menu_icon\" || event.srcElement.className === \"ng-untouched ng-pristine ng-valid\") {\r\n this.isTimeZoneShow = false;\r\n } else if (event.srcElement.className === 'container' || event.srcElement.className === 'ng-pristine ng-valid ng-touched' || event.srcElement.className === '' || event.srcElement.className === 'ng-star-inserted') {\r\n this.isTimeZoneShow = false;\r\n } else {\r\n if (event.srcElement.className === 'profile_menu_icon') {\r\n this.isTimeZoneShow = false;\r\n }\r\n if (event.srcElement.className === 'city-search ng-untouched ng-pristine ng-valid' || event.srcElement.className === 'city-search ng-touched ng-dirty ng-valid') {\r\n this.isTimeZoneShow = true;\r\n }\r\n }\r\n\r\n if (event.srcElement.className !== 'dropbtn') {\r\n this.isTimeZoneShow = false;\r\n }\r\n if (event.srcElement.className === 'city-search ng-untouched ng-pristine ng-valid' || event.srcElement.className === 'city-search ng-touched ng-dirty ng-valid') {\r\n this.isTimeZoneShow = true;\r\n }\r\n } else {\r\n this.isTimeZoneShow = false;\r\n }\r\n }\r\n businessDetail: any ;\r\n business_slug = '';\r\n business_id = 0;\r\n business_name: any;\r\n ind:any;\r\n addBusinessForm: any;\r\n activityEditFlag: number = -1;\r\n businessActivityArray: Array<{ id: 0, activity_title: string, operation?: string }> = [];\r\n businessImagesFormData: FormData = new FormData();\r\n base64BusinessImages: any=[];\r\n addProductFlag = false;\r\n addProductForm: FormGroup;\r\n productImagesFormData: FormData = new FormData();\r\n addServiceFlag = false;\r\n isAddNewStore = false;\r\n addServiceForm: FormGroup;\r\n serviceImagesFormData: FormData = new FormData();\r\n base64ProductImages: Array<{}> = [];\r\n base64ServiceLogo: any;\r\n business_address_auto: string = \"\";\r\n business_category: Array<{ id: number, category: string }> = [];\r\n selectedBusinessCategoryLists: Array<{ id: number, category: string }> = [];\r\n selectedName: Array<{}> = [];\r\n finalCategory: Array<{}> = [];\r\n mainCategory: any;\r\n subCategory: Array<{}> = [];\r\n mainCategorySelected = {};\r\n categoryMetaTag = [];\r\n metaTags: Array = [];\r\n filteredMeatTags:any;\r\n categoryIds: any;\r\n category_name = '';\r\n deletedBusinessActivity: Array<{ id: 0, activity_title: string, operation?: string }> = [];\r\n @ViewChild('userProfile')\r\n userProfileRef!: ElementRef;\r\n @ViewChild('businessLogo')\r\n businessLogoRef!: ElementRef;\r\n showExtraFields = false;\r\n productImagesArr:any;\r\n product_id = 0;\r\n service_id = 0;\r\n serviceIndex = 0;\r\n timezoneArr: any;\r\n timezone = 'UTC +05:30 - Asia/Kolkata';\r\n addressDetail = [];\r\n countries :any;\r\n states = [];\r\n cities = [];\r\n isShow = false;\r\n isAgent: any;\r\n showAgent = false;\r\n onlineStoresList: any[] = [];\r\n businessStoresList: any[] = [];\r\n onlineStoreModel: any = new OnlineStoresModel();\r\n subCategoryLists: any[] = [];\r\n tempSelectedCategoryIds: any[] = [];\r\n selected: any[] = [];\r\n finalSelectedCategoryIds: any[] = [];\r\n appName = environment.APP_NAME;\r\n\r\n fields: any = {\r\n isRequired: true,\r\n business_working_hours: {\r\n options: [\r\n {\r\n day: 'Monday',\r\n isOpen: true,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n },\r\n {\r\n day: 'Tuesday',\r\n isOpen: true,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n },\r\n {\r\n day: 'Wednesday',\r\n isOpen: true,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n },\r\n {\r\n day: 'Thursday',\r\n isOpen: true,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n },\r\n {\r\n day: 'Friday',\r\n isOpen: true,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n },\r\n {\r\n day: 'Saturday',\r\n isOpen: false,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n },\r\n {\r\n day: 'Sunday',\r\n isOpen: false,\r\n startTime: \"9:00\",\r\n startMeridies: \"AM\",\r\n endTime: \"6:00\",\r\n endMeridies: \"PM\"\r\n }\r\n ]\r\n }\r\n };\r\n @ViewChild('productImage')\r\n productImageRef!: ElementRef;\r\n @ViewChild('serviceImage')\r\n serviceImageRef!: ElementRef;\r\n myControl: FormControl = new FormControl();\r\n\r\n selectedTags: Array<{}> = [];\r\n timeZone = 'Asia/Kolkata';\r\n isTimeZoneShow = false;\r\n allTimezoneArr: any;\r\n businessProfilePic = '';\r\n business_logo = '';\r\n imageChangedEvent: any = '';\r\n croppedImage: any = '';\r\n modalReference: any;\r\n storeDisabled: any[] = [];\r\n businessCategory: any[] = [];\r\n locationsList: any[] = [];\r\n assetTypeFieldsModel: any = {};\r\n isLocationNotFound: boolean = false;\r\n\r\n valueChanged(newVal: string) {\r\n newVal = this.addBusinessForm.controls.tag.value;\r\n // console.log(this.addBusinessForm.controls.tag.value);\r\n if (this.metaTags.indexOf(newVal) == -1) {\r\n if (this.selectedTags.indexOf(newVal) == -1) {\r\n if (this.selectedTags.length < 51) {\r\n this.selectedTags.push(newVal);\r\n this.addBusinessForm.controls.tag.setValue(null);\r\n } else {\r\n this.cS.showError('you can maximum enter 50 meta tags');\r\n }\r\n }\r\n if (this.selectedTags.length < 51) {\r\n this.metaTags.splice(this.metaTags.indexOf(newVal), 1);\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private hS: HomeService,\r\n private fb: FormBuilder,\r\n public router: Router,\r\n public cS: CommonService,\r\n public httpService: HttpService,\r\n private location: Location,\r\n private eRef: ElementRef,\r\n private mS: MessageService,\r\n private modalService: NgbModal) {\r\n\r\n const EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\r\n\r\n this.addBusinessForm = this.fb.group({\r\n id: [this.business_id],\r\n user_id: [localStorage.getItem('member_id')],\r\n parent_category: [],\r\n name: [null, Validators.compose([Validators.required])],\r\n description: [],\r\n phone: [null],\r\n country_code: ['+91'],\r\n mobile: [null, Validators.compose([Validators.required,\r\n Validators.maxLength(13),\r\n Validators.minLength(6),\r\n Validators.pattern('^[0-9]+$')])],\r\n address: [null],\r\n latitude: [],\r\n longitude: [],\r\n email_id: [null, Validators.compose([Validators.pattern(EMAIL_REGEXP)])],\r\n establishment_year: [],\r\n website_url: [],\r\n facebook_url: [],\r\n twitter_url: [],\r\n linkedin_url: [],\r\n instagram_url: [],\r\n timezone: ['Asia/Kolkata'],\r\n tag: [],\r\n street_address: [null],\r\n locality: [null],\r\n country: [null],\r\n state: [null],\r\n city: [null],\r\n taluka: [null],\r\n district: [null],\r\n pincode: [null],\r\n location_id: [null],\r\n timezoneSearch: [null],\r\n\r\n metatags: [],\r\n category_id: [null],\r\n\r\n business_activities: [],\r\n business_working_hours: this.fb.group({\r\n options: this.fb.array([])\r\n }),\r\n working_hours: []\r\n });\r\n\r\n this.addProductForm = this.fb.group({\r\n name: [null, Validators.compose([Validators.required])],\r\n description: [null, Validators.compose([Validators.required])],\r\n cost: [null]\r\n });\r\n\r\n this.addServiceForm = this.fb.group({\r\n name: [null, Validators.compose([Validators.required])],\r\n description: [null, Validators.compose([Validators.required])],\r\n cost: [null]\r\n });\r\n\r\n this.businessDetail = {\r\n status: 0,\r\n message: ''\r\n };\r\n\r\n localStorage.removeItem('business_name');\r\n\r\n /*\r\n *get url slug\r\n */\r\n this.activeRoute.params.subscribe(data => {\r\n this.business_slug = data.slug;\r\n if (this.business_slug !== 'add-new') {\r\n this.isAgent = localStorage.getItem('isAgent');\r\n if (this.isAgent === 'A') {\r\n this.isShow = true;\r\n this.showExtraFields = true;\r\n this.getBusinessDetailBySlug(true);\r\n } else {\r\n const businessData = this.cS.getBusinessDetail();\r\n if (businessData) {\r\n this.business_name = businessData.business_name;\r\n if (businessData.business_slug == this.business_slug) {\r\n this.isShow = true;\r\n this.showExtraFields = true;\r\n this.getBusinessDetailBySlug(true);\r\n } else {\r\n this.router.navigateByUrl('/home');\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n this.resetForm();\r\n if (localStorage.getItem('member_id') == 'undefined' || localStorage.getItem('member_id') == null || localStorage.getItem('member_id') == undefined || localStorage.getItem('member_id') == '') {\r\n this.router.navigateByUrl('/home');\r\n }\r\n this.patch();\r\n }\r\n });\r\n this.getTimezone();\r\n }\r\n changeStartMeridies(meridies: string, index: number, isStartOrEnd: string) {\r\n const meri = meridies === 'AM' ? 'PM' : 'AM';\r\n this.fields.business_working_hours.options[index][isStartOrEnd] = meri;\r\n // const control = this.addBusinessForm.controls.business_working_hours['controls']['options'];\r\n // control.value[index][isStartOrEnd] = meri;\r\n }\r\n\r\n placeChanged(place: any) {\r\n console.log(place);\r\n this.isShow = true;\r\n this.addBusinessForm.controls.latitude.setValue(place.geometry.location.lat());\r\n this.addBusinessForm.controls.longitude.setValue(place.geometry.location.lng());\r\n this.business_address_auto = place['formatted_address'];\r\n }\r\n\r\n addressChanged() {\r\n this.isShow = true;\r\n }\r\n\r\n checkboxChange(index: number) {\r\n this.fields.business_working_hours.options[index]['isOpen'] = !this.fields.business_working_hours.options[index]['isOpen'];\r\n }\r\n\r\n patch() {\r\n const control = this.addBusinessForm.controls.business_working_hours['controls']['options'];\r\n this.fields.business_working_hours.options.forEach((x:any )=> {\r\n control.push(this.patchValues(x.day, x.isOpen, x.startTime, x.endTime, x.startMeridies, x.endMeridies))\r\n });\r\n }\r\n\r\n patchValues(day: string, isOpen: boolean, startTime: string, endTime: string, startMeridies: string, endMeridies: string) {\r\n return this.fb.group({\r\n day: [day],\r\n isOpen: [isOpen],\r\n startTime: [startTime],\r\n endTime: [endTime],\r\n startMeridies: [startMeridies],\r\n endMeridies: [endMeridies]\r\n })\r\n }\r\n\r\n addActivity() {\r\n if (this.addBusinessForm.value['business_activities'] !== '') {\r\n if (this.activityEditFlag === -1) {\r\n this.businessActivityArray.push({ id: 0, activity_title: this.addBusinessForm.value['business_activities'], operation: \"add\" });\r\n } else {\r\n this.businessActivityArray[this.activityEditFlag]['activity_title'] = this.addBusinessForm.value['business_activities'];\r\n this.activityEditFlag = -1;\r\n }\r\n this.addBusinessForm.controls.business_activities.setValue('');\r\n }\r\n }\r\n\r\n editActivity(index: number) {\r\n this.addBusinessForm.controls.business_activities.setValue(this.businessActivityArray[index]['activity_title']);\r\n this.activityEditFlag = index;\r\n }\r\n\r\n deleteActivity(index: number) {\r\n this.businessActivityArray[index]['operation'] = 'delete';\r\n this.deletedBusinessActivity.push(this.businessActivityArray[index]);\r\n this.businessActivityArray.splice(index, 1);\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n this.getAddressDetail();\r\n this.getOnlineStoresLists();\r\n }\r\n\r\n /**\r\n * Get Address Detail from entered details\r\n *@returns void\r\n */\r\n getAddressDetail() {\r\n this.hS.getAddressMaster().subscribe((res: any) => {\r\n this.countries = res.data.countries;\r\n this.cities = res.data.cities;\r\n this.states = res.data.states;\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n * Get Business Detail by business slug\r\n *@returns void\r\n */\r\n getBusinessDetailBySlug(isFirstLoad: boolean = false): void {\r\n\r\n this.business_category = [];\r\n\r\n const postJson = { business_slug: this.business_slug };\r\n let categoryId: number = 0;\r\n\r\n this.hS.getBusinessDetailBySlug(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (isFirstLoad) {\r\n if (res.data['hoursOperation'].length > 0) {\r\n for (let i = 0; i < 7; i++) {\r\n if (res.data['hoursOperation'][i]['open_close'] !== 'Closed') {\r\n const SD = res.data['hoursOperation'][i]['start_time'].split(' ');\r\n const ED = res.data['hoursOperation'][i]['end_time'].split(' ');\r\n\r\n this.fields.business_working_hours.options[i] = {\r\n day: res.data['hoursOperation'][i]['name'],\r\n isOpen: res.data['hoursOperation'][i]['open_close'] === 'Open' ? true : false,\r\n startTime: SD[0],\r\n startMeridies: SD[1].toUpperCase(),\r\n endTime: ED[0],\r\n endMeridies: ED[1].toUpperCase()\r\n };\r\n } else {\r\n this.fields.business_working_hours.options[i] = {\r\n day: res.data['hoursOperation'][i]['name'],\r\n isOpen: res.data['hoursOperation'][i]['open_close'] == \"Open\" ? true : false,\r\n startTime: '9:00',\r\n startMeridies: 'AM',\r\n endTime: '6:00',\r\n endMeridies: 'PM'\r\n };\r\n }\r\n }\r\n }\r\n this.patch();\r\n }\r\n\r\n if (res['data']['metatags'] !== '') {\r\n this.selectedTags = res['data']['metatags'].split(',');\r\n }\r\n\r\n this.businessDetail = res;\r\n this.business_id = res.data.id;\r\n this.business_name = res.data.name;\r\n this.businessCategory = res.data.category_hierarchy;\r\n if (res.data.parent_categories.length > 0) {\r\n categoryId = res.data.parent_categories[0].category_id;\r\n }\r\n this.getSubAssetTypeFields(categoryId, res.data.asset_type_id);\r\n // let category = '';\r\n // let id = 0;\r\n this.getAddedOnlineStores();\r\n this.getAllCategory();\r\n this.getSelectedChildCategory(this.businessCategory);\r\n // if (res.data.category_hierarchy.length > 0) {\r\n // for (let x in res.data.category_hierarchy) {\r\n // // for (let i in res.data.category_hierarchy[x]) {\r\n // // if (parseInt(i) != 0) {\r\n // // category += ' >> ' + res.data.category_hierarchy[x][i].name;\r\n // // } else {\r\n // // category = res.data.category_hierarchy[x][i].name;\r\n // // }\r\n // // if (parseInt(i) == (res.data.category_hierarchy[x].length - 1)) {\r\n // // id = res.data.category_hierarchy[x][i].id;\r\n // // }\r\n // // }\r\n // if (parseInt(x) != 0) {\r\n // category += ' >> ' + res.data.category_hierarchy[x].name;\r\n // } else {\r\n // category = res.data.category_hierarchy[x].name;\r\n // }\r\n // if (parseInt(x) == (res.data.category_hierarchy[x].length - 1)) {\r\n // id = res.data.category_hierarchy[x].id;\r\n // }\r\n // this.business_category.push(\r\n // {\r\n // category: category,\r\n // id: id\r\n // }\r\n // );\r\n // }\r\n // }\r\n // this.getCategoryMetatags();\r\n this.addBusinessForm.controls.id.setValue(res.data.id);\r\n this.addBusinessForm.controls.user_id.setValue(res.data.user_id);\r\n this.addBusinessForm.controls.parent_category.setValue(res.data.parent_category_id);\r\n this.addBusinessForm.controls.latitude.setValue(res.data.latitude);\r\n this.addBusinessForm.controls.longitude.setValue(res.data.longitude);\r\n this.addBusinessForm.controls.name.setValue(res.data.name);\r\n if (res.data.country_code) {\r\n this.addBusinessForm.controls.country_code.setValue(res.data.country_code);\r\n }\r\n this.addBusinessForm.controls.mobile.setValue(res.data.mobile);\r\n this.addBusinessForm.controls.phone.setValue(res.data.phone);\r\n this.addBusinessForm.controls.email_id.setValue(res.data.email);\r\n this.addBusinessForm.controls.address.setValue(res.data.full_address);\r\n this.addBusinessForm.controls.street_address.setValue(res.data.street_address);\r\n this.addBusinessForm.controls.locality.setValue(res.data.locality);\r\n // this.addBusinessForm.controls.country.setValue(res.data.country);\r\n // this.addBusinessForm.controls.state.setValue(res.data.state);\r\n // this.addBusinessForm.controls.city.setValue(res.data.city);\r\n this.addBusinessForm.controls.location_id.setValue(res.data.location_id);\r\n this.addBusinessForm.controls.district.setValue(res.data.district);\r\n this.addBusinessForm.controls.district.setValue(res.data.district);\r\n if(res.data.pincode){\r\n this.addBusinessForm.controls.pincode.setValue(res.data.pincode);\r\n this.locationSearch(res.data.pincode);\r\n }\r\n\r\n // this.addBusinessForm.controls.description.setValue(res.data.descriptions);\r\n this.addBusinessForm.controls.description.setValue(new DOMParser().parseFromString(res.data.descriptions, \"text/html\").documentElement.textContent);\r\n this.addBusinessForm.controls.establishment_year.setValue(res.data.year_of_establishment);\r\n this.addBusinessForm.controls.website_url.setValue(res.data.website);\r\n this.addBusinessForm.controls.facebook_url.setValue(res.data.social_profiles.facebook_url);\r\n this.addBusinessForm.controls.twitter_url.setValue(res.data.social_profiles.twitter_url);\r\n this.addBusinessForm.controls.linkedin_url.setValue(res.data.social_profiles.linkedin_url);\r\n this.addBusinessForm.controls.instagram_url.setValue(res.data.social_profiles.instagram_url);\r\n this.business_logo = res.data.business_logo;\r\n if (res.data.timezone !== '') {\r\n this.addBusinessForm.controls.timezone.setValue(res.data.timezone);\r\n this.timezoneArr.filter((item: any) => {\r\n const search = item['name'];\r\n if (search.toLowerCase().indexOf(res.data.timezone.toLowerCase()) > -1) {\r\n this.timezone = item['value'] + ' - ' + item['name'];\r\n }\r\n });\r\n }\r\n\r\n for (let i = 0; i < res.data.business_activities.length; i++) {\r\n res.data.business_activities[i]['operation'] = 'update';\r\n }\r\n this.businessActivityArray = res.data.business_activities;\r\n this.mS.setBusinessName(res.data.name);\r\n // localStorage.setItem('business_name', res.data.name);\r\n // this.cS.businessModel.business_name = res.data.name;\r\n // this.cS.setBusinessRegiFlag();\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getSubAssetTypeFields(categoryId: number, assetTypeId: number) {\r\n const postJson = {\r\n category_id: categoryId,\r\n asset_type_id: assetTypeId\r\n };\r\n\r\n this.hS.getSubAssetTypeFields(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.assetTypeFieldsModel = res.data;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n triggerUpload() {\r\n if (this.businessDetail.data) {\r\n if ((this.base64BusinessImages + this.businessDetail.data.business_images) == 9) {\r\n this.cS.showError('You can only upload 9 images.');\r\n } else {\r\n this.userProfileRef.nativeElement.click();\r\n }\r\n } else {\r\n if (this.base64BusinessImages === 9) {\r\n this.cS.showError('You can only upload 9 images.');\r\n } else {\r\n this.userProfileRef.nativeElement.click();\r\n }\r\n }\r\n }\r\n\r\n readURL(input: any) {\r\n const self = this;\r\n if (input.files && input.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e:any) {\r\n self.base64BusinessImages.push(e['target']['result']);\r\n };\r\n\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n uploadProfilePic(event: any) {\r\n const srcEle = event.srcElement;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.businessImagesFormData.append('business_images[]', srcEle.files[0]);\r\n this.readURL(srcEle);\r\n } else {\r\n this.cS.showError('Please select file less than 5MB.');\r\n }\r\n }\r\n }\r\n\r\n uploadImage() {\r\n const apiUrl = environment.RYEC_API_URL + 'saveBusinessImages';\r\n this.businessImagesFormData.append('business_id', this.business_id);\r\n this.httpService.postUpload(apiUrl, this.businessImagesFormData).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.cS.showSuccess(res['message']);\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n\r\n });\r\n }\r\n\r\n deleteBusinessImage(index: any, id?: any) {\r\n if (id === undefined) {4\r\n this.base64BusinessImages.splice(index, 1);\r\n } else {\r\n const obj = {\r\n id: id,\r\n business_id: this.business_id\r\n };\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'deleteBusinessImage';\r\n this.httpService.post(apiUrl, obj).subscribe((res: any) => {\r\n console.log(res);\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.business_images.splice(index, 1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n changeCategory(category_id: any, flag?: any) {\r\n if (!flag) {\r\n this.business_category = [];\r\n }\r\n this.selectedName = [];\r\n // this.mainCategory.forEach(res => {\r\n // if (category_id === res['category_id']) {\r\n // console.log(res['category_id']);\r\n // this.mainCategorySelected = res;\r\n // console.log('mainCategorySelected', this.mainCategorySelected);\r\n // this.getSubcategory(res);\r\n // }\r\n // });\r\n\r\n // this.mainCategory.forEach((element: any) => {\r\n // if (element.category_id) {\r\n // if (element.category_id == category_id) {\r\n // this.mainCategorySelected = element;\r\n // this.getSubcategory(element);\r\n // }\r\n // }\r\n // });\r\n\r\n this.getSubCategoryLists(category_id)\r\n }\r\n\r\n saveBusinessCategory() {\r\n const postJson = {\r\n business_id: this.business_id,\r\n sub_category_ids: this.finalSelectedCategoryIds.toString()\r\n };\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'saveBusinessCategories';\r\n this.httpService.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n this.tempSelectedCategoryIds = [];\r\n this.finalSelectedCategoryIds = [];\r\n this.selectedBusinessCategoryLists = [];\r\n this.modalReference.close();\r\n this.getBusinessDetailBySlug(false);\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n\r\n }\r\n\r\n onCategoryCancel() {\r\n if (this.tempSelectedCategoryIds.length || this.finalSelectedCategoryIds.length) {\r\n this.tempSelectedCategoryIds = [];\r\n this.finalSelectedCategoryIds = [];\r\n }\r\n this.modalReference.close();\r\n }\r\n\r\n /**\r\n * get added business category and push them in tempSelectedCategoryIds\r\n * @Yuvraj 21/12/2021\r\n */\r\n getSelectedChildCategory(businessCategory: any) {\r\n if (businessCategory.length) {\r\n businessCategory.forEach((element: any) => {\r\n element.sub_category.forEach((element1: any) => {\r\n this.tempSelectedCategoryIds.push(element1.id);\r\n this.selectedBusinessCategoryLists.push({ id: element1.id, category: element1.name });\r\n });\r\n });\r\n\r\n this.getCategoryMetatags();\r\n }\r\n }\r\n\r\n /**\r\n * get categoryLists by parent category id\r\n * @Yuvraj 09/12/21\r\n */\r\n getSubCategoryLists(parentCategoryId: number): void {\r\n const postJson = {\r\n category_id: parentCategoryId,\r\n grandChilds: true\r\n };\r\n\r\n this.hS.getSubCategoryListByParentCategoryId(postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.subCategoryLists = res.data;\r\n }\r\n else {\r\n this.subCategoryLists = [];\r\n }\r\n }, err => {\r\n this.subCategoryLists = [];\r\n console.log(err);\r\n });\r\n }\r\n\r\n // when checkbox change, add/remove the item from the array\r\n onChange(checked: any, item: any) {\r\n if (checked) {\r\n this.tempSelectedCategoryIds.push(item.id);\r\n this.selectedBusinessCategoryLists.push({ id: item.id, category: item.name });\r\n } else {\r\n this.tempSelectedCategoryIds.splice(this.tempSelectedCategoryIds.indexOf(item.id), 1);\r\n this.selectedBusinessCategoryLists.splice(this.selectedBusinessCategoryLists.indexOf(item.id), 1);\r\n }\r\n\r\n if (this.tempSelectedCategoryIds.length) {\r\n this.finalSelectedCategoryIds = this.tempSelectedCategoryIds;\r\n }\r\n }\r\n\r\n // check if the item are selected\r\n checked(item: any) {\r\n if (this.tempSelectedCategoryIds.indexOf(item.id) != -1) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n removeCategory(index: number) {\r\n this.business_category.splice(index, 1);\r\n this.getCategoryMetatags();\r\n }\r\n\r\n\r\n chooseCategory(subCat: any) {\r\n this.selectedName.push(subCat['name']);\r\n\r\n let str = '';\r\n\r\n this.selectedName.forEach(res => {\r\n str += res + ' >> ';\r\n });\r\n\r\n this.selectedName = [];\r\n this.subCategory = [];\r\n str = str.substr(0, str.length - 3);\r\n if (this.business_category.length > 0) {\r\n for (let x in this.business_category) {\r\n if (this.business_category[x]['id'] !== subCat['category_id']) {\r\n this.business_category.push({ id: subCat['category_id'], category: str });\r\n }\r\n }\r\n } else {\r\n this.business_category.push({ id: subCat['category_id'], category: str });\r\n }\r\n // this.changeCategory(this.category_name, true);\r\n }\r\n\r\n getSubcategory(obj: any) {\r\n const paramObj = {\r\n id: obj['category_id'],\r\n category_slug: obj['category_slug']\r\n };\r\n\r\n this.selectedName.push(obj['name']);\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'getSubCategory';\r\n this.httpService.post(apiUrl, paramObj).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n if (res['data']['sub_category'].length === 0) {\r\n this.cS.showError('No category found.');\r\n }\r\n\r\n this.subCategory = res['data']['sub_category'];\r\n }\r\n });\r\n }\r\n\r\n editBusinesscategory(content: any) {\r\n console.log(content);\r\n // swal({\r\n // title: 'You can not change Business Category without approval.',\r\n // text: 'Contact support at cmyrajasthan@gmail.com or call on 9166319568.',\r\n // type: 'warning'\r\n // });\r\n this.modalReference = this.modalService.open(content, { windowClass: 'edit_category_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n * add or update owner data\r\n * @param ownerId\r\n */\r\n addExitOwnerData(ownerId?: number) {\r\n const business_id = btoa(this.business_id);\r\n let owner_id = btoa(0);\r\n if (ownerId !== undefined) {\r\n owner_id = btoa(ownerId)\r\n }\r\n localStorage.setItem('business_name', this.business_name);\r\n this.router.navigate(['/user/add-owner'], { queryParams: { business_id: business_id, owner_id: owner_id }, queryParamsHandling: 'merge' })\r\n }\r\n\r\n /**\r\n * delete owner data\r\n * @param ownerId\r\n */\r\n deleteOwnerData(ownerId: number, index: number) {\r\n let name = 'this';\r\n if (this.businessDetail.data) {\r\n name = this.businessDetail.data.owners[index]['name'];\r\n }\r\n Swal.fire\r\n ({\r\n title: 'Do you really want to delete Owner?',\r\n text: name,\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.value) {\r\n const apiUrl = environment.RYEC_API_URL + 'deleteOwner';\r\n const postObj = {\r\n owner_id: ownerId\r\n };\r\n\r\n this.httpService.post(apiUrl, postObj).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.owners.splice(index, 1);\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n )}\r\n\r\n /**\r\n * add new product\r\n */\r\n addNewProduct() {\r\n this.addProductFlag = !this.addProductFlag;\r\n this.addProductForm.reset();\r\n this.base64ProductImages = [];\r\n this.productImagesArr = [];\r\n }\r\n\r\n hideProductSection() {\r\n this.addProductFlag = !this.addProductFlag;\r\n this.addProductForm.reset();\r\n this.base64ProductImages = [];\r\n this.productImagesArr = [];\r\n }\r\n\r\n saveProduct() {\r\n if (this.addProductForm.valid) {\r\n if (this.base64ProductImages.length != 0 || this.productImagesArr.length != 0) {\r\n const apiUrl = environment.RYEC_API_URL + 'saveProduct';\r\n this.productImagesFormData.append('id', this.product_id);\r\n this.productImagesFormData.append('business_id', this.business_id);\r\n this.productImagesFormData.append('name', this.addProductForm.controls.name.value);\r\n this.productImagesFormData.append('description', this.addProductForm.controls.description.value);\r\n this.productImagesFormData.append('cost', this.addProductForm.controls.cost.value);\r\n this.httpService.postUpload(apiUrl, this.productImagesFormData).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.cS.showSuccess(res['message']);\r\n this.productImagesArr = [];\r\n this.base64ProductImages = [];\r\n if (this.product_id === 0) {\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.products.push({\r\n id: res.data.id,\r\n name: res.data.name,\r\n image_url: res.data.product_images[0].image_thumbnail\r\n })\r\n }\r\n }\r\n this.productImagesFormData = new FormData();\r\n this.addProductForm.reset();\r\n this.addProductFlag = !this.addProductFlag;\r\n this.getBusinessDetailBySlug(false);\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.cS.showError('Please select one product image')\r\n }\r\n }\r\n }\r\n\r\n triggerProductImage() {\r\n console.log(this.base64ProductImages.length);\r\n if ((this.base64ProductImages.length + this.productImagesArr.length) < 5) {\r\n this.productImageRef.nativeElement.click();\r\n } else {\r\n this.cS.showError('You can only upload 5 images in each product.');\r\n }\r\n }\r\n\r\n uploadProductPic(event: any) {\r\n const srcEle = event.srcElement;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.productImagesFormData.append('product_images[]', srcEle.files[0]);\r\n this.readProductURL(srcEle);\r\n } else {\r\n this.cS.showError('Please select file less than 5MB.');\r\n }\r\n }\r\n }\r\n\r\n readProductURL(input: any) {\r\n const self = this;\r\n if (input.files && input.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e:any) {\r\n self.base64ProductImages.push(e['target']['result']);\r\n };\r\n\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n addNewService() {\r\n this.addServiceFlag = !this.addServiceFlag;\r\n this.addServiceForm.reset();\r\n this.base64ServiceLogo = '';\r\n }\r\n\r\n hideServiceSection() {\r\n this.addServiceFlag = !this.addServiceFlag;\r\n this.addServiceForm.reset();\r\n this.base64ServiceLogo = '';\r\n }\r\n\r\n saveService() {\r\n if (this.addServiceForm.valid) {\r\n if (this.base64ServiceLogo !== '') {\r\n const apiUrl = environment.RYEC_API_URL + 'saveService';\r\n this.serviceImagesFormData.append('id', this.service_id);\r\n this.serviceImagesFormData.append('business_id', this.business_id);\r\n this.serviceImagesFormData.append('name', this.addServiceForm.controls.name.value);\r\n this.serviceImagesFormData.append('description', this.addServiceForm.controls.description.value);\r\n this.serviceImagesFormData.append('cost', this.addServiceForm.controls.cost.value);\r\n this.httpService.postUpload(apiUrl, this.serviceImagesFormData).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.cS.showSuccess(res['message']);\r\n if (this.service_id === 0) {\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.services.push({\r\n id: res.data.id,\r\n name: res.data.name,\r\n image_url: res.data.thumb_logo\r\n });\r\n }\r\n } else {\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.services[this.serviceIndex].id = res.data.id;\r\n this.businessDetail.data.services[this.serviceIndex].name = res.data.name;\r\n this.businessDetail.data.services[this.serviceIndex].image_url = res.data.thumb_logo;\r\n }\r\n }\r\n this.serviceImagesFormData = new FormData();\r\n this.addServiceForm.reset();\r\n this.base64ServiceLogo = '';\r\n this.addServiceFlag = !this.addServiceFlag;\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n } else {\r\n this.cS.showError('Please select service image')\r\n }\r\n }\r\n }\r\n\r\n triggerServiceImage() {\r\n this.serviceImageRef.nativeElement.click();\r\n }\r\n\r\n uploadServicePic(event: any) {\r\n const srcEle = event.srcElement;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.serviceImagesFormData.append('logo', srcEle.files[0]);\r\n this.readServiceURL(srcEle);\r\n } else {\r\n this.cS.showError('Please select file less than 5MB.');\r\n }\r\n }\r\n }\r\n\r\n readServiceURL(input: any) {\r\n const self = this;\r\n if (input.files && input.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e:any) {\r\n self.base64ServiceLogo = e['target']['result'];\r\n };\r\n\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n removeService(service_id: number, index: number) {\r\n let name = 'this';\r\n if (this.businessDetail.data) {\r\n name = this.businessDetail.data.services[index]['name'];\r\n }\r\n\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: 'To delete ' + name + ' service.',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n const apiUrl = environment.RYEC_API_URL + 'removeService';\r\n const postJson = { service_id: service_id };\r\n\r\n this.httpService.post(apiUrl, postJson).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.services.splice(index, 1);\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n )}\r\n\r\n removeProduct(product_id: number, index: number) {\r\n let name = 'this';\r\n if (this.businessDetail.data) {\r\n name = this.businessDetail.data.products[index]['name'];\r\n }\r\n\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: 'To delete ' + name + ' product.',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n const apiUrl = environment.RYEC_API_URL + 'removeProduct';\r\n const postJson = { product_id: product_id };\r\n\r\n this.httpService.post(apiUrl, postJson).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n if (this.businessDetail.data) {\r\n this.businessDetail.data.products.splice(index, 1);\r\n }\r\n this.getBusinessDetailBySlug(false);\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n )}\r\n\r\n editProduct(product_id: number, index: number) {\r\n console.log(index);\r\n this.product_id = product_id;\r\n this.productImagesArr = [];\r\n this.addProductFlag = true;\r\n const postJson = { product_id: product_id };\r\n this.hS.getProductDetailByProductId(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.addProductForm.controls.name.setValue(res.data.name);\r\n this.addProductForm.controls.description.setValue(res.data.descriptions);\r\n this.addProductForm.controls.cost.setValue(res.data.cost);\r\n for (const x in res.data.product_images) {\r\n console.log(res.data.product_images[x]);\r\n this.productImagesArr.push(res.data.product_images[x]);\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n editService(service_id: number, index: number) {\r\n this.serviceIndex = index;\r\n this.service_id = service_id;\r\n this.addServiceFlag = true;\r\n const postJson = { service_id: service_id };\r\n this.hS.getServiceDetailByServiceId(postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.addServiceForm.controls.name.setValue(res.data.name);\r\n this.addServiceForm.controls.description.setValue(res.data.descriptions);\r\n this.addServiceForm.controls.cost.setValue(res.data.cost);\r\n this.base64ServiceLogo = res.data.thumb_logo;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getAllCategory() {\r\n this.hS.getMenuCategoryListing().subscribe(res => {\r\n this.mainCategory = res.data;\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n\r\n getCategoryIds() {\r\n this.categoryIds = '';\r\n for (let x in this.business_category) {\r\n if (parseInt(x) !== 0) {\r\n this.categoryIds += ',' + this.business_category[x]['id'];\r\n } else {\r\n this.categoryIds = this.business_category[x]['id'];\r\n }\r\n }\r\n this.addBusinessForm.controls.category_id.setValue(this.categoryIds);\r\n }\r\n\r\n getCategoryMetatags() {\r\n this.metaTags = [];\r\n // this.getCategoryIds();\r\n let categoryIds = this.tempSelectedCategoryIds.toString()\r\n const apiUrl = environment.RYEC_API_URL + 'getCategoryMetaTags';\r\n const postJson = { category_id: categoryIds };\r\n\r\n this.httpService.post(apiUrl, postJson).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n for (let x in res.data) {\r\n if (this.selectedTags.indexOf(res.data[x]) === -1)\r\n this.metaTags.push(res.data[x]);\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n onSubmitEditBusiness() {\r\n\r\n if (this.addBusinessForm.valid) {\r\n for (let i = 0; i < this.deletedBusinessActivity.length; i++) {\r\n this.businessActivityArray.push(this.deletedBusinessActivity[i]);\r\n }\r\n\r\n this.addBusinessForm.controls.business_activities.setValue(this.businessActivityArray);\r\n // this.addBusinessForm.controls.category_id.setValue(this.categoryIds);\r\n this.addBusinessForm.removeControl('category_id');\r\n this.addBusinessForm.controls.metatags.setValue(this.selectedTags.toString());\r\n\r\n const hoursUpdated = this.addBusinessForm.controls.business_working_hours['controls']['options']['controls'];\r\n\r\n console.log(hoursUpdated[0].value);\r\n const filedObj = this.fields.business_working_hours.options;\r\n\r\n const hours = {\r\n 'mon_open_close': hoursUpdated[0].value.isOpen === true ? 1 : 0,\r\n 'mon_start_time': hoursUpdated[0].value.startTime,\r\n 'mon_start_time_am_pm': filedObj[0].startMeridies,\r\n 'mon_end_time': hoursUpdated[0].value.endTime,\r\n 'mon_end_time_am_pm': filedObj[0].endMeridies,\r\n\r\n 'tue_open_close': hoursUpdated[1].value.isOpen === true ? 1 : 0,\r\n 'tue_start_time': hoursUpdated[1].value.startTime,\r\n 'tue_start_time_am_pm': filedObj[1].startMeridies,\r\n 'tue_end_time': hoursUpdated[1].value.endTime,\r\n 'tue_end_time_am_pm': filedObj[1].endMeridies,\r\n\r\n 'wed_open_close': hoursUpdated[2].value.isOpen === true ? 1 : 0,\r\n 'wed_start_time': hoursUpdated[2].value.startTime,\r\n 'wed_start_time_am_pm': filedObj[2].startMeridies,\r\n 'wed_end_time': hoursUpdated[2].value.endTime,\r\n 'wed_end_time_am_pm': filedObj[2].endMeridies,\r\n\r\n 'thu_open_close': hoursUpdated[3].value.isOpen === true ? 1 : 0,\r\n 'thu_start_time': hoursUpdated[3].value.startTime,\r\n 'thu_start_time_am_pm': filedObj[3].startMeridies,\r\n 'thu_end_time': hoursUpdated[3].value.endTime,\r\n 'thu_end_time_am_pm': filedObj[3].endMeridies,\r\n\r\n 'fri_open_close': hoursUpdated[4].value.isOpen === true ? 1 : 0,\r\n 'fri_start_time': hoursUpdated[4].value.startTime,\r\n 'fri_start_time_am_pm': filedObj[4].startMeridies,\r\n 'fri_end_time': hoursUpdated[4].value.endTime,\r\n 'fri_end_time_am_pm': filedObj[4].endMeridies,\r\n\r\n 'sat_open_close': hoursUpdated[5].value.isOpen === true ? 1 : 0,\r\n 'sat_start_time': hoursUpdated[5].value.startTime,\r\n 'sat_start_time_am_pm': filedObj[5].startMeridies,\r\n 'sat_end_time': hoursUpdated[5].value.endTime,\r\n 'sat_end_time_am_pm': filedObj[5].endMeridies,\r\n\r\n 'sun_open_close': hoursUpdated[6].value.isOpen === true ? 1 : 0,\r\n 'sun_start_time': hoursUpdated[6].value.startTime,\r\n 'sun_start_time_am_pm': filedObj[6].startMeridies,\r\n 'sun_end_time': hoursUpdated[6].value.endTime,\r\n 'sun_end_time_am_pm': filedObj[6].endMeridies,\r\n\r\n 'timezone': this.addBusinessForm.controls.timezone.value\r\n };\r\n\r\n console.log(hours);\r\n\r\n\r\n // this.addBusinessForm.controls.working_hours.setValue(hours);\r\n const apiUrl = environment.RYEC_API_URL + 'saveBusiness';\r\n\r\n //const splitVal = this.addBusinessForm.value.mobile.split('-');\r\n //this.addBusinessForm.value.mobile = splitVal[1];\r\n //this.addBusinessForm.value.country_code = splitVal[0];\r\n\r\n const paramObj = this.addBusinessForm.value;\r\n paramObj['working_hours'] = hours;\r\n\r\n if (this.business_address_auto !== '') {\r\n paramObj['address'] = this.business_address_auto;\r\n }\r\n\r\n this.httpService.post(apiUrl, paramObj).subscribe((res:any )=> {\r\n if (res.status === 1) {\r\n this.addBusinessForm.controls.business_activities.setValue('');\r\n this.cS.showSuccess(res.message);\r\n if (this.base64BusinessImages.length > 0 || this.businessProfilePic !== '') {\r\n this.uploadImage();\r\n }\r\n this.business_id = res.data.id;\r\n this.business_slug = res.data.business_slug;\r\n this.showExtraFields = true;\r\n localStorage.removeItem('member_id');\r\n //localStorage.removeItem('member_mobile');\r\n this.getBusinessDetailBySlug(false);\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n }\r\n\r\n cancelEditBusiness() {\r\n this.location.back();\r\n }\r\n\r\n getTimezone() {\r\n const apiUrl = environment.RYEC_API_URL + 'getTimezone';\r\n this.httpService.get(apiUrl).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.timezoneArr = res.data;\r\n this.allTimezoneArr = this.timezoneArr;\r\n }\r\n });\r\n }\r\n\r\n changeTimeZone(event: any) {\r\n console.log(event.value);\r\n this.timezone = event.name;\r\n this.addBusinessForm.controls.timezone.setValue(event.name);\r\n }\r\n\r\n removeMetaTags(index: number) {\r\n if (this.metaTags.indexOf(this.selectedTags[index]) === -1)\r\n this.metaTags.push(this.selectedTags[index]);\r\n this.selectedTags.splice(index, 1);\r\n }\r\n\r\n resetForm() {\r\n this.addBusinessForm.reset();\r\n this.business_category = [];\r\n this.metaTags = [];\r\n this.base64BusinessImages = [];\r\n this.selectedTags = [];\r\n this.productImagesArr = [];\r\n this.addProductForm.reset();\r\n this.addServiceForm.reset();\r\n this.base64ProductImages = [];\r\n this.base64ServiceLogo = '';\r\n this.addBusinessForm.controls.user_id.setValue(localStorage.getItem('member_id'))\r\n //this.addBusinessForm.controls.mobile.setValue(localStorage.getItem('member_mobile'))\r\n }\r\n\r\n openHelpPopup(content: string) {\r\n console.log(content);\r\n }\r\n\r\n removeImage(image_id: any, index: any) {\r\n\r\n Swal.fire\r\n ({\r\n title: 'Are you sure?',\r\n text: 'To delete this image.',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.value) {\r\n const apiUrl = environment.RYEC_API_URL + 'removeProductImage';\r\n const postJson = { product_image_id: image_id };\r\n\r\n this.httpService.post(apiUrl, postJson).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n if (this.productImagesArr) {\r\n this.productImagesArr.splice(index, 1);\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n }) }\r\n\r\n removeProductImage(index: number) {\r\n\r\n\r\n\r\n\r\n Swal.fire\r\n ({\r\n title: 'Are you sure?',\r\n text: 'To delete this image.',\r\n\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n this.base64ProductImages.splice(index, 1);\r\n }\r\n }\r\n )}\r\n\r\n showTimeZoneDropDown() {\r\n if (this.isTimeZoneShow) {\r\n this.isTimeZoneShow = false;\r\n } else {\r\n this.isTimeZoneShow = true;\r\n }\r\n }\r\n\r\n filterTimeZone() {\r\n this.timezoneArr = [];\r\n\r\n if (this.addBusinessForm.controls.timezoneSearch.value !== '') {\r\n this.allTimezoneArr.filter((item: any) => {\r\n const search = item['value'] + ' ' + item['name'];\r\n if (search.toLowerCase().indexOf(this.addBusinessForm.controls.timezoneSearch.value.toLowerCase()) > -1) {\r\n this.timezoneArr.push(item);\r\n }\r\n });\r\n } else {\r\n this.timezoneArr = this.allTimezoneArr;\r\n }\r\n }\r\n\r\n selectTimeZone(timezone: any) {\r\n this.timezone = timezone.value + ' - ' + timezone.name;\r\n this.addBusinessForm.controls.timezone.setValue(timezone.name);\r\n this.isShow = false;\r\n this.addBusinessForm.controls.timezoneSearch.setValue('');\r\n this.timezoneArr = this.allTimezoneArr;\r\n }\r\n\r\n /**\r\n * Upload business logo\r\n */\r\n triggerLogoUpload() {\r\n this.businessLogoRef.nativeElement.click();\r\n }\r\n\r\n readLogoURL(input: any) {\r\n const self = this;\r\n if (input.files && input.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e:any) {\r\n self.businessProfilePic = e['target']['result'];\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n uploadBusinessLogo(event: any, content: any) {\r\n const srcEle = event.srcElement;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.imageChangedEvent = event;\r\n this.modalReference = this.modalService.open(content);\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n } else {\r\n this.cS.showError('Please select valid image.');\r\n }\r\n }\r\n // const srcEle = event.srcElement;\r\n // if (srcEle.files && srcEle.files[0]) {\r\n // if (this.cS.checkValidImage(srcEle.files[0])) {\r\n // this.businessImagesFormData.append('business_logo', srcEle.files[0]);\r\n // this.readLogoURL(srcEle);\r\n // } else {\r\n // this.cS.showError('Please select file less than 5MB.');\r\n // }\r\n // }\r\n }\r\n\r\n imageCropped(image: any) {\r\n this.croppedImage = image;\r\n }\r\n\r\n imageLoaded() {\r\n // show cropper\r\n }\r\n loadImageFailed() {\r\n // show message\r\n }\r\n\r\n sendCropImage() {\r\n //console.log(this.modalService);\r\n //console.log(this.croppedImage);\r\n const block = this.croppedImage.base64.split(';');\r\n const contentType = block[0].split(':')[1];\r\n const realData = block[1].split(',')[1];\r\n\r\n const blob = this.cS.b64toBlob(realData, contentType);\r\n this.modalReference.close();\r\n this.businessProfilePic = this.croppedImage.base64;\r\n this.businessImagesFormData.append('business_logo', blob);\r\n\r\n }\r\n\r\n numberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n /**\r\n * on click Add New Store open form for add new store\r\n * @Yuvraj 30/11/2021\r\n */\r\n addNewStore() {\r\n this.isAddNewStore = true;\r\n this.onlineStoreModel = JSON.parse(JSON.stringify(this.onlineStoreModel));\r\n if (this.onlineStoreModel.online_stores.length == 0) {\r\n this.addStoresRow();\r\n }\r\n }\r\n\r\n /**\r\n * get online store lists\r\n * @Yuvraj 30/11/2021\r\n */\r\n getOnlineStoresLists() {\r\n this.hS.getOnlineStore().subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.onlineStoresList = res.data;\r\n this.storeChange();\r\n }\r\n else {\r\n this.onlineStoresList = [];\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Add row on click add more\r\n * @Yuvraj\r\n * 30/11/2021\r\n */\r\n addStoresRow() {\r\n this.onlineStoreModel.online_stores.push({\r\n id: null,\r\n url: ''\r\n });\r\n }\r\n\r\n /**\r\n * delete particular row on click delete\r\n * @Yuvraj 30/11/2021\r\n */\r\n deleteStoreRow(index: number) {\r\n this.onlineStoreModel.online_stores.splice(index, 1);\r\n let tempData = JSON.parse(JSON.stringify(this.onlineStoreModel.online_stores));\r\n this.onlineStoreModel.online_stores = [];\r\n this.onlineStoreModel.online_stores = tempData;\r\n this.cS.showSuccess(\"Online Store deleted successfully\");\r\n this.storeChange();\r\n }\r\n\r\n /**\r\n * on click cancel hide add store form\r\n * @Yuvraj 30/11/2021\r\n */\r\n onCancelStoreForm() {\r\n this.isAddNewStore = false;\r\n this.onlineStoreModel.online_stores = []; //empty\r\n }\r\n\r\n /**\r\n * on click save store\r\n * @Yuvraj 30/11/2021\r\n */\r\n saveStores(f1:any) {\r\n this.onlineStoreModel.business_id = this.business_id;\r\n const apiUrl = environment.RYEC_API_URL + 'saveBusinessOnlineStores';\r\n this.httpService.post(apiUrl, this.onlineStoreModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isAddNewStore = false;\r\n this.onlineStoreModel.online_stores = []; //empty\r\n this.getAddedOnlineStores();\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * get online added stores\r\n * @Yuvraj 30/11/2021\r\n */\r\n getAddedOnlineStores() {\r\n const postJson = { business_id: this.business_id };\r\n this.hS.getBusinessOnlineStores(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.businessStoresList = res.data;\r\n }\r\n else {\r\n this.businessStoresList = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * on click edit take data from getAddedOnlineStores and push them in model\r\n * @Yuvraj 01/12/2021\r\n */\r\n editStore() {\r\n if (this.businessStoresList.length) {\r\n this.onlineStoreModel.online_stores = []; //empty\r\n this.businessStoresList.forEach((element: any) => {\r\n this.onlineStoreModel.online_stores.push({\r\n id: element.id,\r\n url: element.url,\r\n })\r\n this.isAddNewStore = true;\r\n this.storeChange();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * on store selection restricate user to not selecte same store and disable selected store\r\n * @Yuvraj 07/12/2021\r\n */\r\n storeChange() {\r\n // this.storeDisabled = [];\r\n this.onlineStoresList.map((element) => {\r\n element.isSelected = false;\r\n });\r\n\r\n if (this.onlineStoreModel.online_stores.length) {\r\n this.onlineStoreModel.online_stores.forEach((item: any, index: number) => {\r\n console.log(item);\r\n this.onlineStoresList.map((element) => {\r\n if (element.id == this.onlineStoreModel.online_stores[index].id) {\r\n // console.log('yes match');\r\n // this.storeDisabled[index] = this.onlineStoreModel.online_stores[index].id;\r\n // console.log('storeDisabled', this.storeDisabled);\r\n // let storeList = this.onlineStoresList.find( (item: any) => item.id === this.onlineStoreModel.online_stores[index].id );\r\n // let storeList = _.findWhere(this.onlineStoresList, { id: this.onlineStoreModel.online_stores[index].id });\r\n // console.log(storeList);\r\n // this.onlineStoreModel.online_stores[index].id = storeList.id;\r\n element.isSelected = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n locationSearch(event: any) {\r\n const val = event;\r\n if (val.length >= 6) {\r\n const postJson = { pincode: val };\r\n this.hS.getLocationByPinCode(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n this.locationsList = res.data;\r\n this.isLocationNotFound = false;\r\n } else {\r\n this.locationsList = [];\r\n this.isLocationNotFound = true;\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\r\n
0\">\r\n {{ \"ang_sortby\" | translate }}\r\n
    \r\n
  • \r\n {{ \"ang_relevance\" | translate }}\r\n
  • \r\n
  • \r\n {{ \"ang_nearme\" | translate }}\r\n
  • \r\n
  • \r\n {{ \"ang_ratings\" | translate }}\r\n
  • \r\n
  • \r\n {{ \"ang_popularity\" | translate }}\r\n
  • \r\n
  • \r\n {{ \"ang_a_to_z\" | translate }}\r\n
  • \r\n
  • \r\n {{ \"ang_z_to_a\" | translate }}\r\n
  • \r\n
\r\n
\r\n\r\n
\r\n
0\">\r\n
\r\n ({{ \"ang_showing\" | translate }} {{ first }}-{{ last }}\r\n {{ \"ang_of\" | translate }} {{ totalBuinessCount }}\r\n {{ \"ang_businesses\" | translate }})\r\n
\r\n \r\n \r\n
\r\n \"essar-real-estate\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n\r\n {{ item.name }}\r\n

\r\n
    \r\n
  • \r\n {{ item.owners }}\r\n
  • \r\n \r\n
  • \r\n {{ item.city }}, \r\n {{ item.state }}, \r\n {{ item.country }}\r\n
  • \r\n\r\n
  • \r\n \r\n {{ item.categories_name_list }}\r\n
  • \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\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 \r\n

{{ \"ang_nomatches\" | translate }}

\r\n
\r\n\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n\r\n \r\nimport { marker } from \"src/app/shared/class/data.model\";\r\nimport { CommonService } from \"src/app/shared/services/common.service\";\r\nimport { HomeService } from \"src/app/shared/services/home.service\";\r\nimport { MessageService } from \"src/app/shared/services/message.service\";\r\nimport { environment } from \"src/environments/environment\";\r\ndeclare var $: any;\r\n@Component({\r\n selector: \"ryec-business-search\",\r\n templateUrl: \"./business-search.component.html\",\r\n styleUrls: [\"./business-search.component.css\"],\r\n})\r\nexport class BusinessSearchComponent implements OnInit {\r\n currentPage: number;\r\n routerLink = \"\";\r\n activeUrl = \"\";\r\n BusinessList :any;\r\n sort_slug = \"\";\r\n maxSize = 5;\r\n totalBuinessCount: number = 0;\r\n collectionSize = 0;\r\n first = 1;\r\n last = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n endPage: number = environment.BUSINESS_LIST_LIMIT;\r\n center_lat = localStorage.getItem(\"latitude\");\r\n center_long = localStorage.getItem(\"longitude\");\r\n businessMarkers: marker[] = [];\r\n business_title = \"\";\r\n business_address = \"\";\r\n business_slug = \"\";\r\n noData = false;\r\n user_lat: any;\r\n user_long: any;\r\n isShow = true;\r\n search_city = \"\";\r\n search_text = \"\";\r\n searchText: string = \"\";\r\n appName = environment.APP_NAME;\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n private _message: MessageService,\r\n private router: Router\r\n ) {\r\n this.currentPage = 1;\r\n this.user_lat = localStorage.getItem(\"latitude\");\r\n this.user_long = localStorage.getItem(\"longitude\");\r\n /*\r\n *get url slug\r\n */\r\n this.activeRoute.queryParams.subscribe((data) => {\r\n this.routerLink = data.sort;\r\n if (data.q) {\r\n this.search_text = data.q;\r\n }\r\n this.search_city = data.city;\r\n const obj = {\r\n city: this.search_city,\r\n text: this.search_text,\r\n };\r\n\r\n this._message.setBusinessSearchText(obj);\r\n\r\n this.currentPage = 1;\r\n\r\n /*\r\n *Check which type of sorting happend\r\n */\r\n if (this.routerLink === \"relevance\") {\r\n this.sort_slug = \"relevance\";\r\n } else if (this.routerLink === \"popularity\") {\r\n this.sort_slug = \"popular\";\r\n } else if (this.routerLink === \"ratings\") {\r\n this.sort_slug = \"ratings\";\r\n } else if (this.routerLink === \"near-by\") {\r\n this.sort_slug = \"nearMe\";\r\n } else if (this.routerLink === \"atoz\") {\r\n this.sort_slug = \"AtoZ\";\r\n } else if (this.routerLink === \"ztoa\") {\r\n this.sort_slug = \"ZtoA\";\r\n } else {\r\n this.router.navigateByUrl(\"/home\");\r\n }\r\n this.businessMarkers = [];\r\n this.getSearchBusinessList();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n const obj = {\r\n city: \"All Locations\",\r\n text: \"\",\r\n };\r\n\r\n this._message.setBusinessSearchText(obj);\r\n }\r\n openFilter() {\r\n $('.sub_category_listing').addClass(\"mobile-visible\");\r\n $('body').css('overflow', 'hidden');\r\n }\r\n\r\n closeFilter() {\r\n $('.sub_category_listing').removeClass(\"mobile-visible\");\r\n $('body').css('overflow', 'auto');\r\n }\r\n getSearchBusinessList() {\r\n const postJson = {\r\n sortBy: this.sort_slug,\r\n searchText: this.search_text,\r\n take: this.perPageList,\r\n page: this.currentPage,\r\n city: this.search_city,\r\n latitude: 0,\r\n longitude: 0,\r\n };\r\n\r\n if (this.sort_slug === \"nearMe\" || this.sort_slug === \"relevance\") {\r\n postJson.latitude = this.center_lat;\r\n postJson.longitude = this.center_long;\r\n }\r\n\r\n if (this.search_city === \"All Locations\") {\r\n postJson.city = \"\";\r\n }\r\n\r\n /*\r\n *Get all Promoted Business list from server.\r\n */\r\n this.hS.getSearchBusinesses(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.convertToLowerCase(res.data.businesses);\r\n this.BusinessList = res.data.businesses;\r\n this.totalBuinessCount = res.businessesTotalCount;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.BusinessList = [];\r\n this.noData = true;\r\n }\r\n },\r\n (err:any) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n getNextPageBusinessList(event: number): void {\r\n console.log(event);\r\n const obj = {\r\n city: this.search_city,\r\n text: this.search_text,\r\n };\r\n this._message.setBusinessSearchText(obj);\r\n this.businessMarkers = [];\r\n this.getSearchBusinessList();\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalBuinessCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(\r\n this.totalBuinessCount / this.perPageList\r\n );\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.BusinessList.length < this.perPageList) {\r\n this.last =\r\n (this.currentPage - 1) * this.perPageList +\r\n this.BusinessList.length;\r\n } else {\r\n this.last =\r\n (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalBuinessCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n console.log('totalBuinessCount', this.totalBuinessCount);\r\n if (this.totalBuinessCount === 0 || this.totalBuinessCount === undefined) {\r\n this.noData = true;\r\n\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n this.showBusinessOnMap();\r\n }\r\n\r\n /**\r\n *Load businesses on map\r\n */\r\n showBusinessOnMap() {\r\n for (const x in this.BusinessList) {\r\n if (this.BusinessList.hasOwnProperty(x)) {\r\n this.businessMarkers.push({\r\n latitude: this.BusinessList[x][\"latitude\"],\r\n longitude: this.BusinessList[x][\"longitude\"],\r\n title: this.BusinessList[x][\"name\"],\r\n address: this.BusinessList[x][\"address\"],\r\n business_slug: this.BusinessList[x][\"business_slug\"],\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * open map click\r\n */\r\n clicked(marker: any, pos: any) {\r\n this.business_title = pos.title;\r\n this.business_address = pos.address;\r\n this.business_slug = pos.business_slug;\r\n let markerEvent = marker.target;\r\n markerEvent.nguiMapComponent.openInfoWindow(\"business_name\", markerEvent);\r\n }\r\n\r\n /**\r\n * filter by name\r\n */\r\n filter(filtername: any) {\r\n if (filtername === \"asc\") {\r\n this.isShow = false;\r\n } else {\r\n this.isShow = true;\r\n }\r\n }\r\n\r\n /**\r\n * convert to lowercase entity type for passing in routing in url\r\n * @Yuvraj 24/12/21\r\n */\r\n convertToLowerCase(data: any) {\r\n data.forEach((element: any) => {\r\n if (element.entity_type) {\r\n element.entity_type = element.entity_type.toLowerCase();\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\n//import { HomeService, HttpService, CommonService } from './../../../services';\r\n//import { Router, ActivatedRoute } from '@angular/router';\r\n@Component({\r\n\tselector: 'ryec-create-investment-opportunity',\r\n\ttemplateUrl: './create-investment-opportunity.component.html',\r\n\tstyleUrls: ['./create-investment-opportunity.component.css']\r\n})\r\nexport class CreateInvestmentOpportunityComponent implements OnInit {\r\n\r\n\tinvestmentDetail: any;\r\n\tappName = environment.APP_NAME;\r\n\tconstructor(\r\n\t\t//private hS: HomeService,\r\n //public router: Router,\r\n //public cS: CommonService,\r\n\t\t//public httpService: HttpService,\r\n\t\t//private activeRoute: ActivatedRoute\r\n\t) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t}\r\n}","
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{'ang_businessdetail' | translate}}

\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tmin\r\n\t\t\t\t\t\t\t\t\t
500
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tmax\r\n\t\t\t\t\t\t\t\t\t
100000
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t All Location \r\n\t\t\t\t\t\t scsc\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tmin\r\n\t\t\t\t\t\t\t\t\t\t
500
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tmax\r\n\t\t\t\t\t\t\t\t\t\t
100000
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","
\r\n
\r\n
\r\n
\r\n
\r\n

{{'ang_submit_free_ads_msg' | translate}}

\r\n

{{'ang_editad' | 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 {{'ang_titleisrequired' | 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 {{'ang_descriptionisrequired' | 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
0\">\r\n
\r\n
    \r\n
  • \r\n {{item.name}}\r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

{{'ang_closead_text' | translate}}

\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\n \r\nimport { environment } from './../../../../environments/environment';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Location } from '@angular/common';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\n\r\n@Component({\r\n selector: 'ryec-create-marketplace',\r\n templateUrl: './create-marketplace.component.html',\r\n styleUrls: ['./create-marketplace.component.css']\r\n})\r\nexport class CreateMarketplaceComponent implements OnInit {\r\n\r\n @ViewChild('adsImages') adsImagesRef: ElementRef | undefined;\r\n myform: FormGroup;\r\n formData: any = {\r\n 'ads_type' : '',\r\n 'name' : '',\r\n 'price' : '',\r\n 'descriptions' : '',\r\n 'address' : '',\r\n 'city' : '',\r\n 'category_id' : [],\r\n 'parent_category_id' : [],\r\n 'video_link' : []\r\n };\r\n submitted = false;\r\n allCities: any;\r\n allCategoryArr: any;\r\n parentCategoryIdArr: any = [];\r\n categoryIdArr: any = [];\r\n categoryArr: any = [];\r\n selectedCategoryArr: any = [];\r\n config = {\r\n displayKey: 'name',\r\n search: false\r\n };\r\n adsImagesFormData: FormData = new FormData();\r\n base64AdsImages: Array<{}> = [];\r\n fileAdsImages: any = [];\r\n isEdit: boolean = false;\r\n uploaedImages: any = [];\r\n deletedImagesArr: any = [];\r\n modalReference: any;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n private httpService: HttpService,\r\n private formBuilder: FormBuilder,\r\n private modalService: NgbModal,\r\n private router: Router,\r\n private _location: Location\r\n ) {\r\n this.myform = new FormGroup(this.formBuilder.group({\r\n Name: ['', [Validators.required]],\r\n AdsType: [''],\r\n Description: ['', [Validators.required]],\r\n Price: [''],\r\n Category: [''],\r\n City: [''],\r\n Location: [''],\r\n VideoUrlArr: this.formBuilder.array([])\r\n }).controls, { updateOn: 'change' });\r\n }\r\n\r\n ngOnInit() {\r\n let editData: any = {};\r\n this.isEdit = localStorage.getItem('adDetailData') ? true : false;\r\n if (this.isEdit) {\r\n editData = JSON.parse(window.atob(localStorage.getItem('adDetailData')));\r\n console.log('editData', editData);\r\n this.formData['id'] = editData['id'];\r\n this.formData['name'] = editData['name'];\r\n this.formData['ads_type'] = editData['ads_type'];\r\n this.formData['descriptions'] = editData['descriptions'];\r\n this.formData['price'] = editData['price'];\r\n this.formData['address'] = editData['address'];\r\n this.myform.controls['Location'].setValue(editData['address']);\r\n if (editData['advertisement_images'].length > 0) {\r\n this.uploaedImages = editData['advertisement_images'];\r\n }\r\n const categoryArr = editData['category_hierarchy'];\r\n if (categoryArr.length > 0) {\r\n for (const x in Object.keys(categoryArr)) {\r\n for (const y in Object.keys(categoryArr[x])) {\r\n if (y === '1') {\r\n categoryArr[x][y].id = parseInt(categoryArr[x][y].id);\r\n this.categoryIdArr.push(categoryArr[x][y].id);\r\n this.selectedCategoryArr.push({\r\n parent_name: categoryArr[x][0].name,\r\n category_id: categoryArr[x][y].id,\r\n name: categoryArr[x][y].name\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const VideoUrlArr: any = this.myform.controls.VideoUrlArr;\r\n if (editData['advertisement_videos'].length > 0) {\r\n for (const x in Object.keys(editData['advertisement_videos'])) {\r\n VideoUrlArr.push(this.formBuilder.control(editData['advertisement_videos'][x]['url']));\r\n }\r\n }\r\n }\r\n this.hS.getMenuCategoryListing().subscribe((res:any) => {\r\n this.allCategoryArr = res.data;\r\n if (this.isEdit) {\r\n let categoryArr = editData['category_hierarchy'];\r\n let id = categoryArr[categoryArr.length - 1][0]['id'];\r\n this.allCategoryArr.map((x: any) => {\r\n if (x.category_id === id) {\r\n this.myform.controls['Category'].setValue(x);\r\n this.categoryArr = x.sub_category;\r\n }\r\n });\r\n }\r\n });\r\n this.hS.getAddressMaster().subscribe((res: any) => {\r\n this.allCities = res.data.cities;\r\n if (this.isEdit) {\r\n this.allCities.map((x: any) => {\r\n if (x.name === editData['city']) {\r\n this.myform.controls['City'].setValue(x);\r\n }\r\n });\r\n }\r\n });\r\n if (!this.isEdit) {\r\n this.formData['ads_type'] = JSON.parse(window.atob(localStorage.getItem('setAdType')));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n localStorage.removeItem('adDetailData');\r\n localStorage.removeItem('setAdType');\r\n }\r\n\r\n get f() { return this.myform.controls; }\r\n\r\n get VideoUrlArr() {\r\n let arr: any = this.myform.get('VideoUrlArr');\r\n return arr.length > 0 ? arr : [];\r\n }\r\n\r\n /**\r\n * On Change category selection\r\n * @param event\r\n */\r\n changeSelection(event: any) {\r\n if (event.value) {\r\n this.categoryArr = event.value.sub_category;\r\n } else {\r\n this.categoryArr = [];\r\n }\r\n }\r\n\r\n /**\r\n * For Checked and Unchecked check box\r\n * @param item\r\n */\r\n onChangeCheckbox(item: any) {\r\n const i = this.selectedCategoryArr.findIndex((x: any) => x.category_id === item.category_id);\r\n if (i === -1) {\r\n console.log('Category',this.myform.value['Category']);\r\n item['parent_name'] = this.myform.value['Category']['name'];\r\n this.selectedCategoryArr.push(item);\r\n this.categoryIdArr.push(item.category_id);\r\n } else {\r\n this.selectedCategoryArr.splice(i, 1);\r\n this.categoryIdArr.splice(i, 1);\r\n }\r\n }\r\n\r\n /**\r\n * For Remove category selection\r\n * @param item\r\n */\r\n onRemoveSelection(item: any) {\r\n const y = this.selectedCategoryArr.findIndex((x: any) => x.category_id === item.category_id);\r\n if (y !== -1) {\r\n this.selectedCategoryArr.splice(y, 1);\r\n this.categoryIdArr.splice(y, 1);\r\n }\r\n }\r\n\r\n /**\r\n * For Check category selection\r\n * @param item\r\n */\r\n isSelectedChange(item: any) {\r\n return this.categoryIdArr.indexOf(item) >= 0;\r\n }\r\n\r\n /**\r\n * For Location selection\r\n * @param place\r\n */\r\n placeChanged(place: any) {\r\n //console.log('place',place);\r\n this.formData['latitude'] = place.geometry.location.lat();\r\n this.formData['longitude'] = place.geometry.location.lng();\r\n this.formData['address'] = place['formatted_address'];\r\n }\r\n\r\n /**\r\n * For Upload images API\r\n * @param id\r\n */\r\n uploadImage(id: any) {\r\n const apiUrl = environment.RYEC_API_URL + 'uploadAdsImage';\r\n for (const x in Object.keys(this.fileAdsImages)) {\r\n this.adsImagesFormData.append('image_name[' + x + ']', this.fileAdsImages[x]);\r\n }\r\n this.adsImagesFormData.append('advertisement_id', id);\r\n this.httpService.postUpload(apiUrl, this.adsImagesFormData).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.cS.showSuccess(res['message']);\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * For Remove images API\r\n * @param id\r\n */\r\n removeImage() {\r\n const obj = {\r\n image_ids: this.deletedImagesArr,\r\n advertisement_id: this.formData['id']\r\n };\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'deleteAdsImage';\r\n this.httpService.post(apiUrl, obj).subscribe((res: any) => {\r\n console.log('deleteAdsImage',res);\r\n // if (res['status'] === 1) {\r\n // this.cS.showSuccess(res['message']);\r\n // } else {\r\n // this.cS.showError(res['message']);\r\n // }\r\n });\r\n }\r\n\r\n /**\r\n * Click in triggered Images selection\r\n */\r\n triggerUpload() {\r\n if (this.base64AdsImages.length === 9) {\r\n this.cS.showError('You can only upload 9 images.');\r\n } else {\r\n if (this.adsImagesRef) {\r\n this.adsImagesRef.nativeElement.click();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * For read file type\r\n * @param input\r\n */\r\n readURL(input: any) {\r\n const self = this;\r\n if (input.files && input.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e:any) {\r\n if (e['target']) {\r\n self.base64AdsImages.push(e['target']['result']);\r\n self.fileAdsImages.push(input.files[0]);\r\n }\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n /**\r\n * For Upload images functionality\r\n * @param event\r\n */\r\n uploadAdsimages(event: any) {\r\n const srcEle = event.srcElement;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n //this.adsImagesFormData.append('image_name[0]', srcEle.files[0]);\r\n this.readURL(srcEle);\r\n } else {\r\n this.cS.showError('Please select file less than 5MB.');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * For remove image selection\r\n * @param index\r\n * @param id\r\n */\r\n deleteAdsImage(index: number, id?: number) {\r\n if (id === undefined) {\r\n this.base64AdsImages.splice(index, 1);\r\n this.fileAdsImages.splice(index, 1);\r\n } else {\r\n this.deletedImagesArr.push(id.toString());\r\n this.uploaedImages.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * For add new blank Url text box\r\n */\r\n addNewVideoURL() {\r\n const VideoUrlArr: any = this.myform.controls.VideoUrlArr;\r\n VideoUrlArr.push(this.formBuilder.control(''));\r\n }\r\n\r\n /**\r\n * On Remove video URL\r\n * @param i\r\n */\r\n onRemoveVideoUrl(i: any) {\r\n const VideoUrlArr: any = this.myform.controls.VideoUrlArr;\r\n VideoUrlArr.removeAt(i);\r\n }\r\n\r\n /**\r\n * For cancel selection\r\n */\r\n onCancelClick() {\r\n this.myform.reset();\r\n if (this.isEdit) {\r\n this._location.back();\r\n } else if (localStorage.getItem('setActiveTab')) {\r\n let url = localStorage.getItem('setActiveTab');\r\n this.router.navigate(['home/market-place/' + url]);\r\n } else {\r\n this.router.navigate(['home/market-place/relevance']);\r\n }\r\n }\r\n\r\n /**\r\n * For save Ads\r\n */\r\n onCreateNewAds() {\r\n this.submitted = true;\r\n if (this.myform.invalid) {\r\n return;\r\n } else {\r\n let isBlank = true;\r\n this.formData['video_link'] = [];\r\n if (this.myform.value['VideoUrlArr'].length > 0) {\r\n this.formData['video_link'] = this.myform.value['VideoUrlArr'];\r\n for (const x in Object.keys(this.formData['video_link'])) {\r\n if (this.formData['video_link'][x].trim() === '') {\r\n isBlank = false;\r\n }\r\n }\r\n }\r\n if (isBlank) {\r\n this.parentCategoryIdArr = [];\r\n for (const x in Object.keys(this.allCategoryArr)) {\r\n if (this.allCategoryArr[x].hasOwnProperty('sub_category')) {\r\n for (const y in (this.allCategoryArr[x]['sub_category'])) {\r\n if (this.categoryIdArr.indexOf(this.allCategoryArr[x]['sub_category'][y]['category_id']) !== -1) {\r\n const i = this.parentCategoryIdArr.indexOf(this.allCategoryArr[x]['category_id']);\r\n if (i === -1) {\r\n this.parentCategoryIdArr.push(this.allCategoryArr[x]['category_id']);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.formData['category_id'] = [];\r\n this.formData['parent_category_id'] = [];\r\n this.formData['city'] = '';\r\n if (this.categoryIdArr.length > 0) {\r\n this.formData['category_id'] = this.categoryIdArr;\r\n }\r\n if (this.parentCategoryIdArr.length > 0) {\r\n this.formData['parent_category_id'] = this.parentCategoryIdArr;\r\n }\r\n if (this.myform.value['City'] !== undefined) {\r\n this.formData['city'] = this.myform.value['City']['name'];\r\n }\r\n console.log('formData',this.formData);\r\n const apiUrl = environment.RYEC_API_URL + 'addOrUpdateAds';\r\n this.httpService.post(apiUrl, this.formData).subscribe((res:any) => {\r\n //console.log('addOrUpdateAds',res);\r\n if (res['status'] === 1) {\r\n if (this.base64AdsImages.length > 0) {\r\n this.uploadImage(res['data']['id']);\r\n }\r\n if (this.isEdit && this.deletedImagesArr.length > 0) {\r\n this.removeImage();\r\n }\r\n this.cS.showSuccess(res['message']);\r\n if (this.isEdit) {\r\n this._location.back();\r\n } else {\r\n if (res['data'].hasOwnProperty('id')) {\r\n let id = window.btoa(res['data']['id']);\r\n this.router.navigate(['home/market-place-detail/' + id]);\r\n }\r\n }\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n } else {\r\n this.cS.showError('Please add video url');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * For remove ads\r\n * @param content\r\n */\r\n onCloseAd(content: any) {\r\n this.modalReference = this.modalService.open(content, { windowClass: 'dark-modal' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason === 'yes') {\r\n console.log('reason', reason);\r\n const apiUrl = environment.RYEC_API_URL + 'removeAdvertisement';\r\n const postJson = {\r\n \"advertisement_id\" : this.formData['id']\r\n }\r\n this.httpService.post(apiUrl, postJson).subscribe((res:any) => {\r\n if (res['status'] === 1) {\r\n this.cS.showSuccess(res['message']);\r\n this._location.back();\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
{{ \"ang_share\" | 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 {{ postId > 0 ? (\"ang_edit_post\" | translate) : (\"ang_new_post\" | 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 {{ \"ang_category_error\" | translate }}\r\n

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

\r\n {{ \"ang_message_error\" | 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
{{ \"ang_add_images\" | 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 {{ \"ang_external_pattern_error\" | 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 {{ \"ang_photo\" | translate }}\r\n

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

Highlights

\r\n
\r\n
\r\n
    \r\n \r\n
    {{item.value.button_name}}
    \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\" class=\"col-md-12\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ post.user.name }}\r\n \r\n   |  \r\n \r\n {{ post.business_name }}\r\n \r\n \r\n {{ post.user.name }}\r\n \r\n

\r\n

\r\n {{ post.category }} |\r\n {{\r\n post.created_at_diff\r\n }}\r\n

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

\r\n \r\n {{\r\n (readMore && readMorePost == post.id) ? post.content : (post.content | slice: 0:130)\r\n }}\r\n \r\n 130\">...\r\n 130\"\r\n (click)=\"readMore = true;readMorePost = post.id\">See More\r\n 130\" (click)=\"readMore = false;readMorePost = 0\">See less\r\n

\r\n
\r\n\r\n
0\" class=\"share_image add_padding\">\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \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
\r\n\r\n
\r\n

0; else viewCount\">\r\n \r\n \r\n {{ post.likes_count }}\r\n \r\n \r\n\r\n \r\n \r\n {{ post.share_count }}\r\n {{ post.share_count == 1 ? (\"ang_share\" | translate) : (\"ang_shares\" | translate) }}\r\n \r\n \r\n \r\n {{ post.views_count }}\r\n {{ post.views_count == 1 ? (\"ang_view\" | translate) : (\"ang_views\" | translate) }}\r\n \r\n

\r\n \r\n

\r\n \r\n \r\n {{ post.views_count }}\r\n {{ post.views_count == 1 ? (\"ang_view\" | translate) : (\"ang_views\" | translate) }}\r\n \r\n \r\n \r\n {{ post.share_count }}\r\n {{ post.share_count == 1 ? (\"ang_share\" | translate) : (\"ang_shares\" | 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","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\n// import { CustomValidators } from 'ng2-validation';\r\n// import { StorepostConfig } from \"./../../../class/data.model\";\r\nimport { Component, OnInit, HostListener, Input, ViewChild } from \"@angular/core\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport swal from 'sweetalert2';\r\nimport { OwlCarousel } from 'ngx-owl-carousel';\r\n \r\nimport { GroupPostLikedSharedTaggedUsersListModalComponent } from \"../../../shared/component/group-post-liked-shared-tagged-users-list-modal/group-post-liked-shared-tagged-users-list-modal.component\";\r\nimport { Observable, Observer } from \"rxjs\";\r\nimport { HttpService } from \"src/app/shared/services/http.service\";\r\nimport { HomeService } from \"src/app/shared/services/home.service\";\r\nimport { CommonService } from \"src/app/shared/services/common.service\";\r\nimport { ReportBusinessModalComponent } from \"src/app/shared/component/report-business-modal/report-business-modal.component\";\r\nimport Swal from \"sweetalert2\";\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\n@Component({\r\n selector: \"ryec-home-post\",\r\n templateUrl: \"./home-post.component.html\",\r\n styleUrls: [\"./home-post.component.css\"],\r\n})\r\n\r\n\r\nexport class HomePostComponent implements OnInit {\r\n @ViewChild('owlElement')\r\n // owlElement!: OwlCarousel;\r\n // fun() {\r\n // this.owlElement.next([200]);\r\n // }\r\n closeResult = false;\r\n postForm: FormGroup;\r\n toggled: boolean = false;\r\n message: string = \"\";\r\n postType: Array = [\"Community Posts\", \"MyRajasthan Club Posts\"];\r\n selectedType = this.postType[0];\r\n modalReference: any;\r\n user_id = 0;\r\n url: any;\r\n images: any[] = [];\r\n postFormData: FormData = new FormData();\r\n filePostImages: any = [];\r\n categories = [];\r\n cities = [];\r\n keywords = [];\r\n posts: Array = [];\r\n collectionSize = 0;\r\n totalPostCount = 0;\r\n highlights:any[]=[];\r\n currentPage: number;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n readMore: boolean = false;\r\n readMorePost = 0;\r\n repoUrl = window.location.href;\r\n sharingUrl: string = \"\";\r\n sharingTitle: string = \"\";\r\n categoryName: string = \"\";\r\n cityName: string = \"\";\r\n externalLink: string = \"\";\r\n messageValue: string = \"\";\r\n currentPosition: number = 0;\r\n isPostLoading: boolean = false;\r\n deleteImages: boolean = false;\r\n deleteImageIds: Array = [];\r\n postId = 0;\r\n city_search_location = 'Select City';\r\n cityLocations :any;\r\n selectedCity = '';\r\n cityIsShow = false;\r\n citySearchText = '';\r\n city_search_text = false;\r\n pageSize = 20;\r\n postImages :any;\r\n base64Image: any;\r\n appName = environment.APP_NAME;\r\n\r\n lat = localStorage.getItem(\"latitude\");\r\n lng = localStorage.getItem(\"longitude\");\r\n\r\n @Input('isPostDetailPage') postDetailId = 0;\r\n\r\n customOptions: OwlOptions = {\r\n autoplay: true,\r\n nav: true,\r\n margin: 2,\r\n loop: false,\r\n responsive: {\r\n 0: {\r\n items:1\r\n },\r\n 200: {\r\n items:3\r\n },\r\n 500: {\r\n items:4\r\n }}\r\n }\r\n\r\n HttpHeaderOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n }),\r\n };\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n public router: Router,\r\n private hS: HomeService,\r\n public cS: CommonService,\r\n private httpS: HttpService,\r\n private modalService: NgbModal\r\n ) {\r\n this.url = \"\";\r\n this.currentPage = 1;\r\n const reg = '((http|https)://)(www.)?[a-zA-Z0-9@:%._\\\\+~#?&//=]{2,256}\\\\.[a-z]{2,6}\\\\b([-a-zA-Z0-9@:%._\\\\+~#?&//=]*)';\r\n this.postForm = this.fb.group({\r\n category: [\"\", Validators.required],\r\n // city: [\"\"],\r\n message: [\"\", Validators.required],\r\n externallink: [\"\", Validators.pattern(reg)],\r\n title: [\"\"]\r\n });\r\n\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.user_id = userDetail.id;\r\n }\r\n }\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n\r\n if (event.srcElement.name != \"cityLocationDropdown\" && event.srcElement.name != \"cityLocation\") {\r\n this.cityIsShow = false;\r\n } else {\r\n this.cityIsShow = true;\r\n }\r\n }\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n this.getAllPost();\r\n this.getCategoryDetail();\r\n this.gethighlights();\r\n // this.getAddressDetail();\r\n // console.log(this.cS.getUserDetails());\r\n }\r\n checkAuth() {\r\n if (this.cS.getUserDetails()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n getCategoryDetail() {\r\n const apiUrl = environment.RYEC_API_URL + \"getCategoryAndModKeywords\";\r\n this.httpS.get(apiUrl).subscribe(\r\n (res: any) => {\r\n this.categories = res.data.categories;\r\n this.keywords = res.data.keywords;\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n handleChangeTab(type: string) {\r\n if (this.selectedType !== type) {\r\n this.selectedType = type;\r\n this.getAllPost();\r\n }\r\n }\r\n\r\n /**\r\n * Get city Detail from entered details\r\n *@returns void\r\n */\r\n getAddressDetail() {\r\n if(this.appName=='MRC')\r\n {\r\n this.hS.getAddressMaster().subscribe(\r\n (res: any) => {\r\n this.cities = res.data.cities;\r\n this.cityLocations = res.data.cities;\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n}\r\n\r\n @HostListener('window:scroll', [])\r\n scrollHandler() {\r\n // for get height and postion of div scrolling\r\n // var winScroll = event.currentTarget.scrollTop;\r\n // var height = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\r\n\r\n // for get height and postion of window scrolling\r\n var winScroll = window.scrollY + window.innerHeight;\r\n var height = document.body.scrollHeight;\r\n var scrolled = (winScroll / height) * 100;\r\n\r\n var lastPage = Math.ceil(this.totalPostCount / this.pageSize);\r\n // console.log('height:- '+height);\r\n // console.log('last page:- '+lastPage);\r\n if (winScroll > this.currentPosition && scrolled > 80 && lastPage > this.currentPage && !this.isPostLoading) {\r\n this.isPostLoading = true;\r\n this.currentPage++;\r\n\r\n // if user is not logged in then show only 20 post only\r\n if (this.checkAuth()) {\r\n this.getAllPost(true);\r\n }\r\n }\r\n // console.log(\"Scroll %\", scrolled);\r\n // console.log(\"current:- \", this.currentPosition);\r\n // console.log('page: ' + this.currentPage);\r\n this.currentPosition = winScroll;\r\n }\r\n\r\n getAllPost(isScroll: boolean = false): void {\r\n const apiUrl = environment.RYEC_API_URL + \"getAllPosts\";\r\n const paramConfig = {\r\n type: this.selectedType === this.postType[0] ? \"business_user\" : \"admin\",\r\n page: (isScroll) ? this.currentPage : 1,\r\n latitude: this.lat,\r\n longitude: this.lng,\r\n near_by: (this.lat && this.lng && false) ? 'true' : 'false',\r\n limit: this.pageSize,\r\n post_id: (this.postDetailId > 0) ? this.postDetailId : ''\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n if (isScroll) {\r\n this.posts = [...this.posts, ...res.data];\r\n } else {\r\n this.posts = res.data;\r\n this.currentPage = 1;\r\n }\r\n this.totalPostCount = res.total;\r\n this.countCollectionSize();\r\n this.isPostLoading = false;\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n editPostByPostId(content: any, id: number): void {\r\n this.images = [];\r\n this.deleteImageIds = [];\r\n this.filePostImages = [];\r\n this.postFormData = new FormData();\r\n const apiUrl = environment.RYEC_API_URL + \"getPostDetail\";\r\n const paramConfig = {\r\n post_id: id,\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.postId = res.data.id;\r\n this.categoryName = res.data.category;\r\n // this.selectedCity = res.data.city;\r\n // this.city_search_location = (res.data.city != '') ? res.data.city : 'Select City';\r\n this.messageValue = res.data.content;\r\n this.externalLink = res.data.external_link;\r\n this.postImages = res.data.images;\r\n this.cityIsShow = false;\r\n this.deleteImages = false;\r\n //for open modal box\r\n this.modalReference = this.modalService.open(content, { size: \"lg\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * report post of other user and load common component for report\r\n * @Yuvraj 23/12/2021\r\n */\r\n loadReportPostComponent(id: number) {\r\n const modalReference = this.modalService.open(ReportBusinessModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.type = 'Post';\r\n modalReference.componentInstance.postId = id;\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n deletePostByPostId(id: number): void {\r\n Swal.fire\r\n ({\r\n title: 'Do you really want to delete this post?',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n confirmButtonColor: '#3085d6',\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n const apiUrl = environment.RYEC_API_URL + \"deletePost\";\r\n const paramConfig = {\r\n post_id: id,\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getAllPost();\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n }\r\n )}\r\n\r\n handleLikePost(id: number, event: any): void {\r\n if (this.checkAuth()) {\r\n const hasClass = event.target.classList.contains('liked');\r\n if (hasClass) {\r\n event.target.classList.remove(\"liked\");\r\n } else {\r\n event.target.classList.add(\"liked\");\r\n }\r\n\r\n const apiUrl = environment.RYEC_API_URL + \"likePost\";\r\n const paramConfig = {\r\n post_id: id,\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.getAllPost();\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n } else {\r\n this.cS.navigateTo('/login');\r\n }\r\n }\r\n\r\n handleSharePost(): void {\r\n const apiUrl = environment.RYEC_API_URL + \"likePost\";\r\n const paramConfig = {\r\n post_id: this.postId,\r\n share: true\r\n };\r\n this.httpS.post(apiUrl, paramConfig).subscribe(\r\n (res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getAllPost();\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementById('closeBtn') as HTMLElement;\r\n element.click();\r\n }, 200);\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n countCollectionSize() {\r\n if (this.totalPostCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalPostCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * this.pageSize;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n openSm(content: any) {\r\n if (this.checkAuth()) {\r\n this.modalReference = this.modalService.open(content, { windowClass: \"modal-md\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n this.postId = 0;\r\n this.postForm.reset();\r\n this.filePostImages = [];\r\n this.postImages = [];\r\n this.images = [];\r\n this.deleteImageIds = [];\r\n this.categoryName = \"\";\r\n this.cityName = \"\";\r\n this.selectedCity = \"\";\r\n this.city_search_location = 'Select City';\r\n this.messageValue = \"\";\r\n this.externalLink = \"\";\r\n this.postFormData = new FormData();\r\n this.cityIsShow = false;\r\n this.closeResult = true;\r\n this.deleteImages = false;\r\n } else {\r\n this.cS.navigateTo('/login');\r\n }\r\n\r\n\r\n }\r\n gethighlights() {\r\n if (this.checkAuth())\r\n {\r\n if (this.appName == 'RYC') {\r\n this.hS.highlightservice().subscribe((res: any) => {\r\n this.highlights = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n this.cS.scrollTop();\r\n }\r\n }\r\n}\r\n\r\n close() {\r\n this.closeResult = false;\r\n }\r\n submitpost(editPost: any) {\r\n if (this.postForm.valid) {\r\n if (editPost > 0) {\r\n let deleteImages = (this.deleteImages) ? 'true' : 'false'\r\n this.postFormData.append(\"post_id\", editPost);\r\n this.postFormData.append(\"delete_images\", deleteImages);\r\n this.postFormData.append(\"delete_image_ids\", JSON.stringify(this.deleteImageIds));\r\n var apiUrl = environment.RYEC_API_URL + \"updatePost\";\r\n } else {\r\n var apiUrl = environment.RYEC_API_URL + \"storePost\";\r\n }\r\n for (const x in Object.keys(this.filePostImages)) {\r\n this.postFormData.append(\"images[\" + x + \"]\", this.filePostImages[x]);\r\n }\r\n this.postFormData.append(\r\n \"category\",\r\n this.postForm.controls.category.value\r\n );\r\n // this.postFormData.append(\"city\", this.selectedCity);\r\n this.postFormData.append(\"title\", this.postForm.controls.title.value);\r\n this.postFormData.append(\"content\", this.postForm.controls.message.value);\r\n this.postFormData.append(\r\n \"external_link\",\r\n this.postForm.controls.externallink.value\r\n );\r\n this.postFormData.append(\"source\", \"myself\");\r\n this.postFormData.append(\"status\", \"active\");\r\n\r\n this.httpS.postUpload(apiUrl, this.postFormData).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getAllPost();\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n });\r\n }\r\n }\r\n\r\n onSelectFile(event: any) {\r\n const srcEle = event.target;\r\n var filesAmount = event.target.files.length;\r\n if ((this.images.length + this.postImages.length + filesAmount) <= 4) {\r\n // this.images = [];\r\n // this.filePostImages = [];\r\n for (let i = 0; i < filesAmount; i++) {\r\n if (srcEle.files && srcEle.files[i]) {\r\n if (this.cS.checkValidImage(srcEle.files[i])) {\r\n this.readURL(srcEle.files[i]);\r\n } else {\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n } else {\r\n this.cS.showError(\"You can only upload 4 images.\");\r\n }\r\n }\r\n\r\n readURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.images.push(reader.result);\r\n self.filePostImages.push(input);\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n deletePostImages(index: number, id?: number): void {\r\n if (id !== undefined) {\r\n this.postImages.splice(index, 1);\r\n this.deleteImageIds.push(id);\r\n } else {\r\n this.images.splice(index, 1);\r\n this.filePostImages.splice(index, 1);\r\n }\r\n // this.deleteImages = true;\r\n // this.images = [];\r\n }\r\n\r\n openShareOptions(content: any, slug: any, title: any) {\r\n if (this.checkAuth()) {\r\n this.postId = slug;\r\n this.sharingUrl = this.repoUrl + \"?post_id=\" + slug;\r\n this.sharingTitle = encodeURIComponent(title);\r\n\r\n this.modalService.open(content, { centered: true, windowClass: \"share_popup\" }).result.then(\r\n (result) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason) => {\r\n console.log(reason);\r\n }\r\n );\r\n } else {\r\n this.cS.navigateTo('/login');\r\n }\r\n }\r\n\r\n shareOnFacebook() {\r\n this.handleSharePost();\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${this.sharingUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n this.handleSharePost();\r\n window.open(`https://twitter.com/intent/tweet?url=${this.sharingUrl}&text=${this.sharingTitle}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n this.handleSharePost();\r\n window.open(`https://www.linkedin.com/shareArticle?url=${this.sharingUrl}&title=${this.sharingTitle}`, 'sharer');\r\n }\r\n openVerticallyCentered(postImage: any, postId: number, slideIndex: number) {\r\n var post = this.posts.find(function (post) {\r\n return post.id == postId;\r\n });\r\n this.postImages = post.images;\r\n this.customOptions.startPosition = slideIndex;\r\n this.modalService.open(postImage, { windowClass: 'post-img-carousel', centered: true });\r\n }\r\n\r\n cityShowLocationDropDown() {\r\n // e.preventDefault();\r\n if (this.cityIsShow) {\r\n this.cityIsShow = false;\r\n } else {\r\n this.cityIsShow = true;\r\n }\r\n }\r\n citySelectLocation(cityLocation: any) {\r\n this.city_search_text = true;\r\n this.city_search_location = this.selectedCity = cityLocation;\r\n this.cityIsShow = false;\r\n }\r\n\r\n cityFilterLocation() {\r\n this.cityLocations = [];\r\n if (this.cityName != '') {\r\n this.cities.filter((item:any) => {\r\n if (item['name'].toLowerCase().indexOf(this.cityName.toLowerCase()) > -1) {\r\n this.cityLocations.push(item);\r\n }\r\n })\r\n } else {\r\n this.cityLocations = this.cities;\r\n }\r\n }\r\n\r\n viewAllPost() {\r\n this.postDetailId = 0;\r\n this.getAllPost();\r\n //this.cS.navigateTo('/home');\r\n }\r\n\r\n /**\r\n * on click load common component for liked users\r\n * @Yuvraj 21/03/2022\r\n */\r\n loadGroupPostLikedSharedTaggedUsersListModalComponentForLiked(id: number) {\r\n if (this.checkAuth()) {\r\n const modalReference = this.modalService.open(GroupPostLikedSharedTaggedUsersListModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.postId = id;\r\n modalReference.componentInstance.loadType = 'loadPostLikedUsers'; //type of load\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log('reason', reason);\r\n });\r\n }\r\n else {\r\n this.cS.navigateTo('/login');\r\n }\r\n }\r\n /**\r\n * on click load common component for shared users\r\n * @Yuvraj 21/03/2022\r\n */\r\n loadGroupPostLikedSharedTaggedUsersListModalComponentForShared(id: number) {\r\n if (this.checkAuth()) {\r\n const modalReference = this.modalService.open(GroupPostLikedSharedTaggedUsersListModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.postId = id; //post id\r\n modalReference.componentInstance.loadType = 'loadPostSharedUsers'; //type of load\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log('reason', reason);\r\n });\r\n }\r\n else {\r\n this.cS.navigateTo('/login');\r\n }\r\n\r\n }\r\n\r\n\r\n generateImage(url: any) {\r\n let imageUrl = url;\r\n\r\n this.getBase64ImageFromURL(imageUrl).subscribe((base64data: any) => {\r\n this.base64Image = \"data:image/jpg;base64,\" + base64data;\r\n // save image to disk\r\n var link = document.createElement(\"a\");\r\n\r\n document.body.appendChild(link); // for Firefox\r\n\r\n link.setAttribute(\"href\", this.base64Image);\r\n link.setAttribute(\"download\", \"image.jpg\");\r\n link.click();\r\n });\r\n }\r\n\r\n getBase64ImageFromURL(url: string) {\r\n return Observable.create((observer: Observer) => {\r\n const img: HTMLImageElement = new Image();\r\n img.crossOrigin = \"Anonymous\";\r\n img.src = url;\r\n if (!img.complete) {\r\n img.onload = () => {\r\n observer.next(this.getBase64Image(img));\r\n observer.complete();\r\n };\r\n img.onerror = err => {\r\n observer.error(err);\r\n };\r\n } else {\r\n observer.next(this.getBase64Image(img));\r\n observer.complete();\r\n }\r\n });\r\n }\r\n\r\n getBase64Image(img: HTMLImageElement) {\r\n const canvas: HTMLCanvasElement = document.createElement(\"canvas\");\r\n canvas.width = img.width;\r\n canvas.height = img.height;\r\n const ctx: CanvasRenderingContext2D = canvas.getContext(\"2d\")!;\r\n ctx.drawImage(img, 0, 0);\r\n const dataURL: string = canvas.toDataURL(\"image/png\");\r\n\r\n return dataURL.replace(/^data:image\\/(png|jpg);base64,/, \"\");\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
ADVERTISE
\r\n
CREATE WEBSITE
\r\n \r\n ×\r\n \r\n
\r\n \r\n
\r\n

Advertise your business with My Rajasthan Club Network through various social media channels and highlight your business in My Rajasthan Club Platform. To Know more submit your inquiry.

\r\n

Advertise your business with Rajputs Club Network through various social media channels and highlight your business in Rajputs Club Platform. To Know more submit your inquiry.

\r\n

Create your business Website without need of domain and hosting on My Rajasthan Club Platform. To Know more submit your inquiry.

\r\n

Create your business Website without need of domain and hosting on Rajputs Club Platform. To Know more submit your inquiry.

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

\r\n {{ \"ang_businessprofessionnamevalidation\" | translate }}\r\n

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

\r\n {{ \"ang_businessprofessionusernamevalidation\" | translate }}\r\n

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

\r\n {{ \"ang_businessprofessionphonevalidation\" | translate }}\r\n

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

\r\n {{ \"ang_businessprofessioncityvalidation\" | 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

Receive online Payment
for your Business

\r\n

Download PayG App

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • {{item.value}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{'ang_searchformmessageMRC' | translate}} \r\n {{'ang_searchformmessageRYC' | translate}} \r\n
\r\n
\r\n
\r\n {{'ang_supportryuvaclub' | translate}}\r\n {{'ang_donate' | 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

{{'ang_trendingCategories' | 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
0 && !userDetail && isPostDetailPage == 0\">\r\n

{{'ang_premiumbusinesses' | translate}}

\r\n {{'ang_viewall' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{item.name}}\r\n

\r\n
    \r\n
  • \r\n {{item.owners}}
  • \r\n \r\n
  • \r\n {{item.city}}\r\n , {{item.state}}\r\n , {{item.country}}\r\n
  • \r\n\r\n
  • \r\n \r\n {{item.categories_name_list}}\r\n
  • \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
0 && !userDetail && isPostDetailPage == 0\">\r\n

{{'ang_recenltyaddedbusinesses' | translate}}

\r\n {{'ang_viewall' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{item.name}}\r\n

\r\n
    \r\n
  • \r\n {{item.owners}}
  • \r\n \r\n
  • \r\n {{item.city}}\r\n , {{item.state}}\r\n , {{item.country}}\r\n
  • \r\n
  • 0\">\r\n \r\n \r\n {{cat.category_name}}{{isLast ? '' : ', '}}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
0 && !userDetail && isPostDetailPage == 0\">\r\n

{{'ang_trendingcategories' | translate}}

\r\n {{'ang_viewall' | translate}}\r\n
\r\n
\r\n
0; then showCategory; else showBusinessDetail\">
\r\n \r\n \r\n
\r\n \"legal\"\r\n
{{item.category_name}}
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \"legal\"\r\n
{{item.category_name}}
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
0 && !userDetail && isPostDetailPage == 0\">\r\n

{{'ang_trendingservices' | translate}}

\r\n {{'ang_viewall' | translate}}\r\n
\r\n
\r\n
0; then showCategory; else showBusinessDetail\">
\r\n \r\n \r\n
\r\n \"legal\"\r\n
{{item.category_name}}
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \"legal\"\r\n
{{item.category_name}}
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'ang_sponsored_business' | translate}}

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

Introduction
to Rajputs Club

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

Introduction
to Rajputs Club

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

{{'ang_topPlaces' | 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

Promote/Advertise Your Business and Create Your Business Website with My Rajasthan Club

\r\n
My Rajasthan Club is a business listing site & local search engine, especially for worldwide Rajasthan Community. Any Rajasthan Businessman, Professional, Industrialist & Entrepreneur can join this portal and list their business/service with all information. You can also create your business public website using My Rajasthan Club.
\r\n
\r\n
\r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Our Lifetime Members

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

{{ list?.bussiness_name }}

\r\n
{{ list?.owner_name }}
\r\n

{{ list?.description }}

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

\r\n \r\n

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

Create Business Website and Membership Plans

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

To avail the business website and membership, please contact us on cmyrajasthan@gmail.com or Call/WhatsApp/SMS us on +91 9099937890. We will get in touch with you.

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

Testimonials

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

Great app. Ihave created my website using My Rajasthan Club. We can use our Rajasthan community facilities here and by doing this .We’ll make our community strong in both economic and financial way.

\r\n
- Jatin Rohilla
\r\n
\r\n
\r\n \r\n
\r\n

Good app for Rajasthan community.It can improve the economy of My Rajasthan community by sharing services with each other.

\r\n
- Dashrathsinh jadeja
\r\n
\r\n
\r\n \r\n
\r\n

Best APP to unite our Rajasthan community. Good for our brothers and sisters to grow to their own potentials.

\r\n
- Divyarajsinh Vala
\r\n
\r\n
\r\n \r\n
\r\n

It's a nice start by the youngsters for the benefit of community on for the community anf by the community principle. Thanks to you all for giving such an excellent platform to grow up the business.

\r\n
- Vishwarajsinh Jadeja
\r\n
\r\n
\r\n \r\n
\r\n

Awesome application, kudos to founders who has taken this initiative to provide such an excellent platform for Community Business Development.

\r\n
- Jayrajsinh Jadeja
\r\n
\r\n
\r\n \r\n
\r\n

Such great platform for the Entrepreneurs to join the Rajasthan Business Revolution and may mataji bless to all my brothers and sisters for own enterpreneurs.

\r\n
- Rajdeepsinh Jadeja
\r\n
\r\n
\r\n \r\n
\r\n

\"RYEC - of the Rajputs, by the Rajputs, for the Rajputs\". Thums up for a great initiative.

\r\n
- Vikramsinh Solanki
\r\n
\r\n
\r\n \r\n
\r\n

It’s wonderful. Three weeks ago I listed my business on My Rajasthan Club , Till Today, I Got 4-5 business related calls as they want to purchase my products. Thanks for making such kind of app.

\r\n
- Natversinh Zala
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, EventEmitter, HostListener, Output, ViewChild, ElementRef, TemplateRef } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Location } from \"@angular/common\";\r\nimport { TrendingServiceRes, marker } from 'src/app/shared/class/data.model';\r\nimport { debounceTime, map, distinctUntilChanged, filter } from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs/observable/fromEvent';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { AuthService } from 'src/app/shared/services/auth.service';\r\nimport {NgbModal, ModalDismissReasons} \r\n from '@ng-bootstrap/ng-bootstrap';\r\n import swal from 'sweetalert2';\r\nimport { SuccessModule } from '../../auth/success/success.module';\r\n\r\n\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'ryec-home-dashboard',\r\n templateUrl: './home-dashboard.component.html',\r\n styleUrls: ['./home-dashboard.component.css']\r\n})\r\n\r\nexport class HomeDashboardComponent implements OnInit {\r\n env = environment;\r\n validTitle: any;\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (event.srcElement.className == '') {\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"none\");\r\n }\r\n this.homeSearchText = '';\r\n this.home_search_location = 'All Locations';\r\n }\r\n if (event.srcElement.className != 'home_search_input') {\r\n // $(\".home_auto_complete_list\").css(\"display\", \"none\");\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n if (event.srcElement.name != \"homeLocationDropdown\" && event.srcElement.name != \"homeLocation\") {\r\n this.homeIsShow = false;\r\n } else {\r\n this.homeIsShow = true;\r\n }\r\n }\r\n categoriesArr = [];\r\n schemaJson: any;\r\n trendServiceArr: any;\r\n trendCategorieArr: any;\r\n promotedBusinessArr = [];\r\n premiumBusinessArr: any;\r\n brandingimage=[];\r\n investmentOpportunityArr = [];\r\n recentlyAddedBusinessArr: any;\r\n popularBusinessArr = [];\r\n center_lat = localStorage.getItem('latitude');\r\n center_long = localStorage.getItem('longitude');\r\n businessMarkers: marker[] = [];\r\n business_title = '';\r\n business_address = '';\r\n business_slug = '';\r\n user_lat: any;\r\n user_long: any;\r\n homeIsShow = false;\r\n searchText = '';\r\n items: any;\r\n home_search_location = 'All Locations';\r\n homeLocations = [];\r\n homeLocation = '';\r\n closeResult = '';\r\n homeAllLocations = [];\r\n public repoUrl: string;\r\n isPostDetailPage = 0;\r\n homeSearchText = '';\r\n home_search_text = false;\r\n isLangaugeShow = false;\r\n userDetail: any;\r\n isSuccessfullyRegister: boolean;\r\n agentStatus: boolean;\r\n modalReference: any;\r\n validBusinessTitle = false;\r\n validName = false;\r\n validPhoneNo = false;\r\n validCity = false;\r\n validForm = false;\r\n businessType = \"\"\r\n businessForm = {\r\n business_name: '',\r\n name: '',\r\n phoneno: '',\r\n city: ''\r\n }\r\n public screenWidth: any;\r\n appName = environment.APP_NAME;\r\n newslist: any[] = [];\r\n trendingCategoriesLists: any[] = [];\r\n businessAndTopPlacesLists: any = {};\r\n isMobile: boolean = false;\r\n isDesktopDevice: boolean = false;\r\n deviceInfo: any;\r\n appDownloadUrl: string = \"\";\r\n\r\n HttpHeaderOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n @Output() emit: EventEmitter = new EventEmitter();\r\n @Output() isHomePage = new EventEmitter();\r\n\r\n // properties = {\r\n // title: 'Business Name : Painter',\r\n // description: 'my desc',\r\n // image: 'https://ryec.s3.amazonaws.com/uploads/category/category_logo/thumbnail/catgory_logo_1522302770.png',\r\n // via: 'RYEC'\r\n // }\r\n @ViewChild('content', { static: true }) content!: TemplateRef;\r\n @ViewChild('homeSearchInput')\r\n homeSearchInput!: ElementRef;\r\n constructor(\r\n private hS: HomeService,\r\n private modalService: NgbModal,\r\n private cS: CommonService,\r\n private httpS: HttpService,\r\n public router: Router,\r\n public activateRouter: ActivatedRoute,\r\n private location: Location,\r\n private deviceService: DeviceDetectorService,\r\n private auth:AuthService\r\n ) {\r\n this.repoUrl = \"http://apnsservice.com\";\r\n this.isSuccessfullyRegister = false;\r\n this.agentStatus = false;\r\n\r\n router.events.subscribe((val: any) => {\r\n if (this.location.path() == '/home' || this.location.path() == '') {\r\n this.isPostDetailPage = 0;\r\n console.log(val);\r\n }\r\n });\r\n }\r\n \r\n\r\n\r\n ngOnInit() {\r\n const lastVisit = localStorage.getItem('lastVisit');\r\n const today = new Date().toISOString().slice(0, 10);\r\n if (!lastVisit || lastVisit !== today)\r\n {\r\n this.modalService.open(this.content);\r\n localStorage.setItem('lastVisit', today);\r\n }\r\n this.screenWidth = window.innerWidth;\r\n this.getnewsLists();\r\n this.getBrandingData();\r\n this.cS.scrollTop();\r\n this.userDetail = this.cS.getUserDetails();\r\n if (this.userDetail) {\r\n const isRegister = this.cS.isBusinessRegister();\r\n const isSkipped = this.cS.isBusinessRegisterSkipped();\r\n this.isSuccessfullyRegister = isRegister || !isSkipped;\r\n const isAgentVal = this.cS.getData('isAgent');\r\n if (isAgentVal && isAgentVal === 'A') {\r\n this.agentStatus = false;\r\n this.isSuccessfullyRegister = isRegister;\r\n } else if (isAgentVal && isAgentVal === 'P') {\r\n this.agentStatus = true;\r\n } else {\r\n this.isSuccessfullyRegister = isRegister;\r\n }\r\n }\r\n \r\n\r\n this.cS.currentMessage.subscribe((message: any) => {\r\n console.log(message);\r\n this.center_lat = localStorage.getItem('latitude');\r\n this.center_long = localStorage.getItem('longitude');\r\n this.user_lat = localStorage.getItem('latitude');\r\n this.user_long = localStorage.getItem('longitude');\r\n // this.getNearByBusinessesList();\r\n });\r\n\r\n if (this.center_lat === '' || this.center_lat === null) {\r\n this.hS.getNetworkLatLong();\r\n }\r\n this.getHomeAddressDetail();\r\n if(this.appName=='MRC')\r\n {\r\n this.getMenuCategoryListing();\r\n }\r\n if (!this.userDetail) {\r\n this.getTrendingServiceListing();\r\n this.getTrendingCategorieListing();\r\n this.getRecentlyAddedBusinessListing();\r\n this.getPremiumBusinessListing();\r\n }\r\n let postId = this.activateRouter.snapshot.queryParams[\"post_id\"];\r\n this.isPostDetailPage = (postId > 0) ? postId : 0;\r\n this.showHomeSlider();\r\n this.hideSearchAndLocationFilters();\r\n this.isDesktopDevice = this.deviceService.isDesktop();\r\n this.isMobile = this.deviceService.isMobile();\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.generateMobileAppSchema();\r\n }\r\n\r\n showHomeSlider() {\r\n if ($('.nearby-carousel').data(\"owlCarousel\") !== \"undefined\") {\r\n if (window.matchMedia('(max-width: 991px)').matches) {\r\n this.initialHomeSlider();\r\n } else {\r\n this.destroyHomeSlider();\r\n }\r\n }\r\n }\r\n\r\n initialHomeSlider() {\r\n $('.nearby-carousel').addClass(\"owl-carousel\").owlCarousel({\r\n loop: false,\r\n dots: false,\r\n nav: true,\r\n items: 2,\r\n margin: 0,\r\n navText: [\"\", \"\"],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 480: {\r\n items: 2,\r\n },\r\n 768: {\r\n items: 3,\r\n },\r\n 1199: {\r\n items: 2,\r\n }\r\n }\r\n });\r\n }\r\n\r\n destroyHomeSlider() {\r\n $('.nearby-carousel').trigger(\"destroy.owl.carousel\");\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n console.log('event', event);\r\n this.screenWidth = window.innerWidth;\r\n this.showHomeSlider();\r\n }\r\n /**\r\n * Get Address Detail from entered details\r\n *@returns void\r\n */\r\n getHomeAddressDetail() {\r\n this.hS.getAddressMaster().subscribe((res: any) => {\r\n // to be changed from cities to locations later\r\n this.homeLocations = res.data.cities;\r\n if (this.homeLocations.length > 0) {\r\n if (this.home_search_location == '') {\r\n this.home_search_location = this.homeLocations[0]['name'];\r\n }\r\n }\r\n this.homeAllLocations = this.homeLocations;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n homeShowLocationDropDown() {\r\n if (this.homeIsShow) {\r\n this.homeIsShow = false;\r\n } else {\r\n this.homeIsShow = true;\r\n }\r\n }\r\n\r\n changeTitleEvent(event?: any) {\r\n console.log(event);\r\n if (this.businessForm.business_name === '' && this.businessForm.business_name.trim() === '') {\r\n this.validBusinessTitle = true;\r\n } else {\r\n this.validBusinessTitle = false;\r\n }\r\n\r\n if (this.businessForm.name === '' && this.businessForm.name.trim() === '') {\r\n this.validName = true;\r\n } else {\r\n this.validName = false;\r\n }\r\n\r\n if (this.businessForm.phoneno === '' && this.businessForm.phoneno.trim() === '') {\r\n this.validPhoneNo = true;\r\n } else {\r\n this.validPhoneNo = false;\r\n }\r\n if (this.businessForm.city === '' && this.businessForm.city.trim() === '') {\r\n this.validCity = true;\r\n } else {\r\n this.validCity = false;\r\n }\r\n\r\n if (this.businessForm.business_name === '' || this.businessForm.business_name.trim() === '' ||\r\n this.businessForm.name === '' || this.businessForm.name.trim() === '' ||\r\n this.businessForm.phoneno === '' || this.businessForm.phoneno.trim() === '' ||\r\n this.businessForm.city === '' || this.businessForm.city.trim() === ''\r\n ) {\r\n this.validForm = false;\r\n } else {\r\n this.validForm = true;\r\n }\r\n }\r\n\r\n /**\r\n *open business list add enquiry modal\r\n */\r\n addContentForBusiness(content: string, type: string) {\r\n this.businessForm.business_name = '';\r\n this.businessForm.name = '';\r\n this.businessForm.phoneno = '';\r\n this.businessForm.city = '';\r\n this.businessType = type;\r\n this.modalReference = this.modalService.open(content, { windowClass: 'enquiry_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason)\r\n });\r\n }\r\n\r\n /**\r\n *add reviews and rating for business list\r\n */\r\n submitBusinessDetail() {\r\n const postJson = {\r\n business_name: this.businessForm.business_name,\r\n name: this.businessForm.name,\r\n mobile_number: this.businessForm.phoneno,\r\n city: this.businessForm.city,\r\n type: this.businessType,\r\n };\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'addBusinesBrandingInquiry';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n console.log(res);\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n }, (err: { error: any; }) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n\r\n //Filter location from location list\r\n homeFilterLocation() {\r\n // this.homeLocations = [];\r\n // if (this.homeLocation != '') {\r\n // this.homeAllLocations.filter(item => {\r\n // if (item['name'].toLowerCase().indexOf(this.homeLocation.toLowerCase()) > -1) {\r\n // this.homeLocations.push(item);\r\n // }\r\n // })\r\n // } else {\r\n // this.homeLocations = this.homeAllLocations;\r\n // }\r\n }\r\n\r\n getChildLocationSearchValue(val: string) {\r\n this.home_search_location = val;\r\n }\r\n\r\n homeSelectLocation(homeLocation: string) {\r\n //this.homeSearchText = this.homeSearchText;\r\n // let path = window.location.pathname;\r\n this.home_search_text = true;\r\n this.home_search_location = homeLocation;\r\n this.homeIsShow = false;\r\n //console.log(this.home_search_location);\r\n // if (path.indexOf('/business-search') > -1) {\r\n // \tif (this.search_location == 'All Locations') {\r\n // \t\tthis.location = '';\r\n // \t\tthis.locations = this.allLocations;\r\n // \t}\r\n // \tthis.searchBusiness();\r\n // }\r\n }\r\n\r\n homeSearchBusinessByCategory(home_auto_select_value_name: string) {\r\n this.homeSearchText = home_auto_select_value_name;\r\n this.homeSearchBusiness();\r\n // $(\".home_auto_complete_list\").css(\"display\", \"none\");\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"none\");\r\n }\r\n this.isLangaugeShow = false;\r\n }\r\n\r\n /**\r\n * Search by category with autocomplete - AJAX call\r\n * @param event\r\n */\r\n // homeSearch(event: any) {\r\n // const val = event.target.value;\r\n // if (val === \"\" || val.length < 3) {\r\n // $(\".home_auto_complete_list\").css(\"display\", \"none\");\r\n // }\r\n // if (val.length >= 3) {\r\n // const postJson = { searchText: val };\r\n\r\n // this.hS.getSearchAutocomplete(postJson).subscribe((res: any) => {\r\n // if (res.data) {\r\n // console.log(res.data);\r\n // if (res.data.length > 0) {\r\n // $(\".home_auto_complete_list\").css(\"display\", \"block\");\r\n // this.items = res.data;\r\n // } else {\r\n // $(\".home_auto_complete_list\").css(\"display\", \"none\");\r\n // }\r\n // }\r\n // }, err => {\r\n // console.log(err);\r\n // });\r\n // }\r\n // }\r\n\r\n ngAfterViewInit(): void {\r\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\r\n //Add 'implements AfterViewInit' to the class.\r\n this.homeSearh();\r\n this.getCategoriesLists();\r\n this.getBusinessAndTopPlacesLists();\r\n }\r\n\r\n /**\r\n * deley api calling and called once user finish typed in search text box\r\n * @Yuvraj 15/11/2021\r\n */\r\n homeSearh() {\r\n fromEvent(this.homeSearchInput.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 3\r\n // , filter(res => res.length >= 3)\r\n filter((res: string | any[]) => {\r\n if (res && res.length >= 3) {\r\n return true;\r\n } else {\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"none\");\r\n }\r\n return false;\r\n }\r\n })\r\n\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n\r\n // If previous query is diffent from current\r\n , distinctUntilChanged()\r\n\r\n // subscription for response\r\n ).subscribe((postJson: any) => {\r\n console.log('postJson', postJson);\r\n this.hS.getSearchAutocomplete({ searchText: postJson }).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"block\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"block\");\r\n }\r\n this.items = res.data;\r\n } else {\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n }\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n });\r\n }\r\n\r\n\r\n homeSearchBusiness() {\r\n if (this.appName == 'MRC') {\r\n $(\".home_auto_complete_list-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".home_auto_complete_list-ryc\").css(\"display\", \"none\");\r\n }\r\n\r\n if (this.homeSearchText === \"\") {\r\n // this needs to be changed to city\r\n this.router.navigateByUrl('business-search?city=' + this.home_search_location + '&sort=relevance');\r\n } else {\r\n // this needs to be changed to city\r\n this.router.navigateByUrl('business-search?q=' + this.homeSearchText + '&city=' + this.home_search_location + '&sort=relevance');\r\n }\r\n\r\n }\r\n\r\n generateMobileAppSchema() {\r\n this.getDevicePlatform();\r\n if (this.appName == 'RYC') { // if app is MRC\r\n this.schemaJson = {\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"SoftwareApplication\",\r\n \"name\": \"Rajputs Club\",\r\n \"url\": this.appDownloadUrl,\r\n \"description\": \"राजपूत समाज के शिक्षा, रोजगार,व्यपार एवं इतिहास को सुदृढ़ प्लेटफार्म राजपुत कल्ब\",\r\n \"operatingSystem\": this.deviceInfo.device,\r\n \"applicationCategory\": \"BUSINESS\",\r\n \"image\": \"https://play-lh.googleusercontent.com/194iOS9gyYd2ihqn7rFNBdtiPVTvT2odYyxlJOt6d7FQwxDyuoVR0A-NtfzMIn5mLg\",\r\n \"contentRating\": \"Rated for 12+\",\r\n \"author\": {\r\n \"@type\": \"Person\",\r\n \"name\": \"RC Club\",\r\n \"url\": \"https://www.rajputsclub.com\"\r\n },\r\n \"offers\": [{\r\n \"@type\": \"Offer\",\r\n \"price\": \"0\",\r\n \"priceCurrency\": \"INR\",\r\n \"availability\": \"https://schema.org/InStock\"\r\n }]\r\n };\r\n }\r\n if (this.appName == 'MRC') { // if MyRajasthanClub\r\n this.schemaJson = {\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"SoftwareApplication\",\r\n \"name\": \"MyRajasthan Club\",\r\n \"url\": this.appDownloadUrl,\r\n \"description\": \"MyRajasthan Club is a business listing local search engine Rajasthani Community\",\r\n \"operatingSystem\": this.deviceInfo.device,\r\n \"applicationCategory\": \"TOOLS\",\r\n \"image\": \"https://play-lh.googleusercontent.com/46HVV_Bnl-EANZaMc71RfAOZxu38Ho5TiVSQehKOM_3DrIvAni9DK9ghrkjS1OStXlQ\",\r\n \"contentRating\": \"Rated for 3+\",\r\n \"author\": {\r\n \"@type\": \"Person\",\r\n \"name\": \"RC Club\",\r\n \"url\": \"https://www.myrajasthanclub.com\"\r\n },\r\n \"aggregateRating\": {\r\n \"@type\": \"AggregateRating\",\r\n \"ratingValue\": \"4.9259257316589355\",\r\n \"ratingCount\": \"56\"\r\n },\r\n \"offers\": [\r\n {\r\n \"@type\": \"Offer\",\r\n \"price\": \"0\",\r\n \"priceCurrency\": \"INR\",\r\n \"availability\": \"https://schema.org/InStock\"\r\n }\r\n ]\r\n };\r\n }\r\n }\r\n\r\n getDevicePlatform() {\r\n if (this.isMobile) {\r\n if (this.deviceInfo.device == 'iPhone') {\r\n if (this.appName == 'RYC') { //if RajputsClub\r\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajput-club/id1660935382\";\r\n }\r\n else { //else MyRajasthanClub\r\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\r\n }\r\n }\r\n if (this.deviceInfo.device == 'Android') {\r\n if (this.appName == 'RYC') { //if RajputsClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\r\n }\r\n else { // else MyRajasthanClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\r\n }\r\n }\r\n }\r\n if (this.isDesktopDevice) {\r\n if (this.appName == 'RYC') { //if RajputsClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\r\n }\r\n else { // else MyRajasthanClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get ALl Categories Menu listing\r\n * @returns void\r\n */\r\n\r\n getMenuCategoryListing(): void {\r\n if (this.hS.menuCategories.data.length <= 0) {\r\n this.hS.getMenuCategoryListing().subscribe((res: { data: any; }) => {\r\n this.categoriesArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n else {\r\n this.categoriesArr = this.hS.menuCategories.data;\r\n }\r\n }\r\n\r\n\r\n\r\n /**\r\n * Get Trending service listing\r\n * @returns void\r\n */\r\n getTrendingServiceListing(): void {\r\n if (this.hS.trendingServicesList.data.length <= 0) {\r\n const limit = 6;\r\n this.hS.getTrendingServiceListing(limit).subscribe((res: TrendingServiceRes) => {\r\n this.trendServiceArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.trendServiceArr = this.hS.trendingServicesList.data;\r\n }\r\n }\r\n /**\r\n * Get Trending Category listing\r\n * @returns void\r\n */\r\n getTrendingCategorieListing(): void {\r\n if (this.hS.trendingCategoryList.data.length <= 0) {\r\n const limit = 6;\r\n this.hS.getTrendingCategorieListing(limit).subscribe((res: TrendingServiceRes) => {\r\n this.trendCategorieArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.trendCategorieArr = this.hS.trendingCategoryList.data;\r\n }\r\n }\r\n\r\n getCategoriesLists() {\r\n this.hS.getCategoriesLists().subscribe((res: any) => {\r\n this.trendingCategoriesLists = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n this.cS.scrollTop();\r\n }\r\n\r\n getnewsLists() {\r\n if (this.checkAuth())\r\n {\r\n if (this.appName == 'RYC') {\r\n this.hS.getnewsLists().subscribe((res: any) => {\r\n this.newslist = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n this.cS.scrollTop();\r\n }\r\n }\r\n}\r\n\r\n\r\ncheckAuth()\r\n {\r\n if (this.cS.getUserDetails()) \r\n {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getBusinessAndTopPlacesLists() {\r\n const postJson = { entity_types: ['business', 'place'] };\r\n this.hS.getBusinessAndTopPlacesLists(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.updateBusinessUrls(res.data);\r\n this.updateTopPlacesUrls(res.data);\r\n this.updateTopPlaceDescription(res.data);\r\n this.updateSponserBusinessDescription(res.data);\r\n }\r\n this.businessAndTopPlacesLists = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n this.cS.scrollTop();\r\n }\r\n\r\n updateBusinessUrls(responseData: any) {\r\n responseData.business.forEach((element: any) => {\r\n if (element.entity_type) {\r\n if (element.entity_type == \"Business\") {\r\n element.entity_type = '/home/business-detail/';\r\n }\r\n if (element.entity_type == \"Place\") {\r\n element.entity_type = '/place/';\r\n }\r\n if (element.entity_type == \"Person\") {\r\n element.entity_type = '/person/';\r\n }\r\n if (element.entity_type == \"News\") {\r\n element.entity_type = '/news/';\r\n }\r\n }\r\n });\r\n }\r\n\r\n updateTopPlacesUrls(responseData: any) {\r\n responseData.place.forEach((element: any) => {\r\n if (element.entity_type) {\r\n if (element.entity_type == \"Business\") {\r\n element.entity_type = '/home/business-detail/';\r\n }\r\n if (element.entity_type == \"Place\") {\r\n element.entity_type = '/place/';\r\n }\r\n if (element.entity_type == \"Person\") {\r\n element.entity_type = '/person/';\r\n }\r\n }\r\n });\r\n }\r\n\r\n updateSponserBusinessDescription(responseData: any) {\r\n responseData.business.forEach((element: any) => {\r\n if (element.description != null) {\r\n element.description = new DOMParser().parseFromString(element.description, \"text/html\").documentElement.textContent;\r\n }\r\n else {\r\n element.description = \"\";\r\n }\r\n });\r\n }\r\n updateTopPlaceDescription(responseData: any) {\r\n responseData.place.forEach((element: any) => {\r\n if (element.description != null) {\r\n element.description = new DOMParser().parseFromString(element.description, \"text/html\").documentElement.textContent;\r\n }\r\n else {\r\n element.description = \"\";\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Get Recently Added Business listing\r\n * @returns void\r\n */\r\n getRecentlyAddedBusinessListing(): void {\r\n if (this.hS.trendingCategoryList.data.length <= 0) {\r\n const postJson = {\r\n limit: 4\r\n };\r\n\r\n this.hS.getRecentlyAddedBusinessListing(postJson).subscribe((res: any) => {\r\n this.recentlyAddedBusinessArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.recentlyAddedBusinessArr = this.hS.recentlyAddedBusinessList.data;\r\n }\r\n }\r\n\r\n /**\r\n * Get Promoted Business listing\r\n * @returns void\r\n */\r\n getPromotedBusinessListing() {\r\n if (this.hS.promotedBusinessList.data.length <= 0) {\r\n\r\n const postJson = {\r\n limit: 4\r\n };\r\n\r\n this.hS.getPromotedBusinessListing(postJson).subscribe((res: any) => {\r\n this.promotedBusinessArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.promotedBusinessArr = this.hS.promotedBusinessList.data;\r\n }\r\n }\r\n\r\n /**\r\n * Get Investment Opportunities Listing\r\n * @returns void\r\n */\r\n getInvestmentOpportunityList() {\r\n if (this.hS.investmentOpportunityList.data.length <= 0) {\r\n const postJson = {\r\n limit: 4\r\n };\r\n\r\n this.hS.getInvestmentOpportunityList(postJson).subscribe((res: any) => {\r\n this.investmentOpportunityArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.investmentOpportunityArr = this.hS.investmentOpportunityList.data;\r\n }\r\n }\r\n\r\n\r\n open(content:any) \r\n {\r\n this.modalService.open(content,\r\n {\r\n ariaLabelledBy: 'modal-basic-title'}).result.then((result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = \r\n `Dismissed ${this.getDismissReason(reason)}`;\r\n });\r\n \r\n }\r\n\r\n private getDismissReason(reason: any): string {\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 * Get Popular Business Listing\r\n * @returns void\r\n */\r\n getPopularBusinessList(): void {\r\n if (this.hS.popularBusinessList.data.length <= 0) {\r\n const postJson = {\r\n limit: 4\r\n };\r\n\r\n this.hS.getPopularBusinessList(postJson).subscribe((res: any) => {\r\n this.popularBusinessArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.popularBusinessArr = this.hS.popularBusinessList.data;\r\n }\r\n }\r\n\r\n /**\r\n * Get Near by Business Listing\r\n * @returns void\r\n */\r\n getNearByBusinessesList(): void {\r\n const postJson = {\r\n radius: environment.LOCATION_RADIUS,\r\n latitude: this.center_lat,\r\n longitude: this.center_long,\r\n sortBy: 'nearMe'\r\n };\r\n\r\n this.hS.getNearByBusinessesList(postJson).subscribe((res: any) => {\r\n for (const x in res.data) {\r\n if (res.data.hasOwnProperty(x)) {\r\n this.businessMarkers.push({\r\n latitude: res.data[x]['latitude'],\r\n longitude: res.data[x]['longitude'],\r\n title: res.data[x]['name'],\r\n address: res.data[x]['address'],\r\n business_slug: res.data[x]['business_slug']\r\n });\r\n }\r\n }\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n * open map click\r\n */\r\n clicked(markerEvent: any, pos: any) {\r\n this.business_title = pos.title;\r\n this.business_address = pos.address;\r\n this.business_slug = pos.business_slug;\r\n let marker = markerEvent.target;\r\n marker.nguiMapComponent.openInfoWindow('ibn', marker);\r\n }\r\n\r\n saveParentCategory(item: any) {\r\n const obj = {\r\n category_slug: item['category_slug'],\r\n category_id: item['service_id'],\r\n name: item['category_name']\r\n };\r\n this.cS.parentCategoryList = [];\r\n this.cS.setParentCategory(obj);\r\n }\r\n\r\n saveParentCategories(item: any) {\r\n const obj = {\r\n category_slug: item['category_slug'],\r\n category_id: item['category_id'],\r\n\r\n name: item['name']\r\n };\r\n this.cS.parentCategoryList = [];\r\n this.cS.setParentCategory(obj);\r\n }\r\n galleryItems = [\r\n {\r\n small: 'https://via.placeholder.com/150',\r\n medium: 'https://via.placeholder.com/500',\r\n big: 'https://via.placeholder.com/1000'\r\n },\r\n {\r\n small: 'https://via.placeholder.com/150',\r\n medium: 'https://via.placeholder.com/500',\r\n big: 'https://via.placeholder.com/1000'\r\n },]\r\n getBrandingData()\r\n {\r\n this.hS.getBrandingData().subscribe((res: any) => {\r\n this.brandingimage = res.data.name;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n \r\n redirecthistorys()\r\n {\r\n if (this.checkAuth())\r\n {\r\n this.router.navigate(['history']);\r\n }else \r\n {\r\n this.cS.showInfo('please login');\r\n }\r\n }\r\n redirectjob()\r\n {\r\n if (this.checkAuth())\r\n {\r\n this.router.navigate(['job']);\r\n }else\r\n {\r\n this.cS.showInfo('please login');\r\n }\r\n }\r\n redirectbusiness()\r\n {\r\n if (this.checkAuth())\r\n {\r\n this.router.navigate(['home/business-list/premium-business/relevance']);\r\n }else\r\n {\r\n this.cS.showInfo('please login');\r\n }\r\n }\r\n redirectshiksha()\r\n {\r\n if(this.checkAuth())\r\n {\r\n this.router.navigate(['/schools']);\r\n }else\r\n {\r\n this.cS.showInfo('please login');\r\n }\r\n }\r\n\r\n showCategory(obj: any) {\r\n return (obj['isBusiness'] === 1) ? false : true;\r\n }\r\n\r\n /**\r\n * Get Premium Business listing\r\n * @returns void\r\n */\r\n getPremiumBusinessListing() {\r\n if (this.hS.premiumBusinessList.data.length <= 0) {\r\n\r\n const postJson = {\r\n limit: 4\r\n };\r\n\r\n this.hS.getPremiumBusinessListing(postJson).subscribe((res: any) => {\r\n this.premiumBusinessArr = res.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.premiumBusinessArr = this.hS.premiumBusinessList.data;\r\n }\r\n }\r\n\r\n /** Landing Page Code **/\r\n\r\n\r\n memebersList = [\r\n {\r\n owner_name: 'Jadeja Dileepsinh Dolubha',\r\n bussiness_name: 'Deep Projects',\r\n description: 'Fabrication & Labour Supplier in Gujarat, India',\r\n image: '../../../assets/images/owner/Jadeja_Dileepsinh_Dolubha.jpeg'\r\n },\r\n {\r\n owner_name: 'Hemendrasinh Vaghela',\r\n bussiness_name: 'MPH Precision Castings LTD',\r\n description: 'Investment Castings in Indrad Gam, Ahmedabad',\r\n image: '../../../assets/images/owner/Hemendrasinh_Vaghela.jpg'\r\n },\r\n {\r\n owner_name: 'Jaiveersinh Chudasama',\r\n bussiness_name: 'Gallops Food Plaza',\r\n description: 'Highway Restaurant in Ahmedabad,India',\r\n image: '../../../assets/images/owner/Jayvirsinh_Zala.jpg'\r\n },\r\n {\r\n owner_name: 'Jaydipsinhji B Zala',\r\n bussiness_name: 'Rudra Tours & Travel',\r\n description: 'Tours & Travels in Surendranagar, India',\r\n image: '../../../assets/images/owner/Jaydipsinhji_B_Zala.jpg'\r\n },\r\n {\r\n owner_name: 'Jayvirsinh Zala',\r\n bussiness_name: 'Zala Construction',\r\n description: 'Civil Engineer & Contractor in Ankleshwar, India',\r\n image: '../../../assets/images/owner/Jayvirsinh_Zala.jpg'\r\n },\r\n {\r\n owner_name: 'Karandevsinh K Jadeja',\r\n bussiness_name: 'Mansi Sea Food',\r\n description: 'SeaFood Distributors in Kutch, India',\r\n image: '../../../assets/images/owner/Karandevsinh_K_Jadeja.jpg'\r\n },\r\n {\r\n owner_name: 'Kuljeetsinh B Jhala',\r\n bussiness_name: 'B G Jhala Consultants',\r\n description: 'Tax Consultant in Kutch, India',\r\n image: '../../../assets/images/owner/Kuljeetsinh_B_Jhala.jpg'\r\n },\r\n {\r\n owner_name: 'Manoharsinh Jadeja',\r\n bussiness_name: 'Riddhi Logistics',\r\n description: 'Body Dumper Truck Service Provider in Kutch, India',\r\n image: '../../../assets/images/owner/Manoharsinh_Jadeja.jpeg'\r\n },\r\n {\r\n owner_name: 'Rajdeepsinh M Jadeja (Raja)',\r\n bussiness_name: 'Subham Land Developers',\r\n description: 'Real Estate in Rajkot, India',\r\n image: '../../../assets/images/owner/Rajdeepsinh_M_Jadeja.jpeg'\r\n },\r\n {\r\n owner_name: 'Vaghela Narpatsinh',\r\n bussiness_name: 'Bhal Enterprises',\r\n description: 'Tours & Travel Services in Gandhidham, India',\r\n image: '../../../assets/images/owner/Vaghela_Narpatsinh.jpg'\r\n },\r\n {\r\n owner_name: 'Virendrasinh Kiransinh Rana',\r\n bussiness_name: 'Designer view',\r\n description: 'Architectural Design & Interior Design in Ankleshwar, India',\r\n image: '../../../assets/images/owner/Virendrasinh_Kiransinh_Rana.jpg'\r\n },\r\n {\r\n owner_name: 'Shripalsinh Narendrasinh Vaghela',\r\n bussiness_name: 'Hotel Heritage',\r\n description: 'Hotel for Business & Leisure Travellers in Ahmedabad, India',\r\n image: '../../../assets/images/owner/Shripalsinh_Narendrasinh_Vaghela.jpg'\r\n },\r\n ];\r\n\r\n getLifeTimeMemberList() {\r\n const apiUrl = environment.RYEC_API_URL + 'getLifetimeMembers';\r\n\r\n this.httpS.post(apiUrl, {}).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.memebersList = res.data['businesses'];\r\n }\r\n }, (err: { error: any; }) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n\r\n numberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n hideSearchAndLocationFilters() {\r\n if ($(\".right_header\")) {\r\n // $(\".right_header\").css(\"display\", \"none\");\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ryec-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n","
\r\n\t\"\"\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{investmentDetail?.title}} -{{investmentDetail?.category_name}}

\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_approxoffering' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.offering_percent}}%
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_investmentamountrequired' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.investment_amount_start}} - {{investmentDetail?.investment_amount_end}}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_projectduration' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.project_duration}}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_location' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.location | trimstr : 15}}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

{{investmentDetail?.descriptions}}

\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{'ang_ownerinformation' | translate}}

\r\n\t\t
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \t

{{investmentDetail?.creator_business_name}}

\r\n

{{investmentDetail?.creator_name}}

\r\n

+91-{{investmentDetail?.creator_phone}}

\r\n

{{investmentDetail?.creator_email}}

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

{{'ang_projectdocument' | translate}}

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

{{'ang_photos' | translate}}

\r\n
    \r\n
  • \r\n \"image\"\r\n
  • \r\n
\r\n
\r\n \r\n \t
\r\n \t
0\">\r\n \t\t
\r\n \t\t\t

{{'ang_videos' | translate}}

\r\n
    \r\n
  • \r\n \"video\"\r\n
  • \r\n
\r\n
\r\n \r\n \t
\r\n
\r\n
\r\n \t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n 0\" (activeId)=\"activeId\">\r\n \r\n \"Random\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n 0\" (activeId)=\"videoActiveId\">\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n
\r\n

{{'ang_showinterest' | translate}}

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

{{'ang_descriptionisrequired' | translate}}

\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 { ActivatedRoute } from '@angular/router';\r\n \r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from '../../../../environments/environment';\r\n@Component({\r\n selector: 'ryec-investment-opportunity-detail',\r\n templateUrl: './investment-opportunity-detail.component.html',\r\n styleUrls: ['./investment-opportunity-detail.component.css']\r\n})\r\nexport class InvestmentOpportunityDetailComponent implements OnInit {\r\n \trouterLink = '';\r\n\tactiveUrl = '';\r\n\tinvestmentDetail: any;\r\n\tactiveId = 0;\r\n\tvideoActiveId = 0;\r\n\tinterestForm = {\r\n idea_id: '',\r\n description: ''\r\n\t}\r\n\tvalidDescription = false;\r\n\tvalidForm = false;\r\n\tmodalReference: any;\r\n\tisInterest = false;\r\n\tappName = environment.APP_NAME;\r\n\r\n \tconstructor(\r\n\t\tprivate activeRoute: ActivatedRoute,\r\n\t\tprivate hmS: HomeService,\r\n\t\tprivate cS: CommonService,\r\n\t\tprivate httpS: HttpService,\r\n\t\tprivate modalService: NgbModal)\r\n\t{\r\n\t\t// this.investmentDetail = {\r\n // status: 0,\r\n\t\t// \tmessage: '',\r\n\t\t// \tdata: []\r\n\t\t// };\r\n\r\n\t\tconst activeUrlArray = this.activeRoute.snapshot.url;\r\n\t\tconsole.log(activeUrlArray);\r\n\t\tthis.activeRoute.params.subscribe(data => {\r\n\t\t\tthis.routerLink = data.slug;\r\n\t\t\tconsole.log(this.routerLink);\r\n\t\t});\r\n\t\tthis.getInvestmentDetailBySlug();\r\n \t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cS.scrollTop();\r\n\t}\r\n\r\n\tgetInvestmentDetailBySlug(): void {\r\n const postJson = { idea_slug: this.routerLink };\r\n\r\n this.hmS.getInvestmentDetailBySlug(postJson).subscribe((res: any) => {\r\n\t\t\tthis.investmentDetail = res.data;\r\n\t\t\tthis.interestForm.idea_id = this.investmentDetail['id'];\r\n\t\t\tif (this.investmentDetail['interest_flag'] === 1) {\r\n\t\t\t\tthis.isInterest = true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.isInterest = false;\r\n\t\t\t}\r\n }, err => {\r\n console.log(err);\r\n });\r\n\r\n\t}\r\n\r\n\t /**\r\n *open Image in modal view\r\n */\r\n openImageViwer(index: any, content: any)\r\n {\r\n\t console.log(index);\r\n\t this.activeId = index;\r\n\t this.modalService.open(content, { windowClass: 'image_gallery' }).result.then((result) => {\r\n\t\t console.log(`Closed with: ${result}`);\r\n\t }, (reason) => {\r\n\t\t console.log(reason);\r\n\t });\r\n }\r\n\r\n\r\n\t /**\r\n *open Video in modal view\r\n */\r\n openVideoViwer(index: any, content: any)\r\n {\r\n\t this.videoActiveId = index;\r\n\t this.modalService.open(content, { windowClass: 'video_gallery' }).result.then((result) => {\r\n\t\t console.log(`Closed with: ${result}`);\r\n\t }, (reason) => {\r\n\t\t console.log(reason);\r\n\t });\r\n }\r\n\r\n openShowInterest(content: any)\r\n {\r\n\t\tthis.modalReference = this.modalService.open(content,{ windowClass: 'enquiry_popup'});\r\n\t\tthis.modalReference.result.then((result: any) => {\r\n\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t}, (reason: any) => {\r\n\t\t\tconsole.log(reason)\r\n\t\t});\r\n }\r\n\r\n \tchangeTitleEvent(event?: any)\r\n {\r\n\t\tconsole.log(event);\r\n if(this.interestForm.description == '' && this.interestForm.description.trim() == '')\r\n {\r\n\t\t\tthis.validDescription = true;\r\n\t\t\tthis.validForm = false;\r\n }\r\n else\r\n {\r\n\t\t\tthis.validDescription = false;\r\n\t\t\tthis.validForm = true;\r\n }\r\n\t}\r\n\r\n\r\n\tsubmitInterestDetail() {\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'addInvestmentInterest';\r\n\r\n this.httpS.post(apiUrl,this.interestForm).subscribe((res: any) => {\r\n console.log(res);\r\n if(res.status == 1)\r\n {\r\n\t\t\t\tthis.isInterest = true;\r\n\t\t\t\tthis.cS.showSuccess(res.message);\r\n }\r\n else\r\n {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n })\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n\r\n@Component({\r\n\tselector: 'ryec-investment-opportunity',\r\n\ttemplateUrl: './investment-opportunity.component.html',\r\n\tstyleUrls: ['./investment-opportunity.component.css']\r\n})\r\nexport class InvestmentOpportunityComponent implements OnInit {\r\n\r\n\tcurrentPage: any;\r\n\tmodalReference: any;\r\n\trouterLink = '';\r\n\tactiveUrl = '';\r\n\tInvestmentList = [];\r\n\tsort_slug = '';\r\n\tmaxSize = 5;\r\n\ttotalBuinessCount = 0;\r\n\tcollectionSize = 0;\r\n\tfirst = 1;\r\n\tlast = 0;\r\n\tperPageList = environment.BUSINESS_LIST_LIMIT;\r\n\tendPage: number = environment.BUSINESS_LIST_LIMIT;\r\n\tbusiness_title = '';\r\n\tbusiness_address = '';\r\n\tbusiness_slug = '';\r\n\tnoData = false;\r\n\tisShow = true;\r\n\ttotalInvestmentCount = 0;\r\n\tcontentShow = false;\r\n\tinvestmentFilter: any;\r\n\tminPrice = 0;\r\n\tmaxPrice = 0;\r\n\tfrom = 0;\r\n\tto = 0;\r\n\tcategory_id= [];\r\n\tlocation= [];\r\n\tcenter_lat = localStorage.getItem('latitude');\r\n\tcenter_long = localStorage.getItem('longitude');\r\n\tpostJson = {\r\n\t\tsortBy: '',\r\n\t\tpage: 1,\r\n\t\tmin_price: this.minPrice,\r\n\t\tmax_price: this.maxPrice,\r\n\t\tlocation: [],\r\n\t\tcategory_id: [],\r\n\t\tlatitude: 0,\r\n\t\tlongitude: 0,\r\n\t\tmyInvestment: 0\r\n\t}\r\n\tisFilter = false;\r\n\tisVendor = false;\r\n\tmyOppoShow = false;\r\n\r\n\tconstructor(\r\n\t\tprivate modalService: NgbModal,\r\n\t\tprivate router: Router,\r\n\t\tprivate activeRoute: ActivatedRoute,\r\n\t\tprivate hS: HomeService,\r\n\t\tprivate mS: MessageService,\r\n\t\tprivate cS: CommonService) {\r\n\t\tconst activeUrlArray = this.activeRoute.snapshot.url;\r\n\r\n\t\tthis.activeRoute.params.subscribe(data => {\r\n\t\t\tthis.routerLink = data.slug;\r\n\t\t\tif (activeUrlArray.length > 2) {\r\n\t\t\t\tthis.activeUrl = activeUrlArray[2].path;\r\n\t\t\t}\r\n\t\t\tthis.currentPage = 1;\r\n\r\n\t\t\t/*\r\n\t\t\t*Check which type of sorting happend\r\n\t\t\t*/\r\n\t\t\tif (this.routerLink === 'relevance') {\r\n\t\t\t\tthis.sort_slug = '';\r\n\t\t\t} else if (this.routerLink === 'ratings') {\r\n\t\t\t\tthis.sort_slug = 'ratings';\r\n\t\t\t} else if (this.routerLink === 'near-me') {\r\n\t\t\t\tthis.sort_slug = 'nearMe';\r\n\t\t\t} else if (this.routerLink === 'recently-added') {\r\n\t\t\t\tthis.sort_slug = 'recentlyAdded';\r\n\t\t\t} else if (this.routerLink === 'popular') {\r\n\t\t\t\tthis.sort_slug = 'popular';\r\n\t\t\t} else {\r\n\t\t\t\tthis.router.navigateByUrl('/home');\r\n\t\t\t}\r\n\t\t\tthis.getInvestmentOpportunity();\r\n\t\t});\r\n\r\n\t\t// profile subscription\r\n\t\tthis.mS.getProfile().subscribe((data: any) => {\r\n\t\t\tif (data.isVendor === 1) {\r\n\t\t\t\tthis.isVendor = true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.isVendor = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cS.scrollTop();\r\n\r\n\t\tconst userProfile = this.cS.getUserDetails();\r\n\t\tif (userProfile) {\r\n\t\t\tif (userProfile['isVendor'] === 1) {\r\n\t\t\t\tthis.isVendor = true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.isVendor = false;\r\n\t\t\t}\r\n\t\t}\t\r\n\t}\r\n\r\n\t/*\r\n\t*Get all Investment Opportunity list from server.\r\n\t*/\r\n\tgetInvestmentOpportunity() {\r\n\t\tthis.postJson.sortBy = this.sort_slug;\r\n\t\tthis.postJson.page = this.currentPage;\r\n\t\tthis.postJson.min_price = this.minPrice;\r\n\t\tthis.postJson.max_price = this.maxPrice;\r\n\t\tthis.postJson.category_id = this.category_id;\r\n\t\tthis.postJson.location = this.location;\r\n\t\t\r\n\t\tif(this.sort_slug === 'nearMe')\r\n\t\t{\r\n\t\t\tthis.postJson.latitude = this.center_lat;\r\n\t\t\tthis.postJson.longitude = this.center_long;\r\n\t\t} else {\r\n\t\t\tthis.postJson.latitude = 0;\r\n\t\t\tthis.postJson.longitude = 0;\r\n\t\t}\r\n\r\n\t\tthis.hS.getInvestmentOpportunityList(this.postJson).subscribe((res: any) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tthis.InvestmentList = res.data;\r\n\t\t\tthis.totalInvestmentCount = res.investment_count;\r\n\t\t\tthis.countCollectionSize();\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Call API for get next page data\r\n\t * @param event \r\n\t */\r\n\tgetNextPageInvestmentOpportunity(event: number): void {\r\n\t\tconsole.log(event);\r\n\t\tif (this.contentShow) {\r\n\t\t\tthis.getMyInvestmentInterestList();\r\n\t\t} else {\r\n\t\t\tthis.getInvestmentOpportunity();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t*Calculate pagination display on screen and count of total Investment Opportunity.\r\n\t*/\r\n\tcountCollectionSize() {\r\n\t\tif (this.totalInvestmentCount > this.perPageList) {\r\n\t\t\tthis.collectionSize = Math.ceil(this.totalInvestmentCount / this.perPageList);\r\n\t\t\tthis.collectionSize = this.collectionSize * 10;\r\n\t\t\tif (this.currentPage === 1) {\r\n\t\t\t\tthis.first = 1;\r\n\t\t\t\tthis.last = this.perPageList;\r\n\t\t\t} else {\r\n\t\t\t\tthis.first = (this.currentPage - 1) * this.perPageList + 1;\r\n\t\t\t\tif (this.InvestmentList.length < this.perPageList) {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.InvestmentList.length;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.last = this.totalInvestmentCount;\r\n\t\t\tthis.collectionSize = this.perPageList;\r\n\t\t}\r\n\r\n\t\tif (this.totalInvestmentCount === 0 || this.totalInvestmentCount === undefined) {\r\n\t\t\tthis.noData = true;\r\n\t\t} else {\r\n\t\t\tthis.noData = false;\r\n\t\t}\r\n\t\tthis.cS.scrollTop();\r\n\t}\r\n\r\n\t/**\r\n\t * Get Investment Interest List\r\n\t */\r\n\tgetMyInvestmentInterestList() {\r\n\r\n\t\tthis.hS.getMyInvestmentInterestList().subscribe((res: any) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tthis.InvestmentList = res.data;\r\n\t\t\tthis.totalInvestmentCount = res.investment_count;\r\n\t\t\tthis.countCollectionSize();\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Get filter data from server\r\n\t * @param content \r\n\t */\r\n\tfilter(content: string) {\r\n\t\tthis.hS.getInvestmentFilters().subscribe((res: any) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tthis.investmentFilter = res.data;\r\n\t\t\tif (this.minPrice === 0)\r\n\t\t\t{\r\n\t\t\t\tthis.minPrice = this.investmentFilter['min_amount'];\r\n\t\t\t\tthis.from = this.investmentFilter['min_amount'];\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxPrice === 0)\r\n\t\t\t{\r\n\t\t\t\tthis.maxPrice = this.investmentFilter['max_amount'];\r\n\t\t\t\tthis.to = this.investmentFilter['max_amount'];\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tthis.modalReference = this.modalService.open(content, { windowClass: 'filter_popup' });\r\n\t\t\tthis.modalReference.result.then((result: any) => {\r\n\t\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t\t}, (reason: any) => {\r\n\t\t\t\tconsole.log(reason);\r\n\t\t\t\tthis.minPrice = 0;\r\n\t\t\t\tthis.maxPrice = 0;\r\n\t\t\t\tthis.from = 0;\r\n\t\t\t\tthis.to = 0;\r\n\t\t\t\tthis.category_id = [];\r\n\t\t\t\tthis.location = [];\r\n\t\t\t\tthis.isFilter = false;\r\n\t\t\t\tthis.getInvestmentOpportunity();\r\n\t\t\t});\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\tmyOnChange(event: any)\r\n\t{\r\n\t\tthis.minPrice = event['from'];\r\n\t\tthis.maxPrice = event['to'];\r\n\t}\r\n\r\n\tapplyFilter()\r\n\t{\r\n\t\tthis.from = this.minPrice;\r\n\t\tthis.to = this.maxPrice;\r\n\t\tthis.isFilter = true;\r\n\t\tthis.modalReference.close();\r\n\t\tthis.getInvestmentOpportunity();\r\n\t}\r\n\r\n\r\n\tinterestsOpportunity() {\r\n\t\tthis.contentShow = true;\r\n\t\tthis.myOppoShow = false;\r\n\t\tthis.getMyInvestmentInterestList();\r\n\t}\r\n\r\n\tinvestmentOpportunity() {\r\n\t\tthis.myOppoShow = false;\r\n\t\tthis.contentShow = false;\r\n\t\tthis.minPrice = 0;\r\n\t\tthis.maxPrice = 0;\r\n\t\tthis.from = 0;\r\n\t\tthis.to = 0;\r\n\t\tthis.category_id = [];\r\n\t\tthis.location = [];\r\n\t\tthis.isFilter = false;\r\n\t\tthis.postJson.myInvestment = 0;\r\n\t\tthis.getInvestmentOpportunity();\r\n\t}\r\n\r\n\tmyOpportunity() {\r\n\t\tthis.myOppoShow = true;\r\n\t\tthis.postJson.myInvestment = 1;\r\n\t\tthis.getInvestmentOpportunity();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t

{{'ang_bereadywithyourinvestment' | translate}}

\r\n\t\t

{{'ang_itscomingsoon' | translate}}...

\r\n\t
\r\n
\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\r\n \r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n","
\r\n {{marketPlaceDetailData?.ads_type_text}}\r\n \r\n \"eddar-real\"\r\n \"eddar-real\"\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n {{marketPlaceDetailData?.ads_type_text}}\r\n \"Random\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{marketPlaceDetailData?.name}}

\r\n
\r\n \r\n {{marketPlaceDetailData?.address}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'ang_price' | translate}}\r\n
\r\n \r\n {{marketPlaceDetailData?.price}}\r\n
\r\n
\r\n
\r\n \r\n
{{marketPlaceDetailData?.interest_count}} {{'ang_interests' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{'ang_description' | translate}}

\r\n
\r\n

{{marketPlaceDetailData?.descriptions}}

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

{{'ang_category' | translate}}

\r\n
\r\n
    \r\n
  • \r\n \r\n {{list?.name}}\r\n \r\n
      \r\n
    • {{item.name}}
    • \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

{{'ang_videos' | translate}}

\r\n
    \r\n
  • \r\n \"video\"\r\n
  • \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'ang_ownerinformation' | translate}}

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

{{marketPlaceDetailData?.owner_name}}

\r\n

\r\n \r\n {{marketPlaceDetailData?.business_name}}\r\n

\r\n

\r\n \r\n {{marketPlaceDetailData?.owner_email}}\r\n

\r\n

\r\n \r\n {{marketPlaceDetailData?.owner_contact_number}}\r\n

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

{{'ang_responses' | 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
{{item?.name}} - {{dateDiff(item?.timestamp)}}
\r\n

{{item?.comment}}

\r\n \r\n {{'ang_viewbusiness' | translate}}\r\n \r\n \r\n \r\n {{'ang_message' | 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

{{'ang_showinterest' | 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 0\" (activeId)=\"videoActiveId\">\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

{{'ang_response_delete_text' | translate}}

\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\n\r\n@Component({\r\n selector: 'ryec-market-place-detail',\r\n templateUrl: './market-place-detail.component.html',\r\n styleUrls: ['./market-place-detail.component.css']\r\n})\r\nexport class MarketPlaceDetailComponent implements OnInit {\r\n\r\n modalReference: any;\r\n adsID: any;\r\n marketPlaceDetailData: any = {};\r\n userData: any;\r\n videoActiveId = 0;\r\n msgText: any = '';\r\n categoryArr: any = [];\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n totalIntrestCount = 0;\r\n collectionSize = 0;\r\n allIntrestData: any = [];\r\n currentPage: number = 1;\r\n maxSize = 5;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private activeRoute: ActivatedRoute,\r\n\t\tprivate hS: HomeService,\r\n private cS: CommonService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n if (localStorage.getItem('user') !== null) {\r\n this.userData = JSON.parse(localStorage.getItem('user'));\r\n }\r\n\r\n this.activeRoute.params.subscribe(data => {\r\n this.adsID = window.atob(data.slug);\r\n });\r\n if (this.adsID) {\r\n this.getMarketPlaceDetailData(this.adsID);\r\n }\r\n }\r\n\r\n /**\r\n * For Open show interest popup model\r\n * @param contentInterest\r\n */\r\n openShowInterest(contentInterest: any) {\r\n this.modalReference = this.modalService.open(contentInterest, { windowClass: 'enquiry_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason === 'submit') {\r\n if (this.msgText.trim()) {\r\n const postJson = {\r\n advertisement_id: this.marketPlaceDetailData.id,\r\n title: this.msgText.trim()\r\n };\r\n this.hS.getMarketPlaceDetail(postJson, 'sendAdvertisementEnquiry')\r\n .subscribe((res: any) => {\r\n console.log('getMarketPlaceDetailData', res);\r\n if (res['status'] === 1) {\r\n this.cS.showSuccess(res['message']);\r\n this.ngOnInit();\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n } else {\r\n this.cS.showError('Please enter a valid message');\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * For Get all Market Place Detail Data\r\n * @param _adID\r\n */\r\n getMarketPlaceDetailData(_adID: any) {\r\n const postJson = { advertisement_id: _adID };\r\n\r\n this.hS.getMarketPlaceDetail(postJson, 'getAdsDetailById')\r\n .subscribe((res: any) => {\r\n console.log('getMarketPlaceDetailData', res);\r\n if (res['status'] === 1) {\r\n this.marketPlaceDetailData = res['data'];\r\n this.categoryArr = [];\r\n if (this.marketPlaceDetailData.hasOwnProperty('category_hierarchy')) {\r\n let categoryArr: any = this.marketPlaceDetailData.category_hierarchy;\r\n let myArr: any = [];\r\n if (categoryArr.length > 0) {\r\n for (const x in Object.keys(categoryArr)) {\r\n for (const y in Object.keys(categoryArr[x])) {\r\n const i = myArr.findIndex((z: any) => z.id === categoryArr[x][0].id);\r\n if (i === -1) {\r\n myArr.push({\r\n id: categoryArr[x][0].id,\r\n name: categoryArr[x][0].name,\r\n subCategoryArr: []\r\n });\r\n //console.log('myArr',myArr.length - 1);\r\n }\r\n console.log(y);\r\n }\r\n let j = myArr.length - 1;\r\n myArr[j].subCategoryArr.push(categoryArr[x][1]);\r\n }\r\n }\r\n console.log('myArr', myArr);\r\n this.categoryArr = myArr;\r\n }\r\n if (this.marketPlaceDetailData.hasOwnProperty('interest') && this.marketPlaceDetailData.interest.length > 0) {\r\n this.currentPage = 1;\r\n this.allIntrestData = [];\r\n this.getNextPageIntrestList();\r\n }\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *open Video in modal view\r\n */\r\n openVideoViwer(index: any, content: any) {\r\n this.videoActiveId = index;\r\n this.modalService.open(content, { windowClass: 'video_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n * For Get Date time diffrence\r\n * @param timestamp\r\n */\r\n dateDiff(timestamp: any) {\r\n let d = Math.abs(timestamp - new Date().getTime()) / 1000;\r\n let r :any;\r\n const s :any = {\r\n year: 31536000,\r\n month: 2592000,\r\n week: 604800,\r\n day: 86400,\r\n hour: 3600,\r\n minute: 60,\r\n second: 1\r\n };\r\n\r\n Object.keys(s).forEach(function(key) {\r\n r[key] = Math.floor(d / s[key]);\r\n d -= r[key] * s[key];\r\n });\r\n let diffStr: any = '';\r\n if (r['year'] > 0) {\r\n if (r['year'] === 1) {\r\n diffStr = r['year'] + ' year ago';\r\n } else {\r\n diffStr = r['year'] + ' years ago';\r\n }\r\n } else if (r['month'] > 0) {\r\n if (r['month'] === 1) {\r\n diffStr = r['month'] + ' month ago';\r\n } else {\r\n diffStr = r['month'] + ' months ago';\r\n }\r\n } else if (r['day'] > 0) {\r\n if (r['day'] === 1) {\r\n diffStr = 'Yesterday';\r\n } else {\r\n diffStr = r['day'] + ' days ago';\r\n }\r\n } else if (r['hour'] > 0) {\r\n diffStr = r['hour'] + ' hours ago';\r\n } else if (r['minute'] > 0) {\r\n diffStr = r['minute'] + ' minute ago';\r\n } else if (r['second'] > 0) {\r\n diffStr = r['second'] + ' second ago';\r\n }\r\n return diffStr;\r\n }\r\n\r\n /**\r\n *get business intrest list\r\n */\r\n getNextPageIntrestList(event?: number): void {\r\n console.log(event);\r\n const postJson = {\r\n advertisement_id: this.marketPlaceDetailData.id,\r\n page: this.currentPage\r\n };\r\n\r\n this.hS.getMarketPlaceDetail(postJson, 'getInterestResponses').subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.allIntrestData = res.data;\r\n console.log('allIntrestData',this.allIntrestData);\r\n this.totalIntrestCount = res.totalCount;\r\n this.countCollectionSize();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * For calculate pagination counts\r\n */\r\n countCollectionSize() {\r\n if (this.totalIntrestCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalIntrestCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n /**\r\n * For delete responce by id\r\n * @param responceID\r\n */\r\n deleteResponses(content?: any, responceID?: any) {\r\n\r\n this.modalReference = this.modalService.open(content, { windowClass: 'dark-modal' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason === 'yes') {\r\n const postJson = {\r\n interest_id: responceID\r\n };\r\n\r\n this.hS.getMarketPlaceDetail(postJson, 'removeInterestedAdvertisement').subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res['message']);\r\n this.getNextPageIntrestList();\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Goto edit screen\r\n */\r\n editads() {\r\n localStorage.setItem('adDetailData', window.btoa(JSON.stringify(this.marketPlaceDetailData)));\r\n this.router.navigate(['home/edit-market-place']);\r\n }\r\n\r\n /**\r\n * Goto message detail screen\r\n * @param thread_id\r\n */\r\n gotomessageDetail(thread_id?: any) {\r\n localStorage.setItem('thread_id', thread_id);\r\n this.router.navigate(['messages']);\r\n }\r\n\r\n}\r\n","
\r\n\t
\r\n\t\t

{{'ang_marketplace_available_on_android_ios' | translate}}

\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\r\n\t\t\t\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 { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nimport { PostJsonMarketPlaceList } from 'src/app/shared/class/data.model';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n\r\n@Component({\r\n selector: 'ryec-market-place',\r\n templateUrl: './market-place.component.html',\r\n styleUrls: ['./market-place.component.css']\r\n\r\n})\r\nexport class MarketPlaceComponent implements OnInit {\r\n\r\n modalReference: any;\r\n currentPage: number;\r\n routerLink = '';\r\n activeUrl = 'relevance';\r\n MarketPlaceList = [];\r\n sort_slug = '';\r\n center_lat = localStorage.getItem('latitude');\r\n center_long = localStorage.getItem('longitude');\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n totalCount = 0;\r\n collectionSize = 0;\r\n first = 1;\r\n last = 0;\r\n noData = false;\r\n maxSize = 5;\r\n searchText = '';\r\n adsType = '';\r\n city: any = [];\r\n category: any = [];\r\n allCities: any;\r\n allCategoryArr: any;\r\n config = {\r\n displayKey: 'name',\r\n search: true\r\n };\r\n adType = '';\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private activeRoute: ActivatedRoute,\r\n private router: Router,\r\n private hS: HomeService,\r\n private cS: CommonService\r\n ) {\r\n\r\n this.currentPage = 1;\r\n //const activeUrlArray = this.activeRoute.snapshot.url;\r\n\r\n this.activeRoute.params.subscribe(data => {\r\n this.routerLink = data.slug;\r\n // if (activeUrlArray.length > 2) {\r\n // this.activeUrl = activeUrlArray[2].path;\r\n // }\r\n\r\n if (data.slug !== 'my-ads' && data.slug !== 'my-interest') {\r\n this.activeUrl = data.slug;\r\n localStorage.setItem('setActiveTab', this.activeUrl);\r\n }\r\n this.currentPage = 1;\r\n /*\r\n *Check which type of sorting happend\r\n */\r\n if (this.routerLink === 'relevance') {\r\n this.sort_slug = 'relevance';\r\n } else if (this.routerLink === 'popular') {\r\n this.sort_slug = 'popular';\r\n } else if (this.routerLink === 'near-by') {\r\n this.sort_slug = 'nearMe';\r\n } else if (this.routerLink === 'atoz') {\r\n this.sort_slug = 'AtoZ';\r\n } else if (this.routerLink === 'ztoa') {\r\n this.sort_slug = 'ZtoA';\r\n } else if (this.routerLink === 'my-ads') {\r\n this.sort_slug = '';\r\n } else if (this.routerLink === 'my-interest') {\r\n this.sort_slug = '';\r\n } else {\r\n this.router.navigateByUrl('/home');\r\n }\r\n //console.log('isThere',localStorage.getItem('setFilters'));\r\n if (localStorage.getItem('setFilters')) {\r\n let filterData = JSON.parse(window.atob(localStorage.getItem('setFilters')));\r\n this.searchText = filterData['searchText'];\r\n this.adsType = filterData['ads_type'];\r\n this.city = filterData['city'];\r\n this.category = filterData['category_id'];\r\n }\r\n // this.checkRouterUrlForCallingAPI();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.center_lat === '' || this.center_lat === null) {\r\n this.hS.getNetworkLatLong();\r\n }\r\n this.cS.scrollTop();\r\n }\r\n\r\n /**\r\n\t * Get filter data from server\r\n\t * @param content\r\n\t */\r\n\tfilter(content: string) {\r\n this.hS.getAddressMaster().subscribe((res: any) => {\r\n this.allCities = res.data.cities;\r\n });\r\n this.hS.getMenuCategoryListing().subscribe((res:any) => {\r\n this.allCategoryArr = res.data;\r\n });\r\n this.modalReference = this.modalService.open(content, { windowClass: 'filter_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason === 'apply') {\r\n if (this.city === undefined) {\r\n this.city = [];\r\n }\r\n if (this.category === undefined) {\r\n this.category = [];\r\n }\r\n let filterData = {\r\n searchText: this.searchText.trim(),\r\n city: this.city,\r\n ads_type: this.adsType,\r\n category_id : this.category\r\n }\r\n localStorage.setItem('setFilters', window.btoa(JSON.stringify(filterData)));\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Create Market place popup model\r\n * @param contentcreatemarket\r\n */\r\n market(contentcreatemarket: string) {\r\n\t\tthis.modalReference = this.modalService.open(contentcreatemarket, { windowClass: 'market_popup' });\r\n\t\tthis.modalReference.result.then((result: any) => {\r\n\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t}, (reason: any) => {\r\n if (reason === 'createNewAd') {\r\n //console.log('reason',reason);\r\n localStorage.setItem('setAdType', window.btoa(JSON.stringify(this.adType)));\r\n this.router.navigate(['home/create-market-place']);\r\n }\r\n\t\t});\r\n\t}\r\n\r\n /**\r\n * Check route url and Get Data according to routerLink\r\n */\r\n checkRouterUrlForCallingAPI() {\r\n let type = '';\r\n //console.log('routerLink', this.routerLink);\r\n switch (this.routerLink) {\r\n case 'relevance':\r\n case 'popular':\r\n case 'near-by':\r\n case 'atoz':\r\n case 'ztoa':\r\n type = 'getAllAdvertisement';\r\n break;\r\n case 'my-ads':\r\n type = 'getMyAdvertisement';\r\n this.searchText = '';\r\n this.city = [];\r\n this.adsType = '';\r\n this.category = [];\r\n break;\r\n case 'my-interest':\r\n type = 'getAllInterestedAdvertisement';\r\n this.searchText = '';\r\n this.city = [];\r\n this.adsType = '';\r\n this.category = [];\r\n break;\r\n }\r\n\r\n\t\tconst postJson: PostJsonMarketPlaceList = {\r\n\t\t\tsortBy: this.sort_slug,\r\n page: this.currentPage,\r\n latitude: this.center_lat,\r\n longitude: this.center_long,\r\n searchText: this.searchText.trim(),\r\n city: this.city.hasOwnProperty('name') ? this.city.name : '',\r\n ads_type: this.adsType,\r\n category_id: this.category.hasOwnProperty('name') ? this.category.name : ''\r\n };\r\n\r\n\t\tif (this.sort_slug === 'nearMe') {\r\n\t\t\tpostJson.radius = environment.LOCATION_RADIUS;\r\n }\r\n\r\n //console.log('postJson', postJson);\r\n //console.log('type', type);\r\n if (type !== '') {\r\n this.hS.getMarketPlaceList(postJson, type).subscribe((res: any) => {\r\n console.log('getMarketPlaceList', res);\r\n if (res['status'] === 1) {\r\n this.MarketPlaceList = res['data']['ads'];\r\n this.totalCount = res['totalCount'];\r\n this.countCollectionSize();\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n\t*Calculate pagination display on screen and count of total businesses\r\n\t*/\r\n\tcountCollectionSize() {\r\n\t\tif (this.totalCount > this.perPageList) {\r\n\t\t\tthis.collectionSize = Math.ceil(this.totalCount / this.perPageList);\r\n\t\t\tthis.collectionSize = this.collectionSize * 10;\r\n\t\t\tif (this.currentPage === 1) {\r\n\t\t\t\tthis.first = 1;\r\n\t\t\t\tthis.last = this.perPageList;\r\n\t\t\t} else {\r\n\t\t\t\tthis.first = (this.currentPage - 1) * this.perPageList + 1;\r\n\t\t\t\tif (this.MarketPlaceList.length < this.perPageList) {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.MarketPlaceList.length;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.last = this.totalCount;\r\n\t\t\tthis.collectionSize = this.perPageList;\r\n\t\t}\r\n\r\n\t\tif (this.totalCount === 0 || this.totalCount === undefined) {\r\n\t\t\tthis.noData = true;\r\n\t\t} else {\r\n\t\t\tthis.noData = false;\r\n\t\t}\r\n\t\tthis.cS.scrollTop();\r\n }\r\n\r\n /**\r\n * Set Listing pagination functionality\r\n * @param event\r\n */\r\n getNextPageMarketPlaceList(event: number): void {\r\n console.log(event);\r\n\t\tthis.MarketPlaceList = [];\r\n\t\tthis.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n /**\r\n * Goto Market place detail screen\r\n * @param adId\r\n */\r\n gotoMarketDetail(adId?: any) {\r\n let id = window.btoa(adId);\r\n this.router.navigate(['home/market-place-detail/'+ id]);\r\n }\r\n\r\n /**\r\n * For check spacific link tabs\r\n */\r\n checkSpecificTab(){\r\n console.log('call',this.activeUrl);\r\n this.router.navigate(['home/market-place/' + this.activeUrl]);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

{{ 'ang_support_my_rajasthan_club' | translate }}

\r\n

SUPPORT Rajputs Club

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

\r\n Thank you for supporting MyRajasthan Club.
\r\n Your current membership plan details.\r\n

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

{{ currentMembershipPlan?.type }}

\r\n \r\n

\r\n {{ currentMembershipPlan?.price }}\r\n

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

Start Date : {{ currentMembershipPlan?.start_date }}

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

End Date : {{ currentMembershipPlan?.end_date }}

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

\r\n {{ \"ang_support_1_MRC\" | translate }}\r\n
\r\n {{ \"ang_support_2_MRC\" | translate }}\r\n

\r\n

\r\n {{ \"ang_support_3_MRC\" | translate }}\r\n

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

\r\n {{ \"ang_support_1_RYC\" | translate }}\r\n
\r\n {{ \"ang_support_2_RYC\" | translate }}\r\n

\r\n

\r\n {{ \"ang_support_3_RYC\" | translate }}\r\n

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

{{ \"ang_premiunmemberbenifits\" | translate }}

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

{{ \"ang_freewebsite\" | translate }}

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

{{ \"ang_social_media_promotion\" | translate }}

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

{{ \"ang_toplistingresults\" | translate }}

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

{{ \"ang_investmentopportunitiesaccess\" | translate }}

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

{{ \"ang_listingtab\" | translate }}

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

{{ \"ang_invitation_to_conference_MRC\" | translate }}

\r\n\t\t\t\t\t

{{ \"ang_invitation_to_conference_RYC\" | translate }}

\r\n

{{ \"ang_invitation_to_conference_BD\" | translate }}

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

{{ \"ang_unlimited_productlisting\" | translate }}

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

{{ \"ang_unlimited_servicelisting\" | translate }}

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

{{ \"ang_unlimited_marketplace\" | translate }}

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

{{ \"ang_unlimited_business_inquiries\" | translate }}

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

{{ \"ang_chatwithpotentialcustomers\" | translate }}

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

{{ \"ang_reviewandrating\" | 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 {{ \"ang_premiummembershipplan\" | translate }}\r\n

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

{{ plan.name }}

\r\n \r\n

\r\n {{ plan.price }}\r\n

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

\r\n {{\"ang_whywaitMRC\" | translate }}\r\n

\r\n

\r\n {{ \"ang_avilpremiummembership\" | translate }}\r\n cmyrajasthan@gmail.com\r\n {{ \"ang_callon\" | translate }} +91 9166319568.\r\n {{ \"ang_wewillgettouchwithyou\" | translate }}.\r\n

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

\r\n {{\"ang_whywaitRYC\" | translate }}\r\n

\r\n

\r\n {{ \"ang_avilpremiummembership\" | translate }}\r\n info@rajputsclub.com\r\n {{ \"ang_callon\" | translate }} +91 9680419568.\r\n {{ \"ang_wewillgettouchwithyou\" | 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 {{ \"ang_subscribe_to\" | translate }} {{ selectedPlanDetail?.type }}\r\n {{ \"ang_plan\" | translate }}\r\n

\r\n

\r\n {{ selectedPlanDetail?.type }} {{ \"ang_plan\" | translate }}\r\n {{ \"ang_subscribe_to\" | translate }}\r\n

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

\r\n {{ \"ang_by_subscribe_text\" | translate }}\r\n {{ selectedPlanDetail?.type }}.\r\n

\r\n
    \r\n
  • {{ \"ang_freewebsite\" | translate }}
  • \r\n
  • {{ \"ang_toppositiontab\" | translate }}
  • \r\n
  • {{ \"ang_listingtab\" | translate }}
  • \r\n
  • {{ \"ang_toplistingresults\" | translate }}
  • \r\n
  • {{ \"ang_invitation_to_conference_MRC\" | translate }}
  • \r\n
  • {{ \"ang_invitation_to_conference_RYC\" | translate }}
  • \r\n
  • {{ \"ang_invitation_to_conference_BD\" | translate }}
  • \r\n
  • {{ \"ang_social_media_promotion\" | translate }}
  • \r\n
\r\n
\r\n

\r\n {{ \"ang_total_amount\" | translate }}:\r\n \r\n {{ selectedPlanDetail.price }}\r\n

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

\r\n {{ \"ang_subscribe_to\" | translate }} {{ selectedPlanDetail?.type }}\r\n {{ \"ang_plan\" | translate }}\r\n

\r\n

\r\n {{ selectedPlanDetail?.type }} {{ \"ang_plan\" | translate }}\r\n {{ \"ang_subscribe_to\" | translate }}\r\n

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

\r\n Your membership plan request sent successfully. We will get back to you\r\n sortly.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/shared/services/auth.service';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\n\r\n@Component({\r\n selector: 'ryec-membership-plan',\r\n templateUrl: './membership-plan.component.html',\r\n styleUrls: ['./membership-plan.component.css']\r\n})\r\nexport class MembershipPlanComponent implements OnInit, OnDestroy {\r\n\r\n showPlan = false;\r\n membershipPlansList: any;\r\n isApply = 0;\r\n isPlanActive = 0;\r\n modalReference: any;\r\n selectedPlanDetail: any;\r\n lang = localStorage.getItem('lang');\r\n langRef: any;\r\n currentMembershipPlan: any;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n private mS: MessageService,\r\n private aS: AuthService,\r\n private router: Router,\r\n private modalService: NgbModal) {\r\n this.langRef = this.mS.getLang().subscribe(res => {\r\n this.lang = res;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n if(this.aS.isLoggedIn()) {\r\n this.getCurrentMembershipPlan();\r\n } else {\r\n this.isPlanActive = 0;\r\n }\r\n this.getMembershipPlans();\r\n if (this.lang === undefined || this.lang === '' || this.lang === null) {\r\n this.lang = 'en';\r\n }\r\n console.log('isPlanActive', this.isPlanActive);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (!!this.langRef) {\r\n this.langRef.unsubscribe();\r\n }\r\n }\r\n\r\n getCurrentMembershipPlan() {\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'getCurrentSubscriptionPlan';\r\n\r\n\r\n this.httpS.get(apiUrl).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n console.log('Member');\r\n this.isPlanActive = res.isCurrentPlan;\r\n if(res.isCurrentPlan === 1) { \r\n this.currentMembershipPlan = res.data;\r\n }\r\n\r\n }\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n })\r\n }\r\n\r\n\r\n getMembershipPlans() {\r\n const apiUrl = environment.RYEC_API_URL + 'getSubscriptionPlanListNoAuth';\r\n\r\n this.httpS.get(apiUrl).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.membershipPlansList = res.data;\r\n this.isApply = res.isPendingRequest;\r\n }\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n })\r\n }\r\n\r\n showPlans() {\r\n if (this.showPlan) {\r\n this.showPlan = false;\r\n } else {\r\n this.showPlan = true;\r\n }\r\n }\r\n\r\n selectMembershipPlan(plan: number, content: any) {\r\n this.selectedPlanDetail = plan;\r\n this.modalReference = this.modalService.open(content, { windowClass: 'mobile_popup memberplan-popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n submitSubscribePlan() {\r\n localStorage.setItem('selectedPlan', JSON.stringify(this.selectedPlanDetail));\r\n this.modalReference.close();\r\n this.router.navigate(['/home/my-cart']);\r\n // const postJson = {\r\n // subscription_plans_id: this.selectedPlanDetail.id\r\n // };\r\n\r\n // const apiUrl = environment.RYEC_API_URL + 'sendMembershipRequest';\r\n\r\n // this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n // if (res.status === 1) {\r\n // this.modalReference.close();\r\n // this.isApply = 1;\r\n // // this.cS.showSuccess(res.message);\r\n // this.modalReference = this.modalService.open(content, { windowClass: 'mobile_popup memberplan-popup' });\r\n // this.modalReference.result.then((result: any) => {\r\n // console.log(`Closed with: ${result}`);\r\n // }, (reason: any) => {\r\n // console.log(reason);\r\n // });\r\n // } else {\r\n // this.modalReference.close();\r\n // this.isApply = 0;\r\n // this.cS.showError(res.message);\r\n // }\r\n // }, err => {\r\n // if (err.error) {\r\n // this.isApply = 0;\r\n // console.log(err.error);\r\n // }\r\n // this.modalReference.close();\r\n // });\r\n }\r\n\r\n closeSuccesssPopup() {\r\n this.modalReference.close();\r\n }\r\n}","
\r\n \"eddar-real\"\r\n \"eddar-real\"\r\n
\r\n \"eddar-real\"\r\n
\r\n
\r\n \"eddar-real\"\r\n
\r\n 0\" (activeId)=\"activeId\">\r\n \r\n
\r\n
\r\n
\r\n \"Random\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {{ businessDetail?.data?.name }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n
\r\n About \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 \"fs\"\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{ \"ang_contactinformation\" | 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
{{ businessDetail?.data?.address }}
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{ businessDetail?.data?.country }}\r\n
\r\n
-
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
-
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
-
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n {{ \"ang_businesscategories\" | translate }}\r\n

\r\n \r\n \r\n
\r\n
\r\n
{{ category.name }}
\r\n
    0\">\r\n
  • {{ sub_cate.name }}
  • \r\n
\r\n
\r\n
\r\n \r\n

\r\n {{ \"ang_nocategoryfound\" | translate }}\r\n

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

\r\n {{ \"ang_businessactivities\" | translate }}\r\n

\r\n

\r\n {{ activity.activity_title }}\r\n

\r\n

\r\n {{ \"ang_noactivityfound\" | translate }}\r\n

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

\r\n {{ \"ang_ratingsandreview\" | translate }}\r\n

\r\n
0\">\r\n
\r\n \r\n \r\n ★\r\n \r\n \r\n \r\n {{ businessDetail?.data?.rating?.avg_rating }}\r\n \r\n \r\n \r\n
\r\n \r\n {{ businessDetail?.data?.rating?.total }}\r\n {{ \"ang_review\" | translate }}\r\n \r\n
\r\n
0\">\r\n {{ \"ang_5star\" | translate }}\r\n

\r\n \r\n

\r\n {{ \"ang_4star\" | translate }}\r\n

\r\n \r\n

\r\n {{ \"ang_3star\" | translate }}\r\n

\r\n \r\n

\r\n {{ \"ang_2star\" | translate }}\r\n

\r\n \r\n

\r\n {{ \"ang_1star\" | translate }}\r\n

\r\n \r\n

\r\n
\r\n

\r\n {{ \"ang_noratingsandreviewfound\" | translate }}\r\n

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

\r\n {{ \"ang_hoursofoperation\" | translate }}\r\n \r\n

\r\n

\r\n {{\r\n businessDetail?.data?.current_open_status\r\n }}\r\n : {{ businessDetail?.data?.timings }}\r\n

\r\n
\r\n {{ time.name }}\r\n {{ time.start_time }} - {{ time.end_time\r\n }}\r\n {{ time.open_close }}\r\n
\r\n
\r\n {{ \"ang_nohoursofoprationfound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{ \"ang_yearestablished\" | translate }}\r\n

\r\n

\r\n {{ businessDetail?.data?.year_of_establishment }}\r\n

\r\n

\r\n {{ \"ang_noyearfound\" | translate }}\r\n

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

\r\n {{ \"ang_socialprofile\" | translate }}\r\n

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

\r\n {{ \"ang_getpremiummembership\" | translate }}\r\n

\r\n

\r\n You are currently on Basic(Free) Membership. Support My\r\n Rajsthan Club applying for Premium Membership and create\r\n your Free Public Business Website.\r\n

\r\n

\r\n You are currently on Basic(Free) Membership. Support \r\n Rajput Club by applying for Premium Membership and create\r\n your Free Public Business Website.\r\n

\r\n

\r\n You are currently on Basic(Free) Membership. Support Bharat\r\n Darshan by applying for Premium Membership and create\r\n your Free Public Business Website.\r\n

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

{{ businessDetail?.data?.name }}

\r\n \r\n

trimLength ? (businessDetail?.data?.descriptions | trimstr: trimLength) + '..' : businessDetail?.data?.descriptions\"\r\n >

\r\n \r\n

\r\n {{ \"ang_nodescriprionfound\" | translate }}\r\n

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

\r\n {{ \"ang_ownerinformation\" | 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

{{ owner.name }}

\r\n

{{ owner.email }}

\r\n

\r\n {{ owner.country_code }}-{{ owner.phone }}\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{ \"ang_noownerfound\" | translate }}\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_ourproducts\" | 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
{{ item.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_noproductfound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_onlineStores\" | 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
{{ item.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_nostoresfound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
0\">\r\n

\r\n {{ \"ang_ourservices\" | 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
{{ item.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_noservicefound\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n

{{ \"ang_allratings\" | translate }}

\r\n
\r\n
\r\n {{ review.name }} -\r\n {{ review.timestamp | date: \"hh:mm dd.MM.yyyy\" }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \"user_profile\"\r\n
\r\n \r\n
\r\n

{{ review.review }}

\r\n \r\n
\r\n \r\n
\r\n
\r\n {{ \"ang_noratingsfound\" | 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 0\" (activeId)=\"activeId\">\r\n \r\n \"Random\r\n \r\n \r\n
\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 \"Random\r\n
\r\n
\r\n
\r\n
\r\n

{{ productDetail.name }}

\r\n {{\r\n productDetail?.cost }}\r\n
\r\n

{{ productDetail.descriptions }}

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

{{ serviceDetail?.name }}

\r\n {{\r\n serviceDetail?.cost }}\r\n
\r\n

{{ serviceDetail.descriptions }}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
{{ businessDetail?.data?.name }}
\r\n \r\n
\r\n
\r\n \r\n

{{ businessDetail?.data?.descriptions }}

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{ \"ang_share\" | 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 Post \r\n \r\n \r\n \r\n \r\n \r\n \r\n Marketplace Ads\r\n \"Marketplace\"\r\n \r\n
\r\n
\r\n
\r\n

{{ \"ang_marketplace_available_on_android_ios\" | 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","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport {\r\n BusinessListDetailsRes\r\n} from 'src/app/shared/class/data.model';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n//import { AnyTxtRecord } from 'dns';\r\n@Component({\r\n selector: 'ryec-my-business-detail',\r\n templateUrl: './my-business-detail.component.html',\r\n styleUrls: [\"./my-business-detail.component.css\", \"../market-place/market-place.component.css\"]\r\n})\r\nexport class MyBusinessDetailComponent implements OnInit {\r\n\r\n currentPage: number;\r\n selectedItem: any;\r\n selectedIndex: number;\r\n selectedServiceItem: any;\r\n selectedServiceIndex: number;\r\n selectedImageItem: any;\r\n selectedImageItemIndex: number;\r\n business_slug = '';\r\n business_name = '';\r\n currentRate = 0;\r\n businessDetail: any;\r\n productDetail :any;\r\n serviceDetail :any;\r\n collectionSize = 0;\r\n business_id: any;\r\n modalReference: any;\r\n activeId = 0;\r\n totalRatingCount = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n allRatings :any;\r\n start_5 = 0;\r\n start_4 = 0;\r\n start_3 = 0;\r\n start_2 = 0;\r\n start_1 = 0;\r\n trimLength = environment.DESCRIPTIO_TRIM_LENGTH;\r\n review = '';\r\n reviewValid = false;\r\n enquiryForm = {\r\n title: '',\r\n description: ''\r\n };\r\n validTitle = false;\r\n validDescription = false;\r\n validForm = false;\r\n business_category: Array = [];\r\n businessStoresList: any;\r\n isPostView: boolean = false;\r\n isMobile: boolean = false;\r\n isPageLoaded: boolean = false;\r\n userId: number = 0;\r\n businessImageUrl: string = \"\";\r\n repoUrl = window.location.href;\r\n businessImages: any[] = [];\r\n businessDescription: string = \"\";\r\n assetTypeFieldsModel: any = {};\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n private meta: Meta,\r\n private deviceService: DeviceDetectorService,\r\n // private deviceService: Ng2DeviceService,\r\n private router: Router) {\r\n this.businessDetail = {\r\n status: 0,\r\n message: ''\r\n };\r\n this.selectedIndex = 1;\r\n this.selectedServiceIndex = 1;\r\n this.currentPage = 1;\r\n this.selectedImageItemIndex = 1;\r\n\r\n /*\r\n *get url slug\r\n */\r\n const businessData = this.cS.getBusinessDetail();\r\n if (businessData) {\r\n this.business_id = businessData.business_id;\r\n this.business_slug = businessData.business_slug;\r\n if (this.business_slug === '') {\r\n this.router.navigateByUrl('/home');\r\n } else {\r\n this.getBusinessDetailBySlug();\r\n }\r\n }\r\n\r\n localStorage.removeItem('business_name');\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n this.isMobile = this.deviceService.isMobile();\r\n }\r\n\r\n /**\r\n * Get Business Detail by business slug\r\n *@returns void\r\n */\r\n getBusinessDetailBySlug(): void {\r\n const postJson = { business_slug: this.business_slug };\r\n let categoryId: number = 0;\r\n\r\n this.hS.getBusinessDetailBySlug(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.businessDetail = res;\r\n this.business_id = res.data.id;\r\n this.business_name = res.data.name;\r\n this.businessImages = res.data.business_images;\r\n this.businessDescription = res.data.descriptions;\r\n if (res.data.parent_categories.length > 0) {\r\n categoryId = res.data.parent_categories[0].category_id;\r\n }\r\n this.getSubAssetTypeFields(categoryId, res.data.asset_type_id);\r\n this.isPageLoaded = true;\r\n this.getAddedOnlineStores();\r\n if (res.data.rating) {\r\n this.totalRatingCount = res.data.rating.total;\r\n }\r\n let category = '';\r\n if (res.data.category_hierarchy.length > 0) {\r\n for (let x in res.data.category_hierarchy) {\r\n // for (let i in res.data.category_hierarchy[x]) {\r\n // if (parseInt(i) != 0) {\r\n // category += ' > ' + res.data.category_hierarchy[x][i].name;\r\n // }\r\n // else {\r\n // category = res.data.category_hierarchy[x][i].name;\r\n // }\r\n // }\r\n if (parseInt(x) != 0) {\r\n category += ' > ' + res.data.category_hierarchy[x].name;\r\n } else {\r\n category = res.data.category_hierarchy[x].name;\r\n }\r\n this.business_category.push(category);\r\n }\r\n }\r\n if(this.businessImages.length > 0){\r\n this.businessImageUrl = this.businessImages[0].image_name;\r\n this.meta.updateTag({ name: 'twitter:image', content: this.businessImageUrl });\r\n this.meta.updateTag({ name: 'og:image', content: this.businessImageUrl });\r\n }\r\n this.updateMetaTag(res);\r\n this.start_5 = Math.round((res.data.rating['start_5_rating'] * 100) / this.totalRatingCount);\r\n this.start_4 = Math.round((res.data.rating['start_4_rating'] * 100) / this.totalRatingCount);\r\n this.start_3 = Math.round((res.data.rating['start_3_rating'] * 100) / this.totalRatingCount);\r\n this.start_2 = Math.round((res.data.rating['start_2_rating'] * 100) / this.totalRatingCount);\r\n this.start_1 = Math.round((res.data.rating['start_1_rating'] * 100) / this.totalRatingCount);\r\n this.getNextPageRatingList();\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n updateMetaTag(res : any){\r\n this.meta.updateTag({ name: \"title\", content: res[\"data\"][\"name\"], });\r\n this.meta.updateTag({ name: \"keywords\", content: res[\"data\"][\"seo_meta_tags\"], });\r\n this.meta.updateTag({ name: \"description\", content: res[\"data\"][\"seo_meta_description\"], });\r\n this.meta.updateTag({ name: 'twitter:site', content: this.repoUrl });\r\n this.meta.updateTag({ name: 'twitter:title', content: res['data']['name'] });\r\n this.meta.updateTag({ name: 'twitter:description', content: res['data']['seo_meta_description'] });\r\n\r\n this.meta.updateTag({ name: 'og:url', content: this.repoUrl });\r\n this.meta.updateTag({ name: 'og:type', content: \"Business details\" });\r\n this.meta.updateTag({ name: 'og:title', content: res['data']['name'] });\r\n this.meta.updateTag({ name: 'og:description', content: res['data']['seo_meta_description'] });\r\n }\r\n\r\n\r\n getSubAssetTypeFields(categoryId: number, assetTypeId: number) {\r\n const postJson = {\r\n category_id: categoryId,\r\n asset_type_id: assetTypeId\r\n };\r\n\r\n this.hS.getSubAssetTypeFields(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.assetTypeFieldsModel = res.data;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n *open Image in modal view\r\n */\r\n openImageViwer(index: any, content: any) {\r\n this.activeId = index;\r\n this.modalService.open(content, { windowClass: 'image_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n *open Product detail in modal view\r\n */\r\n openProductDetail(product_id: any, content: any) {\r\n const postJson = { product_id: product_id };\r\n this.hS.getProductDetailByProductId(postJson).subscribe((res: any) => {\r\n this.productDetail = res.data;\r\n this.modalService.open(content, { windowClass: 'product_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n *open Service detail in modal view\r\n */\r\n openServiceDetail(service_id: any, content: any) {\r\n const postJson = { service_id: service_id };\r\n this.hS.getServiceDetailByServiceId(postJson).subscribe((res: any) => {\r\n this.serviceDetail = res.data;\r\n this.modalService.open(content, { windowClass: 'service_gallery' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n\r\n countCollectionSize() {\r\n if (this.totalRatingCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalRatingCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n /**\r\n *get business rating list\r\n */\r\n getNextPageRatingList(event?: number): void {\r\n\r\n const postJson = { business_id: this.business_id, page: this.currentPage };\r\n\r\n this.hS.getBusinessRating(postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.allRatings = res.data.reviews;\r\n console.log('revi');\r\n console.log(this.allRatings);\r\n this.countCollectionSize();\r\n }\r\n }, err => {\r\n console.log(err);\r\n console.log(event);\r\n });\r\n }\r\n\r\n /**\r\n *open business list detail view\r\n */\r\n openBusinessDescription(content: any) {\r\n this.modalService.open(content, { windowClass: 'desc_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n *open business list categories list\r\n */\r\n openAllCategories(content: string) {\r\n this.modalService.open(content, { windowClass: 'allcategory_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n * add or update owner data\r\n * @param ownerId\r\n */\r\n viewOwnerData(ownerId?: number) {\r\n localStorage.setItem('business_name', this.business_name);\r\n const owner_id = btoa(ownerId);\r\n this.router.navigate(['/home/business-owner'], { queryParams: { owner_id: owner_id }, queryParamsHandling: 'merge' })\r\n }\r\n\r\n /**\r\n *open share popup\r\n */\r\n openShareOptions(content: any) {\r\n this.modalService.open(content, { windowClass: 'share_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n shareOnFacebook() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://twitter.com/intent/tweet?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.linkedin.com/shareArticle?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareNow = async () => {\r\n const navigator = window.navigator as any;\r\n let urlLang: string = \"\";\r\n let lang = this.cS.getLang();\r\n if (lang) {\r\n if (lang == 'en') {\r\n urlLang = \"en\";\r\n }\r\n if (lang == 'hi') {\r\n urlLang = \"hi\";\r\n }\r\n }\r\n else {\r\n urlLang = \"en\";\r\n }\r\n\r\n if ('canShare' in navigator) {\r\n let currentFullUrl = window.location.href + '?lang=' + urlLang;\r\n let title = this.business_name;\r\n let text = new DOMParser().parseFromString(this.businessDescription, \"text/html\").documentElement.textContent;\r\n let imageUrl = this.businessImageUrl;\r\n const share = async function () {\r\n try {\r\n // const response = await fetch(imageUrl, {mode: 'no-cors'});\r\n const response = await fetch(imageUrl);\r\n const blob = await response.blob();\r\n const file = new File([blob], 'image.jpg', { type: blob.type });\r\n await navigator.share({\r\n url: currentFullUrl,\r\n title: title,\r\n text: text,\r\n files: [file],\r\n });\r\n console.log(\"shared successfully....\");\r\n } catch (err:any) {\r\n console.log(err.name, err.message);\r\n }\r\n };\r\n share();\r\n }\r\n };\r\n\r\n /**\r\n * get online added stores\r\n * @Yuvraj 30/11/2021\r\n */\r\n getAddedOnlineStores() {\r\n const postJson = { business_id: this.business_id };\r\n this.hS.getBusinessOnlineStores(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.businessStoresList = res.data;\r\n }\r\n else {\r\n this.businessStoresList = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * on click store redirect to store url\r\n * @Yuvraj 01/12/2021\r\n */\r\n onStoreClick(url: string) {\r\n window.open(url, '_blank');\r\n }\r\n\r\n onTabClick(event: any) {\r\n let tabName: string = \"\";\r\n tabName = event.tab.textLabel;\r\n if (tabName == 'Post') {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.userId = userDetail.id;\r\n this.isPostView = true;\r\n }\r\n }\r\n else {\r\n this.isPostView = false;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-my-cart',\r\n templateUrl: './my-cart.component.html',\r\n styleUrls: ['./my-cart.component.css']\r\n})\r\nexport class MyCartComponent implements OnInit, OnDestroy {\r\n\r\n selectedPlanDetail: any;\r\n paymentuplink:any;\r\n constructor(\r\n private router: Router,\r\n private httpS: HttpService,\r\n private cS: CommonService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.selectedPlanDetail = JSON.parse(localStorage.getItem('selectedPlan'));\r\n if (this.selectedPlanDetail === null || this.selectedPlanDetail === undefined) {\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n localStorage.removeItem('selectedPlan');\r\n }\r\n\r\n /**\r\n * Calling show interest api for memership plan\r\n */\r\n doPayment() {\r\n const postJson = {\r\n plan_id: this.selectedPlanDetail.id\r\n };\r\n\r\n //const apiUrl = environment.RYEC_API_URL + 'sendMembershipRequest';\r\n const apiUrl = environment.RYEC_API_URL + 'payg_payment';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) \r\n {\r\n this.paymentuplink =res.payment_status_up_link\r\n\r\n window.open(res.payment_status_up_link,\"_self\");\r\n //$window.location.href = '/index.html';\r\n //this.router.navigate([res.payment_status_up_link]); \r\n //this.router.navigate(['/home/payment-successful']);\r\n //router.navigate(['/role']);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

{{'ang_my_cart' | 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
{{'ang_your_plan' | translate}}{{'ang_quantity' | translate}}{{'ang_price' | translate}}
{{selectedPlanDetail?.name}} - {{'ang_premium_membership_plan' | translate}}1 {{selectedPlanDetail?.price}}
{{'ang_total' | translate}} {{selectedPlanDetail?.price}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","
\r\n\t\"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{investmentDetail?.title}} -{{investmentDetail?.category_name}}

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_approxoffering' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.offering_percent}}%
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_investmentamountrequired' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.investment_amount_start}} - {{investmentDetail?.investment_amount_end}}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_projectduration' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.project_duration}}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{'ang_location' | translate}}\r\n\t\t\t\t\t
{{investmentDetail?.location | trimstr : 15}}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t\r\n\t
\r\n
\r\n
\r\n
\r\n
Ranip, Ahmedabad
\r\n

{{investmentDetail?.descriptions}}

\r\n
\r\n
\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{'ang_ownerinformation' | translate}}

\r\n\t\t
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \t

{{investmentDetail?.creator_business_name}}

\r\n

{{investmentDetail?.creator_name}}

\r\n

+91-{{investmentDetail?.creator_phone}}

\r\n

{{investmentDetail?.creator_email}}

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

{{'ang_projectdocument' | translate}}

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

{{'ang_photos' | translate}}

\r\n
    \r\n
  • \r\n \"image\"\r\n
  • \r\n
\r\n
\r\n \r\n \t
\r\n \t
0\">\r\n \t\t
\r\n \t\t\t

{{'ang_videos' | translate}}

\r\n
    \r\n
  • \r\n \"video\"\r\n
  • \r\n
\r\n
\r\n \r\n \t
\r\n
\r\n
\r\n
\r\n

{{'ang_interests' | translate}} {{'ang_totalinterests' | translate}} : {{totalInerestCount}}

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

{{item?.creator_business_name}}

\r\n

{{item?.user_name}}

\r\n

+91-{{item?.phone}}

\r\n

{{item?.creator_email}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n 0\" (activeId)=\"activeId\">\r\n \r\n \"Random\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n 0\" (activeId)=\"videoActiveId\">\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 { ActivatedRoute } from '@angular/router';\r\n \r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Component({\r\n\tselector: 'ryec-my-investment-opportunity-detail',\r\n\ttemplateUrl: './my-investment-opportunity-detail.component.html',\r\n\tstyleUrls: ['./my-investment-opportunity-detail.component.css']\r\n})\r\nexport class MyInvestmentOpportunityDetailComponent implements OnInit {\r\n\trouterLink = '';\r\n\tactiveUrl = '';\r\n\tinvestmentDetail: any;\r\n\tactiveId = 0;\r\n\tvideoActiveId = 0;\r\n\tinterestForm = {\r\n\t\tidea_id: '',\r\n\t\tdescription: ''\r\n\t}\r\n\tvalidDescription = false;\r\n\tvalidForm = false;\r\n\tmodalReference: any;\r\n\tisInterest = false;\r\n\tcurrentPage: number;\r\n\tcollectionSize = 0;\r\n\tperPageList = environment.BUSINESS_LIST_LIMIT;\r\n\tallInterest :any;\r\n\ttotalInerestCount: any;\r\n\tappName = environment.APP_NAME;\r\n\r\n\tconstructor(\r\n\t\tprivate activeRoute: ActivatedRoute,\r\n\t\tprivate hmS: HomeService,\r\n\t\tprivate cS: CommonService,\r\n\t\tprivate httpS: HttpService,\r\n\t\tprivate modalService: NgbModal)\r\n\t{\r\n\t\tthis.currentPage = 1;\r\n\t\tthis.activeRoute.params.subscribe(data => {\r\n\t\t\tthis.routerLink = data.slug;\r\n\t\t});\r\n\t\tthis.getInvestmentDetailBySlug();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cS.scrollTop();\r\n\t}\r\n\r\n\tgetInvestmentDetailBySlug(): void {\r\n\t\tconst postJson = { idea_slug: this.routerLink };\r\n\r\n\t\tthis.hmS.getInvestmentDetailBySlug(postJson).subscribe((res: any) => {\r\n\t\t\tthis.investmentDetail = res.data;\r\n\t\t\tthis.interestForm.idea_id = this.investmentDetail['id'];\r\n\t\t\tthis.allInterest = this.investmentDetail['interests'];\r\n\t\t\tif (this.investmentDetail['interest_flag'] === 1) {\r\n\t\t\t\tthis.isInterest = true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.isInterest = false;\r\n\t\t\t}\r\n\t\t\tthis.totalInerestCount = this.allInterest.length;\r\n\t\t\tthis.countCollectionSize();\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\r\n\t}\r\n\r\n\t/**\r\n\t\t*open Image in modal view\r\n\t*/\r\n\topenImageViwer(index: any, content: any) {\r\n\t\tconsole.log(index);\r\n\t\tthis.activeId = index;\r\n\t\tthis.modalService.open(content, { windowClass: 'image_gallery' }).result.then((result) => {\r\n\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t}, (reason) => {\r\n\t\t\tconsole.log(reason);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t/**\r\n\t\t*open Video in modal view\r\n\t*/\r\n\topenVideoViwer(index: any, content: any) {\r\n\t\tthis.videoActiveId = index;\r\n\t\tthis.modalService.open(content, { windowClass: 'video_gallery' }).result.then((result) => {\r\n\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t}, (reason) => {\r\n\t\t\tconsole.log(reason);\r\n\t\t});\r\n\t}\r\n\r\n\topenShowInterest(content: string) {\r\n\t\tthis.modalReference = this.modalService.open(content, { windowClass: 'enquiry_popup' });\r\n\t\tthis.modalReference.result.then((result: any) => {\r\n\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t}, (reason: any) => {\r\n\t\t\tconsole.log(reason);\r\n\t\t});\r\n\t}\r\n\r\n\tchangeTitleEvent(event?: any) {\r\n\t\tconsole.log(event);\r\n\t\tif (this.interestForm.description === '' && this.interestForm.description.trim() == '') {\r\n\t\t\tthis.validDescription = true;\r\n\t\t\tthis.validForm = false;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.validDescription = false;\r\n\t\t\tthis.validForm = true;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tsubmitInterestDetail() {\r\n\r\n\t\tconst apiUrl = environment.RYEC_API_URL + 'addInvestmentInterest';\r\n\r\n\t\tthis.httpS.post(apiUrl, this.interestForm).subscribe((res: any) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.status === 1) {\r\n\t\t\t\tthis.isInterest = true;\r\n\t\t\t\tthis.cS.showSuccess(res.message);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.cS.showError(res.message);\r\n\t\t\t}\r\n\t\t\tthis.modalReference.close();\r\n\t\t}, err => {\r\n\t\t\tif (err.error) {\r\n\t\t\t\tconsole.log(err.error);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n *get investment interent list\r\n */\r\n getNextPageRatingList(event?: number): void {\r\n\t\tconsole.log(event);\r\n\t\t// const postJson = { business_id: this.idea_id, page: this.currentPage};\r\n\r\n\t\t// this.hS.getBusinessRating(postJson).subscribe((res: any) => {\r\n\t\t// \tconsole.log(res);\r\n\t\t// \tif(res.status == 1)\r\n\t\t// \t{\r\n\t\t// \t\tthis.allRatings = res.data.reviews;\r\n\t\t// \t\tconsole.log('revi');\r\n\t\t// \t\tconsole.log(this.allRatings)\r\n\t\t// \t\tthis.countCollectionSize();\r\n\t\t// \t}\r\n\t\t// }, err => {\r\n\t\t// \tconsole.log(err);\r\n\t\t// });\r\n\t}\r\n\r\n\tcountCollectionSize() {\r\n if (this.totalInerestCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalInerestCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n}\r\n","
\n\t
\n\t\t

{{'ang_myvillage_available_on_android_ios' | translate}}

\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\"\"\n\t\t\t\t\t\n\t\t\t\t\t\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
\n\t
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-myvillage',\n templateUrl: './myvillage.component.html',\n styleUrls: ['./myvillage.component.css']\n})\nexport class MyvillageComponent implements OnInit {\n isMobile: boolean = false;\n isDesktopDevice: boolean = false;\n deviceInfo: any;\n appDownloadUrl: string = \"\";\n appName = environment.APP_NAME;\n constructor(private deviceService: DeviceDetectorService,) { }\n\n ngOnInit(): void {\n }\n\n getDevicePlatform() {\n if (this.isMobile) {\n if (this.deviceInfo.device == 'iPhone') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajput-club/id1660935382\";\n }\n else { //else MyRajasthanClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\n }\n }\n if (this.deviceInfo.device == 'Android') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n if (this.isDesktopDevice) {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n\n}\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

{{ \"ang_thank_your_interest\" | translate }}

\r\n

Your payment is successful.

\r\n

Your payment is failed.

\r\n

Your payment is under process.

\r\n

\r\n Your payment processing resulting in error.\r\n

\r\n

\r\n Please contact support at cmyrajasthan@gmail.com or +91-9166319568 for any\r\n further information.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from \"@angular/core\";\r\n// import { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { HttpService } from \"src/app/shared/services/http.service\";\r\nimport { environment } from \"../../../../environments/environment\";\r\n \r\n@Component({\r\n selector: \"ryec-payment-successful\",\r\n templateUrl: \"./payment-successful.component.html\",\r\n styleUrls: [\"./payment-successful.component.css\"],\r\n})\r\nexport class PaymentSuccessfulComponent implements OnInit {\r\n res: any;\r\n status: any;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private httpS: HttpService,\r\n // private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n let productid = this.activatedRoute.snapshot.params.slug;\r\n console.log(productid);\r\n this.doPaymentOrderDone(productid);\r\n }\r\n\r\n doPaymentOrderDone(productid: any) {\r\n const postJson = {\r\n payment_order_id: productid,\r\n };\r\n\r\n const apiUrl = environment.RYEC_API_URL + \"doPaymentOrderDone\";\r\n this.httpS.post(apiUrl, postJson).subscribe(\r\n (res: any) => {\r\n console.log(res);\r\n this.status = res.status;\r\n // this.router.navigate(['home']);\r\n },\r\n (err) => {\r\n this.status = 0;\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","
\n\t
\n\t\t

{{'ang_raktaveer_available_on_android_ios' | translate}}

\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\"\"\n\t\t\t\t\t\n\t\t\t\t\t\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
\n\t
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-raktaveer',\n templateUrl: './raktaveer.component.html',\n styleUrls: ['./raktaveer.component.css']\n})\nexport class RaktaveerComponent implements OnInit {\n isMobile: boolean = false;\n isDesktopDevice: boolean = false;\n deviceInfo: any;\n appDownloadUrl: string = \"\";\n appName = environment.APP_NAME;\n constructor(private deviceService: DeviceDetectorService,) { }\n\n ngOnInit(): void {\n }\n\n getDevicePlatform() {\n if (this.isMobile) {\n if (this.deviceInfo.device == 'iPhone') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajput-club/id1660935382\";\n }\n else { //else MyRajasthanClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\n }\n }\n if (this.deviceInfo.device == 'Android') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n if (this.isDesktopDevice) {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n\n}\n","
\n\t
\n\t\t

{{'ang_survey_available_on_android_ios' | translate}}

\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\"\"\n\t\t\t\t\t\n\t\t\t\t\t\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
\n\t
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-survey',\n templateUrl: './survey.component.html',\n styleUrls: ['./survey.component.css']\n})\nexport class SurveyComponent implements OnInit {\n isMobile: boolean = false;\n isDesktopDevice: boolean = false;\n deviceInfo: any;\n appDownloadUrl: string = \"\";\n appName = environment.APP_NAME;\n constructor(private deviceService: DeviceDetectorService,) { }\n\n ngOnInit(): void {\n }\n\n getDevicePlatform() {\n if (this.isMobile) {\n if (this.deviceInfo.device == 'iPhone') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajput-club/id1660935382\";\n }\n else { //else MyRajasthanClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\n }\n }\n if (this.deviceInfo.device == 'Android') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n if (this.isDesktopDevice) {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n\n}\n","
\n\t
\n\t\t

{{'ang_yuvamitra_available_on_android_ios' | translate}}

\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\"\"\n\t\t\t\t\t\n\t\t\t\t\t\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
\n\t
\n
\n\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard } from 'src/app/shared/guard/auth.guard';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NewsDetailsComponent } from '../auth/news-details/news-details.component';\r\nimport { EntityListingComponent } from '../person/entity-listing.component';\r\nimport { AddBusinessComponent } from './add-business/add-business.component';\r\nimport { AgentBusinessListComponent } from './agent-business-list/agent-business-list.component';\r\nimport { BusinessDetailComponent } from './business-detail/business-detail.component';\r\nimport { BusinessListComponent } from './business-list/business-list.component';\r\nimport { BusinessOwnerDetailComponent } from './business-owner-detail/business-owner-detail.component';\r\nimport { BusinessProfileComponent } from './business-profile/business-profile.component';\r\nimport { BusinessSearchComponent } from './business-search/business-search.component';\r\nimport { CreateInvestmentOpportunityComponent } from './create-investment-opportunity/create-investment-opportunity.component';\r\nimport { CreateMarketplaceComponent } from './create-marketplace/create-marketplace.component';\r\nimport { HomeDashboardComponent } from './home-dashboard/home-dashboard.component';\r\nimport { HomePostDetailComponent } from './home-post-detail/home-post-detail.component';\r\nimport { HomePostComponent } from './home-post/home-post.component';\r\nimport { HomeComponent } from './home.component';\r\nimport { InvestmentOpportunityDetailComponent } from './investment-opportunity-detail/investment-opportunity-detail.component';\r\nimport { InvestmentOpportunityComponent } from './investment-opportunity/investment-opportunity.component';\r\nimport { MarketPlaceDetailComponent } from './market-place-detail/market-place-detail.component';\r\nimport { MarketPlaceComponent } from './market-place/market-place.component';\r\nimport { MembershipPlanComponent } from './membership-plan/membership-plan.component';\r\nimport { MyBusinessDetailComponent } from './my-business-detail/my-business-detail.component';\r\nimport { MyCartComponent } from './my-cart/my-cart.component';\r\nimport { MyInvestmentOpportunityDetailComponent } from './my-investment-opportunity-detail/my-investment-opportunity-detail.component';\r\nimport { MyvillageComponent } from './myvillage/myvillage.component';\r\nimport { PaymentSuccessfulComponent } from './payment-successful/payment-successful.component';\r\nimport { RaktaveerComponent } from './raktaveer/raktaveer.component';\r\nimport { ShikshaComponent } from './shiksha/shiksha.component';\r\nimport { SurveyComponent } from './survey/survey.component';\r\nimport { YuvamitraComponent } from './yuvamitra/yuvamitra.component';\r\n\r\nconst routes: Routes = [{ path: '', component: HomeDashboardComponent },\r\n{\r\n \r\n path: '',\r\n component: HomeComponent,\r\n children: [\r\n {\r\n path: 'business-search', component: BusinessSearchComponent, data: { title: environment.TITLE + ' - Business Search Results' }\r\n },\r\n { path: 'home/business-list/:slug/:slug', component: BusinessListComponent, data: { title: environment.TITLE + ' - Business List' } },\r\n\r\n { path: '', component: HomeDashboardComponent, data: { title: environment.TITLE + ' - Dashboard' } },\r\n\r\n { path: 'home/membership-plan', component: MembershipPlanComponent, data: { title: environment.TITLE + ' - Membership Plans' } }\r\n ]\r\n},\r\n{ path: 'home/business-detail/:slug', component: BusinessDetailComponent, data: { title: environment.TITLE + ' - Business Profile' } },\r\n{path: 'raktaveer', component: RaktaveerComponent, data: { title: environment.TITLE + ' - Raktaveer' } },\r\n{ path: 'yuvamitra', component: YuvamitraComponent, data: { title: environment.TITLE + ' - yuvamitra' } },\r\n{ path: 'survey', component: SurveyComponent, data: { title: environment.TITLE + ' - survey' } },\r\n{ path: 'schools', component: EntityListingComponent, data: { title: environment.TITLE + ' - shiksha' } },\r\n{ path: 'hostel', component: EntityListingComponent, data: { title: environment.TITLE + ' - shiksha' } },\r\n{ path: 'teachers', component: EntityListingComponent, data: { title: environment.TITLE + ' - shiksha' } },\r\n{ path: 'myvillage', component: MyvillageComponent, data: { title: environment.TITLE + ' - myvillage' } },\r\n{ path: 'home/market-place/:slug', component: MarketPlaceComponent, data: { title: environment.TITLE + ' - Market Place' } },\r\n{ path: 'home/create-market-place', component: CreateMarketplaceComponent, data: { title: environment.TITLE + ' - Create Market Place' } },\r\n{ path: 'home/edit-market-place', component: CreateMarketplaceComponent, data: { title: environment.TITLE + ' Edit Market Place - ' } },\r\n{ path: 'home/market-place-detail/:slug', component: MarketPlaceDetailComponent, data: { title: environment.TITLE + ' - Market Place Detail' } },\r\n{ path: 'home/market-place', component: MarketPlaceComponent, data: { title: environment.TITLE + ' - Market Place' } },\r\n{\r\n path: '',\r\n component: HomeComponent,\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n children: [\r\n\r\n { path: 'home/business-detail/:slug', component: BusinessDetailComponent, data: { title: environment.TITLE + ' - Business Profile' } },\r\n { path: 'home/business-profile/:slug', component: BusinessProfileComponent, data: { title: environment.TITLE + ' - Business Profile' } },\r\n {\r\n path: 'home/business-owner', component: BusinessOwnerDetailComponent,\r\n data: { title: 'Business Owner Profile - ' }\r\n },\r\n { path: 'home/add-business', component: AddBusinessComponent, data: { title: environment.TITLE + ' - Business Register' } },\r\n { path: 'home/my-business-detail', component: MyBusinessDetailComponent, data: { title: environment.TITLE + ' - My Business Profile' } },\r\n { path: 'home/agent-business-list/:slug', component: AgentBusinessListComponent, data: { title: environment.TITLE + ' - Business List' } },\r\n { path: 'home/investment-opportunity/:slug', component: InvestmentOpportunityComponent, data: { title: environment.TITLE + ' - Investment Opportunity List' } },\r\n { path: 'home/investment-opportunity-detail/:slug', component: InvestmentOpportunityDetailComponent, data: { title: environment.TITLE + ' - Investment Opportunity Detail' } },\r\n\r\n { path: 'home/create-investment-opportunity/:slug', component: CreateInvestmentOpportunityComponent, data: { title: environment.TITLE + ' - Create Investment Opportunity' } },\r\n { path: 'home/my-investment-opportunity-detail/:slug', component: MyInvestmentOpportunityDetailComponent, data: { title: environment.TITLE + ' - Investment Opportunity Detail' } },\r\n\r\n \r\n { path: 'home/my-cart', component: MyCartComponent, data: { title: environment.TITLE + ' - shiksha' } },\r\n { path: 'home/payment-successful/:slug', component: PaymentSuccessfulComponent, data: { title: environment.TITLE + ' - Payment' } },\r\n \r\n {\r\n path: 'news/:slug',\r\n component: NewsDetailsComponent,\r\n data: { title: 'Event details' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n\r\n ]\r\n \r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class HomeRoutingModule { }\r\n","\nimport { Component, OnInit } from '@angular/core';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-yuvamitra',\n templateUrl: './yuvamitra.component.html',\n styleUrls: ['./yuvamitra.component.css']\n})\nexport class YuvamitraComponent implements OnInit {\n isMobile: boolean = false;\n isDesktopDevice: boolean = false;\n deviceInfo: any;\n appDownloadUrl: string = \"\";\n appName = environment.APP_NAME;\n constructor(private deviceService: DeviceDetectorService,) { }\n\n ngOnInit(): void {\n }\n\n getDevicePlatform() {\n if (this.isMobile) {\n if (this.deviceInfo.device == 'iPhone') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajput-club/id1660935382\";\n }\n else { //else MyRajasthanClub\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\n }\n }\n if (this.deviceInfo.device == 'Android') {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n if (this.isDesktopDevice) {\n if (this.appName == 'RYC') { //if RajputsClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\n }\n else { // else MyRajasthanClub\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\n }\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { HomeRoutingModule } from './home-routing.module';\r\nimport { HomeComponent } from './home.component';\r\nimport { BusinessSearchComponent } from './business-search/business-search.component';\r\nimport { BusinessListComponent } from './business-list/business-list.component';\r\nimport { HomeDashboardComponent } from './home-dashboard/home-dashboard.component';\r\nimport { MembershipPlanComponent } from './membership-plan/membership-plan.component';\r\nimport { BusinessDetailComponent } from './business-detail/business-detail.component';\r\nimport { BusinessProfileComponent } from './business-profile/business-profile.component';\r\n\r\nimport { AddBusinessComponent } from './add-business/add-business.component';\r\nimport { BusinessOwnerDetailComponent } from './business-owner-detail/business-owner-detail.component';\r\nimport { MyBusinessDetailComponent } from './my-business-detail/my-business-detail.component';\r\nimport { AgentBusinessListComponent } from './agent-business-list/agent-business-list.component';\r\nimport { InvestmentOpportunityComponent } from './investment-opportunity/investment-opportunity.component';\r\nimport { CreateInvestmentOpportunityComponent } from './create-investment-opportunity/create-investment-opportunity.component';\r\nimport { InvestmentOpportunityDetailComponent } from './investment-opportunity-detail/investment-opportunity-detail.component';\r\nimport { MyInvestmentOpportunityDetailComponent } from './my-investment-opportunity-detail/my-investment-opportunity-detail.component';\r\nimport { PaymentSuccessfulComponent } from './payment-successful/payment-successful.component';\r\nimport { MyCartComponent } from './my-cart/my-cart.component';\r\nimport { MarketPlaceComponent } from './market-place/market-place.component';\r\nimport { MarketPlaceDetailComponent } from './market-place-detail/market-place-detail.component';\r\nimport { CreateMarketplaceComponent } from './create-marketplace/create-marketplace.component';\r\nimport { HomePostComponent } from './home-post/home-post.component';\r\nimport { HomePostDetailComponent } from './home-post-detail/home-post-detail.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { SharedModule } from 'src/app/shared/module/shared/shared.module';\r\nimport { HeaderComponent } from '../auth/header/header.component';\r\nimport { OwlModule } from 'ngx-owl-carousel';\r\nimport { TrimstrPipe } from 'src/app/pipes/trimstr/trimstr.pipe';\r\nimport { PostComponent } from './post/post.component';\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { NgxJsonLdModule } from '@ngx-lite/json-ld';\r\nimport { NewsDetailsComponent } from '../auth/news-details/news-details.component';\r\nimport { RaktaveerComponent } from './raktaveer/raktaveer.component';\r\nimport { YuvamitraComponent } from './yuvamitra/yuvamitra.component';\r\nimport { ShikshaComponent } from './shiksha/shiksha.component';\r\nimport { SurveyComponent } from './survey/survey.component';\r\nimport { MyvillageComponent } from './myvillage/myvillage.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeComponent,\r\n BusinessSearchComponent,\r\n BusinessListComponent,\r\n NewsDetailsComponent,\r\n HomeDashboardComponent,\r\n MembershipPlanComponent,\r\n BusinessDetailComponent,\r\n BusinessProfileComponent,\r\n PostComponent,\r\n AddBusinessComponent,\r\n BusinessOwnerDetailComponent,\r\n MyBusinessDetailComponent,\r\n AgentBusinessListComponent,\r\n InvestmentOpportunityComponent,\r\n CreateInvestmentOpportunityComponent,\r\n InvestmentOpportunityDetailComponent,\r\n MyInvestmentOpportunityDetailComponent,\r\n PaymentSuccessfulComponent,\r\n MyCartComponent,\r\n RaktaveerComponent,\r\n MarketPlaceComponent,\r\n MarketPlaceDetailComponent,\r\n CreateMarketplaceComponent,\r\n HomePostComponent,\r\n HomePostDetailComponent,\r\n TrimstrPipe,\r\n YuvamitraComponent,\r\n ShikshaComponent,\r\n SurveyComponent,\r\n MyvillageComponent\r\n \r\n \r\n ],\r\n \r\n imports: [\r\n ImageCropperModule,\r\n OwlModule,\r\n SharedModule,\r\n PerfectScrollbarModule,\r\n CommonModule,\r\n CarouselModule,\r\n HomeRoutingModule,\r\n NgbModule,\r\n NgxJsonLdModule\r\n ],\r\n \r\n})\r\nexport class HomeModule { }\r\n","
\r\n
\r\n
\r\n

Jobs

\r\n
\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • \r\n {{item.title}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
0\" class=\"d-flex justify-content-between align-items-end mb-3 flex-sm-row flex-column-reverse flex-sm-nowrap flex-wrap\">\r\n
\r\n ({{'ang_showing' | translate}} {{first}}-{{last}} {{'ang_of' | translate}} {{ totalJobsCount }} {{'ang_jobs' | 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
0\">\r\n
\r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n
\r\n

\r\n {{ item.title }}\r\n

\r\n
\r\n
    \r\n
  • \r\n \r\n {{ item.company_name }}\r\n
  • \r\n
  • \r\n \r\n {{ item.location.district }}, {{ item.location.state }}, {{ item.location.country }}\r\n
  • \r\n
  • \r\n \r\n \r\n {{ item.created_at_diff }} ago by {{ item.user.name }}\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n View More\r\n \r\n \r\n
\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 \r\n

{{'ang_nomatches' | translate}}

\r\n
\r\n
\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n \r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\n\r\nimport { debounceTime, map, distinctUntilChanged, filter } from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs/observable/fromEvent';\r\nimport swal from 'sweetalert2';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-group-jobs-listing',\r\n templateUrl: './group-jobs-listing.component.html',\r\n styleUrls: ['./group-jobs-listing.component.css']\r\n})\r\nexport class GroupJobsListingComponent implements OnInit {\r\n groupId: number = 0;\r\n searchText: string = \"\";\r\n sort_slug: string = \"\";\r\n currentPage: number = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n endPage: number = environment.BUSINESS_LIST_LIMIT;\r\n center_lat = localStorage.getItem('latitude');\r\n center_long = localStorage.getItem('longitude');\r\n jobsList: any[] = [];\r\n items: any[] = [];\r\n totalJobsCount: number = 0;\r\n collectionSize: number = 0;\r\n first: number = 1;\r\n last: number = 0;\r\n maxSize: number = 5;\r\n noData: boolean = false;\r\n userId: number = 0;\r\n isUserHasBusiness: boolean = false;\r\n appName = environment.APP_NAME;\r\n jobCreatedById: number = 0;\r\n jobCreatedByName: string = \"\";\r\n\r\n @ViewChild('homeSearchInput')\r\n homeSearchInput!: ElementRef;\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n private httpS: HttpService,\r\n ) {\r\n this.activeRoute.params.subscribe(data => {\r\n this.groupId = data.slug;\r\n // if (this.groupId) { //if id is available call api\r\n // // this.getGroupJobsListingById(this.groupId);\r\n // }\r\n });\r\n this.currentPage = 1;\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.userId = userDetail.id;\r\n if(userDetail.business_id){\r\n this.isUserHasBusiness = true;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\r\n //Add 'implements AfterViewInit' to the class.\r\n this.homeSearh();\r\n }\r\n\r\n checkRouterUrlForCallingAPI() {\r\n const postJson: PostJsonBusinessList = {\r\n site_id: this.groupId,\r\n page: this.currentPage,\r\n limit: this.perPageList\r\n };\r\n\r\n // if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\r\n // postJson.radius = environment.LOCATION_RADIUS;\r\n // postJson.latitude = this.center_lat;\r\n // postJson.longitude = this.center_long;\r\n // }\r\n\r\n // if (this.sort_slug === 'relevance') {\r\n // postJson.latitude = this.center_lat;\r\n // postJson.longitude = this.center_long;\r\n // }\r\n this.getJobsList(postJson);\r\n }\r\n\r\n searchBusiness() {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n if (this.searchText != \"\") {\r\n const postJson: PostJsonBusinessList = {\r\n page: this.currentPage,\r\n limit: this.perPageList,\r\n title: this.searchText,\r\n site_id: this.groupId,\r\n };\r\n\r\n // if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\r\n // postJson.radius = environment.LOCATION_RADIUS;\r\n // postJson.latitude = this.center_lat;\r\n // postJson.longitude = this.center_long;\r\n // }\r\n\r\n // if (this.sort_slug === 'relevance') {\r\n // postJson.latitude = this.center_lat;\r\n // postJson.longitude = this.center_long;\r\n // }\r\n this.getJobsList(postJson);\r\n }\r\n }\r\n\r\n searchBusinessByCategory(name: string) {\r\n this.searchText = name;\r\n this.searchBusiness();\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n }\r\n\r\n getJobsList(postJson: any) {\r\n this.hS.getJobsList(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n // this.convertToLowerCase(res.data);\r\n this.jobsList = res.data;\r\n this.totalJobsCount = res.total;\r\n this.jobCreatedById = res.user_id;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.jobsList = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalJobsCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalJobsCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.jobsList.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.jobsList.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalJobsCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalJobsCount == 0 || this.totalJobsCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n // this.showBusinessOnMap();\r\n }\r\n\r\n getNextPageBusinessList(): void {\r\n // console.log(event);\r\n // this.businessMarkers = [];\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n /**\r\n * deley api calling and called once user finish typed in search text box\r\n * @Yuvraj 07/04/2021\r\n */\r\n homeSearh() {\r\n fromEvent(this.homeSearchInput.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 3\r\n // , filter(res => res.length >= 3)\r\n filter(res => {\r\n if (res && res.length >= 3) {\r\n return true;\r\n } else {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n return false;\r\n }\r\n })\r\n\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n\r\n // If previous query is diffent from current\r\n , distinctUntilChanged()\r\n\r\n // subscription for response\r\n ).subscribe((postJson: string) => {\r\n this.hS.getJobsAutoCompleteList({ searchText: postJson, site_id: this.groupId }).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".auto_complete_listing\").css(\"display\", \"block\");\r\n this.items = res.data;\r\n } else {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n onJobDelete(id: number, name: string) {\r\n swal.fire({\r\n title: 'Are you sure you want to delete ' + name + ' ?',\r\n\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n this.delteJob(id);\r\n }\r\n });\r\n }\r\n\r\n delteJob(id: number) {\r\n let tempModel: any = {};\r\n tempModel.job_vacancy_id = id;\r\n const apiUrl = environment.RYEC_API_URL + 'deleteJob';\r\n this.httpS.post(apiUrl, tempModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

Places

\r\n

Persons

\r\n
\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • \r\n {{item.value}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
0\">\r\n
\r\n ({{'ang_showing' | translate}} {{first}}-{{last}} {{'ang_of' | translate}} {{totalBuinessCount}}\r\n \r\n {{'ang_places' | translate}} \r\n \r\n \r\n {{'ang_persons' | translate}} \r\n \r\n )\r\n
\r\n \r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{item.name}}\r\n

\r\n
    \r\n
  • \r\n {{item.owners}}
  • \r\n \r\n
  • \r\n \r\n {{item.city}}, {{item.state}}, {{item.country}}\r\n
  • \r\n\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\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 \r\n

{{'ang_nomatches' | translate}}

\r\n
\r\n
\r\n\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\n\r\n \r\nimport {\r\n marker\r\n} from 'src/app/shared/class/data.model';\r\nimport {\r\n debounceTime,\r\n map,\r\n distinctUntilChanged,\r\n filter\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs/observable/fromEvent';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'ryec-entity-listing',\r\n templateUrl: './entity-listing.component.html',\r\n styleUrls: ['./entity-listing.component.css']\r\n})\r\nexport class EntityListingComponent implements OnInit {\r\n \r\n currentPage: number;\r\n routerLink = '';\r\n activeUrl = '';\r\n BusinessList :any;\r\n sort_slug = '';\r\n maxSize = 5;\r\n totalBuinessCount = 0;\r\n collectionSize = 0;\r\n first = 1;\r\n cat_id:any=[];\r\n last = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n endPage: number = environment.BUSINESS_LIST_LIMIT;\r\n center_lat = localStorage.getItem('latitude');\r\n center_long = localStorage.getItem('longitude');\r\n businessMarkers: marker[] = [];\r\n business_title = '';\r\n business_address = '';\r\n business_slug = '';\r\n noData = false;\r\n user_lat: any;\r\n user_long: any;\r\n isShow = true;\r\n isAtoZShow: boolean = false;\r\n isZtoAShow: boolean = false;\r\n entityType: string = \"\";\r\n searchText: string = \"\";\r\n items: any[] = [];\r\n appName = environment.APP_NAME;\r\n\r\n @ViewChild('homeSearchInput')\r\n homeSearchInput!: ElementRef;\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n private router: Router) {\r\n this.currentPage = 1;\r\n const activeUrlArray = this.activeRoute.snapshot.url;\r\n this.user_lat = localStorage.getItem('latitude');\r\n this.user_long = localStorage.getItem('longitude');\r\n\r\n /*\r\n *get url slug\r\n */\r\n this.activeRoute.params.subscribe(data => {\r\n // this.routerLink = data.slug;\r\n console.log(data);\r\n this.routerLink = 'popularity'; //now sorting will be static 'popularity'\r\n if (activeUrlArray.length) {\r\n this.activeUrl = activeUrlArray[0].path;\r\n if (this.activeUrl == 'places') {\r\n this.entityType = 'place';\r\n }\r\n if (this.activeUrl == 'persons') {\r\n this.entityType = 'person';\r\n }\r\n if (this.activeUrl == 'hostel') {\r\n this.entityType = 'hostel';\r\n }\r\n \r\n }\r\n this.currentPage = 1;\r\n this.checkSorting();\r\n\r\n this.businessMarkers = [];\r\n this.checkRouterUrlForCallingAPI();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.center_lat === '' || this.center_lat === null) {\r\n this.hS.getNetworkLatLong();\r\n }\r\n this.cS.scrollTop();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\r\n //Add 'implements AfterViewInit' to the class.\r\n this.homeSearh();\r\n }\r\n\r\n checkSorting() {\r\n /*\r\n *Check which type of sorting happend\r\n */\r\n if (this.routerLink === 'relevance') {\r\n this.sort_slug = 'relevance';\r\n }\r\n else if (this.routerLink === 'popularity') {\r\n this.sort_slug = 'popular';\r\n }\r\n else if (this.routerLink === 'ratings') {\r\n this.sort_slug = 'ratings';\r\n }\r\n else if (this.routerLink === 'near-by') {\r\n this.sort_slug = 'nearMe';\r\n }\r\n else if (this.routerLink === 'atoz') {\r\n this.sort_slug = 'AtoZ';\r\n }\r\n else if (this.routerLink === 'ztoa') {\r\n this.sort_slug = 'ZtoA';\r\n }\r\n else {\r\n this.router.navigateByUrl('/home');\r\n }\r\n }\r\n \r\n \r\n onSorting(sortType: string) {\r\n this.routerLink = sortType; //pass current string into routerLink\r\n this.checkSorting() //check and update sort_slug\r\n this.checkRouterUrlForCallingAPI() //then call api on sorting\r\n }\r\n \r\n checkRouterUrlForCallingAPI() {\r\n const postJson: PostJsonBusinessList = {\r\n sortBy: this.sort_slug,\r\n page: this.currentPage,\r\n limit: this.perPageList,\r\n entity_type: this.entityType\r\n };\r\n\r\n if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\r\n postJson.radius = environment.LOCATION_RADIUS;\r\n postJson.latitude = this.center_lat;\r\n postJson.longitude = this.center_long;\r\n }\r\n\r\n if (this.sort_slug === 'relevance') {\r\n postJson.latitude = this.center_lat;\r\n postJson.longitude = this.center_long;\r\n }\r\n\r\n switch (this.activeUrl) {\r\n case 'persons':\r\n /*\r\n *Get all Recently added Business list from server\r\n */\r\n this.hS.getRecentlyAddedBusinessListing(postJson).subscribe((res: any) => {\r\n this.convertToLowerCase(res.data);\r\n this.BusinessList = res.data;\r\n this.totalBuinessCount = res.businessesTotalCount;\r\n this.countCollectionSize();\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n break;\r\n case 'places':\r\n /*\r\n *Get all Recently added Business list from server\r\n */\r\n this.hS.getRecentlyAddedBusinessListing(postJson).subscribe((res: any) => {\r\n this.convertToLowerCase(res.data);\r\n this.BusinessList = res.data;\r\n this.totalBuinessCount = res.businessesTotalCount;\r\n this.countCollectionSize();\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n break;\r\n case 'schools':\r\n this.getBusinessListByCategory();\r\n break;\r\n case 'hostel':\r\n this.getBusinessListByCategory();\r\n break;\r\n case 'teachers':\r\n this.getBusinessListByCategory();\r\n break;\r\n \r\n \r\n default:\r\n /*\r\n *Get all Business list from server for category\r\n */\r\n this.getBusinessListByCategory();\r\n break;\r\n }\r\n }\r\n\r\n navigateToPage(path: string) {\r\n \r\n this.activeUrl = path;\r\n this.router.navigate([path]);\r\n }\r\n /**\r\n * Get Category wise Business listing\r\n * @returns void\r\n */\r\n getBusinessListByCategory(): void {\r\n const postJson: PostJsonBusinessList = {\r\n category_slug: this.activeUrl,\r\n page: this.currentPage,\r\n sortBy: this.sort_slug,\r\n };\r\n\r\n this.hS.getBusinessListByCategory(postJson).subscribe((res: any) => {\r\n if (res.data.businesses) {\r\n this.BusinessList = res.data.businesses;\r\n this.totalBuinessCount = res.businessesTotalCount;\r\n }\r\n this.countCollectionSize();\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /**\r\n * convert to lowercase entity type for passing in routing in url\r\n * @Yuvraj 24/12/21\r\n */\r\n convertToLowerCase(data: any){\r\n data.forEach((element: any) => {\r\n if(element.entity_type){\r\n element.entity_type = element.entity_type.toLowerCase();\r\n }\r\n });\r\n }\r\n\r\n getNextPageBusinessList(event: number): void {\r\n console.log(event);\r\n this.businessMarkers = [];\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalBuinessCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalBuinessCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.BusinessList.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.BusinessList.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalBuinessCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalBuinessCount == 0 || this.totalBuinessCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n this.showBusinessOnMap();\r\n }\r\n\r\n /**\r\n *Load businesses on map\r\n */\r\n showBusinessOnMap() {\r\n for (const x in this.BusinessList) {\r\n if (this.BusinessList.hasOwnProperty(x)) {\r\n this.businessMarkers.push({\r\n latitude: this.BusinessList[x]['latitude'],\r\n longitude: this.BusinessList[x]['longitude'],\r\n title: this.BusinessList[x]['name'],\r\n address: this.BusinessList[x]['address'],\r\n business_slug: this.BusinessList[x]['business_slug']\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * open map click\r\n */\r\n clicked(marker: any, pos: any) {\r\n this.business_title = pos.title;\r\n this.business_address = pos.address;\r\n this.business_slug = pos.business_slug;\r\n let markerEvent = marker.target;\r\n markerEvent.nguiMapComponent.openInfoWindow('business_name', markerEvent);\r\n }\r\n\r\n /**\r\n * filter by name\r\n */\r\n filter(filtername: any) {\r\n if (filtername == 'asc') {\r\n this.isShow = false;\r\n } else {\r\n this.isShow = true;\r\n }\r\n }\r\n\r\n\r\n\r\n searchBusinessByCategory(category_name: string) {\r\n this.searchText = category_name;\r\n this.searchBusiness();\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n }\r\n\r\n searchBusiness() {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n if (this.searchText != \"\") {\r\n const postJson: PostJsonBusinessList = {\r\n sortBy: this.sort_slug,\r\n page: this.currentPage,\r\n limit: this.perPageList,\r\n entity_type: this.entityType,\r\n searchText: this.searchText\r\n };\r\n\r\n if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\r\n postJson.radius = environment.LOCATION_RADIUS;\r\n postJson.latitude = this.center_lat;\r\n postJson.longitude = this.center_long;\r\n }\r\n\r\n if (this.sort_slug === 'relevance') {\r\n postJson.latitude = this.center_lat;\r\n postJson.longitude = this.center_long;\r\n }\r\n this.hS.getRecentlyAddedBusinessListing(postJson).subscribe((res: any) => {\r\n this.convertToLowerCase(res.data);\r\n this.BusinessList = res.data;\r\n this.totalBuinessCount = res.businessesTotalCount;\r\n this.countCollectionSize();\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * deley api calling and called once user finish typed in search text box\r\n * @Yuvraj 23/11/2021\r\n */\r\n homeSearh() {\r\n fromEvent(this.homeSearchInput.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 3\r\n // , filter(res => res.length >= 3)\r\n filter(res => {\r\n if (res && res.length >= 3) {\r\n return true;\r\n } else {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n return false;\r\n }\r\n })\r\n\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n\r\n // If previous query is diffent from current\r\n , distinctUntilChanged()\r\n\r\n // subscription for response\r\n ).subscribe((postJson: string) => {\r\n this.hS.getSearchAutocomplete({ searchText: postJson, entity_type: this.entityType }).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".auto_complete_listing\").css(\"display\", \"block\");\r\n this.items = res.data;\r\n } else {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n }\r\n }\r\n }, (err: any) => {\r\n console.log(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n","
\r\n\t
\r\n\t\t

{{business_name}} > {{label | translate}} {{'ang_ownerprofile' | translate}}

\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\"user_profile\"\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\"plus-icon\"\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{'ang_personalprofile' | translate}}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{ 'ang_usernamevalidation' | translate}}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{ 'ang_emailvalidation' | translate}}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {{code.country_code}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t \t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t

{{ 'ang_mobilerequired' | translate}}

\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t{{'ang_numbervalidation' | translate}}\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{'ang_otherinformation' | translate}}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t

    {{child.children_name}}

    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\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\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\t

    {{activity.activity_title}}

    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{'ang_socialprofile' | translate}}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\"facebook\"\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\"twitter\"\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\"linkedin\"\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\"instagram\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
\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\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\r\n\t
\r\n\t\t\t
{{'ang_profilepic' | translate}}
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n
\r\n","import { Component, OnInit, ElementRef, ViewChild, HostListener } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from './../../../../environments/environment';\r\n\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\n@Component({\r\n selector: 'ryec-add-owner',\r\n templateUrl: './add-owner.component.html',\r\n styleUrls: ['./add-owner.component.css']\r\n})\r\nexport class AddOwnerComponent implements OnInit {\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n console.log(event.srcElement.className);\r\n if (this.eRef.nativeElement.contains(event.target)) {\r\n if (event.srcElement.className !== 'dropbtn') {\r\n this.showDropDown = false;\r\n }\r\n } else {\r\n this.showDropDown = false;\r\n }\r\n }\r\n\r\n @ViewChild('userProfile')\r\n userProfileRef!: ElementRef;\r\n @ViewChild('userProfileImage')\r\n userProfileImpapiageRef!: ElementRef;\r\n appName = environment.APP_NAME;\r\n\r\n userProfilePic = '../assets/images/default_image.png';\r\n isPhotoSelect = false;\r\n addOwnerForm: FormGroup;\r\n childrenArray: Array<{ id: 0, children_name: string, operation?: string }> = [];\r\n deletedChildrenArray: Array<{ id: 0, children_name: string, operation?: string }> = [];\r\n socialActivityArray: Array<{ id: 0, activity_title: string, operation?: string }> = [];\r\n deleteSocialActivityArray: Array<{ id: 0, activity_title: string, operation?: string }> = [];\r\n ownerInfo =\r\n {\r\n children: this.childrenArray,\r\n social_activities: this.socialActivityArray\r\n };\r\n deletedOwnerInfo = {\r\n delete_children: this.deletedChildrenArray,\r\n delete_activities: this.deleteSocialActivityArray\r\n }\r\n socialEditFlag: number = -1;\r\n childEditFlag: number = -1;\r\n ownerFormData: FormData = new FormData();\r\n business_id = 0;\r\n owner_id = 0;\r\n countryCodes: any;\r\n label: any;\r\n business_name: any;\r\n country_code = '+91';\r\n country_img = '';\r\n showDropDown = false;\r\n public_access = false;\r\n imageChangedEvent: any = '';\r\n\tcroppedImage: any = '';\r\n\tmodalReference: any;\r\n\r\n constructor(private location: Location,\r\n private fb: FormBuilder,\r\n private route: ActivatedRoute,\r\n public hS: HttpService,\r\n private eRef: ElementRef,\r\n private configDP: NgbDatepickerConfig,\r\n public hmS: HomeService,\r\n public cS: CommonService,\r\n private modalService: NgbModal) {\r\n //const EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\r\n\r\n const EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\r\n\r\n this.addOwnerForm = this.fb.group({\r\n full_name: [null, Validators.compose([Validators.required])],\r\n email_id: [null, Validators.compose([Validators.required, Validators.pattern(EMAIL_REGEXP)])],\r\n mobile: [null, Validators.compose([Validators.required, Validators.minLength(6), Validators.maxLength(13), Validators.pattern('[0-9]*')])],\r\n dob: [],\r\n gender: [],\r\n designation: [],\r\n father_name: [],\r\n native_village: [],\r\n maternal_home: [],\r\n kul_gotra: [],\r\n children: [],\r\n social_activities: [],\r\n facebook_url: [],\r\n twitter_url: [],\r\n linkedin_url: [],\r\n instagram_url: [],\r\n country_code: ['+91']\r\n });\r\n\r\n this.business_name = localStorage.getItem('business_name');\r\n\r\n const d = new Date();\r\n this.configDP.minDate = { year: 1900, month: 1, day: 1 };\r\n this.configDP.maxDate = { year: d.getFullYear(), month: d.getMonth() + 1, day: d.getDate() };\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n this.route.queryParams\r\n .subscribe(params => {\r\n this.business_id = atob(params.business_id);\r\n this.owner_id = atob(params.owner_id);\r\n if (this.owner_id != 0) {\r\n this.label = \"ang_edit\";\r\n this.getOwnerInformation();\r\n }\r\n else {\r\n this.public_access = true;\r\n this.label = \"ang_add\";\r\n }\r\n });\r\n\r\n this.hmS.getCountryCode().subscribe((res: any) => {\r\n this.countryCodes = res['data'];\r\n for (let x in this.countryCodes) {\r\n if (this.country_code === this.countryCodes[x]['country_code']) {\r\n this.country_img = this.countryCodes[x]['country_flag'];\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n /*\r\n *Get owner detail by owner id\r\n */\r\n getOwnerInformation() {\r\n const uri = environment.RYEC_API_URL + 'getOwnerInfo';\r\n const postJson = { owner_id: this.owner_id }\r\n this.hS.post(uri, postJson).subscribe((res: any) => {\r\n if (res.data.dob != null) {\r\n const date = res.data.dob.split('-');\r\n if (date.length > 2) {\r\n const dob = {\r\n year: parseInt(date[0]),\r\n month: parseInt(date[1]),\r\n day: parseInt(date[2])\r\n }\r\n this.addOwnerForm.controls.dob.setValue(dob);\r\n }\r\n }\r\n this.userProfilePic = res.data.photo_original;\r\n this.addOwnerForm.controls.full_name.setValue(res.data.full_name);\r\n this.addOwnerForm.controls.email_id.setValue(res.data.email_id);\r\n this.addOwnerForm.controls.country_code.setValue(res.data.country_code);\r\n this.addOwnerForm.controls.mobile.setValue(res.data.mobile);\r\n this.addOwnerForm.controls.designation.setValue(res.data.designation);\r\n this.addOwnerForm.controls.gender.setValue(\"\" + res.data.gender + \"\");\r\n this.addOwnerForm.controls.father_name.setValue(res.data.father_name);\r\n this.addOwnerForm.controls.native_village.setValue(res.data.native_village);\r\n this.addOwnerForm.controls.maternal_home.setValue(res.data.maternal_home);\r\n this.addOwnerForm.controls.kul_gotra.setValue(res.data.kul_gotra);\r\n this.addOwnerForm.controls.facebook_url.setValue(res.data.social_profiles.facebook_url);\r\n this.addOwnerForm.controls.twitter_url.setValue(res.data.social_profiles.twitter_url);\r\n this.addOwnerForm.controls.linkedin_url.setValue(res.data.social_profiles.linkedin_url);\r\n this.addOwnerForm.controls.instagram_url.setValue(res.data.social_profiles.instagram_url);\r\n for (let x in res.data.children) {\r\n res.data.children[x].operation = 'edit';\r\n this.ownerInfo.children.push(res.data.children[x])\r\n }\r\n for (let x in res.data.social_activities) {\r\n res.data.social_activities[x].operation = 'edit';\r\n this.ownerInfo.social_activities.push(res.data.social_activities[x])\r\n }\r\n // if (res.data.public_access == 1) {\r\n // this.public_access = true;\r\n // } else {\r\n // this.public_access = false;\r\n // }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n addChild() {\r\n if (this.addOwnerForm.value['children'] != null) {\r\n if (this.childEditFlag == -1) {\r\n this.ownerInfo.children.push({ id: 0, children_name: this.addOwnerForm.value['children'], operation: 'add' });\r\n }\r\n else {\r\n this.ownerInfo.children[this.childEditFlag]['children_name'] = this.addOwnerForm.value['children'];\r\n this.childEditFlag = -1;\r\n }\r\n this.addOwnerForm.controls.children.setValue(\"\");\r\n }\r\n }\r\n\r\n addSocialActivity() {\r\n if (this.addOwnerForm.value['social_activities'] != null) {\r\n if (this.socialEditFlag == -1) {\r\n this.ownerInfo.social_activities.push({ id: 0, activity_title: this.addOwnerForm.value['social_activities'], operation: 'add' });\r\n }\r\n else {\r\n this.ownerInfo.social_activities[this.socialEditFlag]['activity_title'] = this.addOwnerForm.value['social_activities'];\r\n this.socialEditFlag = -1;\r\n }\r\n this.addOwnerForm.controls.social_activities.setValue(\"\");\r\n }\r\n }\r\n\r\n editSocialActivity(index: number) {\r\n this.addOwnerForm.controls.social_activities.setValue(this.ownerInfo.social_activities[index]['activity_title']);\r\n this.socialEditFlag = index;\r\n }\r\n\r\n editChildActivity(index: number) {\r\n this.addOwnerForm.controls.children.setValue(this.ownerInfo.children[index]['children_name']);\r\n this.childEditFlag = index;\r\n }\r\n\r\n deleteSocialActivity(index: number) {\r\n let obj = { ...this.ownerInfo.social_activities[index] };\r\n this.ownerInfo.social_activities.splice(index, 1);\r\n if (obj.id != 0) {\r\n obj.operation = 'delete';\r\n this.deletedOwnerInfo.delete_activities.push(obj);\r\n }\r\n }\r\n\r\n deleteChild(index: number) {\r\n console.log(this.ownerInfo.children);\r\n let obj = { ...this.ownerInfo.children[index] };\r\n this.ownerInfo.children.splice(index, 1);\r\n if (obj.id != 0) {\r\n obj.operation = 'delete';\r\n this.deletedOwnerInfo.delete_children.push(obj);\r\n }\r\n console.log(this.deletedOwnerInfo.delete_children);\r\n\r\n }\r\n\r\n onSubmitAddOwner() {\r\n if (this.addOwnerForm.controls.mobile.value !== '' && this.addOwnerForm.controls.email_id.value !== '' && this.addOwnerForm.controls.full_name.value !== '') {\r\n if (this.userProfilePic != '') {\r\n let social_links = JSON.stringify({\r\n facebook_url: this.addOwnerForm.value['facebook_url'],\r\n twitter_url: this.addOwnerForm.value['twitter_url'],\r\n linkedin_url: this.addOwnerForm.value['linkedin_url'],\r\n instagram_url: this.addOwnerForm.value['instagram_url']\r\n });\r\n\r\n let apiUrl = environment.RYEC_API_URL + 'addOwner';\r\n if (this.owner_id != 0) {\r\n apiUrl = environment.RYEC_API_URL + 'editOwner';\r\n }\r\n\r\n for (let x in this.deletedOwnerInfo.delete_children) {\r\n this.ownerInfo.children.push(this.deletedOwnerInfo.delete_children[x]);\r\n }\r\n for (let x in this.deletedOwnerInfo.delete_activities) {\r\n this.ownerInfo.social_activities.push(this.deletedOwnerInfo.delete_activities[x]);\r\n }\r\n\r\n if (this.owner_id != 0) {\r\n this.ownerFormData.append(\"id\", this.owner_id);\r\n }\r\n\r\n if (this.addOwnerForm.controls.dob.value != null) {\r\n this.ownerFormData.append(\"dob\", this.addOwnerForm.controls.dob.value['year'] + \"-\" + this.addOwnerForm.controls.dob.value['month'] + \"-\" + this.addOwnerForm.controls.dob.value['day']);\r\n }\r\n\r\n this.ownerFormData.append(\"business_id\", this.business_id);\r\n this.ownerFormData.append(\"full_name\", this.addOwnerForm.controls.full_name.value);\r\n this.ownerFormData.append(\"email_id\", this.addOwnerForm.controls.email_id.value);\r\n this.ownerFormData.append(\"mobile\", this.addOwnerForm.controls.mobile.value);\r\n this.ownerFormData.append(\"gender\", this.addOwnerForm.controls.gender.value);\r\n this.ownerFormData.append(\"father_name\", this.addOwnerForm.controls.father_name.value);\r\n this.ownerFormData.append(\"native_village\", this.addOwnerForm.controls.native_village.value);\r\n this.ownerFormData.append(\"maternal_home\", this.addOwnerForm.controls.maternal_home.value);\r\n this.ownerFormData.append(\"kul_gotra\", this.addOwnerForm.controls.kul_gotra.value);\r\n this.ownerFormData.append(\"children\", JSON.stringify(this.ownerInfo.children));\r\n this.ownerFormData.append(\"social_activities\", JSON.stringify(this.ownerInfo.social_activities));\r\n this.ownerFormData.append(\"social_profiles\", social_links);\r\n this.ownerFormData.append(\"designation\", this.addOwnerForm.controls.designation.value);\r\n this.ownerFormData.append(\"country_code\", this.country_code);\r\n\r\n this.hS.postUpload(apiUrl, this.ownerFormData).subscribe((res: any) => {\r\n if (res['status'] == 1) {\r\n this.cS.showSuccess(res['message']);\r\n if (this.owner_id === 0) {\r\n this.resetForm();\r\n localStorage.removeItem('business_name');\r\n this.location.back();\r\n }\r\n } else {\r\n this.cS.showError(res['message']);\r\n }\r\n });\r\n } else {\r\n this.cS.showError('Please select Owner profile picture');\r\n }\r\n } else {\r\n this.cS.showError('Please fill all required field');\r\n }\r\n }\r\n\r\n resetForm() {\r\n this.childrenArray = [];\r\n this.socialActivityArray = [];\r\n this.deletedChildrenArray = [];\r\n this.deleteSocialActivityArray = [];\r\n this.addOwnerForm.reset();\r\n this.userProfilePic = '../assets/images/default_image.png';\r\n\r\n this.ownerInfo = {\r\n children: this.childrenArray,\r\n social_activities: this.socialActivityArray\r\n };\r\n\r\n this.deletedOwnerInfo = {\r\n delete_children: this.deletedChildrenArray,\r\n delete_activities: this.deleteSocialActivityArray\r\n };\r\n }\r\n\r\n triggerUpload() {\r\n this.userProfileRef.nativeElement.click();\r\n }\r\n\r\n uploadProfilePic(event: any, content: any) {\r\n const srcEle = event.srcElement;\r\n\t\tif (srcEle.files && srcEle.files[0]) {\r\n\t\t\tif (this.cS.checkValidImage(srcEle.files[0])) {\r\n\t\t\t\tthis.imageChangedEvent = event;\r\n\t\t\t\tthis.modalReference = this.modalService.open(content);\r\n\t\t\t\tthis.modalReference.result.then((result: any) => {\r\n\t\t\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t\t\t}, (reason: any) => {\r\n\t\t\t\t\tconsole.log(reason);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.cS.showError('Please select valid image.');\r\n\t\t\t}\r\n\t\t}\r\n // const srcEle = event.srcElement;\r\n // if (srcEle.files && srcEle.files[0]) {\r\n // if (this.cS.checkValidImage(srcEle.files[0])) {\r\n // this.ownerFormData.append('photo', srcEle.files[0]);\r\n // this.isPhotoSelect = true;\r\n // this.readURL(srcEle);\r\n // } else {\r\n // this.cS.showError('Please select file less than 5MB.');\r\n // }\r\n // }\r\n }\r\n\r\n readURL(input: any) {\r\n let self = this;\r\n if (input.files && input.files[0]) {\r\n var reader = new FileReader();\r\n reader.onload = function (e:any) {\r\n self.userProfilePic = e['target']['result'];\r\n };\r\n\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n cancelEditOwner() {\r\n localStorage.removeItem('business_name');\r\n this.location.back();\r\n }\r\n\r\n selectCountry(countryObj: any) {\r\n this.country_code = countryObj['country_code'];\r\n this.country_img = countryObj['country_flag'];\r\n this.showDropDown = false;\r\n }\r\n\r\n selectCountryCode() {\r\n if (this.showDropDown) {\r\n this.showDropDown = false;\r\n } else {\r\n this.showDropDown = true;\r\n }\r\n }\r\n\r\n imageCropped(image: any) {\r\n\t\tthis.croppedImage = image;\r\n\t}\r\n\r\n\timageLoaded() {\r\n\t\t// show cropper\r\n\t}\r\n\tloadImageFailed() {\r\n\t\t// show message\r\n\t}\r\n\r\n\tsendCropImage() {\r\n\t\t//console.log(this.modalService);\r\n\t\t//console.log(this.croppedImage);\r\n\t\tconst block = this.croppedImage.split(';');\r\n\t\tconst contentType = block[0].split(':')[1];\r\n\t\tconst realData = block[1].split(',')[1];\r\n\r\n const blob = this.cS.b64toBlob(realData, contentType);\r\n console.log(blob);\r\n this.modalReference.close();\r\n this.userProfilePic = this.croppedImage;\r\n this.ownerFormData.append('photo', blob);\r\n this.isPhotoSelect = true;\r\n\t}\r\n\r\n numberOnly(event: any): boolean\r\n {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'ang_changepassword'| translate}}\r\n
\r\n \r\n

\r\n {{statusAlert.message}}\r\n

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

{{'ang_passwordvalidation'| translate}}

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

{{'ang_passwordvalidationnew'| translate}}

\r\n

{{'ang_oldpasswordvalidation' | translate}}

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

{{'ang_confirmpasswordvalidation' | translate}}

\r\n

{{'ang_samepasswordvalidation' | 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 ","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n\r\nfunction NotSameAsOld(oldPwd: AbstractControl): ValidatorFn {\r\n\t// const hasExclamation = input.value !== this.o_password.value;\r\n\treturn (control: AbstractControl) => {\r\n\t\treturn control.value === oldPwd.value ? {\r\n\t\t\tNotSameAsOld: {\r\n\t\t\t\tvalid: false\r\n\t\t\t}\r\n\t\t} : null;\r\n\t};\r\n}\r\n\r\nconst oldPassword = new FormControl(null, Validators.compose([Validators.required, Validators.minLength(8)\r\n]));\r\nconst newPassword = new FormControl(null, {\r\n\tvalidators: Validators.compose([Validators.required,\r\n\t\t\t\tValidators.minLength(8), NotSameAsOld(oldPassword) ,\r\n\t\t\t\tValidators.pattern('(?=.[a-z])(?=.[A-Z])(?=.[0-9])(?=.[$@$!%#?^&+=,.-])[A-Za-z\\d$@$!%#?^&+=,.-].{8,}')\r\n\t\t\t])\r\n\t\r\n});\r\nconst confirmPassword = new FormControl(null, {\r\n\t\tvalidators: Validators.compose([Validators.required,Validators.minLength(8),NotSameAsOld(oldPassword) , CustomValidators.equalTo(newPassword)\r\n\t])\r\n});\r\n\r\n@Component({\r\n\tselector: 'ryec-change-password',\r\n\ttemplateUrl: './change-password.component.html',\r\n\tstyleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\t\r\n\tcgPasswordForm: FormGroup;\r\n\tappName = environment.APP_NAME;\r\n\t// status alert 0=> something missing, 1=> success, 3=>default not active\r\n\tstatusAlert: {\r\n\t\tstatus: 1 | 0 | 3,\r\n\t\tmessage: string\r\n\t};\r\n\r\n\r\n\tconstructor(private fB: FormBuilder,\r\n\t\tprivate hS: HttpService,\r\n\t\tprivate cS: CommonService) {\r\n\t\t\t\r\n\t\tthis.cgPasswordForm = this.fB.group({\r\n\t\r\n\t\t\toldPassword: ['', [Validators.required, Validators.minLength(8)]],\r\n\t\t\tnewPassword: ['', [Validators.required, Validators.minLength(8),NotSameAsOld(oldPassword),Validators.pattern('^(?=.*?[a-zA-Z])(?=.*?[0-9])(?=.*?[@#%$])[a-zA-Z0-9@#%$]{8,16}$')]],\r\n\t\t\tconfirmPassword: ['', [Validators.required, Validators.minLength(8)]]\r\n\t\t});\r\n\r\n\t\tthis.statusAlert = {\r\n\t\t\tstatus: 3,\r\n\t\t\tmessage: ''\r\n\t\t};\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n\t/**\r\n\t * submit form details registration process\r\n\t */\r\n\tsubmitDetails() {\r\n\t\t\r\n\r\n\t\tif (this.cgPasswordForm.valid) {\r\n\r\n\t\t\tconst apiUrl = environment.RYEC_API_URL + 'changepassword';\r\n\r\n\t\t\tthis.hS.post(apiUrl, this.cgPasswordForm.value).subscribe((res: any) => {\r\n\r\n\t\t\t\tif (res.status === 1) {\r\n\t\t\t\t\tthis.statusAlert = {\r\n\t\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\t\tmessage: res.message\r\n\t\t\t\t\t};\r\n\t\t\t\t\t// successful change password navigate to login\r\n\t\t\t\t\tthis.cS.navigateTo('/login');\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.statusAlert = {\r\n\t\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\t\tmessage: res.message\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}, (err: { error: { status: any; message: any; }; }) => {\r\n\t\t\t\tif (err.error) {\r\n\t\t\t\t\tthis.statusAlert = {\r\n\t\t\t\t\t\tstatus: err.error.status,\r\n\t\t\t\t\t\tmessage: err.error.message\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tObject.keys(this.cgPasswordForm.controls).forEach(field => {\r\n\t\t\t\tconst control = this.cgPasswordForm.get(field);\r\n\t\t\t\tif (control) {\r\n\t\t\t\t\tcontrol.markAsTouched({ onlySelf: true });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t\"user_profile\"\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\"plus-icon\"\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{{'ang_personalprofile' | translate}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{{ 'ang_usernamevalidation' | translate}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{{ 'ang_emailvalidation' | translate}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ \"ang_invalidPincodeValidation\" | translate }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ 'ang_pincodeValidation' | translate}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

{{ 'ang_cityValidation' | translate}}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ 'ang_countryValidation' | translate}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ 'ang_stateValidation' | translate}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ 'ang_stateValidation' | translate}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ 'ang_stateValidation' | translate}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tProfile {{statusAlert.message}}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{{statusAlert.message}}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\r\n\t
\r\n\t\t\t
{{'ang_profilepic' | translate}}
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n
","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\n \r\n \r\nimport { environment } from '../../../../environments/environment';\r\nimport { UserProfile } from 'src/app/shared/class/data.model';\r\n//import { MatSnackBar } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\n\r\n@Component({\r\n\tselector: 'ryec-user-profile',\r\n\ttemplateUrl: './user-profile.component.html',\r\n\tstyleUrls: ['./user-profile.component.css']\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n\r\n\t@ViewChild('userProfile')\r\n\tuserProfileRef!: ElementRef;\r\n\t@ViewChild('userProfileImage')\r\n\tuserProfileImageRef!:ElementRef;\r\n\r\n\tprofileForm:any= FormGroup;\r\n\tstatusAlert: {\r\n\t\tstatus: 1 | 0 | 3,\r\n\t\tmessage: string\r\n\t};\r\n\tcountryCodes: any;\r\n\timageChangedEvent: any = '';\r\n\tcroppedImage: any;\r\n\tmodalReference: any;\r\n\tlocationsList: any[] = [];\r\n\tisLocationNotFound: boolean = false;\r\n\r\n\tappName = environment.APP_NAME;\r\n\r\n\tconstructor(private fB: FormBuilder,\r\n\t\tprivate hS: HttpService,\r\n\t\tprivate hmS: HomeService,\r\n\t\tprivate configDP: NgbDatepickerConfig,\r\n\t\tprivate cS: CommonService,\r\n\t\tprivate router: Router,\r\n\t\tprivate mS: MessageService,\r\n\t\tprivate modalService: NgbModal) {\r\n\r\n\t\tthis.profileForm = this.fB.group({\r\n\t\t\tpersonal: this.personalDetailForm()\r\n\t\t});\r\n\r\n\t\tthis.statusAlert = {\r\n\t\t\tstatus: 3,\r\n\t\t\tmessage: ''\r\n\t\t};\r\n\t\t// mark disabled date\r\n\r\n\t\tconst d = new Date();\r\n\t\tthis.configDP.minDate = { year: 1900, month: 1, day: 1 };\r\n\t\tthis.configDP.maxDate = { year: d.getFullYear(), month: d.getMonth() + 1, day: d.getDate() };\r\n\t}\r\n\r\n\tpersonalDetailForm(): FormGroup {\r\n\t\tconst EMAIL_REGEXP = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n\t\treturn this.fB.group({\r\n\t\t\tname: [null, Validators.compose([Validators.required])],\r\n\t\t\temail: [null, Validators.compose([Validators.pattern(EMAIL_REGEXP)])],\r\n\t\t\tphone: [null, Validators.compose([Validators.required,\r\n\t\t\tValidators.maxLength(13),\r\n\t\t\tValidators.minLength(6),\r\n\t\t\tValidators.pattern('^[0-9]+$')])],\r\n\t\t\tdob: [null],\r\n\t\t\tpincode: [\"\"],\r\n\t\t\tcountry: [\"\"],\r\n\t\t\tstate: [\"\"],\r\n\t\t\tdistrict: [\"\"],\r\n\t\t\tcity: [\"\"],\r\n\t\t\tlocation_id: [null],\r\n\t\t\tgender: ['1'],\r\n\t\t\tnotification: [null],\r\n\t\t\tcountry_code: ['+91']\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.getProfile();\r\n\t\tthis.hmS.getCountryCode().subscribe((res: any) => {\r\n\t\t\tthis.countryCodes = res['data'];\r\n\t\t\tconsole.log(res);\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err)\r\n\t\t});\r\n\t\tconsole.log('this.')\r\n\t}\r\n\r\n\t/**\r\n\t * submit form details\r\n\t */\r\n\tsubmitDetail() {\r\n\t\tif (this.profileForm.valid) {\r\n\t\t\tconst apiUrl = environment.RYEC_API_URL + 'saveprofile';\r\n\t\t\tconst personalVal = this.profileForm.value.personal;\r\n\r\n\t\t\tpersonalVal.dob = (personalVal.dob) ? personalVal.dob.year + '-' + personalVal.dob.month + '-' + personalVal.dob.day : null;\r\n\r\n\t\t\t// const splitVal = personalVal.phone.split('-');\r\n\t\t\t// personalVal.phone = splitVal[1];\r\n\t\t\t// personalVal.country_code = splitVal[0];\r\n\r\n\t\t\tthis.hS.post(apiUrl, personalVal).subscribe((res: any) => {\r\n\t\t\t\tif (res && res.status === 1) {\r\n\t\t\t\t\tthis.mS.setProfile(res.data);\r\n\t\t\t\t\tthis.cS.setUserDetails(res.data);\r\n\t\t\t\t\tthis.cS.showSuccess(res.message);\r\n\t\t\t\t\tthis.cS.navigateTo('/home');\r\n\t\t\t\t}\r\n\t\t\t}, err => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.profileForm.markAsTouched();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * get Profile data\r\n\t */\r\n\tgetProfile(): void {\r\n\t\tconst uri = environment.RYEC_API_URL + 'getprofile';\r\n\t\tthis.hS.get(uri).subscribe((res: any) => {\r\n\t\t\tthis.setProfileData(res.data);\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\tsetProfileData(res: UserProfile) {\r\n\t\tif (res && res.profile_pic_thumbnail) {\r\n\t\t\tthis.setProfilePic(res.profile_pic_thumbnail);\r\n\t\t}\r\n\t\tif(res && res.pincode){\r\n\t\t\tthis.locationSearch(res.pincode)\r\n\t\t}\r\n\t\tthis.profileForm.patchValue({\r\n\t\t\tpersonal: {\r\n\t\t\t\tname: res.name,\r\n\t\t\t\temail: res.email,\r\n\t\t\t\t// phone: res.country_code + \"-\" + res.phone,\r\n\t\t\t\tphone: res.phone,\r\n\t\t\t\tdob: this.getdobModelVal(res.dob),\r\n\t\t\t\tlocation_id: res.location_id,\r\n\t\t\t\tpincode: res.pincode,\r\n\t\t\t\tcountry: res.country,\r\n\t\t\t\tstate: res.state,\r\n\t\t\t\tdistrict: res.district,\r\n\t\t\t\tcity: res.city,\r\n\t\t\t\tgender: (res.gender === 0) ? '1' : res.gender.toString(),\r\n\t\t\t\tnotification: res.notification\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetdobModelVal(val: string | null) {\r\n\t\tif (val) {\r\n\t\t\tconst arr = this.splitString(val, '-');\r\n\t\t\treturn {\r\n\t\t\t\tyear: parseInt(arr[0], 10),\r\n\t\t\t\tmonth: parseInt(arr[1], 10),\r\n\t\t\t\tday: parseInt(arr[2], 10)\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn null;\r\n\r\n\t}\r\n\tsplitString(stringToSplit: string, Seperator: string): Array {\r\n\r\n\t\treturn stringToSplit.split(Seperator);\r\n\t}\r\n\r\n\ttriggerUpload() {\r\n\t\tthis.userProfileRef.nativeElement.click();\r\n\t}\r\n\r\n\t/**\r\n\t * Upload User Profile Pic\r\n\t * @param event \r\n\t */\r\n\tuploadProfilePic(event: any, content: any) {\r\n\t\t//console.log(event.srcElement.files[0]);\r\n\t\tconst srcEle = event.srcElement;\r\n\t\tif (srcEle.files && srcEle.files[0]) {\r\n\t\t\tif (this.cS.checkValidImage(srcEle.files[0])) {\r\n\t\t\t\tthis.imageChangedEvent = event;\r\n\t\t\t\tthis.modalReference = this.modalService.open(content);\r\n\t\t\t\tthis.modalReference.result.then((result: any) => {\r\n\t\t\t\t\tconsole.log(`Closed with: ${result}`);\r\n\t\t\t\t}, (reason: any) => {\r\n\t\t\t\t\tconsole.log(reason);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.cS.showError('Please select valid image.');\r\n\t\t\t}\r\n\t\t}\r\n\t\t// const srcEle = event.srcElement;\r\n\t\t// if (srcEle.files && srcEle.files[0]) {\r\n\t\t// \tif (this.cS.checkValidImage(srcEle.files[0])) {\r\n\t\t// \t\tconst formData = new FormData();\r\n\t\t// \t\tformData.append('profile_pic', srcEle.files[0]);\r\n\r\n\t\t// \t\tconst apiUrl = environment.RYEC_API_URL + 'saveProfilePicture';\r\n\r\n\t\t// \t\tthis.hS.postUpload(apiUrl, formData).subscribe(res => {\r\n\t\t// \t\t\tif (res.data && res.data.profile_pic_thumbnail) {\r\n\t\t// \t\t\t\tthis.setProfilePic(res.data.profile_pic_thumbnail);\r\n\t\t// \t\t\t\tthis.mS.setProfile(res.data);\r\n\t\t// \t\t\t\tthis.cS.setUserDetails(res.data);\r\n\t\t// \t\t\t}\r\n\t\t// \t\t}, err => {\r\n\t\t// \t\t\tconsole.log(err);\r\n\t\t// \t\t});\r\n\t\t// \t} else {\r\n\t\t// \t\tconsole.log('invalid');\r\n\t\t// \t\t// const snackBarRef = this.snackBar.open('Please upload valid image.', 'Ok', {\r\n\t\t// \t\t// \tverticalPosition: 'bottom'\r\n\t\t// \t\t// });\r\n\r\n\t\t// \t\t// snackBarRef.afterDismissed().subscribe(() => {\r\n\t\t// \t\t// \tconsole.log('Close');\r\n\t\t// \t\t// });\r\n\t\t// \t\tthis.cS.showError('Please select file less than 5MB.');\r\n\t\t// \t}\r\n\t\t// }\r\n\t}\r\n\r\n\tsetProfilePic(url: string) {\r\n\t\tthis.userProfileImageRef.nativeElement.src = url;\r\n\t}\r\n\r\n\tcancelUserProfile() {\r\n\t\tthis.router.navigateByUrl('/home');\r\n\t}\r\n\r\n\timageCropped(image: any) {\r\n\t\tthis.croppedImage = image;\r\n\t}\r\n\r\n\timageLoaded() {\r\n\t\t// show cropper\r\n\t}\r\n\tloadImageFailed() {\r\n\t\t// show message\r\n\t}\r\n\r\n\tsendCropImage() {\r\n\t\t//console.log(this.modalService);\r\n\t\tconsole.log(this.croppedImage);\r\n\t\tconst block = this.croppedImage.base64.split(';');\r\n\t\tconst contentType = block[0].split(':')[1];\r\n\t\tconst realData = block[1].split(',')[1];\r\n\r\n\t\tconst blob = this.cS.b64toBlob(realData, contentType);\r\n\t\tthis.modalReference.close();\r\n\t\tconst formData = new FormData();\r\n\t\tformData.append('profile_pic', blob);\r\n\r\n\t\tconst apiUrl = environment.RYEC_API_URL + 'saveProfilePicture';\r\n\r\n\t\tthis.hS.postUpload(apiUrl, formData).subscribe((res:any) => {\r\n\t\t\tif (res.data && res.data.profile_pic_thumbnail) {\r\n\t\t\t\tthis.setProfilePic(res.data.profile_pic_thumbnail);\r\n\t\t\t\tthis.mS.setProfile(res.data);\r\n\t\t\t\tthis.cS.setUserDetails(res.data);\r\n\t\t\t\tthis.cS.showSuccess(res.message);\r\n\t\t\t}\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tlocationSearch(event: any) {\r\n const val = event;\r\n if (val.length >= 6) {\r\n const postJson = { pincode: val };\r\n this.hmS.getLocationByPinCode(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n this.locationsList = res.data;\r\n\t\t\t\t\t\tthis.isLocationNotFound = false;\r\n } else {\r\n this.locationsList = [];\r\n\t\t\t\t\t\tthis.isLocationNotFound = true;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n\tnumberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard } from 'src/app/shared/guard/auth.guard';\r\nimport { AddOwnerComponent } from './add-owner/add-owner.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { UserProfileComponent } from './user-profile/user-profile.component';\r\nimport { UserComponent } from './user.component';\r\n\r\nconst routes: Routes = [{ path: '', \r\ncomponent: UserComponent,\r\ncanActivate: [AuthGuard],\r\ncanLoad: [AuthGuard],\r\ncanActivateChild: [AuthGuard],\r\n children: [\r\n { path: '', redirectTo: '/user/profile', pathMatch: 'full' },\r\n { path: 'user/profile', component: UserProfileComponent, data: { title: 'MyRajasthanClub - User Profile' } },\r\n { path: 'user/change-password', component: ChangePasswordComponent, data: { title: 'MyRajasthanClub - Change Password' } },\r\n { path: 'user/add-owner', component: AddOwnerComponent, data: { title: 'MyRajasthanClub - Add Owner' } }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class UserRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user.component.html',\r\n styleUrls: ['./user.component.css']\r\n})\r\nexport class UserComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { UserRoutingModule } from './user-routing.module';\r\nimport { UserComponent } from './user.component';\r\nimport { AddOwnerComponent } from './add-owner/add-owner.component';\r\n\r\nimport { editUserProfileComponent } from './user-profile/edit-user-profile/edit-user-profile.component';\r\n\r\n\r\nimport { groupsUserProfileComponent } from './user-profile/groups-user-profile/groups-user-profile.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ImageCropperModule } from \"ngx-image-cropper\";\r\nimport { SharedModule } from 'src/app/shared/module/shared/shared.module';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { aboutUserProfileComponent } from './user-profile/about-user-profile/about-user-profile.component';\r\nimport { UserProfileComponent } from './user-profile/user-profile.component';\r\nimport { postUserProfileComponent } from './user-profile/post-user-profile/post-user-profile.component';\r\nimport { settingsUserProfileComponent } from './user-profile/settings-user-profile/settings-user-profile.component';\r\n\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n UserComponent,\r\n UserProfileComponent,\r\n AddOwnerComponent,\r\n aboutUserProfileComponent,\r\n editUserProfileComponent,\r\n postUserProfileComponent,\r\n settingsUserProfileComponent,\r\n groupsUserProfileComponent,\r\n ChangePasswordComponent,\r\n\r\n ],\r\n imports: [\r\n PerfectScrollbarModule,\r\n NgbModule,\r\n FormsModule,\r\n SharedModule,\r\n CommonModule,\r\n UserRoutingModule,\r\n ImageCropperModule,\r\n \r\n ],\r\n providers: [\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: PERFECT_SCROLLBAR_CONFIG\r\n }\r\n\r\n ]\r\n\r\n})\r\n\r\nexport class UserModule { }\r\n","
\r\n \r\n

Join {{ groupName }}

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Code is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{ dynamicExtraFieldLabel }} is required
\r\n
\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, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HttpService } from '../../services/http.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ryec-group-join-verification-modal',\r\n templateUrl: './group-join-verification-modal.component.html',\r\n styleUrls: ['./group-join-verification-modal.component.css']\r\n})\r\nexport class GroupJoinVerificationModalComponent implements OnInit {\r\n @Input() groupId: number = 0;\r\n @Input() groupName: string = \"\";\r\n @Input() dynamicExtraFieldLabel: string = \"\";\r\n verificationModel: any = {};\r\n isSubmit: boolean = false;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.verificationModel.site_id = this.groupId;\r\n this.verificationModel.type = 'join';\r\n this.verificationModel.security_code = \"\";\r\n this.verificationModel.dynamic_field_value = \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'joinOrLeaveSite';\r\n this.httpS.post(apiUrl, this.verificationModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.isSubmit = false;\r\n this.cS.showSuccess(res.message);\r\n this.activeModal.dismiss('close');\r\n }\r\n else {\r\n this.isSubmit = false;\r\n this.cS.showError(res.message);\r\n }\r\n // this.activeModal.close();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Tagged Users

\r\n

Liked Users

\r\n

Shared Users

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"user\"/\r\n \"{{\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{ item.user.name }}\r\n \r\n | \r\n \r\n {{ item.user.singlebusiness.name }}\r\n \r\n \r\n {{ item.user.name }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 && loadType == 'loadPostLikedUsers' || loadType == 'loadPostSharedUsers'\">\r\n \r\n
\r\n \r\n
\r\n

No users found..

\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HomeService } from '../../services/home.service';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-group-post-liked-shared-tagged-users-list-modal',\r\n templateUrl: './group-post-liked-shared-tagged-users-list-modal.component.html',\r\n styleUrls: ['./group-post-liked-shared-tagged-users-list-modal.component.css']\r\n})\r\nexport class GroupPostLikedSharedTaggedUsersListModalComponent implements OnInit {\r\n @Input() usersList: any[] = [];\r\n @Input() loadType: string = \"\";\r\n @Input() postId: number = 0;\r\n currentPage: number = 0;\r\n userListModel: any[] = [];\r\n perPageList = environment.USERS_LIST_LIMIT;\r\n totalsUserCount: number = 0;\r\n noData: boolean = false;\r\n collectionSize: number = 0;\r\n first: number = 1;\r\n last: number = 0;\r\n maxSize: number = 5;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n ) {\r\n this.currentPage = 1;\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPage = 1;\r\n if (this.postId && this.loadType == 'loadPostLikedUsers' || this.loadType == 'loadPostSharedUsers') {\r\n this.getLikedUsersList(this.postId);\r\n }\r\n else if (this.loadType == 'taggedUsers') {\r\n this.userListModel = this.usersList;\r\n }\r\n }\r\n\r\n getLikedUsersList(postId: number) {\r\n let postJson: PostJsonBusinessList;\r\n if (this.loadType == 'loadPostSharedUsers') {\r\n postJson = {\r\n post_id: postId,\r\n page: this.currentPage,\r\n limit: this.perPageList,\r\n share: true\r\n }\r\n }\r\n else{\r\n postJson = {\r\n post_id: postId,\r\n page: this.currentPage,\r\n limit: this.perPageList\r\n }\r\n }\r\n // const postJson: PostJsonBusinessList = {\r\n // post_id: postId,\r\n // page: this.currentPage,\r\n // limit: this.perPageList\r\n // };\r\n this.hS.getPostLikedUsersList(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.userListModel = res.data;\r\n this.totalsUserCount = res.total;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.userListModel = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalsUserCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalsUserCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.userListModel.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.userListModel.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalsUserCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalsUserCount == 0 || this.totalsUserCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n // this.showBusinessOnMap();\r\n }\r\n\r\n getNextPageBusinessList(): void {\r\n this.getLikedUsersList(this.postId);\r\n }\r\n\r\n}\r\n","
\r\n

{{ \"ang_reportBusinessTitle\" | translate }}

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'ang_reportBusinessSubTitle' | translate }}\r\n
\r\n

\r\n {{'ang_reportBusinessSubTitleDesc' | 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 ","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HomeService } from '../../services/home.service';\r\nimport { HttpService } from '../../services/http.service';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-report-business-modal',\r\n templateUrl: './report-business-modal.component.html',\r\n styleUrls: ['./report-business-modal.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ReportBusinessModalComponent implements OnInit {\r\n\r\n @Input() assetTypeId: number = 0;\r\n @Input() entityId: number = 0;\r\n @Input() postId: number = 0;\r\n @Input() groupId: number = 0;\r\n @Input() type: string = \"\";\r\n\r\n appName = environment.APP_NAME;\r\n reasonsList: any[] = [];\r\n reportReasonModel: any = {};\r\n selected: any[] = [];\r\n isSubmit: boolean = false;\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private homeService: HomeService,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.assetTypeId || this.type) {\r\n this.getReportReasonLists(this.assetTypeId);\r\n }\r\n this.reportReasonModel.reason_id = [];\r\n this.reportReasonModel.comment = \"\";\r\n }\r\n\r\n getReportReasonLists(assetTypeId: number): void {\r\n let postJson: any;\r\n if(this.type == 'Post'){\r\n postJson = { type: this.type };\r\n }\r\n else if(this.type == 'group'){\r\n postJson = { type: this.type };\r\n }\r\n else{\r\n postJson = { asset_type_id: assetTypeId };\r\n }\r\n\r\n this.homeService.getReasonsByEntityTypeByAssetsId(postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.reasonsList = res.data;\r\n }\r\n else{\r\n this.reasonsList = [];\r\n }\r\n });\r\n }\r\n\r\n // check if the item are selected\r\n checked(item: any) {\r\n if (this.selected.indexOf(item.id) != -1) {\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n\r\n // when checkbox change, add/remove the item from the array\r\n onChange(checked: any, item: any) {\r\n if (checked) {\r\n this.selected.push(item.id);\r\n } else {\r\n this.selected.splice(this.selected.indexOf(item.id), 1);\r\n }\r\n }\r\n\r\n submitReason() {\r\n this.isSubmit = true;\r\n\r\n let apiPath: any;\r\n if(this.type == 'Post'){\r\n this.reportReasonModel.post_id = this.postId;\r\n if(this.groupId){ //if report on group post then pass groupid also\r\n this.reportReasonModel.site_id = this.groupId;\r\n }\r\n this.reportReasonModel.asset_type_id = this.reasonsList[0].asset_type_id;\r\n apiPath = 'reportPost'; //if report for post\r\n }\r\n else if(this.type == 'group'){\r\n this.reportReasonModel.entity_id = this.groupId;\r\n this.reportReasonModel.type = 'group'; //hard coded due to backend side site is use for submit @Yuvraj 14/07/2022\r\n this.reportReasonModel.asset_type_id = this.reasonsList[0].asset_type_id;\r\n apiPath = 'reportEntity'; //if report for business\r\n }\r\n else{\r\n this.reportReasonModel.entity_id = this.entityId;\r\n this.reportReasonModel.asset_type_id = this.assetTypeId;\r\n apiPath = 'reportEntity'; //if report for business\r\n }\r\n\r\n this.reportReasonModel.reason_id = this.selected;\r\n if (this.reportReasonModel.reason_id.length >= 1 && this.reportReasonModel.comment != \"\") {\r\n const apiUrl = environment.RYEC_API_URL + apiPath;\r\n this.httpS.post(apiUrl, this.reportReasonModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n this.activeModal.close();\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n else {\r\n this.isSubmit = false;\r\n if (this.reportReasonModel.reason_id.length > 3) {\r\n this.cS.showError('You can only select any 3 reasons only');\r\n }\r\n if (this.reportReasonModel.reason_id.length == 0) {\r\n this.cS.showError('Please select at least any one reasone');\r\n }\r\n if (this.reportReasonModel.comment == \"\") {\r\n this.cS.showError('Please enter comment');\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, CanLoad, Route, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate, CanLoad, CanActivateChild {\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router\r\n ) { }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n\r\n\t\tconsole.log(route);\r\n console.log(state);\r\n // Jigar's code\r\n let str = state['url'].split(\"/\");\r\n if (!str[2]) {\r\n str[2] = 'dumy';\r\n }\r\n switch (str[2]) {\r\n case 'market-place':\r\n case 'market-place-detail':\r\n case 'create-market-place':\r\n case 'edit-market-place':\r\n console.log('on default');\r\n break;\r\n default:\r\n console.log('default');\r\n localStorage.removeItem('setFilters');\r\n }\r\n // -- //\r\n\t\tif (this.authService.isLoggedIn()) {\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\t// do something if not logged in\r\n\t\tconsole.log(state.url);\r\n\t\tthis.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});\r\n\t\t//this.router.navigate(['login']);\r\n\t\treturn false;\r\n\t}\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n return this.canActivate(childRoute, state);\r\n }\r\n\r\n canLoad(route: Route): boolean | Observable | Promise {\r\n console.log(route);\r\n if (this.authService.isLoggedIn()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","export class GroupModel {\r\n name: string;\r\n visibility: boolean;\r\n images: any = [];\r\n logo: string;\r\n description: string;\r\n asset_type_id: number;\r\n is_enable_request: boolean;\r\n is_security_code: boolean;\r\n is_post_moderate: boolean;\r\n dynamic_field_label: string;\r\n is_agree: boolean;\r\n constructor() {\r\n this.name = \"\";\r\n this.visibility = false;\r\n this.images = [];\r\n this.logo = \"\";\r\n this.description = \"\";\r\n this.is_enable_request = false;\r\n this.is_security_code = false;\r\n this.is_post_moderate = false;\r\n this.asset_type_id = null as any;\r\n this.is_agree = false;\r\n this.dynamic_field_label = \"\";\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PerfectScrollbarConfigInterface, PerfectScrollbarModule, PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true,\r\n wheelPropagation: true,\r\n};\r\n// export function HttpLoaderFactory(http: HttpClient) {\r\n// return new TranslateHttpLoader(http, \"./assets/i18n/\", \".json\");\r\n// }\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n PerfectScrollbarModule,\r\n CommonModule,\r\n FormsModule,\r\n TranslateModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RouterModule,\r\n TranslateModule,\r\n ],\r\n providers: [\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,\r\n },\r\n ],\r\n})\r\nexport class SharedModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpService } from '../services/http.service';\r\n \r\n \r\n\r\n@Injectable()\r\nexport class ApiResolver implements Resolve> {\r\n\r\n constructor(private hS: HttpService) { }\r\n\r\n /*\r\n *reslover for get sub-category list if exist then return data otherwise redirect to business listing page\r\n *@return array of data\r\n */\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n\r\n const parentCategory = route.paramMap.get('slug');\r\n const url = environment.RYEC_API_URL + 'getSubCategory';\r\n const postJson = { category_slug: parentCategory };\r\n return this.hS.post(url, postJson);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MessageService } from './message.service';\r\n \r\n\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n\tredirectUrl: string;\r\n\tauthToken: any;\r\n\r\n\tconstructor(private route: Router,\r\n\t\tprivate mS: MessageService) {\r\n\t\tthis.redirectUrl = '/';\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\treturn localStorage.getItem('token') && localStorage.getItem('user') ? true : false;\r\n\t}\r\n\r\n\t// get local storage token\r\n\tgetToken(): string | null {\r\n\t\tif (this.authToken) {\r\n\t\t\treturn this.authToken;\r\n\t\t} else {\r\n\t\t\treturn localStorage.getItem('token') ? localStorage.getItem('token') : null;\r\n\t\t}\r\n\t}\r\n\r\n\t// set token in localstorage\r\n\tsetToken(token: string): void {\r\n\t\tthis.mS.setLoggedIn(true);\r\n\t\tthis.authToken = token;\r\n\t\tlocalStorage.setItem('token', token);\r\n\t}\r\n\r\n\t// logout method\r\n\tlogout(): void {\r\n\t\tthis.mS.setLoggedIn(false);\r\n\t\tthis.clearStorage();\r\n\r\n\t\t// hide register business option\r\n\t\tthis.mS.setRegisterbusiness(true);\r\n\t\tthis.redirectToLogin();\r\n\t}\r\n\r\n\t/**\r\n\t * Clear local storage data\r\n\t * @param\r\n\t*/\r\n\tclearStorage(): void {\r\n\t\tlocalStorage.removeItem('token');\r\n\t\tlocalStorage.removeItem('user');\r\n\t\tlocalStorage.removeItem('business_flag');\r\n\t\tlocalStorage.removeItem('lang');\r\n\t\tlocalStorage.removeItem('isAgent');\r\n\t\t//localStorage.removeItem('latitude');\r\n\t\t//localStorage.removeItem('longitude');\r\n\t\tlocalStorage.removeItem('member_id');\r\n\t\tlocalStorage.removeItem('member_mobile');\r\n\t\tlocalStorage.removeItem('business_name');\r\n\t\tlocalStorage.removeItem('isRajput');\r\n\t}\r\n\r\n\tredirectToLogin(): void {\r\n\t\t// this.route.navigate(['login']);\r\n\t\tthis.route.navigate(['home']);\r\n\t}\r\n\r\n\tcheckTypeAuth(err: any): boolean {\r\n\t\tif (err.message === 'Failed to validating token.') {\r\n\t\t\treturn err.message === 'Failed to validating token.';\r\n\t\t} else if (err.message === 'Invalid Token.') {\r\n\t\t\treturn err.message === 'Invalid Token.';\r\n\t\t} else if (err.message === 'Token Expired.') {\r\n\t\t\treturn err.message === 'Token Expired.';\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n}","import { Injectable } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { BusinessFlag, SignUpLoginSubRes } from '../class/data.model';\r\nimport { ToastrService } from 'ngx-toastr'; \r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n businessModel: BusinessFlag;\r\n private messageSource = new BehaviorSubject('default message');\r\n currentMessage = this.messageSource.asObservable();\r\n parentCategoryList: Array<{ category_id: '', category_slug: '', name: '' }> = [];\r\n\r\n constructor( public route: Router,\r\n // public toastr: ToastsManager\r\n public toastr: ToastrService\r\n ) {\r\n this.businessModel = {\r\n is_Register: false,\r\n skipped: false,\r\n country_code: ''\r\n };\r\n }\r\n\r\n updateLatLong(lat: any, long: any) {\r\n this.messageSource.next(lat + ',' + long);\r\n }\r\n\r\n // set mob number\r\n setUserDetails(val: SignUpLoginSubRes): void {\r\n localStorage.setItem('user', JSON.stringify(val));\r\n }\r\n\r\n // get mob number\r\n getUserDetails(): SignUpLoginSubRes | null {\r\n const userDetails = localStorage.getItem('user');\r\n if (userDetails) {\r\n return JSON.parse(userDetails);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // isBusinessRegister Method to check is Business Register or is skipped if yes then return false else true\r\n isBusinessRegister(): boolean {\r\n const business = localStorage.getItem('business_flag');\r\n\r\n if (business) {\r\n const business_flag = JSON.parse(business);\r\n return business_flag.is_Register;\r\n }\r\n return false;\r\n }\r\n\r\n isBusinessRegisterSkipped(): boolean {\r\n const business = localStorage.getItem('business_flag');\r\n if (business) {\r\n const business_flag = JSON.parse(business);\r\n return business_flag.skipped ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n setBusinessRegiFlag(): void {\r\n localStorage.setItem('business_flag', JSON.stringify(this.businessModel));\r\n }\r\n\r\n getBusinessDetail() {\r\n const business = localStorage.getItem('business_flag');\r\n if (business) {\r\n const business_flag = JSON.parse(business);\r\n return business_flag;\r\n }\r\n return [];\r\n }\r\n\r\n // set language preference\r\n setLang(lang: string) {\r\n localStorage.setItem('lang', lang);\r\n }\r\n\r\n // retrive lang prefrence\r\n getLang(): string {\r\n const lang = localStorage.getItem('lang');\r\n // if set then return othewise lang will be en by default\r\n return lang ? lang : 'en';\r\n }\r\n \r\n\r\n // navigate to link\r\n navigateTo(link: string) {\r\n this.route.navigate([link]);\r\n }\r\n\r\n onReturnRedirect(redirectLink: string) {\r\n this.route.navigate(['/login'], { queryParams: { returnUrl: redirectLink } });\r\n }\r\n\r\n /**\r\n *Check image file type and image size\r\n */\r\n checkValidImage(image: File): boolean {\r\n if (image.name.match(/\\.(jpg|png|jpeg|bmp|svg)$/i)) {\r\n console.log(image.size);\r\n // if (image.size <= 5000000) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n checkValidDocSize(file: File): boolean {\r\n if (file.size <= 2000000) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n *componenet scroll to top\r\n */\r\n scrollTop() {\r\n document.body.scrollTop = document.documentElement.scrollTop = 0;\r\n }\r\n\r\n /**\r\n *show success toast message\r\n */\r\n showSuccess(message: string): void {\r\n // console.log(message);\r\n //alert(message + 'Success!');\r\n \r\n this.toastr.success(message, 'Success!');\r\n }\r\n \r\n\r\n /**\r\n *show error toast message\r\n */\r\n showError(message: string): void {\r\n // alert(message + 'Oops!');\r\n this.toastr.error(message, 'Oops!');\r\n }\r\n\r\n /**\r\n *show Information toast message\r\n */\r\n showInfo(message: string): void {\r\n //alert(message + '');\r\n this.toastr.info(message, '');\r\n }\r\n\r\n /**\r\n * common method to set any data with key to storage\r\n * @returns void\r\n */\r\n setData(key: string, val: any): void {\r\n localStorage.setItem(key, val);\r\n }\r\n\r\n /**\r\n * common method to retirve any data with key from storage\r\n * @param key \r\n * @return any | null\r\n */\r\n getData(key: string): any | null {\r\n return localStorage.getItem(key) ? localStorage.getItem(key) : null;\r\n }\r\n\r\n /**\r\n * Trigger validation on FormGroup While submit\r\n * @param Fg \r\n */\r\n triggerValidation(Fg: FormGroup) {\r\n Object.keys(Fg.controls).forEach(field => {\r\n const control = Fg.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.triggerValidation(control);\r\n }\r\n });\r\n }\r\n\r\n setParentCategory(item: any) {\r\n this.parentCategoryList.push({\r\n category_id: item['category_id'],\r\n category_slug: item['category_slug'],\r\n name: item['name']\r\n });\r\n localStorage.setItem('parent-category', JSON.stringify(this.parentCategoryList));\r\n }\r\n\r\n b64toBlob(b64Data: string, contentType: any, sliceSize?: any) {\r\n contentType = contentType || '';\r\n sliceSize = sliceSize || 512;\r\n\r\n const byteCharacters = atob(b64Data);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n const slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n const blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport {\r\n CategorieMenuRes,\r\n TrendingServiceRes,\r\n BusinessRes,\r\n BusinessListDetailsRes,\r\n BusinessTemplateDetailsRes,\r\n ProductDetailRes,\r\n ServiceDetailRes,\r\n InvestmentOpportunityRes,\r\n BusinessRatingRes,\r\n PostJsonBusinessList,\r\n MarketPlaceListRes,\r\n PostJsonMarketPlaceList,\r\n MarketPlaceDetailRes,\r\n} from \"src/app/shared/class/data.model\";\r\n \r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { CommonService } from \"./common.service\";\r\n// import { environment } from '../../../environments/environment';\r\n// import { CategorieMenuRes } from './../../class/data.model';\r\n\r\n@Injectable()\r\nexport class HomeService {\r\n public menuCategories: CategorieMenuRes;\r\n public trendingServicesList: TrendingServiceRes;\r\n public trendingCategoryList: TrendingServiceRes;\r\n public promotedBusinessList: BusinessRes;\r\n public investmentOpportunityList: InvestmentOpportunityRes;\r\n public recentlyAddedBusinessList: BusinessRes;\r\n public popularBusinessList: BusinessRes;\r\n public premiumBusinessList: BusinessRes;\r\n\r\n HttpHeaderOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n }),\r\n };\r\n\r\n constructor(private hC: HttpClient, private cS: CommonService) {\r\n this.menuCategories = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n\r\n this.trendingServicesList = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n\r\n this.trendingCategoryList = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n\r\n this.promotedBusinessList = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n\r\n this.premiumBusinessList = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n\r\n this.investmentOpportunityList = {\r\n status: 0,\r\n message: \"\",\r\n loadMore: 0,\r\n data: [],\r\n };\r\n\r\n this.recentlyAddedBusinessList = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n\r\n this.popularBusinessList = {\r\n status: 0,\r\n message: \"\",\r\n data: [],\r\n };\r\n }\r\n\r\n private getBaseUrl() {\r\n return (\r\n location.protocol +\r\n \"//\" +\r\n location.hostname +\r\n (location.port ? \":\" + location.port : \"\") +\r\n \"/\"\r\n );\r\n }\r\n\r\n public getPrivacyPolicyRYC(): Observable {\r\n return this.hC.get(\r\n this.getBaseUrl() + \"assets/json/ryc-privacy-policy.json\"\r\n );\r\n }\r\n\r\n public getPrivacyPolicyMRC(): Observable {\r\n return this.hC.get(\r\n this.getBaseUrl() + \"assets/json/mrc-privacy-policy.json\"\r\n );\r\n }\r\n /**\r\n * Get Trending service listing\r\n * @returns Observable\r\n */\r\n getTrendingServiceListing(limit?: number): Observable {\r\n let url = `${environment.RYEC_API_URL}getTrendingServices`;\r\n if (limit) {\r\n url = `${environment.RYEC_API_URL}getTrendingServices?limit=${limit}`;\r\n }\r\n return this.hC\r\n .get(url)\r\n .map((res: TrendingServiceRes) => {\r\n this.trendingServicesList = res;\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Trending Category listing\r\n * @returns Observable\r\n */\r\n getTrendingCategorieListing(limit?: number): Observable {\r\n let url = `${environment.RYEC_API_URL}getTrendingCategories`;\r\n if (limit) {\r\n url = `${environment.RYEC_API_URL}getTrendingCategories?limit=${limit}`;\r\n }\r\n return this.hC\r\n .get(url)\r\n .map((res: TrendingServiceRes) => {\r\n this.trendingCategoryList = res;\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Promoted Business listing\r\n * @returns Observable\r\n */\r\n getPromotedBusinessListing(\r\n postJson?: any\r\n ): Observable {\r\n let body = \"\";\r\n\r\n if (postJson) {\r\n for (const key in postJson) {\r\n if (postJson.hasOwnProperty(key)) {\r\n body += key + \"=\" + postJson[key] + \"&\";\r\n }\r\n }\r\n }\r\n const url = environment.RYEC_API_URL + \"getPromotedBusinesses?\" + body;\r\n\r\n return this.hC.get(url).map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.promotedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Investment Opportunity listing\r\n * @returns Observable\r\n */\r\n getInvestmentOpportunityList(\r\n postJson?: any\r\n ): Observable {\r\n const url = environment.RYEC_API_URL + \"getInvestmentIdeas\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: InvestmentOpportunityRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.investmentOpportunityList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Investment Opportunity listing\r\n * @returns Observable\r\n */\r\n getMyInvestmentInterestList(): Observable {\r\n const url = environment.RYEC_API_URL + \"getMyInvestmentInterest\";\r\n\r\n return this.hC.post(url, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Investment Opportunity Filters\r\n * @returns Observable<>\r\n */\r\n getInvestmentFilters(): Observable {\r\n const url = environment.RYEC_API_URL + \"getInvestmentFilters\";\r\n\r\n return this.hC.get(url).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Business Detail by business slug\r\n * @returns BusinessListDetailsRes\r\n */\r\n getInvestmentDetailBySlug(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getInvestmentIdeaDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: InvestmentOpportunityRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Recently added Business listing\r\n * @returns Observable\r\n */\r\n getRecentlyAddedBusinessListing(\r\n postJson?: PostJsonBusinessList\r\n ): Observable {\r\n const url = environment.RYEC_API_URL + \"getRecentlyAddedBusinessListing\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Popular Business listing\r\n * @returns Observable\r\n */\r\n getPopularBusinessList(\r\n postJson?: any\r\n ): Observable {\r\n let body = \"\";\r\n if (postJson) {\r\n for (const key in postJson) {\r\n if (postJson.hasOwnProperty(key)) {\r\n body += key + \"=\" + postJson[key] + \"&\";\r\n }\r\n }\r\n }\r\n\r\n const url = environment.RYEC_API_URL + \"getPopularBusinesses?\" + body;\r\n return this.hC.get(url).map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.popularBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Category wise Business listing\r\n * @returns void\r\n */\r\n getBusinessListByCategory(postJson?: PostJsonBusinessList) {\r\n const url = environment.RYEC_API_URL + \"getBusinessListing\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getJobsList(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"jobList\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getEventsList(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"eventList\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n getGroupsList(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"sites\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getNewsList(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"newsList\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getNewsDetails(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"newsDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getSubCategory(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"getSubCategory\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getApplicantUsersListByJobVacancyId(\r\n postJson?: PostJsonBusinessList\r\n ): Observable {\r\n const url = environment.RYEC_API_URL + \"getJobAppliedUsersByJobVacancyId\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getMyGroupsList(postJson?: PostJsonBusinessList): Observable {\r\n const url = environment.RYEC_API_URL + \"myGroupLists\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n getPostLikedUsersList(\r\n postJson?: PostJsonBusinessList\r\n ): Observable {\r\n const url = environment.RYEC_API_URL + \"getLikedUsers\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n getEventAttendeesListByEventId(\r\n postJson?: PostJsonBusinessList\r\n ): Observable {\r\n const url = environment.RYEC_API_URL + \"eventAttendees\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.recentlyAddedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Business Detail by business slug\r\n * @returns BusinessListDetailsRes\r\n */\r\n getBusinessDetailBySlug(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getBusinessDetail\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessListDetailsRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n generateQrCodeByBusinessId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"generateQrCode\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getEntityKnowMore(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getEntityKnowMore\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getSubAssetTypeFields(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getSubAssetTypeFields\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getEntityInOtherLang(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getEntityInOtherLang\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getEntityCustomDetails(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getEntityCustomDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getFilterEntitiesForNearBy(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getFilterEntitiesForNearBy\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getEntityNearBy(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getEntityNearBy\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getVideoLists(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getEntityVideo\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getVideoById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getVideoById\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getNewsDetailsBySlug(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getNewsDetailsBySlug\";\r\n return this.hC.post(url, postJson, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getNewsCommentsListByNewsId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"newsCommentLists\";\r\n return this.hC.post(url, postJson, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getGroupDetailsById(postJson?: {}): Observable {\r\n\r\n \r\n const url = environment.RYEC_API_URL + \"getSite\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getTemplateDetailsById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getBusinessDoc\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getJobDetailsById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"JobDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getEventDetailsById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"eventDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getGroupMemberById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"siteMembers\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getGroupMemberICardById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getGroupUserIdCard\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getGroupJoinRequestMembersListById(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"pendingJoinMembers\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getPublicBusinessDetailBySlug(postJson?: any): Observable {\r\n let url = environment.RYEC_API_URL + \"getPublicBusinessDetail\";\r\n if (postJson) {\r\n url =\r\n environment.RYEC_API_URL +\r\n \"getPublicBusinessDetail/\" +\r\n postJson[\"business_slug\"];\r\n }\r\n\r\n return this.hC\r\n .get(url)\r\n .map((res: BusinessListDetailsRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getPublicTemplateDetailBySlug(postJson?: any): Observable {\r\n let url = environment.RYEC_API_URL + \"getPublicWebsiteTemplate\";\r\n if (postJson) {\r\n url =\r\n environment.RYEC_API_URL +\r\n \"getPublicWebsiteTemplate/\" +\r\n postJson[\"business_slug\"];\r\n }\r\n\r\n return this.hC\r\n .get(url)\r\n .map((res: BusinessTemplateDetailsRes) => {\r\n console.log(\"response\", res);\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Product Detail by product id\r\n * @returns ProductDetailRes\r\n */\r\n getProductDetailByProductId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getProductDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: ProductDetailRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getPublicProductDetailByProductId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getPublicProductDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: ProductDetailRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Service Detail by product id\r\n * @returns ServiceDetailRes\r\n */\r\n getServiceDetailByServiceId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getServiceDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: ServiceDetailRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getPublicServiceDetailByServiceId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getPublicServiceDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: ServiceDetailRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Business Rating List by business id\r\n * @returns BusinessRatingRes\r\n */\r\n getBusinessRating(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getBusinessRatings\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRatingRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getPublicBusinessRating(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getPublicBusinessRatings\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRatingRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getPublicWebsiteReviews(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getPublicWebsiteReviews\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRatingRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Near By Business List by\r\n * @returns BusinessRatingRes\r\n */\r\n getNearByBusinessesList(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getNearByBusinesses\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getMenuCategoryListing(): Observable {\r\n const url = environment.RYEC_API_URL + \"getMainCategory\";\r\n return this.hC.get(url).map((res) => {\r\n this.menuCategories = res;\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Business List for agent\r\n * @returns BusinessRatingRes\r\n */\r\n getBusinessListForAgent(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getAgentBusinesses\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: BusinessRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getAddressMaster(): Observable {\r\n const url = environment.RYEC_API_URL + \"getAddressMaster\";\r\n return this.hC.get(url).map((res) => {\r\n return res;\r\n });\r\n }\r\n getBrandingData(): Observable {\r\n const url = environment.RYEC_API_URL + \"getBrandingData\";\r\n return this.hC.get(url).map((res) => {\r\n return res;\r\n });\r\n }\r\n getOnlineStore(): Observable {\r\n const url = environment.RYEC_API_URL + \"getOnlineStores\";\r\n return this.hC.post(url, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n \r\n getnewsLists(postJson?: {}): Observable {\r\n \r\n const url = environment.RYEC_API_URL + \"newsList\";\r\n return this.hC.post(url, postJson, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n highlightservice(postJson?: {}): Observable {\r\n \r\n const url = environment.RYEC_API_URL + \"instructions\";\r\n return this.hC.post(url, postJson, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getBusinessOnlineStores(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getBusinessOnlineStores\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getCategoriesLists(): Observable {\r\n const url = environment.RYEC_API_URL + \"getTrendingCategories\";\r\n return this.hC.get(url).map((res) => {\r\n return res;\r\n });\r\n }\r\n\r\n getCountryCode(): Observable {\r\n const url = environment.RYEC_API_URL + \"getCountryCode\";\r\n return this.hC.get(url).map((res) => {\r\n return res;\r\n });\r\n }\r\n\r\n getBusinessAndTopPlacesLists(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getSponsoredEntity\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get search List for business\r\n * @returns BusinessRatingRes\r\n */\r\n getSearchAutocomplete(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getSearchAutocomplete\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getGroupsAutoCompleteList(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"siteAutoSuggestion\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n jobApplicantsAutoSuggestion(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"jobApplicantsAutoSuggestion\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getJobsAutoCompleteList(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"jobAutoSuggestion\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getGroupMemberAutocomplete(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"suggestSiteMembers\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getLocationByPinCode(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getLocationByPincode\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getGroupMemberRoleLists(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"siteRoles\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getGroupPrivacysList(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"groupPrivacyList\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getGroupDesignationsListByGroupId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"designationList\";\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n getCityLists(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"cityList\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getSearchLocationList(postJson?: {}): Observable {\r\n // const url = environment.RYEC_API_URL + \"getAddressMaster\";\r\n const url = `${environment.RYEC_API_URL}getAddressMaster?searchText=${postJson}`;\r\n return this.hC.get(url, postJson).map((res) => {\r\n return res;\r\n });\r\n\r\n // return this.hC.post(url, postJson, this.HttpHeaderOptions).map((res: any) => {\r\n // return res;\r\n // });\r\n }\r\n\r\n /**\r\n * get report business reason list by id\r\n */\r\n getReasonsByEntityTypeByAssetsId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getReasonsByEntityType\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * get templates list by groupId id\r\n */\r\n getGroupTemplatesList(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"templateList\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n /**\r\n * get report business reason list by id\r\n */\r\n getGroupTemplateDetailsByTemplateId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"templateDetails\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getSubAssetByAsset(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getSubAssetByAsset\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * get report business reason list by id\r\n */\r\n getSubCategoryListByParentCategoryId(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getSubCategoryByCategoryId\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get latLong from network\r\n */\r\n getNetworkLatLong() {\r\n this.hC\r\n .get(\"https://ipinfo.io/json?token=1f8b9df2e5cc81\")\r\n .subscribe((data:any) => {\r\n const latlog = data[\"loc\"].split(\",\");\r\n if (latlog.length > 1) {\r\n const lat = latlog[0];\r\n const log = latlog[1];\r\n localStorage.setItem(\"latitude\", lat);\r\n localStorage.setItem(\"longitude\", log);\r\n this.cS.updateLatLong(lat, log);\r\n }\r\n return;\r\n });\r\n }\r\n\r\n /**\r\n * Get Search business listing\r\n * @param postJson\r\n */\r\n getSearchBusinesses(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getSearchBusinesses\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n getBusinessApproved(postJson?: {}): Observable {\r\n const url = environment.RYEC_API_URL + \"getBusinessApproved\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Premium Business listing\r\n * @returns Observable\r\n */\r\n getPremiumBusinessListing(\r\n postJson?: any\r\n ): Observable {\r\n let body = \"\";\r\n\r\n if (postJson) {\r\n for (const key in postJson) {\r\n if (postJson.hasOwnProperty(key)) {\r\n body += key + \"=\" + postJson[key] + \"&\";\r\n }\r\n }\r\n }\r\n const url = environment.RYEC_API_URL + \"getPremiumBusinesses?\" + body;\r\n\r\n return this.hC.get(url).map((res: BusinessRes) => {\r\n if (postJson) {\r\n if (\"limit\" in postJson) {\r\n this.promotedBusinessList = res;\r\n }\r\n }\r\n return res;\r\n });\r\n }\r\n\r\n getNotificationList(postJson?: any): Observable {\r\n const url = environment.RYEC_API_URL + \"notificationList\";\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: any) => {\r\n return res;\r\n });\r\n }\r\n\r\n /**\r\n * Get Market Place listing data\r\n * @returns Observable\r\n */\r\n getMarketPlaceList(\r\n postJson?: PostJsonMarketPlaceList,\r\n type?: any\r\n ): Observable {\r\n const url = environment.RYEC_API_URL + type;\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: MarketPlaceListRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getMarketPlaceDetail(postJson?: {}, type?: any): Observable {\r\n const url = environment.RYEC_API_URL + type;\r\n\r\n return this.hC\r\n .post(url, postJson, this.HttpHeaderOptions)\r\n .map((res: MarketPlaceDetailRes) => {\r\n return res;\r\n });\r\n }\r\n\r\n getEventCategoryList(): Observable {\r\n const url = environment.RYEC_API_URL + \"eventCategory\";\r\n return this.hC.post(url, this.HttpHeaderOptions).map((res: any) => {\r\n return res;\r\n });\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpService {\r\n\r\n redirectUrl: string = \"\";\r\n\r\n constructor(\r\n public httpClient: HttpClient,\r\n public route: Router\r\n ) {\r\n this.redirectUrl = '/';\r\n }\r\n\r\n get(url: string): Observable {\r\n return this.httpClient.get(url).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n post(url: string, data: any) {\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n return this.httpClient.post(url, data, httpOptions).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n /**\r\n\t * Method to upload media content multipart form data\r\n\t * @param url \r\n\t * @param data \r\n\t */\r\n\tpostUpload(url: string, data: any) {\r\n\t\tconst httpOptions = {\r\n\t\t\theaders: new HttpHeaders({\r\n\t\t\t\t'mimeType': 'multipart/form-data',\r\n\t\t\t\t'Authorization': 'my-auth-token'\r\n\t\t\t})\r\n\t\t};\r\n\r\n\t\treturn this.httpClient.post(url, data, httpOptions).pipe(\r\n\t\t\tcatchError(this.handleError)\r\n\t\t);\r\n\r\n\t}\r\n\r\n\tprivate handleError(error: HttpErrorResponse) {\r\n\t\tif (error.error instanceof ErrorEvent) {\r\n\t\t\t// A client-side or network error occurred. Handle it accordingly.\r\n\t\t\tconsole.error('An error occurred:', error.error.message);\r\n\t\t} else {\r\n\t\t\t// The backend returned an unsuccessful response code.\r\n\t\t\t// The response body may contain clues as to what went wrong,\r\n\t\t\tif (error.status === 404 || error.status === 400) {\r\n\t\t\t\t// redirect to the login route\r\n\r\n\t\t\t}\r\n\t\t\tconsole.error(\r\n\t\t\t\t`Backend returned code ${error.status}, ` +\r\n\t\t\t\t`body was: ${JSON.stringify(error.error)}`);\r\n\t\t}\r\n return Promise.reject(error.message || error);\r\n\t}\r\n\r\n // private handleError(error: any): Promise {\r\n // console.error('An error occurred', error); // for demo purposes only\r\n // return Promise.reject(error.message || error);\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { SignUpLoginSubRes, BusinessFlag } from 'src/app/shared/class/data.model';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n loginSubject = new BehaviorSubject(false);\r\n registerBusinessSub = new BehaviorSubject(false);\r\n spinnerSub = new BehaviorSubject(false);\r\n isAgentSub = new BehaviorSubject<{ isAgent: string }>({ isAgent: 'NA' });\r\n userProfileSub = new Subject();\r\n businessres = new Subject();\r\n categoryResponse = new Subject();\r\n businessResponse = new Subject();\r\n searchBusiness = new Subject();\r\n messageCount = new Subject();\r\n isLanding = new Subject();\r\n lang = new Subject();\r\n\r\n constructor() { }\r\n\r\n // for useloggedIn or not\r\n\r\n setLoggedIn(val: boolean) {\r\n this.loginSubject.next(val);\r\n }\r\n\r\n getLoggedIn(): Observable {\r\n return this.loginSubject.asObservable();\r\n }\r\n\r\n\r\n // set registerBusiness\r\n setRegisterbusiness(val: boolean) {\r\n this.registerBusinessSub.next(val);\r\n }\r\n\r\n getRegisterbusiness(): Observable {\r\n return this.registerBusinessSub.asObservable();\r\n }\r\n\r\n getBusinessDetailUpdate(): Observable {\r\n return this.businessres.asObservable();\r\n }\r\n\r\n // get set business data\r\n setBusinessDetailUpdate(data: BusinessFlag) {\r\n this.businessres.next(data);\r\n }\r\n\r\n // set spinner\r\n setSpinner(val: boolean) {\r\n this.spinnerSub.next(val);\r\n }\r\n\r\n\r\n getSpinner(): Observable {\r\n return this.spinnerSub.asObservable();\r\n }\r\n\r\n // get set profile data\r\n setProfile(data: SignUpLoginSubRes) {\r\n this.userProfileSub.next(data);\r\n }\r\n\r\n getProfile(): Observable {\r\n return this.userProfileSub.asObservable();\r\n }\r\n\r\n // set Agent application status\r\n setAgentStatus(status: string) {\r\n this.isAgentSub.next({ isAgent: status });\r\n }\r\n\r\n // getAgent status\r\n getAgentStatus(): Observable<{ isAgent: string }> {\r\n return this.isAgentSub.asObservable();\r\n }\r\n\r\n //get/set parent category \r\n setParentCategory(data: any) {\r\n this.userProfileSub.next(data);\r\n }\r\n\r\n getParentCategory(): Observable {\r\n return this.userProfileSub.asObservable();\r\n }\r\n\r\n //set business name\r\n setBusinessName(data: any) {\r\n this.businessResponse.next(data);\r\n }\r\n\r\n //get business name\r\n getBusinessName(): Observable {\r\n return this.businessResponse.asObservable();\r\n }\r\n\r\n setBusinessSearchText(data: any) {\r\n this.searchBusiness.next(data);\r\n }\r\n\r\n getBusinessSearchText(): Observable {\r\n return this.searchBusiness.asObservable();\r\n }\r\n\r\n setMessageCount(data: any) {\r\n this.messageCount.next(data);\r\n }\r\n\r\n getMessageCount(): Observable {\r\n return this.messageCount.asObservable();\r\n }\r\n\r\n setIsLandingPage(data: any) {\r\n this.isLanding.next(data);\r\n }\r\n\r\n getIsLandingPage(): Observable {\r\n return this.isLanding.asObservable();\r\n }\r\n\r\n setLang(data: any) {\r\n this.lang.next(data);\r\n }\r\n\r\n getLang(): Observable {\r\n return this.lang.asObservable();\r\n }\r\n\r\n}\r\n","// // The file contents for the current environment will overwrite these during build.\r\n// // The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// // `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// // The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\n// export const environment = {\r\n// production: false,\r\n// //RYEC_API_URL: 'https://stageadmin.ryuva.club/api/',\r\n// RYEC_API_URL: 'https://stagingadmin.myrajasthanclub.com/api/',\r\n// RYEC_SHARE_URL: 'http://stagingadmin.myrajasthanclub.com/share',\r\n// //RYEC_API_URL: 'https://mrc-staging.azurewebsites.net/api/',\r\n// //RYEC_API_URL: 'http://127.0.0.1:8000/api/',\r\n\r\n// NDA: 'No Data Available',\r\n// //GOOGLE_MAP_API: 'https://maps.google.com/maps/api/js?key=AIzaSyC0GOPX5KCBWMktECRDFUXODd2WSNXFae4&libraries=places',\r\n// GOOGLE_MAP_API: 'https://maps.google.com/maps/api/js?key=AIzaSyCTdAmyxsAISAcV_jnGdndkmaWGWI1J6to&libraries=places',\r\n// BUSINESS_LIST_LIMIT: 10,\r\n// USERS_LIST_LIMIT: 5,\r\n// LOCATION_RADIUS: 25,\r\n// DESCRIPTIO_TRIM_LENGTH: 1000,\r\n// API_SECURITY_KEY: 'basic MTpNWVJBSkFTVEhBTkNMVUI6TVJDLTIwMjI6TVJDOkVORC1VU0VS',\r\n// RESEND_OTP_TIME: 120,\r\n// APPLICATION_ID: '1',\r\n// APP_NAME: 'MRC',\r\n// TITLE: 'My Rajasthan Club',\r\n// gTagManagerId: 'GTM-K4FCK9S'\r\n// };\r\n\r\n// The file contents for the current environment will overwrite these during build.\r\n\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\n\r\n\r\nexport const environment = {\r\n\r\n production: false,\r\n\r\n //RYEC_API_URL: 'https://stageadmin.ryuva.club/api/',\r\n\r\n RYEC_API_URL: 'https://stagingadmin.bharatdarshan.org/api/',\r\n\r\n RYEC_SHARE_URL: 'https://stagingadmin.rajputsclub.com/share',\r\n\r\n //RYEC_API_URL: 'https://mrc-staging.azurewebsites.net/api/',\r\n\r\n //RYEC_API_URL: 'http://127.0.0.1:8000/api/',\r\n\r\n\r\n\r\n NDA: 'No Data Available',\r\n\r\n //GOOGLE_MAP_API: 'https://maps.google.com/maps/api/js?key=AIzaSyC0GOPX5KCBWMktECRDFUXODd2WSNXFae4&libraries=places',\r\n\r\n GOOGLE_MAP_API: 'https://maps.google.com/maps/api/js?key=AIzaSyCTdAmyxsAISAcV_jnGdndkmaWGWI1J6to&libraries=places',\r\n\r\n BUSINESS_LIST_LIMIT: 10,\r\n\r\n USERS_LIST_LIMIT: 5,\r\n\r\n LOCATION_RADIUS: 25,\r\n\r\n DESCRIPTIO_TRIM_LENGTH: 1000,\r\n\r\n API_SECURITY_KEY: 'basic MTpNWVJBSkFTVEhBTkNMVUI6TVJDLTIwMjI6TVJDOkVORC1VU0VS',\r\n\r\n RESEND_OTP_TIME: 120,\r\n\r\n APPLICATION_ID: '1',\r\n\r\n APP_NAME: 'MRC',\r\n\r\n TITLE: 'My Rajasthan Club',\r\n\r\n gTagManagerId: 'GTM-K4FCK9S'\r\n\r\n};","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'ang_inbox' | translate}}

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

{{thread.name}}{{thread.last_message.timestamp | date: 'hh:mm a'}}

\r\n
{{thread.title}}
\r\n

{{thread.last_message.message}}

\r\n
{{thread.unread_count}}
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n {{'ang_noconversationfound' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \"img\"\r\n \r\n

{{conversionList?.name}}

\r\n {{conversionList?.title}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n {{item.date}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"{{message.message}}\"\r\n
\r\n {{message.message}}\r\n {{message.timestamp | date: 'hh:mm a'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"{{message.message}}\"\r\n
\r\n {{message.message}}\r\n {{message.timestamp | date: 'hh:mm a'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"send\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild, AfterViewChecked, ChangeDetectorRef } from '@angular/core';\r\n\r\n \r\nimport { ThreandListRes, ThreadUserRes, ThreadMessageListRes, MessageListRes } from 'src/app/shared/class/data.model';\r\nimport { PerfectScrollbarComponent } from 'ngx-perfect-scrollbar';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'ryec-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.css']\r\n})\r\nexport class MessagesComponent implements OnInit, AfterViewChecked {\r\nonScroll($event: any) {\r\nthrow new Error('Method not implemented.');\r\n}\r\n appName:any;\r\n threadList: any;\r\n currentPage = 1;\r\n conversionList: any;\r\n thread_id = 0;\r\n loggedUserId = 0;\r\n message_text = '';\r\n messageArr: Array<{ date: string, data: any }> = [];\r\n isConversionOpened: boolean = false;\r\n isMoreThread: boolean = false;\r\n isMoreMessage: boolean = false;\r\n messagePageNumber = 1;\r\n interval: any;\r\n tempMsg :any;\r\n loadPreviousData = false;\r\n @ViewChild('msg_div')\r\n private myScrollContainer?: PerfectScrollbarComponent;\r\n\r\n constructor(\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n private ref: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService,\r\n private router: Router,\r\n private mS: MessageService) {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.loggedUserId = userDetail.id;\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.scrollToBottom();\r\n }\r\n\r\n chatDrawer() {\r\n console.log('call');\r\n this.isConversionOpened = !this.isConversionOpened;\r\n }\r\n\r\n scrollToBottom(): void {\r\n try {\r\n //this.myScrollContainer.directiveRef.scrollToBottom();\r\n //this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;\r\n } catch (err) { }\r\n }\r\n\r\n scrollToTop(): void {\r\n try {\r\n //this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;\r\n } catch (err) { }\r\n }\r\n\r\n ngOnInit() {\r\n this.mS.setMessageCount(0);\r\n this.getThreadListForChat();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n }\r\n\r\n /**\r\n * Get threadlist(Inbox listing data) from server\r\n */\r\n getThreadListForChat() {\r\n this.messageArr = [];\r\n this.tempMsg = {};\r\n const apiUrl = environment.RYEC_API_URL + 'getThreadListing';\r\n const postJson = { page: this.currentPage }\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n for (let i of res.data) {\r\n if (this.threadList.length === 0) {\r\n i.unread_count = 0;\r\n }\r\n this.threadList.push(i);\r\n }\r\n\r\n this.isMoreThread = res['loadMore'];\r\n if (this.threadList.length > 0) {\r\n this.thread_id = this.threadList[0]['id'];\r\n if (localStorage.getItem('thread_id') === 0 || localStorage.getItem('thread_id') === undefined || localStorage.getItem('thread_id') === null || localStorage.getItem('thread_id') === '') {\r\n this.getThreadMessages(this.threadList[0]['id']);\r\n } else {\r\n this.getThreadMessages(localStorage.getItem('thread_id'));\r\n localStorage.removeItem('thread_id');\r\n }\r\n }\r\n this.interval = setInterval(() => {\r\n this.messageArr = [];\r\n this.tempMsg = {};\r\n this.getThreadMessages(this.thread_id);\r\n }, 15000);\r\n }\r\n this.cS.scrollTop();\r\n }, (err: { error: any; }) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n\r\n loadPrevious() {\r\n this.currentPage++;\r\n this.scrollToTop();\r\n this.getThreadListForChat();\r\n }\r\n\r\n loadPreviousMessage() {\r\n this.messagePageNumber++;\r\n this.loadPreviousData = true;\r\n this.getThreadMessages(this.thread_id);\r\n }\r\n /**\r\n *Get thread messages list for business list\r\n */\r\n getThreadMessages(threadId: number) {\r\n this.thread_id = threadId;\r\n const apiUrl = environment.RYEC_API_URL + 'getThreadMessages';\r\n const postJson = { page: this.messagePageNumber, thread_id: threadId }\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.isMoreMessage = res['loadMore'];\r\n this.conversionList = res.data;\r\n let ind = this.conversionList.messages.length - 1;\r\n for (let x in this.conversionList.messages) {\r\n console.log(x);\r\n let myFormattedDate = '';\r\n const datePipe = new DatePipe('en-US');\r\n myFormattedDate = datePipe.transform(this.conversionList.messages[ind]['timestamp'], 'd MMMM yyyy');\r\n let s: MessageListRes[] = [];\r\n if (this.tempMsg[myFormattedDate] != undefined) {\r\n if (this.loadPreviousData) {\r\n this.tempMsg[myFormattedDate].unshift(this.conversionList.messages[ind]);\r\n } else {\r\n this.tempMsg[myFormattedDate].push(this.conversionList.messages[ind]);\r\n }\r\n } else {\r\n s.push(this.conversionList.messages[ind]);\r\n this.tempMsg[myFormattedDate] = s;\r\n }\r\n ind--;\r\n }\r\n\r\n for (let x in this.tempMsg) {\r\n let temp = {\r\n date: x,\r\n data: this.tempMsg[x]\r\n };\r\n this.messageArr.push(temp);\r\n }\r\n\r\n setTimeout(() => {\r\n this.ref.detectChanges();\r\n if (this.loadPreviousData) {\r\n this.myScrollContainer?.directiveRef?.scrollToTop(500);\r\n } else {\r\n this.myScrollContainer?.directiveRef?.scrollToBottom();\r\n }\r\n }, 500);\r\n }\r\n }, (err: { error: any; }) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n })\r\n }\r\n\r\n /**\r\n *Open chat window for selected thread id\r\n * @param threadId\r\n */\r\n openChatWindow(threadId: number, index: number) {\r\n this.chatDrawer();\r\n this.tempMsg = {};\r\n this.currentPage = 1;\r\n this.messageArr = [];\r\n this.loadPreviousData = false;\r\n this.threadList[index]['unread_count'] = 0;\r\n this.getThreadMessages(threadId);\r\n }\r\n\r\n /**\r\n * Send Message\r\n */\r\n sendMessage() {\r\n if (this.message_text != '') {\r\n const apiUrl = environment.RYEC_API_URL + 'sendEnquiryMessage';\r\n const postJson = { message: this.message_text, thread_id: this.thread_id }\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n let myFormattedDate :any = '';\r\n const datePipe = new DatePipe('en-US');\r\n myFormattedDate = datePipe.transform(new Date(), 'd MMMM yyyy');\r\n this.tempMsg[myFormattedDate].push();\r\n\r\n let s: MessageListRes[] = [];\r\n if (this.tempMsg[myFormattedDate] != undefined) {\r\n this.tempMsg[myFormattedDate].push({\r\n id: 0,\r\n message: this.message_text,\r\n posted_by: this.loggedUserId,\r\n timestamp: Date.now()\r\n });\r\n\r\n } else {\r\n s.push({\r\n id: 0,\r\n message: this.message_text,\r\n posted_by: this.loggedUserId,\r\n timestamp: Date.now()\r\n });\r\n this.tempMsg[myFormattedDate] = s;\r\n }\r\n this.message_text = '';\r\n setTimeout(() => {\r\n this.myScrollContainer?.directiveRef?.scrollToBottom();\r\n }, 500);\r\n }\r\n }, (err: any) => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n })\r\n }\r\n }\r\n\r\n gotoAdsOrBusiness(item?: any) {\r\n //console.log('item',item);\r\n if (item.type === 'customer' && item.customer_business_id) {\r\n this.router.navigate(['home/business-detail/' + item.customer_business_slug]);\r\n } else if (item.type === 'business' && item.business_id) {\r\n this.router.navigate(['home/business-detail/' + item.business_slug]);\r\n } else if (item.type === 'advertisement' && item.advertisement_id) {\r\n let id = window.btoa(item.advertisement_id);\r\n this.router.navigate(['home/market-place-detail/' + id]);\r\n }\r\n }\r\n}\r\n","
\n
\n
\n

News

\n
\n \n \n
\n \n
    \n
  • \n {{item.name}}\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\n
0\">\n
\n \n
\n \n \n
\n

\n {{ item.name }}\n

\n
\n News created date : {{ item.created_at | date }}
\n
\n\n \n
\n \n
\n
\n \n
\n \n
\n
Groups you manage
\n
\n
\n
\n \"essar-real-estate\"\n
\n
\n

\n {{ item.name }}\n

\n
\n
    \n
  • \n \n {{ item.asset_type.name }}\n
  • \n
  • \n \n Public\n
  • \n
  • \n \n Private\n
  • \n
\n
\n \n
\n
\n
\n
\n \n
\n
Groups you've joined
\n
\n
\n
\n \"essar-real-estate\"\n
\n
\n

\n {{ item.name }}\n

\n
\n
    \n
  • \n \n {{ item.asset_type.name }}\n
  • \n
  • \n \n Public\n
  • \n
  • \n \n Private\n
  • \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
0\">\n \n
\n \n \n
\n \n

{{'ang_nomatches' | translate}}

\n
\n
","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\n \nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\n \nimport {\n debounceTime,\n map,\n distinctUntilChanged,\n filter\n} from \"rxjs/operators\";\nimport { fromEvent } from 'rxjs/observable/fromEvent';\n \nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { environment } from 'src/environments/environment';\nimport { GroupJoinVerificationModalComponent } from 'src/app/shared/component/group-join-verification-modal/group-join-verification-modal.component';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { HomeService } from 'src/app/shared/services/home.service';\nimport { CommonService } from 'src/app/shared/services/common.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-newslist',\n templateUrl: './newslist.component.html',\n styleUrls: ['./newslist.component.css']\n})\nexport class NewslistComponent implements OnInit {\n sortingType: string = \"popularity\";\n groupType: string = \"allGroup\";\n center_lat = localStorage.getItem('latitude');\n center_long = localStorage.getItem('longitude');\n currentPage: number = 0;\n sort_slug: string = \"\";\n perPageList = environment.BUSINESS_LIST_LIMIT;\n endPage: number = environment.BUSINESS_LIST_LIMIT;\n newsList: any ={} ;\n myGroupsList: any = {};\n totalGroupsCount: number = 0;\n collectionSize: number = 0;\n first: number = 1;\n last: number = 0;\n maxSize: number = 5;\n noData: boolean = false;\n isAtoZShow: boolean = false;\n isZtoAShow: boolean = false;\n isSubmit: boolean = false;\n searchText: string = \"\";\n items: any[] = [];\n isCancelJoinRequest: boolean = false;\n isJoinRequest: boolean = true;\n appName = environment.APP_NAME;\n\n @ViewChild('homeSearchInput')\n homeSearchInput!: ElementRef;\n constructor(\n private hS: HomeService,\n private router: Router,\n private cS: CommonService,\n private httpS: HttpService,\n private modalService: NgbModal,\n ) {\n this.currentPage = 1;\n }\n\n ngOnInit() {\n if (this.center_lat === '' || this.center_lat === null) {\n this.hS.getNetworkLatLong();\n }\n\n this.currentPage = 1;\n this.checkSorting();\n this.checkRouterUrlForCallingAPI();\n }\n\n ngAfterViewInit(): void {\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n this.homeSearh();\n }\n\n checkSorting() {\n /*\n *Check which type of sorting happend\n */\n if (this.sortingType === 'relevance') {\n this.sort_slug = 'relevance';\n }\n else if (this.sortingType === 'popularity') {\n this.sort_slug = 'popular';\n }\n else if (this.sortingType === 'atoz') {\n this.sort_slug = 'AtoZ';\n }\n else if (this.sortingType === 'ztoa') {\n this.sort_slug = 'ZtoA';\n }\n else {\n this.router.navigateByUrl('/home');\n }\n }\n\n checkRouterUrlForCallingAPI() {\n const postJson: PostJsonBusinessList = {\n sortBy: this.sort_slug,\n page: this.currentPage,\n limit: this.perPageList\n };\n\n if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\n postJson.radius = environment.LOCATION_RADIUS;\n postJson.latitude = this.center_lat;\n postJson.longitude = this.center_long;\n }\n\n if (this.sort_slug === 'relevance') {\n postJson.latitude = this.center_lat;\n postJson.longitude = this.center_long;\n }\n this.getGroupsList(postJson);\n }\n\n getGroupsList(postJson: any) {\n this.hS.getNewsList(postJson).subscribe((res: any) => {\n if (res.status == 1) {\n // this.convertToLowerCase(res.data);\n this.newsList = res.data.breakingNewsList;\n this.newsList = res.data.featuredNewsList;\n this.newsList = res.data.forYou;\n this.myGroupsList = {};\n this.totalGroupsCount = res.total;\n this.countCollectionSize();\n }\n else {\n this.newsList = [];\n }\n });\n }\n\n /**\n *Calculate pagination display on screen and count of total businesses\n */\n countCollectionSize() {\n if (this.totalGroupsCount > this.perPageList) {\n this.collectionSize = Math.ceil(this.totalGroupsCount / this.perPageList);\n this.collectionSize = this.collectionSize * 10;\n if (this.currentPage === 1) {\n this.first = 1;\n this.last = this.perPageList;\n } else {\n this.first = (this.currentPage - 1) * this.perPageList + 1;\n if (this.newsList.length < this.perPageList) {\n this.last = (this.currentPage - 1) * this.perPageList + this.newsList.length;\n } else {\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\n }\n }\n } else {\n this.last = this.totalGroupsCount;\n this.collectionSize = this.perPageList;\n }\n\n if (this.totalGroupsCount == 0 || this.totalGroupsCount == undefined) {\n this.noData = true;\n } else {\n this.noData = false;\n }\n this.cS.scrollTop();\n // this.showBusinessOnMap();\n }\n\n searchBusiness() {\n $(\".auto_complete_listing\").css(\"display\", \"none\");\n if (this.searchText != \"\") {\n const postJson: PostJsonBusinessList = {\n sortBy: this.sort_slug,\n page: this.currentPage,\n limit: this.perPageList,\n searchText: this.searchText\n };\n\n if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\n postJson.radius = environment.LOCATION_RADIUS;\n postJson.latitude = this.center_lat;\n postJson.longitude = this.center_long;\n }\n\n if (this.sort_slug === 'relevance') {\n postJson.latitude = this.center_lat;\n postJson.longitude = this.center_long;\n }\n this.getGroupsList(postJson);\n }\n }\n\n searchBusinessByCategory(name: string) {\n this.searchText = name;\n this.searchBusiness();\n $(\".auto_complete_listing\").css(\"display\", \"none\");\n }\n\n /**\n * deley api calling and called once user finish typed in search text box\n * @Yuvraj 23/11/2021\n */\n homeSearh() {\n fromEvent(this.homeSearchInput.nativeElement, 'keyup').pipe(\n // get value\n map((event: any) => {\n return event.target.value;\n }),\n // if character length greater then 3\n // , filter(res => res.length >= 3)\n filter(res => {\n if (res && res.length >= 3) {\n return true;\n } else {\n $(\".auto_complete_listing\").css(\"display\", \"none\");\n return false;\n }\n })\n\n // Time in milliseconds between key events\n , debounceTime(1000)\n\n // If previous query is diffent from current\n , distinctUntilChanged()\n\n // subscription for response\n ).subscribe((postJson: string) => {\n this.hS.getGroupsAutoCompleteList({ searchText: postJson }).subscribe((res: any) => {\n if (res.data) {\n if (res.data.length > 0) {\n $(\".auto_complete_listing\").css(\"display\", \"block\");\n this.items = res.data;\n } else {\n $(\".auto_complete_listing\").css(\"display\", \"none\");\n }\n }\n }, err => {\n console.log(err);\n });\n });\n }\n\n\n getNextPageBusinessList(event: number): void {\n console.log(event);\n // this.onGroupTypeChange();\n // this.businessMarkers = [];\n event=this.newsList;\n this.checkRouterUrlForCallingAPI();\n }\n\n /**\n * if sort type is change call api\n * @Yuvraj 18/01/2022\n */\n onSortTypeChange() {\n this.checkSorting();\n this.checkRouterUrlForCallingAPI();\n\n if (this.sortingType == 'atoz' || this.sortingType == 'ztoa') {\n let sortType: string = \"\";\n if (this.sortingType == 'atoz') {\n sortType = 'asc';\n }\n if (this.sortingType == 'ztoa') {\n sortType = 'desc';\n }\n this.filter(sortType);\n }\n }\n\n // onGroupTypeChange() {\n // if (this.checkAuth()) {\n // if (this.groupType == 'yourGroup') {\n // this.getMyGroupsList();\n // }\n // else {\n // this.checkSorting();\n // this.checkRouterUrlForCallingAPI();\n // }\n // }\n // else {\n // this.router.navigate(['/login'], { queryParams: { returnUrl: '/groups' } });\n // }\n // }\n\n // getMyGroupsList() {\n // const postJson: PostJsonBusinessList = {\n // // sortBy: this.sort_slug,\n // page: this.currentPage,\n // limit: this.perPageList\n // };\n // this.hS.getMyGroupsList(postJson).subscribe((res: any) => {\n // if (res.status == 1) {\n // this.myGroupsList = res.data;\n // this.groupsList = [];\n // // console.table(this.myGroupsList);\n // this.totalGroupsCount = res.total;\n // this.countCollectionSize();\n // }\n // });\n // }\n\n /**\n * filter by name\n */\n filter(filtername: string) {\n if (filtername == 'asc') {\n this.isAtoZShow = true; //if a to z is selected then disable atoz\n this.isZtoAShow = false; //if a to z is selected then inable ztoa\n } if (filtername == 'desc') {\n this.isZtoAShow = true; //if z to a is selected then disable ztoa\n this.isAtoZShow = false; //if z to a is selected then inable atoz\n }\n }\n\n onJoinGroup(item: any) {\n if (this.checkAuth()) {\n if (item.security_code !== '' && item.is_security_code !== 0) {\n this.loadGroupVerificationModalComponent(item);\n }\n else {\n let reqType: string = 'join';\n this.joinLeaveGroup(item, reqType);\n }\n }\n else {\n this.router.navigate(['/login'], { queryParams: { returnUrl: '/groups' } });\n }\n }\n\n onCancel(item: any) {\n if (this.checkAuth()) {\n let reqType: string = 'cancel';\n this.joinLeaveGroup(item, reqType);\n }\n else {\n this.router.navigate(['/login'], { queryParams: { returnUrl: '/groups' } });\n }\n }\n\n joinLeaveGroup(item: any, reqType: string) {\n let tempModel: any = {};\n tempModel.site_id = item.id;\n tempModel.type = reqType;\n this.isSubmit = true;\n const apiUrl = environment.RYEC_API_URL + 'joinOrLeaveSite';\n this.httpS.post(apiUrl, tempModel).subscribe((res: any) => {\n if (res.status === 1) {\n this.isSubmit = false;\n this.cS.showSuccess(res.message);\n this.checkRouterUrlForCallingAPI();\n }\n else {\n this.cS.showError(res.message);\n this.isSubmit = false;\n }\n });\n }\n\n loadGroupVerificationModalComponent(item: any) {\n const modalReference = this.modalService.open(GroupJoinVerificationModalComponent, { windowClass: 'mobile_popup' });\n modalReference.componentInstance.groupId = item.id; //group id\n modalReference.componentInstance.groupName = item.name; //group name\n modalReference.componentInstance.dynamicExtraFieldLabel = item.dynamic_field_label; //group dynamic field label\n modalReference.result.then((result: any) => {\n console.log(`Closed with: ${result}`);\n }, (reason: any) => {\n if (reason == 'close') {\n this.checkRouterUrlForCallingAPI();\n }\n });\n }\n\n\n checkAuth() {\n if (this.cS.getUserDetails()) {\n return true;\n }\n return false;\n }\n}\n\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ryec-not-found-page',\r\n templateUrl: './not-found-page.component.html',\r\n styleUrls: ['./not-found-page.component.css']\r\n})\r\nexport class NotFoundPageComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n 404\r\n
The page you are looking for was not found.
\r\n \r\n \r\n Back to Home\r\n \r\n
\r\n
\r\n
\r\n
\r\n ","
\r\n\t
\r\n\t\t
\r\n\t\t\t({{'ang_showing' | translate}} {{first}}-{{last}} of {{totalNotificationCount}} {{'ang_notifications' | translate}})\r\n\t\t
\r\n\t\t
\r\n\t\t\t

{{'ang_notifications' | translate}}

\r\n\t\t\t
\r\n\t\t\t\t

{{item.title}}

\r\n\t\t\t\t

{{item.message}}

\r\n\t\t\t\t{{item.created_at}}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t

{{'ang_norecordfound' | translate}}

\r\n\t
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n \r\nimport { Router } from '@angular/router';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { environment } from 'src/environments/environment';\r\n@Component({\r\n\tselector: 'ryec-notifications-list',\r\n\ttemplateUrl: './notifications-list.component.html',\r\n\tstyleUrls: ['./notifications-list.component.css']\r\n})\r\nexport class NotificationsListComponent implements OnInit {\r\n\r\n\tcurrentPage: number;\r\n\ttotalNotificationCount = 0;\r\n\tcollectionSize = 0;\r\n\tfirst = 1;\r\n\tlast = 0;\r\n\tperPageList = environment.BUSINESS_LIST_LIMIT;\r\n\tendPage: number = environment.BUSINESS_LIST_LIMIT;\r\n\tappName = environment.APP_NAME;\r\n\tNotificationList :any;\r\n\tmaxSize = 5;\r\n\tnoData = false;\r\n\tbusiness_approved = 0;\r\n\tmemberShipPlan = 0;\r\n\r\n\tconstructor(\r\n\t\tprivate hS: HomeService,\r\n\t\tprivate router: Router,\r\n\t\tprivate cS: CommonService) {\r\n\t\t\r\n\t\tthis.currentPage = 1;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cS.scrollTop();\r\n\t\tthis.getNotificationList();\r\n\r\n\t\tthis.getBusinessApproved();\r\n\t}\r\n\r\n\t/**\r\n\t * Chech user business approved or not\r\n\t */\r\n\tgetBusinessApproved() {\r\n\t\tlet business :any = localStorage.getItem('business_flag');\r\n\t\tbusiness = JSON.parse(business);\r\n\t\tif (business) {\r\n\t\t\tif (business['is_Register']) {\r\n\t\t\t\tconst postJson = { business_id: business['business_id'] };\r\n\r\n\t\t\t\tthis.hS.getBusinessApproved(postJson).subscribe((res: any) => {\r\n\t\t\t\t\tif (res.data) {\r\n\t\t\t\t\t\tthis.business_approved = res.data.isApproved;\r\n\t\t\t\t\t\tthis.memberShipPlan = res.data.membership_type;\r\n\t\t\t\t\t}\r\n\t\t\t\t}, (err: any) => {\r\n\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetNotificationList() {\r\n\t\tconst postJson = {\r\n\t\t\tpage: this.currentPage\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Get all Notification List\r\n\t\t*/\r\n\r\n\t\tthis.hS.getNotificationList(postJson).subscribe((res: any) => {\r\n\t\t\tif (res.status === 1) {\r\n\t\t\t\tif (res.data.notifications.length > 0) {\r\n\t\t\t\t\tthis.NotificationList = res.data.notifications;\r\n\t\t\t\t\tthis.totalNotificationCount = res.data.notificationsCount;\r\n\t\t\t\t}\r\n\t\t\t\tthis.countCollectionSize();\r\n\t\t\t} else {\r\n\t\t\t\tthis.noData = true;\r\n\t\t\t}\r\n\t\t}, (err: any) => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\tgetNextPageNotificatioList(event: number): void {\r\n\t\tconsole.log(event);\r\n\t\tthis.getNotificationList();\r\n\t}\r\n\r\n\t/**\r\n\t*Calculate pagination display on screen and count of total businesses \r\n\t*/\r\n\tcountCollectionSize() {\r\n\t\tif (this.totalNotificationCount > this.perPageList) {\r\n\t\t\tthis.collectionSize = Math.ceil(this.totalNotificationCount / this.perPageList);\r\n\t\t\tthis.collectionSize = this.collectionSize * 10;\r\n\t\t\tif (this.currentPage === 1) {\r\n\t\t\t\tthis.first = 1;\r\n\t\t\t\tthis.last = this.perPageList;\r\n\t\t\t} else {\r\n\t\t\t\tthis.first = (this.currentPage - 1) * this.perPageList + 1;\r\n\t\t\t\tif (this.NotificationList.length < this.perPageList) {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.NotificationList.length;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.last = this.totalNotificationCount;\r\n\t\t\tthis.collectionSize = this.perPageList;\r\n\t\t}\r\n\r\n\t\tif (this.totalNotificationCount === 0 || this.totalNotificationCount === undefined) {\r\n\t\t\tthis.noData = true;\r\n\t\t} else {\r\n\t\t\tthis.noData = false;\r\n\t\t}\r\n\t\tthis.cS.scrollTop();\r\n\t}\r\n\r\n\topenDetailPage(item: any) {\r\n\t\tif (item.type === 1 || item.type === 3 || item.type === 4 || item.type === 8 || item.type === 9) {\r\n\t\t\tthis.router.navigateByUrl('/home/business-detail/' + item.business_slug);\r\n\t\t} else if (item.type === 2 || item.type === 5) {\r\n\t\t\tlocalStorage.setItem('thread_id', item.thread_id);\r\n\t\t\tthis.router.navigateByUrl('messages');\r\n\t\t} else if (item.type === 6) {\r\n\t\t\tconst isRegister = this.cS.isBusinessRegister();\r\n\t\t\tif (!isRegister) {\r\n\t\t\t\tthis.router.navigateByUrl('home/add-business');\r\n\t\t\t}\r\n\t\t} else if (item.type === 7) {\r\n\t\t\tif (this.memberShipPlan === 0) {\r\n\t\t\t\tthis.router.navigateByUrl('/home/membership-plan');\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if(item.type === 17){//redirect to post details page\r\n\t\t\tconsole.log('item', item);\r\n\t\t\tif(item.json_data.post_id){\r\n\t\t\t\tthis.router.navigateByUrl('/home/post/' + item.json_data.post_id);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n
\r\n

{{ \"ang_donateplasma\" | 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 {{ \"ang_name\" | translate }}\r\n \r\n {{ \"ang_mobile\" | translate }}\r\n \r\n {{ \"ang_bloodgroup\" | translate }}\r\n \r\n {{ \"ang_covidStartDate\" | translate }}\r\n {{ \"ang_city\" | translate }}
{{ x.name }}{{ x.mobile_number }}{{ x.blood_group }}{{ x.covid_start_date }}{{ x.city }}
\r\n 0\"\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{ \"ang_contactusnamerequired\" | 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 {{ group }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"ang_submit\" | 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 ","import { Component, OnInit, HostListener, ElementRef } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { NgbDatepickerConfig } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { CommonService } from \"src/app/shared/services/common.service\";\r\nimport { HttpService } from \"src/app/shared/services/http.service\";\r\n\r\n\r\nimport { environment } from \"./../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: \"ryec-plasma-donor\",\r\n templateUrl: \"./plasma-donor.component.html\",\r\n styleUrls: [\"./plasma-donor.component.css\"],\r\n})\r\nexport class PlasmaDonorComponent implements OnInit {\r\n @HostListener(\"document:click\", [\"$event\"])\r\n clickout(event: any) {\r\n if (this.eRef.nativeElement.contains(event.target)) {\r\n if (\r\n event.srcElement.className !== \"dropbtn\" &&\r\n event.srcElement.className.indexOf(\"ps_\") === -1\r\n ) {\r\n this.showDropDown = false;\r\n }\r\n } else {\r\n this.showDropDown = false;\r\n }\r\n }\r\n plasmaDonorForm: FormGroup;\r\n statusAlert!: {\r\n status: 1 | 0 | 3;\r\n message: string;\r\n };\r\n userDetail: any;\r\n bloodGroups: Array = [\r\n \"A+\",\r\n \"A-\",\r\n \"B+\",\r\n \"B-\",\r\n \"AB+\",\r\n \"AB-\",\r\n \"O+\",\r\n \"O-\",\r\n ];\r\n blood_group = \"A+\";\r\n city = \"\";\r\n showDropDown = false;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n collectionSize = 0;\r\n donorData: any = [];\r\n currentPage: number;\r\n searchText = \"\";\r\n sortBy: string;\r\n order: string;\r\n totalCount = 0;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private hS: HttpService,\r\n private configDP: NgbDatepickerConfig,\r\n private eRef: ElementRef,\r\n private cS: CommonService\r\n ) {\r\n this.plasmaDonorForm = this.fb.group({\r\n name: [null, Validators.compose([Validators.required])],\r\n mobile_number: [null, Validators.compose([Validators.required])],\r\n blood_group: [],\r\n city: [null, Validators.compose([Validators.required])],\r\n covid_start_date: [null, Validators.compose([Validators.required])],\r\n });\r\n\r\n const d = new Date();\r\n this.configDP.minDate = { year: 2019, month: 6, day: 1 };\r\n this.configDP.maxDate = {\r\n year: d.getFullYear(),\r\n month: d.getMonth() + 1,\r\n day: d.getDate(),\r\n };\r\n\r\n this.currentPage = 1;\r\n this.sortBy = \"name\";\r\n this.order = \"asc\";\r\n\r\n this.userDetail = this.cS.getUserDetails();\r\n if (this.userDetail) {\r\n this.plasmaDonorForm.controls.name.setValue(this.userDetail.name);\r\n this.plasmaDonorForm.controls.mobile_number.setValue(\r\n this.userDetail.phone\r\n );\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.cS.scrollTop();\r\n this.getPlasmaDonorList();\r\n }\r\n\r\n sort(colName: string) {\r\n if (colName !== this.sortBy) {\r\n this.sortBy = colName;\r\n this.order = \"asc\";\r\n } else {\r\n this.order = this.order === \"asc\" ? \"desc\" : \"asc\";\r\n }\r\n this.getPlasmaDonorList();\r\n }\r\n\r\n donorSearch(event: any) {\r\n const val = event.target.value;\r\n this.searchText = val;\r\n }\r\n\r\n getPlasmaDonorList(): void {\r\n const plasmadata = {\r\n page: this.currentPage,\r\n sortBy: this.sortBy,\r\n order: this.order,\r\n searchText: this.searchText,\r\n status: \"active\",\r\n };\r\n const apiUrl = environment.RYEC_API_URL + \"getAllPlasmaDonor\";\r\n this.hS.post(apiUrl, plasmadata).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.totalCount = res.total;\r\n this.donorData = res.data;\r\n this.countCollectionSize();\r\n } else {\r\n this.statusAlert = {\r\n status: res.status,\r\n message: res.message,\r\n };\r\n }\r\n });\r\n }\r\n\r\n countCollectionSize() {\r\n if (this.totalCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n onplasmaDonorFormSubmit() {\r\n const apiUrl = environment.RYEC_API_URL + \"storePlasmaDonor\";\r\n const allValue = this.plasmaDonorForm.value;\r\n allValue.blood_group = this.blood_group;\r\n if (allValue.covid_start_date) {\r\n const year = allValue.covid_start_date.year;\r\n const month =\r\n allValue.covid_start_date.month <= 9\r\n ? \"0\" + allValue.covid_start_date.month\r\n : allValue.covid_start_date.month;\r\n const day =\r\n allValue.covid_start_date.day <= 9\r\n ? \"0\" + allValue.covid_start_date.day\r\n : allValue.covid_start_date.day;\r\n allValue.covid_start_date = year + \"-\" + month + \"-\" + day;\r\n }\r\n\r\n this.hS.post(apiUrl, allValue).subscribe((res:any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.plasmaDonorForm.reset();\r\n this.getPlasmaDonorList();\r\n } else {\r\n this.statusAlert = {\r\n status: res.status,\r\n message: res.message,\r\n };\r\n }\r\n });\r\n }\r\n\r\n // handleEditClick(row: any) {\r\n // console.log(\"row\", row);\r\n // }\r\n\r\n // handleDeleteClick(row: any) {\r\n // console.log(\"row\", row);\r\n // }\r\n\r\n onEvent(event: any) {\r\n console.log(event);\r\n this.showDropDown = true;\r\n }\r\n\r\n splitString(stringToSplit: string, Seperator: string): Array {\r\n return stringToSplit.split(Seperator);\r\n }\r\n\r\n selectGroup(bg: string) {\r\n console.log(bg);\r\n this.blood_group = bg;\r\n this.showDropDown = false;\r\n }\r\n\r\n selectBloodGroup() {\r\n if (this.showDropDown) {\r\n this.showDropDown = false;\r\n } else {\r\n this.showDropDown = true;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-template-detail',\r\n templateUrl: './template-detail.component.html',\r\n styleUrls: ['./template-detail.component.css']\r\n})\r\nexport class TemplateDetailComponent implements OnInit {\r\n templateId: number = 0;\r\n templateModel: any = {};\r\n\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private homeService: HomeService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.activeRoute.params.subscribe(data => {\r\n this.templateId = data.slug;\r\n if (this.templateId) { //if id is available call api\r\n this.getTemplateDetailsById(this.templateId);\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * if get groupid from query params call api to get details of group\r\n * @Yuvraj 06/01/2022\r\n */\r\n getTemplateDetailsById(templateId: number) {\r\n const postJson = {\r\n template_id: templateId,\r\n };\r\n this.homeService.getTemplateDetailsById(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.templateModel = res.data[0];\r\n }\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 { EventOrganizerList } from \"./event-organizers-list.model\";\r\n\r\nexport class EventModel {\r\n id: any;\r\n site_id: any;\r\n event_category: string;\r\n event_nature: string;\r\n street_address: string;\r\n title: string;\r\n description: string;\r\n event_type: string;\r\n event_price: any;\r\n event_location: string;\r\n show_map: boolean;\r\n latitude: any;\r\n longitude: any;\r\n website_url: string;\r\n event_repeat: string;\r\n repeat_date: string;\r\n event_organizers: any = [];\r\n start_date: string;\r\n start_time: string;\r\n end_date: string;\r\n end_time: string;\r\n location_id: any;\r\n event_end_date = \"\";\r\n timezone_id: any;\r\n cover_image: string;\r\n logo_image: string;\r\n external_link: string;\r\n organizer: string;\r\n constructor() {\r\n this.id = 0;\r\n this.site_id = 0;\r\n this.event_category = null as any;\r\n this.event_nature = \"online\";\r\n this.street_address = \"\";\r\n this.title = \"\";\r\n this.description = \"\";\r\n this.event_type = \"free\";\r\n this.event_price = 0;\r\n this.event_location = \"\";\r\n this.show_map = false;\r\n this.latitude = \"\";\r\n this.longitude = \"\";\r\n this.website_url = \"\";\r\n this.event_repeat = \"not repeat\";\r\n this.repeat_date = \"\";\r\n // this.event_organizers.push({\r\n // \"name\": \"\",\r\n // \"email\": \"\",\r\n // \"phone\": \"\"\r\n // });\r\n this.event_organizers = new Array();\r\n this.start_date = \"\";\r\n this.start_time = \"\";\r\n this.end_date = \"\";\r\n this.end_time = \"\";\r\n this.location_id = 0\r\n this.event_end_date = \"\";\r\n this.timezone_id = 19;\r\n this.cover_image = \"\";\r\n this.logo_image = \"\";\r\n this.external_link = \"\";\r\n this.organizer = \"\";\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n

Event Create

\r\n \r\n \r\n
\r\n \r\n Event Create \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \"Cover\"\r\n \r\n \r\n
\r\n \r\n
\r\n
Logo required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \"Cover\"\r\n \r\n \r\n
\r\n \r\n
\r\n
Cover image required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event title is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Description required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Category required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event type is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Amount is required !
\r\n
Min Amount is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Schedule is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {{ time.value }} - {{ time.name }}\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
TimeZone is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Start event date is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Start event time is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
End event date is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
End event time is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event last date is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event nature is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Link required !
\r\n
\r\n Invalid Link !\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Venue required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Street address is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n

\r\n {{ \"ang_invalidPincodeValidation\" | translate }}\r\n

\r\n
\r\n
Pincode required !
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n {{ item.district }} , {{ item.state }} , {{ item.country_name }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n No\r\n Yes\r\n \r\n
\r\n
\r\n
\r\n \r\n Add Organizer\r\n
\r\n \r\n
\r\n
Organizer required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Organizer NameOrganizer EmailOrganizer Mobile NoAction
{{ item.name }}{{ item.email }}{{ item.phone }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

\r\n Add Organizer\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Email is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Phone no is required
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\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 { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventModel } from 'src/app/shared/model/event.model';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport swal from 'sweetalert2';\r\n\r\n \r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-event-create',\r\n templateUrl: './event-create.component.html',\r\n styleUrls: ['./event-create.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class EventCreateComponent implements OnInit {\r\n groupId: any = 0;\r\n eventForm = new EventModel();\r\n eventModelData: FormData = new FormData();\r\n isSubmit: boolean = false;\r\n eventCategoriesList: any[] = [];\r\n eventsList: any[] = [];\r\n scheduleList: any[] = [];\r\n eventNaturesList: any[] = [];\r\n searchText: string = \"\";\r\n timezoneSearch: string = \"\";\r\n isLocationNotFound: boolean = false;\r\n isTimeZoneShow: boolean = false;\r\n locationsList: any[] = [];\r\n isShowMap: boolean = false;\r\n isOrganizerExisit: boolean = false;\r\n selectedOrganizer: any[] = [];\r\n timezoneArr: any[] = [];\r\n allTimezoneArr: any[] = [];\r\n timezone = 'UTC +05:30 - Asia/Kolkata';\r\n modalReference: any;\r\n imagePost: any;\r\n imageShow: any = \"assets/images/logo RYEC.png\";\r\n postConverImage: any;\r\n converImageShow: any = \"assets/images/logo RYEC.png\";\r\n appName = environment.APP_NAME;\r\n constructor(\r\n private homeService: HomeService,\r\n private modalService: NgbModal,\r\n private cS: CommonService,\r\n public httpService: HttpService,\r\n private datePipe: DatePipe,\r\n private activeRoute: ActivatedRoute,\r\n private router: Router,\r\n ) {\r\n this.activeRoute.params.subscribe(data => {\r\n this.groupId = data.slug;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getEventCategoryList();\r\n this.getEventTypeList();\r\n this.getEventNaturesList();\r\n this.getTimezone();\r\n this.getScheduleList();\r\n this.setDefultTimeAndDate();\r\n }\r\n\r\n getEventCategoryList() {\r\n // this.eventCategoriesList = [\r\n // { id: 1, value: 'Celebration' },\r\n // { id: 2, value: 'Meeting' },\r\n // ];\r\n\r\n this.homeService.getEventCategoryList().subscribe((res: any) => {\r\n this.eventCategoriesList = res.data;\r\n console.log(res);\r\n });\r\n }\r\n\r\n getTimezone() {\r\n console.log('call');\r\n const apiUrl = environment.RYEC_API_URL + 'getTimezone';\r\n this.httpService.get(apiUrl).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.timezoneArr = res.data;\r\n this.allTimezoneArr = this.timezoneArr;\r\n }\r\n });\r\n }\r\n\r\n showTimeZoneDropDown() {\r\n if (this.isTimeZoneShow) {\r\n this.isTimeZoneShow = false;\r\n } else {\r\n this.isTimeZoneShow = true;\r\n }\r\n }\r\n\r\n filterTimeZone() {\r\n this.timezoneArr = [];\r\n if (this.timezoneSearch !== '') {\r\n this.allTimezoneArr.filter((item: any) => {\r\n const search = item['value'] + ' ' + item['name'];\r\n if (search.toLowerCase().indexOf(this.timezoneSearch.toLowerCase()) > -1) {\r\n this.timezoneArr.push(item);\r\n }\r\n });\r\n } else {\r\n this.timezoneArr = this.allTimezoneArr;\r\n }\r\n }\r\n\r\n selectTimeZone(timezone: any) {\r\n this.timezone = timezone.value + ' - ' + timezone.name;\r\n // this.addBusinessForm.controls.timezone.setValue(timezone.name);\r\n this.isTimeZoneShow = false;\r\n // this.addBusinessForm.controls.timezoneSearch.setValue('');\r\n // this.timezoneArr = this.allTimezoneArr;\r\n }\r\n\r\n getEventTypeList() {\r\n this.eventsList = [\r\n { id: 'free', value: 'Free' },\r\n { id: 'paid', value: 'Paid' },\r\n ];\r\n }\r\n\r\n getScheduleList() {\r\n this.scheduleList = [\r\n { id: 'not repeat', value: 'Not Repeat' },\r\n { id: 'daily', value: 'Daily' },\r\n { id: 'weekly', value: 'Weekly' },\r\n { id: 'monthly', value: 'Monthly' },\r\n { id: 'yearly', value: 'Yearly' },\r\n ];\r\n }\r\n\r\n getEventNaturesList() {\r\n this.eventNaturesList = [\r\n { id: 'online', value: 'Online' },\r\n { id: 'offline', value: 'Offline' },\r\n ];\r\n }\r\n\r\n locationSearch(event: any) {\r\n // const val = event.target.value;\r\n const val = event;\r\n if (val === \"\" || val.length < 3) {\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n if (val.length >= 3) {\r\n const postJson = { pincode: val };\r\n\r\n this.homeService.getLocationByPinCode(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".member-list\").css(\"display\", \"block\");\r\n this.locationsList = res.data;\r\n this.isLocationNotFound = false;\r\n } else {\r\n this.locationsList = [];\r\n this.isLocationNotFound = true;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectlocation(id: number, district: string, state: string, countryName: string) {\r\n this.searchText = district + ' , ' + state + ' , ' + countryName;\r\n this.eventForm.location_id = id;\r\n // this.jobForm.location_id = id;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n\r\n setDefultTimeAndDate() {\r\n this.eventForm.start_date = this.datePipe.transform(new Date(), 'yyyy-MM-dd')!;\r\n this.eventForm.end_date = this.datePipe.transform(new Date(), 'yyyy-MM-dd')!;\r\n this.eventForm.start_time = new Date().toLocaleTimeString([], { hour: '2-digit', minute: \"2-digit\", hour12: false });\r\n this.eventForm.end_time = new Date().toLocaleTimeString([], { hour: '2-digit', minute: \"2-digit\", hour12: false });\r\n this.eventForm.event_end_date = this.datePipe.transform(new Date(), 'yyyy-MM-dd')!;\r\n }\r\n\r\n onChangeMap(event: any) {\r\n if (event == true) {\r\n this.isShowMap = true;\r\n }\r\n else {\r\n this.isShowMap = false;\r\n }\r\n }\r\n\r\n addNewRow() {\r\n this.selectedOrganizer.push({\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\"\r\n });\r\n }\r\n\r\n loadOrganizerModal(content: any) {\r\n if (this.selectedOrganizer.length == 0) {\r\n this.addNewRow();\r\n }\r\n // this.modalReference = this.modalService.open(content, { windowClass: \"modal-md\" });\r\n this.modalReference = this.modalService.open(content, { size: \"lg\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n\r\n onAddSOrganizerSubmit() {\r\n // this.eventForm.event_organizers = JSON.parse(JSON.stringify(this.selectedOrganizer));\r\n this.eventForm.event_organizers = this.selectedOrganizer;\r\n if (this.eventForm.event_organizers.length) {\r\n this.isOrganizerExisit = true;\r\n this.eventForm.organizer = \"abc\";\r\n }\r\n console.log(this.eventForm.event_organizers);\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementById('closeOrganizerComponent') as HTMLElement;\r\n element.click();\r\n }, 200);\r\n }\r\n\r\n deleteRow(index: number) {\r\n swal.fire({\r\n title: 'Are you sure you want to remove ?',\r\n \r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n this.selectedOrganizer.splice(index, 1);\r\n let tempData = JSON.parse(JSON.stringify(this.selectedOrganizer));\r\n this.selectedOrganizer = [];\r\n this.selectedOrganizer = tempData;\r\n this.cS.showSuccess(\"Organizer remove successfully\");\r\n if (this.selectedOrganizer.length == 0) {\r\n this.isOrganizerExisit = false;\r\n this.eventForm.organizer = \"\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n onLogoImageChange(event: any) {\r\n const srcEle = event.target;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.readLogoImageURL(srcEle.files[0]);\r\n } else {\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n\r\n readLogoImageURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.imageShow = reader.result;\r\n self.eventForm.logo_image = input;\r\n self.imagePost = input;\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n onCoverImageChange(event: any) {\r\n const srcEle = event.target;\r\n var filesAmount = event.target.files.length;\r\n for (let i = 0; i < filesAmount; i++) {\r\n if (srcEle.files && srcEle.files[i]) {\r\n this.converImageShow = \"\";\r\n if (this.cS.checkValidImage(srcEle.files[i])) {\r\n this.readCoverImageURL(srcEle.files[i]);\r\n } else {\r\n this.converImageShow = \"assets/images/logo RYEC.png\";\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n readCoverImageURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.converImageShow = reader.result;\r\n // self.converImageShow.push(reader.result);\r\n self.postConverImage = input;\r\n self.eventForm.cover_image = input;\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n setSubmitModelValue() {\r\n if (this.groupId) {\r\n this.eventModelData.append(\"site_id\", this.groupId);\r\n }\r\n this.eventModelData.append(\"logo_image\", this.eventForm.logo_image);\r\n this.eventModelData.append(\"cover_image\", this.eventForm.cover_image);\r\n this.eventModelData.append(\"title\", this.eventForm.title);\r\n this.eventModelData.append(\"description\", this.eventForm.description);\r\n this.eventModelData.append(\"event_category\", this.eventForm.event_category);\r\n this.eventModelData.append(\"event_type\", this.eventForm.event_type);\r\n this.eventModelData.append(\"event_price\", this.eventForm.event_price);\r\n this.eventModelData.append(\"event_location\", this.eventForm.event_location);\r\n this.eventModelData.append(\"street_address\", this.eventForm.street_address);\r\n this.eventModelData.append(\"location_id\", this.eventForm.location_id);\r\n let isShowMapVal = (this.eventForm.show_map) ? '1' : '0';\r\n this.eventModelData.append(\"show_map\", isShowMapVal);\r\n this.eventModelData.append(\"event_repeat\", this.eventForm.event_repeat);\r\n this.eventModelData.append(\"start_date\", this.eventForm.start_date);\r\n this.eventModelData.append(\"start_time\", this.eventForm.start_time);\r\n this.eventModelData.append(\"end_date\", this.eventForm.end_date);\r\n this.eventModelData.append(\"end_time\", this.eventForm.end_time);\r\n this.eventModelData.append(\"timezone_id\", this.eventForm.timezone_id);\r\n this.eventModelData.append(\"event_end_date\", this.eventForm.event_end_date);\r\n this.eventModelData.append(\"event_nature\", this.eventForm.event_nature);\r\n this.eventModelData.append(\"external_link\", this.eventForm.external_link);\r\n this.eventModelData.append('event_organizers', JSON.stringify(this.selectedOrganizer));\r\n }\r\n\r\n onSubmit() {\r\n this.setSubmitModelValue();\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'createEvent';\r\n this.httpService.postUpload(apiUrl, this.eventModelData).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isSubmit = false;\r\n this.router.navigate(['/event/details/' + res.data.id]);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isSubmit = false;\r\n }\r\n });\r\n }\r\n\r\n numberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n disableDate() {\r\n return false;\r\n }\r\n\r\n}\r\n","
\r\n

{{ eventName }}

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \"{{\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ item.user.name }}\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

No users found..

\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HomeService } from '../../services/home.service';\r\n \r\n\r\n@Component({\r\n selector: 'ryec-event-attendie-users',\r\n templateUrl: './event-attendie-users.component.html',\r\n styleUrls: ['./event-attendie-users.component.css']\r\n})\r\nexport class EventAttendieUsersComponent implements OnInit {\r\n @Input() eventId: number = 0;\r\n @Input() eventName: string = \"\";\r\n currentPage: number = 0;\r\n userListModel: any;\r\n // userListModel: any[] = [];\r\n perPageList = environment.USERS_LIST_LIMIT;\r\n totalsUserCount: number = 0;\r\n noData: boolean = false;\r\n collectionSize: number = 0;\r\n first: number = 1;\r\n last: number = 0;\r\n maxSize: number = 5;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private hS: HomeService,\r\n private cS: CommonService,\r\n ) {\r\n this.currentPage = 1;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.eventId) {\r\n this.getEventAttendeesList(this.eventId);\r\n }\r\n }\r\n\r\n getEventAttendeesList(eventId: number) {\r\n let postJson: PostJsonBusinessList;\r\n postJson = { event_id: eventId, page: this.currentPage, limit: this.perPageList }\r\n this.hS.getEventAttendeesListByEventId(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.userListModel = res.data;\r\n this.totalsUserCount = res.total;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.userListModel = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalsUserCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalsUserCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.userListModel.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.userListModel.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalsUserCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalsUserCount == 0 || this.totalsUserCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n // this.showBusinessOnMap();\r\n }\r\n\r\n getNextPageBusinessList(): void {\r\n this.getEventAttendeesList(this.eventId);\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t

Currently Event is only available on Android and iOS.

\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { EventAttendieUsersComponent } from 'src/app/shared/component/event-attendie-users/event-attendie-users.component';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\n \r\n \r\n\r\n@Component({\r\n selector: 'ryec-event-details',\r\n templateUrl: './event-details.component.html',\r\n styleUrls: ['./event-details.component.css']\r\n})\r\nexport class EventDetailsComponent implements OnInit {\r\n eventDetailsModel: any = {};\r\n userId: number = 0;\r\n eventId: number = 0;\r\n isMobile: boolean = false;\r\n isShow: boolean = false;\r\n topPosToStartShowing = 100;\r\n eventCreatedUserId: number = 0;\r\n groupCreatorId: number = 0;\r\n latitude = localStorage.getItem('latitude');\r\n longitude = localStorage.getItem('longitude');\r\n isSubmit: boolean = false;\r\n mapUrl: any;\r\n\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public cS: CommonService,\r\n private modalService: NgbModal,\r\n private activeRoute: ActivatedRoute,\r\n private deviceService: DeviceDetectorService,\r\n private homeService: HomeService,\r\n private router: Router,\r\n private httpS: HttpService,\r\n public sanitizer: DomSanitizer,\r\n ) {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.userId = userDetail.id;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.activeRoute.params.subscribe(data => {\r\n this.eventId = data.slug;\r\n if (this.eventId) { //if id is available call api\r\n // this.getEventDetailsById(this.eventId);\r\n }\r\n });\r\n\r\n this.isMobile = this.deviceService.isMobile();\r\n }\r\n\r\n /**\r\n * if get event from query params call api to get details of event\r\n * @Yuvraj 27/04/2022\r\n */\r\n getEventDetailsById(eventId: number) {\r\n const postJson = { event_id: eventId };\r\n this.homeService.getEventDetailsById(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.eventDetailsModel = res.data;\r\n this.eventCreatedUserId = this.eventDetailsModel.user.id;\r\n this.groupCreatorId = this.eventDetailsModel.site.created_by;\r\n this.convertStartTime(this.eventDetailsModel.start_time);\r\n this.convertEndTime(this.eventDetailsModel.end_time);\r\n if (this.eventDetailsModel.latitude && this.eventDetailsModel.longitude) {\r\n this.mapUrl.mapURL = this.loadMap(this.eventDetailsModel.latitude, this.eventDetailsModel.longitude);\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadMap(param1: any, param2: any) { //call this function from html\r\n let url = this.sanitizer.bypassSecurityTrustResourceUrl(`https://maps.google.com/maps?q=${param1},${param2}&z=14&output=embed`) // notice carefully the backticks dont confuse it with quotes ('' or \" \")\r\n return url\r\n }\r\n\r\n convertStartTime(startTime: any) {\r\n var timeString = startTime;\r\n var H = +timeString.substr(0, 2);\r\n var h = (H % 12) || 12;\r\n var ampm = H < 12 ? \" AM\" : \" PM\";\r\n this.eventDetailsModel.start_time = h + timeString.substr(2, 3) + ampm;\r\n }\r\n\r\n convertEndTime(endTime: any) {\r\n var timeString = endTime;\r\n var H = +timeString.substr(0, 2);\r\n var h = (H % 12) || 12;\r\n var ampm = H < 12 ? \" AM\" : \" PM\";\r\n this.eventDetailsModel.end_time = h + timeString.substr(2, 3) + ampm;\r\n }\r\n\r\n onEdit(id: number) {\r\n this.router.navigate(['/event/edit/' + id]);\r\n }\r\n\r\n onAttendEvent() {\r\n if (this.eventDetailsModel.event_type == 'free') {\r\n this.joinEvent();\r\n }\r\n else if (this.eventDetailsModel.event_type == 'paid') {\r\n // this.joinEvent();\r\n // integrate payment gatway\r\n this.cS.showError(\"Work is in progress\");\r\n }\r\n }\r\n\r\n joinEvent() {\r\n let tempModel: any = {};\r\n tempModel.status = \"going\",\r\n tempModel.event_id = this.eventDetailsModel.id;\r\n tempModel.notes = \"\",\r\n tempModel.ip_address = \"\",\r\n tempModel.latitude = this.latitude;\r\n tempModel.longitude = this.longitude;\r\n tempModel.payment_transaction_id = 0,\r\n tempModel.amount = 0,\r\n tempModel.payment_status = \"\";\r\n\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'joinEvent';\r\n this.httpS.post(apiUrl, tempModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getEventDetailsById(this.eventId);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isSubmit = false;\r\n }\r\n });\r\n }\r\n\r\n loadEventAttendieUsersListModalComponent(item: any) {\r\n const modalReference = this.modalService.open(EventAttendieUsersComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.eventId = item.id; //tagged userslist\r\n modalReference.componentInstance.eventName = item.title; //tagged userslist\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log('reason', reason);\r\n });\r\n }\r\n\r\n openShareOptions(content: string) {\r\n this.modalService.open(content, { windowClass: 'share_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n shareNow = async () => {\r\n // const navigator = window.navigator as any;\r\n // if ('canShare' in navigator) {\r\n // // let currentFullUrl = window.location.href + '?lang=' + urlLang;\r\n // let currentFullUrl = window.location.href;\r\n // let title = this.jobsDetailsModel.title;\r\n // let desc = this.jobsDetailsModel.description;\r\n // let imageUrl = this.jobsDetailsModel.image_fullurl;\r\n // const share = async function () {\r\n // try {\r\n // // const response = await fetch(imageUrl, {mode: 'no-cors'});\r\n // const response = await fetch(imageUrl);\r\n // const blob = await response.blob();\r\n // const file = new File([blob], 'image.jpg', { type: blob.type });\r\n // await navigator.share({\r\n // url: currentFullUrl,\r\n // title: title,\r\n // text: desc,\r\n // files: [file],\r\n // });\r\n // console.log(\"shared successfully....\");\r\n // } catch (err) {\r\n // console.log(err.name, err.message);\r\n // }\r\n // };\r\n // share();\r\n // }\r\n };\r\n\r\n shareOnFacebook() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://twitter.com/intent/tweet?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.linkedin.com/shareArticle?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // Back to top button\r\n @HostListener('window:scroll')\r\n checkScroll() {\r\n // window의 scroll top\r\n // Both window.pageYOffset and document.documentElement.scrollTop returns the same result in all the cases. window.pageYOffset is not supported below IE 9.\r\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (scrollPosition >= this.topPosToStartShowing) {\r\n this.isShow = true;\r\n } else {\r\n this.isShow = false;\r\n }\r\n }\r\n\r\n gotoTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n OpenCoverImageModal(content: string) {\r\n this.modalService.open(content, { windowClass: 'full-screen_img', centered: true }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n // Zoom image on click\r\n OpenImageModal(content: string) {\r\n this.modalService.open(content, { windowClass: 'full-screen_img', centered: true }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Event Edit

\r\n \r\n \r\n
\r\n \r\n Edit {{ eventForm.title }} \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \"uploaded\r\n \r\n \r\n
\r\n \r\n
\r\n
Logo required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \"uploaded\r\n \r\n \r\n
\r\n \r\n
\r\n
Cover image required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event title is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Description required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Category required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event type is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Amount is required !
\r\n
Min Amount is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Schedule is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {{ time.value }} - {{ time.name }}\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
TimeZone is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Start event date is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Start event time is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
End event date is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
End event time is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event last date is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Event nature is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Link required !
\r\n
\r\n Invalid Link !\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Venue required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Street address is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n

\r\n {{ \"ang_invalidPincodeValidation\" | translate }}\r\n

\r\n
\r\n
Pincode required !
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n {{ item.district }} , {{ item.state }} , {{ item.country_name }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n No\r\n Yes\r\n \r\n
\r\n
\r\n
\r\n \r\n Add Organizer\r\n
\r\n \r\n
\r\n
Organizer required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Organizer NameOrganizer EmailOrganizer Mobile NoAction
{{ item.name }}{{ item.email }}{{ item.phone }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n Add Organizer\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Email is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Phone no is required
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\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 { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventModel } from 'src/app/shared/model/event.model';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport swal from 'sweetalert2';\r\n \r\n \r\n \r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-event-edit',\r\n templateUrl: './event-edit.component.html',\r\n styleUrls: ['./event-edit.component.css']\r\n})\r\nexport class EventEditComponent implements OnInit {\r\n eventId: number = 0;\r\n eventForm = new EventModel();\r\n eventModelData: FormData = new FormData();\r\n isSubmit: boolean = false;\r\n eventCategoriesList: any[] = [];\r\n eventsList: any[] = [];\r\n scheduleList: any[] = [];\r\n eventNaturesList: any[] = [];\r\n searchText: string = \"\";\r\n timezoneSearch: string = \"\";\r\n isLocationNotFound: boolean = false;\r\n isTimeZoneShow: boolean = false;\r\n locationsList: any[] = [];\r\n isShowMap: boolean = false;\r\n isOrganizerExisit: boolean = false;\r\n selectedOrganizer: any[] = [];\r\n timezoneArr: any[] = [];\r\n allTimezoneArr: any[] = [];\r\n timezone = 'UTC +05:30 - Asia/Kolkata';\r\n modalReference: any;\r\n imagePost: any;\r\n imageShow: any = \"assets/images/logo RYEC.png\";\r\n postConverImage: any;\r\n converImageShow: any = \"assets/images/logo RYEC.png\";\r\n // activeId: string = \"ngb-panel-0\";\r\n activeId: string = \"\";\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private activeRoute: ActivatedRoute,\r\n private homeService: HomeService,\r\n private modalService: NgbModal,\r\n private cS: CommonService,\r\n public httpService: HttpService,\r\n private datePipe: DatePipe,\r\n private router: Router,\r\n ) {\r\n this.activeRoute.params.subscribe(data => {\r\n this.eventId = data.slug;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.eventId) {\r\n this.getEventDetailsById(this.eventId);\r\n }\r\n this.getEventCategoryList();\r\n this.getEventTypeList();\r\n this.getEventNaturesList();\r\n this.getTimezone();\r\n this.getScheduleList();\r\n this.setDefultTimeAndDate();\r\n // this.toggleAccordian('ngb-panel-0');\r\n }\r\n\r\n toggleAccordian(event: any) {\r\n // console.log('isit');\r\n // console.log('panelId', event.panelId);\r\n // console.log('event', event);\r\n // (panelChange)=\"toggleAccordian($event)\" //place in html\r\n // If it is already open you will close it and if it is closed open it\r\n this.activeId = this.activeId == event.panelId ? \"\" : event.panelId;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n getEventDetailsById(eventId: number) {\r\n const postJson = { event_id: eventId };\r\n this.homeService.getEventDetailsById(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.eventForm = res.data;\r\n this.setLogoImage(res.data.logo_image_url);\r\n this.setCoverImage(res.data.cover_image_url);\r\n if (res.data.location) {\r\n this.setLocationValue(res.data.location);\r\n }\r\n if (this.eventForm.event_organizers.length > 0) {\r\n this.selectedOrganizer = this.eventForm.event_organizers;\r\n this.isOrganizerExisit = true;\r\n this.eventForm.organizer = \"abc\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n setLocationValue(location: any) {\r\n this.selectlocation(location.id, location.district, location.state, location.country);\r\n }\r\n\r\n setLogoImage(image: any) {\r\n this.imageShow = image;\r\n }\r\n\r\n setCoverImage(image: any) {\r\n this.converImageShow = image;\r\n }\r\n\r\n getEventCategoryList() {\r\n this.homeService.getEventCategoryList().subscribe((res: any) => {\r\n this.eventCategoriesList = res.data;\r\n });\r\n }\r\n\r\n getTimezone() {\r\n console.log('call');\r\n const apiUrl = environment.RYEC_API_URL + 'getTimezone';\r\n this.httpService.get(apiUrl).subscribe((res: any) => {\r\n if (res['status'] === 1) {\r\n this.timezoneArr = res.data;\r\n this.allTimezoneArr = this.timezoneArr;\r\n }\r\n });\r\n }\r\n\r\n showTimeZoneDropDown() {\r\n if (this.isTimeZoneShow) {\r\n this.isTimeZoneShow = false;\r\n } else {\r\n this.isTimeZoneShow = true;\r\n }\r\n }\r\n\r\n filterTimeZone() {\r\n this.timezoneArr = [];\r\n if (this.timezoneSearch !== '') {\r\n this.allTimezoneArr.filter((item: any) => {\r\n const search = item['value'] + ' ' + item['name'];\r\n if (search.toLowerCase().indexOf(this.timezoneSearch.toLowerCase()) > -1) {\r\n this.timezoneArr.push(item);\r\n }\r\n });\r\n } else {\r\n this.timezoneArr = this.allTimezoneArr;\r\n }\r\n }\r\n\r\n selectTimeZone(timezone: any) {\r\n this.timezone = timezone.value + ' - ' + timezone.name;\r\n this.isTimeZoneShow = false;\r\n }\r\n\r\n getEventTypeList() {\r\n this.eventsList = [\r\n { id: 'free', value: 'Free' },\r\n { id: 'paid', value: 'Paid' },\r\n ];\r\n }\r\n\r\n getScheduleList() {\r\n this.scheduleList = [\r\n { id: 'not repeat', value: 'Not Repeat' },\r\n { id: 'daily', value: 'Daily' },\r\n { id: 'weekly', value: 'Weekly' },\r\n { id: 'monthly', value: 'Monthly' },\r\n { id: 'yearly', value: 'Yearly' },\r\n ];\r\n }\r\n\r\n getEventNaturesList() {\r\n this.eventNaturesList = [\r\n { id: 'online', value: 'Online' },\r\n { id: 'offline', value: 'Offline' },\r\n ];\r\n }\r\n\r\n locationSearch(event: any) {\r\n // const val = event.target.value;\r\n const val = event;\r\n if (val === \"\" || val.length < 3) {\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n if (val.length >= 3) {\r\n const postJson = { pincode: val };\r\n this.homeService.getLocationByPinCode(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".member-list\").css(\"display\", \"block\");\r\n this.locationsList = res.data;\r\n this.isLocationNotFound = false;\r\n } else {\r\n this.locationsList = [];\r\n this.isLocationNotFound = true;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectlocation(id: number, district: string, state: string, countryName: string) {\r\n this.searchText = district + ' , ' + state + ' , ' + countryName;\r\n this.eventForm.location_id = id;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n\r\n setDefultTimeAndDate() {\r\n this.eventForm.start_date = this.datePipe.transform(new Date(), 'yyyy-MM-dd')!;\r\n this.eventForm.end_date = this.datePipe.transform(new Date(), 'yyyy-MM-dd')!;\r\n this.eventForm.start_time = new Date().toLocaleTimeString([], { hour: '2-digit', minute: \"2-digit\", hour12: false });\r\n this.eventForm.end_time = new Date().toLocaleTimeString([], { hour: '2-digit', minute: \"2-digit\", hour12: false });\r\n this.eventForm.event_end_date = this.datePipe.transform(new Date(), 'yyyy-MM-dd')!;\r\n }\r\n\r\n onChangeMap(event: any) {\r\n if (event == true) {\r\n this.isShowMap = true;\r\n }\r\n else {\r\n this.isShowMap = false;\r\n }\r\n }\r\n\r\n addNewRow() {\r\n this.selectedOrganizer.push({\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\"\r\n });\r\n }\r\n\r\n loadOrganizerModal(content: any) {\r\n if (this.selectedOrganizer.length == 0) {\r\n this.addNewRow();\r\n }\r\n this.modalReference = this.modalService.open(content, { size: \"lg\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n\r\n onAddSOrganizerSubmit() {\r\n this.eventForm.event_organizers = this.selectedOrganizer;\r\n if (this.eventForm.event_organizers.length) {\r\n this.isOrganizerExisit = true;\r\n this.eventForm.organizer = \"abc\";\r\n }\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementById('closeOrganizerComponent') as HTMLElement;\r\n element.click();\r\n }, 200);\r\n }\r\n\r\n deleteRow(index: number) {\r\n swal.fire({\r\n title: 'Are you sure you want to remove ?',\r\n \r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n this.selectedOrganizer.splice(index, 1);\r\n let tempData = JSON.parse(JSON.stringify(this.selectedOrganizer));\r\n this.selectedOrganizer = [];\r\n this.selectedOrganizer = tempData;\r\n this.cS.showSuccess(\"Organizer remove successfully\");\r\n if (this.selectedOrganizer.length == 0) {\r\n this.isOrganizerExisit = false;\r\n this.eventForm.organizer = \"\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n onLogoImageChange(event: any) {\r\n const srcEle = event.target;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.readLogoImageURL(srcEle.files[0]);\r\n } else {\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n\r\n readLogoImageURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.imageShow = reader.result;\r\n self.eventForm.logo_image = input;\r\n self.imagePost = input;\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n onCoverImageChange(event: any) {\r\n const srcEle = event.target;\r\n var filesAmount = event.target.files.length;\r\n for (let i = 0; i < filesAmount; i++) {\r\n if (srcEle.files && srcEle.files[i]) {\r\n this.converImageShow = \"\";\r\n if (this.cS.checkValidImage(srcEle.files[i])) {\r\n this.readCoverImageURL(srcEle.files[i]);\r\n } else {\r\n this.converImageShow = \"assets/images/logo RYEC.png\";\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n readCoverImageURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.converImageShow = reader.result;\r\n // self.converImageShow.push(reader.result);\r\n self.postConverImage = input;\r\n self.eventForm.cover_image = input;\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n setSubmitModelValue() {\r\n if (this.eventForm.site_id) {\r\n this.eventModelData.append(\"site_id\", this.eventForm.site_id);\r\n }\r\n this.eventModelData.append(\"id\", this.eventForm.id);\r\n if (this.imagePost) {\r\n this.eventModelData.append(\"logo_image\", this.eventForm.logo_image);\r\n }\r\n if (this.postConverImage) {\r\n this.eventModelData.append(\"cover_image\", this.eventForm.cover_image);\r\n }\r\n this.eventModelData.append(\"title\", this.eventForm.title);\r\n this.eventModelData.append(\"description\", this.eventForm.description);\r\n this.eventModelData.append(\"event_category\", this.eventForm.event_category);\r\n this.eventModelData.append(\"event_type\", this.eventForm.event_type);\r\n this.eventModelData.append(\"event_price\", this.eventForm.event_price);\r\n this.eventModelData.append(\"event_location\", this.eventForm.event_location);\r\n this.eventModelData.append(\"street_address\", this.eventForm.street_address);\r\n this.eventModelData.append(\"location_id\", this.eventForm.location_id);\r\n let isShowMapVal = (this.eventForm.show_map) ? '1' : '0';\r\n this.eventModelData.append(\"show_map\", isShowMapVal);\r\n this.eventModelData.append(\"event_repeat\", this.eventForm.event_repeat);\r\n this.eventModelData.append(\"start_date\", this.eventForm.start_date);\r\n this.eventModelData.append(\"start_time\", this.eventForm.start_time);\r\n this.eventModelData.append(\"end_date\", this.eventForm.end_date);\r\n this.eventModelData.append(\"end_time\", this.eventForm.end_time);\r\n this.eventModelData.append(\"timezone_id\", this.eventForm.timezone_id);\r\n this.eventModelData.append(\"event_end_date\", this.eventForm.event_end_date);\r\n this.eventModelData.append(\"event_nature\", this.eventForm.event_nature);\r\n this.eventModelData.append(\"external_link\", this.eventForm.external_link);\r\n this.eventModelData.append('event_organizers', JSON.stringify(this.selectedOrganizer));\r\n }\r\n\r\n onSubmit() {\r\n this.setSubmitModelValue();\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'createEvent';\r\n this.httpService.postUpload(apiUrl, this.eventModelData).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isSubmit = false;\r\n this.router.navigate(['/event/details/' + res.data.id]);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isSubmit = false;\r\n }\r\n });\r\n }\r\n\r\n numberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n disableDate() {\r\n return false;\r\n }\r\n\r\n}\r\n","export class GroupManagementModel {\r\n searchText: string;\r\n groupMemberId: number\r\n groupDesignationId: number;\r\n groupMemberRoleId: number;\r\n groupDesignationName: string;\r\n constructor() {\r\n this.searchText = \"\";\r\n this.groupMemberId = null as any;\r\n this.groupDesignationId = null as any;\r\n this.groupMemberRoleId = null as any;\r\n this.groupDesignationName = \"\";\r\n }\r\n}","
\r\n \r\n

{{ groupName }}

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • \r\n \r\n \"profile\"\r\n \r\n \r\n \"profile\"\r\n \r\n {{ item.name }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
Member name is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Designation is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Designation name is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Role name is required
\r\n
\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, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nimport { GroupManagementModel } from '../../model/group-management.model';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HomeService } from '../../services/home.service';\r\nimport { HttpService } from '../../services/http.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-group-member-designation-roles-modal',\r\n templateUrl: './group-member-designation-roles-modal.component.html',\r\n styleUrls: ['./group-member-designation-roles-modal.component.css']\r\n})\r\nexport class GroupMemberDesignationRolesModalComponent implements OnInit {\r\n @Input() groupId: number = 0;\r\n @Input() groupName: string = \"\";\r\n @Input() parentModel: any = {};\r\n @Input() isCustomDesignation: boolean = false;\r\n managementModel = new GroupManagementModel();\r\n suggestMembersList: any = [];\r\n isSubmit: boolean = false;\r\n groupDesignationList: any[] = [];\r\n groupRolesList: any[] = [];\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n private homeService: HomeService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.groupId) {\r\n this.getGroupDesignationsListByGroupId(this.groupId);\r\n this.getGroupRoleList(this.groupId);\r\n }\r\n if(this.parentModel){\r\n this.managementModel = this.parentModel;\r\n }\r\n }\r\n\r\n getGroupDesignationsListByGroupId(id: number) {\r\n const postJson = {\r\n site_id: id,\r\n };\r\n this.homeService.getGroupDesignationsListByGroupId(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n this.groupDesignationList = res.data;\r\n } else {\r\n this.groupDesignationList = [];\r\n }\r\n }\r\n });\r\n }\r\n\r\n getGroupRoleList(id: number) {\r\n const postJson = {\r\n site_id: id,\r\n };\r\n this.homeService.getGroupMemberRoleLists(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n this.groupRolesList = res.data;\r\n } else {\r\n this.groupRolesList = [];\r\n }\r\n }\r\n });\r\n }\r\n\r\n onChangeDesignation() {\r\n if (this.managementModel.groupDesignationId == -1) {\r\n this.managementModel.groupDesignationName = \"\";\r\n this.isCustomDesignation = true;\r\n }\r\n else {\r\n this.managementModel.groupDesignationName = \"\";\r\n this.isCustomDesignation = false;\r\n }\r\n }\r\n\r\n searchMember(event: any) {\r\n const val = event.target.value;\r\n if (val === \"\" || val.length < 3) {\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n if (val.length >= 3) {\r\n const postJson = { site_id: this.groupId, searchText: val };\r\n\r\n this.homeService.getGroupMemberAutocomplete(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".member-list\").css(\"display\", \"block\");\r\n this.suggestMembersList = res.data;\r\n } else {\r\n this.suggestMembersList = [];\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * on select auto suggest member list get selected id and pass into group member id\r\n * @Yuvraj 13/01/22\r\n */\r\n selectMemeber(id: number, name: string) {\r\n this.managementModel.groupMemberId = id;\r\n this.managementModel.searchText = name;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n\r\n onSubmit() {\r\n if (this.managementModel.groupMemberId != null) {\r\n // check if custom group name is exisit & designationid is -1 then rest designationId to null\r\n if (this.managementModel.groupDesignationName != '' && this.managementModel.groupDesignationId == -1) {\r\n this.managementModel.groupDesignationId = null as any;\r\n }\r\n // check if designationid is greater then 0 then empty custom designation name\r\n if (this.managementModel.groupDesignationId > 0) {\r\n this.managementModel.groupDesignationName = \"\";\r\n }\r\n const postJson = {\r\n site_id: this.groupId,\r\n user_id: this.managementModel.groupMemberId,\r\n role_id: this.managementModel.groupMemberRoleId,\r\n group_designation_id: this.managementModel.groupDesignationId,\r\n custom_designation_name: this.managementModel.groupDesignationName\r\n };\r\n const apiUrl = environment.RYEC_API_URL + 'assignRoleSiteMember';\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.activeModal.dismiss('close');\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n else {\r\n this.cS.showError('Please select valid details');\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n

Remove {{ removeUserName }}

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Reason is required
\r\n
\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, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HttpService } from '../../services/http.service';\r\n \r\n\r\n@Component({\r\n selector: 'ryec-group-member-remove-confirmation-modal',\r\n templateUrl: './group-member-remove-confirmation-modal.component.html',\r\n styleUrls: ['./group-member-remove-confirmation-modal.component.css']\r\n})\r\nexport class GroupMemberRemoveConfirmationModalComponent implements OnInit {\r\n @Input() groupId: number = 0;\r\n @Input() removeUserId: number = 0;\r\n @Input() removeUserName: string = \"\";\r\n removeuserModel: any = {};\r\n isSubmit: boolean = false;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.removeuserModel.site_id = this.groupId;\r\n this.removeuserModel.user_id = this.removeUserId;\r\n this.removeuserModel.reason = \"\";\r\n }\r\n\r\n onSubmit() {\r\n if (this.removeuserModel.reason !== '') {\r\n this.removeUser();\r\n // swal({\r\n // title: 'Are you sure you want to Remove '+this.removeUserName+' ?',\r\n // type: 'warning',\r\n // confirmButtonText: 'Yes',\r\n // cancelButtonText: 'No',\r\n // showCancelButton: true,\r\n // showCloseButton: true,\r\n // reverseButtons: true,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#d33',\r\n // confirmButtonClass: 'btn btn-success',\r\n // cancelButtonClass: 'btn btn-danger'\r\n // }).then((result) => {\r\n // if (result.value) {\r\n // this.removeUser();\r\n // }\r\n // });\r\n }\r\n }\r\n\r\n removeUser() {\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'removeGroupMember';\r\n this.httpS.post(apiUrl, this.removeuserModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.activeModal.dismiss('close');\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n // this.activeModal.close();\r\n });\r\n }\r\n\r\n}\r\n","
\n
\n
\n
\n

Edit {{ groupDetailsModel.name }}

\n \n \n \n \n
\n \n General Settings \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n

\n Group name is required !\n

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

\n Category is required !\n

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

\n Description is required !\n

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

\n {{ \"ang_external_pattern_error\" | translate }}\n

\n
\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \"uploaded\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 Social Profiles \n \n
\n
\n \n
\n
\n

Provide complete link to your social profile.

\n

\n \n Ex. https://www.facebook.com/inexture/\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 Privacy \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n \n \n If public, can change to private. But if Private, We can not change it to public.\n \n
\n
\n
\n
\n
\n \n
\n

Users will see the \"Join\" button at the group detail page if you enable this. Otherwise only invited users by admin will be able to join this group.

\n

\n No\n Yes\n \n \n

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

If anyone posts in your group, then it will need to be reviewed by the group admin.

\n

\n No\n Yes\n \n \n

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

If you enable this, users will only need to enter this code when joining the group.

\n

\n No\n Yes\n \n \n

\n
\n
\n
\n
\n
\n \n If you want to get extra details from the new group joiners, you can enable this option. You can set that extra field's label whatever you want to. You can add labels Eg. 'Roll Number', 'Employee Id', 'Identification Number, Etc.\n
\n \n

\n extra field label name is required !\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n Contact Details \n \n
\n
\n \n
\n
\n
\n
\n
\n \n

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

\n \n

\n

\n {{'ang_mobilerequired'| translate}}\n

\n

\n {{ 'ang_mobilevalidation' | translate}}\n

\n

\n {{ 'ang_numbervalidation' | 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 City is required !\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 Group Management \n \n
\n
\n \n
\n
\n
\n
\n

You can assign designation & role to any of group member.\n \n \n

\n
\n
\n
\n
\n
\n \n \n \"user\"/\n {{ item.role_name }}\n \n
\n
\n
\n \n {{ item.name }} | {{ item.singlebusiness.name }}\n \n

\n Designation: \n {{ item.custom_designation_name }}\n {{ item.designation_name }}\n

\n
\n
\n \n {{ item.name }}\n \n

\n Designation: \n {{ item.custom_designation_name }}\n {{ item.designation_name }}\n

\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { GroupMemberDesignationRolesModalComponent } from 'src/app/shared/component/group-member-designation-roles-modal/group-member-designation-roles-modal.component';\nimport { GroupMemberRemoveConfirmationModalComponent } from 'src/app/shared/component/group-member-remove-confirmation-modal/group-member-remove-confirmation-modal.component';\nimport { GroupManagementModel } from 'src/app/shared/model/group-management.model';\nimport { GroupModel } from 'src/app/shared/model/group.model';\nimport { CommonService } from 'src/app/shared/services/common.service';\nimport { HomeService } from 'src/app/shared/services/home.service';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n \n\n \n \n// import {} from '../../../shared/component/city-auto-complete-search/city-auto-complete-search.component.css';\n@Component({\n selector: 'ryec-group-edit',\n templateUrl: './group-edit.component.html',\n styleUrls: ['./group-edit.component.css', '../../shared/component/city-auto-complete-search/city-auto-complete-search.component.css']\n})\nexport class GroupEditComponent implements OnInit {\n logImageShow: any = \"assets/images/logo RYEC.png\";\n groupId: number = 0;\n siteId: number = 0;\n groupModel = new GroupModel();\n groupModelData: FormData = new FormData();\n isSubmit: boolean = false;\n groupDetailsModel: any = {};\n postForm: FormGroup;\n categoryList: any = [];\n converImageShow: any[] = [];\n postConverImage: any[] = [];\n countryList: any[] = [];\n stateList: any[] = [];\n cityList: any[] = [];\n logoImagePost: any;\n showJoinSection: boolean = false;\n isJointRequest: boolean = false;\n isJoinSecurityCodeRequest: boolean = false;\n isPostModerateRequest: boolean = false;\n managementsLists: any[] = [];\n locationsList: any[] = [];\n isPrivate: boolean = false;\n isCoverImageDelete: boolean = false;\n userId: number = 0;\n groupCreatedByUserId: number = 0;\n isShowExtraField: boolean = false;\n managementModel = new GroupManagementModel();\n deleteImageIds: Array = [];\n appName = environment.APP_NAME;\n constructor(\n private activeRoute: ActivatedRoute,\n private homeService: HomeService,\n private fb: FormBuilder,\n private cS: CommonService,\n private httpS: HttpService,\n private router: Router,\n private modalService: NgbModal,\n ) {\n const reg = '((http|https)://)(www.)?[a-zA-Z0-9@:%._\\\\+~#?&//=]{2,256}\\\\.[a-z]{2,6}\\\\b([-a-zA-Z0-9@:%._\\\\+~#?&//=]*)';\n this.postForm = this.fb.group({\n id: [null, Validators.required],\n name: [\"\", Validators.required],\n asset_type_id: [null, Validators.required],\n description: [\"\", Validators.required],\n link: [\"\", Validators.pattern(reg)],\n facebook: [\"\", Validators.pattern(reg)],\n twitter: [\"\", Validators.pattern(reg)],\n linkedin: [\"\", Validators.pattern(reg)],\n instagram: [\"\", Validators.pattern(reg)],\n visibility: [false, Validators.required],\n is_enable_request: [false, Validators.required],\n is_security_code: [false, Validators.required],\n dynamic_field_label: [\"\"],\n is_post_moderate: [false, Validators.required],\n contactPersonName: [\"\"],\n contactNumber: [\"\", Validators.compose([Validators.maxLength(13), Validators.minLength(6), Validators.pattern('^[0-9]+$')])],\n locationId: [null],\n // contactCountryId: [null],\n // contactStateId: [null],\n // contactCityId: [null],\n contactAddress: [\"\"],\n contactPinCode: [\"\"],\n });\n\n const userDetail = this.cS.getUserDetails();\n if (userDetail) {\n this.userId = userDetail.id;\n }\n }\n\n ngOnInit() {\n this.activeRoute.params.subscribe(data => {\n this.groupId = data.slug;\n if (this.groupId) { //if id is available call api\n // this.getAddressDetail();\n this.getGroupDetailsById(this.groupId);\n }\n });\n }\n\n /**\n * get category lists\n * @Yuvraj 05/01/2022\n */\n getCategoryLists(): void {\n let postJson: any;\n postJson = { assetName: 'Group' };\n this.homeService.getSubAssetByAsset(postJson).subscribe((res: any) => {\n if (res.status === 1) {\n this.categoryList = res.data;\n }\n else {\n this.categoryList = [];\n }\n });\n }\n\n onCoverImageChange(event: any) {\n const srcEle = event.target;\n var filesAmount = event.target.files.length;\n if ((this.converImageShow.length + filesAmount) <= 20) {\n for (let i = 0; i < filesAmount; i++) {\n if (srcEle.files && srcEle.files[i]) {\n // this.converImageShow = [];\n if (this.cS.checkValidImage(srcEle.files[i])) {\n this.readCoverImageURL(srcEle.files[i]);\n } else {\n // this.converImageShow = [\"assets/images/logo RYEC.png\"];\n this.cS.showError(\"Please select file less than 5MB.\");\n }\n }\n }\n }\n else {\n this.cS.showError(\"You can only upload 20 images.\");\n }\n }\n\n readCoverImageURL(input: any) {\n const self = this;\n if (input) {\n const reader = new FileReader();\n reader.onload = function (event: Event) {\n if (event.target) {\n // self.converImageShow = reader.result;\n self.converImageShow.push({\n \"id\": 0,\n \"url\": reader.result\n\n });\n self.postConverImage.push(input);\n }\n };\n this.isCoverImageDelete = false;\n reader.readAsDataURL(input);\n }\n }\n\n removeCoverImage(id: number, index: number) {\n if (id !== undefined && id !== 0) {\n this.postConverImage.splice(index, 1);\n this.converImageShow.splice(index, 1);\n this.deleteImageIds.push(id);\n } else {\n this.converImageShow.splice(index, 1);\n this.postConverImage.splice(index, 1);\n }\n // console.log('id', id);\n // this.postConverImage.splice(index, 1);\n // this.converImageShow.splice(index, 1);\n // this.isCoverImageDelete = true;\n }\n\n removeLogoImage() {\n this.logoImagePost = \"\";\n this.logImageShow = \"assets/images/logo RYEC.png\";\n }\n\n onLogoImageChange(event: any) {\n const srcEle = event.target;\n if (srcEle.files && srcEle.files[0]) {\n if (this.cS.checkValidImage(srcEle.files[0])) {\n this.readLogoImageURL(srcEle.files[0]);\n } else {\n this.cS.showError(\"Please select file less than 5MB.\");\n }\n }\n }\n\n readLogoImageURL(input: any) {\n const self = this;\n if (input) {\n const reader = new FileReader();\n reader.onload = function (event: Event) {\n if (event.target) {\n self.logImageShow = reader.result;\n self.logoImagePost = input;\n }\n };\n reader.readAsDataURL(input);\n }\n }\n\n onPrivacyChange(event: any) {\n if (event == true) {\n this.showJoinSection = true;\n }\n else {\n this.showJoinSection = false;\n }\n }\n\n joinRequest(event: any) {\n if (event == true) {\n this.isJointRequest = true;\n }\n else {\n this.isJointRequest = false;\n }\n }\n\n /**\n * set model value from response of api\n * @Yuvraj 12/01/2022\n */\n setFormData(data: any) {\n this.postForm.patchValue({\n id: data.id,\n name: data.name,\n asset_type_id: data.asset_type_id,\n description: data.description,\n link: data.link,\n });\n this.setLogoImg(data.logo);\n if (data.images.length) {\n // this.setCoverImg(data.images[0].url);\n this.setCoverImg(data.images);\n }\n this.setSocialLinkData(data.socials);\n this.setPrivacyData(data);\n this.setJoinRequestData(data);\n this.setContactData(data.contact);\n this.setSecurityCodeData(data);\n this.setPostModerateData(data);\n this.setExtraFieldData(data);\n }\n\n setSocialLinkData(socials: any | {}) {\n if (socials) {\n this.postForm.patchValue({\n facebook: !!socials.facebook ? socials.facebook : '',\n twitter: !!socials.twitter ? socials.twitter : '',\n linkedin: !!socials.linkedin ? socials.linkedin : '',\n instagram: !!socials.instagram ? socials.instagram : '',\n });\n }\n }\n\n setPrivacyData(data: any) {\n if (data.visibility == 'Public') {\n this.postForm.patchValue({\n visibility: false,\n });\n }\n\n else if (data.visibility == 'Private') {\n this.postForm.patchValue({\n visibility: true,\n });\n this.onPrivacyChange(true);\n this.isPrivate = true; //disable public type if group is private type\n }\n }\n\n setJoinRequestData(data: any) {\n this.postForm.patchValue({\n is_enable_request: data.is_enable_request,\n });\n this.joinRequest(data.is_enable_request);\n }\n\n setSecurityCodeData(data: any) {\n let isSecurityCodeEnable = (data.is_security_code == 1) ? true : false;\n this.postForm.patchValue({\n is_security_code: isSecurityCodeEnable,\n });\n this.joinSecurityCode(isSecurityCodeEnable);\n }\n\n setExtraFieldData(data: any) {\n this.postForm.patchValue({\n dynamic_field_label: data.dynamic_field_label,\n });\n }\n\n setPostModerateData(data: any) {\n let isPostModerateEnable = (data.is_post_moderate == 1) ? true : false;\n this.postForm.patchValue({\n is_post_moderate: isPostModerateEnable,\n });\n this.onGroupPostModerate(isPostModerateEnable);\n }\n\n setContactData(contact: any) {\n if (contact) {\n this.postForm.patchValue({\n contactPersonName: !!contact.name ? contact.name : '',\n contactNumber: !!contact.mobile_no ? contact.mobile_no : \"\",\n contactPinCode: !!contact.pincode ? contact.pincode : \"\",\n locationId: !!contact.location_id ? contact.location_id : \"\",\n contactAddress: !!contact.address ? contact.address : \"\",\n });\n\n if (contact.pincode) {\n this.locationSearch(contact.pincode)\n }\n }\n }\n /**\n * set logo image from response of api\n * @Yuvraj 12/01/2022\n */\n setLogoImg(url: any) {\n if (url) {\n this.logImageShow = url;\n }\n else {\n this.removeLogoImage();\n }\n }\n\n /**\n * set cover image from response of api\n * @Yuvraj 12/01/2022\n */\n setCoverImg(images: any) {\n if (images) {\n console.log('images', images);\n this.converImageShow = [];\n // this.postConverImage = images;\n this.converImageShow = images;\n // this.converImageShow.push(images);\n }\n }\n\n setSubmitModelValue() {\n this.groupModelData.append(\"id\", this.postForm.controls.id.value);\n this.groupModelData.append(\"name\", this.postForm.controls.name.value);\n this.groupModelData.append(\"asset_type_id\", this.postForm.controls.asset_type_id.value);\n this.groupModelData.append(\"description\", this.postForm.controls.description.value);\n this.groupModelData.append(\"link\", this.postForm.controls.link.value);\n this.groupModelData.append(\"visibility\", this.postForm.controls.visibility.value);\n this.groupModelData.append(\"is_enable_request\", this.postForm.controls.is_enable_request.value);\n let isSecurityCodeEnable = (this.postForm.controls.is_security_code.value) ? '1' : '0';\n this.groupModelData.append(\"is_security_code\", isSecurityCodeEnable);\n let isPostModerate = (this.postForm.controls.is_post_moderate.value) ? '1' : '0';\n this.groupModelData.append(\"dynamic_field_label\", this.postForm.controls.dynamic_field_label.value);\n this.groupModelData.append(\"is_post_moderate\", isPostModerate);\n this.groupModelData.append(\"contact_name\", this.postForm.controls.contactPersonName.value);\n this.groupModelData.append(\"mobile_no\", this.postForm.controls.contactNumber.value);\n this.groupModelData.append(\"pincode\", this.postForm.controls.contactPinCode.value);\n this.groupModelData.append(\"location_id\", this.postForm.controls.locationId.value);\n this.groupModelData.append(\"address\", this.postForm.controls.contactAddress.value);\n // let deleteImages = (this.isCoverImageDelete) ? 'true' : 'false';\n // let deleteImages = (this.isCoverImageDelete) ? '1' : '0';\n // this.groupModelData.append(\"deleted_images\", deleteImages);\n this.groupModelData.append(\"delete_image_ids\", JSON.stringify(this.deleteImageIds));\n let social = JSON.stringify({\n facebook: this.postForm.value['facebook'],\n twitter: this.postForm.value['twitter'],\n linkedin: this.postForm.value['linkedin'],\n instagram: this.postForm.value['instagram']\n });\n this.groupModelData.append(\"socials\", social);\n\n for (const x in Object.keys(this.postConverImage)) {\n this.groupModelData.append(\"images[\" + x + \"]\", this.postConverImage[x]);\n }\n if (this.logoImagePost) {\n this.groupModelData.append(\"logo\", this.logoImagePost);\n }\n }\n\n onSubmit() {\n if (this.postForm.valid) {\n this.setSubmitModelValue();\n this.isSubmit = true;\n const apiUrl = environment.RYEC_API_URL + 'createOrUpdateSite';\n this.httpS.postUpload(apiUrl, this.groupModelData).subscribe((res: any) => {\n if (res.status === 1) {\n this.cS.showSuccess(res.message);\n this.isSubmit = false;\n this.router.navigate(['/group/details/' + res.data.id]);\n }\n else {\n this.cS.showError(res.message);\n this.isSubmit = false;\n }\n });\n }\n }\n\n /**\n * if get groupid from query params call api to get details of group\n * @Yuvraj 06/01/2022\n */\n getGroupDetailsById(groupId: number) {\n const postJson = {\n id: groupId,\n };\n this.homeService.getGroupDetailsById(postJson).subscribe((res: any) => {\n if (res.data) {\n this.groupDetailsModel = res.data;\n this.groupCreatedByUserId = this.groupDetailsModel.created_by.id;\n this.getCategoryLists();\n this.setFormData(res.data);\n // this.getGroupRoleList(this.groupDetailsModel.id);\n // if (this.groupDetailsModel.id) {\n // this.getGroupDesignationsListByGroupId(this.groupDetailsModel.id);\n // }\n this.getGroupMemberDetailsById(this.groupDetailsModel.id)\n }\n });\n }\n\n /**\n * get country state city\n */\n getAddressDetail() {\n this.homeService.getAddressMaster().subscribe(\n (res: any) => {\n this.countryList = res.data.countries;\n this.stateList = res.data.states;\n this.cityList = res.data.cities;\n });\n }\n\n\n locationSearch(event: any) {\n const val = event;\n if (val.length >= 6) {\n const postJson = { pincode: val };\n this.homeService.getLocationByPinCode(postJson).subscribe((res: any) => {\n if (res.data) {\n if (res.data.length > 0) {\n this.locationsList = res.data;\n } else {\n this.locationsList = [];\n }\n }\n });\n }\n }\n\n\n getGroupMemberDetailsById(siteId: number) {\n const postJson = {\n site_id: siteId,\n with_member: false\n };\n this.homeService.getGroupMemberById(postJson).subscribe((res: any) => {\n if (res.data) {\n this.managementsLists = res.data.allGroupMembers;\n }\n });\n }\n\n onEditMemberRole(item: any) {\n this.managementModel.groupMemberId = item.id;\n this.managementModel.searchText = item.name;\n this.managementModel.groupMemberRoleId = item.role_id;\n let isCustomDesignation: boolean = false;\n if (item.group_designation_id) {\n this.managementModel.groupDesignationId = item.group_designation_id;\n }\n if (item.custom_designation_name) {\n isCustomDesignation = true;\n this.managementModel.groupDesignationId = -1;\n this.managementModel.groupDesignationName = item.custom_designation_name;\n }\n this.loadGroupMemberDesignationAndRolesModalComponent(this.managementModel, isCustomDesignation);\n }\n\n joinSecurityCode(event: any) {\n if (event == true) {\n this.isJoinSecurityCodeRequest = true;\n this.isShowExtraField = true;\n }\n else {\n this.isJoinSecurityCodeRequest = false;\n this.isShowExtraField = false;\n }\n }\n\n loadGroupMemberRemoveConfirmationModalComponent(id: number, name: string) {\n if (this.userId === this.groupDetailsModel.created_by.id) {\n const modalReference = this.modalService.open(GroupMemberRemoveConfirmationModalComponent, { windowClass: 'mobile_popup' });\n modalReference.componentInstance.groupId = this.groupDetailsModel.id; //group id\n modalReference.componentInstance.removeUserId = id; //group user id\n modalReference.componentInstance.removeUserName = name; //group user name\n modalReference.result.then((result: any) => {\n console.log(`Closed with: ${result}`);\n }, (reason: any) => {\n if (reason == 'close') {\n this.getGroupMemberDetailsById(this.groupDetailsModel.id);\n }\n });\n }\n else {\n this.cS.showError(\"You are not authorized to access!\");\n }\n }\n\n loadGroupMemberDesignationAndRolesModalComponent(managementModel?: any, isCustomDesignation?: boolean) {\n if (this.userId === this.groupDetailsModel.created_by.id) {\n const modalReference = this.modalService.open(GroupMemberDesignationRolesModalComponent, { windowClass: 'mobile_popup' });\n modalReference.componentInstance.groupId = this.groupDetailsModel.id; //group id\n modalReference.componentInstance.groupName = this.groupDetailsModel.name; //group name\n modalReference.componentInstance.parentModel = managementModel; //pass model in child if user click on edit button\n modalReference.componentInstance.isCustomDesignation = isCustomDesignation; //pass custom designation value if exisit\n modalReference.result.then((result: any) => {\n console.log(`Closed with: ${result}`);\n }, (reason: any) => {\n if (reason == 'close') {\n this.getGroupMemberDetailsById(this.groupDetailsModel.id);\n }\n });\n }\n else {\n this.cS.showError(\"You are not authorized to access!\");\n }\n }\n\n onGroupPostModerate(event: any) {\n if (event == true) {\n this.isPostModerateRequest = true;\n }\n else {\n this.isPostModerateRequest = false;\n }\n }\n\n numberOnly(event: any): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n }\n\n}\n","
\r\n \r\n

Apply for {{ jobName }}

\r\n \r\n
\r\n\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
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Mobile is required
\r\n
Please enter valid Mobile Number
\r\n
Please enter valid Mobile Number
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Experience is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Be sure to include an updated resume\r\n
\r\n
\r\n

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

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{ attachedFileName }}\r\n
\r\n
\r\n
Document is required
\r\n
\r\n
\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, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-job-apply-modal',\r\n templateUrl: './job-apply-modal.component.html',\r\n styleUrls: ['./job-apply-modal.component.css']\r\n})\r\nexport class JobApplyModalComponent implements OnInit {\r\n @Input() jobName: string = \"\";\r\n @Input() jobId: number = 0;\r\n jobApplyModel: any = {};\r\n isSubmit: boolean = false;\r\n attachedFileName: string = \"\";\r\n attachedFile: any;\r\n postModel: FormData = new FormData();\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.jobApplyModel.email = userDetail.email;\r\n this.jobApplyModel.mobileNo = userDetail.phone;\r\n }\r\n this.jobApplyModel.job_vacancy_id = this.jobId;\r\n }\r\n\r\n setSubmitModelValue() {\r\n this.postModel.append(\"job_vacancy_id\", this.jobApplyModel.job_vacancy_id);\r\n this.postModel.append(\"email\", this.jobApplyModel.email);\r\n this.postModel.append(\"mobile_no\", this.jobApplyModel.mobileNo);\r\n this.postModel.append(\"experience\", this.jobApplyModel.experience);\r\n if (this.jobApplyModel.documentFile) {\r\n this.postModel.append(\"document_file\", this.jobApplyModel.attachedFile);\r\n }\r\n }\r\n\r\n onFileChange(event: any) {\r\n const srcEle = event.srcElement;\r\n // console.log('srcEle', event)\r\n this.attachedFileName = srcEle.files[0].name;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidDocSize(srcEle.files[0])) {\r\n this.jobApplyModel.attachedFile = srcEle.files[0];\r\n this.jobApplyModel.documentFile = srcEle.files[0];\r\n // this.postModel.append('document', srcEle.files[0]);\r\n } else {\r\n this.jobApplyModel.documentFile = \"\";\r\n // this.postModel.set('document', '');\r\n this.cS.showError(\"Please select file less than 2MB.\");\r\n }\r\n }\r\n }\r\n\r\n numberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSubmit() {\r\n this.setSubmitModelValue();\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'applyJob';\r\n this.httpS.postUpload(apiUrl, this.postModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isSubmit = false;\r\n this.activeModal.dismiss('close');\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isSubmit = false;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \"Cover\"\r\n
\r\n
\r\n \r\n
\r\n \"Cover\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ jobsDetailsModel.title }}

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

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

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

\r\n \r\n \r\n {{ jobsDetailsModel.company_name }}\r\n \r\n

\r\n

\r\n \r\n \r\n {{ jobsDetailsModel.location.district }}, {{ jobsDetailsModel.location.state }}, {{ jobsDetailsModel.location.country }}\r\n \r\n

\r\n

\r\n \r\n \r\n \r\n {{ jobsDetailsModel.external_link }}\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n About\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n Job Applicant ({{ jobsDetailsModel.job_applied_count }})\r\n \r\n 1\">\r\n Job Applicants ({{ jobsDetailsModel.job_applied_count }})\r\n \r\n \r\n Job Applicant (0)\r\n \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ jobsDetailsModel.title }}

\r\n \r\n
\r\n
    \r\n
  • \r\n
    Minimum Experience Needed
    \r\n

    No Experience Needed

    \r\n

    0\">{{ jobsDetailsModel.experience }}

    \r\n
  • \r\n
  • \r\n
    Workplace Type
    \r\n

    {{ jobsDetailsModel.workplace_type }}

    \r\n
  • \r\n
  • \r\n
    Employment Type
    \r\n

    {{ jobsDetailsModel.employment_type }}

    \r\n
  • \r\n
  • \r\n
    Required Degree
    \r\n
      \r\n
    • \r\n {{item}}\r\n
    • \r\n
    \r\n
  • \r\n
  • \r\n
    Required Skills
    \r\n
      \r\n
    • \r\n {{item.skill_name}}\r\n
    • \r\n
    \r\n
  • \r\n
  • \r\n
    Desciption
    \r\n

    {{ jobsDetailsModel.description }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
{{ \"ang_share\" | 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","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { OwlCarousel } from 'ngx-owl-carousel';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport Swal from 'sweetalert2';\r\nimport swal from 'sweetalert2';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\nimport { JobApplyModalComponent } from '../job-apply-modal/job-apply-modal.component';\r\n\r\n@Component({\r\n selector: 'ryec-group-job-details',\r\n templateUrl: './group-job-details.component.html',\r\n styleUrls: ['./group-job-details.component.css']\r\n})\r\nexport class GroupJobDetailsComponent implements OnInit {\r\n jobsDetailsModel: any ;\r\n userId: number = 0;\r\n jobId: number = 0;\r\n isMobile: boolean = false;\r\n isShow: boolean = false;\r\n topPosToStartShowing = 100;\r\n jobCreatedByUserId: number = 0;\r\n\r\n @ViewChild('owlElement')\r\n owlElement!: OwlCarousel;\r\n fun() {\r\n this.owlElement.next([200]);\r\n }\r\n customOptions = {\r\n loop: true,\r\n dots: false,\r\n nav: true,\r\n items: 1,\r\n margin: 0,\r\n startPosition: 0\r\n }\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public cS: CommonService,\r\n private activeRoute: ActivatedRoute,\r\n private homeService: HomeService,\r\n private deviceService: DeviceDetectorService,\r\n private modalService: NgbModal,\r\n private router: Router,\r\n private httpS: HttpService,\r\n ) {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n this.userId = userDetail.id;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.activeRoute.params.subscribe(data => {\r\n this.jobId = data.slug;\r\n if (this.jobId) { //if id is available call api\r\n this.getJobDetailsById(this.jobId);\r\n }\r\n });\r\n\r\n this.isMobile = this.deviceService.isMobile();\r\n }\r\n\r\n /**\r\n * if get jobId from query params call api to get details of job\r\n * @Yuvraj 08/04/2022\r\n */\r\n getJobDetailsById(jobId: number) {\r\n const postJson = {\r\n job_vacancy_id: jobId,\r\n };\r\n this.homeService.getJobDetailsById(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.jobsDetailsModel = res.data;\r\n this.jobCreatedByUserId = this.jobsDetailsModel.user.id;\r\n this.convertQualificationToArray();\r\n }\r\n });\r\n }\r\n\r\n convertQualificationToArray() {\r\n if (this.jobsDetailsModel.qualification) {\r\n this.jobsDetailsModel.qualification = this.jobsDetailsModel.qualification.split(',');\r\n }\r\n else {\r\n this.jobsDetailsModel.qualification = [];\r\n }\r\n }\r\n\r\n loadJobApplyModalComponent(item: any) {\r\n const modalReference = this.modalService.open(JobApplyModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.jobId = item.id; //job id\r\n modalReference.componentInstance.jobName = item.title; //job name\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason == 'close') {\r\n // this.checkRouterUrlForCallingAPI();\r\n this.getJobDetailsById(this.jobId);\r\n }\r\n });\r\n }\r\n\r\n onWithdrawJobApply(item: any) {\r\n swal.fire({\r\n // title: 'Are you sure you want to withdraw' + item.title + ' ?',\r\n title: 'Are you sure you want to withdraw this job application?',\r\n \r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n let tempModel: any = {};\r\n tempModel.job_vacancy_id = item.id;\r\n const apiUrl = environment.RYEC_API_URL + 'cancelJobApply';\r\n this.httpS.post(apiUrl, tempModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getJobDetailsById(this.jobId);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onEdit(id: any) {\r\n this.router.navigate(['/job/edit/' + id]);\r\n }\r\n\r\n onJobDelete(id: number, name: string) {\r\n swal.fire({\r\n title: 'Are you sure you want to delete ' + name + ' ?',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n this.delteAndCancelJob(id, 'delete');\r\n }\r\n });\r\n }\r\n\r\n onCloseJob(id: number, name: string) {\r\n \r\n Swal.fire({\r\n title: 'Are you sure you want to remove ?',\r\n \r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n \r\n \r\n }).then((result) => {\r\n \r\n if (result.value) {\r\n this.delteAndCancelJob(id, 'close');\r\n }\r\n })\r\n\r\n\r\n}\r\n\r\n delteAndCancelJob(id: number, type: string) {\r\n let tempModel: any = {};\r\n tempModel.job_vacancy_id = id;\r\n let apiUrl: string = \"\";\r\n if (type == 'delete') {\r\n apiUrl = environment.RYEC_API_URL + 'deleteJob';\r\n }\r\n else if (type == 'close') {\r\n apiUrl = environment.RYEC_API_URL + 'JobClose';\r\n }\r\n this.httpS.post(apiUrl, tempModel).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n if (this.jobsDetailsModel.site_id) {\r\n this.router.navigate(['/jobs/' + this.jobsDetailsModel.site_id]);\r\n }\r\n else {\r\n this.router.navigate(['/jobs']);\r\n }\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n\r\n loadApplicantComponent(id: number) {\r\n this.router.navigate(['/job/applicant/' + id]);\r\n }\r\n\r\n openShareOptions(content: any) {\r\n this.modalService.open(content, { windowClass: 'share_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n shareNow = async () => {\r\n const navigator = window.navigator as any;\r\n if ('canShare' in navigator) {\r\n // let currentFullUrl = window.location.href + '?lang=' + urlLang;\r\n let currentFullUrl = window.location.href;\r\n let title = this.jobsDetailsModel.title;\r\n let desc = this.jobsDetailsModel.description;\r\n let imageUrl = this.jobsDetailsModel.image_fullurl;\r\n const share = async function () {\r\n try {\r\n // const response = await fetch(imageUrl, {mode: 'no-cors'});\r\n const response = await fetch(imageUrl);\r\n const blob = await response.blob();\r\n const file = new File([blob], 'image.jpg', { type: blob.type });\r\n await navigator.share({\r\n url: currentFullUrl,\r\n title: title,\r\n text: desc,\r\n files: [file],\r\n });\r\n console.log(\"shared successfully....\");\r\n } catch (err:any) {\r\n console.log(err.name, err.message);\r\n }\r\n };\r\n share();\r\n }\r\n };\r\n\r\n OpenCoverImageModal(content: any) {\r\n this.modalService.open(content, { windowClass: 'full-screen_img', centered: true }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n shareOnFacebook() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n shareOnTwitter() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://twitter.com/intent/tweet?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.linkedin.com/shareArticle?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n\r\n // Back to top button\r\n @HostListener('window:scroll')\r\n checkScroll() {\r\n // window의 scroll top\r\n // Both window.pageYOffset and document.documentElement.scrollTop returns the same result in all the cases. window.pageYOffset is not supported below IE 9.\r\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (scrollPosition >= this.topPosToStartShowing) {\r\n this.isShow = true;\r\n } else {\r\n this.isShow = false;\r\n }\r\n\r\n }\r\n\r\n gotoTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n}\r\n","export class GroupJobModel{\r\n application_id: any;\r\n title: string;\r\n type: string;\r\n company_name: string;\r\n workplace_type: any;\r\n location_id: any;\r\n employment_type: any;\r\n description: string;\r\n skills: string;\r\n qualification: string;\r\n experience: any;\r\n external_link: string;\r\n image_url: string;\r\n constructor(){\r\n this.application_id = 1;\r\n this.title = \"\";\r\n this.type = \"Job Hiring\";\r\n this.company_name = \"\";\r\n this.workplace_type = null as any;\r\n this.location_id = 0;\r\n this.employment_type = null as any;\r\n this.description = \"\";\r\n this.skills = \"\";\r\n this.qualification = \"\";\r\n this.experience = 0;\r\n this.external_link = \"\";\r\n this.image_url = \"\";\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n

Job Edit

\r\n \r\n \r\n
\r\n \r\n Edit Job Post \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Job title is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Company name is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Workplace is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n

\r\n {{ \"ang_invalidPincodeValidation\" | translate }}\r\n

\r\n
\r\n
Location required !
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n {{ item.district }} , {{ item.state }} , {{ item.country_name }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Employment type required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Description required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Add Skill\r\n

\r\n \r\n

\r\n
\r\n
Skills required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

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

\r\n
\r\n
Degree required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Degree required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Degree required !
\r\n
\r\n Invalid Link !\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \"uploaded\r\n \r\n \r\n
\r\n \r\n
\r\n
Image required !
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

\r\n Add Skill\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Skill is required
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\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 { COMMA, ENTER } from '@angular/cdk/keycodes';\r\n\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { GroupJobModel } from '../../../../shared/model/group-job.model';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-group-job-edit',\r\n templateUrl: './group-job-edit.component.html',\r\n styleUrls: ['./group-job-edit.component.css']\r\n})\r\nexport class GroupJobEditComponent implements OnInit {\r\n jobForm = new GroupJobModel();\r\n jobId: any;\r\n groupId: any;\r\n jobModelData: FormData = new FormData();\r\n list: any[] = [];\r\n workplaceTypesList: any[] = [];\r\n employmentTypesList: any[] = [];\r\n qualificationsList: any[] = [];\r\n locationsList: any[] = [];\r\n skillsList: any[] = [];\r\n selectedSkillsList: any[] = [];\r\n isSubmit: boolean = false;\r\n isLocationNotFound: boolean = false;\r\n searchText: string = \"\";\r\n imageShow: any = \"assets/images/logo RYEC.png\";\r\n imagePost: any;\r\n defaultSelectedVal: any;\r\n modalReference: any;\r\n visible = true;\r\n selectable = true;\r\n removable = true;\r\n addOnBlur = true;\r\n readonly separatorKeysCodes: number[] = [ENTER, COMMA];\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n private cS: CommonService,\r\n private hmS: HomeService,\r\n private modalService: NgbModal,\r\n private httpS: HttpService,\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n ) {\r\n this.activeRoute.params.subscribe(data => {\r\n this.jobId = data.slug;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getWorkPlaceTypesList();\r\n this.getEmploymentTypesList();\r\n this.getQualificationsList();\r\n this.getSkillsList();\r\n if (this.jobId) {\r\n this.getJobDetailsById(this.jobId);\r\n }\r\n }\r\n\r\n /**\r\n * if get jobId from query params call api to get details of job\r\n * @Yuvraj 08/04/2022\r\n */\r\n getJobDetailsById(jobId: number) {\r\n const postJson = {\r\n job_vacancy_id: jobId,\r\n };\r\n this.hmS.getJobDetailsById(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.jobForm = res.data;\r\n if (res.data.location) {\r\n this.setLocationValue(res.data.location);\r\n }\r\n if (res.data.jobskill.length) {\r\n this.setSkillValue(res.data.jobskill);\r\n }\r\n if (res.data.qualification) {\r\n this.convertQualificationToArray(res.data.qualification);\r\n }\r\n if (res.data.image_fullurl) {\r\n this.setImageValue(res.data.image_fullurl);\r\n }\r\n }\r\n });\r\n }\r\n\r\n setSkillValue(selectedSkill: any) {\r\n selectedSkill.forEach((element: any) => {\r\n this.selectedSkillsList.push({\r\n id: element.id,\r\n value: element.skill_name\r\n })\r\n });\r\n this.onAddSkillSubmit();\r\n }\r\n\r\n setLocationValue(location: any) {\r\n this.selectlocation(location.id, location.district, location.state, location.country);\r\n }\r\n\r\n convertQualificationToArray(qualification: any) {\r\n this.defaultSelectedVal = qualification.split(',');\r\n this.onEducationChange(this.defaultSelectedVal);\r\n }\r\n\r\n setImageValue(imageUrl: any) {\r\n this.imageShow = imageUrl;\r\n }\r\n\r\n getWorkPlaceTypesList() {\r\n this.workplaceTypesList = [\r\n { id: 1, value: 'On Site' },\r\n { id: 2, value: 'Remote' },\r\n { id: 3, value: 'Hybrid' }\r\n ];\r\n }\r\n\r\n getEmploymentTypesList() {\r\n this.employmentTypesList = [\r\n { id: 1, value: 'Full Time' },\r\n { id: 2, value: 'Part Time' },\r\n { id: 3, value: 'Contract Basic' },\r\n { id: 4, value: 'Internship' }\r\n ];\r\n }\r\n\r\n getSkillsList() {\r\n this.skillsList = [\r\n { id: 1, value: 'HTML' },\r\n { id: 2, value: 'CSS' },\r\n { id: 3, value: 'Javascript' },\r\n { id: 4, value: 'Android' }\r\n ];\r\n }\r\n\r\n getQualificationsList() {\r\n this.qualificationsList = [\r\n { id: 1, value: 'Secondary School Certificate' },\r\n { id: 2, value: 'Higher Secondary Certificate' },\r\n { id: 3, value: 'Diploma of education' },\r\n { id: 4, value: 'Bachelor of Applied Science - BASC' },\r\n { id: 5, value: 'Bachelor of Architecture - BArch' },\r\n { id: 6, value: 'Bachelor of Arts - BA' },\r\n { id: 7, value: 'Bachelor of Business Administration - BBA' },\r\n { id: 8, value: 'Bachelor of Commerce - BCom' },\r\n { id: 9, value: 'Bachelor of Education - BEG' },\r\n { id: 10, value: 'Bachelor of Engineering - BE' },\r\n { id: 11, value: 'Bachelor of Fine Arts - BFA' },\r\n { id: 12, value: 'Master of Architecture MArch' },\r\n { id: 13, value: 'Master of Arts - MA' },\r\n { id: 14, value: 'Master of Business Administration - MBA' },\r\n { id: 15, value: 'Master of Computer Applications - MCA' },\r\n { id: 16, value: 'Master of Divinity - MDiv' },\r\n { id: 17, value: 'Master of Education - Med' },\r\n { id: 18, value: 'Master of Engineering - Ming' },\r\n { id: 19, value: 'Master of Fine Arts - MFA' },\r\n { id: 20, value: 'Master of Laws LLM' },\r\n { id: 21, value: 'Master of Library & Information Science MLIS' },\r\n { id: 22, value: 'Master of Philosophy - MPhil' },\r\n { id: 23, value: 'Master of Public Administration - MPA' },\r\n { id: 24, value: 'Master of Public Health - MPH' },\r\n { id: 25, value: 'Master of Science - MS' },\r\n { id: 26, value: 'Master of Social Work MSW' },\r\n { id: 27, value: 'Master of Technology - Mech' },\r\n { id: 28, value: 'Doctor of Education - ECD' },\r\n { id: 29, value: 'Doctor of Law' },\r\n { id: 30, value: 'Doctor of Medicine - MD' },\r\n { id: 31, value: 'Doctor of Pharmacy - PharmD' },\r\n { id: 32, value: 'Doctorate Philosophy - PHD' },\r\n { id: 33, value: 'Doctorate of Science' },\r\n { id: 34, value: 'Any' },\r\n ];\r\n }\r\n\r\n locationSearch(event: any) {\r\n // const val = event.target.value;\r\n const val = event;\r\n if (val === \"\" || val.length < 3) {\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n if (val.length >= 3) {\r\n const postJson = { pincode: val };\r\n\r\n this.hmS.getLocationByPinCode(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".member-list\").css(\"display\", \"block\");\r\n this.locationsList = res.data;\r\n this.isLocationNotFound = false;\r\n } else {\r\n this.locationsList = [];\r\n this.isLocationNotFound = true;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectlocation(id: number, district: string, state: string, countryName: string) {\r\n this.searchText = district + ' , ' + state + ' , ' + countryName;\r\n this.jobForm.location_id = id;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n\r\n\r\n onLogoImageChange(event: any) {\r\n const srcEle = event.target;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.readLogoImageURL(srcEle.files[0]);\r\n } else {\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n\r\n readLogoImageURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.imageShow = reader.result;\r\n self.jobForm.image_url = input;\r\n self.imagePost = input;\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n onEducationChange(event: any) {\r\n let selectedVal = event;\r\n let newNode: any[] = [];\r\n selectedVal.forEach((element: any) => {\r\n newNode.push(element);\r\n });\r\n this.jobForm.qualification = newNode.toString();\r\n }\r\n\r\n /**\r\n * Add row on click add more\r\n * @Yuvraj\r\n * 08/04/2021\r\n */\r\n addNewRow() {\r\n this.selectedSkillsList.push({\r\n id: + 1,\r\n value: ''\r\n });\r\n }\r\n\r\n onAddSkillSubmit() {\r\n let newNode: any[] = [];\r\n this.selectedSkillsList.forEach((element: any) => {\r\n newNode.push(element.value);\r\n });\r\n this.jobForm.skills = newNode.toString();\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementById('closeSkillComponent') as HTMLElement;\r\n element.click();\r\n }, 200);\r\n }\r\n\r\n deleteRow(index: any) {\r\n this.selectedSkillsList.splice(index, 1);\r\n let tempData = JSON.parse(JSON.stringify(this.selectedSkillsList));\r\n this.selectedSkillsList = [];\r\n this.selectedSkillsList = tempData;\r\n this.cS.showSuccess(\"Skill deleted successfully\");\r\n }\r\n\r\n loadSkillModal(content: any) {\r\n if (this.selectedSkillsList.length == 0) {\r\n this.addNewRow();\r\n }\r\n this.modalReference = this.modalService.open(content, { windowClass: \"modal-md\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n\r\n setSubmitModelValue() {\r\n this.jobModelData.append(\"application_id\", this.jobForm.application_id);\r\n // this.jobModelData.append(\"site_id\", this.groupId);\r\n this.jobModelData.append(\"id\", this.jobId);\r\n this.jobModelData.append(\"type\", this.jobForm.type);\r\n this.jobModelData.append(\"title\", this.jobForm.title);\r\n this.jobModelData.append(\"company_name\", this.jobForm.company_name);\r\n this.jobModelData.append(\"workplace_type\", this.jobForm.workplace_type);\r\n this.jobModelData.append(\"location_id\", this.jobForm.location_id);\r\n this.jobModelData.append(\"employment_type\", this.jobForm.employment_type);\r\n this.jobModelData.append(\"description\", this.jobForm.description);\r\n this.jobModelData.append(\"skills\", this.jobForm.skills);\r\n this.jobModelData.append(\"qualification\", this.jobForm.qualification);\r\n this.jobModelData.append(\"experience\", this.jobForm.experience);\r\n this.jobModelData.append(\"external_link\", this.jobForm.external_link);\r\n if (this.imagePost) {\r\n this.jobModelData.append(\"image_url\", this.imagePost);\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.setSubmitModelValue();\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'createUpdateJob';\r\n this.httpS.postUpload(apiUrl, this.jobModelData).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isSubmit = false;\r\n this.router.navigate(['/job/details/' + res.data.id]);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isSubmit = false;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Job Create

\r\n \r\n \r\n \r\n \r\n
\r\n Create Job Post \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Job title is required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Company name is required !
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Workplace is required !
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

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

\r\n

\r\n {{ \"ang_invalidPincodeValidation\" | translate }}\r\n

\r\n
\r\n
Location required !
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n {{ item.district }} , {{ item.state }} , {{ item.country_name }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Employment type required !
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Description required !
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Add Skill\r\n
\r\n
\r\n {{ item.value }}\r\n \r\n
\r\n
\r\n

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

\r\n
\r\n
Skills required !
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
Degree required !
\r\n
\r\n \r\n
\r\n
\r\n

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

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

\r\n \r\n

\r\n
\r\n
Degree required !
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
Degree required !
\r\n
\r\n Invalid Link !\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \"Cover\"\r\n \r\n \r\n
\r\n \r\n
\r\n
Image required !
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n

\r\n Add Skill\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Skill is required
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n \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 { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n \r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GroupJobModel } from '../../../../shared/model/group-job.model';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-group-jobs-create',\r\n templateUrl: './group-jobs-create.component.html',\r\n styleUrls: ['./group-jobs-create.component.css']\r\n})\r\nexport class GroupJobsCreateComponent implements OnInit {\r\n jobForm = new GroupJobModel();\r\n groupId: any;\r\n jobModelData: FormData = new FormData();\r\n list: any[] = [];\r\n workplaceTypesList: any[] = [];\r\n employmentTypesList: any[] = [];\r\n qualificationsList: any[] = [];\r\n locationsList: any[] = [];\r\n skillsList: any[] = [];\r\n selectedSkillsList: any[] = [];\r\n isSubmit: boolean = false;\r\n isLocationNotFound: boolean = false;\r\n searchText: string = \"\";\r\n imageShow: any = \"assets/images/logo RYEC.png\";\r\n imagePost: any;\r\n defaultSelectedVal: any;\r\n modalReference: any;\r\n visible = true;\r\n selectable = true;\r\n removable = true;\r\n addOnBlur = true;\r\n appName = environment.APP_NAME;\r\n readonly separatorKeysCodes: number[] = [ENTER, COMMA];\r\n activeIds: string[] = [];\r\n panels = [0];\r\n constructor(\r\n // private fb: FormBuilder,\r\n private cS: CommonService,\r\n private hmS: HomeService,\r\n private modalService: NgbModal,\r\n private httpS: HttpService,\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n ) {\r\n this.activeRoute.params.subscribe(data => {\r\n this.groupId = data.slug;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.openAccordionPanelAll();\r\n this.getWorkPlaceTypesList();\r\n this.getEmploymentTypesList();\r\n this.getQualificationsList();\r\n this.getSkillsList();\r\n }\r\n\r\n openAccordionPanelAll() {\r\n this.activeIds = this.panels.map(p => \"ngb-panel-\" + p);\r\n console.log(this.activeIds);\r\n }\r\n\r\n getWorkPlaceTypesList() {\r\n this.workplaceTypesList = [\r\n { id: 1, value: 'On Site' },\r\n { id: 2, value: 'Remote' },\r\n { id: 3, value: 'Hybrid' }\r\n ];\r\n }\r\n\r\n getEmploymentTypesList() {\r\n this.employmentTypesList = [\r\n { id: 1, value: 'Full Time' },\r\n { id: 2, value: 'Part Time' },\r\n { id: 3, value: 'Contract Basic' },\r\n { id: 4, value: 'Internship' }\r\n ];\r\n }\r\n\r\n getSkillsList() {\r\n this.skillsList = [\r\n { id: 1, value: 'HTML' },\r\n { id: 2, value: 'CSS' },\r\n { id: 3, value: 'Javascript' },\r\n { id: 4, value: 'Android' }\r\n ];\r\n }\r\n\r\n getQualificationsList() {\r\n this.qualificationsList = [\r\n { id: 1, value: 'Secondary School Certificate' },\r\n { id: 2, value: 'Higher Secondary Certificate' },\r\n { id: 3, value: 'Diploma of education' },\r\n { id: 4, value: 'Bachelor of Applied Science - BASC' },\r\n { id: 5, value: 'Bachelor of Architecture - BArch' },\r\n { id: 6, value: 'Bachelor of Arts - BA' },\r\n { id: 7, value: 'Bachelor of Business Administration - BBA' },\r\n { id: 8, value: 'Bachelor of Commerce - BCom' },\r\n { id: 9, value: 'Bachelor of Education - BEG' },\r\n { id: 10, value: 'Bachelor of Engineering - BE' },\r\n { id: 11, value: 'Bachelor of Fine Arts - BFA' },\r\n { id: 12, value: 'Master of Architecture MArch' },\r\n { id: 13, value: 'Master of Arts - MA' },\r\n { id: 14, value: 'Master of Business Administration - MBA' },\r\n { id: 15, value: 'Master of Computer Applications - MCA' },\r\n { id: 16, value: 'Master of Divinity - MDiv' },\r\n { id: 17, value: 'Master of Education - Med' },\r\n { id: 18, value: 'Master of Engineering - Ming' },\r\n { id: 19, value: 'Master of Fine Arts - MFA' },\r\n { id: 20, value: 'Master of Laws LLM' },\r\n { id: 21, value: 'Master of Library & Information Science MLIS' },\r\n { id: 22, value: 'Master of Philosophy - MPhil' },\r\n { id: 23, value: 'Master of Public Administration - MPA' },\r\n { id: 24, value: 'Master of Public Health - MPH' },\r\n { id: 25, value: 'Master of Science - MS' },\r\n { id: 26, value: 'Master of Social Work MSW' },\r\n { id: 27, value: 'Master of Technology - Mech' },\r\n { id: 28, value: 'Doctor of Education - ECD' },\r\n { id: 29, value: 'Doctor of Law' },\r\n { id: 30, value: 'Doctor of Medicine - MD' },\r\n { id: 31, value: 'Doctor of Pharmacy - PharmD' },\r\n { id: 32, value: 'Doctorate Philosophy - PHD' },\r\n { id: 33, value: 'Doctorate of Science' },\r\n { id: 34, value: 'Any' },\r\n ];\r\n }\r\n\r\n locationSearch(event: any) {\r\n // const val = event.target.value;\r\n const val = event;\r\n if (val === \"\" || val.length < 3) {\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n if (val.length >= 3) {\r\n const postJson = { pincode: val };\r\n\r\n this.hmS.getLocationByPinCode(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".member-list\").css(\"display\", \"block\");\r\n this.locationsList = res.data;\r\n this.isLocationNotFound = false;\r\n } else {\r\n this.locationsList = [];\r\n this.isLocationNotFound = true;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectlocation(id: number, district: string, state: string, countryName: string) {\r\n this.searchText = district + ' , ' + state + ' , ' + countryName;\r\n this.jobForm.location_id = id;\r\n $(\".member-list\").css(\"display\", \"none\");\r\n }\r\n\r\n\r\n onLogoImageChange(event: any) {\r\n const srcEle = event.target;\r\n if (srcEle.files && srcEle.files[0]) {\r\n if (this.cS.checkValidImage(srcEle.files[0])) {\r\n this.readLogoImageURL(srcEle.files[0]);\r\n } else {\r\n this.cS.showError(\"Please select file less than 5MB.\");\r\n }\r\n }\r\n }\r\n\r\n readLogoImageURL(input: any) {\r\n const self = this;\r\n if (input) {\r\n const reader = new FileReader();\r\n reader.onload = function (event: Event) {\r\n if (event.target) {\r\n self.imageShow = reader.result;\r\n self.jobForm.image_url = input;\r\n self.imagePost = input;\r\n }\r\n };\r\n reader.readAsDataURL(input);\r\n }\r\n }\r\n\r\n onEducationChange(event: any) {\r\n let selectedVal = event.value;\r\n let newNode: any[] = [];\r\n selectedVal.forEach((element: any) => {\r\n newNode.push(element);\r\n });\r\n this.jobForm.qualification = newNode.toString();\r\n }\r\n\r\n /**\r\n * Add row on click add more\r\n * @Yuvraj\r\n * 08/04/2021\r\n */\r\n addNewRow() {\r\n this.selectedSkillsList.push({\r\n id: + 1,\r\n value: ''\r\n });\r\n }\r\n\r\n onAddSkillSubmit() {\r\n let newNode: any[] = [];\r\n this.selectedSkillsList.forEach((element: any) => {\r\n newNode.push(element.value);\r\n });\r\n this.jobForm.skills = newNode.toString();\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementById('closeSkillComponent') as HTMLElement;\r\n element.click();\r\n }, 200);\r\n }\r\n\r\n deleteRow(index: number) {\r\n this.selectedSkillsList.splice(index, 1);\r\n let tempData = JSON.parse(JSON.stringify(this.selectedSkillsList));\r\n this.selectedSkillsList = [];\r\n this.selectedSkillsList = tempData;\r\n this.cS.showSuccess(\"Skill deleted successfully\");\r\n }\r\n\r\n loadSkillModal(content: any) {\r\n if (this.selectedSkillsList.length == 0) {\r\n this.addNewRow();\r\n }\r\n this.modalReference = this.modalService.open(content, { windowClass: \"modal-md\" });\r\n this.modalReference.result.then(\r\n (result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n },\r\n (reason: any) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n\r\n setSubmitModelValue() {\r\n if (this.appName == 'RYC') {\r\n this.jobModelData.append(\"application_id\", '2');\r\n }\r\n else {\r\n this.jobModelData.append(\"application_id\", '1');\r\n }\r\n if (this.groupId) {\r\n this.jobModelData.append(\"site_id\", this.groupId);\r\n }\r\n this.jobModelData.append(\"type\", this.jobForm.type);\r\n this.jobModelData.append(\"title\", this.jobForm.title);\r\n this.jobModelData.append(\"company_name\", this.jobForm.company_name);\r\n this.jobModelData.append(\"workplace_type\", this.jobForm.workplace_type);\r\n this.jobModelData.append(\"location_id\", this.jobForm.location_id);\r\n this.jobModelData.append(\"employment_type\", this.jobForm.employment_type);\r\n this.jobModelData.append(\"description\", this.jobForm.description);\r\n this.jobModelData.append(\"skills\", this.jobForm.skills);\r\n this.jobModelData.append(\"qualification\", this.jobForm.qualification);\r\n this.jobModelData.append(\"experience\", this.jobForm.experience);\r\n this.jobModelData.append(\"external_link\", this.jobForm.external_link);\r\n if (this.imagePost) {\r\n this.jobModelData.append(\"image_url\", this.imagePost);\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.setSubmitModelValue();\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'createUpdateJob';\r\n this.httpS.postUpload(apiUrl, this.jobModelData).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.isSubmit = false;\r\n this.router.navigate(['/job/details/' + res.data.id]);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n this.isSubmit = false;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Short List {{ applicantUserName }}

\r\n

Reject {{ applicantUserName }}

\r\n

Select {{ applicantUserName }}

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Message is required
\r\n
\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, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HttpService } from '../../services/http.service';\r\n\r\n@Component({\r\n selector: 'ryec-job-applicants-status-modal',\r\n templateUrl: './job-applicants-status-modal.component.html',\r\n styleUrls: ['./job-applicants-status-modal.component.css']\r\n})\r\nexport class JobApplicantsStatusModalComponent implements OnInit {\r\n @Input() jobId: number = 0;\r\n @Input() applicantUserId: number = 0; \r\n @Input() applicantUserName: string = \"\"; \r\n @Input() statusType: string = \"\"; \r\n model: any = {};\r\n isSubmit: boolean = false;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private httpS: HttpService,\r\n private cS: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.model.job_vacancy_id = this.jobId;\r\n this.model.user_id = this.applicantUserId;\r\n this.model.status = this.statusType;\r\n }\r\n\r\n onSubmit() {\r\n // this.setSubmitModel();\r\n console.log(this.model);\r\n this.isSubmit = true;\r\n const apiUrl = environment.RYEC_API_URL + 'UpdateJobStatus';\r\n this.httpS.post(apiUrl, this.model).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.activeModal.dismiss('done');\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Applicants

\r\n
\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • \r\n {{item.name}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n ({{'ang_showing' | translate}} {{first}}-{{last}} {{'ang_of' | translate}} {{ totalUsersCount }} {{'ang_applicants' | translate}})\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
0\">\r\n \r\n
0\">\r\n
\r\n
\r\n
\r\n \"essar-real-estate\"\r\n
\r\n
\r\n

\r\n {{ item.applicant_name }}\r\n

\r\n
\r\n
    \r\n
  • \r\n \r\n {{ item.current_desination }}\r\n
  • \r\n
  • \r\n \r\n {{ item.current_company_name }}\r\n
  • \r\n
  • \r\n \r\n {{ item.city }}, {{ item.state }}, {{ item.country }}\r\n
  • \r\n
  • \r\n \r\n Resume \r\n
  • \r\n
  • \r\n \r\n {{ item.applied_time }} ago\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\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 \r\n

{{'ang_nomatches' | translate}}

\r\n
\r\n
\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { PostJsonBusinessList } from 'src/app/shared/class/data.model';\r\nimport { debounceTime, map, distinctUntilChanged, filter } from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs/observable/fromEvent';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { JobApplicantsStatusModalComponent } from '../../../../shared/component/job-applicants-status-modal/job-applicants-status-modal.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-job-applicant-users-listing',\r\n templateUrl: './job-applicant-users-listing.component.html',\r\n styleUrls: ['./job-applicant-users-listing.component.css']\r\n})\r\nexport class JobApplicantUsersListingComponent implements OnInit {\r\n searchText: string = \"\";\r\n items: any[] = [];\r\n usersList: any[] = [];\r\n sort_slug: string = \"\";\r\n currentPage: number = 0;\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n endPage: number = environment.BUSINESS_LIST_LIMIT;\r\n totalUsersCount: any = 0;\r\n first: number = 1;\r\n last: number = 0;\r\n maxSize: number = 5;\r\n noData: boolean = false;\r\n sortingType: string = \"all\";\r\n collectionSize: number = 0;\r\n isSubmit: boolean = false;\r\n jobId: number = 0;\r\n searchUserId: number = 0;\r\n appName = environment.APP_NAME;\r\n\r\n @ViewChild('homeSearchInput')\r\n homeSearchInput!: ElementRef;\r\n constructor(\r\n private hS: HomeService,\r\n private router: Router,\r\n private cS: CommonService,\r\n // private modalService: NgbModal,\r\n private activeRoute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n this.currentPage = 1;\r\n this.activeRoute.params.subscribe(data => {\r\n this.jobId = data.slug;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPage = 1;\r\n this.checkSorting();\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\r\n //Add 'implements AfterViewInit' to the class.\r\n this.homeSearh();\r\n }\r\n\r\n searchBusiness() {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n if (this.searchText != \"\") {\r\n const postJson: PostJsonBusinessList = {\r\n sortBy: this.sort_slug,\r\n page: this.currentPage,\r\n limit: this.perPageList,\r\n job_vacancy_id: this.jobId,\r\n user_id: this.searchUserId\r\n };\r\n\r\n // if (this.sort_slug === 'nearMe' || this.sort_slug === 'relevance') {\r\n // postJson.radius = environment.LOCATION_RADIUS;\r\n // postJson.latitude = this.center_lat;\r\n // postJson.longitude = this.center_long;\r\n // }\r\n\r\n // if (this.sort_slug === 'relevance') {\r\n // postJson.latitude = this.center_lat;\r\n // postJson.longitude = this.center_long;\r\n // }\r\n this.getApplicantUsersList(postJson);\r\n }\r\n }\r\n\r\n /**\r\n * deley api calling and called once user finish typed in search text box\r\n * @Yuvraj 15/04/2021\r\n */\r\n homeSearh() {\r\n fromEvent(this.homeSearchInput.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 3\r\n // , filter(res => res.length >= 3)\r\n filter(res => {\r\n if (res && res.length >= 3) {\r\n return true;\r\n } else {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n return false;\r\n }\r\n })\r\n\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n\r\n // If previous query is diffent from current\r\n , distinctUntilChanged()\r\n\r\n // subscription for response\r\n ).subscribe((postJson: string) => {\r\n this.hS.jobApplicantsAutoSuggestion({ searchText: postJson, job_vacancy_id: this.jobId }).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n $(\".auto_complete_listing\").css(\"display\", \"block\");\r\n this.items = res.data;\r\n } else {\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n });\r\n }\r\n\r\n searchBusinessByCategory(id: number, name: string) {\r\n this.searchText = name;\r\n this.searchUserId = id;\r\n this.searchBusiness();\r\n $(\".auto_complete_listing\").css(\"display\", \"none\");\r\n }\r\n\r\n checkSorting() {\r\n /*\r\n *Check which type of sorting happend\r\n */\r\n if (this.sortingType === 'all') {\r\n this.sort_slug = 'all';\r\n }\r\n else if (this.sortingType === 'shortListed') {\r\n this.sort_slug = 'shortListed';\r\n }\r\n else if (this.sortingType === 'rejected') {\r\n this.sort_slug = 'rejected';\r\n }\r\n else if (this.sortingType === 'selected') {\r\n this.sort_slug = 'selected';\r\n }\r\n else {\r\n this.router.navigateByUrl('/home');\r\n }\r\n }\r\n\r\n /**\r\n * if sort type is change call api\r\n * @Yuvraj 18/01/2022\r\n */\r\n onSortTypeChange() {\r\n this.checkSorting();\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n checkRouterUrlForCallingAPI() {\r\n const postJson: PostJsonBusinessList = {\r\n job_vacancy_id: this.jobId,\r\n sortBy: this.sort_slug,\r\n page: this.currentPage,\r\n limit: this.perPageList\r\n };\r\n this.getApplicantUsersList(postJson);\r\n }\r\n\r\n getApplicantUsersList(postJson: any) {\r\n this.hS.getApplicantUsersListByJobVacancyId(postJson).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n // this.convertToLowerCase(res.data);\r\n this.usersList = res.data.applicant_users;\r\n this.totalUsersCount = res.total;\r\n this.countCollectionSize();\r\n }\r\n else {\r\n this.usersList = [];\r\n }\r\n });\r\n }\r\n\r\n loadJobApplicantUserStatusModalComponent(item: any, type: string) {\r\n const modalReference = this.modalService.open(JobApplicantsStatusModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.jobId = this.jobId; //job id\r\n modalReference.componentInstance.applicantUserId = item.applicant_id; //user id\r\n modalReference.componentInstance.applicantUserName = item.applicant_name; //user name\r\n modalReference.componentInstance.statusType = type; //update status type\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n if (reason == 'done') {\r\n this.checkSorting();\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *Calculate pagination display on screen and count of total businesses\r\n */\r\n countCollectionSize() {\r\n if (this.totalUsersCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalUsersCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n if (this.currentPage === 1) {\r\n this.first = 1;\r\n this.last = this.perPageList;\r\n } else {\r\n this.first = (this.currentPage - 1) * this.perPageList + 1;\r\n if (this.usersList.length < this.perPageList) {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.usersList.length;\r\n } else {\r\n this.last = (this.currentPage - 1) * this.perPageList + this.perPageList;\r\n }\r\n }\r\n } else {\r\n this.last = this.totalUsersCount;\r\n this.collectionSize = this.perPageList;\r\n }\r\n\r\n if (this.totalUsersCount == 0 || this.totalUsersCount == undefined) {\r\n this.noData = true;\r\n } else {\r\n this.noData = false;\r\n }\r\n this.cS.scrollTop();\r\n // this.showBusinessOnMap();\r\n }\r\n\r\n getNextPageBusinessList(): void {\r\n console.log(event);\r\n this.checkRouterUrlForCallingAPI();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ placeDetailsModel.name }}

\r\n \r\n
\r\n
\r\n
0\">\r\n \r\n \r\n {{ ratingReviewsModel.avg_rating }}\r\n /5\r\n \r\n \r\n ({{ ratingReviewsModel.total }} {{ 'ang_review' | translate }})\r\n \r\n 1\" class=\"text-muted\">\r\n ({{ ratingReviewsModel.total }} {{ 'ang_reviews' | translate }})\r\n \r\n
\r\n
0\" class=\"total-view\">\r\n \r\n {{ 'ang_totalViews' | translate }}: {{placeDetailsModel.visits}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n {{ item }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ placeDetailsModel.short_description }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ 'ang_location' | translate }}

\r\n
\r\n
\r\n \r\n \r\n \r\n
{{ placeDetailsModel.full_address }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ 'ang_qrCode' | 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

{{ placeDetailsModel.name }}

\r\n \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

{{ 'ang_videos' | translate }}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \"{{\r\n
\r\n \"Play\"\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ item.title }}\r\n \r\n

\r\n
\r\n \r\n \r\n {{ item.description.length > 1 ? (item.description | slice: 0:25) + \"..\" : item.description }}\r\n \r\n \r\n
\r\n
\r\n \r\n
\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

Know more about {{ placeDetailsModel.name }}

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {{ item.title }} \r\n \r\n
\r\n
\r\n \r\n
\r\n {{ item.description }}\r\n
\r\n
\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

{{ item.title }}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ metaTag }}\r\n \r\n
\r\n \r\n \r\n \"{{\r\n \r\n
\r\n

\r\n \r\n {{ entitiesItem.name }}\r\n \r\n

\r\n
\r\n \r\n \r\n {{ entitiesItem.categories.length > 1 ? (entitiesItem.categories | slice: 0:25) + \"..\" : entitiesItem.categories }}\r\n \r\n \r\n
\r\n
0\" >\r\n
\r\n \r\n ({{ entitiesItem.total_review }} Reviews)\r\n
\r\n
\r\n
\r\n
\r\n \r\n ({{ entitiesItem.total_review }} Reviews)\r\n
\r\n
\r\n

1 ? (entitiesItem.description | slice: 0:50) + '..' : entitiesItem.description\"\r\n >

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

{{ \"ang_ratingsandreview\" | translate }}

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

{{ 'ang_averageRating' | translate}}

\r\n
\r\n \r\n \r\n {{ ratingReviewsModel.avg_rating }}\r\n \r\n {{ 'ang_outOf' | translate }} 5\r\n \r\n
\r\n \r\n \r\n \r\n ({{ ratingReviewsModel.total }} {{ 'ang_reviews' | translate }})\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_5star\" | translate }}\r\n

\r\n \r\n \r\n ({{ placeDetailsModel.rating.start_5_rating }} Rate)\r\n \r\n 1\"\r\n >\r\n ({{ placeDetailsModel.rating.start_5_rating }} Rates)\r\n \r\n

\r\n\r\n {{ \"ang_4star\" | translate }}\r\n

\r\n \r\n \r\n ({{ placeDetailsModel.rating.start_4_rating }} Rate)\r\n \r\n 1\"\r\n >\r\n ({{ placeDetailsModel.rating.start_4_rating }} Rates)\r\n \r\n

\r\n\r\n {{ \"ang_3star\" | translate }}\r\n

\r\n \r\n \r\n ({{ placeDetailsModel.rating.start_3_rating }} Rate)\r\n \r\n 1\"\r\n >\r\n ({{ placeDetailsModel.rating.start_3_rating }} Rates)\r\n \r\n

\r\n\r\n {{ \"ang_2star\" | translate }}\r\n

\r\n \r\n \r\n ({{ placeDetailsModel.rating.start_2_rating }} Rate)\r\n \r\n 1\"\r\n >\r\n ({{ placeDetailsModel.rating.start_2_rating }} Rates)\r\n \r\n

\r\n\r\n {{ \"ang_1star\" | translate }}\r\n

\r\n \r\n \r\n ({{ placeDetailsModel.rating.start_1_rating }} Rate)\r\n \r\n 1\"\r\n >\r\n ({{ placeDetailsModel.rating.start_1_rating }} Rates)\r\n \r\n

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

\r\n {{ \"ang_noratingsandreviewfound\" | translate }}\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \"user_profile\"\r\n
\r\n
\r\n
\r\n \r\n
{{ item.name }}
\r\n
\r\n {{ item.timestamp | date: \"medium\" }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ item.review }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \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

{{ item.title }}

\r\n
\r\n
\r\n {{ item.description }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n {{ \"ang_ratingsandreview\" | translate }}\r\n
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ \"ang_giverating\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n {{ \"ang_reviewisrequired\" | 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
{{ placeDetailsModel.name }}
\r\n \r\n ×\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
{{ placeDetailsModel.name }}
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
{{ \"ang_share\" | 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","import { Component, ElementRef, OnInit, ViewChild, HostListener } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { OwlCarousel } from 'ngx-owl-carousel';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DomSanitizer, Meta } from '@angular/platform-browser';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ReportBusinessModalComponent } from 'src/app/shared/component/report-business-modal/report-business-modal.component';\r\n// import { Meta } from '@angular/platform-browser';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'ryec-place-details',\r\n templateUrl: './place-details.component.html',\r\n styleUrls: ['./place-details.component.css']\r\n})\r\nexport class PlaceDetailsComponent implements OnInit {\r\n\r\n readonly STORAGE_USER_KEY: string = \"UN_AUTH_USER\";\r\n\r\n review = '';\r\n reviewValid = false;\r\n modalReference: any;\r\n currentRate = 0;\r\n collectionSize = 0;\r\n currentPage: number;\r\n business_slug: string = '';\r\n start_5: number = 0;\r\n start_4: number = 0;\r\n start_3: number = 0;\r\n start_2: number = 0;\r\n start_1: number = 0;\r\n totalRatingCount: number = 0;\r\n placeDetailsModel: any = {};\r\n allRatings = [];\r\n imgTags: any;\r\n entityImgMetaTags: any[] = [];\r\n defaultDesc: string = \"\";\r\n knowMoreSectionDetailsModel: any;\r\n assetTypeFieldsModel: any = {};\r\n customDetailsModel: any;\r\n nearBySectionDetailsModel: any;\r\n topVideosSectionDetailsModel: any;\r\n ratingReviewsModel: any;\r\n repoUrl = window.location.href;\r\n contentLang: string = 'english';\r\n isShow = false;\r\n isMobileAppView: boolean = false;\r\n topPosToStartShowing = 100;\r\n subscribe: any;\r\n defaultSelectedVal: any;\r\n isMobile: boolean = false;\r\n currentPosition: number = 0;\r\n isKnowMoreLoading: boolean = false;\r\n isVideoLoading: boolean = false;\r\n isCustomDetailsLoading: boolean = false;\r\n isNearByLoading: boolean = false;\r\n isRatingReviewsLoading: boolean = false;\r\n imageGallerys: any[] = [];\r\n isPageLoaded: boolean = false;\r\n businessImageUrl: string = \"\";\r\n entityType: string = \"\";\r\n returnRedirectUrl: string = \"\";\r\n perPageList = environment.BUSINESS_LIST_LIMIT;\r\n appName = environment.APP_NAME;\r\n @ViewChild('owlElement')\r\n owlElement!: OwlCarousel;\r\n @ViewChild('message')\r\n message!: ElementRef;\r\n userVisitCount = new BehaviorSubject(0);\r\n userVisitCount$ = this.userVisitCount.asObservable();\r\n fun() {\r\n this.owlElement.next([200]);\r\n }\r\n customOptions = {\r\n loop: true,\r\n dots: false,\r\n nav: true,\r\n items: 1,\r\n margin: 0,\r\n startPosition: 0,\r\n navText: [\"\", \"\"],\r\n }\r\n nearbyOptions = {\r\n loop: false,\r\n dots: false,\r\n nav: true,\r\n items: 4,\r\n margin: 0,\r\n navText: [\"\", \"\"],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 480: {\r\n items: 2,\r\n },\r\n 768: {\r\n items: 3,\r\n },\r\n 1199: {\r\n items: 4,\r\n }\r\n }\r\n }\r\n schemaJson: any[] = [];\r\n constructor(\r\n private modalService: NgbModal,\r\n private cS: CommonService,\r\n private httpS: HttpService,\r\n private activeRoute: ActivatedRoute,\r\n private homeService: HomeService,\r\n public sanitizer: DomSanitizer,\r\n public el: ElementRef,\r\n public router: Router,\r\n private meta: Meta,\r\n private deviceService: DeviceDetectorService,\r\n public tS: TranslateService,\r\n private mS: MessageService,\r\n // private meta: Meta\r\n ) {\r\n this.currentPage = 1;\r\n }\r\n\r\n ngOnInit() {\r\n /**\r\n * get url slug\r\n */\r\n this.isMobile = this.deviceService.isMobile();\r\n\r\n this.activeRoute.params.subscribe(data => {\r\n this.business_slug = data.slug;\r\n this.getBusinessDetailBySlug();\r\n });\r\n\r\n }\r\n\r\n // Back to top\r\n @HostListener('window:scroll')\r\n checkScroll() {\r\n\r\n // window의 scroll top\r\n // Both window.pageYOffset and document.documentElement.scrollTop returns the same result in all the cases. window.pageYOffset is not supported below IE 9.\r\n\r\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\r\n // console.log('[scroll]', scrollPosition);\r\n\r\n if (scrollPosition >= this.topPosToStartShowing) {\r\n this.isShow = true;\r\n } else {\r\n this.isShow = false;\r\n }\r\n\r\n this.lazyLoadAPIContent();\r\n }\r\n gotoTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n /**\r\n * check if image not in response set default one image\r\n * @Yuvraj 10/12/2021\r\n */\r\n setDefaultImage() {\r\n let img: string = \"\";\r\n if (this.appName == 'RYC') {\r\n img = '../assets/images/default-logo-ryc.png';\r\n }\r\n else {\r\n img = '../assets/images/default-logo.png';\r\n }\r\n if (this.placeDetailsModel.business_images.length == 0) {\r\n this.placeDetailsModel.business_images.push({\r\n id: 1,\r\n image_name: img,\r\n // image_name: '../assets/images/default-logo.png',\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * call api only once user scroll down at certain criteria\r\n * @Yuvraj 11/11/2021\r\n */\r\n lazyLoadAPIContent() {\r\n var winScroll = window.scrollY + window.innerHeight;\r\n var height = document.body.scrollHeight;\r\n var scrolled = (winScroll / height) * 100;\r\n\r\n if (winScroll > this.currentPosition && scrolled >= 40) {\r\n if (this.knowMoreSectionDetailsModel?.length == 0 && this.assetTypeFieldsModel.know_more == '1' && !this.isKnowMoreLoading) {\r\n this.isKnowMoreLoading = true;\r\n this.getKnowMoreSectionData(this.placeDetailsModel.id, this.contentLang);\r\n }\r\n }\r\n if (winScroll > this.currentPosition && scrolled >= 60) {\r\n if (this.topVideosSectionDetailsModel?.length == 0 && this.assetTypeFieldsModel.video == '1' && !this.isVideoLoading) {\r\n this.isVideoLoading = true;\r\n this.getTopVideosSectionData(this.placeDetailsModel.id);\r\n }\r\n }\r\n if (winScroll > this.currentPosition && scrolled >= 70) {\r\n if (!this.nearBySectionDetailsModel && this.assetTypeFieldsModel.near_by == '1' && !this.isNearByLoading) {\r\n this.isNearByLoading = true;\r\n this.getEntityNearBySectionData(this.placeDetailsModel.id);\r\n }\r\n }\r\n if (winScroll > this.currentPosition && scrolled >= 80) {\r\n if (!this.ratingReviewsModel && this.assetTypeFieldsModel.rating == '1' && !this.isRatingReviewsLoading) {\r\n this.isRatingReviewsLoading = true;\r\n this.getNextPageRatingList();\r\n }\r\n }\r\n if (winScroll > this.currentPosition && scrolled >= 90) {\r\n if (this.customDetailsModel?.length == 0 && this.assetTypeFieldsModel.custom_component == '1' && !this.isCustomDetailsLoading) {\r\n this.isCustomDetailsLoading = true;\r\n this.getCustomDetailsSectionData(this.placeDetailsModel.id, this.contentLang);\r\n }\r\n }\r\n this.currentPosition = winScroll;\r\n }\r\n /**\r\n * Get Business Detail by business slug\r\n *@returns voidtopVideosSectionDetailsModel\r\n */\r\n getBusinessDetailBySlug(): void {\r\n const postJson = { business_slug: this.business_slug };\r\n\r\n this.homeService.getBusinessDetailBySlug(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.addUpdateMetaTags(res); //update seo meta tag\r\n this.placeDetailsModel = res.data;\r\n if (this.placeDetailsModel.business_images.length > 0) {\r\n this.businessImageUrl = this.placeDetailsModel.business_images[0].image_name;\r\n }\r\n else {\r\n this.setDefaultImage();\r\n }\r\n /**\r\n * if schema is not empty then call generate fun and pass values\r\n * @Yuvraj 20/01/2022 \r\n */\r\n if (res.data.schema_json.length > 0) {\r\n this.generateEntitySchema(res.data.schema_json);\r\n }\r\n let categoryId: number = 0;\r\n if (this.placeDetailsModel.entity_type) {\r\n if (this.placeDetailsModel.entity_type == \"Business\") {\r\n this.entityType = 'home/business-detail/';\r\n }\r\n if (this.placeDetailsModel.entity_type == \"Place\") {\r\n this.entityType = 'place/';\r\n }\r\n if (this.placeDetailsModel.entity_type == \"Person\") {\r\n this.entityType = 'person/';\r\n }\r\n }\r\n if (this.placeDetailsModel.parent_categories.length > 0) {\r\n categoryId = this.placeDetailsModel.parent_categories[0].id;\r\n }\r\n this.cS.scrollTop();\r\n if (this.placeDetailsModel.latitude && this.placeDetailsModel.longitude) {\r\n this.placeDetailsModel.mapURL = this.loadMap(this.placeDetailsModel.latitude, this.placeDetailsModel.longitude);\r\n }\r\n this.returnRedirectUrl = this.entityType + this.placeDetailsModel.business_slug;\r\n this.generateQrCode(this.placeDetailsModel.id);\r\n this.getSubAssetTypeFields(categoryId, this.placeDetailsModel.asset_type_id);\r\n this.convertMetaTagToArray();\r\n this.setDefaultLangDropdown();\r\n this.checkUrlLang();\r\n this.getLocalLang();\r\n this.isPageLoaded = true;\r\n this.defaultDesc = this.placeDetailsModel.descriptions;\r\n this.checkUserDetails();\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n addUpdateMetaTags(res: any) {\r\n this.meta.updateTag({ name: \"title\", content: res[\"data\"][\"name\"], });\r\n this.meta.updateTag({ name: \"description\", content: res[\"data\"][\"seo_meta_description\"], });\r\n this.meta.updateTag({ name: \"keywords\", content: res[\"data\"][\"seo_meta_tags\"], });\r\n this.meta.updateTag({ name: \"og:title\", content: res[\"data\"][\"name\"], });\r\n this.meta.updateTag({ name: 'og:url', content: this.repoUrl });\r\n this.meta.updateTag({ name: 'og:description', content: res['data']['seo_meta_description'] });\r\n this.meta.updateTag({ name: 'twitter:site', content: this.repoUrl });\r\n this.meta.updateTag({ name: 'twitter:title', content: res['data']['name'] });\r\n this.meta.updateTag({ name: 'twitter:description', content: res['data']['seo_meta_description'] });\r\n this.meta.updateTag({ name: 'og:type', content: \"Business details\" });\r\n if (res.data.business_images.length > 0) {\r\n this.meta.updateTag({ name: 'og:image', content: res['data']['business_images']['0']['image_name'] });\r\n this.meta.updateTag({ name: 'twitter:image', content: res['data']['business_images']['0']['image_name'] });\r\n }\r\n else {\r\n this.meta.updateTag({ name: 'og:image', content: '../assets/images/default-logo.png' });\r\n this.meta.updateTag({ name: 'twitter:image', content: '../assets/images/default-logo.png' });\r\n }\r\n\r\n }\r\n\r\n /**\r\n * get schema json from the api and assign to schemaJson.\r\n * this will generate shema json script code in html file \r\n * @Yuvraj 20/01/2022 06:00PM\r\n */\r\n generateEntitySchema(resSchemaJson: any) {\r\n this.schemaJson = resSchemaJson;\r\n }\r\n\r\n getSubAssetTypeFields(categoryId: number, assetTypeId: number) {\r\n const postJson = {\r\n category_id: categoryId,\r\n asset_type_id: assetTypeId\r\n };\r\n\r\n this.homeService.getSubAssetTypeFields(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.assetTypeFieldsModel = res.data;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n loadMap(param1: any, param2: any) { //call this function from html\r\n let url = this.sanitizer.bypassSecurityTrustResourceUrl(`https://maps.google.com/maps?q=${param1},${param2}&z=14&output=embed`) // notice carefully the backticks dont confuse it with quotes ('' or \" \")\r\n return url\r\n }\r\n\r\n changeDescriptionLang(event: any) {\r\n if (event.value == 'english') {\r\n this.placeDetailsModel.descriptions = this.defaultDesc;\r\n }\r\n else {\r\n this.placeDetailsModel.descriptions = event.value;\r\n }\r\n }\r\n\r\n generateQrCode(businessId: number) {\r\n const postJson = { business_id: businessId };\r\n\r\n this.homeService.generateQrCodeByBusinessId(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.placeDetailsModel.QRCode = res.data.url;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n suggestContent(content: any) {\r\n this.review = '';\r\n this.modalReference = this.modalService.open(content, { windowClass: 'modal-md suggest-modal' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n // this.getBusinessDetailBySlug();\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n ImageModal(content: any, index: any) {\r\n this.customOptions.startPosition = index;\r\n this.modalReference = this.modalService.open(content, { windowClass: 'post-img-carousel', centered: true });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n // this.getBusinessDetailBySlug();\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n addReviewAndRating(content: any) {\r\n this.review = '';\r\n this.modalReference = this.modalService.open(content, { windowClass: 'rating_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n // this.getBusinessDetailBySlug();\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n submitDescriptionSuggest() {\r\n if (this.checkAuth()) {\r\n if (this.review == '' && this.review.trim() == '') {\r\n this.reviewValid = true;\r\n } else {\r\n const postJson = {\r\n entity_id: this.placeDetailsModel.id,\r\n entity_know_more_id: 0,\r\n description: this.review\r\n }\r\n this.submitSuggest(postJson);\r\n }\r\n }\r\n else {\r\n this.cS.navigateTo('/login');\r\n this.modalReference.close();\r\n }\r\n }\r\n\r\n submitKnowMoreSuggest() {\r\n if (this.checkAuth()) {\r\n if (this.review == '' && this.review.trim() == '') {\r\n this.reviewValid = true;\r\n } else {\r\n const postJson = {\r\n entity_id: this.placeDetailsModel.id,\r\n entity_know_more_id: 0,\r\n description: this.review\r\n }\r\n this.submitSuggest(postJson);\r\n }\r\n }\r\n else {\r\n this.cS.navigateTo('/login');\r\n this.modalReference.close();\r\n }\r\n }\r\n\r\n submitSuggest(postJson: any) {\r\n const apiUrl = environment.RYEC_API_URL + 'suggestDescription';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n\r\n submitRatingDetail() {\r\n if (this.review == '' && this.review.trim() == '') {\r\n this.reviewValid = true;\r\n } else {\r\n const userDetail = this.cS.getUserDetails();\r\n if (userDetail) {\r\n const postJson = {\r\n user_id: userDetail.id,\r\n business_id: this.placeDetailsModel.id,\r\n rating: this.currentRate,\r\n comment: this.review\r\n }\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'addBusinessRating';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n this.getNextPageRatingList(); //for refresh data\r\n } else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n getKnowMoreSectionData(businessId: number, contentLang: string) {\r\n const postJson = {\r\n entity_id: businessId,\r\n language: contentLang\r\n };\r\n\r\n this.homeService.getEntityKnowMore(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.knowMoreSectionDetailsModel = res.data;\r\n }\r\n else {\r\n this.knowMoreSectionDetailsModel = [];\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getEntityOtherSectionData(businessId: number, contentLang: string) {\r\n const postJson = {\r\n entity_id: businessId,\r\n language: contentLang\r\n };\r\n\r\n this.homeService.getEntityInOtherLang(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.placeDetailsModel.short_description = res.data.short_description;\r\n this.placeDetailsModel.descriptions = res.data.description;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getCustomDetailsSectionData(businessId: number, contentLang: string) {\r\n const postJson = {\r\n entity_id: businessId,\r\n language: contentLang\r\n };\r\n\r\n this.homeService.getEntityCustomDetails(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.customDetailsModel = res.data;\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getEntityNearBySectionData(businessId: number) {\r\n const postJson = {\r\n entity_id: businessId,\r\n };\r\n\r\n this.homeService.getEntityNearBy(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n res.data.forEach((element: any) => {\r\n element.entities.forEach((element: any) => {\r\n if (element.entity_type) {\r\n if (element.entity_type == \"Business\") {\r\n element.entity_type = '/home/business-detail/';\r\n }\r\n if (element.entity_type == \"Place\") {\r\n element.entity_type = '/place/';\r\n }\r\n if (element.entity_type == \"Person\") {\r\n element.entity_type = '/person/';\r\n }\r\n if (element.entity_type == \"News\") {\r\n element.entity_type = '/news/';\r\n }\r\n }\r\n });\r\n\r\n });\r\n }\r\n this.nearBySectionDetailsModel = res.data;\r\n // this.getEntityType();\r\n this.convertMetaTagToArrayEntity();\r\n this.converEntityDescToString();\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getTopVideosSectionData(businessId: number) {\r\n const postJson = {\r\n entity_id: businessId,\r\n };\r\n\r\n this.homeService.getVideoLists(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n res.data.forEach((element: any) => {\r\n if (element.description) {\r\n element.description = new DOMParser().parseFromString(element.description, \"text/html\").documentElement.textContent;\r\n }\r\n else {\r\n element.description = \"\";\r\n }\r\n });\r\n this.topVideosSectionDetailsModel = res.data;\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n onLangChange(event: any) {\r\n this.contentLang = event.value;\r\n if (this.contentLang) {\r\n this.setLocalLang(this.contentLang);\r\n }\r\n this.getEntityOtherSectionData(this.placeDetailsModel.id, this.contentLang);\r\n if (this.isKnowMoreLoading) {\r\n this.knowMoreSectionDetailsModel = [];\r\n this.getKnowMoreSectionData(this.placeDetailsModel.id, this.contentLang);\r\n }\r\n if (this.isCustomDetailsLoading) {\r\n this.getCustomDetailsSectionData(this.placeDetailsModel.id, this.contentLang);\r\n }\r\n }\r\n\r\n setLocalLang(contentLang: any) {\r\n let lang: string = '';\r\n if (contentLang == 'हिंदी' || contentLang == 'hi') {\r\n lang = 'hi';\r\n }\r\n if (contentLang == 'राजस्थानी' || contentLang == 'hi') {\r\n lang = 'hi'; //as it set in univarsal so keep it for rajasthani\r\n }\r\n if (contentLang == 'english' || contentLang == 'en') {\r\n lang = 'en'\r\n }\r\n this.cS.setLang(lang);\r\n this.tS.setDefaultLang(lang);\r\n this.tS.use(lang);\r\n this.mS.setLang(lang);\r\n }\r\n\r\n /**\r\n * check if lang parameter exisit in local storage than perform some task\r\n * @Yuvraj 09/12/2021\r\n */\r\n getLocalLang() {\r\n let lang = this.cS.getLang();\r\n let currentLang: string = \"\";\r\n if (lang) {\r\n if (lang == 'hi') {\r\n currentLang = \"हिंदी\";\r\n }\r\n if (lang == 'en') {\r\n currentLang = \"english\";\r\n }\r\n this.getEntityOtherSectionData(this.placeDetailsModel.id, currentLang);\r\n if (this.isKnowMoreLoading) {\r\n this.knowMoreSectionDetailsModel = [];\r\n this.getKnowMoreSectionData(this.placeDetailsModel.id, currentLang);\r\n }\r\n if (this.isCustomDetailsLoading) {\r\n this.getCustomDetailsSectionData(this.placeDetailsModel.id, currentLang);\r\n }\r\n }\r\n }\r\n\r\n // onTabClick(event: any, i: number) {\r\n // let entityNearbyId = this.nearBySectionDetailsModel[i].id;\r\n // let assetTypeId = event.tab.textLabel.id;\r\n\r\n // const postJson = { entity_nearby_id: entityNearbyId, asset_type_id: assetTypeId };\r\n\r\n // this.homeService.getFilterEntitiesForNearBy(postJson).subscribe((res: any) => {\r\n // if (res.status === 1) {\r\n // if (res.data.length > 0) {\r\n // res.data.forEach((element: any) => {\r\n // if (element.metatags) {\r\n // element.metatags = element.metatags.split(',');\r\n // }\r\n // else {\r\n // element.metatags = [];\r\n // }\r\n // if (element.description) {\r\n // element.description = new DOMParser().parseFromString(element.description, \"text/html\").documentElement.textContent;\r\n // }\r\n // else {\r\n // element.description = \"\";\r\n // }\r\n // if (element.entity_type) {\r\n // if (element.entity_type == \"Business\") {\r\n // element.entity_type = '/home/business-detail/';\r\n // }\r\n // if (element.entity_type == \"Place\") {\r\n // element.entity_type = '/place/';\r\n // }\r\n // if (element.entity_type == \"Person\") {\r\n // element.entity_type = '/person/';\r\n // }\r\n // }\r\n // });\r\n // this.nearBySectionDetailsModel[i].entities = [];\r\n // this.nearBySectionDetailsModel[i].entities = res.data;\r\n // }\r\n // }\r\n // }, err => {\r\n // console.log(event);\r\n // console.log(err);\r\n // });\r\n // }\r\n\r\n /**\r\n *get business rating list\r\n */\r\n getNextPageRatingList(event?: number): void {\r\n const postJson = { business_id: this.placeDetailsModel.id, page: this.currentPage };\r\n\r\n this.homeService.getBusinessRating(postJson).subscribe((res: any) => {\r\n if (res.status === 1) {\r\n this.ratingReviewsModel = res.data;\r\n this.totalRatingCount = this.ratingReviewsModel.total;\r\n this.start_5 = Math.round((this.ratingReviewsModel.start_5_rating * 100) / this.totalRatingCount);\r\n this.start_4 = Math.round((this.ratingReviewsModel.start_4_rating * 100) / this.totalRatingCount);\r\n this.start_3 = Math.round((this.ratingReviewsModel.start_3_rating * 100) / this.totalRatingCount);\r\n this.start_2 = Math.round((this.ratingReviewsModel.start_2_rating * 100) / this.totalRatingCount);\r\n this.start_1 = Math.round((this.ratingReviewsModel.start_1_rating * 100) / this.totalRatingCount);\r\n this.countCollectionSize();\r\n }\r\n }, err => {\r\n console.log(event);\r\n console.log(err);\r\n });\r\n }\r\n\r\n countCollectionSize() {\r\n if (this.totalRatingCount > this.perPageList) {\r\n this.collectionSize = Math.ceil(this.totalRatingCount / this.perPageList);\r\n this.collectionSize = this.collectionSize * 10;\r\n } else {\r\n this.collectionSize = this.perPageList;\r\n }\r\n }\r\n\r\n convertMetaTagToArray() {\r\n if (this.placeDetailsModel.metatags != \"\") {\r\n this.imgTags = this.placeDetailsModel.metatags.split(',');\r\n }\r\n else {\r\n this.imgTags = [];\r\n }\r\n }\r\n\r\n converEntityDescToString() {\r\n if (this.nearBySectionDetailsModel.entities) {\r\n this.nearBySectionDetailsModel.entities.forEach((element: any) => {\r\n if (element.description != null) {\r\n element.description = new DOMParser().parseFromString(element.description, \"text/html\").documentElement.textContent;\r\n }\r\n else {\r\n element.description = \"\";\r\n }\r\n });\r\n }\r\n }\r\n\r\n convertMetaTagToArrayEntity() {\r\n if (this.nearBySectionDetailsModel.entities) {\r\n this.nearBySectionDetailsModel.entities.forEach((element: any) => {\r\n if (element.metatags) {\r\n element.metatags = element.metatags.split(',');\r\n }\r\n else {\r\n element.metatags = [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n *open share popup\r\n */\r\n openShareOptions(content: any) {\r\n this.modalService.open(content, { windowClass: 'share_popup' }).result.then((result) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n\r\n shareNow = async () => {\r\n const navigator = window.navigator as any;\r\n let urlLang: string = \"\";\r\n let lang = this.cS.getLang();\r\n if (lang) {\r\n if (lang == 'en') {\r\n urlLang = \"en\";\r\n }\r\n if (lang == 'hi') {\r\n urlLang = \"hi\";\r\n }\r\n }\r\n else {\r\n urlLang = \"en\";\r\n }\r\n\r\n if ('canShare' in navigator) {\r\n let currentFullUrl = window.location.href + '?lang=' + urlLang;\r\n let title = this.placeDetailsModel.name;\r\n let text = new DOMParser().parseFromString(this.placeDetailsModel.short_description, \"text/html\").documentElement.textContent;\r\n let imageUrl = this.businessImageUrl;\r\n const share = async function () {\r\n try {\r\n // const response = await fetch(imageUrl, {mode: 'no-cors'});\r\n const response = await fetch(imageUrl);\r\n const blob = await response.blob();\r\n const file = new File([blob], 'image.jpg', { type: blob.type });\r\n await navigator.share({\r\n url: currentFullUrl,\r\n title: title,\r\n text: text,\r\n files: [file],\r\n });\r\n console.log(\"shared successfully....\");\r\n } catch (err: any) {\r\n console.log(err.name, err.message);\r\n }\r\n };\r\n share();\r\n }\r\n };\r\n\r\n shareOnFacebook() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // fbShare() {\r\n // let url = 'https://mrcstaging.azureedge.net/place/kumbhalgrah';\r\n // let title = this.placeDetailsModel.name;\r\n // let descr = this.placeDetailsModel.seo_meta_description;\r\n // let image = this.placeDetailsModel.business_images[0].image_name;\r\n // let winWidth = 520;\r\n // let winHeight = 350;\r\n // let winTop = (screen.height / 2) - (winHeight / 2);\r\n // let winLeft = (screen.width / 2) - (winWidth / 2);\r\n\r\n // window.open('http://www.facebook.com/sharer.php?s=100&p[title]=' + title + '&p[summary]=' + descr + '&p[url]=' + url + '&p[images][0]=' + image, 'sharer', 'top=' + winTop + ',left=' + winLeft + ',toolbar=0,status=0,width=' + winWidth + ',height=' + winHeight);\r\n\r\n // }\r\n\r\n shareOnTwitter() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://twitter.com/intent/tweet?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n // // LinkedIn share won't work if your shareUrl is localhost:port/abc, it should be genuine deployed url\r\n shareOnLinkedIn() {\r\n let currentFullUrl = window.location.href;\r\n window.open(`https://www.linkedin.com/shareArticle?url=${currentFullUrl}`, 'sharer');\r\n }\r\n\r\n setDefaultLangDropdown() {\r\n // if (this.placeDetailsModel.languages.length > 0) {\r\n // this.defaultSelectedVal = this.placeDetailsModel.languages[0];\r\n // }\r\n\r\n let lang = this.cS.getLang();\r\n if (lang == 'en') {\r\n this.defaultSelectedVal = \"english\";\r\n }\r\n if (lang == 'hi') {\r\n this.defaultSelectedVal = \"हिंदी\";\r\n }\r\n if (lang == 'राजस्थानी') {\r\n this.defaultSelectedVal = 'राजस्थानी';\r\n }\r\n }\r\n\r\n checkUrlLang() {\r\n this.activeRoute.queryParams.subscribe(params => {\r\n let langParam = params['lang'];\r\n if (langParam) {\r\n if (langParam == 'hi') {\r\n this.defaultSelectedVal = \"हिंदी\";\r\n }\r\n else if (langParam == 'राजस्थानी') {\r\n this.defaultSelectedVal = \"राजस्थानी\";\r\n }\r\n else if (langParam == 'en') {\r\n this.defaultSelectedVal = \"english\";\r\n }\r\n this.getEntityOtherSectionData(this.placeDetailsModel.id, this.defaultSelectedVal);\r\n if (this.isKnowMoreLoading) {\r\n this.knowMoreSectionDetailsModel = [];\r\n this.getKnowMoreSectionData(this.placeDetailsModel.id, this.contentLang);\r\n }\r\n if (this.isCustomDetailsLoading) {\r\n this.getCustomDetailsSectionData(this.placeDetailsModel.id, this.contentLang);\r\n }\r\n\r\n this.setLocalLang(this.defaultSelectedVal); //set local lang then\r\n }\r\n\r\n });\r\n }\r\n\r\n // onLogin(returnRedirectUrl: string) {\r\n // console.log('returnRedirectUrl', returnRedirectUrl)\r\n // this.router.navigate(['/login'], { queryParams: { returnUrl: returnRedirectUrl } });\r\n // }\r\n\r\n checkUserDetails() { //check user loged in or not\r\n if (!this.checkAuth()) { //if not loged in then set as fake user\r\n let visitCount: number = 0; //init value will be 0\r\n let sessionStorageData = this.get_sessionStorage_json(this.STORAGE_USER_KEY); //get data from session\r\n if (sessionStorageData) {\r\n visitCount = sessionStorageData.visitCount; //get value from data\r\n if (visitCount <= 5) { //check if 5 time visit or not if not continue count ++\r\n let session_data = this.sessionData(visitCount + 1);\r\n this.set_sessionStorage(this.STORAGE_USER_KEY, session_data);\r\n this.userVisitCount.next(visitCount + 1);\r\n }\r\n else if (visitCount >= 5) { //if visited more then conditional time then redirect to login\r\n // this.cS.navigateTo('/login');\r\n this.cS.onReturnRedirect(this.returnRedirectUrl);\r\n }\r\n }\r\n else { //if not found in session then set init value\r\n let session_data = this.sessionData(visitCount + 1);\r\n this.set_sessionStorage(this.STORAGE_USER_KEY, session_data);\r\n }\r\n }\r\n else { // if user loged in then remove session storage\r\n this.remove_sessionStorage(this.STORAGE_USER_KEY);\r\n }\r\n }\r\n\r\n // get json\r\n get_sessionStorage_json(key: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n if (window.sessionStorage.length > 0) {\r\n return JSON.parse(window.sessionStorage.getItem(key) || '{}');\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // set\r\n set_sessionStorage(key: any, value: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n if (value.constructor.name == \"Array\" || value.constructor.name == \"Object\") {\r\n this.set_sessionStorage_json(key, value);\r\n } else {\r\n window.sessionStorage.setItem(key, value);\r\n }\r\n }\r\n }\r\n\r\n // set json\r\n set_sessionStorage_json(key: any, value: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n window.sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n\r\n // check\r\n check_sessionStorage_Exists() {\r\n if (window.sessionStorage) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkAuth() {\r\n if (this.cS.getUserDetails()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private sessionData(visitCount: any) {\r\n let session_data: any;\r\n session_data['visitCount'] = visitCount;\r\n return session_data;\r\n }\r\n\r\n // remove item\r\n remove_sessionStorage(key: any) {\r\n if (this.check_sessionStorage_Exists()) {\r\n if (window.sessionStorage.length > 0) {\r\n window.sessionStorage.removeItem(key);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n onWhatsAppBtn(countryCode: any, mobileNo: number) {\r\n // var newWhatsAppNumber = \"+91 99 16 489165\";\r\n let value = countryCode + mobileNo;\r\n // Remove all spaces\r\n let newWhatsAppNumber = value.replace(/ /g, '');\r\n\r\n // If string starts with +, drop first 1 characters\r\n if (value.slice(0, 1) == '+') {\r\n newWhatsAppNumber = newWhatsAppNumber.substring(1)\r\n }\r\n\r\n // If string starts with 0, drop first 4 characters\r\n // if (value.slice(0, 1) == '0') {\r\n // newWhatsAppNumber = newWhatsAppNumber.substring(4)\r\n // }\r\n if (this.isMobile) {\r\n window.open(`whatsapp://send?phone=${newWhatsAppNumber}`);\r\n }\r\n else {\r\n window.open(`https://api.whatsapp.com/send?phone=${newWhatsAppNumber}`, '_blank');\r\n }\r\n }\r\n\r\n loadReportBusinessComponent() {\r\n const modalReference = this.modalService.open(ReportBusinessModalComponent, { windowClass: 'mobile_popup' });\r\n modalReference.componentInstance.assetTypeId = this.placeDetailsModel.asset_type_id;\r\n modalReference.componentInstance.entityId = this.placeDetailsModel.id;\r\n modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason);\r\n });\r\n }\r\n\r\n /**\r\n * implement pending\r\n */\r\n findAndAddAttr() {\r\n // const $widget = $(this.el.nativeElement);\r\n const $widget = $(this.placeDetailsModel.descriptions);\r\n // let test = $widget.find('a').attr(\"target\", \"_blank\");\r\n let ltest = $widget.find('a');\r\n console.log(ltest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MessagesComponent } from './features/auth/messages/messages.component';\r\nimport { NewsDetailsComponent } from './features/auth/news-details/news-details.component';\r\nimport { NewslistComponent } from './features/auth/newslist/newslist.component';\r\nimport { NotFoundPageComponent } from './features/auth/not-found-page/not-found-page.component';\r\nimport { NotificationsListComponent } from './features/auth/notifications-list/notifications-list.component';\r\nimport { PlasmaDonorComponent } from './features/auth/plasma-donor/plasma-donor.component';\r\nimport { TemplateDetailComponent } from './features/auth/template-detail/template-detail.component';\r\nimport { EventCreateComponent } from './features/event-listing/event-create/event-create.component';\r\nimport { EventDetailsComponent } from './features/event-listing/event-details/event-details.component';\r\nimport { EventEditComponent } from './features/event-listing/event-edit/event-edit.component';\r\nimport { EventListingComponent } from './features/event-listing/event-listing.component';\r\nimport { GroupEditComponent } from './features/group-edit/group-edit.component';\r\nimport { GroupJobDetailsComponent } from './features/job/group-jobs-listing/group-job-details/group-job-details.component';\r\nimport { GroupJobEditComponent } from './features/job/group-jobs-listing/group-job-edit/group-job-edit.component';\r\nimport { GroupJobsCreateComponent } from './features/job/group-jobs-listing/group-jobs-create/group-jobs-create.component';\r\nimport { GroupJobsListingComponent } from './features/job/group-jobs-listing/group-jobs-listing.component';\r\n \r\nimport { JobApplicantUsersListingComponent } from './features/job/group-jobs-listing/job-applicant-users-listing/job-applicant-users-listing.component';\r\n\r\nimport { EntityListingComponent } from './features/person/entity-listing.component';\r\nimport { PlaceDetailsComponent } from './features/place-details/place-details.component';\r\nimport { AuthGuard } from './shared/guard/auth.guard';\r\n\r\n\r\nconst routes: Routes = [\r\n // { path: 'login', loadChildren: () => import('../app/features/auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login', loadChildren: () => import('./features/auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'signup', loadChildren: () => import('./features/auth/signup/signup.module').then(m => m.SignupModule) },\r\n { path: 'user', loadChildren: () => import('./features/user/user.module').then(m => m.UserModule) },\r\n { path: 'home', loadChildren: () => import('./features/home/home.module').then(m => m.HomeModule) },\r\n { path: 'Coomingsoon', loadChildren: () => import('./features/auth/coomingsoon/coomingsoon.module').then(m => m.CoomingsoonModule) },\r\n { path: 'landing', redirectTo: 'landing', pathMatch: 'full' },\r\n { path: 'landing', loadChildren: () => import('./features/auth/landing/landing.module').then(m => m.LandingModule) },\r\n { path: 'success', loadChildren: () => import('./features/auth/success/success.module').then(m => m.SuccessModule) },\r\n { path: 'about', loadChildren: () => import('./features/auth/about/about.module').then(m => m.AboutModule) },\r\n { path: 'faqs', loadChildren: () => import('./features/auth/faqs/faqs.module').then(m => m.FaqsModule) },\r\n { path: 'terms-conditions', loadChildren: () => import('./features/auth/term-conditions/term-conditions.module').then(m => m.TermConditionsModule) },\r\n { path: 'refund-policy', loadChildren: () => import('./features/auth/refund-policy/refund-policy.module').then(m => m.RefundPolicyModule) },\r\n { path: 'groups', loadChildren: () => import('./features/group/group.module').then(m => m.GroupModule) },\r\n { path: 'how-it-work', loadChildren: () => import('./features/auth/how-it-work/how-it-work.module').then(m => m.HowItWorkModule) },\r\n { path: 'MembershipPlan', loadChildren: () => import('./features/auth/membership-plan/membership-plan.module').then(m => m.MembershipPlanModule) },\r\n { path: 'plasma-donor', component: PlasmaDonorComponent, data: { title: environment.TITLE + ' - Plasma Donor' } },\r\n { path: 'contact', loadChildren: () => import('./features/auth/contact/contact.module').then(m => m.ContactModule) },\r\n { path: 'privacy-policy', loadChildren: () => import('./features/auth/privacy-policy/privacy-policy.module').then(m => m.PrivacyPolicyModule) },\r\n { path: 'payment-detail', loadChildren: () => import('./features/auth/payment/payment.module').then(m => m.PaymentModule) },\r\n { path: 'template/detail/:slug', component: TemplateDetailComponent, data: { title: environment.TITLE + ' - Template Detail' } },\r\n { path: 'atoz', loadChildren: () => import('./features/auth/azcategories/azcategories.module').then(m => m.AZcategoriesModule) },\r\n\r\n { path: '404', component: NotFoundPageComponent },\r\n { path: 'notifications-list', component: NotificationsListComponent, data: { title: environment.TITLE + ' - Template Detail' } },\r\n { path: 'trending', loadChildren: () => import('./features/trending-categories/trending-categories.module').then(m => m.TrendingCategoriesModule) },\r\n\r\n { path: 'plasma-donor', component: PlasmaDonorComponent, data: { title: environment.TITLE + ' - Plasma Donor' } },\r\n { path: 'job', loadChildren: () => import('./features/job/group-jobs-listing/group-jobs-listing.module').then(m => m.GroupJobsListingModule) },\r\n\r\n {\r\n path: 'job/create',\r\n component: GroupJobsCreateComponent,\r\n data: { title: 'Job Create' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard]\r\n },\r\n \r\n {\r\n path: 'jobs/:slug', component: GroupJobsListingComponent, data: { title: 'Jobs Listing' },\r\n canActivate: [AuthGuard], canLoad: [AuthGuard], canActivateChild: [AuthGuard]\r\n },\r\n {\r\n path: 'group/edit/:slug',\r\n component: GroupEditComponent,\r\n data: { title: 'Group Edit' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'job/create/:slug', component: GroupJobsCreateComponent, data: { title: 'Job Create' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'job/edit/:slug', component: GroupJobEditComponent, data: { title: 'Job Edit' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'job/details/:slug', component: GroupJobDetailsComponent, data: { title: 'Job Details' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'job/applicant/:slug', component: JobApplicantUsersListingComponent, data: { title: 'Job Applicants' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n { path: 'events/:slug', loadChildren: () => import('./features/event-listing/event-listing.module').then(m => m.EventListingModule) },\r\n\r\n {\r\n path: 'events/:slug',\r\n component: EventListingComponent,\r\n data: { title: 'Event List' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'event/create/:slug',\r\n component: EventCreateComponent,\r\n data: { title: 'Event Create' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'event/edit/:slug',\r\n component: EventEditComponent,\r\n data: { title: 'Event Edit' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'event/details/:slug',\r\n component: EventDetailsComponent,\r\n data: { title: 'Event details' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n\r\n\r\n// {\r\n// path: 'news/:slug',\r\n// component: NewsDetailsComponent,\r\n// data: { title: 'Event details' },\r\n// canActivate: [AuthGuard],\r\n// canLoad: [AuthGuard],\r\n// canActivateChild: [AuthGuard],\r\n// },\r\n {\r\n path: 'place/:slug',\r\n component: PlaceDetailsComponent,\r\n data: { title: 'Person details' }\r\n },\r\n {\r\n path: 'person/:slug',\r\n component: PlaceDetailsComponent,\r\n data: { title: 'Person details' }\r\n },\r\n {\r\n path: 'business/:slug',\r\n component: PlaceDetailsComponent,\r\n data: { title: 'Business details' }\r\n },\r\n {\r\n path: 'history/:slug',\r\n component: PlaceDetailsComponent,\r\n data: { title: 'History details' }\r\n },\r\n \r\n {\r\n path: 'places',\r\n component: EntityListingComponent,\r\n data: { title: 'Place Listing' }\r\n },\r\n {\r\n path: 'persons',\r\n component: EntityListingComponent,\r\n data: { title: 'Person Listing' }\r\n },\r\n {\r\n path: 'history',\r\n component: EntityListingComponent,\r\n data: { title: 'Historys Listing' }\r\n },\r\n {\r\n path: 'events/:slug',\r\n component: EventListingComponent,\r\n data: { title: 'Event List' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'event/create/:slug',\r\n component: EventCreateComponent,\r\n data: { title: 'Event Create' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'event/edit/:slug',\r\n component: EventEditComponent,\r\n data: { title: 'Event Edit' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n path: 'event/details/:slug',\r\n component: EventDetailsComponent,\r\n data: { title: 'Event details' },\r\n canActivate: [AuthGuard],\r\n canLoad: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n },\r\n {\r\n canActivate: [AuthGuard], canLoad: [AuthGuard], canActivateChild: [AuthGuard],\r\n path: 'messages', component: MessagesComponent, data: { title: 'Job Applicants' }\r\n },\r\n { path: 'category', loadChildren: () => import('./features/categorie/categorie.module').then(m => m.CategorieModule) },\r\n {\r\n path: 'newslist',\r\n component: NewslistComponent,\r\n data: { title: 'News list' }\r\n },\r\n \r\n {\r\n path: 'service', loadChildren: () => import('./features/categorie/categorie.module').then(m => m.CategorieModule)\r\n },\r\n { path: 'website/:slug', loadChildren: () => import('./features/public-business-detail/public-business-detail.module').then(m => m.PublicBusinessDetailModule) },\r\n {\r\n path: 'group/create',\r\n loadChildren: () => import('./features/group-create/group-create.module').then(m => m.GroupCreateModule)\r\n },\r\n { path: 'group/details/:slug', loadChildren: () => import('./features/group-details/group-details.module').then(m => m.GroupDetailsModule) },\r\n { path: 'newsreport', loadChildren: () => import('./features/auth/newsreport/newsreport.module').then(m => m.NewsreportModule) },\r\n \r\n\r\n { path: '**', redirectTo: '/404' }\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n initialNavigation: 'enabled'\r\n})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","
\r\n

{{'ang_whybecomeagent' | translate}}

\r\n

{{'ang_whybecomeagentBD' | translate}}

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

{{'ang_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 \"thank_you\"\r\n
\r\n

{{'ang_youareset' | translate}}

\r\n

{{'ang_thankyouagent' | translate}},

\r\n

{{'ang_contactsoon' | translate}}.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormBuilder, Validators, FormGroup, FormControl } from '@angular/forms';\r\n\r\n \r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'ryec-become-agent',\r\n templateUrl: './become-agent.component.html',\r\n styleUrls: ['./become-agent.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BecomeAgentComponent implements OnInit {\r\n\r\n becomeAgentForm: FormGroup;\r\n successFul_submission: boolean;\r\n isAgent: string | null;\r\n appName = environment.APP_NAME;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private fb: FormBuilder, private hS: HttpService, private cS: CommonService) {\r\n\r\n // hide approval design\r\n this.successFul_submission = false;\r\n this.becomeAgentForm = this.fb.group({\r\n comment: [null, Validators.compose([Validators.required])]\r\n });\r\n\r\n this.isAgent = this.cS.getData('isAgent');\r\n\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // if already apply for agent\r\n if (this.isAgent && this.isAgent === 'P') {\r\n this.successFul_submission = true;\r\n }\r\n }\r\n\r\n sendDetails() {\r\n if (this.becomeAgentForm.valid) {\r\n\r\n const uri = environment.RYEC_API_URL + 'addAgentRequest';\r\n\r\n this.hS.post(uri, this.becomeAgentForm.value).subscribe((res:any) => {\r\n\r\n\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n // note that P => pending approval A=> agent approved NA=> not apply yet\r\n this.cS.setData('isAgent', 'P');\r\n this.successFul_submission = true;\r\n // hide modal\r\n // this.activeModal.dismiss();\r\n }\r\n\r\n }, err => {\r\n console.log(err);\r\n });\r\n\r\n } else {\r\n this.validateAllFields(this.becomeAgentForm);\r\n }\r\n }\r\n\r\n validateAllFields(Fg: FormGroup) {\r\n Object.keys(Fg.controls).forEach(field => {\r\n const control = Fg.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFields(control);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

{{'ang_addmember' | translate}}

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

\r\n {{statusAlert.message}}\r\n

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

{{'ang_usernamevalidation' | 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 {{'ang_emailvalidation' | translate}}\r\n

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

{{'ang_passwordvalidation' | translate }}

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

{{'ang_confirmpasswordvalidation' | 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 ","import { Component, OnInit, Input } from '@angular/core';\r\n\r\nimport { Validators, FormControl, FormBuilder, FormGroup } from '@angular/forms';\r\nimport { CustomValidators } from 'ng2-validation';\r\n \r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\nconst password = new FormControl('', {\r\n validators: Validators.compose([Validators.required, Validators.minLength(8)])\r\n});\r\nconst certainPassword = new FormControl('', {\r\n validators: Validators.compose([CustomValidators.equalTo(password)])\r\n});\r\n\r\n\r\n@Component({\r\n selector: 'ryec-register-member',\r\n templateUrl: './register-member.component.html',\r\n styleUrls: ['./register-member.component.css']\r\n})\r\nexport class RegisterMemberComponent implements OnInit {\r\n\r\n @Input() otp: any;\r\n @Input() phone: any;\r\n @Input() country_code: any;\r\n\r\n signUpForm: FormGroup;\r\n\r\n // status alert 0=> something missing, 1=> success, 3=>default not active\r\n statusAlert: {\r\n status: 1 | 0 | 3,\r\n message: string\r\n };\r\n\r\n\r\n constructor(private fb: FormBuilder,\r\n public activeModal: NgbActiveModal,\r\n private hS: HttpService,\r\n private cS: CommonService) {\r\n\r\n this.signUpForm = this.fb.group({\r\n username: [null, Validators.required],\r\n email: [null, CustomValidators.email],\r\n mobnumber: [null],\r\n password: password,\r\n passwordConfirm: certainPassword,\r\n country_code: [null]\r\n });\r\n\r\n this.statusAlert = {\r\n status: 3,\r\n message: ''\r\n };\r\n\r\n }\r\n\r\n ngOnInit() {\r\n // reset form\r\n this.signUpForm.reset();\r\n }\r\n\r\n /**\r\n * submit form details registration process\r\n */\r\n submitDetails() {\r\n console.log(this.signUpForm.valid, '<<<<');\r\n\r\n if (this.signUpForm.valid) {\r\n const splitVal = this.phone.split('-');\r\n this.phone = splitVal[1];\r\n const apiUrl = environment.RYEC_API_URL + 'agentSaveUser';\r\n const paramConfig = {\r\n name: this.signUpForm.controls.username.value,\r\n phone: this.phone,\r\n email: this.signUpForm.controls.email.value,\r\n otp: this.otp,\r\n password: this.signUpForm.controls.password.value,\r\n country_code: this.country_code\r\n };\r\n\r\n\r\n this.hS.post(apiUrl, paramConfig).subscribe((res: any) => {\r\n\r\n console.log(res);\r\n if (res.status === 1) {\r\n localStorage.setItem('member_id', res.data.id);\r\n localStorage.setItem('member_mobile', this.country_code + '-' + this.phone);\r\n this.activeModal.dismiss();\r\n this.cS.navigateTo('/home/business-profile/add-new');\r\n this.cS.showSuccess(res.message);\r\n } else {\r\n this.statusAlert = {\r\n status: res.status,\r\n message: res.message\r\n };\r\n }\r\n }, (err: any) => {\r\n if (err.error) {\r\n // console.log(err.error);\r\n this.statusAlert = {\r\n status: err.error.status,\r\n message: err.error.message\r\n };\r\n }\r\n });\r\n\r\n } else {\r\n // trigger validation while do submit\r\n this.cS.triggerValidation(this.signUpForm);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n

{{'ang_enterotp'| translate}} {{mobile}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{'ang_wefoundthisresult' | translate}}
\r\n
\r\n \r\n
\r\n {{memberdata.name }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{'ang_otprequired'| translate}}

\r\n
\r\n

{{ 'ang_otpinvalid' | translate}}

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

{{'ang_dontreceiveotp' | translate}}\r\n {{'ang_resendotp' | translate}}\r\n

\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\n\r\nimport { NgbActiveModal, NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n \r\nimport { RegisterMemberComponent } from '../../modal/register-member/register-member.component';\r\nimport { MemberData, MemberDataRes } from 'src/app/shared/class/data.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-verify-member',\r\n templateUrl: './verify-member.component.html',\r\n styleUrls: ['./verify-member.component.css']\r\n})\r\nexport class VerifyMemberComponent implements OnInit {\r\n\r\n @Input() mobile = 0;\r\n @Input() memberdata: any;\r\n @Input() country_code = 0;\r\n\r\n otpForm: FormGroup;\r\n modalOption: NgbModalOptions;\r\n appName = environment.APP_NAME;\r\n\r\n\r\n constructor(private fb: FormBuilder,\r\n public activeModal: NgbActiveModal,\r\n private modalService: NgbModal,\r\n private cS: CommonService,\r\n private hS: HttpService) {\r\n\r\n this.otpForm = this.fb.group({\r\n phone: [null],\r\n otp: [null, Validators.compose([Validators.required,\r\n Validators.maxLength(6),\r\n Validators.minLength(6),\r\n Validators.pattern('^[0-9]+$')])],\r\n country_code:[null]\r\n });\r\n\r\n this.modalOption = {\r\n backdrop: 'static',\r\n windowClass: 'mobile_popup',\r\n keyboard: false,\r\n size: 'lg'\r\n };\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n otpCheck() {\r\n // console.log('click working');\r\n if (this.otpForm.valid) {\r\n this.otpForm.value.phone = this.mobile;\r\n this.otpForm.value.country_code = this.country_code;\r\n console.log(this.otpForm.value);\r\n\r\n const uri = environment.RYEC_API_URL + 'verifyAgentOTP';\r\n\r\n this.hS.post(uri, this.otpForm.value).subscribe((res: any) => {\r\n\r\n console.log(res, '<<<');\r\n if (res.status === 1) {\r\n this.activeModal.dismiss();\r\n if(localStorage.getItem('member_id') == 'undefined' || localStorage.getItem('member_id') == null || localStorage.getItem('member_id') == undefined || localStorage.getItem('member_id') == '')\r\n {\r\n const modalRef = this.modalService.open(RegisterMemberComponent, this.modalOption);\r\n modalRef.componentInstance.otp = this.otpForm.value.otp;\r\n modalRef.componentInstance.phone = this.country_code + '-' + this.mobile;\r\n modalRef.componentInstance.country_code = this.country_code;\r\n }\r\n else\r\n {\r\n this.cS.navigateTo('/home/business-profile/add-new');\r\n }\r\n\r\n this.cS.showSuccess(res.message);\r\n\r\n } else if (res.status === 0) {\r\n\r\n this.cS.showError(res.message);\r\n }\r\n\r\n }, (err: any) => {\r\n this.activeModal.dismiss();\r\n console.log(err);\r\n });\r\n } else {\r\n\r\n this.cS.triggerValidation(this.otpForm);\r\n }\r\n }\r\n /**\r\n * resend OTP\r\n */\r\n resendOTP() {\r\n\r\n const uri = environment.RYEC_API_URL + 'sendAddMemberOTP';\r\n this.hS.post(uri, { phone: this.mobile }).subscribe((res: any) => {\r\n\r\n // console.log(res);\r\n if (res.status === 1) {\r\n\r\n } else if (res.status === 0) {\r\n\r\n }\r\n this.cS.showSuccess(res.message);\r\n\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n

{{'ang_customermobile' | 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 {{code.country_code}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

{{'ang_mobilerequired'| translate}}

\r\n
\r\n

{{ 'ang_mobilevalidation' | translate}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, HostListener, ElementRef } from '@angular/core';\r\nimport { Validators, FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { NgbActiveModal, NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n \r\nimport { VerifyMemberComponent } from './../verify-member/verify-member.component';\r\nimport { MemberDataRes, MemberData } from 'src/app/shared/class/data.model';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { environment } from 'src/environments/environment';\r\n \r\n@Component({\r\n\tselector: 'ryec-add-member-agent',\r\n\ttemplateUrl: './add-member-agent.component.html',\r\n\tstyleUrls: ['./add-member-agent.component.css']\r\n})\r\nexport class AddMemberAgentComponent implements OnInit {\r\n\r\n\t@HostListener('document:click', ['$event'])\r\n\tclickout(event: any) {\r\n\t\tif (this.eRef.nativeElement.contains(event.target)) {\r\n\t\t\tif (event.srcElement.className !== 'dropbtn')\r\n\t\t\t{\r\n\t\t\t\tthis.showDropDown = false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.showDropDown = false;\r\n\t\t}\r\n }\r\n\r\n\taddMemberForm: FormGroup;\r\n\tmodalOption: NgbModalOptions;\r\n\tcountryCodes: any;\r\n\tcountry_code = '+91';\r\n\tcountry_img = '';\r\n\tshowDropDown = false;\r\n\tappName = environment.APP_NAME;\r\n\r\n\tconstructor(private fb: FormBuilder,\r\n\t\tpublic activeModal: NgbActiveModal,\r\n\t\tprivate hS: HttpService,\r\n\t\tprivate hmS: HomeService,\r\n\t\tprivate cS: CommonService,\r\n\t\tprivate eRef: ElementRef,\r\n\t\tprivate modalService: NgbModal) {\r\n\r\n\t\tthis.addMemberForm = this.fb.group({\r\n\t\t\t//country_code: ['+91'],\r\n\t\t\tphone: [null, Validators.compose([Validators.required,\r\n\t\t\tValidators.maxLength(13),\r\n\t\t\tValidators.minLength(6),\r\n\t\t\tValidators.pattern('^[0-9]+$')])],\r\n\t\t\tcountry_code:['+91']\r\n\t\t});\r\n\r\n\t\tthis.modalOption = {\r\n\t\t\tbackdrop: 'static',\r\n\t\t\twindowClass: 'mobile_popup',\r\n\t\t\tkeyboard: false\r\n\t\t};\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.hmS.getCountryCode().subscribe((res: any) => {\r\n\t\t\tthis.countryCodes = res['data'];\r\n\t\t\tfor (let x in this.countryCodes)\r\n\t\t\t{\r\n\t\t\t\tif (this.country_code === this.countryCodes[x]['country_code'])\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.country_img = this.countryCodes[x]['country_flag'];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconsole.log(res);\r\n\t\t}, err => {\r\n\t\t\tconsole.log(err);\r\n\t\t});\r\n\t}\r\n\r\n\tsendOTP() {\r\n\t\tif (this.addMemberForm.valid) {\r\n\r\n\t\t\tconst uri = environment.RYEC_API_URL + 'sendAddMemberOTP';\r\n\t\t\tthis.hS.post(uri, this.addMemberForm.value).subscribe((res: any) => {\r\n\r\n\t\t\t\t// console.log(res);\r\n\t\t\t\tif (res.status === 1) {\r\n\t\t\t\t\tconsole.log(res.data);\r\n\t\t\t\t\tthis.openOTPModal(res.data);\r\n\t\t\t\t} else if (res.status === 0) {\r\n\t\t\t\t\tthis.activeModal.dismiss();\r\n\t\t\t\t}\r\n\t\t\t\tthis.cS.showSuccess(res.message);\r\n\r\n\t\t\t}, err => {\r\n\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\r\n\t\t} else {\r\n\t\t\tthis.validateAllFields(this.addMemberForm);\r\n\t\t}\r\n\t}\r\n\r\n\topenOTPModal(params: MemberData) {\r\n\r\n\t\t// dismiss active forgot password model\r\n\t\tthis.activeModal.dismiss();\r\n\t\t// open otp model\r\n\t\tlocalStorage.setItem('member_id', params.id);\r\n\t\tlocalStorage.setItem('member_mobile', this.addMemberForm.value.country_code + '-' + this.addMemberForm.value.phone);\r\n\t\tconst modalReference = this.modalService.open(VerifyMemberComponent, this.modalOption);\r\n\t\tmodalReference.componentInstance.mobile = this.addMemberForm.value.phone;\r\n\t\tmodalReference.componentInstance.country_code = this.country_code;\r\n\t\tmodalReference.componentInstance.memberdata = params;\r\n\r\n\t}\r\n\r\n\tvalidateAllFields(Fg: FormGroup) {\r\n\t\tObject.keys(Fg.controls).forEach(field => {\r\n\t\t\tconst control = Fg.get(field);\r\n\t\t\tif (control instanceof FormControl) {\r\n\t\t\t\tcontrol.markAsTouched({ onlySelf: true });\r\n\t\t\t} else if (control instanceof FormGroup) {\r\n\t\t\t\tthis.validateAllFields(control);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tselectCountry(countryObj : any)\r\n\t{\r\n\t this.country_code = countryObj['country_code'];\r\n\t this.country_img = countryObj['country_flag'];\r\n\t this.showDropDown = false;\r\n\t}\r\n \r\n\tselectCountryCode()\r\n\t{\r\n\t if (this.showDropDown)\r\n\t {\r\n\t\tthis.showDropDown = false;\r\n\t } else {\r\n\t\tthis.showDropDown = true;\r\n\t }\r\n\t}\r\n}\r\n\r\n","
\r\n \r\n \r\n \r\n
\r\n \r\n
    \r\n \r\n
  • \r\n {{ item.name }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, HostListener } from '@angular/core';\r\n \r\nimport {\r\n debounceTime,\r\n map,\r\n filter\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs/observable/fromEvent';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HomeService } from '../../services/home.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'ryec-city-auto-complete-search',\r\n templateUrl: './city-auto-complete-search.component.html',\r\n styleUrls: ['./city-auto-complete-search.component.css']\r\n})\r\nexport class CityAutoCompleteSearchComponent implements OnInit {\r\n\r\n @Input() boxWidth: number = 0;\r\n @Input() boxHeight: number = 0;\r\n @Output() storeToParent = new EventEmitter();\r\n @ViewChild('locationSearchInput')\r\n locationSearchInput!: ElementRef;\r\n\r\n searchText: string = \"\";\r\n\r\n locationLists: any[] = [];\r\n location = '';\r\n search_location: string = \"\";\r\n allLocations: any[] = [];\r\n appName = environment.APP_NAME;\r\n constructor(\r\n public hS: HomeService,\r\n // private eRef: ElementRef,\r\n ) { }\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (event.srcElement.className == 'home-city-search-wrapper' || event.srcElement.className == 'container' || event.srcElement.className == '') {\r\n if (this.appName == 'MRC') {\r\n $(\".header-location-filter-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".header-location-filter-ryc\").css(\"display\", \"none\");\r\n }\r\n console.log(\"if\" + event.srcElement.className);\r\n }\r\n if (event.srcElement.className == 'business_listing_view' || event.srcElement.className == 'sub_category_listing' || event.srcElement.className == '') {\r\n // $(\".header-location-filter\").css(\"display\", \"none\");\r\n if (this.appName == 'MRC') {\r\n $(\".header-location-filter-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".header-location-filter-ryc\").css(\"display\", \"none\");\r\n }\r\n console.log(\"if\" + event.srcElement.className);\r\n }\r\n }\r\n ngOnInit() {\r\n // this.getAddressDetail();\r\n }\r\n ngAfterViewInit(): void {\r\n this.citySearch();\r\n }\r\n\r\n\r\n /**\r\n * deley api calling and called once user finish typed in search text box\r\n * @Yuvraj 15/11/2021\r\n */\r\n\r\n citySearch() {\r\n fromEvent(this.locationSearchInput.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 3\r\n // , filter(res => res.length >= 3)\r\n filter(res => {\r\n if (res && res.length >= 3) {\r\n return true;\r\n } else {\r\n if (this.appName == 'MRC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-ryc\").css(\"display\", \"none\");\r\n }\r\n return false;\r\n }\r\n })\r\n\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n\r\n // If previous query is diffent from current\r\n // , distinctUntilChanged()\r\n\r\n // subscription for response\r\n ).subscribe((postJson: string) => {\r\n // this.hS.getSearchLocationList({ searchText: postJson }).subscribe((res: any) => {\r\n this.hS.getSearchLocationList(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n if (res.data.length > 0) {\r\n if (this.appName == 'MRC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-mrc\").css(\"display\", \"block\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-ryc\").css(\"display\", \"block\");\r\n }\r\n // $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter\").css(\"display\", \"block\");\r\n this.locationLists = res.data;\r\n } else {\r\n if (this.appName == 'MRC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-ryc\").css(\"display\", \"none\");\r\n }\r\n // $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter\").css(\"display\", \"none\");\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * if user clear search box then check and also update on parent dom\r\n * @Yuvraj 17/12/21\r\n */\r\n checkVal() {\r\n if (this.searchText == \"\") {\r\n this.storeToParent.emit(\"\");\r\n }\r\n }\r\n\r\n /**\r\n * if user select search result location update val on parent dom\r\n * @Yuvraj 17/12/21 \r\n */\r\n selectLocation(location: string) {\r\n this.storeToParent.emit(location);\r\n this.searchText = location;\r\n this.search_location = location;\r\n if (this.appName == 'MRC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(this.locationSearchInput.nativeElement).closest('.location-auto-search').find(\".header-location-filter-ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{'ang_addnewmember' | translate}}\r\n \r\n\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\r\n

{{userName}}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{total_unmessage}}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {{'ang_goto_premium_membership_plan' | translate}}\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{item.val}}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • {{item.value}}
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{ 'ang_RYCMobileAppTitle' | translate }}

\r\n

{{ 'ang_forBetterExperience' | translate }}\r\n {{ 'ang_downloadOurApp' | translate }}\r\n

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

{{ 'ang_MRCMobileAppTitle' | translate }}

\r\n

{{ 'ang_forBetterExperience' | translate }}\r\n {{ 'ang_downloadOurApp' | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
ADVERTISE
\r\n
CREATE WEBSITE
\r\n \r\n ×\r\n \r\n
\r\n
\r\n

Advertise your business with My Rajasthan Club Network through various social media channels and highlight your business in My Rajasthan Club Platform. To Know more submit your inquiry.

\r\n

\r\n {{ appName == 'MRC' ? 'Create your business Website without need of domain and hosting on My Rajasthan Club Platform. To Know more submit your inquiry.'\r\n :appName == 'BD' ? 'Create your business Website without need of domain and hosting on Bharat Darshan Platform. To Know more submit your inquiry.'\r\n :'Create your business Website without need of domain and hosting on Rajput Club Platform. To Know more submit your inquiry.'}}\r\n

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

\r\n {{ \"ang_businessprofessionnamevalidation\" | translate }}\r\n

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

\r\n {{ \"ang_businessprofessionusernamevalidation\" | translate }}\r\n

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

\r\n {{ \"ang_businessprofessionphonevalidation\" | translate }}\r\n

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

\r\n {{ \"ang_businessprofessioncityvalidation\" | translate }}\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n {{ \"ang_submit\" | translate | uppercase }}\r\n \r\n
\r\n
\r\n
\r\n
\r\nopen\r\n\r\n\r\n\r\n","import { Component, OnInit, OnDestroy, HostListener, ElementRef, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SignUpLoginSubRes, BusinessFlag } from 'src/app/shared/class/data.model';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BecomeAgentComponent } from './modal/become-agent/become-agent.component';\r\nimport { AddMemberAgentComponent } from './modal/add-member-agent/add-member-agent.component';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n\r\nimport swal from 'sweetalert2';\r\nimport { MessageService } from 'src/app/shared/services/message.service';\r\nimport { AuthService } from 'src/app/shared/services/auth.service';\r\nimport { HttpService } from 'src/app/shared/services/http.service';\r\nimport { HomeService } from 'src/app/shared/services/home.service';\r\nimport { CommonService } from 'src/app/shared/services/common.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'ryec-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\n\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\nvalidTitle: any;\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (this.eRef.nativeElement.contains(event.target)) {\r\n if (event.srcElement.className == \"fa fa-list-ul side_menu_icon\" || event.srcElement.className == \"premium_membership_plans\" || event.srcElement.className == \"ng-untouched ng-pristine ng-valid\" || event.srcElement.className == \"business_name_align\" || event.srcElement.className == \"fa fa-envelope\") {\r\n this.profileDropDown = false;\r\n this.isShow = false;\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n } else if (event.srcElement.className == 'container' || event.srcElement.className == 'ng-pristine ng-valid ng-touched' || event.srcElement.className == '' || event.srcElement.className == 'ng-star-inserted') {\r\n this.profileDropDown = false;\r\n this.showMenuList = false;\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n this.isShow = false;\r\n }\r\n else {\r\n if (event.srcElement.className == 'profile_menu_icon') {\r\n this.isShow = false;\r\n } else if (event.srcElement.className == 'dropbtn') {\r\n this.profileDropDown = false;\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n this.showMenuList = false;\r\n }\r\n if (event.srcElement.className == 'dropbtn langauge') {\r\n this.showMenuList = true;\r\n } else {\r\n this.isLangaugeShow = false;\r\n }\r\n\r\n if (event.srcElement.className == '') {\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n this.searchText = '';\r\n this.search_location = 'All Locations';\r\n }\r\n if (event.srcElement.className == 'search_input') {\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n } else {\r\n this.profileDropDown = false;\r\n this.showMenuList = false;\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n\r\n let path = window.location.pathname;\r\n if (path.indexOf('/business-search') === -1) {\r\n this.searchText = '';\r\n //this.search_location = 'All Locations';\r\n }\r\n this.isShow = false;\r\n\r\n if (event.srcElement.className != 'dropbtn') {\r\n this.isLangaugeShow = false;\r\n }\r\n }\r\n console.log(\"Test:- \" + event.srcElement.className);\r\n }\r\n\r\n userProfile: SignUpLoginSubRes | null;\r\n userLoggedIn = false;\r\n userSubscription: Subscription;\r\n isVendorSubscription: Subscription;\r\n business_flag: boolean;\r\n agentStatus: boolean;\r\n languageProvider: any;\r\n lang: string;\r\n profileSubscription: Subscription;\r\n businessDetailsSub: Subscription;\r\n agentSub: Subscription;\r\n business_name = '';\r\n business_id = 0;\r\n isDesktopDevice: boolean=false;\r\n business_approved = 0;\r\n business_slug = '';\r\n showMenuList: boolean;\r\n total_unmessage = 0;\r\n userName: any;\r\n items: any;\r\n locations :any;\r\n allLocations :any;\r\n search_location = 'All Locations';\r\n searchText = '';\r\n isShow = false;\r\n location = '';\r\n isLangaugeShow = false;\r\n language = 'English';\r\n search_text = false;\r\n isSearchPage = false;\r\n isRajput = false;\r\n membership_type = 0;\r\n membership_type_image = '';\r\n profileDropDown: boolean;\r\n modalReference: any;\r\n validBusinessTitle = false;\r\n validName = false;\r\n validPhoneNo = false;\r\n validCity = false;\r\n validForm = false;\r\n businessType = \"\";\r\n businessForm = {\r\n business_name: '',\r\n name: '',\r\n phoneno: '',\r\n city: ''\r\n }\r\n isMobileAppUrl: boolean = false;\r\n hover: boolean = false;\r\n appDownloadUrl: string = \"\";\r\n appName = environment.APP_NAME;\r\n userDetail: any;\r\n //isLanding = true;\r\n\r\n private deviceInfo: any;\r\n isMobile:any;\r\n \r\n\r\n @Input() isHomePage: boolean = false;\r\n\r\n constructor(private authService: AuthService,\r\n private mS: MessageService,\r\n private cS: CommonService,\r\n public tS: TranslateService,\r\n public router: Router,\r\n public hS: HomeService,\r\n private modalService: NgbModal,\r\n private deviceService: DeviceDetectorService,\r\n // private deviceService: Ng2DeviceService,\r\n private eRef: ElementRef,\r\n private httpS: HttpService) {\r\n\r\n //if (window.location.href.indexOf('landing') < 0) {\r\n //\tthis.isLanding = false;\r\n //}\r\n\r\n // if (window.location.href.indexOf('mobileApp') > 0) {\r\n // console.log('found');\r\n // this.isMobileAppUrl = true;\r\n // }\r\n\r\n //console.log(this.isLanding);\r\n\r\n this.business_flag = false;\r\n\r\n // agent status\r\n this.agentStatus = true;\r\n\r\n // init profileDropDown\r\n this.profileDropDown = false;\r\n\r\n // set lang\r\n this.lang = 'en';\r\n\r\n // set hide\r\n this.showMenuList = false;\r\n\r\n this.userSubscription = this.mS.getLoggedIn().subscribe(data => {\r\n this.userLoggedIn = data;\r\n if (this.userLoggedIn) {\r\n // this.getAddressDetail();\r\n }\r\n });\r\n\r\n // profile subscription\r\n this.profileSubscription = this.mS.getProfile().subscribe((data: SignUpLoginSubRes) => {\r\n this.userProfile = data;\r\n // show register business if not vendor\r\n if (data.isVendor === 0) {\r\n this.membership_type = 0;\r\n this.business_flag = false;\r\n }\r\n\r\n if (data.isRajput === 0) {\r\n this.isRajput = false\r\n } else {\r\n this.isRajput = true;\r\n }\r\n\r\n if (data.isVendor == 1) {\r\n if (data.membership_type != null) {\r\n this.membership_type = data.membership_type;\r\n this.membership_type_image = data.membership_type_icon;\r\n }\r\n }\r\n if (data.name !== 'null') {\r\n const temp = data.name.split(' ');\r\n if (temp.length > 1) {\r\n const userName = temp[0].substr(0, 1).toUpperCase() + ' ' + temp[1].substr(0, 1).toUpperCase();\r\n const matches = userName.match(/\\b(\\w)/g);\r\n if (matches) {\r\n this.userName = matches.join(' ');\r\n }\r\n } else {\r\n const matches = data.name.match(/\\b(\\w)/g);\r\n if (matches) {\r\n this.userName = matches.join(' ');\r\n }\r\n }\r\n }\r\n if (data) {\r\n const profile_pic_thumb = data.profile_pic_thumbnail;\r\n if (profile_pic_thumb === '') {\r\n // console.log('profile pic missing');\r\n if (this.appName == \"RYC\") {\r\n this.userProfile.profile_pic_thumbnail = '../assets/images/default-logo-ryc.png';\r\n }\r\n else {\r\n this.userProfile.profile_pic_thumbnail = '../assets/images/default_image.png';\r\n }\r\n }\r\n }\r\n });\r\n\r\n // business subscription\r\n this.businessDetailsSub = this.mS.getBusinessDetailUpdate().subscribe((dataRes: BusinessFlag) => {\r\n console.log(dataRes);\r\n this.updateUserBusinessData();\r\n });\r\n\r\n //message Count update\r\n const messageCount = this.mS.getMessageCount().subscribe((messageRes: any) => {\r\n console.log(messageRes);\r\n this.total_unmessage = 0;\r\n })\r\n console.log(messageCount);\r\n\r\n // agent Status Subscription\r\n this.agentSub = this.mS.getAgentStatus().subscribe(res => {\r\n if (res.isAgent === 'P') {\r\n this.agentStatus = true;\r\n } else if (res.isAgent === 'A') {\r\n this.agentStatus = false;\r\n } else {\r\n this.agentStatus = true;\r\n }\r\n });\r\n\r\n this.isVendorSubscription = this.mS.getRegisterbusiness().subscribe(data => {\r\n this.business_flag = data;\r\n });\r\n\r\n //Get business search page when serach business page change data\r\n this.mS.getBusinessSearchText().subscribe(data => {\r\n // TODO - change city here\r\n this.search_location = data.city;\r\n this.searchText = data.text;\r\n this.isSearchPage = true;\r\n });\r\n\r\n this.userDetail = this.cS.getUserDetails();\r\n\r\n //this.mS.getIsLandingPage().subscribe(data => {\r\n //\tthis.isLanding = data;\r\n //});\r\n\r\n // this.languageProvider = [{\r\n // key: 'en',\r\n // val: 'English'\r\n // },\r\n // {\r\n // key: 'hi',\r\n // val: 'हिंदी'\r\n // },\r\n // {\r\n // key: 'gu',\r\n // val: 'राजस्थानी'\r\n // }\r\n // ];\r\n this.getLanguage();\r\n\r\n this.mS.getBusinessName().subscribe(businessRes => {\r\n this.business_name = businessRes;\r\n })\r\n\r\n // set user profile\r\n this.userProfile = null;\r\n }\r\n\r\n getLanguage() {\r\n if (this.appName == 'RYC') {\r\n this.languageProvider = [\r\n { key: 'en', val: 'English' },\r\n { key: 'hi', val: 'हिंदी' },\r\n { key: 'gu', val: 'ગુજરાતી' }\r\n ];\r\n }\r\n else {\r\n this.languageProvider = [\r\n { key: 'en', val: 'English' },\r\n { key: 'hi', val: 'हिंदी' },\r\n { key: 'gu', val: 'राजस्थानी' }\r\n ];\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.lang = this.cS.getLang();\r\n if (this.lang == 'en') {\r\n this.language = 'English';\r\n } else if (this.lang == 'hi') {\r\n this.language = 'हिंदी';\r\n } else {\r\n if (this.appName == 'RYC') {\r\n this.language = 'ગુજરાતી';\r\n }\r\n else {\r\n this.language = 'राजस्थानी';\r\n }\r\n }\r\n this.isDesktopDevice = this.deviceService.isDesktop();\r\n this.authService.isLoggedIn() ? this.userLoggedIn = true : this.userLoggedIn = false;\r\n if (this.userLoggedIn) {\r\n const isRegister = this.cS.isBusinessRegister();\r\n const isSkipped = this.cS.isBusinessRegisterSkipped();\r\n this.business_flag = isRegister || !isSkipped;\r\n const isAgentVal = this.cS.getData('isAgent');\r\n if (isAgentVal && isAgentVal === 'A') {\r\n this.agentStatus = false;\r\n this.business_flag = isRegister;\r\n } else if (isAgentVal && isAgentVal === 'P') {\r\n this.agentStatus = true;\r\n } else {\r\n this.business_flag = isRegister;\r\n }\r\n\r\n this.updateUserBusinessData();\r\n if (this.userLoggedIn) {\r\n this.userProfile = this.cS.getUserDetails();\r\n if (this.userProfile) {\r\n if (this.userProfile.isRajput === 0) {\r\n this.isRajput = false\r\n } else {\r\n this.isRajput = true;\r\n }\r\n if (this.userProfile.isVendor == 1) {\r\n if (this.userProfile.membership_type != null) {\r\n this.membership_type = this.userProfile.membership_type;\r\n this.membership_type_image = this.userProfile.membership_type_icon;\r\n }\r\n this.getBusinessApproved();\r\n }\r\n const profile_pic_thumb = this.userProfile.profile_pic_thumbnail;\r\n if (profile_pic_thumb === '') {\r\n this.userProfile['profile_pic_thumbnail'] = '../assets/images/default_image.png';\r\n }\r\n\r\n if (this.userProfile.name !== 'null') {\r\n const temp = this.userProfile.name.split(' ');\r\n if (temp.length > 1) {\r\n const userName = temp[0].substr(0, 1).toUpperCase() + ' ' + temp[1].substr(0, 1).toUpperCase();\r\n const matches = userName.match(/\\b(\\w)/g);\r\n if (matches) {\r\n this.userName = matches.join(' ');\r\n }\r\n } else {\r\n const matches = this.userProfile.name.match(/\\b(\\w)/g);\r\n if (matches) {\r\n this.userName = matches.join(' ');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if(this.appName=='MRC')\r\n {\r\n this.getUserUnreadThreadCount();\r\n }\r\n // this.getAddressDetail();\r\n\r\n // this.routeUrl = this.router.url;\r\n }\r\n \r\n // for detect mobile\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.isMobile = this.deviceService.isMobile();\r\n if (this.isMobile) {\r\n this.redirectToAppDownload();\r\n let element:HTMLElement = document.getElementById('app-download-btn') as HTMLElement;\r\n element.click();\r\n }\r\n }\r\n\r\n // checkIsIOSAppInstalled() {\r\n // setTimeout(() => { window.location.href = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\"; }, 200);\r\n // window.location.href = \"myrajasthan-club://\";\r\n // }\r\n\r\n // checkIsAndroidAppInstalled() {\r\n // setTimeout(() => { window.location.href = \"https://play.google.com/store/apps/details?id=club.myrajasthan\"; }, 200);\r\n // // window.location.href = \"Myrajasthan Club://\";\r\n // }\r\n\r\n showAppDownloadModal(content: any) {\r\n this.modalService.open(content, { windowClass: 'mobile_popup download-app' });\r\n }\r\n\r\n //Update business detail like business name, business approved or not\r\n updateUserBusinessData() {\r\n const businessData = this.cS.getBusinessDetail();\r\n if (businessData) {\r\n this.business_id = businessData.business_id;\r\n this.business_name = businessData.business_name;\r\n this.business_approved = businessData.business_approved;\r\n this.business_slug = businessData.business_slug;\r\n }\r\n }\r\n\r\n /**\r\n * redirect to app store dependent on device os type\r\n * @Yuvraj 01/12/2021\r\n */\r\n redirectToAppDownload() {\r\n if (this.deviceInfo.device == 'iPhone') {\r\n if (this.appName == 'RYC') {\r\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajputs-club/id1660935382\";\r\n }\r\n else {\r\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\r\n }\r\n // this.checkIsIOSAppInstalled();\r\n }\r\n if (this.deviceInfo.device == 'Android') {\r\n if (this.appName == 'RYC') {\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\r\n }\r\n else {\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // prevent memory leckage\r\n this.userSubscription.unsubscribe();\r\n this.agentSub.unsubscribe();\r\n this.businessDetailsSub.unsubscribe();\r\n this.isVendorSubscription.unsubscribe();\r\n }\r\n redirectapp()\r\n {\r\n swal.fire({\r\n title: 'If you want to use this feature you need to use our app ?',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n icon: 'success',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.value) \r\n {\r\n this.getDevicePlatform();\r\n window.location.replace(this.appDownloadUrl);\r\n \r\n }\r\n }); \r\n }\r\n getDevicePlatform() {\r\n if (this.isMobile) {\r\n if (this.deviceInfo.device == 'iPhone') {\r\n if (this.appName == 'RYC') { //if RajputsClub\r\n this.appDownloadUrl = \"https://apps.apple.com/in/app/rajput-club/id1660935382\";\r\n }\r\n else { //else MyRajasthanClub\r\n this.appDownloadUrl = \"https://apps.apple.com/in/app/myrajasthan-club/id1545374835\";\r\n }\r\n }\r\n if (this.deviceInfo.device == 'Android') {\r\n if (this.appName == 'RYC') { //if RajputsClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\r\n }\r\n else { // else MyRajasthanClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\r\n }\r\n }\r\n }\r\n if (this.isDesktopDevice) {\r\n if (this.appName == 'RYC') { //if RajputsClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=com.rajputsclub\";\r\n }\r\n else { // else MyRajasthanClub\r\n this.appDownloadUrl = \"https://play.google.com/store/apps/details?id=club.myrajasthan\";\r\n }\r\n }\r\n }\r\n // logout trigger\r\n logout(): void {\r\n this.menuHide();\r\n // this.authService.logout();\r\n // this.cS.businessModel.is_Register = false;\r\n // this.cS.businessModel.business_id = 0;\r\n // this.cS.businessModel.business_name = '';\r\n // this.cS.businessModel.business_approved = 0;\r\n // this.cS.businessModel.business_slug = '';\r\n // this.cS.setBusinessRegiFlag();\r\n // this.tS.use('en');\r\n\r\n swal.fire({\r\n title: 'Are you sure you want to log out?',\r\n // text: name,\r\n \r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n showCancelButton: true,\r\n showCloseButton: true,\r\n icon: 'warning',\r\n reverseButtons: true,\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonColor: \"#3085d6\",\r\n \r\n }).then((result) => {\r\n if (result.value) {\r\n this.authService.logout();\r\n this.cS.businessModel.is_Register = false;\r\n this.cS.businessModel.business_id = 0;\r\n this.cS.businessModel.business_name = '';\r\n this.cS.businessModel.business_approved = 0;\r\n this.cS.businessModel.business_slug = '';\r\n this.cS.setBusinessRegiFlag();\r\n this.tS.use('en');\r\n }\r\n });\r\n }\r\n checkAuth()\r\n {\r\n if (this.cS.getUserDetails()) \r\n {\r\n return true;\r\n }\r\n return false;\r\n }\r\n redirectnearby()\r\n {\r\n if (this.checkAuth())\r\n {\r\n this.router.navigate(['home/business-list/premium-business/near-by']);\r\n }else \r\n {\r\n this.cS.showInfo('please login');\r\n }\r\n }\r\n\r\n redirectgroups()\r\n {\r\n if (this.checkAuth())\r\n {\r\n this.router.navigate(['groups']);\r\n }else \r\n {\r\n this.cS.showInfo('please login');\r\n }\r\n }\r\n redirectmarketplace()\r\n {\r\n this.router.navigate(['/home/market-place/relevance']);\r\n \r\n }\r\n redirectraktaveer()\r\n {\r\n this.router.navigate(['/raktaveer']);\r\n }\r\n redirectyuva()\r\n {\r\n this.router.navigate(['/yuvamitra']);\r\n }\r\n redirectmyvillage()\r\n {\r\n this.router.navigate(['/myvillage']);\r\n }\r\n redirectsurvey()\r\n {\r\n this.router.navigate(['/survey']);\r\n }\r\n //Change language and set in default language for translate\r\n langSelection() {\r\n this.cS.setLang(this.lang);\r\n this.tS.setDefaultLang(this.lang);\r\n this.menuHide();\r\n }\r\n\r\n toggleMenu() {\r\n this.showMenuList = !this.showMenuList;\r\n }\r\n\r\n menuHide() {\r\n this.showMenuList = false;\r\n this.profileDropDown = false;\r\n }\r\n\r\n toggleProfile() {\r\n this.profileDropDown = !this.profileDropDown;\r\n }\r\n\r\n ckeckBusinessApproved() {\r\n this.menuHide();\r\n if (this.business_approved === 1) {\r\n this.router.navigateByUrl('home/my-business-detail');\r\n } else {\r\n if (this.appName == 'RYC') {\r\n this.cS.showInfo('Your business is under review. Feel free to contact support at info@rajputsclub.com or call us at +91-9680419568 for any further details.');\r\n }\r\n if(this.appName == 'BD')\r\n {\r\n this.cS.showInfo('Your business is under review. Feel free to contact support at info@bharatdarshan.org or call us at +91-7852812997 for any further details.'); \r\n }\r\n else {\r\n this.cS.showInfo('Your business is under review. Feel free to contact support at cmyrajasthan@gmail.com or call us at +91-9166319568 for any further details.');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * become an agnet model trigger\r\n */\r\n becomeAgent(): void {\r\n // hide menu if open\r\n this.showMenuList = false;\r\n // open become agent modal\r\n this.modalService.open(BecomeAgentComponent, { size: 'lg', windowClass: 'mobile_popup' });\r\n\r\n }\r\n\r\n /**\r\n * Open Mobile num verification model (Register Member By Agent)\r\n * @returns void\r\n */\r\n registerMember() {\r\n this.menuHide();\r\n this.modalService.open(AddMemberAgentComponent, { windowClass: 'mobile_popup' });\r\n }\r\n\r\n /**\r\n * Get unread message count from server\r\n */\r\n getThreadMessage() {\r\n this.total_unmessage = 0;\r\n this.menuHide();\r\n }\r\n\r\n /**\r\n * Get unread thread count\r\n */\r\n getUserUnreadThreadCount() {\r\n \r\n const apiUrl = environment.RYEC_API_URL + 'getUnreadThreadsCount';\r\n\r\n this.httpS.get(apiUrl).subscribe((res: any) => {\r\n if (res.status == 1) {\r\n this.total_unmessage = res.data.unread_count;\r\n }\r\n }, err => {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n })\r\n }\r\n\r\n\r\n /**\r\n * Search by category with autocomplete\r\n * @param event\r\n */\r\n search(event: any) {\r\n const val = event.target.value;\r\n if (val === \"\" || val.length < 3) {\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n if (val.length >= 3) {\r\n const postJson = { searchText: val };\r\n\r\n this.hS.getSearchAutocomplete(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n console.log(res.data);\r\n if (res.data.length > 0) {\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"block\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"block\");\r\n }\r\n this.items = res.data;\r\n } else {\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n }\r\n }\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Get Address Detail from entered details\r\n *@returns void\r\n */\r\n getAddressDetail() {\r\n this.hS.getAddressMaster().subscribe((res: any) => {\r\n // to be changed from cities to locations later\r\n this.locations = res.data.cities;\r\n if (this.locations.length > 0) {\r\n if (this.search_location == '') {\r\n this.search_location = this.locations[0]['name'];\r\n }\r\n }\r\n this.allLocations = this.locations;\r\n }, err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getChildLocationSearchValue(val: string) {\r\n this.search_location = val;\r\n }\r\n\r\n checkEnableDisableView(val: any) {\r\n console.log('val', val);\r\n }\r\n\r\n searchBusinessByCategory(category_name: string) {\r\n this.searchText = category_name;\r\n this.searchBusiness();\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n \r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n this.isLangaugeShow = false;\r\n }\r\n\r\n searchBusiness() {\r\n if (this.appName == 'MRC') {\r\n $(\".auto_complete_list_mrc\").css(\"display\", \"none\");\r\n }\r\n else if (this.appName == 'RYC') {\r\n $(\".auto_complete_list_ryc\").css(\"display\", \"none\");\r\n }\r\n this.isLangaugeShow = false;\r\n if (this.searchText == \"\") {\r\n // this needs to be changed to city\r\n this.router.navigateByUrl('business-search?city=' + this.search_location + '&sort=relevance');\r\n } else {\r\n // this needs to be changed to city\r\n this.router.navigateByUrl('business-search?q=' + this.searchText + '&city=' + this.search_location + '&sort=relevance');\r\n }\r\n\r\n }\r\n\r\n showLocationDropDown() {\r\n if (this.isShow) {\r\n this.isShow = false;\r\n } else {\r\n this.isShow = true;\r\n }\r\n }\r\n\r\n //Filter location from location list\r\n filterLocation() {\r\n this.locations = [];\r\n if (this.location != '') {\r\n this.allLocations.filter((item:any) => {\r\n if (item['name'].toLowerCase().indexOf(this.location.toLowerCase()) > -1) {\r\n this.locations.push(item);\r\n }\r\n })\r\n } else {\r\n this.locations = this.allLocations;\r\n }\r\n }\r\n\r\n selectLocation(location: string) {\r\n this.searchText = this.searchText;\r\n // let path = window.location.pathname;\r\n this.search_text = true;\r\n this.search_location = location;\r\n this.isShow = false;\r\n // console.log(this.search_location);\r\n // if (path.indexOf('/business-search') > -1) {\r\n // \tif (this.search_location == 'All Locations') {\r\n // \t\tthis.location = '';\r\n // \t\tthis.locations = this.allLocations;\r\n // \t}\r\n // \tthis.searchBusiness();\r\n // }\r\n }\r\n\r\n /**\r\n * Chech user business approved or not\r\n */\r\n getBusinessApproved() {\r\n const postJson = { business_id: this.business_id };\r\n\r\n this.hS.getBusinessApproved(postJson).subscribe((res: any) => {\r\n if (res.data) {\r\n this.business_approved = res.data.isApproved;\r\n this.membership_type = res.data.membership_type;\r\n this.membership_type_image = res.data.membership_type_icon;\r\n }\r\n }, (err:any) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n showLanguageDropDown() {\r\n if (this.isLangaugeShow) {\r\n this.isLangaugeShow = false;\r\n } else {\r\n this.isLangaugeShow = true;\r\n }\r\n }\r\n\r\n selectLanguage(lang: string, language: string) {\r\n // if (lang == 'gu') {\r\n // lang = 'hi'; //due to rajasthani lang file is not present\r\n // }\r\n this.cS.setLang(lang);\r\n this.tS.setDefaultLang(lang);\r\n this.tS.use(lang);\r\n this.language = language;\r\n this.isLangaugeShow = false;\r\n this.mS.setLang(lang);\r\n }\r\n\r\n /**\r\n *add reviews and rating for business list\r\n */\r\n submitBusinessDetail() {\r\n const postJson = {\r\n business_name: this.businessForm.business_name,\r\n name: this.businessForm.name,\r\n mobile_number: this.businessForm.phoneno,\r\n city: this.businessForm.city,\r\n type: this.businessType,\r\n };\r\n\r\n const apiUrl = environment.RYEC_API_URL + 'addBusinesBrandingInquiry';\r\n\r\n this.httpS.post(apiUrl, postJson).subscribe((res: any) => {\r\n console.log(res);\r\n if (res.status === 1) {\r\n this.cS.showSuccess(res.message);\r\n }\r\n else {\r\n this.cS.showError(res.message);\r\n }\r\n this.modalReference.close();\r\n }, (err:any)=> {\r\n if (err.error) {\r\n console.log(err.error);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *open business list add enquiry modal\r\n */\r\n addContentForBusiness(content: any, type: any) {\r\n this.businessForm.business_name = '';\r\n this.businessForm.name = '';\r\n this.businessForm.phoneno = '';\r\n this.businessForm.city = '';\r\n this.businessType = type;\r\n this.modalReference = this.modalService.open(content, { windowClass: 'enquiry_popup' });\r\n this.modalReference.result.then((result: any) => {\r\n console.log(`Closed with: ${result}`);\r\n }, (reason: any) => {\r\n console.log(reason)\r\n });\r\n }\r\n\r\n changeTitleEvent(event?: any) {\r\n console.log(event);\r\n if (this.businessForm.business_name === '' && this.businessForm.business_name.trim() === '') {\r\n this.validBusinessTitle = true;\r\n } else {\r\n this.validBusinessTitle = false;\r\n }\r\n\r\n if (this.businessForm.name === '' && this.businessForm.name.trim() === '') {\r\n this.validName = true;\r\n } else {\r\n this.validName = false;\r\n }\r\n\r\n if (this.businessForm.phoneno === '' && this.businessForm.phoneno.trim() === '') {\r\n this.validPhoneNo = true;\r\n } else {\r\n this.validPhoneNo = false;\r\n }\r\n if (this.businessForm.city === '' && this.businessForm.city.trim() === '') {\r\n this.validCity = true;\r\n } else {\r\n this.validCity = false;\r\n }\r\n\r\n if (this.businessForm.business_name === '' || this.businessForm.business_name.trim() === '' ||\r\n this.businessForm.name === '' || this.businessForm.name.trim() === '' ||\r\n this.businessForm.phoneno === '' || this.businessForm.phoneno.trim() === '' ||\r\n this.businessForm.city === '' || this.businessForm.city.trim() === ''\r\n ) {\r\n this.validForm = false;\r\n } else {\r\n this.validForm = true;\r\n }\r\n }\r\n\r\n\r\n numberOnly(event: any): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{ 'ang_RYCMobileAppTitle' | translate }}

\r\n

{{ 'ang_forBetterExperience' | translate }}\r\n {{ 'ang_downloadOurApp' | translate }}\r\n

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

{{ 'ang_MRCMobileAppTitle' | translate }}

\r\n

{{ 'ang_forBetterExperience' | translate }}\r\n {{ 'ang_downloadOurApp' | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n open\r\n \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-header-simple',\r\n templateUrl: './header-simple.component.html',\r\n styleUrls: ['./header-simple.component.css']\r\n})\r\nexport class HeaderSimpleComponent implements OnInit {\r\n appName = environment.APP_NAME;\r\nappDownloadUrl: any;\r\n constructor(\r\n private modalService: NgbModal,\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n showAppDownloadModal(content: any) {\r\n this.modalService.open(content, { windowClass: 'mobile_popup download-app' });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.css']\r\n})\r\nexport class SpinnerComponent implements OnInit {\r\n\r\n appName = environment.APP_NAME;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n\t
\r\n\t



\r\n\t
\r\n
","\r\n
\r\n
\r\n
\r\n
\r\n www.myrajasthanclub.com | Made In Rajasthan | © {{ year }} {{ \"ang_allrightsreserved\" | translate }}\r\n
\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n www.bharatdarshan.org | Made In India | © {{ year }} {{ \"ang_allrightsreserved\" | translate }}\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n www.rajputsclub.com | © {{ year }} {{ \"ang_allrightsreserved\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n © Powered By\r\n |\r\n {{ \"ang_allrightsreserved\" | translate }}\r\n
\r\n
\r\n Do you want to create your public website on My Rajasthan Club Platform.
\r\n Contact Us on :\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n © Powered By\r\n |\r\n {{ \"ang_allrightsreserved\" | translate }}\r\n
\r\n
\r\n Do you want to create your public website on Rajputs Club Platform.
\r\n Contact Us on :\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, Input } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'ryec-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n @Input()\r\n isPrivate: boolean = true;\r\n year: number;\r\n appName = environment.APP_NAME;\r\n\r\n constructor() {\r\n this.year = new Date().getFullYear();\r\n }\r\n\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\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, EventEmitter, Output, ViewContainerRef, OnDestroy, Inject} from \"@angular/core\";\r\nimport { DOCUMENT, UpperCasePipe } from \"@angular/common\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { Router, NavigationEnd, ActivatedRoute } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Subscription } from \"rxjs/Subscription\";\r\nimport \"rxjs/add/operator/filter\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/mergeMap\";\r\nimport { environment } from \"../environments/environment\";\r\nimport { CommonService } from \"./shared/services/common.service\";\r\nimport { HomeService } from \"./shared/services/home.service\";\r\nimport { MessageService } from \"./shared/services/message.service\";\r\ndeclare let ga: Function;\r\n\r\n@Component({\r\n\tselector: \"app-root\",\r\n\ttemplateUrl: \"./app.component.html\",\r\n\tstyleUrls: [\"./app.component.css\"],\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n\ttitle = environment.TITLE;\r\n\tappName = environment.APP_NAME;\r\n\trouteUrl: string = \"\";\r\n\r\n\tlocation = {};\r\n\t@Output() locationchange: EventEmitter = new EventEmitter();\r\n\tspinnerSub: Subscription;\r\n\ttoggleSpinner: boolean;\r\n\tisPrivate: boolean;\r\n\tisMobileAppUrl: boolean = false;\r\n\tisHomePage: boolean = false;\r\n\tisPrivacyPolicyPage: boolean = false;\r\n\r\n\tconstructor(\r\n\t\tprivate translate: TranslateService,\r\n\t\tpublic router: Router,\r\n\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\tprivate titleService: Title,\r\n\t\tprivate upperCase: UpperCasePipe,\r\n\t\tprivate mS: MessageService,\r\n\t\tprivate hS: HomeService,\r\n\t\tprivate cS: CommonService,\r\n\t\tvRef: ViewContainerRef,\r\n\t\t//\tpublic toastr: ToastsManager,\r\n\t\t@Inject(DOCUMENT) private doc: any\r\n\t) {\r\n\t\t// init toggleSpinner\r\n\t\tthis.toggleSpinner = false;\r\n\t\tthis.isPrivate = true;\r\n\t\t// init subscription\r\n\r\n\t\tthis.spinnerSub = this.mS.getSpinner().subscribe(res => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.toggleSpinner = res;\r\n\t\t\t}, 0)\r\n\t\t});\r\n\r\n\t\t// set default lang tranlate provider to english\r\n\t\t// this.toastr.setRootViewContainerRef(vRef);\r\n\t\tthis.translate.setDefaultLang(this.cS.getLang());\r\n\t\tthis.router.events.subscribe(event => {\r\n\t\t\tif (event instanceof NavigationEnd) {\r\n\t\t\t\tif (event.url.indexOf(\"/website/\") > -1 || event.url.indexOf(\"/success\") > -1) {\r\n\t\t\t\t\tthis.isPrivate = false;\r\n\t\t\t\t}\r\n\t\t\t\tga('set', 'page', event.urlAfterRedirects);\r\n\t\t\t\tga('send', 'pageview');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// subscribe to router events\r\n\t\tthis.router.events\r\n\t\t\t.filter((event) => event instanceof NavigationEnd)\r\n\t\t\t.map(() => this.activatedRoute)\r\n\t\t\t.map((route) => {\r\n\t\t\t\twhile (route.firstChild) { route = route.firstChild; }\r\n\t\t\t\treturn route;\r\n\t\t\t})\r\n\t\t\t.filter((route) => route.outlet === 'primary')\r\n\t\t\t.mergeMap((route) => {\r\n\t\t\t\troute.params.subscribe(data => {\r\n\t\t\t\t\tif (data.slug) {\r\n\t\t\t\t\t\tconsole.log(this.upperCase.transform(data.slug));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn route.data;\r\n\t\t\t})\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.isHomePage) { //check if page is home then hide search and location filter from header @Yuvraj 27/12/21\r\n\t\t\t\t\tthis.isHomePage = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.isHomePage = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (event.isPrivacyPolicyPage) { //check if page is privacy-policy then hide header section as @Yuvraj 12/07/22\r\n\t\t\t\t\tthis.isPrivacyPolicyPage = true;\r\n\t\t\t\t}\r\n\t\t\t\t// this.titleService.setTitle(event.title);\r\n\t\t\t\tthis.titleService.setTitle(this.title);\r\n\t\t\t});\r\n\r\n\t\t// get geolocation current Position\r\n\t\tif (window.location.href.indexOf(\"/success\") === -1) {\r\n\t\t\tif (navigator.geolocation) {\r\n\t\t\t\tnavigator.geolocation.getCurrentPosition(this.geolocationSuccess.bind(this), this.geolocationError.bind(this));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (window.location.href.indexOf('mobileApp') > 0) {\r\n\t\t\tthis.isMobileAppUrl = true;\r\n\t\t}\r\n\t\t//this.setGTagManager();\r\n\t\tthis.setFavicon();\r\n\t\t//this.addGoogleAnalyticsObject();\r\n\t}\r\n\r\n\tprivate setGTagManager() {\r\n\t\tconst s = this.doc.createElement('script');\r\n\t\ts.type = 'text/javascript';\r\n\t\ts.innerHTML = '(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push'\r\n\t\t\t+ '({\\'gtm.start\\':new Date().getTime(),event:\\'gtm.js\\'});var f=d.getElementsByTagName(s)'\r\n\t\t\t+ '[0],j=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';j.async=true;j.src='\r\n\t\t\t+ '\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl;f.parentNode.insertBefore(j,f);})'\r\n\t\t\t+ '(window,document,\\'script\\',\\'dataLayer\\',\\'' + environment.gTagManagerId + '\\');';\r\n\t\tconst head = this.doc.getElementsByTagName('head')[0];\r\n\t\thead.appendChild(s);\r\n\t}\r\n\r\n\tprivate addGoogleAnalyticsObject() {\r\n\t\tconst s = this.doc.createElement('script');\r\n\t\ts.innerHTML = '(function (i, s, o, g, r, a, m) { i[\"GoogleAnalyticsObject\"] = r;'\r\n\t\t\t+ '(i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments);}),'\r\n\t\t\t+ '(i[r].l = 1 * new Date());'\r\n\t\t\t+ '(a = s.createElement(o)),'\r\n\t\t\t+ '(m = s.getElementsByTagName(o)[0]);'\r\n\t\t\t+ 'a.async = 1;'\r\n\t\t\t+ 'a.src = g;'\r\n\t\t\t+ 'a.src = g;'\r\n\t\t\t+ 'm.parentNode.insertBefore(a, m);})'\r\n\t\t\t+ '( window, document, \"script\", \"https://www.google-analytics.com/analytics.js\", \"ga\");'\r\n\t\t\t+ 'ga(\"create\", \"UA-118032719-1\", \"auto\");';\r\n\t\tconst body = this.doc.getElementsByTagName('body')[0];\r\n\t\tbody.appendChild(s);\r\n\t}\r\n\r\n\tprivate setFavicon() {\r\n\t\tconst linkEle = this.doc.createElement('link');\r\n\t\tif (this.appName == 'RYC') {\r\n\t\t\tlinkEle.href = './assets/images/raj_favicon.png'\r\n\t\t}\r\n\t\telse if (this.appName == 'BD') {\r\n\t\t\tlinkEle.href = './assets/images/bharat-darshan-favicon.ico'\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlinkEle.href = './assets/images/favicon.ico'\r\n\t\t}\r\n\t\tlinkEle.type = 'image/x-icon'\r\n\t\tlinkEle.rel = 'icon'\r\n\t\tconst head = this.doc.getElementsByTagName('head')[0];\r\n\t\thead.append(linkEle);\r\n\t}\r\n\r\n\tswitchLanguage(lang: string) {\r\n\t\tthis.translate.use(lang);\r\n\t}\r\n\r\n\tgeolocationSuccess(position: { coords: any }) {\r\n\t\tthis.location = position.coords;\r\n\t\tlocalStorage.setItem('latitude', position.coords['latitude']);\r\n\t\tlocalStorage.setItem('longitude', position.coords['longitude']);\r\n\t\tconsole.log(position.coords, '<<<<, next: HttpHandler): Observable> {\r\n let applicationId = environment.APPLICATION_ID;\r\n let securityKey = environment.API_SECURITY_KEY;\r\n \r\n\r\n //console.log('intercepted request ... ');\r\n\r\n // Clone the request to add the new header.\r\n const authReq = req.clone({\r\n setHeaders: {\r\n 'Authorization': `Bearer ${this.auth.getToken()}`,\r\n 'Platform': 'web',\r\n 'application-id' : applicationId, //For MRC\r\n 'API-SECURITY-KEY' : securityKey, //For MRC\r\n 'Content-Encoding':'gzip',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\r\n 'Content-Transfer-Encoding':'gzip',\r\n 'X-Frame-Options' :'SAMEORIGIN',\r\n \r\n \"Content-Security-Policy\": \"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self' data:;\"\r\n \r\n \r\n\r\n }\r\n });\r\n if (req.url.indexOf('getSearchAutocomplete') > -1 || req.url.indexOf('likePost') > -1 || req.url.indexOf('getAllPosts') > -1 || req.url.indexOf('getThreadMessages') > -1 || req.url.indexOf('getEntityKnowMore') > -1 || req.url.indexOf('getEntityNearBy') > -1 || req.url.indexOf('getBusinessRatings') > -1 || req.url.indexOf('getEntityCustomDetails') > -1 || req.url.indexOf('cityList') > -1 || req.url.indexOf('getAddressMaster?searchText') > -1 || req.url.indexOf('siteAutoSuggestion') > -1 || req.url.indexOf('siteMembers') > -1 || req.url.indexOf('getLocationByPincode') > -1 || req.url.indexOf('suggestSiteMembers') > -1 || req.url.indexOf('getBusinessOnlineStores') > -1 || req.url.indexOf('getAllAdvertisement') > -1 || req.url.indexOf('getAllAdvertisement') > -1 || req.url.indexOf('getPublicWebsiteReviews') > -1) {\r\n this.mS.setSpinner(false);\r\n } else {\r\n this.mS.setSpinner(true);\r\n }\r\n // console.log('Sending request with Autorization now ...');\r\n // show spinner\r\n // send the newly created request\r\n return next.handle(authReq).do((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n // do stuff with response if you want\r\n }\r\n }, (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status === 400 && this.auth.checkTypeAuth(err.error)) {\r\n if (req.url.indexOf('getAddressMaster') === -1) {\r\n this.auth.logout();\r\n }\r\n this.mS.setSpinner(false);\r\n }\r\n }\r\n }).finally(() => {\r\n this.timer.subscribe(() => {\r\n this.mS.setSpinner(false);\r\n });\r\n });\r\n // throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n}\r\n\r\n","import { DatePipe, UpperCasePipe } from '@angular/common';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './features/auth/login/login.component';\r\nimport { RyecHttpInterceptor } from './shared/class/ryec-http-interceptor';\r\nimport { AuthGuard } from './shared/guard/auth.guard';\r\nimport { SharedModule } from './shared/module/shared/shared.module';\r\nimport { ApiResolver } from './shared/resolver/api-resolver.resolver';\r\nimport { AuthService } from './shared/services/auth.service';\r\nimport { CommonService } from './shared/services/common.service';\r\nimport { HttpService } from './shared/services/http.service';\r\nimport { MessageService } from './shared/services/message.service';\r\nimport { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UserModule } from './features/user/user.module';\r\nimport { AddMemberAgentComponent } from './features/auth/header/modal/add-member-agent/add-member-agent.component';\r\nimport { BecomeAgentComponent } from './features/auth/header/modal/become-agent/become-agent.component';\r\nimport { RegisterMemberComponent } from './features/auth/header/modal/register-member/register-member.component';\r\nimport { VerifyMemberComponent } from './features/auth/header/modal/verify-member/verify-member.component';\r\nimport { HeaderComponent } from './features/auth/header/header.component';\r\nimport { FooterComponent } from './features/auth/footer/footer.component';\r\nimport { HeaderSimpleComponent } from './features/auth/header-simple/header-simple.component';\r\nimport { HomeService } from './shared/services/home.service';\r\nimport { PlasmaDonorComponent } from './features/auth/plasma-donor/plasma-donor.component';\r\nimport { TemplateDetailComponent } from './features/auth/template-detail/template-detail.component';\r\nimport { NotFoundPageComponent } from './features/auth/not-found-page/not-found-page.component';\r\nimport { HomeModule } from './features/home/home.module';\r\nimport { SpinnerComponent } from './features/auth/spinner/spinner.component';\r\nimport { NotificationsListComponent } from './features/auth/notifications-list/notifications-list.component';\r\nimport { MessagesComponent } from './features/auth/messages/messages.component';\r\n//import { NewsDetailsComponent } from './features/auth/news-details/news-details.component';\r\nimport { CommentModalComponent } from './shared/component/comment-modal/comment-modal.component';\r\n\r\nimport { ReportBusinessModalComponent } from './shared/component/report-business-modal/report-business-modal.component';\r\nimport { CityAutoCompleteSearchComponent } from './shared/component/city-auto-complete-search/city-auto-complete-search.component';\r\nimport { PlaceDetailsComponent } from './features/place-details/place-details.component';\r\nimport { OwlModule } from 'ngx-owl-carousel';\r\nimport { VideosDetailsComponent } from './features/videos-details/videos-details.component';\r\nimport { EntityListingModule } from './features/person/entity-listing.module';\r\nimport { SendEnquiryMessageModalComponent } from './shared/component/send-enquiry-message-modal/send-enquiry-message-modal.component';\r\nimport { JobApplicantsStatusModalComponent } from './shared/component/job-applicants-status-modal/job-applicants-status-modal.component';\r\nimport { GroupPostTaggedUsersListComponent } from './shared/component/group-post-tagged-users-list/group-post-tagged-users-list.component';\r\nimport { GroupPostRejectModalComponent } from './shared/component/group-post-reject-modal/group-post-reject-modal.component';\r\nimport { GroupPostPendingRequestComponent } from './shared/component/group-post-pending-request/group-post-pending-request.component';\r\nimport { GroupPostLikedSharedTaggedUsersListModalComponent } from './shared/component/group-post-liked-shared-tagged-users-list-modal/group-post-liked-shared-tagged-users-list-modal.component';\r\nimport { GroupPendingRequestComponent } from './shared/component/group-pending-request/group-pending-request.component';\r\nimport { GroupMemberDesignationRolesModalComponent } from './shared/component/group-member-designation-roles-modal/group-member-designation-roles-modal.component';\r\nimport { GroupLatterListModalComponent } from './shared/component/group-latter-list-modal/group-latter-list-modal.component';\r\nimport { GroupJoinVerificationModalComponent } from './shared/component/group-join-verification-modal/group-join-verification-modal.component';\r\nimport { CategorieModule } from './features/categorie/categorie.module';\r\nimport { PaymentRoutingModule } from './features/auth/payment/payment-routing.module';\r\nimport { PaymentModule } from './features/auth/payment/payment.module';\r\nimport { EventAttendieUsersComponent } from './shared/component/event-attendie-users/event-attendie-users.component';\r\nimport { GroupDeleteConfirmationModalComponent } from './shared/component/group-delete-confirmation-modal/group-delete-confirmation-modal.component';\r\nimport { GroupMemberRemoveConfirmationModalComponent } from './shared/component/group-member-remove-confirmation-modal/group-member-remove-confirmation-modal.component';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { NgxJsonLdModule } from '@ngx-lite/json-ld';\r\nimport { GroupEditComponent } from './features/group-edit/group-edit.component';\r\nimport { NewslistComponent } from './features/auth/newslist/newslist.component';\r\n\r\n\r\n\r\n\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, \"./assets/i18n/\", \".json\");\r\n}\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n FooterComponent,\r\n HeaderComponent,\r\n AddMemberAgentComponent,\r\n BecomeAgentComponent,\r\n RegisterMemberComponent,\r\n VerifyMemberComponent,\r\n HeaderSimpleComponent,\r\n GroupPendingRequestComponent,\r\n GroupPostLikedSharedTaggedUsersListModalComponent,\r\n EventAttendieUsersComponent,\r\n GroupDeleteConfirmationModalComponent,\r\n GroupMemberRemoveConfirmationModalComponent,\r\n PlasmaDonorComponent,\r\n TemplateDetailComponent,\r\n SpinnerComponent,\r\n NotFoundPageComponent,\r\n NotificationsListComponent,\r\n NewslistComponent,\r\n MessagesComponent,\r\n // NewsDetailsComponent,\r\n CommentModalComponent,\r\n ReportBusinessModalComponent,\r\n CityAutoCompleteSearchComponent,\r\n PlaceDetailsComponent,\r\n VideosDetailsComponent,\r\n SendEnquiryMessageModalComponent,\r\n JobApplicantsStatusModalComponent,\r\n GroupPostTaggedUsersListComponent,\r\n GroupPostRejectModalComponent,\r\n GroupPostPendingRequestComponent,\r\n //GroupMemberIdCardComponent,\r\n GroupMemberDesignationRolesModalComponent,\r\n GroupLatterListModalComponent,\r\n GroupJoinVerificationModalComponent,\r\n GroupPostLikedSharedTaggedUsersListModalComponent,\r\n GroupEditComponent,\r\n \r\n \r\n ],\r\n\r\n imports: [\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot(),\r\n HomeModule,\r\n SharedModule,\r\n PerfectScrollbarModule,\r\n UserModule,\r\n OwlModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n RouterModule,\r\n BrowserModule.withServerTransition({ appId: 'serverApp' }),\r\n AppRoutingModule,\r\n SharedModule,\r\n HttpClientModule,\r\n NgbModule,\r\n CarouselModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n NgxJsonLdModule,\r\n \r\n ],\r\n providers: [\r\n HttpService,\r\n AuthService,\r\n CommonService,\r\n AuthGuard,\r\n UpperCasePipe,\r\n ApiResolver,\r\n HomeService,\r\n MessageService,\r\n NgbActiveModal,\r\n DatePipe,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: RyecHttpInterceptor,\r\n multi: true,\r\n },\r\n \r\n ],\r\n bootstrap: [AppComponent],\r\n exports: [RouterModule]\r\n})\r\nexport class AppModule { }\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\n// For Multiple Projects handel and update project accordingly @Yuvraj 03/05/2022\r\nif (window.location.href.indexOf('localhost') > 0) {\r\n environment.APP_NAME = \"MRC\"; // Bharat Darshan\r\n environment.APPLICATION_ID = \"1\"; //FOR Bharat Darshan\r\n environment.TITLE = \"www.myrajasthanclub.com\";\r\n environment.gTagManagerId = 'UA-250415422-2' //Google analyticsCode For RYC\r\n environment.API_SECURITY_KEY ='basic MTpNWVJBSkFTVEhBTkNMVUI6TVJDLTIwMjI6TVJDOkVORC1VU0VS';\r\n environment.RYEC_SHARE_URL = 'https://admin.myrajasthanclub.com/api/share';\r\n}\r\nelse if (window.location.href.indexOf('bharatdsnlnxportal') > 0) {\r\n environment.APP_NAME = \"RYC\";\r\n environment.APPLICATION_ID = \"2\"; //FOR RYC\r\n environment.TITLE = \"Rajputs Club | Community of Rajput Society | Rajput Entrepreneur's Community\";\r\n environment.gTagManagerId = 'G-8CQHF6TX6D'; //Google analyticsCode For RYC\r\n environment.RYEC_SHARE_URL = 'https://stagingadmin.rajputsclub.com/share';\r\n environment.API_SECURITY_KEY = 'basic MjpSQUpQVVRTQ0xVQjpSWUMtMjAyMjpSWUM6RU5ELVVTRVI=';\r\n if (environment.production) {\r\n environment.RYEC_SHARE_URL = 'https://admin.rajputsclub.com/share';\r\n }\r\n}\r\nelse if (window.location.href.indexOf('rycstaging') > 0) {\r\n environment.APP_NAME = \"RYC\";\r\n environment.APPLICATION_ID = \"2\"; //FOR RYC\r\n environment.TITLE = \"Rajputs Club | Community of Rajput Society | Rajput Entrepreneur's Community\";\r\n environment.API_SECURITY_KEY ='basic MjpSQUpQVVRTQ0xVQjpSWUMtMjAyMjpSWUM6RU5ELVVTRVI=';\r\n environment.gTagManagerId = 'G-8CQHF6TX6D' //Google analyticsCode For RYC\r\n environment.RYEC_SHARE_URL = 'https://stagingadmin.rajputsclub.com/share';\r\n}\r\n\r\nelse if (window.location.href.indexOf('bharatdarshan') > 0) {\r\n environment.APP_NAME = \"BD\"; // Bharat Darshan\r\n environment.APPLICATION_ID = \"3\"; //FOR Bharat Darshan\r\n environment.TITLE = \"Bharat Darshan\";\r\n environment.gTagManagerId = 'UA-250415422-2' //Google analyticsCode For BD\r\n environment.API_SECURITY_KEY ='basic MzpCSEFSQVREQVJTSEFOOkJELTIwMjI6QkQ6RU5ELVVTRVI=';\r\n environment.RYEC_SHARE_URL = 'https://stagingadmin.rajputsclub.com/share';\r\n}\r\nelse {\r\n environment.APP_NAME = \"MRC\";\r\n environment.APPLICATION_ID = \"1\"; //FOR MRC\r\n environment.TITLE = 'MyRajashan.club'\r\n environment.API_SECURITY_KEY='basic MTpNWVJBSkFTVEhBTkNMVUI6TVJDLTIwMjI6TVJDOkVORC1VU0VS';\r\n environment.gTagManagerId = 'GTM-K4FCK9S' //Google analyticsCode For MRC\r\n}\r\n\r\nfunction bootstrap() {\r\n platformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n };\r\n\r\n\r\nif (document.readyState === 'complete') {\r\n bootstrap();\r\n} else {\r\n document.addEventListener('DOMContentLoaded', bootstrap);\r\n}\r\n\r\n"],"sourceRoot":"webpack:///","file":"main.js"}